vladmandic / automatic

SD.Next: Advanced Implementation of Stable Diffusion and other Diffusion-based generative image models
https://github.com/vladmandic/automatic
GNU Affero General Public License v3.0
5.36k stars 382 forks source link

[Issue]: Unable to use img2img #2475

Closed xGeekpower closed 8 months ago

xGeekpower commented 8 months ago

Issue Description

I noticed after updating to the latest commit (3c9c9cf471ec16c57f2e08caaf3bbab067c66c65) img2img stopped working for me same with adetailer it just wont work, I think this issue maybe related

I went and did a fresh install (no extra extensions installed) to see if anything changed but img2img still dosent work. (log attached) This also affects inpaint same error.

Version Platform Description

Windows 11, Firefox

Relevant log output

Microsoft Windows [Version 10.0.22631.2428]
(c) Microsoft Corporation. All rights reserved.

D:\StableDiffusion\automatic>webui.bat --debug
Using VENV: D:\StableDiffusion\automatic\venv
22:12:02-828692 DEBUG    Logger: file=D:\StableDiffusion\automatic\sdnext.log level=10 size=0 mode=create
22:12:02-830687 INFO     Starting SD.Next
22:12:02-831684 INFO     Python 3.10.11 on Windows
22:12:02-906937 INFO     Version: app=sd.next updated=2023-11-08 hash=3c9c9cf4
                         url=https://github.com/vladmandic/automatic/tree/master
22:12:03-290827 INFO     Platform: arch=AMD64 cpu=Intel64 Family 6 Model 183 Stepping 1, GenuineIntel system=Windows
                         release=Windows-10-10.0.22631-SP0 python=3.10.11
22:12:03-291805 DEBUG    Setting environment tuning
22:12:03-292803 DEBUG    Torch overrides: cuda=False rocm=False ipex=False diml=False openvino=False
22:12:03-293798 DEBUG    Torch allowed: cuda=True rocm=True ipex=True diml=True openvino=True
22:12:03-295812 INFO     nVidia CUDA toolkit detected: nvidia-smi present
22:12:03-360546 DEBUG    Repository update time: Wed Nov  8 11:21:36 2023
22:12:03-360546 INFO     Startup: standard
22:12:03-361542 INFO     Verifying requirements
22:12:03-368520 INFO     Verifying packages
22:12:03-369516 INFO     Verifying submodules
22:12:05-566622 DEBUG    Submodule: extensions-builtin/sd-extension-chainner / main
22:12:05-607485 DEBUG    Submodule: extensions-builtin/sd-extension-system-info / main
22:12:05-649338 DEBUG    Submodule: extensions-builtin/sd-webui-agent-scheduler / main
22:12:05-691704 DEBUG    Submodule: extensions-builtin/sd-webui-controlnet / main
22:12:05-738166 DEBUG    Submodule: extensions-builtin/stable-diffusion-webui-images-browser / main
22:12:05-780483 DEBUG    Submodule: extensions-builtin/stable-diffusion-webui-rembg / master
22:12:05-820726 DEBUG    Submodule: modules/k-diffusion / master
22:12:05-861803 DEBUG    Submodule: modules/lora / main
22:12:05-901667 DEBUG    Submodule: wiki / master
22:12:05-924592 DEBUG    Register paths
22:12:05-970941 DEBUG    Installed packages: 215
22:12:05-971880 DEBUG    Extensions all: ['Lora', 'sd-extension-chainner', 'sd-extension-system-info',
                         'sd-webui-agent-scheduler', 'sd-webui-controlnet', 'stable-diffusion-webui-images-browser',
                         'stable-diffusion-webui-rembg']
22:12:06-062768 DEBUG    Running extension installer:
                         D:\StableDiffusion\automatic\extensions-builtin\sd-extension-system-info\install.py
22:12:06-264413 DEBUG    Running extension installer:
                         D:\StableDiffusion\automatic\extensions-builtin\sd-webui-agent-scheduler\install.py
22:12:06-467429 DEBUG    Running extension installer:
                         D:\StableDiffusion\automatic\extensions-builtin\sd-webui-controlnet\install.py
22:12:06-668495 DEBUG    Running extension installer:
                         D:\StableDiffusion\automatic\extensions-builtin\stable-diffusion-webui-images-browser\install.p                         y
22:12:06-868854 DEBUG    Running extension installer:
                         D:\StableDiffusion\automatic\extensions-builtin\stable-diffusion-webui-rembg\install.py
22:12:07-065972 DEBUG    Extensions all: []
22:12:07-065972 INFO     Extensions enabled: ['Lora', 'sd-extension-chainner', 'sd-extension-system-info',
                         'sd-webui-agent-scheduler', 'sd-webui-controlnet', 'stable-diffusion-webui-images-browser',
                         'stable-diffusion-webui-rembg']
22:12:07-066969 INFO     Verifying requirements
22:12:07-081919 DEBUG    Setup complete without errors: 1699503127
22:12:07-084909 INFO     Extension preload: {'extensions-builtin': 0.0, 'extensions': 0.0}
22:12:07-085905 DEBUG    Starting module: <module 'webui' from 'D:\\StableDiffusion\\automatic\\webui.py'>
22:12:07-086902 INFO     Command line args: ['--debug'] debug=True
22:12:10-507084 INFO     Load packages: torch=2.1.0+cu121 diffusers=0.22.3 gradio=3.43.2
22:12:10-884864 DEBUG    Read: file="config.json" len=37
22:12:10-885861 INFO     Engine: backend=Backend.ORIGINAL compute=cuda mode=no_grad device=cuda
                         cross-optimization="Scaled-Dot-Product"
22:12:10-922283 INFO     Device: device=NVIDIA GeForce RTX 4090 n=1 arch=sm_90 cap=(8, 9) cuda=12.1 cudnn=8801
                         driver=531.79
22:12:11-286443 DEBUG    Entering start sequence
22:12:11-287440 DEBUG    Initializing
22:12:11-289433 INFO     Available VAEs: path="D:\DIFFUSION_MODELS\VAE" items=27
22:12:11-290430 INFO     Disabling uncompatible extensions: backend=Backend.ORIGINAL []
22:12:11-291426 DEBUG    Read: file="cache.json" len=1
22:12:12-399118 DEBUG    Read: file="metadata.json" len=4819
22:12:12-401112 INFO     Available models: path="D:\DIFFUSION_MODELS\Stable-diffusion" items=9 time=1.11
22:12:12-516427 DEBUG    Load extensions
22:12:13-538555 INFO     Extension: script='extensions-builtin\sd-webui-agent-scheduler\scripts\task_scheduler.py' Using                         sqlite file: extensions-builtin\sd-webui-agent-scheduler\task_scheduler.sqlite3
22:12:13-727448 INFO     Extension: script='extensions-builtin\sd-webui-controlnet\scripts\controlnet.py' Warning:
                         ControlNet failed to load SGM - will use LDM instead.
22:12:13-728445 INFO     Extension: script='extensions-builtin\sd-webui-controlnet\scripts\controlnet.py' ControlNet
                         preprocessor location:
                         D:\StableDiffusion\automatic\extensions-builtin\sd-webui-controlnet\annotator\downloads
22:12:13-733428 INFO     Extension: script='extensions-builtin\sd-webui-controlnet\scripts\hook.py' Warning: ControlNet
                         failed to load SGM - will use LDM instead.
22:12:14-170430 INFO     Extensions time: 1.65 { Lora=0.59 sd-webui-agent-scheduler=0.36 sd-webui-controlnet=0.20
                         stable-diffusion-webui-images-browser=0.05 stable-diffusion-webui-rembg=0.38 }
22:12:14-221260 DEBUG    Read: file="html/upscalers.json" len=4
22:12:14-222257 DEBUG    Read: file="extensions-builtin\sd-extension-chainner\models.json" len=24
22:12:14-223253 DEBUG    chaiNNer models: path="models\chaiNNer" defined=24 discovered=0 downloaded=0
22:12:14-225248 DEBUG    Load upscalers: total=50 downloaded=1 user=0 ['None', 'Lanczos', 'Nearest', 'ChaiNNer',
                         'ESRGAN', 'LDSR', 'RealESRGAN', 'SCUNet', 'SD', 'SwinIR']
22:12:14-235215 DEBUG    Load styles: folder="D:\DIFFUSION_MODELS\styles" items=322
22:12:14-237208 DEBUG    Creating UI
22:12:14-335478 INFO     Load UI theme: name="invoked" style=Auto base=style.css
22:12:18-317861 DEBUG    Extra networks: page='model' items=9 subdirs=1 tab=txt2img
                         dirs=['D:\\DIFFUSION_MODELS\\Stable-diffusion', 'models\\Diffusers', 'models\\Reference',
                         'D:\\StableDiffusion\\automatic\\models\\Stable-diffusion'] list=0.00 desc=0.00 info=0.00
22:12:18-327828 DEBUG    Extra networks: page='style' items=322 subdirs=8 tab=txt2img
                         dirs=['D:\\DIFFUSION_MODELS\\styles', 'html'] list=0.01 desc=0.00 info=0.00
22:12:18-337796 DEBUG    Extra networks: page='embedding' items=293 subdirs=16 tab=txt2img
                         dirs=['D:\\DIFFUSION_MODELS\\embeddings'] list=0.13 desc=0.04 info=0.32
22:12:18-351259 DEBUG    Extra networks: page='hypernetwork' items=0 subdirs=0 tab=txt2img
                         dirs=['models\\hypernetworks'] list=0.00 desc=0.00 info=0.00
22:12:18-355245 DEBUG    Extra networks: page='vae' items=27 subdirs=1 tab=txt2img dirs=['D:\\DIFFUSION_MODELS\\VAE']
                         list=0.00 desc=0.00 info=0.00
22:12:18-493335 DEBUG    Extra networks: page='lora' items=4842 subdirs=40 tab=txt2img
                         dirs=['D:\\DIFFUSION_MODELS\\Lora', 'models\\LyCORIS'] list=3.80 desc=3.03 info=15.81
22:12:18-637363 DEBUG    Read: file="ui-config.json" len=28
22:12:18-688104 DEBUG    Themes: builtin=6 default=5 external=55
22:12:19-132155 DEBUG    Script: 0.4 ui_tabs
                         D:\StableDiffusion\automatic\extensions-builtin\stable-diffusion-webui-images-browser\scripts\i                         mage_browser.py
22:12:19-415281 DEBUG    Extension list: processed=7 installed=7 enabled=7 disabled=0 visible=7 hidden=0
22:12:19-760167 INFO     Local URL: http://127.0.0.1:7860/
22:12:19-760167 DEBUG    Gradio registered functions: 2049
22:12:19-761163 INFO     Initializing middleware
22:12:19-764153 DEBUG    Creating API
22:12:19-870605 INFO     [AgentScheduler] Task queue is empty
22:12:19-872598 INFO     [AgentScheduler] Registering APIs
22:12:19-946520 DEBUG    Scripts setup: ['ControlNet:0.037']
22:12:19-947516 DEBUG    Model metadata: file="metadata.json" no changes
22:12:19-948513 INFO     Select: model="CounterfeitV30_v30 [cbfba64e66]"
22:12:19-949509 DEBUG    Load model weights: existing=False
                         target=D:\DIFFUSION_MODELS\Stable-diffusion\CounterfeitV30_v30.safetensors info=None
Loading weights: D:\DIFFUSION_MODELS\Stable-diffusion\CounterfeitV30_v30.safetensors ━━━━━━━━━━━━━━━━ 0.0/4.2 GB -:--:--22:12:19-964459 DEBUG    Load model: name=D:\DIFFUSION_MODELS\Stable-diffusion\CounterfeitV30_v30.safetensors dict=True
22:12:20-002602 DEBUG    Desired Torch parameters: dtype=FP16 no-half=False no-half-vae=False upscast=False
22:12:20-003599 INFO     Setting Torch parameters: device=cuda dtype=torch.float16 vae=torch.float16 unet=torch.float16
                         context=no_grad fp16=True bf16=False
22:12:20-003599 DEBUG    Model dict loaded: {'ram': {'used': 2.52, 'total': 127.78}, 'gpu': {'used': 1.58, 'total':
                         23.99}, 'retries': 0, 'oom': 0}
22:12:20-011572 DEBUG    Model config loaded: {'ram': {'used': 2.52, 'total': 127.78}, 'gpu': {'used': 1.58, 'total':
                         23.99}, 'retries': 0, 'oom': 0}
22:12:24-834724 INFO     LDM: LatentDiffusion: Running in eps-prediction mode
22:12:24-835721 INFO     LDM: DiffusionWrapper has 859.52 M params.
22:12:24-836717 INFO     LDM: LatentDiffusion: Running in eps-prediction mode
22:12:24-837714 INFO     LDM: [2;36m22:12:22-872574[0m[2;36m [0m[34mINFO    [0m MOTD: N/A
22:12:24-838711 INFO     LDM: DiffusionWrapper has 859.52 M params.
22:12:24-838711 DEBUG    Model created from config: D:\StableDiffusion\automatic\configs\v1-inference.yaml
22:12:24-839710 INFO     Autodetect: model="Stable Diffusion" class=StableDiffusionPipeline
                         file="D:\DIFFUSION_MODELS\Stable-diffusion\CounterfeitV30_v30.safetensors" size=4048MB
22:12:24-840706 DEBUG    Model weights loading: {'ram': {'used': 7.33, 'total': 127.78}, 'gpu': {'used': 1.58, 'total':
                         23.99}, 'retries': 0, 'oom': 0}
Loading weights: D:\DIFFUSION_MODELS\VAE\kl-f8-anime2.vae.pt ━━━━━━━━━━━━━━━━━━━━━━━━━╺━━━━━━━━━━ 283.0/404.7 MB 0:00:0022:12:25-548934 DEBUG    Model weights loaded: {'ram': {'used': 11.62, 'total': 127.78}, 'gpu': {'used': 1.58, 'total':
                         23.99}, 'retries': 0, 'oom': 0}
22:12:26-061283 DEBUG    Model weights moved: {'ram': {'used': 11.59, 'total': 127.78}, 'gpu': {'used': 3.61, 'total':
                         23.99}, 'retries': 0, 'oom': 0}
22:12:26-066266 INFO     Cross-attention: optimization=Scaled-Dot-Product options=[]
22:12:26-172423 DEBUG    Themes: builtin=6 default=5 external=55
22:12:26-716241 INFO     Load embeddings: loaded=337 skipped=8 time=0.65
22:12:26-719230 INFO     Model loaded in 6.77 { create=4.83 apply=0.43 vae=0.28 move=0.51 embeddings=0.65 }
22:12:27-109968 DEBUG    gc: collected=20305 device=cuda {'ram': {'used': 8.36, 'total': 127.78}, 'gpu': {'used': 3.62,
                         'total': 23.99}, 'retries': 0, 'oom': 0}
22:12:27-111962 INFO     Model load finished: {'ram': {'used': 8.36, 'total': 127.78}, 'gpu': {'used': 3.62, 'total':
                         23.99}, 'retries': 0, 'oom': 0} cached=0
22:12:27-381596 DEBUG    Save: file="config.json" len=1904
22:12:27-382592 INFO     Startup time: 20.29 { torch=3.11 gradio=0.29 libraries=0.78 extensions=1.65 models=1.11
                         face-restore=0.11 upscalers=0.06 ui-extra-networks=4.26 ui-img2img=0.06 ui-settings=0.09
                         ui-extensions=0.71 launch=0.30 app-started=0.14 checkpoint=7.43 }
22:12:30-096549 INFO     Browser session: client=127.0.0.1 agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0)
                         Gecko/20100101 Firefox/119.0
22:13:01-676065 DEBUG    img2img: id_task=task(011gtmiwfa76bwh)|mode=0|prompt=<lora:CowGirlGS_NDV-10:0.6> CowGirlNDV,
                         1girl, short hair, ahoge,red hair, purple eyes, cleavage, (huge breasts:1.5), narrow waist,
                         wide hips, thick thighs, shirt, jeans with suspenders, outdoors, farm, smirk,
                         <lora:rabbit-(wlsdnjs950)-1037it-novae:0.4> <lora:Artist_Alexi_rzr87h:0.4>
                         <lora:shirow-mix2-512d128a-768p-e08:0.4> <lora:hyocorou-wd-e04:0.4>
                         <lora:samdoesart-(sam-yang)-1613it-novae:0.4> <lora:marui
                         maru_e07:0.4>|negative_prompt=anime-style-negative-embedding,bad-picture-chill-75v,badhandv4,ba                         d-hands-5,By bad artist
                         -neg,easynegative,neg_grapefruit,rz-neg-15-foranalog,verybadimagenegative_v1.3,qualityzoov15,st                         ructurezoov15,(wide sleeves,wings,heavy breathing,pubic hair,futanari,puffy
                         nipples,trembling,twitching,cape,belly,blurry:2)|prompt_styles=[]|init_img=<PIL.Image.Image
                         image mode=RGBA size=1024x1536 at
                         0x1461D873F70>|sketch=None|init_img_with_mask=None|inpaint_color_sketch=None|inpaint_color_sket                         ch_orig=None|init_img_inpaint=None|init_mask_inpaint=None|steps=20|sampler_index=3|latent_index                         =4|mask_blur=4|mask_alpha=0|inpainting_fill=1|full_quality=True|restore_faces=False|tiling=Fals                         e|n_iter=1|batch_size=1|cfg_scale=7|image_cfg_scale=7|clip_skip=2|denoising_strength=0.75|seed=                         -1.0|subseed-1.0|subseed_strength=0|seed_resize_from_h=0|seed_resize_from_w=0|selected_scale_ta                         b=0|height=1536|width=1024|scale_by=1|resize_mode=1|inpaint_full_res=0|inpaint_full_res_padding                         =32|inpainting_mask_invert=0|img2img_batch_files=None|img2img_batch_input_dir=|img2img_batch_ou                         tput_dir=|img2img_batch_inpaint_mask_dir=|override_settings_texts=[]
22:13:01-703973 DEBUG    Sampler: sampler="Euler a" config={'scheduler': 'default', 'brownian_noise': False}
22:13:01-708956 ERROR    Exception: [WinError 3] The system cannot find the path specified: ''
22:13:01-709953 ERROR    Arguments: args=('task(011gtmiwfa76bwh)', 0, '<lora:CowGirlGS_NDV-10:0.6> CowGirlNDV, 1girl,
                         short hair, ahoge,red hair, purple eyes, cleavage, (huge breasts:1.5), narrow waist, wide hips,                         thick thighs, shirt, jeans with suspenders, outdoors, farm,
                         smirk,\n<lora:rabbit-(wlsdnjs950)-1037it-novae:0.4> <lora:Artist_Alexi_rzr87h:0.4>
                         <lora:shirow-mix2-512d128a-768p-e08:0.4> <lora:hyocorou-wd-e04:0.4>
                         <lora:samdoesart-(sam-yang)-1613it-novae:0.4> <lora:marui maru_e07:0.4>',
                         'anime-style-negative-embedding,bad-picture-chill-75v,badhandv4,bad-hands-5,By bad artist
                         -neg,easynegative,neg_grapefruit,rz-neg-15-foranalog,verybadimagenegative_v1.3,qualityzoov15,st                         ructurezoov15,(wide sleeves,wings,heavy breathing,pubic hair,futanari,puffy
                         nipples,trembling,twitching,cape,belly,blurry:2)', [], <PIL.Image.Image image mode=RGBA
                         size=1024x1536 at 0x1461D873F70>, None, None, None, None, None, None, 20, 3, 4, 4, 0, 1, True,
                         False, False, 1, 1, 7, 7, 0.7, 5, 0, 2, 0.75, -1.0, -1.0, 0, 0, 0, 0, 1536, 1024, 1, 1, 0, 32,
                         0, None, '', '', '', [], 0, '* `CFG Scale` should be 2 or lower.', True, True, '', '', True,
                         50, True, 1, 0, False, 4, 0.5, 'Linear', 'None', '<p style="margin-bottom:0.75em">Recommended
                         settings: Sampling Steps: 80-100, Sampler: Euler a, Denoising strength: 0.8</p>', 128, 8,
                         ['left', 'right', 'up', 'down'], 1, 0.05, 128, 4, 0, ['left', 'right', 'up', 'down'], False,
                         False, 'positive', 'comma', 0, False, False, '', '<p style="margin-bottom:0.75em">Will upscale
                         the image by the selected scale factor; use width and height sliders to set tile size</p>', 64,                         0, 2, 0, '', [], 0, '', [], 0, '', [], False, True, False, False, False, False, 0, None, None,
                         False, None, None, False, None, None, False, 50,
                         <scripts.controlnet_ui.controlnet_ui_group.UiControlNetUnit object at 0x000001461D8731C0>,
                         <scripts.controlnet_ui.controlnet_ui_group.UiControlNetUnit object at 0x000001461D8719C0>,
                         <scripts.controlnet_ui.controlnet_ui_group.UiControlNetUnit object at 0x000001461D8732E0>)
                         kwargs={}
22:13:01-712943 ERROR    gradio call: FileNotFoundError
╭───────────────────────────────────────── Traceback (most recent call last) ──────────────────────────────────────────╮│ D:\StableDiffusion\automatic\modules\call_queue.py:34 in f                                                           ││                                                                                                                      ││   33 │   │   │   try:                                                                                                ││ ❱ 34 │   │   │   │   res = func(*args, **kwargs)                                                                     ││   35 │   │   │   │   progress.record_results(id_task, res)                                                           ││                                                                                                                      ││ D:\StableDiffusion\automatic\modules\img2img.py:221 in img2img                                                       ││                                                                                                                      ││   220 │   │   if processed is None:                                                                                  ││ ❱ 221 │   │   │   processed = processing.process_images(p)                                                           ││   222 │   p.close()                                                                                                  ││                                                                                                                      ││ D:\StableDiffusion\automatic\modules\processing.py:742 in process_images                                             ││                                                                                                                      ││    741 │   │   │   with context_hypertile_vae(p), context_hypertile_unet(p):                                         ││ ❱  742 │   │   │   │   res = process_images_inner(p)                                                                 ││    743 │   finally:                                                                                                  ││                                                                                                                      ││ D:\StableDiffusion\automatic\extensions-builtin\sd-webui-controlnet\scripts\batch_hijack.py:42 in                    ││ processing_process_images_hijack                                                                                     ││                                                                                                                      ││    41 │   │   │   # we are not in batch mode, fallback to original function                                          ││ ❱  42 │   │   │   return getattr(processing, '__controlnet_original_process_images_inner')(p,                        ││    43                                                                                                                ││                                                                                                                      ││ D:\StableDiffusion\automatic\modules\processing.py:833 in process_images_inner                                       ││                                                                                                                      ││    832 │   │   with devices.autocast():                                                                              ││ ❱  833 │   │   │   p.init(p.all_prompts, p.all_seeds, p.all_subseeds)                                                ││    834 │   │   extra_network_data = None                                                                             ││                                                                                                                      ││ D:\StableDiffusion\automatic\modules\processing.py:1271 in init                                                      ││                                                                                                                      ││   1270 │   │   │   if shared.opts.save_init_img:                                                                     ││ ❱ 1271 │   │   │   │   images.save_image(img, path=shared.opts.outdir_init_images, basename=Non                      ││   1272 │   │   │   image = images.flatten(img, shared.opts.img2img_background_color)                                 ││                                                                                                                      ││ D:\StableDiffusion\automatic\modules\images.py:579 in save_image                                                     ││                                                                                                                      ││   578 │   dirname = os.path.dirname(params.filename)                                                                 ││ ❱ 579 │   os.makedirs(dirname, exist_ok=True)                                                                        ││   580 │   # sequence                                                                                                 ││                                                                                                                      ││ C:\Users\SPARTAN PC\AppData\Local\Programs\Python\Python310\lib\os.py:225 in makedirs                                ││                                                                                                                      ││    224 │   try:                                                                                                      ││ ❱  225 │   │   mkdir(name, mode)                                                                                     ││    226 │   except OSError:                                                                                           │╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯FileNotFoundError: [WinError 3] The system cannot find the path specified: ''

22:14:00-015479 DEBUG    Server alive=True jobs=1 requests=155 uptime=109 memory used=4.47 total=127.78 job="load" 0/-1
22:15:59-968932 DEBUG    Server alive=True jobs=1 requests=179 uptime=229 memory used=4.47 total=127.78 job="load" 0/-1
22:17:59-813345 DEBUG    Server alive=True jobs=1 requests=202 uptime=349 memory used=4.47 total=127.78 job="load" 0/-1

Backend

Original

Model

SD 1.5

Acknowledgements

vladmandic commented 8 months ago

after latest round of fixes, i cannot reproduce this. please try upgrading and report back - i'll reopen as needed.

xGeekpower commented 8 months ago

Seems to be fixed both adetailer and img2img works after updating to 0cd8e454e26c1298986b3c807290ff9e032f976a ty vlad.