ComfyUI A powerful and modular stable diffusion GUI and backend. I just deployed #ComfyUI and it's like a breath of fresh air for the i. It goes right after the DecodeVAE node in your workflow. Improving faces. I occasionally see this ComfyUI/comfy/sd. Examples shown here will also often make use of these helpful sets of nodes:I also have a ComfyUI instal on my local machine, I try to mirror with Google Drive. 5 models like epicRealism or Jaugeraut, but I know once more models come out with the SDXL base, we'll see incredible results. Check installation doc here. Look for the bat file in the extracted directory. I'm not the creator of this software, just a fan. Thank you! I'll try this! 2. You switched accounts on another tab or window. And full tutorial content coming soon on my Patreon. Move the downloaded v1-5-pruned-emaonly. Welcome to the unofficial ComfyUI subreddit. Welcome to the unofficial ComfyUI subreddit. Note that --force-fp16 will only work if you installed the latest pytorch nightly. Select Tags Tags Used to select keywords. Like many XL users out there, I’m also new to ComfyUI and very much just a beginner in this regard. Welcome to the unofficial ComfyUI subreddit. Step 2: Download the standalone version of ComfyUI. This also lets me quickly render some good resolution images, and I just. You can load this image in ComfyUI to get the full workflow. Queue up current graph as first for generation. TextInputBasic: just a text input with two additional input for text chaining. Or do something even more simpler by just paste the link of the loras in the model download link and then just change the files to the different folders. ComfyUI LORA. StabilityAI have release Control-LoRA for SDXL which are low-rank parameter fine tuned ControlNet for SDXL which. More of a Fooocus fan? Take a look at this excellent fork called RuinedFooocus that has One Button Prompt built in. Welcome to the unofficial ComfyUI subreddit. So, i am eager to switch to comfyUI, which is so far much more optimized. With trigger word, old version of comfyuiRight-click on the output dot of the reroute node. For more information. Email. Note. Get LoraLoader lora name as text. In ComfyUI the noise is generated on the CPU. I feel like you are doing something wrong. I am having an issue when attempting to load comfyui through the webui remotely. To facilitate the listing, you could start to type "<lora:" and then a bunch of lora appears to choose from. ; Using the Image/Latent Sender and Receiver nodes, it is possible to iterate over parts of a workflow and perform tasks to enhance images/latents. If I were. siegekeebsofficial. Extract the downloaded file with 7-Zip and run ComfyUI. The reason for this is due to the way ComfyUI works. 0 (26 July 2023)! Time to test it out using a no-code GUI called ComfyUI!. You can construct an image generation workflow by chaining different blocks (called nodes) together. All LoRA flavours: Lycoris, loha, lokr, locon, etc… are used this way. Contribute to Asterecho/ComfyUI-ZHO-Chinese development by creating an account on GitHub. It will prefix embedding names it finds in you prompt text with embedding:, which is probably how it should have worked considering most people coming with ComfyUI will have thousands of prompts utilizing standard method of calling them, which is just by. First: (1) added IO -> Save Text File WAS node and hooked it up to the random prompt. With my celebrity loras, I use the following exclusions with wd14: 1girl,solo,breasts,small breasts,lips,eyes,brown eyes,dark skin,dark-skinned female,flat chest,blue eyes,green eyes,nose,medium breasts,mole on breast. You signed out in another tab or window. Stability. To answer my own question, for the NON-PORTABLE version, nodes go: dlbackendcomfyComfyUIcustom_nodes. Especially Latent Images can be used in very creative ways. As confirmation, i dare to add 3 images i just created with. Img2Img. It allows you to create customized workflows such as image post processing, or conversions. Typical use-cases include adding to the model the ability to generate in certain styles, or better generate certain subjects or actions. I thought it was cool anyway, so here. . Please keep posted images SFW. assuming your using a fixed seed you could link the output to a preview and a save node then press ctrl+m with the save node to disable it until you want to use it, re-enable and hit queue prompt. The models can produce colorful high contrast images in a variety of illustration styles. Enter a prompt and a negative prompt 3. • 3 mo. #ComfyUI provides Stable Diffusion users with customizable, clear and precise controls. Reply replyComfyUI Master Tutorial — Stable Diffusion XL (SDXL) — Install On PC, Google Colab (Free) & RunPod. Also how to organize them when eventually end up filling the folders with SDXL LORAs since I cant see thumbnails or metadata. When we click a button, we command the computer to perform actions or to answer a question. . When you first open it, it may seem simple and empty, but once you load a project, you may be overwhelmed by the node system. Step 1: Install 7-Zip. For a complete guide of all text prompt related features in ComfyUI see this page. Stay tuned!Search for “post processing” and you will find these custom nodes, click on Install and when prompted, close the browser and restart ComfyUI. Rebatch latent usage issues. The SDXL 1. 22 and 2. ComfyUI is new User inter. It offers management functions to install, remove, disable, and enable various custom nodes of ComfyUI. Currently i have a pause menu in which i have several buttons. . . ComfyUI A powerful and modular stable diffusion GUI and backend. comfyui workflow. Keep content neutral where possible. As for the dynamic thresholding node, I found it to have an effect, but generally less pronounced and effective than the tonemapping node. Suggestions and questions on the API for integration into realtime applications (Touchdesigner, UnrealEngine, Unity, Resolume etc. Members Online. It can be hard to keep track of all the images that you generate. ; In txt2img do the following:; Scroll down to Script and choose X/Y plot; X type: select Sampler. I am not new to stable diffusion, i have been working months with automatic1111, but the recent updates. A node suite for ComfyUI with many new nodes, such as image processing, text processing, and more. A series of tutorials about fundamental comfyUI skillsThis tutorial covers masking, inpainting and image manipulation. Default images are needed because ComfyUI expects a valid. ai has released Stable Diffusion XL (SDXL) 1. What you do with the boolean is up to you. Once you've realised this, It becomes super useful in other things as well. So in this workflow each of them will run on your input image and. Thing you are talking about is "Inpaint area" feature of A1111 that cuts masked rectangle, passes it through sampler and then pastes back. I had an issue with urllib3. This makes ComfyUI seeds reproducible across different hardware configurations but makes them different from the ones used by the a1111 UI. util. Made this while investigating the BLIP nodes, it can grab the theme off an existing image and then using concatenate nodes we can add and remove features, this allows us to load old generated images as a part of our prompt without using the image itself as img2img. 1: Enables dynamic layer manipulation for intuitive image. Go through the rest of the options. ArghNoNo 1 mo. MultiLatentComposite 1. There was much Python installing with the server restart. The CLIP model used for encoding the text. Suggestions and questions on the API for integration into realtime applications. MTB. I didn't care about having compatibility with the a1111 UI seeds because that UI has broken seeds quite a few times now so it seemed like a hassle to do so. This is a plugin that allows users to run their favorite features from ComfyUI and at the same time, being able to work on a canvas. The base model generates (noisy) latent, which. will output this resolution to the bus. sd-webui-comfyui 是 Automatic1111's stable-diffusion-webui 的扩展,它将 ComfyUI 嵌入到它自己的选项卡中。 : 其他 : Advanced CLIP Text Encode : 包含两个 ComfyUI 节点,允许更好地控制提示权重的解释方式,并让您混合不同的嵌入方式 : 自定义节点 : AIGODLIKE-ComfyUI. 1. 326 workflow runs. io) Can. If it's the FreeU node, you'll have to update your comfyUI, and it should be there on restart. Welcome to the unofficial ComfyUI subreddit. Download and install ComfyUI + WAS Node Suite. You can register your own triggers and actions. 5/SD2. . Hi! As we know, in A1111 webui, LoRA (and LyCORIS) is used as prompt. The loaders in this segment can be used to load a variety of models used in various workflows. 0. ≡. ComfyUI gives you the full freedom and control to. works on input too but aligns left instead of right. Tests CI #129: Commit 57eea0e pushed by comfyanonymous. Note that I started using Stable Diffusion with Automatic1111 so all of my lora files are stored within StableDiffusion\models\Lora and not under ComfyUI. Core Nodes Advanced. With trigger word, old version of comfyui{"payload":{"allShortcutsEnabled":false,"fileTree":{"":{"items":[{"name":"js","path":"js","contentType":"directory"},{"name":"misc","path":"misc","contentType. ComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. Either it lacks the knobs it has in A1111 to be useful, or I haven't found the right values for it yet. Latest Version Download. ago. About SDXL 1. 391 upvotes · 49 comments. x, SD2. ckpt file to the following path: ComfyUImodelscheckpoints; Step 4: Run ComfyUI. this ComfyUI Tutorial we'll install ComfyUI and show you how it works. How can I configure Comfy to use straight noodle routes? Haven't had any luck searching online on how to set comfy this way. Text Prompts¶. Problem: My first pain point was Textual Embeddings. For those of you who want to get into ComfyUI's node based interface, in this video we will go over how to in. Please keep posted images SFW. Ask Question Asked 2 years, 5 months ago. ComfyUI Community Manual Getting Started Interface. ci","path":". Once ComfyUI is launched, navigate to the UI interface. Facebook. The options are all laid out intuitively, and you just click the Generate button, and away you go. 1. py --use-pytorch-cross-attention --bf16-vae --listen --port 8188 --preview-method auto. Or more easily, there are several custom node sets that include toggle switches to direct workflow. What I would love is a way to pull up that information in the webUI, similar to how you can view the metadata of a LoRA by clicking the info icon in the gallery view. It usually takes about 20 minutes. For example there's a preview image node, I'd like to be able to press a button an get a quick sample of the current prompt. Textual Inversion Embeddings Examples. If you get a 403 error, it's your firefox settings or an extension that's messing things up. I faced the same issue with the ComfyUI Manager not showing up, and the culprit was an extension (MTB). ts (e. On Event/On Trigger: This option is currently unused. Yup. (early and not finished) Here are some more advanced examples: “Hires Fix” aka 2 Pass Txt2Img. r/comfyui. ComfyUI Custom Nodes. For Windows 10+ and Nvidia GPU-based cards. 5. x, and SDXL, allowing customers to make use of Stable Diffusion’s most recent improvements and features for their own projects. Hires fix is just creating an image at a lower resolution, upscaling it and then sending it through img2img. 200 for simple ksamplers or if using the dual ADVksamplers setup then you want the refiner doing around 10% of the total steps. It offers management functions to install, remove, disable, and enable various custom nodes of ComfyUI. ComfyUI was created in January 2023 by Comfyanonymous, who created the tool to learn how Stable Diffusion works. Notebook instance name: sd-webui-instance. Please share your tips, tricks, and workflows for using this software to create your AI art. to the corresponding Comfy folders, as discussed in ComfyUI manual installation. ComfyUI automatically kicks in certain techniques in code to batch the input once a certain amount of VRAM threshold on the device is reached to save VRAM, so depending on the exact setup, a 512x512 16 batch size group of latents could trigger the xformers attn query combo bug, but resolutions arbitrarily higher or lower, batch sizes. I am new to ComfyUI and wondering whether there are nodes that allow you to to toggle on or off parts of a workflow, like say whether you wish to. • 3 mo. My solution: I moved all the custom nodes to another folder, leaving only the. The Load VAE node can be used to load a specific VAE model, VAE models are used to encoding and decoding images to and from latent space. making attention of type 'vanilla' with 512 in_channels. you can set a button up to trigger it to with or without sending it to another workflow. Sound commands - possible to trigger random sound while excluding repeats? upvote r/shortcuts. Ctrl + Enter. Just tested with . A good place to start if you have no idea how any of this works is the: ComfyUI Basic Tutorial VN: All the art is made with ComfyUI. And, as far as I can see, they can't be connected in any way. • 3 mo. It's stripped down and packaged as a library, for use in other projects. Extracting Story. You can set the CFG. ai has now released the first of our official stable diffusion SDXL Control Net models. LoRAs are smaller models that can be used to add new concepts such as styles or objects to an existing stable diffusion model. They currently comprises of a merge of 4 checkpoints. These LoRAs often have specific trigger words that need to be added to the prompt to make them work. ComfyUI ControlNet - How do I set Starting and Ending Control Step? I've not tried it, but Ksampler (advanced) has a start/end step input. いつもよく目にする Stable Diffusion WebUI とは違い、ノードベースでモデル、VAE、CLIP を制御することができます. . Is there something that allows you to load all the trigger. 今回は少し変わった Stable Diffusion WebUI の紹介と使い方です。. Explore and run machine learning code with Kaggle Notebooks | Using data from multiple data sourcesto remove xformers by default, simply just use this --use-pytorch-cross-attention. Reload to refresh your session. 5 - typically the refiner step for comfyUI is either 0. ComfyUI is a modular offline stable diffusion GUI with a graph/nodes interface. It allows users to design and execute advanced stable diffusion pipelines with a flowchart-based interface. Some commonly used blocks are Loading a Checkpoint Model, entering a prompt, specifying a sampler, etc. If trigger is not used as an input, then don't forget to activate it (true) or the node will do nothing. 2) Embeddings are basically custom words so where you put them in the text prompt matters. For some workflow examples and see what ComfyUI can do you can check out: ComfyUI Examples Features My comfyUI backend is an API that can be used by other apps if they want to do things with stable diffusion so chainner could add support for the comfyUI backend and nodes if they wanted to. ComfyUI is a node-based user interface for Stable Diffusion. 20. Ok interesting. You switched accounts on another tab or window. Raw output, pure and simple TXT2IMG. You want to use Stable Diffusion, use image generative AI models for free, but you can't pay online services or you don't have a strong computer. Please keep posted images SFW. Easy to share workflows. 1. Thanks for reporting this, it does seem related to #82. {"payload":{"allShortcutsEnabled":false,"fileTree":{"":{"items":[{"name":"js","path":"js","contentType":"directory"},{"name":"misc","path":"misc","contentType. json. Pinokio automates all of this with a Pinokio script. Might be useful. Automatically + Randomly select a particular lora & its trigger words in a workflow. However, if you go one step further, you can choose from the list of colors. sabi3293043 asked on Mar 14 in Q&A · Answered. In only 4 months, thanks to everyone who has contributed, ComfyUI grew into an amazing piece of software that in many ways surpasses other stable diffusion graphical interfaces: in flexibility, base features, overall stability, and power it gives users to control the diffusion pipeline. Note that you’ll need to go and fix-up the models being loaded to match your models / location plus the LoRAs. jpg","path":"ComfyUI-Impact-Pack/tutorial. Three questions for ComfyUI experts. Instead of the node being ignored completely, its inputs are simply passed through. wdshinbAutomate any workflow. I hope you are fine with it if i take a look at your code for the implementation and compare it with my (failed) experiments about that. Examples: The custom node shall extract "<lora:CroissantStyle:0. Once installed move to the Installed tab and click on the Apply and Restart UI button. ComfyUI: An extremely powerful Stable Diffusion GUI with a graph/nodes interface for advanced users that gives you precise control over the diffusion process without coding anything now supports ControlNets For a slightly better UX, try a node called CR Load LoRA from Comfyroll Custom Nodes. To do my first big experiment (trimming down the models) I chose the first two images to do the following process:Send the image to PNG Info and send that to txt2img. Restart comfyui software and open the UI interface; Node introduction. You can construct an image generation workflow by chaining different blocks (called nodes) together. Keep reading. jpg","path":"ComfyUI-Impact-Pack/tutorial. Now you should be able to see the Save (API Format) button, pressing which will generate and save a JSON file. When I only use lucasgirl, woman, the face looks like this (whether on a1111 or comfyui). #2005 opened Nov 20, 2023 by Fone520. But if I use long prompts, the face matches my training set. I did a whole new install and didn't edit the path for more models to be my auto1111( did that the first time) and placed a model in the checkpoints. Step 5: Queue the Prompt and Wait. The trigger can be converted to input or used as a. • 2 mo. For a slightly better UX, try a node called CR Load LoRA from Comfyroll Custom Nodes. Getting Started. Asynchronous Queue System: By incorporating an asynchronous queue system, ComfyUI guarantees effective workflow execution while allowing users to focus on other projects. Environment Setup. punter1965 • 3 mo. And yes, they don't need a lot of weight to work properly. Note that this build uses the new pytorch cross attention functions and nightly torch 2. Thank you! I'll try this! 2. ComfyUI is the Future of Stable Diffusion. USE_GOOGLE_DRIVE : UPDATE_COMFY_UI : Download some models/checkpoints/vae or custom comfyui nodes (uncomment the commands for the ones you want) [ ] #. Create notebook instance. Hack/Tip: Use WAS custom node, which lets you combine text together, and then you can send it to the Clip Text field. The following node packs are recommended for building workflows using these nodes: Comfyroll Custom Nodes. Thats what I do anyway. but it is definitely not scalable. I'm happy to announce I have finally finished my ComfyUI SD Krita plugin. Show Seed Displays random seeds that are currently generated. org is not an official website Whether you’re looking for workflow or AI images, you’ll find the perfect asset on Comfyui. followfoxai. CLIPSegDetectorProvider is a wrapper that enables the use of CLIPSeg custom node as the BBox Detector for FaceDetailer. ComfyUI is a powerful and modular stable diffusion GUI and backend with a user-friendly interface that empowers users to effortlessly design and execute intricate Stable Diffusion pipelines. into COMFYUI) ; Operation optimization (such as one click drawing mask) Welcome to the unofficial ComfyUI subreddit. Navigate to the Extensions tab > Available tab. github","path":". Modified 2 years, 4 months ago. I know it's simple for now. #stablediffusionart #stablediffusion #stablediffusionai In this Video I have Explained On How to Install ControlNet Preprocessors in Stable Diffusion ComfyUI. Share. To be able to resolve these network issues, I need more information. Or is this feature or something like it available in WAS Node Suite ? 2. g. • 4 mo. Pick which model you want to teach. I've been using the newer ones listed here [GUIDE] ComfyUI AnimateDiff Guide/Workflows Including Prompt Scheduling - An Inner-Reflections Guide | Civitai because these are the ones that. Through ComfyUI-Impact-Subpack, you can utilize UltralyticsDetectorProvider to access various detection models. e. 5>, (Trigger Words:0. Hey guys, I'm trying to convert some images into "almost" anime style using anythingv3 model. com. coolarmor. AloeVera's - Instant-LoRA is a workflow that can create a Instant Lora from any 6 images. For example, the "seed" in the sampler can also be converted to an input, or the width and height in the latent and so on. 391 upvotes · 49 comments. Do LoRAs need trigger words in the prompt to work?. But beware. If you continue to use the existing workflow, errors may occur during execution. ComfyUI is a node-based interface to use Stable Diffusion which was created by comfyanonymous in 2023. You could write this as a python extension. Lex-DRL Jul 25, 2023. 4 participants. File "E:AIComfyUI_windows_portableComfyUIexecution. 02/09/2023 - This is a work in progress guide that will be built up over the next few weeks. {"payload":{"allShortcutsEnabled":false,"fileTree":{"ComfyUI-Impact-Pack/tutorial":{"items":[{"name":"ImpactWildcard-LBW. 6 - yes the emphasis syntax does work, as well as some other syntax although not all that are on A1111 will function (although there are some nodes to parse A1111. Hello everyone, I was wondering if anyone has tips for keeping track of trigger words for LoRAs. This subreddit is just getting started so apologies for the. 3 1, 1) Note that because the default values are percentages,. 4 participants. Tests CI #121: Commit 8509bd5 pushed by comfyanonymous. Avoid documenting bugs. . ComfyUI fully supports SD1. For. Load VAE. For some workflow examples and see what ComfyUI can do you can check out: ComfyUI Examples Installing ComfyUI Features Examples. In ComfyUI the noise is generated on the CPU. A node suite for ComfyUI with many new nodes, such as image processing, text processing, and more. Inpainting a cat with the v2 inpainting model: . Drawing inspiration from the Midjourney Discord bot, my bot offers a plethora of features that aim to simplify the experience of using SDXL and other models both in the context of running locally. Click on the cogwheel icon on the upper-right of the Menu panel. Furthermore, this extension provides a hub feature and convenience functions to access a wide range of information within ComfyUI. Download the latest release archive: for DDLC or for MAS Extract the contents of the archive to the game subdirectory of the DDLC installation directory; Usage. The disadvantage is it looks much more complicated than its alternatives. Randomizer: takes two couples text+lorastack and return randomly one them. Reroute ¶ The Reroute node can be used to reroute links, this can be useful for organizing your workflows. And since you pretty much have to create at least "seed" primitive, which is connected to everything across the workspace, this very qui. It's beter than a complete reinstall. comfyui workflow animation. The CR Animation Nodes beta was released today. These nodes are designed to work with both Fizz Nodes and MTB Nodes. So It's like this, I first input image, then using deep-danbooru, I extract tags for that specific image then use that as a prompt to do img2im. Let’s start by saving the default workflow in api format and use the default name workflow_api. Create custom actions & triggers. And full tutorial on my Patreon, updated frequently. In this post, I will describe the base installation and all the optional. Creating such workflow with default core nodes of ComfyUI is not. Simplicity When using many LoRAs (e. Please share your tips, tricks, and workflows for using this software to create your AI art. {"payload":{"allShortcutsEnabled":false,"fileTree":{"":{"items":[{"name":"js","path":"js","contentType":"directory"},{"name":"stable_diffusion_prompt_reader","path. In this case during generation vram memory doesn't flow to shared memory. jpg","path":"ComfyUI-Impact-Pack/tutorial. py --lowvram --windows-standalone-build low vram tag appears to work as a workaround , all of my memory issues every gen pushes me up to about 23 GB vram and after the gen it drops back down to 12. Comfyui. . In order to provide a consistent API, an interface layer has been added. USE_GOOGLE_DRIVE : UPDATE_COMFY_UI : Update WAS Node Suite. This ui will let you design and execute advanced stable diffusion pipelines using a graph/nodes/flowchart based interface. python_embededpython. Last update 08-12-2023 本記事について 概要 ComfyUIはStable Diffusionモデルから画像を生成する、Webブラウザベースのツールです。最近ではSDXLモデルでの生成速度の早さ、消費VRAM量の少なさ(1304x768の生成時で6GB程度)から注目を浴びています。 本記事では手動でインストールを行い、SDXLモデルで画像. The push button, or command button, is perhaps the most commonly used widget in any graphical user interface (GUI). . 1. In my "clothes" wildcard I have one line that says "<lora. It scans your checkpoint, TI, hypernetwork and Lora folders, and automatically downloads trigger words, example prompts, metadata, and preview images. I was using the masking feature of the modules to define a subject in a defined region of the image, and guided its pose/action with ControlNet from a preprocessed image. Provides a browser UI for generating images from text prompts and images. json ( link ). 1. You can load this image in ComfyUI to get the full workflow. Prerequisite: ComfyUI-CLIPSeg custom node. Please keep posted images SFW. Fast ~18 steps, 2 seconds images, with Full Workflow Included! No ControlNet, No ADetailer, No LoRAs, No inpainting, No editing, No face restoring, Not Even Hires Fix!! (and obviously no spaghetti nightmare). Open it in. E. A Stable Diffusion interface such as ComfyUI gives you a great way to transform video frames based on a prompt, to create those keyframes that show EBSynth how to change or stylize the video. latent: RandomLatentImage: INT, INT, INT: LATENT (width, height, batch_size) latent: VAEDecodeBatched: LATENT, VAE. ago. Hypernetworks. I have a brief overview of what it is and does here. If you want to generate an image with/without refiner then select which and send to upscales, you can set a button up to trigger it to with or without sending it to another workflow. Latest version no longer needs the trigger word for me. Cheers, appreciate any pointers! Somebody else on Reddit mentioned this application to drop and read. We will create a folder named ai in the root directory of the C drive. comment sorted by Best Top New Controversial Q&A Add a Comment{"payload":{"allShortcutsEnabled":false,"fileTree":{"":{"items":[{"name":". Save workflow. When we provide it with a unique trigger word, it shoves everything else into it. Choose a LoRA, HyperNetwork, Embedding, Checkpoint, or Style visually and copy the trigger, keywords, and suggested weight to the clipboard for easy pasting into the application of your choice. which might be useful if resizing reroutes actually worked :P. Avoid writing in first person perspective, about yourself or your own opinions. 5 method. If you have such a node but your images aren't being saved, make sure the node is connected to the rest of the workflow and not disabled. ComfyUI-Impact-Pack. The Save Image node can be used to save images. txt and b. Hello, recent comfyUI adopter looking for help with facedetailer or an alternative. The customizable interface and previews further enhance the user. . Maxxxel mentioned this issue last week. With its intuitive node interface, compatibility with various models and checkpoints, and easy workflow management, ComfyUI streamlines the process of creating complex workflows. 5 - typically the refiner step for comfyUI is either 0. cushy. Here's a simple workflow in ComfyUI to do this with basic latent upscaling: Put the downloaded plug-in folder into this folder ComfyUI_windows_portableComfyUIcustom_nodes 2. All four of these in one workflow including the mentioned preview, changed, final image displays.