diff --git a/custom-node-list.json b/custom-node-list.json index 4ee8857..c850bd9 100644 --- a/custom-node-list.json +++ b/custom-node-list.json @@ -2046,6 +2046,16 @@ "install_type": "git-clone", "description": "Image and matte filtering nodes for ComfyUI `image/filters/*`" }, + { + "author": "spacepxl", + "title": "ComfyUI-RAVE", + "reference": "https://github.com/spacepxl/ComfyUI-RAVE", + "files": [ + "https://github.com/spacepxl/ComfyUI-RAVE" + ], + "install_type": "git-clone", + "description": "Unofficial ComfyUI implementation of [a/RAVE](https://rave-video.github.io/)" + }, { "author": "PTA", "title": "auto nodes layout", @@ -3826,7 +3836,7 @@ }, { "author": "an90ray", - "title": "ComfyUI-DareMerge", + "title": "ComfyUI_RErouter_CustomNodes", "reference": "https://github.com/an90ray/ComfyUI_RErouter_CustomNodes", "files": [ "https://github.com/an90ray/ComfyUI_RErouter_CustomNodes" @@ -3864,6 +3874,58 @@ "install_type": "git-clone", "description": "This is a set of custom nodes for ComfyUI. The nodes utilize the [a/face parsing model](https://huggingface.co/jonathandinu/face-parsing) to provide detailed segmantation of face. To improve face segmantation accuracy, [a/yolov8 face model](https://huggingface.co/Bingsu/adetailer/) is used to first extract face from an image. There are also auxiliary nodes for image and mask processing. A guided filter is also provided for skin smoothing." }, + { + "author": "tocubed", + "title": "ComfyUI-AudioReactor", + "reference": "https://github.com/tocubed/ComfyUI-AudioReactor", + "files": [ + "https://github.com/tocubed/ComfyUI-AudioReactor" + ], + "install_type": "git-clone", + "description": "Nodes: Shadertoy, Load Audio (from Path), Audio Frame Transform (Shadertoy), Audio Frame Transform (Beats)" + }, + { + "author": "ntc-ai", + "title": "ComfyUI - Apply LoRA Stacker with DARE", + "reference": "https://github.com/ntc-ai/ComfyUI-DARE-LoRA-Merge", + "files": [ + "https://github.com/ntc-ai/ComfyUI-DARE-LoRA-Merge" + ], + "install_type": "git-clone", + "description": "An experiment about combining multiple LoRAs with [a/DARE](https://arxiv.org/pdf/2311.03099.pdf)" + }, + { + "author": "wwwins", + "title": "ComfyUI-Simple-Aspect-Ratio", + "reference": "https://github.com/wwwins/ComfyUI-Simple-Aspect-Ratio", + "files": [ + "https://github.com/wwwins/ComfyUI-Simple-Aspect-Ratio" + ], + "install_type": "git-clone", + "description": "Nodes:SimpleAspectRatio" + }, + { + "author": "ownimage", + "title": "ComfyUI-ownimage", + "reference": "https://github.com/ownimage/ComfyUI-ownimage", + "files": [ + "https://github.com/ownimage/ComfyUI-ownimage" + ], + "install_type": "git-clone", + "description": "Nodes:Caching Image Loader." + }, + { + "author": "Millyarde", + "title": "Pomfy - Photoshop and ComfyUI 2-way sync", + "reference": "https://github.com/Millyarde/Pomfy", + "files": [ + "https://github.com/Millyarde/Pomfy" + ], + "install_type": "git-clone", + "description": "Photoshop custom nodes inside of ComfyUi, send and get data via Photoshop UXP plugin for cross platform support" + }, + + diff --git a/extension-node-map.json b/extension-node-map.json index 0e8b811..a783885 100644 --- a/extension-node-map.json +++ b/extension-node-map.json @@ -70,6 +70,7 @@ ], "https://github.com/AIrjen/OneButtonPrompt": [ [ + "AutoNegativePrompt", "CreatePromptVariant", "OneButtonPrompt", "SavePromptToFile" @@ -987,10 +988,15 @@ "ADE_AnimateDiffModelSettingsAdvancedAttnStrengths", "ADE_AnimateDiffModelSettingsSimple", "ADE_AnimateDiffModelSettings_Release", + "ADE_AnimateDiffSamplingSettings", "ADE_AnimateDiffUniformContextOptions", - "ADE_AnimateDiffUniformContextOptionsExperimental", "ADE_AnimateDiffUnload", "ADE_EmptyLatentImageLarge", + "ADE_IterationOptsDefault", + "ADE_IterationOptsFreeInit", + "ADE_NoiseLayerAdd", + "ADE_NoiseLayerAddWeighted", + "ADE_NoiseLayerReplace", "AnimateDiffLoaderV1", "CheckpointLoaderSimpleWithNoiseSelect" ], @@ -1057,6 +1063,7 @@ ], "https://github.com/Limitex/ComfyUI-Diffusers": [ [ + "CreateIntListNode", "DiffusersClipTextEncode", "DiffusersModelMakeup", "DiffusersPipelineLoader", @@ -1064,6 +1071,7 @@ "DiffusersSaveImage", "DiffusersSchedulerLoader", "DiffusersVaeLoader", + "LcmLoraLoader", "StreamDiffusionCreateStream", "StreamDiffusionFastSampler", "StreamDiffusionSampler", @@ -1706,7 +1714,7 @@ "CR Batch Images From List", "CR Batch Process Switch", "CR Binary Pattern", - "CR Binary To List", + "CR Binary To Bit List", "CR Central Schedule", "CR Check Job Complete", "CR Checker Pattern", @@ -1911,7 +1919,7 @@ ], { "author": "Suzie1", - "description": "165 custom nodes for Graphics, Animation, IO, Aspect Ratio, Model Merge, ControlNet, LoRA, XY Grid, and Utilities.", + "description": "150 custom nodes for Graphics, Animation, IO, Aspect Ratio, Model Merge, ControlNet, LoRA, XY Grid, and Utilities.", "nickname": "Comfyroll Studio", "title": "Comfyroll Studio", "title_aux": "ComfyUI_Comfyroll_CustomNodes" @@ -2768,7 +2776,7 @@ "String (RE)" ], { - "title_aux": "ComfyUI-DareMerge" + "title_aux": "ComfyUI_RErouter_CustomNodes" } ], "https://github.com/andersxa/comfyui-PromptAttention": [ @@ -2887,6 +2895,7 @@ "Empty Latent Ratio Custom SDXL", "Empty Latent Ratio Select SDXL", "EvalFloats", + "FaceFixerOpenCV", "FileNamePrefix", "FileNamePrefixDateDirFirst", "Float to String", @@ -3586,6 +3595,7 @@ "https://github.com/cubiq/ComfyUI_essentials": [ [ "BatchCount+", + "CLIPTextEncodeSDXL+", "ConsoleDebug+", "ExtractKeyframes+", "GetImageSize+", @@ -3606,6 +3616,7 @@ "MaskFromColor+", "MaskPreview+", "ModelCompile+", + "SDXLResolutionPicker+", "SimpleMath+", "StableZero123_Increments", "TransitionMask+" @@ -3695,7 +3706,25 @@ ], "https://github.com/dmarx/ComfyUI-AudioReactive": [ [ - "OpRms" + "OpAbs", + "OpBandpass", + "OpClamp", + "OpHarmonic", + "OpModulo", + "OpNormalize", + "OpNovelty", + "OpPercussive", + "OpPow", + "OpPow2", + "OpPredominant_pulse", + "OpQuantize", + "OpRms", + "OpSmoosh", + "OpSmooth", + "OpSqrt", + "OpStretch", + "OpSustain", + "OpThreshold" ], { "title_aux": "ComfyUI-AudioReactive" @@ -4347,6 +4376,7 @@ "ImageGridComposite2x2", "ImageGridComposite3x3", "InjectNoiseToLatent", + "MarigoldVAELoader", "NormalizeLatent", "OffsetMask", "ReferenceOnlySimple3", @@ -4515,6 +4545,7 @@ "https://github.com/lldacing/comfyui-easyapi-nodes": [ [ "Base64ToImage", + "Base64ToMask", "ImageToBase64", "ImageToBase64Advanced", "LoadImageToBase64", @@ -5084,6 +5115,16 @@ "title_aux": "ComfyUI_NoxinNodes" } ], + "https://github.com/ntc-ai/ComfyUI-DARE-LoRA-Merge": [ + [ + "Apply LoRA", + "DARE Merge LoRA Stack", + "Save LoRA" + ], + { + "title_aux": "ComfyUI - Apply LoRA Stacker with DARE" + } + ], "https://github.com/ntdviet/comfyui-ext/raw/main/custom_nodes/gcLatentTunnel/gcLatentTunnel.py": [ [ "gcLatentTunnel" @@ -5163,6 +5204,14 @@ "title_aux": "Ostris Nodes ComfyUI" } ], + "https://github.com/ownimage/ComfyUI-ownimage": [ + [ + "Caching Image Loader" + ], + { + "title_aux": "ComfyUI-ownimage" + } + ], "https://github.com/oyvindg/ComfyUI-TrollSuite": [ [ "BinaryImageMask", @@ -5277,7 +5326,9 @@ "ZHG FaceIndex", "ZHG GetMaskArea", "ZHG SaveImage", - "ZHG SmoothEdge" + "ZHG SmoothEdge", + "ZHG UltimateSDUpscale", + "ZHG UltimateSDUpscaleNoUpscale" ], { "title_aux": "zhihuige-nodes-comfyui" @@ -5639,6 +5690,19 @@ "title_aux": "ComfyUI-Image-Filters" } ], + "https://github.com/spacepxl/ComfyUI-RAVE": [ + [ + "ConditioningDebug", + "ImageGridCompose", + "ImageGridDecompose", + "KSamplerRAVE", + "LatentGridCompose", + "LatentGridDecompose" + ], + { + "title_aux": "ComfyUI-RAVE" + } + ], "https://github.com/spinagon/ComfyUI-seam-carving": [ [ "SeamCarving" @@ -5890,6 +5954,17 @@ "title_aux": "Save Image Extended for ComfyUI" } ], + "https://github.com/tocubed/ComfyUI-AudioReactor": [ + [ + "AudioFrameTransformBeats", + "AudioFrameTransformShadertoy", + "AudioLoadPath", + "Shadertoy" + ], + { + "title_aux": "ComfyUI-AudioReactor" + } + ], "https://github.com/toyxyz/ComfyUI_toyxyz_test_nodes": [ [ "CaptureWebcam", @@ -6190,6 +6265,14 @@ "title_aux": "ComfyUI-TextUtils" } ], + "https://github.com/wwwins/ComfyUI-Simple-Aspect-Ratio": [ + [ + "SimpleAspectRatio" + ], + { + "title_aux": "ComfyUI-Simple-Aspect-Ratio" + } + ], "https://github.com/xXAdonesXx/NodeGPT": [ [ "AppendAgent", diff --git a/node_db/dev/custom-node-list.json b/node_db/dev/custom-node-list.json index 8fa4e96..6606735 100644 --- a/node_db/dev/custom-node-list.json +++ b/node_db/dev/custom-node-list.json @@ -10,6 +10,16 @@ }, + { + "author": "kadirnar", + "title": "comfyui_helpers", + "reference": "https://github.com/kadirnar/comfyui_helpers", + "files": [ + "https://github.com/kadirnar/comfyui_helpers" + ], + "install_type": "git-clone", + "description": "A collection of nodes randomly selected and gathered, related to noise. NOTE: SD-Advanced-Noise, noise_latent_perlinpinpin, comfy-plasma" + }, { "author": "ZHO-ZHO-ZHO", "title": "ComfyUI ArtGallery(WIP)", diff --git a/node_db/new/custom-node-list.json b/node_db/new/custom-node-list.json index e2aa8c8..92514d6 100644 --- a/node_db/new/custom-node-list.json +++ b/node_db/new/custom-node-list.json @@ -11,6 +11,66 @@ + { + "author": "Millyarde", + "title": "Pomfy - Photoshop and ComfyUI 2-way sync", + "reference": "https://github.com/Millyarde/Pomfy", + "files": [ + "https://github.com/Millyarde/Pomfy" + ], + "install_type": "git-clone", + "description": "Photoshop custom nodes inside of ComfyUi, send and get data via Photoshop UXP plugin for cross platform support" + }, + { + "author": "ntc-ai", + "title": "ComfyUI - Apply LoRA Stacker with DARE", + "reference": "https://github.com/ntc-ai/ComfyUI-DARE-LoRA-Merge", + "files": [ + "https://github.com/ntc-ai/ComfyUI-DARE-LoRA-Merge" + ], + "install_type": "git-clone", + "description": "An experiment about combining multiple LoRAs with [a/DARE](https://arxiv.org/pdf/2311.03099.pdf)" + }, + { + "author": "tocubed", + "title": "ComfyUI-AudioReactor", + "reference": "https://github.com/tocubed/ComfyUI-AudioReactor", + "files": [ + "https://github.com/tocubed/ComfyUI-AudioReactor" + ], + "install_type": "git-clone", + "description": "Nodes: Shadertoy, Load Audio (from Path), Audio Frame Transform (Shadertoy), Audio Frame Transform (Beats)" + }, + { + "author": "spacepxl", + "title": "ComfyUI-RAVE", + "reference": "https://github.com/spacepxl/ComfyUI-RAVE", + "files": [ + "https://github.com/spacepxl/ComfyUI-RAVE" + ], + "install_type": "git-clone", + "description": "Unofficial ComfyUI implementation of [a/RAVE](https://rave-video.github.io/)" + }, + { + "author": "ownimage", + "title": "ComfyUI-ownimage", + "reference": "https://github.com/ownimage/ComfyUI-ownimage", + "files": [ + "https://github.com/ownimage/ComfyUI-ownimage" + ], + "install_type": "git-clone", + "description": "Nodes:Caching Image Loader." + }, + { + "author": "wwwins", + "title": "ComfyUI-Simple-Aspect-Ratio", + "reference": "https://github.com/wwwins/ComfyUI-Simple-Aspect-Ratio", + "files": [ + "https://github.com/wwwins/ComfyUI-Simple-Aspect-Ratio" + ], + "install_type": "git-clone", + "description": "Nodes:SimpleAspectRatio" + }, { "author": "dmarx", "title": "ComfyUI-AudioReactive", @@ -63,7 +123,7 @@ }, { "author": "an90ray", - "title": "ComfyUI-DareMerge", + "title": "ComfyUI_RErouter_CustomNodes", "reference": "https://github.com/an90ray/ComfyUI_RErouter_CustomNodes", "files": [ "https://github.com/an90ray/ComfyUI_RErouter_CustomNodes" @@ -635,66 +695,6 @@ ], "install_type": "git-clone", "description": "Implementation of the [a/StyleAligned](https://style-aligned-gen.github.io/) paper for ComfyUI. This node allows you to apply a consistent style to all images in a batch; by default it will use the first image in the batch as the style reference, forcing all other images to be consistent with it." - }, - { - "author": "MitoshiroPJ", - "title": "ComfyUI Slothful Attention", - "reference": "https://github.com/MitoshiroPJ/comfyui_slothful_attention", - "files": [ - "https://github.com/MitoshiroPJ/comfyui_slothful_attention" - ], - "install_type": "git-clone", - "description": "This custom node allow controlling output without training. The reducing method is similar to [a/Spatial-Reduction Attention](https://paperswithcode.com/method/spatial-reduction-attention), but generating speed may not be increased on typical image sizes due to overheads. (In some cases, slightly slower)" - }, - { - "author": "aria1th", - "title": "ComfyUI-LogicUtils", - "reference": "https://github.com/aria1th/ComfyUI-LogicUtils", - "files": [ - "https://github.com/aria1th/ComfyUI-LogicUtils" - ], - "install_type": "git-clone", - "description": "Nodes:UniformRandomFloat..., RandomShuffleInt, YieldableIterator..., LogicGate..., Add..., MergeString, MemoryNode, ..." - }, - { - "author": "modusCell", - "title": "Preset Dimensions", - "reference": "https://github.com/modusCell/ComfyUI-dimension-node-modusCell", - "files": [ - "https://github.com/modusCell/ComfyUI-dimension-node-modusCell" - ], - "install_type": "git-clone", - "description": "Simple node for sharing latent image size between nodes. Preset dimensions for SD and XL." - }, - { - "author": "mmaker", - "title": "Color Enhance", - "reference": "https://git.mmaker.moe/mmaker/sd-webui-color-enhance", - "files": [ - "https://git.mmaker.moe/mmaker/sd-webui-color-enhance" - ], - "install_type": "git-clone", - "description": "Node: Color Enhance, Color Blend. This is the same algorithm GIMP/GEGL uses for color enhancement. The gist of this implementation is that it converts the color space to CIELCh(ab) and normalizes the chroma (or [colorfulness](https://en.wikipedia.org/wiki/Colorfulness)] component. Original source can be found in the link below." - }, - { - "author": "bruefire", - "title": "ComfyUI Sequential Image Loader", - "reference": "https://github.com/bruefire/ComfyUI-SeqImageLoader", - "files": [ - "https://github.com/bruefire/ComfyUI-SeqImageLoader" - ], - "install_type": "git-clone", - "description": "This is an extension node for ComfyUI that allows you to load frames from a video in bulk and perform masking and sketching on each frame through a GUI." - }, - { - "author": "yolain", - "title": "ComfyUI Easy Use", - "reference": "https://github.com/yolain/ComfyUI-Easy-Use", - "files": [ - "https://github.com/yolain/ComfyUI-Easy-Use" - ], - "install_type": "git-clone", - "description": "To enhance the usability of ComfyUI, optimizations and integrations have been implemented for several commonly used nodes." } ] } diff --git a/node_db/new/extension-node-map.json b/node_db/new/extension-node-map.json index 0e8b811..a783885 100644 --- a/node_db/new/extension-node-map.json +++ b/node_db/new/extension-node-map.json @@ -70,6 +70,7 @@ ], "https://github.com/AIrjen/OneButtonPrompt": [ [ + "AutoNegativePrompt", "CreatePromptVariant", "OneButtonPrompt", "SavePromptToFile" @@ -987,10 +988,15 @@ "ADE_AnimateDiffModelSettingsAdvancedAttnStrengths", "ADE_AnimateDiffModelSettingsSimple", "ADE_AnimateDiffModelSettings_Release", + "ADE_AnimateDiffSamplingSettings", "ADE_AnimateDiffUniformContextOptions", - "ADE_AnimateDiffUniformContextOptionsExperimental", "ADE_AnimateDiffUnload", "ADE_EmptyLatentImageLarge", + "ADE_IterationOptsDefault", + "ADE_IterationOptsFreeInit", + "ADE_NoiseLayerAdd", + "ADE_NoiseLayerAddWeighted", + "ADE_NoiseLayerReplace", "AnimateDiffLoaderV1", "CheckpointLoaderSimpleWithNoiseSelect" ], @@ -1057,6 +1063,7 @@ ], "https://github.com/Limitex/ComfyUI-Diffusers": [ [ + "CreateIntListNode", "DiffusersClipTextEncode", "DiffusersModelMakeup", "DiffusersPipelineLoader", @@ -1064,6 +1071,7 @@ "DiffusersSaveImage", "DiffusersSchedulerLoader", "DiffusersVaeLoader", + "LcmLoraLoader", "StreamDiffusionCreateStream", "StreamDiffusionFastSampler", "StreamDiffusionSampler", @@ -1706,7 +1714,7 @@ "CR Batch Images From List", "CR Batch Process Switch", "CR Binary Pattern", - "CR Binary To List", + "CR Binary To Bit List", "CR Central Schedule", "CR Check Job Complete", "CR Checker Pattern", @@ -1911,7 +1919,7 @@ ], { "author": "Suzie1", - "description": "165 custom nodes for Graphics, Animation, IO, Aspect Ratio, Model Merge, ControlNet, LoRA, XY Grid, and Utilities.", + "description": "150 custom nodes for Graphics, Animation, IO, Aspect Ratio, Model Merge, ControlNet, LoRA, XY Grid, and Utilities.", "nickname": "Comfyroll Studio", "title": "Comfyroll Studio", "title_aux": "ComfyUI_Comfyroll_CustomNodes" @@ -2768,7 +2776,7 @@ "String (RE)" ], { - "title_aux": "ComfyUI-DareMerge" + "title_aux": "ComfyUI_RErouter_CustomNodes" } ], "https://github.com/andersxa/comfyui-PromptAttention": [ @@ -2887,6 +2895,7 @@ "Empty Latent Ratio Custom SDXL", "Empty Latent Ratio Select SDXL", "EvalFloats", + "FaceFixerOpenCV", "FileNamePrefix", "FileNamePrefixDateDirFirst", "Float to String", @@ -3586,6 +3595,7 @@ "https://github.com/cubiq/ComfyUI_essentials": [ [ "BatchCount+", + "CLIPTextEncodeSDXL+", "ConsoleDebug+", "ExtractKeyframes+", "GetImageSize+", @@ -3606,6 +3616,7 @@ "MaskFromColor+", "MaskPreview+", "ModelCompile+", + "SDXLResolutionPicker+", "SimpleMath+", "StableZero123_Increments", "TransitionMask+" @@ -3695,7 +3706,25 @@ ], "https://github.com/dmarx/ComfyUI-AudioReactive": [ [ - "OpRms" + "OpAbs", + "OpBandpass", + "OpClamp", + "OpHarmonic", + "OpModulo", + "OpNormalize", + "OpNovelty", + "OpPercussive", + "OpPow", + "OpPow2", + "OpPredominant_pulse", + "OpQuantize", + "OpRms", + "OpSmoosh", + "OpSmooth", + "OpSqrt", + "OpStretch", + "OpSustain", + "OpThreshold" ], { "title_aux": "ComfyUI-AudioReactive" @@ -4347,6 +4376,7 @@ "ImageGridComposite2x2", "ImageGridComposite3x3", "InjectNoiseToLatent", + "MarigoldVAELoader", "NormalizeLatent", "OffsetMask", "ReferenceOnlySimple3", @@ -4515,6 +4545,7 @@ "https://github.com/lldacing/comfyui-easyapi-nodes": [ [ "Base64ToImage", + "Base64ToMask", "ImageToBase64", "ImageToBase64Advanced", "LoadImageToBase64", @@ -5084,6 +5115,16 @@ "title_aux": "ComfyUI_NoxinNodes" } ], + "https://github.com/ntc-ai/ComfyUI-DARE-LoRA-Merge": [ + [ + "Apply LoRA", + "DARE Merge LoRA Stack", + "Save LoRA" + ], + { + "title_aux": "ComfyUI - Apply LoRA Stacker with DARE" + } + ], "https://github.com/ntdviet/comfyui-ext/raw/main/custom_nodes/gcLatentTunnel/gcLatentTunnel.py": [ [ "gcLatentTunnel" @@ -5163,6 +5204,14 @@ "title_aux": "Ostris Nodes ComfyUI" } ], + "https://github.com/ownimage/ComfyUI-ownimage": [ + [ + "Caching Image Loader" + ], + { + "title_aux": "ComfyUI-ownimage" + } + ], "https://github.com/oyvindg/ComfyUI-TrollSuite": [ [ "BinaryImageMask", @@ -5277,7 +5326,9 @@ "ZHG FaceIndex", "ZHG GetMaskArea", "ZHG SaveImage", - "ZHG SmoothEdge" + "ZHG SmoothEdge", + "ZHG UltimateSDUpscale", + "ZHG UltimateSDUpscaleNoUpscale" ], { "title_aux": "zhihuige-nodes-comfyui" @@ -5639,6 +5690,19 @@ "title_aux": "ComfyUI-Image-Filters" } ], + "https://github.com/spacepxl/ComfyUI-RAVE": [ + [ + "ConditioningDebug", + "ImageGridCompose", + "ImageGridDecompose", + "KSamplerRAVE", + "LatentGridCompose", + "LatentGridDecompose" + ], + { + "title_aux": "ComfyUI-RAVE" + } + ], "https://github.com/spinagon/ComfyUI-seam-carving": [ [ "SeamCarving" @@ -5890,6 +5954,17 @@ "title_aux": "Save Image Extended for ComfyUI" } ], + "https://github.com/tocubed/ComfyUI-AudioReactor": [ + [ + "AudioFrameTransformBeats", + "AudioFrameTransformShadertoy", + "AudioLoadPath", + "Shadertoy" + ], + { + "title_aux": "ComfyUI-AudioReactor" + } + ], "https://github.com/toyxyz/ComfyUI_toyxyz_test_nodes": [ [ "CaptureWebcam", @@ -6190,6 +6265,14 @@ "title_aux": "ComfyUI-TextUtils" } ], + "https://github.com/wwwins/ComfyUI-Simple-Aspect-Ratio": [ + [ + "SimpleAspectRatio" + ], + { + "title_aux": "ComfyUI-Simple-Aspect-Ratio" + } + ], "https://github.com/xXAdonesXx/NodeGPT": [ [ "AppendAgent",