Browse through 33,690 programming script illustrations & vectors or explore more icon set or online learning vectors to complete your project with stunning visuals.

A collection of conceptual hybrid icons blending software development symbols with hardware, cloud, and security metaphors in both line and solid styles. Programming script vectors
A collection of conceptual hybrid icons blending software development symbols with hardware, cloud, and security metaphors in both line and solid styles. Programming script vectors
Collection of software testing and quality assurance black glyph icons including bug, test tube, checkmark, checklist, magnifying glass, gear, code, alert, and database symbols isolated on a white background. Programming script vectors
Collection of software testing and quality assurance black glyph icons including bug, test tube, checkmark, checklist, magnifying glass, gear, code, alert, and database symbols isolated on a white background. Programming script vectors
Web development, innovation, teamwork, digital media, coding, online learning. Laptop with coding elements, text multimedia icons and a light bulb. Web development and innovation concepts. Programming script vectors
Web development, innovation, teamwork, digital media, coding, online learning. Laptop with coding elements, text multimedia icons and a light bulb. Web development and innovation concepts. Programming script vectors
Programmer working with code and cloud computing icons vector banners. Productivity, software development, time management, cloud storage, coding, digital transformation. Developer managing tasks. Programming script vectors
Programmer working with code and cloud computing icons vector banners. Productivity, software development, time management, cloud storage, coding, digital transformation. Developer managing tasks. Programming script vectors
Motherboard font, circuit board typeface, psb technology type, computer electronic alphabet. Futuristic abc letters, numbers and symbols, cyber typeface, high tech, digital and innovative characters. Programming script vectors
Motherboard font, circuit board typeface, psb technology type, computer electronic alphabet. Futuristic abc letters, numbers and symbols, cyber typeface, high tech, digital and innovative characters. Programming script vectors
This clean vector illustration features a rectangular interface containing horizontal lines that symbolize data or text. An upward-pointing arrow is positioned at the bottom center, indicating an upload or transfer action. The design uses a soft color palette with dark outlines, creating a modern and professional aesthetic suitable for technology-themed projects. Programming script vectors
This clean vector illustration features a rectangular interface containing horizontal lines that symbolize data or text. An upward-pointing arrow is positioned at the bottom center, indicating an upload or transfer action. The design uses a soft color palette with dark outlines, creating a modern and professional aesthetic suitable for technology-themed projects. Programming script vectors
Set of cybersecurity icons a padlock, keys, and code brackets for a digital security landing page banner. Data privacy, encryption, software development, access control, internet safety. Programming script vectors
Set of cybersecurity icons a padlock, keys, and code brackets for a digital security landing page banner. Data privacy, encryption, software development, access control, internet safety. Programming script vectors
A modern laptop screen displays lines of code on a wooden desk. A desk lamp and computer monitor are also visible, creating a workspace atmosphere. Programming script illustrations
A modern laptop screen displays lines of code on a wooden desk. A desk lamp and computer monitor are also visible, creating a workspace atmosphere. Programming script illustrations
In the quiet of a dimly lit room, a powerful multi-monitor workstation comes to life, its screens filled with cascading green code. This is the command center for a clandestine operation, where complex data is analyzed and digital fortresses are breached, representing the world of cybersecurity and digital espionage. Programming script illustrations
In the quiet of a dimly lit room, a powerful multi-monitor workstation comes to life, its screens filled with cascading green code. This is the command center for a clandestine operation, where complex data is analyzed and digital fortresses are breached, representing the world of cybersecurity and digital espionage. Programming script illustrations
This high-contrast image shows a dark, textured sphere resting on a reflective surface in darkness. The metallic orb is heavily fractured, revealing luminous data streams and abstract script glowing in vibrant teal and red-orange colors. Rendered by Ai, this visualization represents concepts of corrupted technology, fractured digital security, or hidden knowledge. It creates a powerful, mysterious. Programming script illustrations
This high-contrast image shows a dark, textured sphere resting on a reflective surface in darkness. The metallic orb is heavily fractured, revealing luminous data streams and abstract script glowing in vibrant teal and red-orange colors. Rendered by Ai, this visualization represents concepts of corrupted technology, fractured digital security, or hidden knowledge. It creates a powerful, mysterious. Programming script illustrations
Digital marketing landing page banner a megaphone and HTML code elements. Advertising, web development, online promotion, business growth, coding, software engineering. Marketing campaign. Programming script vectors
Digital marketing landing page banner a megaphone and HTML code elements. Advertising, web development, online promotion, business growth, coding, software engineering. Marketing campaign. Programming script vectors
Blue pixel code brackets symbol digital coding concept and background. Developer cover background design Blue pixel code brackets symbol digital coding concept and background. Developer cover background design. Programming script vectors
Blue pixel code brackets symbol digital coding concept and background. Developer cover background design Blue pixel code brackets symbol digital coding concept and background. Developer cover background design. Programming script vectors
A modern computer monitor displays lines of green code on its screen, placed on a desk in an office setting. The background features a blurred city skyline through a large window. Programming script illustrations
A modern computer monitor displays lines of green code on its screen, placed on a desk in an office setting. The background features a blurred city skyline through a large window. Programming script illustrations
Programmer working on a laptop with PHP elephant and MySQL dolphin mascots vector illustration. Software engineering, database management, web development, coding, backend, technology. Developer. Programming script vectors
Programmer working on a laptop with PHP elephant and MySQL dolphin mascots vector illustration. Software engineering, database management, web development, coding, backend, technology. Developer. Programming script vectors
A dark, high-tech workspace featuring multiple computer screens displaying intricate code and network diagrams, illuminated by neon blue lights. A keyboard, papers, and coffee mugs are on the desk, creating an atmosphere of focused late-night development. Programming script illustrations
A dark, high-tech workspace featuring multiple computer screens displaying intricate code and network diagrams, illuminated by neon blue lights. A keyboard, papers, and coffee mugs are on the desk, creating an atmosphere of focused late-night development. Programming script illustrations
Software Debugging logo creates an investigative identity for firms specializing in code inspection, and this Software Debugging logo ensures code integrity. As a dedicated Software Debugging logo, the emblem effectively communicates thorough scanning to clients seeking bug-free software. Every Software Debugging logo features an analytical, magnifying aesthetic suitable for QA testing agencies, development studios, or cybersecurity firms needing a professional, clean, and strong visual mark. Programming script vectors
Software Debugging logo creates an investigative identity for firms specializing in code inspection, and this Software Debugging logo ensures code integrity. As a dedicated Software Debugging logo, the emblem effectively communicates thorough scanning to clients seeking bug-free software. Every Software Debugging logo features an analytical, magnifying aesthetic suitable for QA testing agencies, development studios, or cybersecurity firms needing a professional, clean, and strong visual mark. Programming script vectors
Binary code in a speech bubble next to an analog clock for a technology landing page banner. Digital transformation, time management, data processing, software development, efficiency, deadline. Programming script illustrations
Binary code in a speech bubble next to an analog clock for a technology landing page banner. Digital transformation, time management, data processing, software development, efficiency, deadline. Programming script illustrations
A collection of vector illustrations computer monitors, coding interfaces, and an orange car for web landing page banners. Software engineering, automotive technology, web development, digital. Programming script vectors
A collection of vector illustrations computer monitors, coding interfaces, and an orange car for web landing page banners. Software engineering, automotive technology, web development, digital. Programming script vectors
Vehicle selection, coding education, energy solutions, software management, data analysis, user decisions. Man holding a plug near ideas and coding elements. Data analysis and coding education. Programming script illustrations
Vehicle selection, coding education, energy solutions, software management, data analysis, user decisions. Man holding a plug near ideas and coding elements. Data analysis and coding education. Programming script illustrations
A modern laptop open and displaying lines of code on its screen, placed on a warm wooden desk. A small green plant in a white pot sits nearby, with soft sunlight streaming through a window. Programming script illustrations
A modern laptop open and displaying lines of code on its screen, placed on a warm wooden desk. A small green plant in a white pot sits nearby, with soft sunlight streaming through a window. Programming script illustrations
Person working at a computer with a CEX exchange and MySQL dolphin logo vector illustration. Software development, database management, cryptocurrency trading, coding, technology, web design. Programming script vectors
Person working at a computer with a CEX exchange and MySQL dolphin logo vector illustration. Software development, database management, cryptocurrency trading, coding, technology, web design. Programming script vectors
A hand is seen interacting with a digital screen displaying glowing code. The screen features lines of code in blue and orange hues, creating a futuristic and technological aesthetic. The hand is poised as if touching or manipulating the virtual data, emphasizing the interaction between human and technology. The setting implies a focus on digital interfaces or data analysis. Programming script illustrations
A hand is seen interacting with a digital screen displaying glowing code. The screen features lines of code in blue and orange hues, creating a futuristic and technological aesthetic. The hand is poised as if touching or manipulating the virtual data, emphasizing the interaction between human and technology. The setting implies a focus on digital interfaces or data analysis. Programming script illustrations
Illustration of a woman working on a laptop, likely a programmer or developer. She is sitting at a desk with a cup of coffee nearby. The laptop screen displays code symbols. The overall design is clean and modern, suitable for representing remote work, software development, or technology-related concepts. Programming script illustrations
Illustration of a woman working on a laptop, likely a programmer or developer. She is sitting at a desk with a cup of coffee nearby. The laptop screen displays code symbols. The overall design is clean and modern, suitable for representing remote work, software development, or technology-related concepts. Programming script illustrations
Quantum Code logo provides a compelling visual identity for scientific research laboratories, and this Quantum Code logo drives technological trust. As an expert Quantum Code logo, the emblem effectively demonstrates atomic precision to partners seeking scientific growth. Every Quantum Code logo features a scientific, molecular aesthetic suitable for particle physics labs, tech innovation centers, or digital research hubs needing an academic, clean, and authoritative visual mark. Programming script vectors
Quantum Code logo provides a compelling visual identity for scientific research laboratories, and this Quantum Code logo drives technological trust. As an expert Quantum Code logo, the emblem effectively demonstrates atomic precision to partners seeking scientific growth. Every Quantum Code logo features a scientific, molecular aesthetic suitable for particle physics labs, tech innovation centers, or digital research hubs needing an academic, clean, and authoritative visual mark. Programming script vectors
A close-up view shows a focused developer intently typing code on a laptop keyboard during dark hours. This scene perfectly captures the intensity of remote work and software development. Rendered by Ai, the warm backlight contrasts sharply with the blue screen glow, emphasizing dedication and productivity. The coder works efficiently creating new digital solutions. Programming script illustrations
A close-up view shows a focused developer intently typing code on a laptop keyboard during dark hours. This scene perfectly captures the intensity of remote work and software development. Rendered by Ai, the warm backlight contrasts sharply with the blue screen glow, emphasizing dedication and productivity. The coder works efficiently creating new digital solutions. Programming script illustrations
A computer monitor displays HTML code on the left side, featuring tags nested within a black interface. The code includes typical HTML elements like `<html>`, `<head>`, and `<title>`. On the right side of the screen, there's an image of snow-covered mountains under a sunrise or sunset, showcasing a scenic view. The monitor has a sleek design with a metal-like frame and a vibrant orange stand. Programming script illustrations
A computer monitor displays HTML code on the left side, featuring tags nested within a black interface. The code includes typical HTML elements like ``, ``, and ``. On the right side of the screen, there's an image of snow-covered mountains under a sunrise or sunset, showcasing a scenic view. The monitor has a sleek design with a metal-like frame and a vibrant orange stand. Programming script illustrations</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/computer-monitor-displays-html-code-left-side-featuring-tags-nested-black-interface-includes-typical-elements-like-image461385037" > Computer Monitor with HTML Code and Mountain Image. A computer monitor displays HTML code on the left side, featuring tags nested within a black interface. The. A computer monitor displays HTML code on the left side, featuring tags nested within a black interface. The code includes typical HTML elements like `<html>`, `<head>`, and `<title>`. On the right side of the screen, there's an image of snow-covered mountains under a sunrise or sunset, showcasing a scenic view. The monitor has a sleek design with a metal-like frame and a vibrant orange stand. </a> </p> </div> </article> <article class="item item56 item-photo js-listing-item" data-id="426597078" data-type="image" data-dt-id="#ilc1" data-dt-on-mouseenter="" data-dt-on-touchstart="" > <div class="item__actions"> <a href="https://www.dreamstime.com/search.php?srh_field=developer+inspecting+code+magnifying&s_il=y" class="item__similars-link js-similars-link" rel="nofollow" target="_blank" aria-label="Show similar results" data-dt-id="item-similars-link" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#fff" fill-rule="evenodd" d="M0 1a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1zm4 4.072c0 1.694 1.404 3.071 3.13 3.071l.178-.004c.55-.03 1.061-.2 1.5-.474l2.16 2.166a.625.625 0 0 0 .855 0 .585.585 0 0 0 0-.838L9.685 6.847a3 3 0 0 0 .576-1.775C10.261 3.378 8.857 2 7.131 2 5.403 2 4 3.378 4 5.072m1.208 0c0-1.04.863-1.887 1.922-1.887l.15.006c.99.076 1.773.89 1.773 1.881 0 .528-.223 1.007-.58 1.35l-.039.028a.1.1 0 0 0-.016.021 1.94 1.94 0 0 1-1.288.487c-1.06 0-1.922-.846-1.922-1.886M2 13h12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1m2 2h8a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1"/></svg></a> <button class="item__lightbox-btn js-item-lightbox-add-btn" type="button" data-id="426597078" data-lb-state="add" aria-label="Add to lightbox" data-aria-label-add="Add to lightbox" data-aria-label-remove="Remove from lightbox" data-dt-id="item-lightbox-btn" data-dt-on-click="" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg"><path fill="#fff" d="M6 0h4v16H6V0Z"/><path fill="#fff" d="m0 10-1.7e-7-4 16-7e-7 1.7e-7 4L0 10Z"/></svg></button> <a class="item-btn-trial btn btn--green" href="https://www.dreamstime.com/securecredits2.php?subscriptionid=816&packagetype=0" rel="nofollow" aria-label="Free with trial"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 13.998"><path fill-rule="evenodd" d="M14 13.998H0v-3h1.5v1.5h11v-1.5H14v3ZM6.2 0v4.904H3.528L7 9.996l3.472-5.092H7.8V0H6.2Z"/></svg><span>Free with trial</span></a> </div> <a href="https://www.dreamstime.com/developer-inspecting-code-magnifying-glass-close-up-person-examining-computer-screen-image426597078" class="item__url js-item-title-wrapper" aria-label="Developer Inspecting Code with Magnifying Glass. Close-up of a person examining code on a computer screen with a magnifying glass" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/developer-inspecting-code-magnifying-glass-close-up-person-examining-computer-screen-426597078.jpg" loading="lazy" alt="Developer Inspecting Code with Magnifying Glass. Close-up of a person examining code on a computer screen with a magnifying glass. Programming script illustrations" srcset="https://thumbs.dreamstime.com/b/developer-inspecting-code-magnifying-glass-close-up-person-examining-computer-screen-426597078.jpg?w=360 360w, https://thumbs.dreamstime.com/b/developer-inspecting-code-magnifying-glass-close-up-person-examining-computer-screen-426597078.jpg?w=400 400w, https://thumbs.dreamstime.com/b/developer-inspecting-code-magnifying-glass-close-up-person-examining-computer-screen-426597078.jpg?w=450 450w, https://thumbs.dreamstime.com/b/developer-inspecting-code-magnifying-glass-close-up-person-examining-computer-screen-426597078.jpg?w=576 576w, https://thumbs.dreamstime.com/b/developer-inspecting-code-magnifying-glass-close-up-person-examining-computer-screen-426597078.jpg?w=768 768w, https://thumbs.dreamstime.com/b/developer-inspecting-code-magnifying-glass-close-up-person-examining-computer-screen-426597078.jpg?w=992 992w" sizes="(max-width: 359.98px) 360px, (min-width: 360px) and (max-width: 399.98px) 400px, (min-width: 400px) and (max-width: 449.98px) 450px, (min-width: 450px) and (max-width: 575.98px) 576px, (min-width: 576px) and (max-width: 767.98px) 768px, 992px"> <figcaption class="item__caption">Developer Inspecting Code with Magnifying Glass. Close-up of a person examining code on a computer screen with a magnifying glass. Programming script illustrations</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/developer-inspecting-code-magnifying-glass-close-up-person-examining-computer-screen-image426597078" > Developer Inspecting Code with Magnifying Glass. Close-up of a person examining code on a computer screen with a magnifying glass </a> </p> </div> </article> <article class="item item57 item-photo js-listing-item" data-id="447691070" data-type="image" data-dt-id="#ilc1" data-dt-on-mouseenter="" data-dt-on-touchstart="" > <div class="item__actions"> <a href="https://www.dreamstime.com/search.php?srh_field=coding+gear+development+icon&s_il=y" class="item__similars-link js-similars-link" rel="nofollow" target="_blank" aria-label="Show similar results" data-dt-id="item-similars-link" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#fff" fill-rule="evenodd" d="M0 1a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1zm4 4.072c0 1.694 1.404 3.071 3.13 3.071l.178-.004c.55-.03 1.061-.2 1.5-.474l2.16 2.166a.625.625 0 0 0 .855 0 .585.585 0 0 0 0-.838L9.685 6.847a3 3 0 0 0 .576-1.775C10.261 3.378 8.857 2 7.131 2 5.403 2 4 3.378 4 5.072m1.208 0c0-1.04.863-1.887 1.922-1.887l.15.006c.99.076 1.773.89 1.773 1.881 0 .528-.223 1.007-.58 1.35l-.039.028a.1.1 0 0 0-.016.021 1.94 1.94 0 0 1-1.288.487c-1.06 0-1.922-.846-1.922-1.886M2 13h12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1m2 2h8a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1"/></svg></a> <button class="item__lightbox-btn js-item-lightbox-add-btn" type="button" data-id="447691070" data-lb-state="add" aria-label="Add to lightbox" data-aria-label-add="Add to lightbox" data-aria-label-remove="Remove from lightbox" data-dt-id="item-lightbox-btn" data-dt-on-click="" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg"><path fill="#fff" d="M6 0h4v16H6V0Z"/><path fill="#fff" d="m0 10-1.7e-7-4 16-7e-7 1.7e-7 4L0 10Z"/></svg></button> <a class="item-btn-trial btn btn--green" href="https://www.dreamstime.com/securecredits2.php?subscriptionid=816&packagetype=0" rel="nofollow" aria-label="Free with trial"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 13.998"><path fill-rule="evenodd" d="M14 13.998H0v-3h1.5v1.5h11v-1.5H14v3ZM6.2 0v4.904H3.528L7 9.996l3.472-5.092H7.8V0H6.2Z"/></svg><span>Free with trial</span></a> </div> <a href="https://www.dreamstime.com/coding-gear-development-icon-set-vol-image447691070" class="item__url js-item-title-wrapper" aria-label="Coding Gear Development Icon Set. Vol 8654" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/coding-gear-development-icon-set-vol-447691070.jpg" loading="lazy" alt="Coding Gear Development Icon Set. Vol 8654. Programming script vectors" srcset="https://thumbs.dreamstime.com/b/coding-gear-development-icon-set-vol-447691070.jpg?w=360 360w, https://thumbs.dreamstime.com/b/coding-gear-development-icon-set-vol-447691070.jpg?w=400 400w, https://thumbs.dreamstime.com/b/coding-gear-development-icon-set-vol-447691070.jpg?w=450 450w, https://thumbs.dreamstime.com/b/coding-gear-development-icon-set-vol-447691070.jpg?w=576 576w, https://thumbs.dreamstime.com/b/coding-gear-development-icon-set-vol-447691070.jpg?w=768 768w, https://thumbs.dreamstime.com/b/coding-gear-development-icon-set-vol-447691070.jpg?w=992 992w, https://thumbs.dreamstime.com/b/coding-gear-development-icon-set-vol-447691070.jpg?w=1200 1200w, https://thumbs.dreamstime.com/b/coding-gear-development-icon-set-vol-447691070.jpg?w=1400 1400w" sizes="(max-width: 359.98px) 360px, (min-width: 360px) and (max-width: 399.98px) 400px, (min-width: 400px) and (max-width: 449.98px) 450px, (min-width: 450px) and (max-width: 575.98px) 576px, (min-width: 576px) and (max-width: 767.98px) 768px, (min-width: 768px) and (max-width: 991.98px) 992px, (min-width: 992px) and (max-width: 1199.98px) 1200px, 1400px"> <figcaption class="item__caption">Coding Gear Development Icon Set. Vol 8654. Programming script vectors</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/coding-gear-development-icon-set-vol-image447691070" > Coding Gear Development Icon Set. Vol 8654 </a> </p> </div> </article> <article class="item item58 item-photo js-listing-item" data-id="423029472" data-type="image" data-dt-id="#ilc1" data-dt-on-mouseenter="" data-dt-on-touchstart="" data-vertical-icons="" > <div class="item__actions"> <a href="https://www.dreamstime.com/search.php?srh_field=web+development+simple+clear&s_il=y" class="item__similars-link js-similars-link" rel="nofollow" target="_blank" aria-label="Show similar results" data-dt-id="item-similars-link" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#fff" fill-rule="evenodd" d="M0 1a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1zm4 4.072c0 1.694 1.404 3.071 3.13 3.071l.178-.004c.55-.03 1.061-.2 1.5-.474l2.16 2.166a.625.625 0 0 0 .855 0 .585.585 0 0 0 0-.838L9.685 6.847a3 3 0 0 0 .576-1.775C10.261 3.378 8.857 2 7.131 2 5.403 2 4 3.378 4 5.072m1.208 0c0-1.04.863-1.887 1.922-1.887l.15.006c.99.076 1.773.89 1.773 1.881 0 .528-.223 1.007-.58 1.35l-.039.028a.1.1 0 0 0-.016.021 1.94 1.94 0 0 1-1.288.487c-1.06 0-1.922-.846-1.922-1.886M2 13h12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1m2 2h8a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1"/></svg></a> <button class="item__lightbox-btn js-item-lightbox-add-btn" type="button" data-id="423029472" data-lb-state="add" aria-label="Add to lightbox" data-aria-label-add="Add to lightbox" data-aria-label-remove="Remove from lightbox" data-dt-id="item-lightbox-btn" data-dt-on-click="" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg"><path fill="#fff" d="M6 0h4v16H6V0Z"/><path fill="#fff" d="m0 10-1.7e-7-4 16-7e-7 1.7e-7 4L0 10Z"/></svg></button> <a class="item-btn-trial btn btn--green" href="https://www.dreamstime.com/securecredits2.php?subscriptionid=816&packagetype=0" rel="nofollow" aria-label="Free with trial"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 13.998"><path fill-rule="evenodd" d="M14 13.998H0v-3h1.5v1.5h11v-1.5H14v3ZM6.2 0v4.904H3.528L7 9.996l3.472-5.092H7.8V0H6.2Z"/></svg><span>Free with trial</span></a> </div> <a href="https://www.dreamstime.com/web-development-web-development-simple-clear-vector-icon-illustrating-essential-idea-function-image423029472" class="item__url js-item-title-wrapper" aria-label="Web Development. Simple and clear vector icon illustrating an essential idea or function" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/web-development-web-development-simple-clear-vector-icon-illustrating-essential-idea-function-423029472.jpg" loading="lazy" alt="Web Development. Simple and clear vector icon illustrating an essential idea or function. Programming script vectors" srcset="https://thumbs.dreamstime.com/b/web-development-web-development-simple-clear-vector-icon-illustrating-essential-idea-function-423029472.jpg?w=360 360w, https://thumbs.dreamstime.com/b/web-development-web-development-simple-clear-vector-icon-illustrating-essential-idea-function-423029472.jpg?w=400 400w, https://thumbs.dreamstime.com/b/web-development-web-development-simple-clear-vector-icon-illustrating-essential-idea-function-423029472.jpg?w=450 450w, https://thumbs.dreamstime.com/b/web-development-web-development-simple-clear-vector-icon-illustrating-essential-idea-function-423029472.jpg?w=576 576w, https://thumbs.dreamstime.com/b/web-development-web-development-simple-clear-vector-icon-illustrating-essential-idea-function-423029472.jpg?w=768 768w" sizes="(max-width: 359.98px) 360px, (min-width: 360px) and (max-width: 399.98px) 400px, (min-width: 400px) and (max-width: 449.98px) 450px, (min-width: 450px) and (max-width: 575.98px) 576px, 768px"> <figcaption class="item__caption">Web Development. Simple and clear vector icon illustrating an essential idea or function. Programming script vectors</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/web-development-web-development-simple-clear-vector-icon-illustrating-essential-idea-function-image423029472" > Web Development. Simple and clear vector icon illustrating an essential idea or function </a> </p> </div> </article> <article class="item item59 item-photo js-listing-item" data-id="461695650" data-type="image" data-dt-id="#ilc1" data-dt-on-mouseenter="" data-dt-on-touchstart="" > <div class="item__actions"> <a href="https://www.dreamstime.com/search.php?srh_field=programmer+icon+graphic+design&s_il=y" class="item__similars-link js-similars-link" rel="nofollow" target="_blank" aria-label="Show similar results" data-dt-id="item-similars-link" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#fff" fill-rule="evenodd" d="M0 1a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1zm4 4.072c0 1.694 1.404 3.071 3.13 3.071l.178-.004c.55-.03 1.061-.2 1.5-.474l2.16 2.166a.625.625 0 0 0 .855 0 .585.585 0 0 0 0-.838L9.685 6.847a3 3 0 0 0 .576-1.775C10.261 3.378 8.857 2 7.131 2 5.403 2 4 3.378 4 5.072m1.208 0c0-1.04.863-1.887 1.922-1.887l.15.006c.99.076 1.773.89 1.773 1.881 0 .528-.223 1.007-.58 1.35l-.039.028a.1.1 0 0 0-.016.021 1.94 1.94 0 0 1-1.288.487c-1.06 0-1.922-.846-1.922-1.886M2 13h12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1m2 2h8a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1"/></svg></a> <button class="item__lightbox-btn js-item-lightbox-add-btn" type="button" data-id="461695650" data-lb-state="add" aria-label="Add to lightbox" data-aria-label-add="Add to lightbox" data-aria-label-remove="Remove from lightbox" data-dt-id="item-lightbox-btn" data-dt-on-click="" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg"><path fill="#fff" d="M6 0h4v16H6V0Z"/><path fill="#fff" d="m0 10-1.7e-7-4 16-7e-7 1.7e-7 4L0 10Z"/></svg></button> <a class="item-btn-trial btn btn--green" href="https://www.dreamstime.com/securecredits2.php?subscriptionid=816&packagetype=0" rel="nofollow" aria-label="Free with trial"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 13.998"><path fill-rule="evenodd" d="M14 13.998H0v-3h1.5v1.5h11v-1.5H14v3ZM6.2 0v4.904H3.528L7 9.996l3.472-5.092H7.8V0H6.2Z"/></svg><span>Free with trial</span></a> </div> <a href="https://www.dreamstime.com/programmer-icon-graphic-design-web-icons-vectors-image461695650" class="item__url js-item-title-wrapper" aria-label="Programmer icon graphic design. web icons vectors" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/programmer-icon-graphic-design-web-icons-vectors-461695650.jpg" loading="lazy" alt="Programmer icon graphic design. web icons vectors. Programming script vectors" srcset="https://thumbs.dreamstime.com/b/programmer-icon-graphic-design-web-icons-vectors-461695650.jpg?w=360 360w, https://thumbs.dreamstime.com/b/programmer-icon-graphic-design-web-icons-vectors-461695650.jpg?w=400 400w, https://thumbs.dreamstime.com/b/programmer-icon-graphic-design-web-icons-vectors-461695650.jpg?w=450 450w, https://thumbs.dreamstime.com/b/programmer-icon-graphic-design-web-icons-vectors-461695650.jpg?w=576 576w, https://thumbs.dreamstime.com/b/programmer-icon-graphic-design-web-icons-vectors-461695650.jpg?w=768 768w, https://thumbs.dreamstime.com/b/programmer-icon-graphic-design-web-icons-vectors-461695650.jpg?w=992 992w, https://thumbs.dreamstime.com/b/programmer-icon-graphic-design-web-icons-vectors-461695650.jpg?w=1200 1200w, https://thumbs.dreamstime.com/b/programmer-icon-graphic-design-web-icons-vectors-461695650.jpg?w=1400 1400w" sizes="(max-width: 359.98px) 360px, (min-width: 360px) and (max-width: 399.98px) 400px, (min-width: 400px) and (max-width: 449.98px) 450px, (min-width: 450px) and (max-width: 575.98px) 576px, (min-width: 576px) and (max-width: 767.98px) 768px, (min-width: 768px) and (max-width: 991.98px) 992px, (min-width: 992px) and (max-width: 1199.98px) 1200px, 1400px"> <figcaption class="item__caption">Programmer icon graphic design. web icons vectors. Programming script vectors</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/programmer-icon-graphic-design-web-icons-vectors-image461695650" > Programmer icon graphic design. web icons vectors </a> </p> </div> </article> <article class="item item60 item-photo js-listing-item" data-id="469770479" data-type="image" data-dt-id="#ilc1" data-dt-on-mouseenter="" data-dt-on-touchstart="" > <div class="item__actions"> <a href="https://www.dreamstime.com/search.php?srh_field=digital+background+data+encryption&s_il=y" class="item__similars-link js-similars-link" rel="nofollow" target="_blank" aria-label="Show similar results" data-dt-id="item-similars-link" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#fff" fill-rule="evenodd" d="M0 1a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1zm4 4.072c0 1.694 1.404 3.071 3.13 3.071l.178-.004c.55-.03 1.061-.2 1.5-.474l2.16 2.166a.625.625 0 0 0 .855 0 .585.585 0 0 0 0-.838L9.685 6.847a3 3 0 0 0 .576-1.775C10.261 3.378 8.857 2 7.131 2 5.403 2 4 3.378 4 5.072m1.208 0c0-1.04.863-1.887 1.922-1.887l.15.006c.99.076 1.773.89 1.773 1.881 0 .528-.223 1.007-.58 1.35l-.039.028a.1.1 0 0 0-.016.021 1.94 1.94 0 0 1-1.288.487c-1.06 0-1.922-.846-1.922-1.886M2 13h12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1m2 2h8a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1"/></svg></a> <button class="item__lightbox-btn js-item-lightbox-add-btn" type="button" data-id="469770479" data-lb-state="add" aria-label="Add to lightbox" data-aria-label-add="Add to lightbox" data-aria-label-remove="Remove from lightbox" data-dt-id="item-lightbox-btn" data-dt-on-click="" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg"><path fill="#fff" d="M6 0h4v16H6V0Z"/><path fill="#fff" d="m0 10-1.7e-7-4 16-7e-7 1.7e-7 4L0 10Z"/></svg></button> <a class="item-btn-trial btn btn--green" href="https://www.dreamstime.com/securecredits2.php?subscriptionid=816&packagetype=0" rel="nofollow" aria-label="Free with trial"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 13.998"><path fill-rule="evenodd" d="M14 13.998H0v-3h1.5v1.5h11v-1.5H14v3ZM6.2 0v4.904H3.528L7 9.996l3.472-5.092H7.8V0H6.2Z"/></svg><span>Free with trial</span></a> </div> <a href="https://www.dreamstime.com/digital-background-data-encryption-cryptography-concept-machine-learning-blockchain-technology-artificial-intelligence-algorithm-image469770479" class="item__url js-item-title-wrapper" aria-label="Digital background. Data encryption. Cryptography concept. Machine learning. Blockchain technology. Artificial intelligence. Algorithm at work. Number" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/digital-background-data-encryption-cryptography-concept-machine-learning-blockchain-technology-artificial-intelligence-algorithm-469770479.jpg" loading="lazy" alt="Digital background. Data encryption. Cryptography concept. Machine learning. Blockchain technology. Artificial intelligence algorithm at work. Number manipulation. 3D render. Programming script illustrations" srcset="https://thumbs.dreamstime.com/b/digital-background-data-encryption-cryptography-concept-machine-learning-blockchain-technology-artificial-intelligence-algorithm-469770479.jpg?w=360 360w, https://thumbs.dreamstime.com/b/digital-background-data-encryption-cryptography-concept-machine-learning-blockchain-technology-artificial-intelligence-algorithm-469770479.jpg?w=400 400w, https://thumbs.dreamstime.com/b/digital-background-data-encryption-cryptography-concept-machine-learning-blockchain-technology-artificial-intelligence-algorithm-469770479.jpg?w=450 450w, https://thumbs.dreamstime.com/b/digital-background-data-encryption-cryptography-concept-machine-learning-blockchain-technology-artificial-intelligence-algorithm-469770479.jpg?w=576 576w, https://thumbs.dreamstime.com/b/digital-background-data-encryption-cryptography-concept-machine-learning-blockchain-technology-artificial-intelligence-algorithm-469770479.jpg?w=768 768w, https://thumbs.dreamstime.com/b/digital-background-data-encryption-cryptography-concept-machine-learning-blockchain-technology-artificial-intelligence-algorithm-469770479.jpg?w=992 992w, https://thumbs.dreamstime.com/b/digital-background-data-encryption-cryptography-concept-machine-learning-blockchain-technology-artificial-intelligence-algorithm-469770479.jpg?w=1200 1200w, https://thumbs.dreamstime.com/b/digital-background-data-encryption-cryptography-concept-machine-learning-blockchain-technology-artificial-intelligence-algorithm-469770479.jpg?w=1400 1400w, https://thumbs.dreamstime.com/b/digital-background-data-encryption-cryptography-concept-machine-learning-blockchain-technology-artificial-intelligence-algorithm-469770479.jpg?w=2048 2048w" sizes="(max-width: 359.98px) 360px, (min-width: 360px) and (max-width: 399.98px) 400px, (min-width: 400px) and (max-width: 449.98px) 450px, (min-width: 450px) and (max-width: 575.98px) 576px, (min-width: 576px) and (max-width: 767.98px) 768px, (min-width: 768px) and (max-width: 991.98px) 992px, (min-width: 992px) and (max-width: 1199.98px) 1200px, (min-width: 1200px) and (max-width: 1399.98px) 1400px, 2048px"> <figcaption class="item__caption">Digital background. Data encryption. Cryptography concept. Machine learning. Blockchain technology. Artificial intelligence algorithm at work. Number manipulation. 3D render. Programming script illustrations</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/digital-background-data-encryption-cryptography-concept-machine-learning-blockchain-technology-artificial-intelligence-algorithm-image469770479" > Digital background. Data encryption. Cryptography concept. Machine learning. Blockchain technology. Artificial intelligence. Algorithm at work. Number. Digital background. Data encryption. Cryptography concept. Machine learning. Blockchain technology. Artificial intelligence algorithm at work. Number manipulation. Data encryption. 3D render. </a> </p> </div> </article> <article class="item item61 item-photo js-listing-item" data-id="479687246" data-type="image" data-dt-id="#ilc1" data-dt-on-mouseenter="" data-dt-on-touchstart="" > <div class="item__actions"> <a href="https://www.dreamstime.com/search.php?srh_field=vector+illustration+set+calendar&s_il=y" class="item__similars-link js-similars-link" rel="nofollow" target="_blank" aria-label="Show similar results" data-dt-id="item-similars-link" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#fff" fill-rule="evenodd" d="M0 1a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1zm4 4.072c0 1.694 1.404 3.071 3.13 3.071l.178-.004c.55-.03 1.061-.2 1.5-.474l2.16 2.166a.625.625 0 0 0 .855 0 .585.585 0 0 0 0-.838L9.685 6.847a3 3 0 0 0 .576-1.775C10.261 3.378 8.857 2 7.131 2 5.403 2 4 3.378 4 5.072m1.208 0c0-1.04.863-1.887 1.922-1.887l.15.006c.99.076 1.773.89 1.773 1.881 0 .528-.223 1.007-.58 1.35l-.039.028a.1.1 0 0 0-.016.021 1.94 1.94 0 0 1-1.288.487c-1.06 0-1.922-.846-1.922-1.886M2 13h12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1m2 2h8a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1"/></svg></a> <button class="item__lightbox-btn js-item-lightbox-add-btn" type="button" data-id="479687246" data-lb-state="add" aria-label="Add to lightbox" data-aria-label-add="Add to lightbox" data-aria-label-remove="Remove from lightbox" data-dt-id="item-lightbox-btn" data-dt-on-click="" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg"><path fill="#fff" d="M6 0h4v16H6V0Z"/><path fill="#fff" d="m0 10-1.7e-7-4 16-7e-7 1.7e-7 4L0 10Z"/></svg></button> <a class="item-btn-trial btn btn--green" href="https://www.dreamstime.com/securecredits2.php?subscriptionid=816&packagetype=0" rel="nofollow" aria-label="Free with trial"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 13.998"><path fill-rule="evenodd" d="M14 13.998H0v-3h1.5v1.5h11v-1.5H14v3ZM6.2 0v4.904H3.528L7 9.996l3.472-5.092H7.8V0H6.2Z"/></svg><span>Free with trial</span></a> </div> <a href="https://www.dreamstime.com/web-development-project-management-landing-page-vector-illustration-set-software-planning-calendar-chat-bubbles-code-image479687246" class="item__url js-item-title-wrapper" aria-label="Web Development and Project Management Landing Page Vector Illustration Set for Software Planning. Vector illustration set a calendar, chat bubbles, and code" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/web-development-project-management-landing-page-vector-illustration-set-software-planning-calendar-chat-bubbles-code-479687246.jpg" loading="lazy" alt="Vector illustration set a calendar, chat bubbles, and code editor for a landing page banner. Project management, software development, team communication, scheduling, coding, workflow. Digital. Programming script vectors" srcset="https://thumbs.dreamstime.com/b/web-development-project-management-landing-page-vector-illustration-set-software-planning-calendar-chat-bubbles-code-479687246.jpg?w=360 360w, https://thumbs.dreamstime.com/b/web-development-project-management-landing-page-vector-illustration-set-software-planning-calendar-chat-bubbles-code-479687246.jpg?w=400 400w, https://thumbs.dreamstime.com/b/web-development-project-management-landing-page-vector-illustration-set-software-planning-calendar-chat-bubbles-code-479687246.jpg?w=450 450w, https://thumbs.dreamstime.com/b/web-development-project-management-landing-page-vector-illustration-set-software-planning-calendar-chat-bubbles-code-479687246.jpg?w=576 576w, https://thumbs.dreamstime.com/b/web-development-project-management-landing-page-vector-illustration-set-software-planning-calendar-chat-bubbles-code-479687246.jpg?w=768 768w, https://thumbs.dreamstime.com/b/web-development-project-management-landing-page-vector-illustration-set-software-planning-calendar-chat-bubbles-code-479687246.jpg?w=992 992w, https://thumbs.dreamstime.com/b/web-development-project-management-landing-page-vector-illustration-set-software-planning-calendar-chat-bubbles-code-479687246.jpg?w=1200 1200w, https://thumbs.dreamstime.com/b/web-development-project-management-landing-page-vector-illustration-set-software-planning-calendar-chat-bubbles-code-479687246.jpg?w=1400 1400w" sizes="(max-width: 359.98px) 360px, (min-width: 360px) and (max-width: 399.98px) 400px, (min-width: 400px) and (max-width: 449.98px) 450px, (min-width: 450px) and (max-width: 575.98px) 576px, (min-width: 576px) and (max-width: 767.98px) 768px, (min-width: 768px) and (max-width: 991.98px) 992px, (min-width: 992px) and (max-width: 1199.98px) 1200px, 1400px"> <figcaption class="item__caption">Vector illustration set a calendar, chat bubbles, and code editor for a landing page banner. Project management, software development, team communication, scheduling, coding, workflow. Digital. Programming script vectors</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/web-development-project-management-landing-page-vector-illustration-set-software-planning-calendar-chat-bubbles-code-image479687246" > Web Development and Project Management Landing Page Vector Illustration Set for Software Planning. Vector illustration set a calendar, chat bubbles, and code. Vector illustration set a calendar, chat bubbles, and code editor for a landing page banner. Project management, software development, team communication, scheduling, coding, workflow. Digital </a> </p> </div> </article> <article class="item item62 item-photo js-listing-item" data-id="459349330" data-type="image" data-dt-id="#ilc1" data-dt-on-mouseenter="" data-dt-on-touchstart="" > <div class="item__actions"> <a href="https://www.dreamstime.com/search.php?srh_field=labeled+dark+code+editor&s_il=y" class="item__similars-link js-similars-link" rel="nofollow" target="_blank" aria-label="Show similar results" data-dt-id="item-similars-link" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#fff" fill-rule="evenodd" d="M0 1a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1zm4 4.072c0 1.694 1.404 3.071 3.13 3.071l.178-.004c.55-.03 1.061-.2 1.5-.474l2.16 2.166a.625.625 0 0 0 .855 0 .585.585 0 0 0 0-.838L9.685 6.847a3 3 0 0 0 .576-1.775C10.261 3.378 8.857 2 7.131 2 5.403 2 4 3.378 4 5.072m1.208 0c0-1.04.863-1.887 1.922-1.887l.15.006c.99.076 1.773.89 1.773 1.881 0 .528-.223 1.007-.58 1.35l-.039.028a.1.1 0 0 0-.016.021 1.94 1.94 0 0 1-1.288.487c-1.06 0-1.922-.846-1.922-1.886M2 13h12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1m2 2h8a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1"/></svg></a> <button class="item__lightbox-btn js-item-lightbox-add-btn" type="button" data-id="459349330" data-lb-state="add" aria-label="Add to lightbox" data-aria-label-add="Add to lightbox" data-aria-label-remove="Remove from lightbox" data-dt-id="item-lightbox-btn" data-dt-on-click="" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg"><path fill="#fff" d="M6 0h4v16H6V0Z"/><path fill="#fff" d="m0 10-1.7e-7-4 16-7e-7 1.7e-7 4L0 10Z"/></svg></button> <a class="item-btn-trial btn btn--green" href="https://www.dreamstime.com/securecredits2.php?subscriptionid=816&packagetype=0" rel="nofollow" aria-label="Free with trial"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 13.998"><path fill-rule="evenodd" d="M14 13.998H0v-3h1.5v1.5h11v-1.5H14v3ZM6.2 0v4.904H3.528L7 9.996l3.472-5.092H7.8V0H6.2Z"/></svg><span>Free with trial</span></a> </div> <a href="https://www.dreamstime.com/technology-ai-powered-code-debugging-interface-red-bug-icon-dark-editor-screen-labeled-displaying-colorful-syntax-image459349330" class="item__url js-item-title-wrapper" aria-label="Technology - AI Powered Code Debugging Interface with Red Bug Icon on Dark Code Editor Screen. AI-labeled dark code editor interface displaying colorful syntax" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/technology-ai-powered-code-debugging-interface-red-bug-icon-dark-editor-screen-labeled-displaying-colorful-syntax-459349330.jpg" loading="lazy" alt="AI-labeled dark code editor interface displaying colorful syntax highlighting with a red bug icon symbolizing software debugging. Programming script illustrations" srcset="https://thumbs.dreamstime.com/b/technology-ai-powered-code-debugging-interface-red-bug-icon-dark-editor-screen-labeled-displaying-colorful-syntax-459349330.jpg?w=360 360w, https://thumbs.dreamstime.com/b/technology-ai-powered-code-debugging-interface-red-bug-icon-dark-editor-screen-labeled-displaying-colorful-syntax-459349330.jpg?w=400 400w, https://thumbs.dreamstime.com/b/technology-ai-powered-code-debugging-interface-red-bug-icon-dark-editor-screen-labeled-displaying-colorful-syntax-459349330.jpg?w=450 450w, https://thumbs.dreamstime.com/b/technology-ai-powered-code-debugging-interface-red-bug-icon-dark-editor-screen-labeled-displaying-colorful-syntax-459349330.jpg?w=576 576w, https://thumbs.dreamstime.com/b/technology-ai-powered-code-debugging-interface-red-bug-icon-dark-editor-screen-labeled-displaying-colorful-syntax-459349330.jpg?w=768 768w, https://thumbs.dreamstime.com/b/technology-ai-powered-code-debugging-interface-red-bug-icon-dark-editor-screen-labeled-displaying-colorful-syntax-459349330.jpg?w=992 992w" sizes="(max-width: 359.98px) 360px, (min-width: 360px) and (max-width: 399.98px) 400px, (min-width: 400px) and (max-width: 449.98px) 450px, (min-width: 450px) and (max-width: 575.98px) 576px, (min-width: 576px) and (max-width: 767.98px) 768px, 992px"> <figcaption class="item__caption">AI-labeled dark code editor interface displaying colorful syntax highlighting with a red bug icon symbolizing software debugging. Programming script illustrations</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/technology-ai-powered-code-debugging-interface-red-bug-icon-dark-editor-screen-labeled-displaying-colorful-syntax-image459349330" > Technology - AI Powered Code Debugging Interface with Red Bug Icon on Dark Code Editor Screen. AI-labeled dark code editor interface displaying colorful syntax. AI-labeled dark code editor interface displaying colorful syntax highlighting with a red bug icon symbolizing software debugging </a> </p> </div> </article> <article class="item item63 item-photo js-listing-item" data-id="457425055" data-type="image" data-dt-id="#ilc1" data-dt-on-mouseenter="" data-dt-on-touchstart="" > <div class="item__actions"> <a href="https://www.dreamstime.com/search.php?srh_field=modern+computer+monitor+displays&s_il=y" class="item__similars-link js-similars-link" rel="nofollow" target="_blank" aria-label="Show similar results" data-dt-id="item-similars-link" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#fff" fill-rule="evenodd" d="M0 1a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1zm4 4.072c0 1.694 1.404 3.071 3.13 3.071l.178-.004c.55-.03 1.061-.2 1.5-.474l2.16 2.166a.625.625 0 0 0 .855 0 .585.585 0 0 0 0-.838L9.685 6.847a3 3 0 0 0 .576-1.775C10.261 3.378 8.857 2 7.131 2 5.403 2 4 3.378 4 5.072m1.208 0c0-1.04.863-1.887 1.922-1.887l.15.006c.99.076 1.773.89 1.773 1.881 0 .528-.223 1.007-.58 1.35l-.039.028a.1.1 0 0 0-.016.021 1.94 1.94 0 0 1-1.288.487c-1.06 0-1.922-.846-1.922-1.886M2 13h12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1m2 2h8a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1"/></svg></a> <button class="item__lightbox-btn js-item-lightbox-add-btn" type="button" data-id="457425055" data-lb-state="add" aria-label="Add to lightbox" data-aria-label-add="Add to lightbox" data-aria-label-remove="Remove from lightbox" data-dt-id="item-lightbox-btn" data-dt-on-click="" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg"><path fill="#fff" d="M6 0h4v16H6V0Z"/><path fill="#fff" d="m0 10-1.7e-7-4 16-7e-7 1.7e-7 4L0 10Z"/></svg></button> <a class="item-btn-trial btn btn--green" href="https://www.dreamstime.com/securecredits2.php?subscriptionid=816&packagetype=0" rel="nofollow" aria-label="Free with trial"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 13.998"><path fill-rule="evenodd" d="M14 13.998H0v-3h1.5v1.5h11v-1.5H14v3ZM6.2 0v4.904H3.528L7 9.996l3.472-5.092H7.8V0H6.2Z"/></svg><span>Free with trial</span></a> </div> <a href="https://www.dreamstime.com/modern-computer-setup-code-screen-natural-light-window-monitor-displays-lines-its-illuminated-streaming-image457425055" class="item__url js-item-title-wrapper" aria-label="Modern computer setup with code on screen and natural light from window. A modern computer monitor displays lines of code on its screen, illuminated by natural" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/modern-computer-setup-code-screen-natural-light-window-monitor-displays-lines-its-illuminated-streaming-457425055.jpg" loading="lazy" alt="A modern computer monitor displays lines of code on its screen, illuminated by natural light streaming through a nearby window. A keyboard and mouse are positioned on a wooden desk. Programming script illustrations" srcset="https://thumbs.dreamstime.com/b/modern-computer-setup-code-screen-natural-light-window-monitor-displays-lines-its-illuminated-streaming-457425055.jpg?w=360 360w, https://thumbs.dreamstime.com/b/modern-computer-setup-code-screen-natural-light-window-monitor-displays-lines-its-illuminated-streaming-457425055.jpg?w=400 400w, https://thumbs.dreamstime.com/b/modern-computer-setup-code-screen-natural-light-window-monitor-displays-lines-its-illuminated-streaming-457425055.jpg?w=450 450w, https://thumbs.dreamstime.com/b/modern-computer-setup-code-screen-natural-light-window-monitor-displays-lines-its-illuminated-streaming-457425055.jpg?w=576 576w, https://thumbs.dreamstime.com/b/modern-computer-setup-code-screen-natural-light-window-monitor-displays-lines-its-illuminated-streaming-457425055.jpg?w=768 768w, https://thumbs.dreamstime.com/b/modern-computer-setup-code-screen-natural-light-window-monitor-displays-lines-its-illuminated-streaming-457425055.jpg?w=992 992w" sizes="(max-width: 359.98px) 360px, (min-width: 360px) and (max-width: 399.98px) 400px, (min-width: 400px) and (max-width: 449.98px) 450px, (min-width: 450px) and (max-width: 575.98px) 576px, (min-width: 576px) and (max-width: 767.98px) 768px, 992px"> <figcaption class="item__caption">A modern computer monitor displays lines of code on its screen, illuminated by natural light streaming through a nearby window. A keyboard and mouse are positioned on a wooden desk. Programming script illustrations</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/modern-computer-setup-code-screen-natural-light-window-monitor-displays-lines-its-illuminated-streaming-image457425055" > Modern computer setup with code on screen and natural light from window. A modern computer monitor displays lines of code on its screen, illuminated by natural. A modern computer monitor displays lines of code on its screen, illuminated by natural light streaming through a nearby window. A keyboard and mouse are positioned on a wooden desk </a> </p> </div> </article> <article class="item item64 item-photo js-listing-item" data-id="482330818" data-type="image" data-dt-id="#ilc1" data-dt-on-mouseenter="" data-dt-on-touchstart="" > <div class="item__actions"> <a href="https://www.dreamstime.com/search.php?srh_field=black+code+icon+depicts&s_il=y" class="item__similars-link js-similars-link" rel="nofollow" target="_blank" aria-label="Show similar results" data-dt-id="item-similars-link" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#fff" fill-rule="evenodd" d="M0 1a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1zm4 4.072c0 1.694 1.404 3.071 3.13 3.071l.178-.004c.55-.03 1.061-.2 1.5-.474l2.16 2.166a.625.625 0 0 0 .855 0 .585.585 0 0 0 0-.838L9.685 6.847a3 3 0 0 0 .576-1.775C10.261 3.378 8.857 2 7.131 2 5.403 2 4 3.378 4 5.072m1.208 0c0-1.04.863-1.887 1.922-1.887l.15.006c.99.076 1.773.89 1.773 1.881 0 .528-.223 1.007-.58 1.35l-.039.028a.1.1 0 0 0-.016.021 1.94 1.94 0 0 1-1.288.487c-1.06 0-1.922-.846-1.922-1.886M2 13h12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1m2 2h8a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1"/></svg></a> <button class="item__lightbox-btn js-item-lightbox-add-btn" type="button" data-id="482330818" data-lb-state="add" aria-label="Add to lightbox" data-aria-label-add="Add to lightbox" data-aria-label-remove="Remove from lightbox" data-dt-id="item-lightbox-btn" data-dt-on-click="" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg"><path fill="#fff" d="M6 0h4v16H6V0Z"/><path fill="#fff" d="m0 10-1.7e-7-4 16-7e-7 1.7e-7 4L0 10Z"/></svg></button> <a class="item-btn-trial btn btn--green" href="https://www.dreamstime.com/securecredits2.php?subscriptionid=816&packagetype=0" rel="nofollow" aria-label="Free with trial"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 13.998"><path fill-rule="evenodd" d="M14 13.998H0v-3h1.5v1.5h11v-1.5H14v3ZM6.2 0v4.904H3.528L7 9.996l3.472-5.092H7.8V0H6.2Z"/></svg><span>Free with trial</span></a> </div> <a href="https://www.dreamstime.com/black-white-code-icon-showing-terminal-window-command-prompt-lines-text-depicts-graphic-displayed-plain-image482330818" class="item__url js-item-title-wrapper" aria-label="Black and white code icon showing a terminal window with command prompt and lines of text. A black code icon depicts a terminal window with a command prompt and" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/black-white-code-icon-showing-terminal-window-command-prompt-lines-text-depicts-graphic-displayed-plain-482330818.jpg" loading="lazy" alt="A black code icon depicts a terminal window with a command prompt and text lines. The graphic is displayed on a plain white background with a zoomed-in detail view. Generative AI. Programming script illustrations" srcset="https://thumbs.dreamstime.com/b/black-white-code-icon-showing-terminal-window-command-prompt-lines-text-depicts-graphic-displayed-plain-482330818.jpg?w=360 360w, https://thumbs.dreamstime.com/b/black-white-code-icon-showing-terminal-window-command-prompt-lines-text-depicts-graphic-displayed-plain-482330818.jpg?w=400 400w, https://thumbs.dreamstime.com/b/black-white-code-icon-showing-terminal-window-command-prompt-lines-text-depicts-graphic-displayed-plain-482330818.jpg?w=450 450w, https://thumbs.dreamstime.com/b/black-white-code-icon-showing-terminal-window-command-prompt-lines-text-depicts-graphic-displayed-plain-482330818.jpg?w=576 576w, https://thumbs.dreamstime.com/b/black-white-code-icon-showing-terminal-window-command-prompt-lines-text-depicts-graphic-displayed-plain-482330818.jpg?w=768 768w" sizes="(max-width: 359.98px) 360px, (min-width: 360px) and (max-width: 399.98px) 400px, (min-width: 400px) and (max-width: 449.98px) 450px, (min-width: 450px) and (max-width: 575.98px) 576px, 768px"> <figcaption class="item__caption">A black code icon depicts a terminal window with a command prompt and text lines. The graphic is displayed on a plain white background with a zoomed-in detail view. Generative AI. Programming script illustrations</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/black-white-code-icon-showing-terminal-window-command-prompt-lines-text-depicts-graphic-displayed-plain-image482330818" > Black and white code icon showing a terminal window with command prompt and lines of text. A black code icon depicts a terminal window with a command prompt and. A black code icon depicts a terminal window with a command prompt and text lines. The graphic is displayed on a plain white background with a zoomed-in detail view. Generative AI </a> </p> </div> </article> <article class="item item65 item-photo js-listing-item" data-id="460680165" data-type="image" data-dt-id="#ilc1" data-dt-on-mouseenter="" data-dt-on-touchstart="" > <div class="item__actions"> <a href="https://www.dreamstime.com/search.php?srh_field=man+glasses+using+laptop&s_il=y" class="item__similars-link js-similars-link" rel="nofollow" target="_blank" aria-label="Show similar results" data-dt-id="item-similars-link" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#fff" fill-rule="evenodd" d="M0 1a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1zm4 4.072c0 1.694 1.404 3.071 3.13 3.071l.178-.004c.55-.03 1.061-.2 1.5-.474l2.16 2.166a.625.625 0 0 0 .855 0 .585.585 0 0 0 0-.838L9.685 6.847a3 3 0 0 0 .576-1.775C10.261 3.378 8.857 2 7.131 2 5.403 2 4 3.378 4 5.072m1.208 0c0-1.04.863-1.887 1.922-1.887l.15.006c.99.076 1.773.89 1.773 1.881 0 .528-.223 1.007-.58 1.35l-.039.028a.1.1 0 0 0-.016.021 1.94 1.94 0 0 1-1.288.487c-1.06 0-1.922-.846-1.922-1.886M2 13h12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1m2 2h8a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1"/></svg></a> <button class="item__lightbox-btn js-item-lightbox-add-btn" type="button" data-id="460680165" data-lb-state="add" aria-label="Add to lightbox" data-aria-label-add="Add to lightbox" data-aria-label-remove="Remove from lightbox" data-dt-id="item-lightbox-btn" data-dt-on-click="" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg"><path fill="#fff" d="M6 0h4v16H6V0Z"/><path fill="#fff" d="m0 10-1.7e-7-4 16-7e-7 1.7e-7 4L0 10Z"/></svg></button> <a class="item-btn-trial btn btn--green" href="https://www.dreamstime.com/securecredits2.php?subscriptionid=816&packagetype=0" rel="nofollow" aria-label="Free with trial"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 13.998"><path fill-rule="evenodd" d="M14 13.998H0v-3h1.5v1.5h11v-1.5H14v3ZM6.2 0v4.904H3.528L7 9.996l3.472-5.092H7.8V0H6.2Z"/></svg><span>Free with trial</span></a> </div> <a href="https://www.dreamstime.com/young-male-programmer-coding-working-laptop-digital-circuit-gear-elements-man-glasses-using-laptop-surrounded-image460680165" class="item__url js-item-title-wrapper" aria-label="Young Male Programmer Coding, Working on Laptop with Digital Circuit and Gear Elements. Man in glasses using laptop, surrounded by digital symbols, gears, and" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/young-male-programmer-coding-working-laptop-digital-circuit-gear-elements-man-glasses-using-laptop-surrounded-460680165.jpg" loading="lazy" alt="Man in glasses using laptop, surrounded by digital symbols, gears, and binary code visualization. Programming script vectors" srcset="https://thumbs.dreamstime.com/b/young-male-programmer-coding-working-laptop-digital-circuit-gear-elements-man-glasses-using-laptop-surrounded-460680165.jpg?w=360 360w, https://thumbs.dreamstime.com/b/young-male-programmer-coding-working-laptop-digital-circuit-gear-elements-man-glasses-using-laptop-surrounded-460680165.jpg?w=400 400w, https://thumbs.dreamstime.com/b/young-male-programmer-coding-working-laptop-digital-circuit-gear-elements-man-glasses-using-laptop-surrounded-460680165.jpg?w=450 450w, https://thumbs.dreamstime.com/b/young-male-programmer-coding-working-laptop-digital-circuit-gear-elements-man-glasses-using-laptop-surrounded-460680165.jpg?w=576 576w, https://thumbs.dreamstime.com/b/young-male-programmer-coding-working-laptop-digital-circuit-gear-elements-man-glasses-using-laptop-surrounded-460680165.jpg?w=768 768w" sizes="(max-width: 359.98px) 360px, (min-width: 360px) and (max-width: 399.98px) 400px, (min-width: 400px) and (max-width: 449.98px) 450px, (min-width: 450px) and (max-width: 575.98px) 576px, 768px"> <figcaption class="item__caption">Man in glasses using laptop, surrounded by digital symbols, gears, and binary code visualization. Programming script vectors</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/young-male-programmer-coding-working-laptop-digital-circuit-gear-elements-man-glasses-using-laptop-surrounded-image460680165" > Young Male Programmer Coding, Working on Laptop with Digital Circuit and Gear Elements. Man in glasses using laptop, surrounded by digital symbols, gears, and. Man in glasses using laptop, surrounded by digital symbols, gears, and binary code visualization </a> </p> </div> </article> <article class="item-last js-item-last"></article> </div> </div> <div class="search-btm"> <div class="container-fluid"> <div class="col-12 swiper-btm"> <div aria-keyshortcuts="ArrowLeft ArrowRight" class="swiper-row js-swipe-row swiper-row--mask" id="swiper-row-6adb1a2b02e44" data-use-buttons="" data-inline-buttons="" tabindex="0" aria-label="Related searches"> <div class="swiper-mask-container"> <ul class="swipe-row__container js-swipe-row-container swipe-row__container--mask" data-dt-id="swiper-row" data-dt-root="" data-dt-on-pointerdown="" data-dt-on-dragstart-preventdefault="" data-dt-on-wheel="" data-dt-on-key-arrowright="" data-dt-on-wheel-preventdefault="" data-dt-on-key-tab="" data-dt-js-order="31,32"> <li class="swipe-row__item js-swipe-row-item"><a class="js-related-searches-item related-searches__item related-searches__item--plain" draggable="false" href="https://www.dreamstime.com/illustration/test-tube.html" aria-label="Test tube illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Test Tube</h3> </a> </li> <li class="swipe-row__item js-swipe-row-item"><a class="js-related-searches-item related-searches__item related-searches__item--plain" draggable="false" href="https://www.dreamstime.com/illustration/magnifying-glass.html" aria-label="Magnifying glass illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Magnifying Glass</h3> </a> </li> <li class="swipe-row__item js-swipe-row-item"><a class="js-related-searches-item related-searches__item related-searches__item--plain" draggable="false" href="https://www.dreamstime.com/illustration/debugging-development.html" aria-label="Debugging development illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Debugging Development</h3> </a> </li> <li class="swipe-row__item js-swipe-row-item"><a class="js-related-searches-item related-searches__item related-searches__item--plain" draggable="false" href="https://www.dreamstime.com/illustration/database-symbols.html" aria-label="Database symbols illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Database Symbols</h3> </a> </li> <li class="swipe-row__item js-swipe-row-item"><a class="js-related-searches-item related-searches__item related-searches__item--plain" draggable="false" href="https://www.dreamstime.com/illustration/code-debugging.html" aria-label="Code debugging illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Code Debugging</h3> </a> </li> <li class="swipe-row__item js-swipe-row-item"><a class="js-related-searches-item related-searches__item related-searches__item--plain" draggable="false" href="https://www.dreamstime.com/illustration/assurance-code.html" aria-label="Assurance code illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Assurance Code</h3> </a> </li> <li class="swipe-row__item js-swipe-row-item"><a class="js-related-searches-item related-searches__item related-searches__item--plain" draggable="false" href="https://www.dreamstime.com/illustration/web-design-concepts.html" aria-label="Web design concepts illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Web Design Concepts</h3> </a> </li> <li class="swipe-row__item js-swipe-row-item"><a class="js-related-searches-item related-searches__item related-searches__item--plain" draggable="false" href="https://www.dreamstime.com/illustration/design-concepts.html" aria-label="Design concepts illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Design Concepts</h3> </a> </li> <li class="swipe-row__item js-swipe-row-item"><a class="js-related-searches-item related-searches__item related-searches__item--plain" draggable="false" href="https://www.dreamstime.com/illustration/black-glyph.html" aria-label="Black glyph illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Black Glyph</h3> </a> </li> <li class="swipe-row__item js-swipe-row-item"><a class="js-related-searches-item related-searches__item related-searches__item--plain" draggable="false" href="https://www.dreamstime.com/illustration/innovative-web-design-concepts.html" aria-label="Innovative web design concepts illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Innovative Web Design Concepts</h3> </a> </li> </ul> <div class="swipe-row__item swipe-row__item--btn-mask js-swipe-row-btn-mask"></div> </div> <div class="swipe-row__nav js-swipe-row-button-wrapper swipe-row__nav--prev" data-state="hidden" data-direction="prev" data-swiper-id="swiper-row-6adb1a2b02e44" > <button type="button" class="js-swipe-row-button" aria-label="Scroll previous" aria-controls="swiper-row-6adb1a2b02e44" ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 6 10"><path fill-rule="nonzero" d="M6 8.694 4.757 10 1.243 6.306 0 5l1.243-1.306L4.757 0 6 1.306 2.486 5 6 8.694Z"/></svg></button> </div> <div class="swipe-row__nav js-swipe-row-button-wrapper swipe-row__nav--next swipe-row__nav--next-mask" data-direction="next" data-swiper-id="swiper-row-6adb1a2b02e44" > <button type="button" class="js-swipe-row-button" aria-label="Scroll next" aria-controls="swiper-row-6adb1a2b02e44" data-dt-id="swiper-row" data-dt-on-click="" data-dt-show-loading="" data-dt-loading-type="area" data-dt-loading-theme="light" data-dt-loading-size="sml" data-pos="" ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 6 10"><path fill-rule="nonzero" d="M-.003 8.694 1.24 10l3.515-3.694L5.997 5 4.755 3.694 1.24 0-.003 1.306 3.511 5-.003 8.694Z"/></svg></button> </div> </div> </div> <div class="row"> <div class="col-sm-12 col-md-4 order-md-1"> <a class="next-button js-next-page-button" href="https://www.dreamstime.com/illustration/programming-script.html?pg=100" title="Page 100" data-dt-id="next-page-button" data-dt-root="" data-dt-on-document-key-arrowright="" data-dt-dispatch-target="original" data-dt-js="44"> <div class="next-button__keynav"></div> <div class="next-button__label">Next page</div> <svg class="next-button__big" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 26 26"><path fill-rule="evenodd" d="M24.87 14.82 2.947 25.78A2.037 2.037 0 0 1 0 23.96V2.036A2.037 2.037 0 0 1 2.947.215L24.87 11.176a2.037 2.037 0 0 1 0 3.644Z"/></svg></a> </div> <div class="col-sm-12 col-md-8"> <nav class="pagination pagination--list" aria-label="Pagination"> <a class="pagination__item pagination__item--prev js-pagination-prev" href="https://www.dreamstime.com/illustration/programming-script.html?pg=98" title="Page 98" ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 6 10"><path fill-rule="nonzero" d="M6 8.694 4.757 10 1.243 6.306 0 5l1.243-1.306L4.757 0 6 1.306 2.486 5 6 8.694Z"/></svg></a> <ul class="pagination__list js-pagination-list" > <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/programming-script.html?pg=95" title="Go to Page 95" >95</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/programming-script.html?pg=96" title="Go to Page 96" >96</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/programming-script.html?pg=97" title="Go to Page 97" >97</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/programming-script.html?pg=98" title="Go to Page 98" >98</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/programming-script.html?pg=99" title="Current page, Page 99" aria-current="page" data-state="active" >99</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/programming-script.html?pg=100" title="Go to Page 100" >100</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/programming-script.html?pg=101" title="Go to Page 101" >101</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/programming-script.html?pg=102" title="Go to Page 102" >102</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/programming-script.html?pg=103" title="Go to Page 103" >103</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/programming-script.html?pg=104" title="Go to Page 104" >104</a> </li> </ul> <a class="pagination__item pagination__item--next js-pagination-next" href="https://www.dreamstime.com/illustration/programming-script.html?pg=100" title="Page 100" ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 6 10"><path fill-rule="nonzero" d="M-.003 8.694 1.24 10l3.515-3.694L5.997 5 4.755 3.694 1.24 0-.003 1.306 3.511 5-.003 8.694Z"/></svg></a> </nav> </div> </div> </div> </div> <div class="share-btn-wrapper share-btn-wrapper--icn search-share"> <button type="button" class="share-btn js-share-btn" data-dt-id="share-btn" data-dt-on-click="" data-dt-show-loading="" data-dt-loading-type="area" data-dt-loading-theme="dark" data-dt-loading-relative="" data-dt-loading-size="sml" data-dt-root="" data-dt-css="45,46,47,48,49,50,51,52,53" data-dt-js="54,29,30,55,56" aria-label="Share" > <svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 22 16"><path d="M12.7 0 14 1.1l7.3 6.3.7.5-.6.5-7.4 6.4-1.3 1.1v-4.8h-2c-4 0-6.9 1.1-9.2 3.3L0 16l.4-2.3v-.3c.4-2.2 1.5-4.1 3.2-5.6l.2-.2C6 5.8 8.9 4.8 12.5 4.8h.3L12.7 0zm1.6 3.3v3h-.8c-3.6-.2-6.6.7-8.7 2.4l-.2.2c-.9.8-1.5 1.7-2 2.7l-.1.2.2-.2c2.1-1.3 4.7-2 7.7-2H14.3v3L19.7 8l-5.4-4.7z"/></svg> </button> </div> </main> <div data-state="hidden" data-dt-id="popup-freetrial" data-dt-root="" data-dt-on-document-mouseleave="" data-dt-priority="high" data-dt-dispatch-target="document" data-dt-js="4,6,65" data-dt-js-order="8,9" data-dt-css="10,11,66"></div> <div class = "js-signup-popup-interaction" data-state="hidden" data-deps="{"js":"4,5,6,7","js-order":"8,9","css":"10,11,12"}" data-dt-id="signup-popup-interaction" data-dt-root="" data-dt-on-document-mousemove="" data-dt-on-document-touchstart="" data-dt-on-window-scroll="" data-dt-on-click="" data-dt-on-keypress="" data-dt-js="67"></div> <footer > <div class="footer-main"> <div class="container"> <div class="row"> <div class="col-md-1 col-sm-12"> <a class="footer-logo" name="Dreamstime" href="https://www.dreamstime.com/" aria-label="Dreamstime homepage"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 31"><path fill-rule="evenodd" clip-rule="evenodd" fill="#50a901" d="M28.7 6.3c-6.1-9-19.2-7.4-25-.7C.8 8.9-.3 13.5.1 17.7.5 21 1.7 24 3.4 26c4.5 5.5 12.3 6.1 17.4 2.6 7.2-5 6.7-13.1 2.8-17.6-7-8-19-.1-14.5 9 1.1 2.2 3.6 3.4 5.9 3.4 3.2 0 5.7-3.8 4.2-6.1-1.5-2.4-4.1 0-3 1.8.9 1.4-1 2.2-1.8 2-2.1-.5-3.1-3.4-2.4-5.8.6-2.1 2.8-3.5 4.9-3.4 2.9.2 6.1 2.5 5.8 7.5-.7 8.1-11.3 9.6-15.5 3.8-6.6-9.3 1.2-21.8 13.1-18 6.1 2 10.6 9.2 7.8 16.9-1.1 2.9-1.7 4-1.8 5-.5 3.7 11.2-7.8 2.4-20.8z"/></svg> </a> </div> <div class="col-xl-8 col-md-11 col-sm-12"> <div class="footer-menu js-footer-menu-wrapper" data-list-initial="opened" data-state="opened"> <div class="row flex-sm-nowrap"> <div class="col-sm-3 col-6"> <div class="footer-menu__col"> <div class="footer-menu__title js-footer-menu-trigger" data-dt-id="footer-menu" data-dt-root="" data-dt-on-click="" data-dt-js="54" data-dt-js-order="1,68" data-dt-show-loading="" data-dt-loading-theme="light" data-dt-loading-type="area" data-dt-loading-relative="" data-dt-loading-size="sml" > <span>Support Center</span> <svg class="footer-menu__icn" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 6"><path fill-rule="nonzero" d="m8.69 0 1.306 1.243-3.694 3.514L4.996 6 3.69 4.757-.004 1.243 1.302 0l3.694 3.514L8.69 0Z"/></svg> </div> <div class="footer-menu__list js-footer-menu-list"> <ul> <li><a class="footer-menu__url" href="https://www.dreamstime.com/about-stock-image-licenses" title="About our photos">About our photos</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/terms" title="Legal / Terms of use">Legal / Terms of use</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/contact" title="Contact Us">Contact Us</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/faq" title="Frequently asked questions">FAQ</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/sitemap" title="Sitemap">Sitemap</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/privacy" title="Privacy policy">Privacy policy</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/credits" title="Plans & Pricing">Plans & Pricing</a></li> </ul> </div> </div> </div> <div class="col-sm-3 col-6"> <div class="footer-menu__col"> <div class="footer-menu__title js-footer-menu-trigger" data-dt-id="footer-menu" data-dt-root="" data-dt-on-click="" data-dt-js="54" data-dt-js-order="1,68" data-dt-show-loading="" data-dt-loading-theme="light" data-dt-loading-type="area" data-dt-loading-relative="" data-dt-loading-size="sml" > <span>Dreamstime</span> <svg class="footer-menu__icn" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 6"><path fill-rule="nonzero" d="m8.69 0 1.306 1.243-3.694 3.514L4.996 6 3.69 4.757-.004 1.243 1.302 0l3.694 3.514L8.69 0Z"/></svg> </div> <div class="footer-menu__list js-footer-menu-list"> <ul> <li><a class="footer-menu__url" href="https://www.dreamstime.com/new-stock-photos-images" title="Latest Pictures">Latest Pictures</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/extended-stock-photography-licenses" title="Exclusive rights">Exclusive rights</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/about" title="About us">About us</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/media-room" title="Media Room">Media Room</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/careers" title="Careers">Careers</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/merchandise" title="Dreamstime Merchandise">Merchandise</a></li> </ul> </div> </div> </div> <div class="col-sm-3 col-6"> <div class="footer-menu__col"> <div class="footer-menu__title js-footer-menu-trigger" data-dt-id="footer-menu" data-dt-root="" data-dt-on-click="" data-dt-js="54" data-dt-js-order="1,68" data-dt-show-loading="" data-dt-loading-theme="light" data-dt-loading-type="area" data-dt-loading-relative="" data-dt-loading-size="sml" > <span>Community</span> <svg class="footer-menu__icn" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 6"><path fill-rule="nonzero" d="m8.69 0 1.306 1.243-3.694 3.514L4.996 6 3.69 4.757-.004 1.243 1.302 0l3.694 3.514L8.69 0Z"/></svg> </div> <div class="footer-menu__list js-footer-menu-list"> <ul> <li><a class="footer-menu__url" href="https://www.dreamstime.com/sell-stock-photos-images" title="Sell your images">Sell your images</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/blog" title="Photography blogs">Blog</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/boards" title="Photography forum">Message boards</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/social-networking" title="Social media feeds">Social hub</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/upload" title="Upload image">Upload image</a></li> <li><a data-dt-id="footer-menu-api-url" data-dt-root="" data-dt-on-click="" data-dt-on-auxclick="" data-dt-on-click-preventdefault="" data-dt-js="69" class="footer-menu__url footer-menu__url--highlighted js-footer-menu-url-api" href="https://www.dreamstime.com/dreamstime-api" title="API">API</a> <span class="footer-menu__sep">/</span> <a class="footer-menu__url footer-menu__url--highlighted" href="https://www.dreamstime.com/affiliate-referral-program" title="Referral program">Referral program</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/contest" title="Contest">Contest</a></li> </ul> </div> </div> </div> <div class="col-sm-3 col-6"> <div class="footer-menu__col"> <div class="footer-menu__title js-footer-menu-trigger" data-dt-id="footer-menu" data-dt-root="" data-dt-on-click="" data-dt-js="54" data-dt-js-order="1,68" data-dt-show-loading="" data-dt-loading-theme="light" data-dt-loading-type="area" data-dt-loading-relative="" data-dt-loading-size="sml" > <span>Tools</span> <svg class="footer-menu__icn" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 6"><path fill-rule="nonzero" d="m8.69 0 1.306 1.243-3.694 3.514L4.996 6 3.69 4.757-.004 1.243 1.302 0l3.694 3.514L8.69 0Z"/></svg> </div> <div class="footer-menu__list js-footer-menu-list"> <ul> <li><a class="footer-menu__url" href="https://www.dreamstime.com/corporate" title="Corporate accounts">Corporate accounts</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/world-stock-photos" title="Pictures from around the world">Photo map</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/free-photos" title="Free pictures">Free photos</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/free-public-domain-images" title="Public Domain Images">Public Domain Images</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/collections" title="Collections">Collections</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/photographers" title="Our photographers">Our photographers</a></li> <li><a class="footer-menu__url" href="https://www.dreamstime.com/photo-tools" title="Photo Tools">Photo Tools</a></li> </ul> </div> </div> </div> </div> </div> </div> <div class="col-xl-3 col-sm-12"> <div class="footer-tools"> <a class="footer-tools__item" href="https://www.dreamstime.com/affiliate-referral-program" title="Referral program"> <svg class="footer-tools__icn" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20.002 19.246"><path fill="#3A7307" d="m.002 19.246 2.06-4.78a9.622 9.622 0 1 1 3.478 3.477L.002 19.246Zm7.9-13.3a2.936 2.936 0 0 0-2.813 2.221c-.533 2.16 1.321 4.593 4.961 6.507a.5.5 0 0 0 .059.026l.27.127.269-.126a.411.411 0 0 0 .06-.027c4.443-2.336 5.071-4.657 5.049-5.833V8.8a2.859 2.859 0 0 0-3.163-2.84 2.678 2.678 0 0 0-.671.156l-.02.007h-.009a2.857 2.857 0 0 0-1.246.916l-.011.013-.011.013a3.193 3.193 0 0 0-.22.337 6.438 6.438 0 0 0-.161-.22.339.339 0 0 1-.084-.078 2.885 2.885 0 0 0-2.259-1.16Z"/></svg> <span>Referral program</span> </a> <a class="footer-tools__item" href="https://www.dreamstime.com/upload" title="Upload & sell photos"> <svg class="footer-tools__icn" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="#3A7307" d="M10 20a10 10 0 1 1 10-10 10.011 10.011 0 0 1-10 10Zm-4.466-6v2h9v-2Zm4.5-10-3.5 3.556h1.748V12h3.5V7.556h1.75L10.031 4Z"/></svg> <i class="icn icn--upload-f"></i> <span>Upload & sell photos</span> </a> </div> </div> </div> </div> </div> <div class="footer-bottom"> <div class="container"> <div class="row"> <div class="col-lg-3 col-sm-6"> <div class="footer-social"> <div class="social-links social-links--sg social-links--mdm" data-dt-id="social-row-analytics" data-dt-root="" data-dt-on-click="" data-dt-js="57"> <a class="social-links__item social-links__item--facebook js-social-link" target="_blank" data-name="Facebook" href="https://www.facebook.com/dreamstime" rel="noopener noreferrer"> <span class="social-links__wrapper"><svg class="social-links__icn" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8 13" width="100%" height="100%"><path fill-rule="nonzero" d="M5.043 7.07h2.064l.31-2.31H5.042V3.283c0-.67.193-1.125 1.188-1.125H7.5V.09C7.28.063 6.527 0 5.651 0 3.821 0 2.57 1.077 2.57 3.055v1.704H.5v2.31h2.069V13h2.474V7.07Z"/></svg></span> <span class="screen-reader-text">Dreamstime Facebook</span> </a> <a class="social-links__item social-links__item--twitter js-social-link" target="_blank" data-name="X" href="https://x.com/dreamstime" rel="noopener noreferrer"> <span class="social-links__wrapper"><svg class="social-links__icn" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14" width="100%" height="100%"><path fill-rule="nonzero" d="M8.054 5.928 13.092 0h-1.194L7.524 5.147 4.03 0H0l5.284 7.784L0 14h1.194l4.62-5.436L9.504 14h4.03l-5.48-8.072ZM6.42 7.852l-.535-.775L1.624.91h1.834l3.437 4.977.536.775 4.468 6.47h-1.834L6.42 7.852Z"/></svg></span> <span class="screen-reader-text">Dreamstime Twitter</span> </a> <a class="social-links__item social-links__item--pinterest js-social-link" target="_blank" data-name="Pinterest" href="https://www.pinterest.com/dreamstime/" rel="noopener noreferrer"> <span class="social-links__wrapper"><svg class="social-links__icn" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14" width="100%" height="100%"><path fill-rule="evenodd" d="M6.997 0A6.994 6.994 0 0 0 0 6.997a7 7 0 0 0 4.446 6.52c-.063-.554-.115-1.406.023-2.01.127-.548.818-3.479.818-3.479s-.208-.42-.208-1.037c0-.973.565-1.699 1.267-1.699.6 0 .887.45.887.985 0 .6-.38 1.498-.581 2.333-.167.696.35 1.267 1.036 1.267 1.244 0 2.2-1.313 2.2-3.202 0-1.676-1.204-2.845-2.925-2.845C4.97 3.83 3.8 5.32 3.8 6.865c0 .599.23 1.244.518 1.595.058.069.064.132.046.201-.052.22-.173.697-.196.795-.028.127-.103.156-.236.092-.863-.414-1.405-1.693-1.405-2.718 0-2.206 1.601-4.233 4.625-4.233 2.424 0 4.313 1.728 4.313 4.043 0 2.413-1.52 4.354-3.628 4.354-.708 0-1.376-.369-1.601-.806l-.438 1.664c-.155.61-.581 1.37-.87 1.837A7.028 7.028 0 0 0 7.004 14 6.997 6.997 0 0 0 14 7.003C13.994 3.133 10.861 0 6.997 0"/></svg></span> <span class="screen-reader-text">Dreamstime Pinterest</span> </a> <a class="social-links__item social-links__item--instagram js-social-link" target="_blank" data-name="Instagram" href="https://www.instagram.com/dreamstime" rel="noopener noreferrer"> <span class="social-links__wrapper"><svg class="social-links__icn" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14" width="100%" height="100%"><path fill-rule="evenodd" d="M7.883.005c1.119.003 1.39.014 2 .042.745.033 1.254.152 1.699.325.46.179.85.418 1.24.807.388.389.627.78.806 1.24.173.444.292.953.325 1.698.03.645.04.91.042 2.195v1.38c-.001.88-.007 1.281-.02 1.654l-.005.172-.017.37c-.033.744-.152 1.253-.325 1.698a3.43 3.43 0 0 1-.807 1.24 3.43 3.43 0 0 1-1.24.807c-.444.173-.953.29-1.698.325l-.37.016-.171.006c-.373.013-.775.018-1.654.02h-1.38c-1.285-.003-1.55-.013-2.195-.042-.745-.034-1.254-.152-1.699-.325a3.43 3.43 0 0 1-1.24-.808 3.43 3.43 0 0 1-.807-1.239c-.173-.445-.29-.954-.325-1.699-.028-.61-.038-.88-.041-2v-1.77c.003-1.119.013-1.39.041-2 .034-.745.152-1.254.325-1.699.18-.46.418-.85.808-1.24A3.43 3.43 0 0 1 2.414.373C2.859.199 3.368.08 4.113.047c.61-.028.88-.039 2-.042Zm-.64 1.26h-.716l-.398.001c-.732.002-1.09.007-1.427.018l-.168.006-.364.016c-.682.031-1.053.145-1.3.241-.326.127-.56.279-.804.523a2.168 2.168 0 0 0-.523.805c-.096.247-.21.617-.241 1.3-.006.134-.012.25-.016.364l-.006.168c-.012.336-.017.695-.018 1.426v.399l-.001.47v.869c.002.732.007 1.09.019 1.427l.006.168.016.364c.03.682.145 1.053.24 1.3.128.326.28.56.524.804.245.245.478.396.805.523.246.096.617.21 1.3.241l.363.016.168.006c.365.013.755.017 1.618.019h1.356a50.112 50.112 0 0 0 1.617-.019l.168-.006.364-.016c.683-.03 1.053-.145 1.3-.24.327-.128.56-.28.805-.524.244-.245.396-.478.523-.805.096-.246.21-.617.24-1.3l.017-.363.006-.168c.012-.365.017-.755.018-1.618V6.324a50.118 50.118 0 0 0-.018-1.617l-.006-.168-.016-.364c-.031-.683-.145-1.053-.241-1.3a2.168 2.168 0 0 0-.523-.805 2.168 2.168 0 0 0-.805-.523c-.247-.096-.617-.21-1.3-.24a61.756 61.756 0 0 0-.364-.017l-.168-.006a44.89 44.89 0 0 0-1.426-.018h-.869Zm-.26 2.152a3.593 3.593 0 1 1 0 7.187 3.593 3.593 0 0 1 0-7.187Zm0 1.26a2.333 2.333 0 1 0 0 4.666 2.333 2.333 0 0 0 0-4.665Zm3.746-2.233a.84.84 0 1 1 0 1.68.84.84 0 0 1 0-1.68Z"/></svg></span> <span class="screen-reader-text">Dreamstime Instagram</span> </a> <a class="social-links__item social-links__item--linkedin js-social-link" target="_blank" data-name="LinkedIn" href="https://www.linkedin.com/company/dreamstime" rel="noopener noreferrer"> <span class="social-links__wrapper"><svg class="social-links__icn" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14" width="100%" height="100%"><path fill-rule="evenodd" d="M11.93 11.93H9.855V8.68c0-.774-.015-1.77-1.08-1.77-1.08 0-1.245.843-1.245 1.715v3.305H5.455V5.249h1.992v.912h.027c.277-.525.955-1.079 1.965-1.079 2.103 0 2.49 1.384 2.49 3.183v3.665ZM3.114 4.335a1.204 1.204 0 1 1 0-2.408 1.204 1.204 0 0 1 0 2.408ZM2.076 11.93h2.076V5.249H2.076v6.68ZM12.964 0H1.034C.463 0 0 .452 0 1.01v11.98C0 13.547.463 14 1.033 14h11.93c.572 0 1.037-.453 1.037-1.01V1.01C14 .451 13.535 0 12.964 0Z"/></svg></span> <span class="screen-reader-text">Dreamstime Linkedin</span> </a> <a class="social-links__item social-links__item--youtube js-social-link" target="_blank" data-name="Youtube" href="https://www.youtube.com/@dreamstime?sub_confirmation=1" rel="noopener noreferrer"> <span class="social-links__wrapper"><svg class="social-links__icn" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 17 11" width="100%" height="100%"><path fill-rule="evenodd" d="M8.29.001c.501.003 1.603.013 2.745.052l.49.018c1.142.047 2.243.126 2.743.257.69.181 1.232.714 1.416 1.39.298 1.089.33 3.23.334 3.693v.178c-.003.463-.036 2.604-.334 3.693a1.987 1.987 0 0 1-1.416 1.39c-1.107.29-5.163.324-6.075.328h-.367c-.912-.004-4.969-.038-6.075-.328a1.987 1.987 0 0 1-1.416-1.39C.05 8.238.007 6.228 0 5.656v-.312c.006-.572.049-2.582.334-3.626A1.987 1.987 0 0 1 1.75.328c.5-.131 1.6-.21 2.743-.257l.49-.018C6.125.013 7.227.003 7.728 0ZM6.461 3.234v4.714l4.162-2.357L6.46 3.234Z"/></svg></span> <span class="screen-reader-text">Dreamstime Youtube</span> </a> </div> </div> </div> <div class="col-lg-3 order-lg-3 col-sm-6"> <div class="footer-language"> <div class="language-select"> <label class="language-select__label" for="footer-lang-select"> Language </label> <button class="language-select__btn js-lang-select-trigger" id="footer-lang-select" type="button" aria-haspopup="menu" aria-expanded="false" aria-label="Toggle language select modal" data-loading-theme="light" data-dt-id="footer-lang-select" data-dt-root="" data-dt-on-click="" data-dt-js="70"> <span class="language-select__flag" aria-hidden="true"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 21 14"><g fill="none" fill-rule="evenodd"><path fill="#B22234" d="M0 14h21V0H0z"/><path fill="#FFF" d="M0 6.462h21V5.385H0zm0-2.154h21V3.231H0zm0-2.154h21V1.077H0zm0 6.461h21V7.538H0zm0 4.308h21v-1.077H0zm0-2.154h21V9.692H0z"/><path fill="#3C3B6E" d="M0 7.538h10.64V0H0z"/><path fill="#FFF" d="M.887.323.79.621H.477L.73.805l-.097.297.254-.184.253.184-.097-.297.253-.184H.983zm0 1.508-.097.297H.477l.253.184-.097.298.254-.184.253.184-.097-.298.253-.184H.983zm0 1.507-.097.298H.477l.253.184-.097.298.254-.184.253.184-.097-.298.253-.184H.983zm0 1.508-.097.298H.477l.253.184-.097.297.254-.184.253.184-.097-.297.253-.184H.983zm.096 1.805-.096-.297-.097.297H.477l.253.184-.097.298.254-.184.253.184-.097-.298.253-.184zm.79-5.574-.096.298h-.313l.253.184-.097.297.253-.184.254.184-.097-.297.253-.184H1.87zm0 1.508-.096.297h-.313l.253.184-.097.298.253-.184.254.184-.097-.298.253-.184H1.87zm0 1.507-.096.298h-.313l.253.184-.097.298.253-.184.254.184-.097-.298.253-.184H1.87zm.097 1.806L1.773 5.6l-.096.298h-.313l.253.184-.097.297.253-.184.254.184-.097-.297.253-.184zM2.66.323l-.097.298H2.25l.254.184-.097.297.253-.184.253.184-.097-.297.254-.184h-.313zm0 1.508-.097.297H2.25l.254.184-.097.298.253-.184.253.184-.097-.298.254-.184h-.313zm0 1.507-.097.298H2.25l.254.184-.097.298.253-.184.253.184-.097-.298.254-.184h-.313zm0 1.508-.097.298H2.25l.254.184-.097.297.253-.184.253.184-.097-.297.254-.184h-.313zm.097 1.805-.097-.297-.097.297H2.25l.254.184-.097.298.253-.184.253.184-.097-.298.254-.184zm.79-5.574-.097.298h-.313l.253.184-.097.297.254-.184.253.184-.097-.297.253-.184h-.313zm0 1.508-.097.297h-.313l.253.184-.097.298.254-.184.253.184-.097-.298.253-.184h-.313zm0 1.507-.097.298h-.313l.253.184-.097.298.254-.184.253.184-.097-.298.253-.184h-.313zm.096 1.806L3.547 5.6l-.097.298h-.313l.253.184-.097.297.254-.184.253.184-.097-.297.253-.184zm.79-5.575-.096.298h-.313l.253.184-.097.297.253-.184.254.184L4.59.805l.253-.184H4.53zm0 1.508-.096.297h-.313l.253.184-.097.298.253-.184.254.184-.097-.298.253-.184H4.53zm0 1.507-.096.298h-.313l.253.184-.097.298.253-.184.254.184-.097-.298.253-.184H4.53zm0 1.508-.096.298h-.313l.253.184-.097.297.253-.184.254.184-.097-.297.253-.184H4.53zm.097 1.805-.097-.297-.096.297h-.313l.253.184-.097.298.253-.184.254.184-.097-.298.253-.184zm.79-5.574-.097.298H4.91l.254.184-.097.297.253-.184.253.184-.097-.297.254-.184h-.313zm0 1.508-.097.297H4.91l.254.184-.097.298.253-.184.253.184-.097-.298.254-.184h-.313zm0 1.507-.097.298H4.91l.254.184-.097.298.253-.184.253.184-.097-.298.254-.184h-.313zm.097 1.806L5.32 5.6l-.097.298H4.91l.254.184-.097.297.253-.184.253.184-.097-.297.254-.184zm.79-5.575L6.11.621h-.313l.253.184-.097.297.254-.184.253.184-.097-.297.253-.184h-.313zm0 1.508-.097.297h-.313l.253.184-.097.298.254-.184.253.184-.097-.298.253-.184h-.313zm0 1.507-.097.298h-.313l.253.184-.097.298.254-.184.253.184-.097-.298.253-.184h-.313zm0 1.508-.097.298h-.313l.253.184-.097.297.254-.184.253.184-.097-.297.253-.184h-.313zm.096 1.805-.096-.297-.097.297h-.313l.253.184-.097.298.254-.184.253.184-.097-.298.253-.184zm.79-5.574-.096.298h-.313l.253.184-.097.297.253-.184.254.184-.097-.297.253-.184H7.19zm0 1.508-.096.297h-.313l.253.184-.097.298.253-.184.254.184-.097-.298.253-.184H7.19zm0 1.507-.096.298h-.313l.253.184-.097.298.253-.184.254.184-.097-.298.253-.184H7.19zm.097 1.806L7.093 5.6l-.096.298h-.313l.253.184-.097.297.253-.184.254.184-.097-.297.253-.184zM7.98.323l-.097.298H7.57l.254.184-.097.297.253-.184.253.184-.097-.297.254-.184h-.313zm0 1.508-.097.297H7.57l.254.184-.097.298.253-.184.253.184-.097-.298.254-.184h-.313zm0 1.507-.097.298H7.57l.254.184-.097.298.253-.184.253.184-.097-.298.254-.184h-.313zm0 1.508-.097.298H7.57l.254.184-.097.297.253-.184.253.184-.097-.297.254-.184h-.313zm.097 1.805-.097-.297-.097.297H7.57l.254.184-.097.298.253-.184.253.184-.097-.298.254-.184zm.79-5.574-.097.298h-.313l.253.184-.097.297.254-.184.253.184-.097-.297.253-.184h-.313zm0 1.508-.097.297h-.313l.253.184-.097.298.254-.184.253.184-.097-.298.253-.184h-.313zm0 1.507-.097.298h-.313l.253.184-.097.298.254-.184.253.184-.097-.298.253-.184h-.313zm.096 1.806L8.867 5.6l-.097.298h-.313l.253.184-.097.297.254-.184.253.184-.097-.297.253-.184zM9.597.805l-.097.297.253-.184.254.184L9.91.805l.253-.184H9.85L9.753.323l-.096.298h-.313zm.156 1.026-.096.297h-.313l.253.184-.097.298.253-.184.254.184-.097-.298.253-.184H9.85zm0 1.507-.096.298h-.313l.253.184-.097.298.253-.184.254.184-.097-.298.253-.184H9.85zm0 1.508-.096.298h-.313l.253.184-.097.297.253-.184.254.184-.097-.297.253-.184H9.85zm.097 1.805-.097-.297-.096.297h-.313l.253.184-.097.298.253-.184.254.184-.097-.298.253-.184z"/></g></svg> </span> <span class="language-select__lang">English</span> <span class="language-select__icon js-lang-select-icon" aria-hidden="true"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 6 10"><path fill-rule="nonzero" d="M-.003 8.694 1.24 10l3.515-3.694L5.997 5 4.755 3.694 1.24 0-.003 1.306 3.511 5-.003 8.694Z"/></svg> </span> </button> </div> </div> </div> <div class="col-lg-6 order-lg-2 col-sm-12"> <div class="footer-copy"> Copyright © 2000-2026 Dreamstime. All rights reserved. </div> </div> </div> </div> </div> </footer> <template data-state="hidden" data-dt-id="form-switch" data-dt-root="" data-dt-on-ready="" data-dt-js="71"></template> <template data-dt-id="item-similars-link" data-dt-root="" data-dt-css="58,72" data-dt-js="60" data-dt-js-order="61,62,63,73" ></template> <template class="js-item-lightbox-add-btn-config" data-aria-label-add="Add to lightbox" data-aria-label-remove="Remove from lightbox" data-dt-id="item-lightbox-btn" data-dt-root="" data-dt-css="58,72,45,46" data-dt-js="60,54,29,30,55" data-dt-js-order="61,62,63,74,75" ></template> <script type="application/ld+json"> [{ "@context":"https://schema.org", "@type":"WebSite", "url":"https://www.dreamstime.com/", "potentialAction":{ "@type":"SearchAction", "target":"https://www.dreamstime.com/search.php?srh_field={search_term}&s_all=y&s_ph=y&s_il=y&s_video=y&s_audio=y", "query-input":"required name=search_term" } }, { "@context":"https://schema.org", "@type":"Organization", "name":"Dreamstime", "url":"https://www.dreamstime.com/", "logo":"https://www.dreamstime.com/img/logo-dreamstime-400x102.png", "sameAs":[ "https://www.facebook.com/dreamstime", "https://x.com/dreamstime", "https://www.pinterest.com/dreamstime/", "https://www.instagram.com/dreamstime/", "https://www.linkedin.com/company/dreamstime", "https://www.youtube.com/@dreamstime?sub_confirmation=1" ] } ] </script><script type="application/ld+json"> { "@context": "https://schema.org", "@type": "ItemList", "itemListElement": [ { "@context":"https://schema.org", "@type":"ListItem", "position": 1, "name":"Code Development and Debugging Tool Icons. Vol 18137", "url": "https://www.dreamstime.com/code-development-debugging-tool-icons-vol-image447568624" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 2, "name":"Web Browser Coding Window Interface Icons. Vol 18449", "url": "https://www.dreamstime.com/web-browser-coding-window-interface-icons-vol-image447570549" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 3, "name":"Digital data technology concept. Blue futuristic cyberspace. Vector illustration. ", "url": "https://www.dreamstime.com/digital-data-technology-concept-blue-futuristic-cyberspace-vector-illustration-image366986743" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 4, "name":"Code Settings Icon Set in Colorful Gradient and Linear Design. Vol 42974", "url": "https://www.dreamstime.com/code-settings-icon-set-colorful-gradient-linear-design-vol-image447092155" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 5, "name":"Hybrid Software Development and Security Icons. A collection of conceptual hybrid icons blending software development symbols with hardware, cloud, and security", "url": "https://www.dreamstime.com/hybrid-software-development-security-icons-collection-conceptual-blending-symbols-hardware-cloud-metaphors-both-image449047890" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 6, "name":"Warm Orange Pink Binary Code Data Stream Background. Warm-toned motion graphic featuring binary code (ones and zeros) flowing dynamically across a background", "url": "https://www.dreamstime.com/warm-orange-pink-binary-code-data-stream-background-image414752561" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 7, "name":"Black Solid Software Testing Quality Assurance Code Debugging Development Icon Set. Collection of software testing and quality assurance black glyph icons", "url": "https://www.dreamstime.com/collection-software-testing-quality-assurance-black-glyph-icons-including-bug-test-tube-checkmark-checklist-magnifying-image479057954" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 8, "name":"Digital Content Creation and Development with Coding, Multimedia, and Innovative Web Design Concepts. Web development, innovation, teamwork, digital media", "url": "https://www.dreamstime.com/digital-content-creation-development-coding-multimedia-innovative-web-design-concepts-innovation-teamwork-media-online-image474908524" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 9, "name":"Software Development Time Management Vector Banners with Programmer and Cloud Computing Icons. Programmer working with code and cloud computing icons vector", "url": "https://www.dreamstime.com/software-development-time-management-vector-banners-programmer-cloud-computing-icons-working-code-productivity-storage-image481434860" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 10, "name":"Motherboard font, circuit board typeface, type. Motherboard font, circuit board typeface, psb technology type, computer electronic alphabet. Futuristic abc", "url": "https://www.dreamstime.com/motherboard-font-circuit-board-typeface-type-psb-technology-computer-electronic-alphabet-futuristic-abc-letters-numbers-image387800606" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 11, "name":"A minimalist digital icon representing a file upload process on a screen. This clean vector illustration features a rectangular interface containing horizontal", "url": "https://www.dreamstime.com/minimalist-digital-icon-representing-file-upload-process-screen-clean-vector-illustration-features-rectangular-interface-image457787093" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 12, "name":"Macro detail of a computer microchip surface. Macro detail of a computer microchip surface, highlighting complexity, miniature design, and the core of", "url": "https://www.dreamstime.com/art-illustration-image421472838" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 13, "name":"Cybersecurity and Data Protection Icons Set for Web Design and Digital Security Landing Page Banner. Set of cybersecurity icons a padlock, keys, and code", "url": "https://www.dreamstime.com/set-cybersecurity-icons-padlock-keys-code-brackets-digital-security-landing-page-banner-data-privacy-encryption-image470604759" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 14, "name":"Game Development Coding Interface Icon Set. Vol 14940", "url": "https://www.dreamstime.com/game-development-coding-interface-icon-set-vol-image447495223" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 15, "name":"Software Developer Coding on Computer Screen. Close-up of a person coding on a computer with a dark background and lines of code on the screen", "url": "https://www.dreamstime.com/software-developer-coding-computer-screen-close-up-person-dark-background-lines-code-image426597161" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 16, "name":"Neon Cyan Green Binary Code Gradient Background Loop. High-contrast motion graphic with binary code flowing over a striking gradient background", "url": "https://www.dreamstime.com/neon-cyan-green-binary-code-gradient-background-loop-image414752583" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 17, "name":"Dark Blue Deep Binary Code Digital Stream Background. Deep blue-toned motion graphic with white and gray binary code numbers flowing dynamically across a solid", "url": "https://www.dreamstime.com/dark-blue-deep-binary-code-digital-stream-background-image414752649" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 18, "name":"Code Development Icon Set with Gear Symbol. Vol 32397", "url": "https://www.dreamstime.com/code-development-icon-set-gear-symbol-vol-image447768280" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 19, "name":"Falling digital binary code tech background with algorithm number. Vector", "url": "https://www.dreamstime.com/falling-digital-binary-code-tech-background-algorithm-number-vector-image443221543" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 20, "name":"Programmer Analyzing Code on Multiple Screens in Modern Office Vector Illustration. Vector illustration of a developer reviewing programming code on several", "url": "https://www.dreamstime.com/vector-illustration-developer-reviewing-programming-code-several-computer-monitors-workspace-programmer-analyzing-image468931796" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 21, "name":"Modern Laptop Displaying Code on a Wooden Desk with Desk Lamp and Monitor. A modern laptop screen displays lines of code on a wooden desk. A desk lamp and", "url": "https://www.dreamstime.com/modern-laptop-screen-displays-lines-code-wooden-desk-desk-lamp-computer-monitor-also-visible-creating-image456739183" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 22, "name":"Programmer coding in C plus plus language on a modern laptop. A person is typing on a laptop displaying code and a glowing C plus plus icon with additional", "url": "https://www.dreamstime.com/programmer-coding-c-plus-language-modern-laptop-person-typing-displaying-code-glowing-icon-additional-virtual-image455511042" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 23, "name":"Programmer icon black vector isolated on white", "url": "https://www.dreamstime.com/programmer-icon-black-vector-isolated-white-image462810071" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 24, "name":"Hackers Workstation with Cascading Green Code. In the quiet of a dimly lit room, a powerful multi-monitor workstation comes to life, its screens filled with", "url": "https://www.dreamstime.com/hackers-workstation-cascading-green-code-quiet-dimly-lit-room-powerful-multi-monitor-comes-to-life-its-screens-image415332470" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 25, "name":"Green Matrix Code Falling on Abstract Technology Background. Abstract background of glowing green digital code falling down a black screen, representing", "url": "https://www.dreamstime.com/green-matrix-code-falling-abstract-technology-background-glowing-digital-down-black-screen-representing-cyberspace-data-image435728641" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 26, "name":"Green Matrix Code Falling on Abstract Technology Background. Abstract background of glowing green digital code falling down a black screen, representing", "url": "https://www.dreamstime.com/green-matrix-code-falling-abstract-technology-background-glowing-digital-down-black-screen-representing-cyberspace-data-image436587138" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 27, "name":"Set of black and white linear software development application icons on white background. A collection of line art style icons representing various software", "url": "https://www.dreamstime.com/set-black-white-linear-software-development-application-icons-white-background-collection-line-art-style-icons-image476866639" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 28, "name":"Programmer Typing on Dual Keyboards with Code. Hands typing on two keyboards with coding screens", "url": "https://www.dreamstime.com/programmer-typing-dual-keyboards-code-hands-two-coding-screens-image426597123" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 29, "name":"Coding Interface Software Development Icons. Vol 8179", "url": "https://www.dreamstime.com/coding-interface-software-development-icons-vol-image447689982" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 30, "name":"Cracked digital sphere displaying glowing code. This high-contrast image shows a dark, textured sphere resting on a reflective surface in darkness. The metallic", "url": "https://www.dreamstime.com/cracked-digital-sphere-displaying-glowing-code-high-contrast-image-shows-dark-textured-resting-reflective-surface-image416615191" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 31, "name":"Digital Marketing and Web Development Landing Page Banner with HTML Code and Megaphone Illustration. Digital marketing landing page banner a megaphone and HTML", "url": "https://www.dreamstime.com/digital-marketing-web-development-landing-page-banner-html-code-megaphone-illustration-elements-advertising-online-image479686947" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 32, "name":"Light Blue White Binary Code Abstract Data Background. Minimalist motion graphic of subtle gray and white binary code flowing over a smooth, very light blue to", "url": "https://www.dreamstime.com/light-blue-white-binary-code-abstract-data-background-image414752608" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 33, "name":"Blue pixel code brackets symbol digital coding concept and background. Developer cover background design. ", "url": "https://www.dreamstime.com/blue-pixel-code-brackets-symbol-digital-coding-concept-background-developer-cover-design-image448981999" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 34, "name":"Computer browser window with code symbol surrounded by virus bacteria. Digital security concept illustrating malicious code infecting software interface. Flat", "url": "https://www.dreamstime.com/computer-browser-window-code-symbol-surrounded-virus-bacteria-digital-security-concept-illustrating-malicious-infecting-image455447783" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 35, "name":"Depicts automation technology that integrates intelligent agents, code, and various tools. Background image depicts automation technology that integrates", "url": "https://www.dreamstime.com/depicts-automation-technology-integrates-intelligent-agents-code-various-tools-background-image-image478883035" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 36, "name":"Computer screen displaying code in an office with a city skyline view. A modern computer monitor displays lines of green code on its screen, placed on a desk in", "url": "https://www.dreamstime.com/computer-screen-displaying-code-office-city-skyline-view-modern-monitor-displays-lines-green-its-placed-desk-image457426033" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 37, "name":"Programmer writing code on laptop in dark room. Software developer typing on laptop keyboard, working with source code at night", "url": "https://www.dreamstime.com/programmer-writing-code-laptop-dark-room-software-developer-typing-keyboard-working-source-night-image388335062" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 38, "name":"PHP and MySQL Web Development Concept with Programmer and Elephant Mascot Vector Illustration. Programmer working on a laptop with PHP elephant and MySQL dolphin", "url": "https://www.dreamstime.com/php-mysql-web-development-concept-programmer-elephant-mascot-vector-illustration-working-laptop-dolphin-mascots-image468969091" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 39, "name":"Coding Workspace with Multiple Screens at Night. A dark, high-tech workspace featuring multiple computer screens displaying intricate code and network diagrams", "url": "https://www.dreamstime.com/coding-workspace-multiple-screens-night-dark-high-tech-workspace-featuring-multiple-computer-screens-displaying-image423743917" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 40, "name":"Software Bug Detection Search Security Code Analysis Software Debugging Logo. Software Debugging logo creates an investigative identity for firms specializing in", "url": "https://www.dreamstime.com/web-image466807112" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 41, "name":"Binary Code Speech Bubble and Analog Clock Vector Illustration for Technology Landing Page Banner. Binary code in a speech bubble next to an analog clock for a", "url": "https://www.dreamstime.com/binary-code-speech-bubble-next-to-analog-clock-technology-landing-page-banner-digital-transformation-time-management-image472458589" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 42, "name":"Deep Indigo Blue Binary Code Encrypted Data Background. Dramatic and dark motion graphic featuring bright blue binary code flowing over a deep indigo and dark", "url": "https://www.dreamstime.com/deep-indigo-blue-binary-code-encrypted-data-background-image414752508" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 43, "name":"Software Development and Automotive Technology Vector Illustration Set for Web Landing Page Design. A collection of vector illustrations computer monitors", "url": "https://www.dreamstime.com/software-development-automotive-technology-vector-illustration-set-web-landing-page-design-collection-vector-image467426174" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 44, "name":"Data Analytics and Software Development Concept with Vehicle Checklist and Alternative Energy Design. Vehicle selection, coding education, energy solutions", "url": "https://www.dreamstime.com/vehicle-selection-coding-education-energy-solutions-software-management-data-analysis-user-decisions-man-holding-plug-near-ideas-image480395587" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 45, "name":"Laptop displaying code on a wooden desk with a potted plant and sunlight. A modern laptop open and displaying lines of code on its screen, placed on a warm", "url": "https://www.dreamstime.com/laptop-displaying-code-wooden-desk-potted-plant-sunlight-modern-open-lines-its-screen-placed-warm-small-green-image457425227" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 46, "name":"Abstract Glitchy Blue Digital Code Background. A dark background with distorted blue digital code, creating a glitchy, abstract effect", "url": "https://www.dreamstime.com/abstract-glitchy-blue-digital-code-background-dark-distorted-creating-effect-image439517347" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 47, "name":"Text generation icon. Vector pictogram with thin black lines on transparent background. Editable stroke width. Concept of AI content creation, text automation", "url": "https://www.dreamstime.com/text-generation-icon-vector-pictogram-thin-black-lines-transparent-background-editable-stroke-width-concept-ai-content-image384416970" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 48, "name":"Programmer Working on Computer with CEX Exchange and MySQL Database Vector Illustration. Person working at a computer with a CEX exchange and MySQL dolphin logo", "url": "https://www.dreamstime.com/programmer-working-computer-cex-exchange-mysql-database-vector-illustration-person-dolphin-logo-software-image475726765" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 49, "name":"Hand Touching Glowing Code on Digital Screen. A hand is seen interacting with a digital screen displaying glowing code. The screen features lines of code in blue", "url": "https://www.dreamstime.com/hand-touching-glowing-code-digital-screen-image450068088" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 50, "name":"Technology Icons Line Vector Illustration Set. A collection of line vector icons representing various technology concepts", "url": "https://www.dreamstime.com/collection-line-vector-icons-representing-various-technology-concepts-technology-icons-line-vector-illustration-set-image459686802" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 51, "name":"Female Programmer Working on Laptop. Illustration of a woman working on a laptop, likely a programmer or developer. She is sitting at a desk with a cup of coffee", "url": "https://www.dreamstime.com/illustration-woman-sitting-desk-coding-laptop-coffee-cup-nearby-showcasing-modern-work-environment-image413304335" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 52, "name":"Quantum Code Atom Logo Design For Physics Research And Tech Development Quantum Code Logo. Quantum Code logo provides a compelling visual identity for scientific", "url": "https://www.dreamstime.com/web-image467789602" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 53, "name":"Code Analysis and Debugging Document Icon Set. Vol 28243", "url": "https://www.dreamstime.com/code-analysis-debugging-document-icon-set-vol-image447285209" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 54, "name":"A dedicated programmer codes late into the night. A close-up view shows a focused developer intently typing code on a laptop keyboard during dark hours. This", "url": "https://www.dreamstime.com/close-up-view-shows-focused-developer-intently-typing-code-laptop-keyboard-dark-hours-scene-perfectly-captures-image415938722" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 55, "name":"Computer Monitor with HTML Code and Mountain Image. A computer monitor displays HTML code on the left side, featuring tags nested within a black interface. The", "url": "https://www.dreamstime.com/computer-monitor-displays-html-code-left-side-featuring-tags-nested-black-interface-includes-typical-elements-like-image461385037" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 56, "name":"Developer Inspecting Code with Magnifying Glass. Close-up of a person examining code on a computer screen with a magnifying glass", "url": "https://www.dreamstime.com/developer-inspecting-code-magnifying-glass-close-up-person-examining-computer-screen-image426597078" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 57, "name":"Coding Gear Development Icon Set. Vol 8654", "url": "https://www.dreamstime.com/coding-gear-development-icon-set-vol-image447691070" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 58, "name":"Web Development. Simple and clear vector icon illustrating an essential idea or function", "url": "https://www.dreamstime.com/web-development-web-development-simple-clear-vector-icon-illustrating-essential-idea-function-image423029472" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 59, "name":"Programmer icon graphic design. web icons vectors", "url": "https://www.dreamstime.com/programmer-icon-graphic-design-web-icons-vectors-image461695650" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 60, "name":"Digital background. Data encryption. Cryptography concept. Machine learning. Blockchain technology. Artificial intelligence. Algorithm at work. Number", "url": "https://www.dreamstime.com/digital-background-data-encryption-cryptography-concept-machine-learning-blockchain-technology-artificial-intelligence-algorithm-image469770479" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 61, "name":"Web Development and Project Management Landing Page Vector Illustration Set for Software Planning. Vector illustration set a calendar, chat bubbles, and code", "url": "https://www.dreamstime.com/web-development-project-management-landing-page-vector-illustration-set-software-planning-calendar-chat-bubbles-code-image479687246" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 62, "name":"Technology - AI Powered Code Debugging Interface with Red Bug Icon on Dark Code Editor Screen. AI-labeled dark code editor interface displaying colorful syntax", "url": "https://www.dreamstime.com/technology-ai-powered-code-debugging-interface-red-bug-icon-dark-editor-screen-labeled-displaying-colorful-syntax-image459349330" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 63, "name":"Modern computer setup with code on screen and natural light from window. A modern computer monitor displays lines of code on its screen, illuminated by natural", "url": "https://www.dreamstime.com/modern-computer-setup-code-screen-natural-light-window-monitor-displays-lines-its-illuminated-streaming-image457425055" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 64, "name":"Black and white code icon showing a terminal window with command prompt and lines of text. A black code icon depicts a terminal window with a command prompt and", "url": "https://www.dreamstime.com/black-white-code-icon-showing-terminal-window-command-prompt-lines-text-depicts-graphic-displayed-plain-image482330818" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 65, "name":"Young Male Programmer Coding, Working on Laptop with Digital Circuit and Gear Elements. Man in glasses using laptop, surrounded by digital symbols, gears, and", "url": "https://www.dreamstime.com/young-male-programmer-coding-working-laptop-digital-circuit-gear-elements-man-glasses-using-laptop-surrounded-image460680165" } ] } </script><script id="json-html-share-modal-tpl" type="application/json">{"html":"<template class=\"js-modal-share-tpl\">\n <div\n class=\"modal js-modal js-modal-share modal--share\" aria-hidden=\"true\" data-state=\"closed\" data-name=\"share\" data-template=\"share\">\n <div class=\"modal__overlay js-modal-overlay\" tabindex=\"-1\">\n <div\n class=\"modal__container js-modal-container\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"modal-share-title\"\n >\n\n <header class=\"modal__header js-modal-header\">\n <h2\n class=\"modal__title js-modal-title\"\n id=\"modal-share-title\"\n >Share this page<\/h2>\n \n <button\n class=\"close-btn close-btn--big close-btn--l-grey js-close-btn modal__close js-modal-close-icon js-modal-close-trigger\" type=\"button\" aria-label=\"Close\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 10 10\"><path d=\"M3.511 5 0 8.511 1.489 10 5 6.489 8.511 10 10 8.511 6.489 5 10 1.489 8.511 0 5 3.511 1.489 0 0 1.489z\"\/><\/svg><\/button>\n <\/header>\n \n <div class=\"modal__content js-modal-content\">\n <div class=\"share-list\">\n <div\n class=\"share-list social-links social-links--ss social-links--huge\" data-dt-id=\"social-row-analytics\" data-dt-root=\"\" data-dt-on-click=\"\" data-dt-js=\"57\">\n <a class=\"social-links__item social-links__item--facebook js-social-link\" data-name=\"Facebook\" href=\"https:\/\/www.facebook.com\/sharer\/sharer.php?u=https%3A%2F%2Fwww.dreamstime.com%2Fillustration%2Fprogramming-script.html%3Fpg%3D99&description=Download+Programming+Script+stock+photos+from+Dreamstime+Take+a+look+at+these+amazing+free+or+royalty-free+photos+on+Dreamstime.\" rel=\"noopener noreferrer\" target=\"_blank\">\n <span class=\"social-links__wrapper\"><svg class=\"social-links__icn\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 8 13\" width=\"100%\" height=\"100%\"><path fill-rule=\"nonzero\" d=\"M5.043 7.07h2.064l.31-2.31H5.042V3.283c0-.67.193-1.125 1.188-1.125H7.5V.09C7.28.063 6.527 0 5.651 0 3.821 0 2.57 1.077 2.57 3.055v1.704H.5v2.31h2.069V13h2.474V7.07Z\"\/><\/svg><\/span>\n <span class=\"screen-reader-text\">Facebook<\/span>\n <\/a>\n <a class=\"social-links__item social-links__item--twitter js-social-link\" data-name=\"X\" href=\"https:\/\/x.com\/intent\/post?related=dreamstime&text=Download+Programming+Script+stock+photos+from+Dreamstime+Take+a+look+at+these+amazing+free+or+royalty-free+photos+on+Dreamstime.&url=https%3A%2F%2Fwww.dreamstime.com%2Fillustration%2Fprogramming-script.html%3Fpg%3D99\" rel=\"noopener noreferrer\" target=\"_blank\">\n <span class=\"social-links__wrapper\"><svg class=\"social-links__icn\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 14 14\" width=\"100%\" height=\"100%\"><path fill-rule=\"nonzero\" d=\"M8.054 5.928 13.092 0h-1.194L7.524 5.147 4.03 0H0l5.284 7.784L0 14h1.194l4.62-5.436L9.504 14h4.03l-5.48-8.072ZM6.42 7.852l-.535-.775L1.624.91h1.834l3.437 4.977.536.775 4.468 6.47h-1.834L6.42 7.852Z\"\/><\/svg><\/span>\n <span class=\"screen-reader-text\">X<\/span>\n <\/a>\n <a class=\"social-links__item social-links__item--linkedin js-social-link\" data-name=\"LinkedIn\" href=\"https:\/\/www.linkedin.com\/shareArticle?mini=true&url=https%3A%2F%2Fwww.dreamstime.com%2Fillustration%2Fprogramming-script.html%3Fpg%3D99&summary=Download+Programming+Script+stock+photos+from+Dreamstime+Take+a+look+at+these+amazing+free+or+royalty-free+photos+on+Dreamstime.\" rel=\"noopener noreferrer\" target=\"_blank\">\n <span class=\"social-links__wrapper\"><svg class=\"social-links__icn\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 14 14\" width=\"100%\" height=\"100%\"><path fill-rule=\"evenodd\" d=\"M11.93 11.93H9.855V8.68c0-.774-.015-1.77-1.08-1.77-1.08 0-1.245.843-1.245 1.715v3.305H5.455V5.249h1.992v.912h.027c.277-.525.955-1.079 1.965-1.079 2.103 0 2.49 1.384 2.49 3.183v3.665ZM3.114 4.335a1.204 1.204 0 1 1 0-2.408 1.204 1.204 0 0 1 0 2.408ZM2.076 11.93h2.076V5.249H2.076v6.68ZM12.964 0H1.034C.463 0 0 .452 0 1.01v11.98C0 13.547.463 14 1.033 14h11.93c.572 0 1.037-.453 1.037-1.01V1.01C14 .451 13.535 0 12.964 0Z\"\/><\/svg><\/span>\n <span class=\"screen-reader-text\">LinkedIn<\/span>\n <\/a>\n <a class=\"social-links__item social-links__item--pinterest js-social-link\" data-name=\"Pinterest\" href=\"http:\/\/www.pinterest.com\/pin\/create\/button\/?url=https%3A%2F%2Fwww.dreamstime.com%2Fillustration%2Fprogramming-script.html%3Fpg%3D99&media=https%3A%2F%2Fthumbs.dreamstime.com%2Fb%2Fcode-development-debugging-tool-icons-vol-447568624.jpg&description=Download+Programming+Script+stock+photos+from+Dreamstime+Take+a+look+at+these+amazing+free+or+royalty-free+photos+on+Dreamstime.\" rel=\"noopener noreferrer\" target=\"_blank\">\n <span class=\"social-links__wrapper\"><svg class=\"social-links__icn\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 14 14\" width=\"100%\" height=\"100%\"><path fill-rule=\"evenodd\" d=\"M6.997 0A6.994 6.994 0 0 0 0 6.997a7 7 0 0 0 4.446 6.52c-.063-.554-.115-1.406.023-2.01.127-.548.818-3.479.818-3.479s-.208-.42-.208-1.037c0-.973.565-1.699 1.267-1.699.6 0 .887.45.887.985 0 .6-.38 1.498-.581 2.333-.167.696.35 1.267 1.036 1.267 1.244 0 2.2-1.313 2.2-3.202 0-1.676-1.204-2.845-2.925-2.845C4.97 3.83 3.8 5.32 3.8 6.865c0 .599.23 1.244.518 1.595.058.069.064.132.046.201-.052.22-.173.697-.196.795-.028.127-.103.156-.236.092-.863-.414-1.405-1.693-1.405-2.718 0-2.206 1.601-4.233 4.625-4.233 2.424 0 4.313 1.728 4.313 4.043 0 2.413-1.52 4.354-3.628 4.354-.708 0-1.376-.369-1.601-.806l-.438 1.664c-.155.61-.581 1.37-.87 1.837A7.028 7.028 0 0 0 7.004 14 6.997 6.997 0 0 0 14 7.003C13.994 3.133 10.861 0 6.997 0\"\/><\/svg><\/span>\n <span class=\"screen-reader-text\">Pinterest<\/span>\n <\/a>\n <a class=\"social-links__item social-links__item--whatsapp js-social-link\" data-name=\"WhatsApp\" href=\"https:\/\/api.whatsapp.com\/send\/?phone&text=https%3A%2F%2Fwww.dreamstime.com%2Fillustration%2Fprogramming-script.html%3Fpg%3D99\" rel=\"noopener noreferrer\" target=\"_blank\">\n <span class=\"social-links__wrapper\"><svg class=\"social-links__icn\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 13.995 13.996\" width=\"100%\" height=\"100%\"><path fill-rule=\"nonzero\" d=\"M10.204 8.387c-.174-.087-1.03-.506-1.19-.564-.16-.058-.275-.086-.392.087-.116.173-.45.564-.55.68-.102.115-.204.13-.378.043-.174-.087-.735-.27-1.4-.86a5.224 5.224 0 0 1-.969-1.2c-.102-.174-.01-.268.076-.354.079-.078.175-.203.262-.304.087-.101.116-.173.174-.289.058-.116.029-.217-.015-.304-.043-.086-.392-.94-.537-1.286-.141-.338-.285-.292-.391-.298a7.017 7.017 0 0 0-.334-.006.641.641 0 0 0-.464.217c-.16.173-.61.593-.61 1.446s.624 1.677.711 1.792c.087.116 1.228 1.866 2.975 2.617.415.178.74.285.992.365.417.132.797.113 1.097.069.334-.05 1.03-.42 1.175-.824.145-.405.145-.752.102-.824-.044-.073-.16-.116-.334-.203m-3.177 4.317h-.002a5.804 5.804 0 0 1-2.948-.803l-.212-.125-2.192.572.585-2.127-.137-.218a5.73 5.73 0 0 1-.886-3.068c.001-3.178 2.6-5.764 5.794-5.764 1.547 0 3.002.601 4.095 1.69A5.716 5.716 0 0 1 12.82 6.94c-.001 3.178-2.6 5.764-5.792 5.764m4.93-10.67A6.94 6.94 0 0 0 7.026 0C3.186 0 .06 3.111.058 6.935c0 1.222.32 2.415.93 3.467L0 13.996l3.694-.965a6.989 6.989 0 0 0 3.33.845h.003c3.84 0 6.967-3.112 6.968-6.936a6.877 6.877 0 0 0-2.039-4.906\"\/><\/svg><\/span>\n <span class=\"screen-reader-text\">WhatsApp<\/span>\n <\/a>\n <a class=\"social-links__item social-links__item--blogger js-social-link\" data-name=\"Blogger\" href=\"https:\/\/www.blogger.com\/blog-this.g?u=https%3A%2F%2Fwww.dreamstime.com%2Fillustration%2Fprogramming-script.html%3Fpg%3D99&t=Download+Programming+Script+stock+photos+from+Dreamstime+Take+a+look+at+these+amazing+free+or+royalty-free+photos+on+Dreamstime.\" rel=\"noopener noreferrer\" target=\"_blank\">\n <span class=\"social-links__wrapper\"><svg class=\"social-links__icn\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 14 14\" width=\"100%\" height=\"100%\"><path fill-rule=\"evenodd\" d=\"M13.999 9.48c0 2.496-2.038 4.52-4.55 4.52H4.55C2.037 14 0 11.976 0 9.48V4.52C0 2.025 2.037 0 4.55 0h2.297c2.513 0 4.55 2.024 4.55 4.52l.001.01c.033.47.427.84.908.84h.784c.502 0 .91.404.91.904l-.001 3.205ZM7.014 3.665H4.437a.872.872 0 0 0-.874.869c0 .48.391.869.874.869h2.577a.872.872 0 0 0 .875-.869.872.872 0 0 0-.875-.869Zm2.59 5.089H4.433a.825.825 0 0 0-.827.822c0 .454.37.822.827.822h5.173a.825.825 0 0 0 .827-.822.825.825 0 0 0-.827-.822Z\"\/><\/svg><\/span>\n <span class=\"screen-reader-text\">Blogger<\/span>\n <\/a>\n <a class=\"social-links__item social-links__item--tumblr js-social-link\" data-name=\"Tumblr\" href=\"https:\/\/www.tumblr.com\/share?u=https%3A%2F%2Fwww.dreamstime.com%2Fillustration%2Fprogramming-script.html%3Fpg%3D99&caption=Programming+Script+Photos+from+Dreamstime\" rel=\"noopener noreferrer\" target=\"_blank\">\n <span class=\"social-links__wrapper\"><svg class=\"social-links__icn\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 8 14\" width=\"100%\" height=\"100%\"><path fill-rule=\"evenodd\" d=\"M8 14H5.64c-2.125 0-3.709-1.083-3.709-3.675v-4.15H0V3.928C2.125 3.38 3.014 1.569 3.116 0h2.207v3.563h2.575v2.612H5.323V9.79c0 1.083.552 1.458 1.43 1.458H8V14Z\"\/><\/svg><\/span>\n <span class=\"screen-reader-text\">Tumblr<\/span>\n <\/a>\n <a class=\"social-links__item social-links__item--reddit js-social-link\" data-name=\"Reddit\" href=\"https:\/\/www.reddit.com\/submit?url=https%3A%2F%2Fwww.dreamstime.com%2Fillustration%2Fprogramming-script.html%3Fpg%3D99&title=Programming+Script+Photos+from+Dreamstime\" rel=\"noopener noreferrer\" target=\"_blank\">\n <span class=\"social-links__wrapper\"><svg class=\"social-links__icn\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 16 14\" width=\"100%\" height=\"100%\"><path fill-rule=\"evenodd\" d=\"M10.75 9.58c-.69 0-1.251-.552-1.251-1.229s.56-1.228 1.25-1.228S12 7.673 12 8.35a1.24 1.24 0 0 1-1.25 1.228m.22 2.017c-.854.837-2.49.902-2.97.902-.482 0-2.117-.065-2.97-.902a.314.314 0 0 1 0-.45.328.328 0 0 1 .459 0c.538.528 1.688.716 2.51.716.823 0 1.974-.188 2.513-.716a.329.329 0 0 1 .458 0 .314.314 0 0 1 0 .45M3.996 8.35c0-.677.561-1.228 1.251-1.228.69 0 1.25.55 1.25 1.228a1.24 1.24 0 0 1-1.25 1.228c-.69 0-1.25-.551-1.25-1.228M16 7.123c0-.95-.784-1.72-1.75-1.72-.473 0-.9.185-1.215.483-1.197-.848-2.846-1.396-4.683-1.459L9.15.742l2.606.544c.032.65.574 1.17 1.245 1.17.69 0 1.25-.55 1.25-1.228A1.24 1.24 0 0 0 13.001 0c-.492 0-.913.28-1.117.685L8.974.078a.315.315 0 0 0-.37.237l-.891 4.111c-1.864.05-3.54.6-4.751 1.457a1.76 1.76 0 0 0-1.211-.48C.784 5.403 0 6.173 0 7.123 0 7.82.425 8.42 1.035 8.69a3.32 3.32 0 0 0-.042.52c0 2.646 3.135 4.79 7.003 4.79C11.864 14 15 11.856 15 9.21a3.33 3.33 0 0 0-.042-.516A1.718 1.718 0 0 0 16 7.123\"\/><\/svg><\/span>\n <span class=\"screen-reader-text\">Reddit<\/span>\n <\/a>\n <a class=\"social-links__item social-links__item--mail js-social-link\" data-name=\"Email\" href=\"mailto:?subject=Programming%20Script%20Images%20from%20Dreamstime&body=Hey%21%20I%20found%20some%20amazing%20photos%20related%20to%20Programming%20Script%20on%20Dreamstime.%20Have%20a%20look%3A%20https%3A%2F%2Fwww.dreamstime.com%2Fillustration%2Fprogramming-script.html%3Fpg%3D99\" rel=\"noopener noreferrer\" target=\"_blank\">\n <span class=\"social-links__wrapper\"><svg class=\"social-links__icn\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 14 10\" width=\"100%\" height=\"100%\"><path fill-rule=\"evenodd\" d=\"M2.873 4.935 0 2.062v5.746l2.873-2.873Zm8.254 0L14 7.808V2.062l-2.873 2.873Zm-7.665.682L.004 9.076A1 1 0 0 0 1 10h12a1 1 0 0 0 .996-.924l-3.458-3.459-2.536 2.536A1.407 1.407 0 0 1 7 8.568c-.379 0-.734-.148-1.002-.415L3.462 5.617ZM13.975.779 7.413 7.341a.597.597 0 0 1-.825 0L.025.78A1 1 0 0 1 1 0h12a1 1 0 0 1 .975.78Z\"\/><\/svg><\/span>\n <span class=\"screen-reader-text\">Email<\/span>\n <\/a>\n<\/div>\n <\/div>\n <div\n class=\"copy-line js-copy-line\"\n>\n <div class=\"copy-line__icon\">\n <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"14\" height=\"14\"><path fill=\"#656565\" fill-rule=\"evenodd\" d=\"M4.59 4.412a3.69 3.69 0 0 1 2.631-.282c1.263.328 2.06 1.466 2.195 1.67l.02.032-1.415 1.36s-.163-.828-1.01-1.185c-1.068-.45-1.785.155-1.912.275l-.02.02s-.595.585-1.251 1.239l-.608.607c-.543.546-1.013 1.027-1.084 1.129-.197.286-.76 1.739.382 2.536 1.28.893 2.454-.135 2.454-.135l.932-.933s.287.124.825.207c.538.084 1.491.049 1.491.049s-2.026 2.022-2.186 2.146c-.16.123-.532.5-1.102.681-.829.263-3.452.54-4.522-1.758-1.225-2.63.686-4.388.686-4.388l2.727-2.727c-.001 0 .569-.44.767-.543ZM7.81.953c.497-.594 3.208-1.884 5.114.148 2.306 2.574.191 4.98.191 4.98L11.262 7.96l-.047.045c-.236.233-1.315 1.289-1.54 1.415-1.605.893-2.487.607-3.451.281-.988-.333-1.693-1.488-1.693-1.488l1.39-1.36s.082.562.679.968c1.293.88 2.358-.162 2.358-.162l2.717-2.731s1.049-1.421-.035-2.51c-1.274-1.282-2.522-.171-2.682-.018l-.018.018-.894.899S7.738 3.17 7 3.037a3.215 3.215 0 0 0-1.243.01l-.032.009.045-.045.052-.052.254-.253C6.67 2.114 7.807.976 7.81.953Z\"\/><\/svg> <\/div>\n <div class=\"copy-line__content\">\n <span class=\"js-copy-line-content\">https:\/\/www.dreamstime.com\/illustration\/programming-script.html?pg=99<\/span>\n <\/div>\n <button\n type=\"button\"\n class=\"copy-line__btn btn btn--green btn--big js-copy-line-btn\"\n data-tooltip-copied-txt=\"Copied to clipboard!\"\n data-dt-id=\"copy-line\" data-dt-root=\"\" data-dt-on-click=\"\" data-dt-show-loading=\"\" data-dt-loading-type=\"btn\" data-dt-loading-theme=\"dark\" data-dt-css=\"58,59\" data-dt-js=\"60\" data-dt-js-order=\"61,62,63,64\" >COPY LINK<\/button>\n<\/div>\n <\/div>\n\n \n <\/div>\n <\/div>\n<\/div>\n<\/template>\n"}</script> <script id="modal-deps" type="application/json">{"deps":{"css":"45,46","js":"54,29,30,55"}}</script> <script id="lang-select" type="application/json">{"langLinks":{"en":"https:\/\/www.dreamstime.com\/illustration\/programming-script.html","pt":"https:\/\/pt.dreamstime.com\/illustration\/script-de-programa\u00e7\u00e3o.html","de":"https:\/\/de.dreamstime.com\/illustration\/programmier-skript.html","es":"https:\/\/es.dreamstime.com\/illustration\/guion-de-programaci\u00f3n.html","it":"https:\/\/it.dreamstime.com\/illustration\/script-di-programmazione.html","nl":"https:\/\/www.dreamstime.com\/nl\/illustration\/programmeerscript.html","fr":"https:\/\/fr.dreamstime.com\/illustration\/script-de-programmation.html","ru":"https:\/\/ru.dreamstime.com\/illustration\/\u0441\u043a\u0440\u0438\u043f\u0442-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f.html","gr":"https:\/\/gr.dreamstime.com\/illustration\/\u03c3\u03b5\u03bd\u03ac\u03c1\u03b9\u03bf-\u03c0\u03c1\u03bf\u03b3\u03c1\u03b1\u03bc\u03bc\u03b1\u03c4\u03b9\u03c3\u03bc\u03bf\u03cd.html","cn":"https:\/\/cn.dreamstime.com\/illustration\/\u7f16\u7a0b\u811a\u672c.html","pl":"https:\/\/pl.dreamstime.com\/illustration\/skrypt-programistyczny.html","se":"https:\/\/se.dreamstime.com\/illustration\/programmeringsskript.html","ro":"https:\/\/ro.dreamstime.com\/illustration\/script-de-programare.html","sk":"https:\/\/sk.dreamstime.com\/illustration\/programovac\u00ed-skript.html","cz":"https:\/\/cz.dreamstime.com\/illustration\/programovac\u00ed-skript.html","jp":"https:\/\/www.dreamstime.com\/jp\/illustration\/\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u30b9\u30af\u30ea\u30d7\u30c8.html","kr":"https:\/\/www.dreamstime.com\/kr\/illustration\/\ud504\ub85c\uadf8\ub798\ubc0d-\uc2a4\ud06c\ub9bd\ud2b8.html","ar":"https:\/\/ar.dreamstime.com\/illustration\/\u0646\u0635-\u0628\u0631\u0645\u062c\u064a.html","hi":"https:\/\/hi.dreamstime.com\/illustration\/\u092a\u094d\u0930\u094b\u0917\u094d\u0930\u093e\u092e\u093f\u0902\u0917-\u0938\u094d\u0915\u094d\u0930\u093f\u092a\u094d\u091f.html","tr":"https:\/\/tr.dreamstime.com\/illustration\/programlama-betii.html","id":"https:\/\/id.dreamstime.com\/illustration\/skrip-pemrograman.html","dk":"https:\/\/dk.dreamstime.com\/illustration\/programmeringsscript.html","no":"https:\/\/www.dreamstime.com\/no\/illustration\/programmeringsskript.html","he":"https:\/\/www.dreamstime.com\/he\/illustration\/\u05e1\u05e7\u05e8\u05d9\u05e4\u05d8-\u05ea\u05db\u05e0\u05d5\u05ea.html"},"modalUrl":"https:\/\/www.dreamstime.com\/new\/components\/LanguageSelect\/modal_init.ajax.php"}</script> <noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-PT44P2" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <script> const DT = { memberId: null, isAuth: false, usePrefetchWorker: true, prefetchWorkerUrl: '/new/js/prefetch_worker.min.js', useFetchPriority: true, cssVersion: 1283, jsVersion: 166205, cdnUrl: 'https://front.dreamstime.com/', siteUrl: 'https://www.dreamstime.com/', isDev: false, isRtl: false, isLtr: false, enableLog: false, assetsBasePath: 'new/process-assets/', ajaxBase: 'https://www.dreamstime.com/new/', componentsBasePath: 'https://www.dreamstime.com/new/components/', _loadedScriptsOnce: {'js/scheduler_polyfill.js': true,'js/scheduler.js': true,'js/core.js': true,'js/ui.js': true,'js/dt_loader.js': true,'pages/pages.js': true,'components/Toast/init.js': true,'components/PasswordShow/PasswordShow.js': true,'components/Search/puzzle_paste.js': true,'templates/header/SearchAutocomplete/SearchAutocomplete.js': true,'components/Banner/banner.js': true,'templates/search/filters/filters_search_functions.js': true,'pages/search/sort_same_url.js': true,'components/SearchListing/swipe_title.js': true,'components/SearchListing/drag.js': true,'components/Modal/init.js': true,'js/ajax_html.js': true,'components/LightboxBar/init.js': true,'https://client.px-cloud.net/PX2e972lwZ/main.min.js': true,'https://www.googletagmanager.com/gtm.js?id=GTM-PT44P2': true}, _loadedStyleSheetsOnce: {'css/core.css': true,'templates/header.css': true,'templates/header/header_not-logged.css': true,'components/PasswordShow/PasswordShow.css': true,'templates/header/header_menu.css': true,'templates/header/header_no-hero.css': true,'components/Search/Search.css': true,'components/Search/search_dropdown.css': true,'components/Select/Select_default.css': true,'components/Dropdown/Dropdown.css': true,'components/Dropdown/Dropdown_right.css': true,'components/Dropdown/Dropdown_btm.css': true,'templates/header/header_sticky.css': true,'pages/search/search.css': true,'components/Banner/FreeTrial/FreeTrial.css': true,'components/Banner/Default/Default.css': true,'components/Banner/Default/Default_big.css': true,'components/Banner/FreeTrial/FreeTrial_container.css': true,'components/Breadcrumbs/Breadcrumbs.css': true,'components/Swiper/Swiper.css': true,'components/Swiper/Swiper_fading.css': true,'components/CloseButton/CloseButton.css': true,'templates/search/filters/OptionGroup/OptionGroup.css': true,'components/Form/FormCheckbox.css': true,'templates/search/filters/ButtonList.css': true,'components/Form/FormInput.css': true,'components/Form/FormColor.css': true,'components/Form/FormSelect.css': true,'components/Form/FormSwitch.css': true,'components/Swiper/Swiper_list_buttons.css': true,'components/Swiper/Swiper_mask.css': true,'components/RelatedSearches/Item/Item_plain.css': true,'components/Swiper/Button.css': true,'components/SearchListing/SearchListing.css': true,'components/SearchListing/SearchIcons.css': true,'components/SearchListing/SearchListingItem.css': true,'components/SearchListing/SearchListingItemLoggedOut.css': true,'components/SearchListing/swipe_title.css': true,'components/SearchListing/rounded_corners.css': true,'components/SearchListing/SimilarsLink.css': true,'components/SearchListing/LightboxButton/LightboxButton.css': true,'components/Pagination/NextPageButton.css': true,'components/Pagination/Pagination.css': true,'components/Pagination/PaginationList.css': true,'pages/search/share_button.css': true,'components/Share/Button/Button.css': true,'templates/footer.css': true,'components/SocialRow/SocialRow.css': true,'components/SocialRow/SocialRow_sg.css': true,'components/SocialRow/SocialRow_mdm.css': true,'components/LanguageSelect/LanguageSelect.css': true}, components: {}, /* DT old site constants */ fullCpage: 'search.php', cpage: 'search', securitycheck: '6ec2150d099963e040e0518ab1b3e235', cacheDriver: 'ap', }; var securitycheck = '6ec2150d099963e040e0518ab1b3e235'; var isRtl = false; var isLtr = false; try { DT.htmlLazyDeps = {"1":"js\/breakpoints.js","2":"templates\/header\/header_login.js","3":"js\/register.js","4":"js\/functions_cookie.js","5":"js\/pwd_strength.js","6":"components\/Popup\/Popup.js","7":"components\/Popup\/PopupSignup\/PopupSignup.js","8":"js\/jquery.js","9":"js\/plugins\/tooltipster.bundle.min.js","10":"css\/plugins\/tooltipster.bundle.min.css","11":"css\/plugins\/tooltipster.themes.css","12":"components\/Popup\/PopupSignup\/PopupSignup.css","13":"js\/functions_auth.js","14":"templates\/header\/header_not-logged.init.js","15":"templates\/header\/login.js","16":"templates\/header\/header_mobile_menu.js","17":"templates\/header\/header_sticky.js","18":"js\/plugins\/hermite.js","19":"js\/lang_cts.js.php?l=en","20":"js\/plugins\/puzzle.js","21":"components\/Search\/Search.js","22":"components\/Search\/clear_input.js","23":"components\/Dropdown\/Dropdown.js","24":"components\/Dropdown\/Dropdown.init.js","25":"components\/Select\/Select.js","26":"components\/Select\/Select.init.js","27":"templates\/header\/SearchAutocomplete\/SearchAutocomplete2.css","28":"templates\/header\/SearchAutocomplete\/SearchAutocomplete_desktop.css","29":"js\/http.js","30":"js\/ajax_html.js","31":"components\/Swiper\/Swiper.js","32":"components\/Swiper\/Swiper.init.js","33":"templates\/search\/filters\/filters_search_functions.js","34":"templates\/search\/filters\/filters_search.js","35":"templates\/search\/filters\/filters_search_content_filters.js","36":"templates\/search\/filters\/filters.css","37":"templates\/search\/filters\/filters_search_people.js","38":"templates\/search\/filters\/filters_search_media.js","39":"components\/Form\/FormColor.js","40":"templates\/search\/filters\/filters_search_withinresults.js","41":"templates\/search\/filters\/filters_search_options.js","42":"templates\/search\/filters\/filters_search_safesearch.js","43":"components\/SearchListing\/SearchListingNew.js","44":"components\/Pagination\/NextPageButton.js","45":"components\/CloseButton\/CloseButton.css","46":"components\/Modal\/Modal.css","47":"components\/CopyLine\/CopyLine.css","48":"components\/CopyLine\/CopyLine_grey.css","49":"components\/CopyLine\/CopyLine_icon.css","50":"components\/Share\/Modal\/Modal.css","51":"components\/SocialRow\/SocialRow.css","52":"components\/SocialRow\/SocialRow_ss.css","53":"components\/SocialRow\/SocialRow_huge.css","54":"js\/animation.js","55":"components\/Modal\/Modal.js","56":"components\/Share\/Button\/Button.js","57":"components\/SocialRow\/SocialRow.js","58":"components\/Tooltip\/Tooltip.css","59":"components\/Tooltip\/Tooltip_green.css","60":"templates\/get_header_offset.js","61":"js\/floating_ui.js","62":"components\/Tooltip\/Tooltip.js","63":"components\/Tooltip\/Tooltip.init.js","64":"components\/CopyLine\/CopyLine.js","65":"components\/Popup\/PopupFreeTrial\/PopupFreeTrial.js","66":"components\/Popup\/PopupFreeTrial\/PopupFreeTrial.css","67":"templates\/footer\/popup_signup_interaction.js","68":"templates\/footer\/footer_toggle.js","69":"templates\/footer\/footer_menu.js","70":"components\/LanguageSelect\/LanguageSelect.js","71":"components\/Form\/FormSwitch.js","72":"components\/Tooltip\/Tooltip_grey.css","73":"components\/SearchListing\/SimilarsLink.js","74":"components\/SearchListing\/LightboxButton\/tooltip.js","75":"components\/SearchListing\/LightboxButton\/action.js"}; } catch (_) {}!function(){var i=["user-blocking","user-visible","background"];class t{constructor(){this.channel_=new MessageChannel,this.sendPort_=this.channel_.port2,this.messages_={},this.nextMessageHandle_=1,this.channel_.port1.onmessage=i=>this.onMessageReceived_(i)}queueCallback(i){var t=this.nextMessageHandle_++;return this.messages_[t]=i,this.sendPort_.postMessage(t),t}cancelCallback(i){delete this.messages_[i]}onMessageReceived_(i){var t=i.data;if(t in this.messages_){var e=this.messages_[t];delete this.messages_[t],e()}}}function e(){return e.instance_||(e.instance_=new t),e.instance_}class r{constructor(i,t,e){void 0===e&&(e=0),this.callback_=i,this.callbackType_=null,this.handle_=null,this.canceled_=!1,this.schedule_(t,e)}isIdleCallback(){return 0===this.callbackType_}isMessageChannelCallback(){return 2===this.callbackType_}cancel(){if(!this.canceled_)switch(this.canceled_=!0,this.callbackType_){case 0:cancelIdleCallback(this.handle_);break;case 1:clearTimeout(this.handle_);break;case 2:e().cancelCallback(this.handle_);break;default:throw new TypeError("Unknown CallbackType")}}schedule_(t,r){if(r&&r>0)return this.callbackType_=1,void(this.handle_=setTimeout((()=>{this.runCallback_()}),r));if(!i.includes(t))throw new TypeError("Invalid task priority : "+t);return"background"===t&&"function"==typeof requestIdleCallback?(this.callbackType_=0,void(this.handle_=requestIdleCallback((()=>{this.runCallback_()})))):"function"==typeof MessageChannel?(this.callbackType_=2,void(this.handle_=e().queueCallback((()=>{this.runCallback_()})))):(this.callbackType_=1,void(this.handle_=setTimeout((()=>{this.runCallback_()}))))}runCallback_(){this.canceled_||this.callback_()}}var s=0;class n{constructor(){this.head_=null,this.tail_=null}isEmpty(){return null==this.head_}push(i){if("object"!=typeof i)throw new TypeError("Task must be an Object");i.tq_sequence_=s++,this.isEmpty()?(i.tq_prev_=null,this.head_=i):(i.tq_prev_=this.tail_,this.tail_.tq_next_=i),i.tq_next_=null,this.tail_=i}takeNextTask(){if(this.isEmpty())return null;var i=this.head_;return this.remove_(i),i}merge(i,t){if("function"!=typeof t)throw new TypeError("Must provide a selector function.");if(null==i)throw new Error("sourceQueue cannot be null");for(var e=this.head_,r=null,s=i.head_;s;){var n=s;if(s=s.tq_next_,t(n)){for(i.remove_(n);e&&e.tq_sequence_<n.tq_sequence_;)r=e,e=e.tq_next_;this.insert_(n,r),r=n}}}toArray(){for(var i=this.head_,t=[];null!==i;)t.push(i),i=i.tq_next_;return t}insert_(i,t){if(t!=this.tail_){var e=t?t.tq_next_:this.head_;i.tq_next_=e,e.tq_prev_=i,i.tq_prev_=t,null!=t?t.tq_next_=i:this.head_=i}else this.push(i)}remove_(i){if(null==i)throw new Error("Expected task to be non-null");i===this.head_&&(this.head_=i.tq_next_),i===this.tail_&&(this.tail_=this.tail_.tq_prev_),i.tq_next_&&(i.tq_next_.tq_prev_=i.tq_prev_),i.tq_prev_&&(i.tq_prev_.tq_next_=i.tq_next_)}}class a extends Event{constructor(t,e){if(!e||!i.includes(e.previousPriority))throw new TypeError("Invalid task priority: '"+e.previousPriority+"'");super(t),this.previousPriority=e.previousPriority}}class l extends AbortController{constructor(t){if(void 0===t&&(t={}),super(),null==t&&(t={}),"object"!=typeof t)throw new TypeError("'init' is not an object");var e,r,s=void 0===t.priority?"user-visible":t.priority;if(!i.includes(s))throw new TypeError("Invalid task priority: '"+s+"'");this.priority_=s,this.isPriorityChanging_=!1,r=(e=this).signal,Object.defineProperties(r,{priority:{get:function(){return e.priority_},enumerable:!0},onprioritychange:{value:null,writable:!0,enumerable:!0}}),r.addEventListener("prioritychange",(i=>{r.onprioritychange&&r.onprioritychange(i)}))}setPriority(t){if(!i.includes(t))throw new TypeError("Invalid task priority: "+t);if(this.isPriorityChanging_)throw new DOMException("","NotAllowedError");if(this.signal.priority!==t){this.isPriorityChanging_=!0;var e=this.priority_;this.priority_=t;var r=new a("prioritychange",{previousPriority:e});this.signal.dispatchEvent(r),this.isPriorityChanging_=!1}}}void 0===self.scheduler?(self.scheduler=new class{constructor(){this.queues_={},i.forEach((i=>{this.queues_[i]=[new n,new n]})),this.pendingHostCallback_=null,this.signals_=new WeakMap}yield(i){return(i=Object.assign({},i)).signal&&"inherit"==i.signal&&delete i.signal,i.priority&&"inherit"==i.priority&&(i.priority="user-visible"),this.postTaskOrContinuation_((()=>{}),i,!0)}postTask(i,t){return this.postTaskOrContinuation_(i,t,!1)}postTaskOrContinuation_(t,e,r){if(void 0!==(e=Object.assign({},e)).signal){if(null===e.signal||!("aborted"in e.signal)||"function"!=typeof e.signal.addEventListener)return Promise.reject(new TypeError("'signal' is not a valid 'AbortSignal'"));if(e.signal&&e.signal.priority&&!i.includes(e.signal.priority))return Promise.reject(new TypeError("Invalid task priority: '"+e.signal.priority+"'"))}if(void 0!==e.priority&&(null===e.priority||!i.includes(e.priority)))return Promise.reject(new TypeError("Invalid task priority: '"+e.priority+"'"));if(void 0===e.delay&&(e.delay=0),e.delay=Number(e.delay),e.delay<0)return Promise.reject(new TypeError("'delay' must be a positive number."));var s={callback:t,options:e,resolve:null,reject:null,hostCallback:null,abortCallback:null,onTaskCompleted:function(){this.options.signal&&this.abortCallback&&(this.options.signal.removeEventListener("abort",this.abortCallback),this.abortCallback=null)},onTaskAborted:function(){this.hostCallback&&(this.hostCallback.cancel(),this.hostCallback=null),this.options.signal.removeEventListener("abort",this.abortCallback),this.abortCallback=null,this.reject(this.options.signal.reason)},isAborted:function(){return this.options.signal&&this.options.signal.aborted},isContinuation:r},n=new Promise(((i,t)=>{s.resolve=i,s.reject=t}));return this.schedule_(s),n}schedule_(i){var t=i.options.signal;if(t){if(t.aborted)return void i.reject(t.reason);i.abortCallback=()=>{i.onTaskAborted()},t.addEventListener("abort",i.abortCallback)}i.options.delay>0?i.hostCallback=new r((()=>{i.hostCallback=null,this.onTaskDelayExpired_(i)}),null,i.options.delay):(this.pushTask_(i),this.scheduleHostCallbackIfNeeded_())}onTaskDelayExpired_(i){this.pushTask_(i),this.pendingHostCallback_&&(this.pendingHostCallback_.cancel(),this.pendingHostCallback_=null),this.schedulerEntryCallback_()}onPriorityChange_(i){var t=this.signals_.get(i);if(void 0===t)throw new Error("Attempting to change priority on an unregistered signal");if(t!==i.priority){for(var e=0;e<2;e++)this.queues_[i.priority][e].merge(this.queues_[t][e],(t=>t.options.signal===i));this.signals_.set(i,i.priority)}}schedulerEntryCallback_(){this.pendingHostCallback_=null,this.runNextTask_(),this.scheduleHostCallbackIfNeeded_()}scheduleHostCallbackIfNeeded_(){var{priority:i}=this.nextTaskPriority_();null!=i&&("background"!==i&&this.pendingHostCallback_&&this.pendingHostCallback_.isIdleCallback()&&(this.pendingHostCallback_.cancel(),this.pendingHostCallback_=null),this.pendingHostCallback_||(this.pendingHostCallback_=new r((()=>{this.schedulerEntryCallback_()}),i,0)))}pushTask_(t){var e;if(!i.includes(e=t.options.priority?t.options.priority:t.options.signal&&t.options.signal.priority?t.options.signal.priority:"user-visible"))throw new TypeError("Invalid task priority: "+e);if(t.options.signal&&t.options.signal.priority){var r=t.options.signal;this.signals_.has(r)||(r.addEventListener("prioritychange",(()=>{this.onPriorityChange_(r)})),this.signals_.set(r,r.priority))}this.queues_[e][t.isContinuation?0:1].push(t)}runNextTask_(){var i=null;do{var{priority:t,type:e}=this.nextTaskPriority_();if(null==t)return;i=this.queues_[t][e].takeNextTask()}while(i.isAborted());try{var r=i.callback();i.resolve(r)}catch(t){i.reject(t)}finally{i.onTaskCompleted()}}nextTaskPriority_(){for(var t=0;t<i.length;t++)for(var e=i[t],r=0;r<2;r++)if(!this.queues_[e][r].isEmpty())return{priority:e,type:r};return{priority:null,type:0}}},self.TaskController=l,self.TaskPriorityChangeEvent=a):self.scheduler.yield||(self.scheduler.yield=function(i){var t=i=>i&&"user-visible"!=i?i:"user-blocking";if((i=Object.assign({},i)).signal&&"inherit"==i.signal&&delete i.signal,i.priority&&"inherit"==i.priority&&delete i.priority,i.signal&&i.signal.aborted)return Promise.reject(i.signal.reason);var e=i.priority;!e&&i.signal&&i.signal.priority&&(e=i.signal.priority),e=t(e);var r={inputSignal:i.signal,controller:new self.TaskController({priority:e}),abortCallback:null,priorityCallback:null,onTaskAborted:function(){this.controller.abort(this.inputSignal.reason),this.abortCallback=null},onPriorityChange:function(){this.controller.setPriority(t(this.inputSignal.priority))},onTaskCompleted:function(){this.abortCallback&&(this.inputSignal.removeEventListener("abort",this.abortCallback),this.abortCallback=null),this.priorityCallback&&(this.inputSignal.removeEventListener("prioritychange",this.priorityCallback),this.priorityCallback=null)}};i.signal&&(r.abortCallback=()=>{r.onTaskAborted()},i.signal.addEventListener("abort",r.abortCallback)),i.signal&&i.signal.priority&&!i.priority&&(r.priorityCallback=()=>{r.onPriorityChange()},i.signal.addEventListener("prioritychange",r.priorityCallback));var s=self.scheduler.postTask((()=>{}),{signal:r.controller.signal});return s.then((()=>{r.onTaskCompleted()})).catch((i=>{throw r.onTaskCompleted(),i})),s})}(); DT.Scheduler=(()=>{const postTask=(task,options={})=>window.scheduler.postTask(task,options),yieldToMain=()=>window.scheduler.yield(),isInputPending=()=>navigator?.scheduling?.isInputPending?.()??!1,waitForHighPriority=(options={})=>new Promise(((resolve,reject)=>{postTask(resolve,{priority:"user-blocking",...options}).catch(reject)})),waitForMediumPriority=(options={})=>new Promise(((resolve,reject)=>{postTask(resolve,{priority:"user-visible",...options}).catch(reject)})),waitForLowPriority=(options={})=>new Promise(((resolve,reject)=>{postTask(resolve,{priority:"background",...options}).catch(reject)})),yieldIfInputPending=async()=>{if(isInputPending())return yieldToMain()};return{postTask:postTask,yieldToMain:yieldToMain,isInputPending:isInputPending,yieldIfInputPending:yieldIfInputPending,waitForHighPriority:waitForHighPriority,waitForMediumPriority:waitForMediumPriority,waitForLowPriority:waitForLowPriority}})(); DT.isMobile=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),DT.isTouchDevice="ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0,DT.isMac=/Macintosh/.test(navigator.userAgent),DT.log=(type,...args)=>{if(DT.enableLog)try{type in console||(type="log"),console[type](...args)}catch(_err){}},DT.onReady=function(callback){"complete"===document.readyState||"interactive"===document.readyState||"loaded"===document.readyState?callback():document.addEventListener("DOMContentLoaded",callback)},DT.onReadyIdle=(callback,timeout=50)=>{DT.onReady((()=>{DT.onIdle(callback,timeout)}))},DT.onIdle=function(callback,timeout=50){return"requestIdleCallback"in window?window.requestIdleCallback(callback,{timeout:timeout}):setTimeout(callback,timeout)},DT.idle=function(timeout=50){return new Promise((resolve=>{DT.onIdle(resolve,timeout)}))},DT.isInputPending=()=>navigator?.scheduling?.isInputPending?.()??!1,DT.yieldIfInputPending=async()=>{DT.isInputPending()&&await DT.yieldToMain()},DT.onLoad=function(callback){"complete"===document.readyState?callback():window.addEventListener("load",callback)},DT.onLoadIdle=(callback,timeout=50)=>{DT.onLoad((()=>{DT.onIdle(callback,timeout)}))},DT.nextIter=(timeout=0)=>new Promise((resolve=>{setTimeout((()=>{resolve()}),timeout)})),DT.yieldToMain=async(timeout=0)=>{if(0===timeout&&"scheduler"in window&&"yield"in window.scheduler)try{return await window.scheduler.yield()}catch(_){}return new Promise((resolve=>{setTimeout(resolve,timeout)}))},DT.onNextIter=(callback,timeout=0)=>{setTimeout((()=>{callback()}),timeout)},DT.nextFrame=()=>new Promise((resolve=>{window.requestAnimationFrame(resolve)})),DT.onNextFrame=callback=>{window.requestAnimationFrame(callback)},DT.cancelNextFrame=id=>{id&&window.cancelAnimationFrame(id)},DT.isPage=(...pages)=>pages.some((page=>page===DT.cpage)),DT.import=DT.require=function(){const urls=Array.prototype.slice.call(arguments);return Promise.all(urls.map((url=>import(url))))},DT.importOrder=DT.requireOrder=function(){const urls=Array.prototype.slice.call(arguments);return urls.reduce(((promise,url)=>promise.then((()=>import(url)))),Promise.resolve())},DT.isDtUrl=function(url){return!!this.isRelativeUrl(url)||/^(https?:\/\/)?(?:[a-z0-9-]+\.)?dreamstime\./.test(url)},DT.isRelativeUrl=function(url){return/^(?!www\.|(?:http|ftp)s?:\/\/|[A-Za-z]:\\|\/\/(www\.)?|[a-zA-Z0-9\-\_]+\.[a-z]{1,3}).*/i.test(url)},DT.appendQueryString=function(url,queryString){const hasQueryString=undefined,separator=undefined;return`${url}${/\?/.test(url)?"&":"?"}${queryString}`},DT.processCssImportUrl=function(url){if(!this.isDtUrl(url))return url;if(this.isDev)return`/${this.assetsBasePath}${url}`;let newUrl=url;return this.isRelativeUrl(url)&&(newUrl=`${this.cdnUrl}${this.assetsBasePath}${url}`),this.appendQueryString(newUrl,`v=${this.cssVersion}`)},DT.processJsImportUrl=function(url){if(!this.isDtUrl(url))return url;if(this.isDev)return`/${this.assetsBasePath}${url}`;let newUrl=url;return this.isRelativeUrl(url)&&(newUrl=`${this.cdnUrl}${this.assetsBasePath}${url}`),this.appendQueryString(newUrl,`v=${this.jsVersion}`)},DT.loadScripts=function(){const scripts=Array.prototype.slice.call(arguments);return new Promise((async(resolve,reject)=>{let loaded=0;const head=document.getElementsByTagName("head")[0];function checkLoaded(){loaded++,loaded===scripts.length&&resolve()}for(let i=0;i<scripts.length;i++){const script=scripts[i];let scriptSrc,fetchPriority;"object"==typeof script?(scriptSrc=script.src,fetchPriority=script.fetchPriority):scriptSrc=script;const prefetchUrlPromise=DT.prefetchWorker.getPrefetchUrlPromise(scriptSrc);prefetchUrlPromise?await prefetchUrlPromise:DT.prefetchWorker.abortPrefetchUrls(scriptSrc);const createScript=()=>{const script=document.createElement("script");script.type="text/javascript",script.src=DT.processJsImportUrl(scriptSrc),fetchPriority&&DT.useFetchPriority&&script.setAttribute("fetchpriority",fetchPriority),script.onload=checkLoaded,script.onerror=reject,head.appendChild(script)};DT._preloadedLinks[scriptSrc]?DT._preloadedLinks[scriptSrc].then(createScript).catch(reject):createScript()}}))},DT.isScriptLoaded=function(scriptSrc){return!0===DT._loadedScriptsOnce[scriptSrc]},DT.loadScriptsOnce=function(){const scripts=Array.prototype.slice.call(arguments);return new Promise((async(resolve,reject)=>{let loaded=0;const head=document.getElementsByTagName("head")[0];function checkLoaded(){loaded++,loaded===scripts.length&&resolve()}const onScriptLoadError=error=>{DT.log("error","Failed to load script",error.target.src,error),reject(error)};for(let i=0;i<scripts.length;i++){const script=scripts[i];let scriptSrc,fetchPriority="";if("object"==typeof script?(scriptSrc=script.src,fetchPriority=script.fetchPriority):scriptSrc=script,DT._loadedScriptsOnce[scriptSrc]){!0===DT._loadedScriptsOnce[scriptSrc]?checkLoaded():DT._loadedScriptsOnce[scriptSrc].then(checkLoaded).catch(reject);continue}const prefetchUrlPromise=DT.prefetchWorker.getPrefetchUrlPromise(scriptSrc);prefetchUrlPromise?await prefetchUrlPromise:DT.prefetchWorker.abortPrefetchUrls(scriptSrc),DT._loadedScriptsOnce[scriptSrc]=new Promise(((resolve,reject)=>{const createScript=()=>{const script=document.createElement("script");script.type="text/javascript",script.src=DT.processJsImportUrl(scriptSrc),fetchPriority&&DT.useFetchPriority&&script.setAttribute("fetchpriority",fetchPriority),script.onload=function(){checkLoaded(),resolve()},script.onerror=error=>{reject(error),onScriptLoadError(error)},head.appendChild(script)};if(DT._preloadedLinks[scriptSrc])return DT._preloadedLinks[scriptSrc].then(createScript).catch(reject),void 0;createScript()})),DT._loadedScriptsOnce[scriptSrc].catch(reject)}}))},DT.loadScriptsInOrder=function(){const scripts=Array.prototype.slice.call(arguments);return new Promise(((resolve,reject)=>{const head=document.getElementsByTagName("head")[0];async function loadScript(index){if(index>=scripts.length)return resolve(),void 0;const script=scripts[index];if(Array.isArray(script))return DT.loadScriptsInOrder(...script).then((()=>{loadScript(index+1)})),void 0;let scriptSrc,fetchPriority;"object"==typeof script?(scriptSrc=script.src,fetchPriority=script.fetchPriority):scriptSrc=script;const prefetchUrlPromise=DT.prefetchWorker.getPrefetchUrlPromise(scriptSrc);prefetchUrlPromise?await prefetchUrlPromise:DT.prefetchWorker.abortPrefetchUrls(scriptSrc);const createScript=()=>{const script=document.createElement("script");script.type="text/javascript",script.src=DT.processJsImportUrl(scriptSrc),fetchPriority&&DT.useFetchPriority&&script.setAttribute("fetchpriority",fetchPriority),script.onload=function(){loadScript(index+1)},script.onerror=reject,head.appendChild(script)};if(DT._preloadedLinks[scriptSrc])return DT._preloadedLinks[scriptSrc].then(createScript).catch(reject),void 0;createScript()}loadScript(0)}))},DT.loadScriptsInOrderOnce=function(){const scripts=Array.prototype.slice.call(arguments);return new Promise(((resolve,reject)=>{const head=document.getElementsByTagName("head")[0],onScriptLoadError=error=>{DT.log("error","Failed to load script",error),reject(error)};async function loadScript(index){if(index>=scripts.length)return resolve(),void 0;const script=scripts[index];if(Array.isArray(script))return DT.loadScriptsInOrderOnce(...script).then((()=>{loadScript(index+1)})),void 0;let scriptSrc,fetchPriority;if("object"==typeof script?(scriptSrc=script.src,fetchPriority=script.fetchPriority):scriptSrc=script,DT._loadedScriptsOnce[scriptSrc])return!0===DT._loadedScriptsOnce[scriptSrc]?loadScript(index+1):DT._loadedScriptsOnce[scriptSrc].then((()=>{loadScript(index+1)})).catch(reject),void 0;const prefetchUrlPromise=DT.prefetchWorker.getPrefetchUrlPromise(scriptSrc);prefetchUrlPromise?await prefetchUrlPromise:DT.prefetchWorker.abortPrefetchUrls(scriptSrc),DT._loadedScriptsOnce[scriptSrc]=new Promise(((resolve,reject)=>{const createScript=()=>{const script=document.createElement("script");script.type="text/javascript",script.src=DT.processJsImportUrl(scriptSrc),fetchPriority&&DT.useFetchPriority&&script.setAttribute("fetchpriority",fetchPriority),script.onload=function(){loadScript(index+1),resolve()},script.onerror=error=>{reject(error),onScriptLoadError(error)},head.appendChild(script)};if(DT._preloadedLinks[scriptSrc])return DT._preloadedLinks[scriptSrc].then(createScript).catch(reject),void 0;createScript()}))}loadScript(0)}))},DT.loadCSS=function(){const urls=Array.prototype.slice.call(arguments);return new Promise((async function(resolve,reject){let loaded=0;function checkLoaded(){loaded++,loaded===urls.length&&DT.afterPaint().then((()=>{resolve()}))}for(let i=0;i<urls.length;i++){const urlSrc=urls[i];let url,fetchPriority,prefetchPromise;if("object"==typeof urlSrc?(url=urlSrc.url,fetchPriority=urlSrc.fetchPriority):url=urlSrc,DT._loadedStyleSheetsOnce[url]){!0===DT._loadedStyleSheetsOnce[url]?checkLoaded():DT._loadedStyleSheetsOnce[url].then(checkLoaded).catch(reject);continue}const prefetchUrlPromise=DT.prefetchWorker.getPrefetchUrlPromise(url);prefetchUrlPromise?prefetchPromise=prefetchUrlPromise:(prefetchPromise=new Promise((resolve=>{resolve()})),DT.prefetchWorker.abortPrefetchUrls(url)),DT._loadedStyleSheetsOnce[url]=prefetchPromise.then((()=>DT.addPreloadLink({href:url,as:"style",type:"text/css",fetchPriority:fetchPriority}))).then((preloadedLink=>{preloadedLink.setAttribute("rel","stylesheet"),preloadedLink.addEventListener("load",(()=>{checkLoaded()})),preloadedLink.addEventListener("error",(err=>{DT.log("error","Failed to load CSS",err),checkLoaded()}))})).catch((preloadedLink=>{preloadedLink?(preloadedLink.setAttribute("rel","stylesheet"),preloadedLink.addEventListener("load",(()=>{checkLoaded()})),preloadedLink.addEventListener("error",(err=>{DT.log("error","Failed to load CSS",err),checkLoaded()}))):checkLoaded()}))}}))},DT._preloadedLinks={},DT.addPreloadLink=({href:href,as:as,type:type="",media:media="",prefetch:prefetch="",fetchPriority:fetchPriority=""})=>new Promise((async resolve=>{if(DT._preloadedLinks[href])return!0===DT._preloadedLinks[href]?(resolve(),void 0):DT._preloadedLinks[href].then(resolve);if("script"===type&&DT._loadedScriptsOnce[href])return!0===DT._loadedScriptsOnce[href]?(resolve(),void 0):DT._loadedScriptsOnce[href].finally(resolve);if("style"===type&&DT._loadedStyleSheetsOnce[href])return!0===DT._loadedStyleSheetsOnce[href]?(resolve(),void 0):DT._loadedStyleSheetsOnce[href].finally(resolve);const prefetchUrlPromise=DT.prefetchWorker.getPrefetchUrlPromise(href);prefetchUrlPromise?await prefetchUrlPromise:DT.prefetchWorker.abortPrefetchUrls(href),DT._preloadedLinks[href]=new Promise((resolve=>{const preloadLink=document.createElement("link");preloadLink.setAttribute("rel","preload"),preloadLink.setAttribute("as",as);let processedHref=href;"script"===as?processedHref=DT.processJsImportUrl(href):"style"===as&&(processedHref=DT.processCssImportUrl(href)),preloadLink.setAttribute("href",processedHref),preloadLink.onload=()=>{preloadLink.onload=null,resolve(preloadLink)},preloadLink.onerror=err=>{DT.log("error","Failed to preload link",err),resolve(preloadLink)},type&&preloadLink.setAttribute("type",type),prefetch&&preloadLink.setAttribute("prefetch",prefetch),fetchPriority&&DT.useFetchPriority&&preloadLink.setAttribute("fetchpriority",fetchPriority);const head=document.getElementsByTagName("head")[0];return preloadLink.relList.supports("preload")?(head.appendChild(preloadLink),void 0):"style"===as?(preloadLink.setAttribute("rel","stylesheet"),head.appendChild(preloadLink),void 0):(resolve(preloadLink),void 0)})),DT._preloadedLinks[href].then((link=>{resolve(link)}))})),DT.addPreloadLinks=(...links)=>new Promise.all([...links.map((link=>DT.addPreloadLink(link)))]),DT._lastQueuePreloadLink=new Promise((resolve=>resolve())),DT.queuePreloadLink=async link=>{const prevLoad=DT._lastQueuePreloadLink;return DT._lastQueuePreloadLink=new Promise((async resolve=>{try{await prevLoad}catch(err){}DT.addPreloadLink(link).catch((reason=>{DT.log("error","Failed to preload link",reason)})).finally(resolve)})),DT._lastQueuePreloadLink},DT._lastQueueLoadDeps=new Promise((resolve=>resolve())),DT.queueLoadDeps=async loadDeps=>{if("function"!=typeof loadDeps)return;const prevLoad=DT._lastQueueLoadDeps;return DT._lastQueueLoadDeps=new Promise((async resolve=>{try{await prevLoad}catch(err){DT.log("error","Fail prev deps load",err)}await DT.idle();try{await loadDeps()}catch(err){DT.log("error","Failed to queue load deps",err)}resolve()})),DT._lastQueueLoadDeps},DT.queueDepsOnLoad=loadDeps=>new Promise((resolve=>{DT.onLoadIdle((async()=>{try{await DT.queueLoadDeps(loadDeps)}finally{resolve()}}))})),DT.loadDeps=({js:js=[],css:css=[]},priority="",{loadJs:loadJs=!0,loadCss:loadCss=!0}={})=>{const loadPromises=[];if(loadJs||loadCss||(loadJs=!0,loadCss=!0),loadJs){const loadScriptsOnce=[];for(let i=0;i<js.length;i++){const jsUrl=js[i];Array.isArray(jsUrl)?priority?loadPromises.push(DT.loadScriptsInOrderOnce(...jsUrl.map((url=>({src:url,fetchPriority:priority}))))):loadPromises.push(DT.loadScriptsInOrderOnce(...jsUrl)):priority?loadScriptsOnce.push({src:jsUrl,fetchPriority:priority}):loadScriptsOnce.push(jsUrl)}loadScriptsOnce.length&&loadPromises.push(DT.loadScriptsOnce(...loadScriptsOnce))}return loadCss&&css.length&&loadPromises.push(DT.loadCSS(...css)),Promise.all(loadPromises)},DT.createLoadDeps=(deps,priority="")=>(options={})=>DT.loadDeps(deps,priority,options),DT.loadLazyDeps=(lazyDeps,priority="")=>{const deps=DT.collectDeps(DT.parseLazyDeps(lazyDeps));return deps?DT.loadDeps(deps,priority):Promise.resolve()},DT.prefetchWorker={queuedUrls:{},fetchedUrlsFinished:{},fetchedUrls:{},worker:null,getPrefetchUrlPromise(url){return this.fetchedUrls[url]},log(data){DT.log(data.level,data.message)},onWorkerMessage(event){if("log"===event?.data?.type)return DT.prefetchWorker.log(event.data),void 0;event?.data&&"start_fetch"===event.data.type&&!DT.prefetchWorker.fetchedUrls[event.data.url]&&(DT.prefetchWorker.fetchedUrls[event.data.url]=new Promise((resolve=>{const startFetchUrl=event.data.url,handler=endFetchEvent=>{endFetchEvent?.data&&"end_fetch"===endFetchEvent.data.type&&endFetchEvent.data.url===startFetchUrl&&(DT.prefetchWorker.fetchedUrlsFinished[startFetchUrl]=!0,DT.prefetchWorker.worker.removeEventListener("message",handler),resolve())};DT.prefetchWorker.worker.addEventListener("message",handler)})))},processUrls:(urls=[])=>urls.map((url=>{if(!url)return null;const cleanUrl=url.split("?")[0];let processedUrl,contentType;switch(!0){case cleanUrl.endsWith(".js"):case cleanUrl.endsWith(".js.php"):processedUrl=DT.processJsImportUrl(url),contentType="text/javascript";break;case cleanUrl.endsWith(".css"):case cleanUrl.endsWith(".css.php"):processedUrl=DT.processCssImportUrl(url),contentType="text/css";break;default:processedUrl=url;break}return{originalUrl:url,url:processedUrl,contentType:contentType}})).filter((url=>null!==url)),prefetchUrls(urls,priority="auto"){if(!this.worker||!urls.length)return;const validUrls=urls.filter((url=>!(DT._preloadedLinks[url]||DT._loadedScriptsOnce[url]||DT._loadedStyleSheetsOnce[url]||this.queuedUrls[url]||this.abortedUrls[url]||this.fetchedUrlsFinished[url]))),processedUrls=this.processUrls(validUrls);processedUrls.length&&(processedUrls.forEach((url=>{this.queuedUrls[url.originalUrl]=!0})),this.worker.postMessage({type:"prefetchUrls",urls:processedUrls,priority:priority}))},queuePrefetchUrls(urls,priority="low"){if(!this.worker||!urls.length)return;const validUrls=urls.filter((url=>!(DT._preloadedLinks[url]||DT._loadedScriptsOnce[url]||DT._loadedStyleSheetsOnce[url]||this.queuedUrls[url]||this.abortedUrls[url]||this.fetchedUrlsFinished[url]))),processedUrls=this.processUrls(validUrls);processedUrls.length&&(processedUrls.forEach((url=>{this.queuedUrls[url.originalUrl]=!0})),this.worker.postMessage({type:"queuePrefetchUrls",urls:processedUrls,priority:priority}))},abortedUrls:{},abortPrefetchUrls(...urls){if(!this.worker||!urls.length)return;const validUrls=urls.filter((url=>!this.abortedUrls[url]&&!this.fetchedUrlsFinished[url])),processedUrls=this.processUrls(validUrls);processedUrls.length&&(processedUrls.forEach((url=>{this.abortedUrls[url.originalUrl]=!0})),this.worker.postMessage({type:"abortPrefetchUrls",urls:processedUrls}))},queuePrefetchUrlsOnReady(urls,priority="high"){DT.onReadyIdle((()=>{this.queuePrefetchUrls(urls,priority)}))},queuePrefetchUrlsOnLoad(urls,priority="low"){DT.onLoadIdle((()=>{this.queuePrefetchUrls(urls,priority)}))},init(){try{this.worker=new Worker(DT.prefetchWorkerUrl,{name:"DT Prefetch Worker"}),this.worker.addEventListener("message",this.onWorkerMessage)}catch(err){this.worker=null,DT.log("error","Failed to create Prefetch Worker",err)}}},DT.queuePrefetchDeps=({js:js=[],css:css=[]},priority="low",direct=!1)=>{const prefetchUrls=[],addNestedUrls=urls=>{for(let i=0;i<urls.length;i++){const url=urls[i];Array.isArray(url)?addNestedUrls(url):prefetchUrls.push(url)}};addNestedUrls(js),addNestedUrls(css),direct?DT.prefetchWorker.prefetchUrls(prefetchUrls,priority):DT.prefetchWorker.queuePrefetchUrls(prefetchUrls,priority)},DT.onReadyIdle((()=>{DT.usePrefetchWorker&&"undefined"!=typeof Worker&&null===DT.prefetchWorker.worker&&DT.prefetchWorker.init()})),DT.debounce=function(func,threshold=200,execAsap){var timeout;return function debounced(){var obj=this,args=arguments;function delayed(){execAsap||func.apply(obj,args),timeout=null}timeout?clearTimeout(timeout):execAsap&&func.apply(obj,args),timeout=setTimeout(delayed,threshold)}},DT.throttle=function(func,limit=200){var wait=!1;return function(){var obj=this,args=arguments;wait||(func.apply(obj,args),wait=!0,setTimeout((function(){wait=!1}),limit))}},DT._callbacksNotifyFirstMouseMove=[],DT._callbacksNotifyFirstMouseMoveTriggered=!1,DT.notifyFirstMouseMove=(...callbacks)=>{DT._callbacksNotifyFirstMouseMove.push(...callbacks)},DT.notifierOnFirstMouseMove=()=>{if(!DT._callbacksNotifyFirstMouseMoveTriggered){DT._callbacksNotifyFirstMouseMoveTriggered=!0,document.removeEventListener("scroll",DT.notifierOnFirstMouseMove),document.removeEventListener("mousemove",DT.notifierOnFirstMouseMove),DT.isMobile&&document.removeEventListener("touchmove",DT.notifierOnFirstMouseMove),document.removeEventListener("pointermove",DT.notifierOnFirstMouseMove);for(let i=0;i<DT._callbacksNotifyFirstMouseMove.length;i++)try{DT._callbacksNotifyFirstMouseMove[i]()}catch(_err){}}},DT.onReady((()=>{document.addEventListener("scroll",DT.notifierOnFirstMouseMove),document.addEventListener("mousemove",DT.notifierOnFirstMouseMove),DT.isMobile&&document.addEventListener("touchmove",DT.notifierOnFirstMouseMove),document.addEventListener("pointermove",DT.notifierOnFirstMouseMove)})),DT.loadHtml=async({element:element,url:url,asOuterHtml:asOuterHtml=!1,fetchOptions:fetchOptions,allowOnlyDtUrl:allowOnlyDtUrl=!0})=>{"string"==typeof element&&(element=document.querySelector(element));let htmlUrl=url;if(DT.isRelativeUrl(htmlUrl))0===htmlUrl.indexOf("/")&&(htmlUrl=htmlUrl.slice(1)),htmlUrl=`${DT.ajaxBase}${htmlUrl}`;else if(allowOnlyDtUrl&&!DT.isDtUrl(htmlUrl))return;const response=await fetch(htmlUrl,fetchOptions);if(!response.ok)throw new Error(`HTTP error: ${response.status}`);const html=await response.text();if("CheckLogin"===html)return location.reload(),void 0;asOuterHtml?element.outerHTML=html:element.innerHTML=html},DT.jsonData={},DT.parseJSONData=dataId=>{var oData=document.getElementById(dataId);return!(!oData||!oData.text)&&JSON.parse(oData.text)},DT.parseJsonHtml=templateName=>{let html=null;try{const data=DT.parseJSONData(`json-html-${templateName}`);if(!data)return null;html=data.html}catch(error){return DT.log("error","Failed to parse JSON template",error),null}if(!html)return null;const placeholder=document.createElement("div");return placeholder.innerHTML=html,placeholder.firstElementChild},DT.isNullish=value=>null==value,DT.toType=obj=>Object.prototype.toString.call(obj).slice(8,-1).toLowerCase(),DT.isObject=value=>"object"===DT.toType(value),DT.deepMerge=(...sources)=>{let returnValue={};for(const source of sources)if(Array.isArray(source))Array.isArray(returnValue)||(returnValue=[]),returnValue=[...returnValue,...source];else if(DT.isObject(source))for(let[key,value]of Object.entries(source))DT.isObject(value)&&key in returnValue&&(value=DT.deepMerge(returnValue[key],value)),returnValue={...returnValue,[key]:value};return returnValue},DT.setCookie=function(name,value,expires,path,domain,secure){expires||(expires=30);var today=new Date,expires2=new Date(today.getTime()+864e5*expires);document.cookie=name+"="+encodeURIComponent(value)+(expires?"; expires="+expires2.toGMTString():"")+(path?"; path="+path:"; path=/")+(domain?"; domain="+domain:"; domain=.dreamstime.com")+(secure?"; secure":"")},DT.getCookie=function(name){var dc=document.cookie,prefix=name+"=",begin=dc.indexOf("; "+prefix);if(-1==begin){if(0!=(begin=dc.indexOf(prefix)))return null}else begin+=2;var end=document.cookie.indexOf(";",begin);return-1==end&&(end=dc.length),decodeURIComponent(dc.substring(begin+prefix.length,end))},DT.deleteCookie=function(name,path,domain){DT.getCookie(name)&&(document.cookie=name+"="+(path?"; path="+path:"")+(domain?"; domain="+domain:"")+"; expires=Thu, 01-Jan-70 00:00:01 GMT")},DT.parseLazyDeps=deps=>{const parsedDeps={};for(const[key,value]of Object.entries(deps))parsedDeps[key]=value.toString().split(",").map((urlKey=>{const urlKeyTrimmed=urlKey.toString().trim(),deps=DT.htmlLazyDeps[urlKeyTrimmed];return deps||(DT.isDtUrl(urlKeyTrimmed)?urlKeyTrimmed:"")}));return parsedDeps},DT.isElement=element=>element instanceof Element||element instanceof Document,DT.getElement=selectorOrElement=>{try{return"string"==typeof selectorOrElement?document.querySelector(selectorOrElement):selectorOrElement}catch(_){return null}},DT.collectDeps=deps=>{const js=[],css=[];for(let[key,value]of Object.entries(deps))Array.isArray(value)||(value=[value]),key.startsWith("js-order")?js.push([...value]):key.startsWith("js")?js.push(...value):key.startsWith("css")&&css.push(...value);return{js:js,css:css}},DT.loadDepsFromTree=element=>{const elements=[...element.querySelectorAll("[data-lazy-deps]")];return element.dataset?.lazyDeps&&elements.push(element),elements.length?Promise.all(elements.map((element=>{const jsonDeps=element.dataset?.lazyDeps,parsedDeps=DT.parseLazyDeps(JSON.parse(jsonDeps)),deps=DT.collectDeps(parsedDeps);return DT.createLoadDeps(deps,"high")()}))):Promise.resolve()},DT.insertTemplate=async(templateOrSelector,elementOrSelector,position="append")=>{const template=DT.getElement(templateOrSelector),element=DT.getElement(elementOrSelector);if(!template||!element)return;const templateElement=template.content.cloneNode(!0);return await DT.loadDepsFromTree(templateElement),"append"===position?element.appendChild(templateElement):element.prepend(templateElement),templateElement},DT.afterPaint=async(callback=null)=>(await DT.nextFrame(),callback?(DT.onNextIter(callback),void 0):DT.nextIter()); DT.UI={loadingTimeouts:new WeakMap,showLoading({element:element,type:type="area",theme:theme="dark",size:size=null,positionRelative:positionRelative=!1,timeout:timeout=null,isPage:isPage=!1}){if(!(element=DT.getElement(element)))return;if(clearTimeout(this.loadingTimeouts.get(element)),"button"===type&&(type="btn"),!timeout)return this._showLoading({element:element,type:type,theme:theme,size:size,positionRelative:positionRelative,isPage:isPage}),DT.nextIter();const timeoutId=setTimeout((async()=>{await DT.yieldIfInputPending(),this._showLoading({element:element,type:type,theme:theme,size:size,positionRelative:positionRelative,isPage:isPage})}),timeout);return this.loadingTimeouts.set(element,timeoutId),DT.nextIter()},_showLoading({element:element,type:type="area",theme:theme="dark",size:size=null,positionRelative:positionRelative=!1,isPage:isPage=!1}){const elem=DT.getElement(element);if(!elem)return;const prevState=this.get(elem);if(elem.setAttribute("data-loading-type",type),"area"===type){const loadingArea=this.makeLoadingArea(isPage);elem.appendChild(loadingArea);const borderRadius=window.getComputedStyle(elem).borderRadius;borderRadius&&"0px"!==borderRadius&&loadingArea.style.setProperty("--loading-area-border-radius",borderRadius)}elem.setAttribute("data-loading",theme),size&&elem.setAttribute("data-loading-size",size),positionRelative&&elem.setAttribute("data-pos",""),prevState&&elem.setAttribute("data-loading-prev-state",prevState),this.unset(elem)},makeLoadingArea(isPage=!1){const element=document.createElement("div");return element.classList.add("loading","js-loading-area"),isPage&&element.setAttribute("data-page-loading",""),element},hideLoading(selectorOrElement){const element=DT.getElement(selectorOrElement);if(!element)return;const prevState=element.getAttribute("data-loading-prev-state"),area=element.querySelector(".js-loading-area");element.removeAttribute("data-loading-type"),element.removeAttribute("data-loading"),element.removeAttribute("data-loading-size"),element.removeAttribute("data-pos"),area?.remove(),prevState&&(this.set(element,prevState),element.removeAttribute("data-loading-prev-state")),clearTimeout(this.loadingTimeouts.get(element))},showPageLoading(theme="dark"){return this.showLoading({element:document.body,type:"area",theme:theme,isPage:!0})},hidePageLoading(){this.hideLoading(document.body)},isLoading:selectorOrElement=>DT.getElement(selectorOrElement)?.hasAttribute("data-loading"),set(selectorOrElement,state){DT.getElement(selectorOrElement)?.setAttribute("data-state",state)},unset(selectorOrElement){DT.getElement(selectorOrElement)?.removeAttribute("data-state")},unsetIf(selectorOrElement,state){this.is(selectorOrElement,state)&&this.unset(selectorOrElement)},get:selectorOrElement=>DT.getElement(selectorOrElement)?.getAttribute("data-state"),is(selectorOrElement,state){return this.get(selectorOrElement)===state},toggle(selectorOrElement,state){if(this.is(selectorOrElement,state))return this.unset(selectorOrElement),void 0;this.set(selectorOrElement,state)},toggleCustom(selectorOrElement,stateOn,stateOff){if(this.is(selectorOrElement,stateOn))return this.set(selectorOrElement,stateOff),void 0;this.set(selectorOrElement,stateOn)},setCustom(selectorOrElement,attribute,value){DT.getElement(selectorOrElement)?.setAttribute(`data-${attribute}`,value)},unsetCustom(selectorOrElement,attribute){DT.getElement(selectorOrElement)?.removeAttribute(`data-${attribute}`)},offset(element){const box=element.getBoundingClientRect(),scrollX=window.pageXOffset,scrollY=window.pageYOffset,clientTop=document.documentElement.clientTop,clientLeft=document.documentElement.clientLeft,left=box.left+scrollX-clientLeft,right=box.right+scrollX-clientLeft;return{top:box.top+scrollY-clientTop,left:left,right:right,bottom:box.bottom+scrollY-clientTop,inlineStart:DT.isRtl?right:left,inlineEnd:DT.isRtl?left:right}}}; DT.htmlLazyLoad={directPrefetch:!0,initializers:{},visibleMarginPx:100,events:new Set,deps:new Map,loading:new Set,loaded:new Set,loadingPromises:new Map,prefix:"data-dt-",broadcastTargets:{},getDepsUrls(element,attr,first=!1){const isAjax=this.hasAttr(element,"ajax"),urls=this.getAttr(element,attr)?.split(",").map((urlKey=>{const urlKeyTrimmed=urlKey.trim();return isAjax&&DT.isDtUrl(urlKeyTrimmed)?urlKeyTrimmed:DT.htmlLazyDeps[urlKeyTrimmed]}));return first?urls?.[0]:urls},setLoaded(id){this.loaded.add(id)},setLoading(id){this.loading.add(id)},createEvent:(eventName,detail)=>new CustomEvent(eventName,{detail:detail}),isOnDocumentEvent(eventName){return eventName.startsWith(`${this.prefix}on-document`)},isOnWindowEvent(eventName){return eventName.startsWith(`${this.prefix}on-window`)},broadcast(infix,ev,type=ev.type){try{const keyPrefix=`${infix}-`,keyDefault=`${keyPrefix}${type}`,keyKeyboard=ev instanceof KeyboardEvent?`${keyPrefix}key-${ev.key.toLowerCase()}`:null,elements=this.broadcastTargets[keyDefault],elementsKeyboard=keyKeyboard?this.broadcastTargets[keyKeyboard]:null;elements?.length&&elements.forEach((target=>{document.contains(target)&&this.dispatch(target,infix,ev)})),elementsKeyboard?.length&&elementsKeyboard.forEach((target=>{document.contains(target)&&this.dispatch(target,infix,ev)}))}catch(err){DT.log("error","Failed to broadcast",err)}},getAttr(element,attr){return element.getAttribute(`${this.prefix}${attr}`)},hasAttr(element,attr){return element.hasAttribute(`${this.prefix}${attr}`)},getRootElement(id){return document.querySelector(`[${this.prefix}id="${id}"][${this.prefix}root]`)},getDispatchTarget(element,id,ev){if(!this.hasAttr(element,"dispatch-target"))return element;try{const selector=this.getAttr(element,"dispatch-target");return"original"===selector?ev.target??element:"document"===selector?document.body:"window"===selector?window:"root"===selector?this.getRootElement(id):document.querySelector(selector)}catch(err){DT.log("error","Failed to get dispatchTarget, use element",err)}return element},doAction({id:id,element:element,ev:ev,eventName:eventName,isPreventDefault:isPreventDefault}){let action="dispatch";switch(this.hasAttr(element,`action${eventName}`)?action=this.getAttr(element,`action${eventName}`):this.hasAttr(element,"action")&&(action=this.getAttr(element,"action")),action){case"dispatch":{const dispatchTarget=this.getDispatchTarget(element,id,ev),customDispatchEvent=this.getAttr(element,"dispatch-event"),dispatchNextIter=()=>{try{if(customDispatchEvent&&customDispatchEvent!==ev.type)return dispatchTarget.dispatchEvent(new Event(customDispatchEvent,{bubbles:!0,cancelable:!0})),void 0;isPreventDefault?dispatchTarget.dispatchEvent(new ev.constructor(ev.type,{...ev,bubbles:!0,cancelable:!0})):dispatchTarget.dispatchEvent(ev)}catch(err){DT.log("error",`DT Loader failed to dispatch event ${ev.type} with name ${eventName} for id ${id}`,err)}};return DT.onNextIter(dispatchNextIter),void 0}case"call":{const obj=this.getAttr(element,"obj"),method=this.getAttr(element,"method"),objRoot=this.hasAttr(element,"obj-dt")?DT:window;try{if(obj){const objPath=obj.split(".");let object=objRoot;objPath.forEach((path=>object=object[path])),object[method](ev,element)}else objRoot[method](ev,element)}catch(err){DT.log("error","Failed to call obj method",err)}return}case"custom-dispatch":{const dispatchTarget=this.getDispatchTarget(element,id,ev),customEventName=this.getAttr(element,"dispatch-event")??ev.type,detail=this.getAttr(element,"dispatch-detail")??"";return DT.onNextIter((()=>{dispatchTarget.dispatchEvent(this.createEvent(customEventName,detail))})),void 0}case"init":{const initializer=this.getAttr(element,"init");try{DT.htmlLazyLoad.initializers[initializer](ev,element)}catch(err){DT.log("error","Failed to call init",err)}return}case"root":{const rootElement=this.getRootElement(id);if(rootElement===element)return;return this.doAction({id:id,element:rootElement,ev:ev,eventName:eventName,isPreventDefault:isPreventDefault}),void 0}default:return}},load:{async default({loadDeps:loadDeps}){await loadDeps()},async html({loadDeps:loadDeps,loader:loader,element:element}){const urlKey=loader.getAttr(element,"html"),url=DT.htmlLazyDeps[urlKey.trim()],loadTarget=loader.getAttr(element,"html-target")??element,asOuterHtml=loader.hasAttr(element,"html-outer");await loadDeps({loadJs:!1}),await DT.loadHtml({element:loadTarget,url:url,asOuterHtml:asOuterHtml}),await loadDeps({loadCss:!1})}},async getLoadingElemByBreakpoint(element){let loadingElem=element;const loadingBpAttrs=element.getAttributeNames().filter((attr=>attr.startsWith(`${this.prefix}loading-target-`)));return loadingBpAttrs.length?(await DT.loadScriptsOnce("js/breakpoints.js"),loadingBpAttrs.forEach((attr=>{const breakpoint=attr.replace(`${this.prefix}loading-target-`,"");DT.breakpoints.is(breakpoint)&&(loadingElem=document.querySelector(element.getAttribute(attr)))})),loadingElem):loadingElem},async displayLoading({element:element,eventName:eventName}){let isLoadingDisplayed=!1,loadingElem=null;if(!this.hasAttr(element,"show-loading"))return{isLoadingDisplayed:isLoadingDisplayed,loadingElem:loadingElem};if(this.hasAttr(element,"loading-for")){const loadingFor=this.getAttr(element,"loading-for"),eventNameClean=eventName.replace("-","");if(!loadingFor.includes(eventName)&&!loadingFor.includes(eventNameClean))return{isLoadingDisplayed:isLoadingDisplayed,loadingElem:loadingElem}}if(isLoadingDisplayed=!0,loadingElem=element,this.hasAttr(element,"loading-target")){const loadingElemType=this.getAttr(element,"loading-target");if("bp"===loadingElemType)loadingElem=await this.getLoadingElemByBreakpoint(element);else if(loadingElemType.startsWith("closest:")){const closestSelector=loadingElemType.replace("closest:","");loadingElem=element.closest(closestSelector)}else if(loadingElemType.startsWith("scope:")){const scopeSelector=loadingElemType.replace("scope:","");loadingElem=element.querySelector(`:scope ${scopeSelector}`)}else loadingElem=document.querySelector(loadingElemType)}return DT.UI.isLoading(loadingElem)||(DT.UI.showLoading({element:loadingElem,type:this.getAttr(element,"loading-type"),theme:this.getAttr(element,"loading-theme"),size:this.getAttr(element,"loading-size"),positionRelative:this.hasAttr(element,"loading-relative"),timeout:parseInt(this.getAttr(element,"loading-delay"),10)||null}),await DT.Scheduler.yieldToMain()),{isLoadingDisplayed:isLoadingDisplayed,loadingElem:loadingElem}},isAllowed({element:element,event:event}){switch(!0){case event instanceof PointerEvent:{if(!this.hasAttr(element,"mouse-button")||"mouse"!==event.pointerType)return!0;const mouseButton=undefined;return this.getAttr(element,"mouse-button").split(",").includes(event.button.toString())}default:return!0}},async displaySecondaryLoading(element,eventName,id){if(DT.UI.isLoading(element))return;const{isLoadingDisplayed:isLoadingDisplayed,loadingElem:loadingElem}=await this.displayLoading({element:element,eventName:eventName});if(isLoadingDisplayed)try{await this.loadingPromises.get(id)}finally{DT.UI.hideLoading(loadingElem)}},async dispatch(element,prefix="",ev){const id=this.getAttr(element,"id");if(!id||this.loaded.has(id))return;let eventName=`${prefix}-${ev.type}`;if(ev instanceof KeyboardEvent){const eventKey=ev.key.toLowerCase();this.hasAttr(element,`on${prefix}-key-${eventKey}`)&&(eventName=`${prefix}-key-${eventKey}`)}let isPreventDefault=!1;if(this.hasAttr(element,`on${eventName}-preventdefault`)&&(ev.preventDefault(),isPreventDefault=!0),!this.hasAttr(element,`on${eventName}`)||DT.isTouchDevice&&this.hasAttr(element,`on${eventName}-no-touch`)||!this.isAllowed({element:element,event:ev}))return;if(await DT.Scheduler.waitForHighPriority(),this.loading.has(id))return this.displaySecondaryLoading(element,eventName,id),void 0;this.loading.add(id);const elementDeps=this.deps.get(id),loadDeps=DT.createLoadDeps(elementDeps,"high"),{isLoadingDisplayed:isLoadingDisplayed,loadingElem:loadingElem}=await this.displayLoading({element:element,eventName:eventName});try{const loadDepsType=this.hasAttr(element,"html")?"html":"default",loadingPromise=this.load[loadDepsType]({loadDeps:loadDeps,element:element,loader:this});this.loadingPromises.set(id,loadingPromise),await loadingPromise,this.loaded.add(id),isLoadingDisplayed&&(DT.UI.hideLoading(loadingElem),await DT.afterPaint()),this.doAction({id:id,element:element,ev:ev,eventName:eventName,isPreventDefault:isPreventDefault})}catch(err){this.loaded.add(id),isLoadingDisplayed&&DT.UI.hideLoading(loadingElem),DT.log("error",`Failed to lazy load ${id} reason: ${err}`,err)}},processWindowEvent(ev){this.broadcast("-window",ev,ev.type)},async processDocumentEvent(ev){let type=ev.type,element=ev.target;for(this.broadcast("-document",ev,type);element&&element.getAttribute;)await this.dispatch(element,"",ev),element=ev.bubbles?element.parentElement:null},push(eventName){if(!eventName||this.events.has(eventName))return;let domEventName=eventName;eventName.startsWith("key-")&&(domEventName="keydown"),document.addEventListener(domEventName,this.processDocumentEvent.bind(this),{capture:!0,passive:!1}),window.addEventListener(domEventName,this.processWindowEvent.bind(this)),this.events.add(eventName)},addTree(rootElem){rootElem&&(this.add(rootElem),rootElem.querySelectorAll(`:scope [${this.prefix}id]`).forEach((elem=>this.add(elem))))},initMutationObserver(){this.mutationObserver=new MutationObserver((async mutations=>{await DT.Scheduler.waitForHighPriority(),mutations.forEach((mutation=>{"childList"===mutation.type&&mutation.addedNodes.forEach((node=>{node.nodeType===Node.ELEMENT_NODE&&(this.addTree(node),DT.loadDepsFromTree(node))}))}))})),this.mutationObserver.observe(document.body,{childList:!0,subtree:!0}),document.dispatchEvent(new Event("dt_loader:mutation-observer-init"))},getUrlsFromLazyDeps(lazyDeps){const parsedDeps=DT.parseLazyDeps(JSON.parse(lazyDeps));return Object.values(parsedDeps).flat(3)},prefetchLazyDeps(){DT.onLoad((()=>{const elements=[...document.querySelectorAll("[data-lazy-deps]")],templates=[...document.querySelectorAll("template")];elements?.forEach((element=>{try{DT.prefetchWorker.queuePrefetchUrls(this.getUrlsFromLazyDeps(element.dataset.lazyDeps))}catch(_){}})),templates?.forEach((template=>{const elements=undefined;[...template.content.querySelectorAll("[data-lazy-deps]")]?.forEach((element=>{try{DT.prefetchWorker.queuePrefetchUrls(this.getUrlsFromLazyDeps(element.dataset.lazyDeps))}catch(_){}}))}))}))},pushBroadcastTarget(broadcastPrefix,element,eventName){const key=`${broadcastPrefix}-${eventName}`;this.broadcastTargets[key]||(this.broadcastTargets[key]=[]),this.broadcastTargets[key].push(element)},add(element){const id=this.getAttr(element,"id");if(!id)return;const attributeNames=element.getAttributeNames(),elementEvents=attributeNames.filter((attr=>attr.startsWith(`${this.prefix}on`)));if((!elementEvents.length||elementEvents.some((ev=>!ev.endsWith("-preventdefault"))))&&(elementEvents.forEach((eventName=>{const domEvent=eventName.replace("-window","").replace("-document","").replace(`${this.prefix}on-`,"").replace("-preventdefault","");this.push(domEvent),this.isOnDocumentEvent(eventName)&&this.pushBroadcastTarget("-document",element,domEvent),this.isOnWindowEvent(eventName)&&this.pushBroadcastTarget("-window",element,domEvent),["ready","load"].includes(domEvent)&&this.pushBroadcastTarget("",element,domEvent)})),this.hasAttr(element,"root")&&!this.deps.has(id)))try{const js=[],css=[];let prefetchOnlyDeps=[];if(this.hasAttr(element,"js")){const urls=this.getDepsUrls(element,"js");js.push(...urls)}const jsOrderAttr=undefined;if(attributeNames.filter((attr=>attr.startsWith(`${this.prefix}js-order`))).forEach((attr=>{const urls=this.getDepsUrls(element,attr.replace(this.prefix,""));js.push([...urls])})),this.hasAttr(element,"css")){const urls=this.getDepsUrls(element,"css");css.push(...urls)}this.hasAttr(element,"prefetch-deps")&&(prefetchOnlyDeps=this.getDepsUrls(element,"prefetch-deps"));const priority=this.getAttr(element,"priority")??"low",prefetchOnlyDepsPriority=this.getAttr(element,"prefetch-deps-priority")??"low",prefetchOnlyDepsDirect=this.hasAttr(element,"prefetch-deps-direct"),elementDeps={js:js,css:css};this.deps.set(id,elementDeps);const doPrefetchOnlyDeps=async()=>{if(prefetchOnlyDeps?.length){if(await DT.nextIter(),prefetchOnlyDepsDirect)return DT.prefetchWorker.prefetchUrls(prefetchOnlyDeps,prefetchOnlyDepsPriority),void 0;DT.prefetchWorker.queuePrefetchUrls(prefetchOnlyDeps,prefetchOnlyDepsPriority)}};"load"===this.getAttr(element,"prefetch")?DT.onLoadIdle((()=>{DT.queuePrefetchDeps(elementDeps,priority,this.directPrefetch),doPrefetchOnlyDeps()})):(DT.queuePrefetchDeps(elementDeps,priority,this.directPrefetch),doPrefetchOnlyDeps())}catch(error){DT.log("error","Failed to lazy load from element",error)}},init(){DT.onReadyIdle((async()=>{const elements=document.querySelectorAll(`[${this.prefix}id]`);let processed=0;const PROCESSED_BREAK_TASK=25;for(const element of elements)this.add(element),processed++,processed>=25&&(await DT.Scheduler.yieldToMain(),processed=0);if(this.events.has("visible")){const results=document.querySelectorAll(`[${this.prefix}on-visible]`),observer=new IntersectionObserver((entries=>{for(const entry of entries)entry.isIntersecting&&(observer.unobserve(entry.target),this.dispatch(entry.target,"",this.createEvent("visible",entry)))}),{rootMargin:`${this.visibleMarginPx}px`});results.forEach((el=>observer.observe(el)))}if(this.events.has("not-visible")){const results=document.querySelectorAll(`[${this.prefix}on-not-visible]`),observer=new IntersectionObserver((entries=>{for(const entry of entries)entry.isIntersecting||(observer.unobserve(entry.target),this.dispatch(entry.target,"",this.createEvent("not-visible",entry)))}),{threshold:1});results.forEach((el=>observer.observe(el)))}this.events.has("ready")&&DT.onIdle((()=>this.broadcast("",this.createEvent("ready")))),this.events.has("load")&&DT.onLoadIdle((()=>this.broadcast("",this.createEvent("load")))),this.initMutationObserver(),this.prefetchLazyDeps(),DT.onNextIter((()=>{document.dispatchEvent(new Event("dt_loader:init"))}))}))}},DT.htmlLazyLoad.init(); DT.onLoad((()=>{DT.loadScriptsOnce("js/push.js")})); DT.onReady((()=>{if(void 0!==DT.toast)return;let isInitializing=!1,resolve,reject,initPromise=new Promise(((_resolve,_reject)=>{resolve=_resolve,reject=_reject}));const initializer=async(...params)=>{if(isInitializing)return initPromise.then((()=>{DT.toast?.(...params)}));isInitializing=!0;try{const initPromise=fetch(`${DT.componentsBasePath}Toast/init.ajax.php`),depsPromise=DT.loadScriptsOnce("js/ajax_html.js"),[response]=await Promise.all([initPromise,depsPromise]);if(!response.ok)return;return await DT.ajaxHtml.fromResponse(response,(html=>{html&&document.body.insertAdjacentHTML("beforeend",html)})),DT.toast===initializer?(DT.toast=null,void 0):DT.toast?.(...params)}catch(error){return DT.log("error","Failed to load toast component",error),()=>{}}finally{isInitializing=!1,resolve()}};DT.toast=initializer})); DT.onReadyIdle((()=>{document.addEventListener("click",(event=>{const button=event.target.closest(".js-password-toggle-btn");if(!button)return;event.preventDefault();const inputSelector=button.getAttribute("data-input"),input=document.querySelector(inputSelector);input&&("password"===input.type?(input.type="text",button.setAttribute("aria-pressed","true")):(input.type="password",button.setAttribute("aria-pressed","false")))}))})); document.addEventListener("paste",function(e){var t=e.target;if(t&&t.closest&&t.closest('.js-search-input, .js-header-search-input, input[name="srh_field"]')){var r=function(e){var t=e.clipboardData||window.clipboardData;if(!t)return null;var r=t.files;if(r&&r.length&&/^image\//.test(r[0].type))return r[0];for(var i=t.items||[],a=0;a<i.length;a++)if("file"==i[a].kind&&/^image\//.test(i[a].type)){var l=i[a].getAsFile();if(l)return l}return null}(e);if(r){var i=t.closest("form[data-puzzle]"),a=i?i.getAttribute("data-puzzle"):"off";if("off"!=a)if(e.preventDefault(),"register"!=a){try{t.value=""}catch(e){}DT.loadScriptsInOrderOnce("js/plugins/hermite.js","js/jquery.js","js/plugins/puzzle.js").then(function(){if("undefined"==typeof puzzle||!puzzle.searchFile)throw new Error("puzzle.searchFile is not available");puzzle.searchFile(r)}).catch(function(e){DT.log("error","Failed to load puzzle for a pasted image",e)})}else window.location.href=i.getAttribute("data-puzzle-register")}}}); DT.onReady((()=>{const combobox=document.querySelector(".js-search-combobox"),input=combobox.querySelector(".js-search-input"),wrapper=document.querySelector(".js-search-autocomplete"),content=wrapper.querySelector(".js-content"),accessibilityStatus=wrapper.querySelector(".js-accessibility-status"),isLogSelection=wrapper.hasAttribute("data-log-selection"),logUrl=wrapper.getAttribute("data-log-url"),searchForm=document.querySelector(".js-search-form");let suggestionsController=null,stateController=null,keyboardInteractionController=null,state="close",currentInputValue=input.value;const statusTexts={noSuggestions:wrapper.getAttribute("data-no-suggestions-text"),fetching:wrapper.getAttribute("data-fetching-text"),multipleResults:wrapper.getAttribute("data-multiple-results-text"),oneResult:wrapper.getAttribute("data-one-result-text")},fetchUrl=wrapper.getAttribute("data-fetch-url");let lazyDepsInitiated=!1;const initLazyDeps=async()=>{if(lazyDepsInitiated)return;let deps;try{const jsonDeps=wrapper.dataset?.lazyDeps,parsedDeps=DT.parseLazyDeps(JSON.parse(jsonDeps));deps=DT.collectDeps(parsedDeps)}catch(error){DT.log("warn","Failed to parse SearchAutocomplete lazy deps: ",error)}if(deps){try{await DT.createLoadDeps(deps,"high")()}catch(error){return DT.log("warn","Failed to load SearchAutocomplete lazy deps: ",error),void 0}lazyDepsInitiated=!0,wrapper.setAttribute("data-init","true")}},isOpen=()=>"open"===state,isClose=()=>"close"===state,abortPreviousStateTask=()=>{try{stateController?.abort("Abort previous state task"),stateController=null}catch(_){}},abortPreviousKeyboardInteractionTask=()=>{try{keyboardInteractionController?.abort("Abort previous keyboard interaction"),keyboardInteractionController=null}catch(_){}},abortScheduledTasks=()=>{abortPreviousStateTask(),abortPreviousSuggestionsTask(),abortPreviousKeyboardInteractionTask()},close=async()=>{if(abortScheduledTasks(),!isClose()){stateController=new TaskController;try{await DT.Scheduler.postTask((()=>{clearCurrentSuggestionFocus(),combobox.setAttribute("aria-expanded","false"),wrapper.setAttribute("data-state","closed"),state="close"}),{priority:"user-blocking",signal:stateController.signal})}catch(_){}}},open=async()=>{if(abortPreviousStateTask(),!isOpen()){stateController=new TaskController;try{await DT.Scheduler.postTask((()=>{combobox.setAttribute("aria-expanded","true"),wrapper.setAttribute("data-state","opened"),state="open",updateSuggestionsStatus()}),{priority:"user-blocking",signal:stateController.signal})}catch(_){}}},setStatus=message=>{accessibilityStatus.textContent=message},setFetchingStatus=()=>{setStatus(statusTexts.fetching)},setSuggestionsStatus=count=>{switch(!0){case count<1:setStatus(statusTexts.noSuggestions);break;case 1===count:setStatus(statusTexts.oneResult);break;case count>1:setStatus(statusTexts.multipleResults.replace("%d%",count));break;default:setStatus(statusTexts.noSuggestions);break}},querySuggestionsCategories=()=>content.querySelectorAll(".js-suggestions"),querySuggestions=()=>content.querySelectorAll(".js-suggestion"),logSelection=suggestion=>{isLogSelection&&DT.http.post(logUrl,{data:{search:suggestion.getAttribute("data-value"),category:suggestion.getAttribute("data-category")}}).catch((()=>{}))},isSuggestionFocused=suggestion=>"true"===suggestion.getAttribute("aria-selected"),setSuggestionFocus=suggestion=>{input.value=suggestion.getAttribute("data-value"),setSuggestionVisualFocus(suggestion)},scrollIntoView=suggestion=>{suggestion.hasAttribute("data-focus-prevent-scroll")||suggestion.scrollIntoView({block:"nearest",inline:"nearest"})},setSuggestionVisualFocus=suggestion=>{isSuggestionFocused(suggestion)||(clearCurrentSuggestionFocus(),scrollIntoView(suggestion),input.setAttribute("aria-activedescendant",suggestion.id),suggestion.setAttribute("aria-selected","true"),setStatus(suggestion.getAttribute("aria-label")))},clearCurrentSuggestionFocus=()=>{input.setAttribute("aria-activedescendant",""),document.querySelector('.js-suggestion[aria-selected="true"]')?.setAttribute("aria-selected","false")},appendSkipInputIfNeeded=suggestion=>{suggestion.hasAttribute("data-append-skip-input")&&searchForm.insertAdjacentHTML("afterbegin",'<input type="hidden" name="skip" value="yes">')},selectSuggestion=(suggestion,shouldDispatchEvent=!0)=>{input.value=suggestion.getAttribute("data-value"),appendSkipInputIfNeeded(suggestion),logSelection(suggestion),close(),shouldDispatchEvent&&document.dispatchEvent(new CustomEvent("search-autocomplete:select-suggestion"))},abortPreviousSuggestionsTask=()=>{try{suggestionsController?.abort("Abort previous suggestion task"),suggestionsController=null}catch(_){}},updateSuggestionsStatus=()=>{const suggestionsCategories=querySuggestionsCategories();let countSuggestions=0;suggestionsCategories.forEach((suggestions=>{const count=parseInt(suggestions.getAttribute("data-count"),10);countSuggestions+=isNaN(count)?0:count})),setSuggestionsStatus(countSuggestions)},displaySuggestions=async()=>{abortPreviousSuggestionsTask();const searchKeyword=input.value;if(!searchKeyword)return;suggestionsController=new AbortController;const signal=suggestionsController.signal;try{if(await DT.Scheduler.waitForHighPriority({signal:signal}),await initLazyDeps(),signal.aborted)return;setFetchingStatus();const response=await DT.http.get(fetchUrl,{data:{searchKeyword:searchKeyword},signal:signal});if(!response.ok)return;await DT.Scheduler.postTask((async()=>{await DT.ajaxHtml.fromResponse(response,(html=>{if(!signal.aborted){if(!html)return close().then((()=>{content.innerHTML=html})),setSuggestionsStatus(0),void 0;content.innerHTML=html,clearCurrentSuggestionFocus()}})),signal.aborted||(isClose()?open():updateSuggestionsStatus())}),{priority:"user-blocking",signal:signal})}catch(error){DT.log("warn","Error displaying autocomplete suggestions: ",error)}},debouncedDisplaySuggestions=DT.debounce(displaySuggestions,200),queryCurrentFocusedSuggestion=()=>content.querySelector('.js-suggestion[aria-selected="true"]'),focusFirstSuggestion=()=>{const suggestion=content.querySelector(".js-suggestion");suggestion&&setSuggestionFocus(suggestion)},focusLastSuggestion=()=>{const suggestions=content.querySelectorAll(".js-suggestion");if(!suggestions.length)return;const lastSuggestion=suggestions[suggestions.length-1];setSuggestionFocus(lastSuggestion)},cancelKeyboardNavigation=()=>{clearCurrentSuggestionFocus(),revertSuggestion(),updateSuggestionsStatus()},focusNextSuggestion=()=>{const currentFocused=queryCurrentFocusedSuggestion();if(!currentFocused)return focusFirstSuggestion(),void 0;const suggestions=querySuggestions(),suggestionsLength=suggestions.length;for(let i=0;i<suggestionsLength;i++){const suggestion=undefined;if(suggestions[i]===currentFocused&&i+1<suggestionsLength)return setSuggestionFocus(suggestions[i+1]),void 0}cancelKeyboardNavigation()},focusPreviousSuggestion=()=>{const currentFocused=queryCurrentFocusedSuggestion();if(!currentFocused)return focusLastSuggestion(),void 0;const suggestions=querySuggestions(),suggestionsLength=suggestions.length;for(let i=0;i<suggestionsLength;i++){const suggestion=undefined;if(suggestions[i]===currentFocused&&i-1>=0)return setSuggestionFocus(suggestions[i-1]),void 0}cancelKeyboardNavigation()},revertSuggestion=()=>{input.value=currentInputValue},handleSuggestionHover=event=>{const suggestion=event.target.closest(".js-suggestion");suggestion&&content.contains(suggestion)&&setSuggestionVisualFocus(suggestion)},handleUserInputChange=()=>{previousInputValue=currentInputValue,currentInputValue=input.value},handleKeydownPreventDefault=event=>{switch(event.key){case"ArrowDown":case"ArrowUp":case"PageUp":case"PageDown":event.preventDefault();break;default:break}},handleKeyboardInteraction=async event=>{abortPreviousKeyboardInteractionTask(),keyboardInteractionController=new TaskController;const signal=keyboardInteractionController.signal;switch(event.key){case"Enter":case"Escape":if(close(),"Escape"===event.key){try{await DT.Scheduler.waitForHighPriority(),revertSuggestion()}catch(_){}return}if("Enter"===event.key){const currentFocused=queryCurrentFocusedSuggestion();currentFocused&&selectSuggestion(currentFocused,!1)}break;case"ArrowDown":case"ArrowUp":case"PageUp":case"PageDown":if(isClose())return displaySuggestions(),void 0;try{await DT.Scheduler.waitForHighPriority({signal:signal})}catch(_){return}if(signal.aborted)return;if("PageUp"===event.key)return focusFirstSuggestion(),void 0;if("PageDown"===event.key)return focusLastSuggestion(),void 0;if("ArrowDown"===event.key)return focusNextSuggestion(),void 0;if("ArrowUp"===event.key)return focusPreviousSuggestion(),void 0;break;default:break}},handleInputBlur=async event=>{wrapper.contains(event.relatedTarget)||isClose()||(close(),await DT.Scheduler.waitForHighPriority(),revertSuggestion())},handleSuggestionClick=event=>{const suggestion=event.target.closest(".js-suggestion");suggestion&&DT.Scheduler.postTask((()=>{selectSuggestion(suggestion)}),{priority:"user-blocking"})},handleInput=()=>{if(handleUserInputChange(),""===input.value)return close(),void 0;debouncedDisplaySuggestions()},preventBlurIfClickInside=event=>{event.preventDefault()},clearFocusOnMouseOut=event=>{const suggestion=event.target.closest(".js-suggestion");suggestion&&content.contains(suggestion)&&isSuggestionFocused(suggestion)&&!suggestion.contains(event.relatedTarget)&&clearCurrentSuggestionFocus()};wrapper.addEventListener("mousedown",preventBlurIfClickInside),content.addEventListener("click",handleSuggestionClick),input.addEventListener("blur",handleInputBlur),input.addEventListener("input",handleInput),input.addEventListener("keydown",handleKeydownPreventDefault),input.addEventListener("keyup",handleKeyboardInteraction),content.addEventListener("mouseover",handleSuggestionHover),content.addEventListener("mouseout",clearFocusOnMouseOut)})); DT.onReadyIdle((async()=>{const waitLazyLoader=new Promise((resolve=>{document.addEventListener("dt_loader:mutation-observer-init",(()=>{resolve()}))}));await Promise.race([waitLazyLoader,DT.nextIter(200)]);const bannerPlaceholders=document.querySelectorAll(".js-banner-ajax-placeholder");bannerPlaceholders.length&&(DT.afterLcp&&await(DT.afterLcp?.()),bannerPlaceholders.forEach(((placeholder,index)=>{placeholder.innerHTML=DT.bannersToLoad[index]})),setTimeout((()=>{document.querySelectorAll(".js-banner-default").forEach((elem=>{elem.setAttribute("data-state",""),elem.setAttribute("data-loaded",""),DT.onNextIter((()=>{document.dispatchEvent(new CustomEvent("banner:loaded",{detail:{name:elem.getAttribute("data-name"),element:elem}}))}))}))}),0))}),100); function doNothing(){return!1}function doneEvent(){try{if(searchUrlWithPuzzle(document.querySelector('input[name="srh_field"]').value))return!1}catch(e){}return searchSubmitFilters(),!1}function checkShValue(e){var t=document.getElementById(e);return t.value=t.value.trim().replace(/[`~!@#$%^&*()_|+\-=?;:'",<>\{\}\[\]\\\/]/gi," ").toLowerCase(),0==t.value.length||t.value==dtl_SearchSubmit_000||t.value==dtl_SearchSubmit_001||t.value.indexOf(dtl_SearchSubmit_006)>=0?(DT.afterPaint(()=>{alert(dtl_SearchSubmit_002)}),t.focus(),t.select(),!1):t.value.length<2?(DT.afterPaint(()=>{alert(dtl_SearchSubmit_003)}),t.focus(),t.select(),!1):-1!=t.value.search(/[$\\@\\\#%\^\&\*\(\)\[\]\+\_\{\}\`\~\=\|]/)?(DT.afterPaint(()=>{alert(dtl_SearchSubmit_004+"\n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ = | \n\r\n\r"+dtl_SearchSubmit_005+"\n")}),t.focus(),t.select(),!1):t.value}function updateDisableClass(e,t=".people-filers-all"){document.querySelectorAll(t).forEach(t=>{e?(t.classList.add("fltr-content__group--disable"),t.setAttribute("inert",""),t.style.opacity="0.2",t.style.pointerEvents="none"):(t.classList.remove("fltr-content__group--disable"),t.removeAttribute("inert"),t.style.opacity="1",t.style.pointerEvents="auto")})}function bindChange(e,t,s){var r=document.getElementById(e);r&&r.addEventListener(t,function(){changeEvent(1);var e=document.getElementById(s);e&&(e.checked=!0)})}function changeEvent(e){var t=document.getElementById("changeEvent").value;return 1==e&&0==t?(document.getElementById("changeEvent").value="1",!1):"clear"==e&&1==t?(document.getElementById("changeEvent").value="0",!1):2==e?t:void 0}function setActiveSelection(e){"y"===varSHget[e]&&DT.UI.set("#"+e,"active")}function updateSingleSHFlag(e){const t=["s_ph","s_ed","s_il","s_video","s_audio","s_ad"];if(t.includes(e)){if("undefined"==typeof varSHget)return;t.forEach(e=>{varSHget[e]="n"}),varSHget[e]="y"}}function searchSubmitFilters(e){var t=checkShValue("srh_field");if(""===t)return!1;if(varSHget.srh_field=t,document.querySelector("#myonoffswitchwre").checked&&""!==srh_field){var s=checkShValue("srh_fieldwrs");if(""===s)return!1;varSHget.firstvalue=varSHget.srh_field,varSHget.srh_field=s,varSHget.srh_fieldwrs=s}varSHget.s_ph=document.getElementById("s_ph")&&document.getElementById("s_ph").checked?"y":"n",varSHget.s_ed=document.getElementById("s_ed")&&document.getElementById("s_ed").checked?"y":"n",varSHget.s_il=document.getElementById("s_il")&&document.getElementById("s_il").checked?"y":"n",varSHget.s_video=document.getElementById("s_video")&&document.getElementById("s_video").checked?"y":"n",varSHget.s_amusic=document.getElementById("s_amusic")&&document.getElementById("s_amusic").checked?"y":"n",varSHget.s_asfx=document.getElementById("s_asfx")&&document.getElementById("s_asfx").checked?"y":"n",varSHget.s_ad=document.getElementById("s_ad")&&document.getElementById("s_ad").checked?"y":"n",updateSingleSHFlag(e);var r=varSHget.site_adr+"search.php?securitycheck="+varSHget.securitycheck;varSHget.srh_field&&(r=r+"&srh_field="+varSHget.srh_field),varSHget.firstvalue&&(r=r+"&firstvalue="+varSHget.firstvalue),varSHget.lastsearchvalue&&(r=r+"&lastsearchvalue="+varSHget.lastsearchvalue),varSHget.srh_fieldwrs&&(r=r+"&srh_fieldwrs="+varSHget.srh_fieldwrs),varSHget.s_all&&(r+="&s_all=n"),varSHget.s_ph&&(r=r+"&s_ph="+varSHget.s_ph),varSHget.s_il&&(r=r+"&s_il="+varSHget.s_il),varSHget.s_video&&"y"!==varSHget.s_all&&"y"!==varSHget.s_audio&&(r=r+"&s_video="+varSHget.s_video),varSHget.s_audio&&"y"!==varSHget.s_all&&"y"!==varSHget.s_video&&"y"!==varSHget.s_ph&&"y"!==varSHget.s_ad&&"y"!==varSHget.s_ed&&"y"!==varSHget.s_il&&(r+="&s_audio=y"),varSHget.s_ad&&(r=r+"&s_ad="+varSHget.s_ad),varSHget.s_free&&(r=r+"&s_free="+varSHget.s_free),document.querySelector("#myonoffswitchwre").checked&&(r+="&s_st=wre"),document.querySelector("#morewec").checked&&"morewec_remvf"!==e&&(r+="&s_st=wec"),"y"==varSHget.s_wp&&"s_wp_remvf"!=e&&(r=r+"&s_wp="+varSHget.s_wp),"y"==varSHget.s_op&&"s_op_remvf"!=e&&(r=r+"&s_op="+varSHget.s_op,"y"==varSHget.s_mrc1&&(r=r+"&s_mrc1="+varSHget.s_mrc1),"y"==varSHget.s_mrc2&&(r=r+"&s_mrc2="+varSHget.s_mrc2),"y"==varSHget.s_mrc3&&(r=r+"&s_mrc3="+varSHget.s_mrc3),"y"==varSHget.s_mrc4&&(r=r+"&s_mrc4="+varSHget.s_mrc4),"y"==varSHget.s_mrc5&&(r=r+"&s_mrc5="+varSHget.s_mrc5),r=(r=r+"&s_mr="+varSHget.s_mr)+"&s_mrg="+varSHget.s_mrg,"y"==varSHget.s_mra1&&(r=r+"&s_mra1="+varSHget.s_mra1),"y"==varSHget.s_mra2&&(r=r+"&s_mra2="+varSHget.s_mra2),"y"==varSHget.s_mra3&&(r=r+"&s_mra3="+varSHget.s_mra3),"y"==varSHget.s_mra4&&(r=r+"&s_mra4="+varSHget.s_mra4),"y"==varSHget.s_mra5&&(r=r+"&s_mra5="+varSHget.s_mra5),"y"==varSHget.s_mra6&&(r=r+"&s_mra6="+varSHget.s_mra6),"y"==varSHget.s_mra7&&(r=r+"&s_mra7="+varSHget.s_mra7),"y"==varSHget.s_mra8&&(r=r+"&s_mra8="+varSHget.s_mra8),"y"==varSHget.s_mra9&&(r=r+"&s_mra9="+varSHget.s_mra9),"y"==varSHget.s_mrea&&(r=r+"&s_mrea="+varSHget.s_mrea),"y"==varSHget.s_mreb&&(r=r+"&s_mreb="+varSHget.s_mreb),"y"==varSHget.s_mreh&&(r=r+"&s_mreh="+varSHget.s_mreh),"y"==varSHget.s_mrem&&(r=r+"&s_mrem="+varSHget.s_mrem),"y"==varSHget.s_mrec&&(r=r+"&s_mrec="+varSHget.s_mrec),"y"==varSHget.s_mreo&&(r=r+"&s_mreo="+varSHget.s_mreo)),"y"==varSHget.s_sl0&&"s_sl_remvf"!=e&&(r=r+"&s_sl0="+varSHget.s_sl0),"y"==varSHget.s_sl1&&"s_sl_remvf"!=e&&(r=r+"&s_sl1="+varSHget.s_sl1),"y"==varSHget.s_sl2&&"s_sl_remvf"!=e&&(r=r+"&s_sl2="+varSHget.s_sl2),"y"==varSHget.s_sl3&&"s_sl_remvf"!=e&&(r=r+"&s_sl3="+varSHget.s_sl3),"y"==varSHget.s_sl4&&"s_sl_remvf"!=e&&(r=r+"&s_sl4="+varSHget.s_sl4),"y"==varSHget.s_sl5&&"s_sl_remvf"!=e&&(r=r+"&s_sl5="+varSHget.s_sl5),"y"==varSHget.s_rf&&"s_rf_remvf"!=e&&(r=r+"&s_rf="+varSHget.s_rf),"y"==varSHget.s_ed&&"s_ed_remvf"!=e&&(r=r+"&s_ed="+varSHget.s_ed),"y"==varSHget.s_ed&&"s_ed_remvf"===e&&(varSHget.s_ed="n",r+="&s_rf=y"),"y"==varSHget.s_exclusive&&"s_exclusive_remvf"!=e&&(r=r+"&s_exclusive="+varSHget.s_exclusive),"y"==varSHget.s_wel&&"s_wel_remvf"!=e&&(r=r+"&s_wel="+varSHget.s_wel),"y"==varSHget.s_pel&&"s_pel_remvf"!=e&&(r=r+"&s_pel="+varSHget.s_pel),"y"==varSHget.s_srel&&"s_srel_remvf"!=e&&(r=r+"&s_srel="+varSHget.s_srel),"y"==varSHget.s_orp&&"s_orp_remvf"!=e&&(r=r+"&s_orp="+varSHget.s_orp),"y"==varSHget.s_orl&&"s_orl_remvf"!=e&&(r=r+"&s_orl="+varSHget.s_orl),"y"==varSHget.s_ors&&"s_ors_remvf"!=e&&(r=r+"&s_ors="+varSHget.s_ors),"y"==varSHget.s_orw&&"s_orw_remvf"!=e&&(r=r+"&s_orw="+varSHget.s_orw),"y"==varSHget.s_clc&&"s_clc_remvf"!=e&&(r=r+"&s_clc="+varSHget.s_clc),"y"==varSHget.s_clm&&"s_clm_remvf"!=e&&(r=r+"&s_clm="+varSHget.s_clm);let a=document.querySelector("#s_color1");a&&(a=a.value.replace("#",""));let c=document.querySelector('select[name="form_select_id"]');c&&(c=Number(c.value));let n=document.querySelector("#s_color2");n&&(n=n.value.replace("#",""));let _=document.querySelector('select[name="form_select_id2"]');_&&(_=Number(_.value)),document.querySelector("#s_c1e")&&document.querySelector("#s_c1e").checked?varSHget.s_c1e="y":varSHget.s_c1e="",document.querySelector("#s_c2e")&&document.querySelector("#s_c2e").checked?varSHget.s_c2e="y":varSHget.s_c2e="","y"==varSHget.s_c1e&&null!=a&&null!=c&&"s_c1e_remvf"!=e&&(r=(r=(r=r+"&s_c1e="+varSHget.s_c1e)+"&s_color1="+a)+"&s_percent1="+c),"y"==varSHget.s_c2e&&null!=n&&null!=_&&"s_c2e_remvf"!=e&&(r=(r=(r=r+"&s_c2e="+varSHget.s_c2e)+"&s_color2="+n)+"&s_percent2="+_),""!==varSHget.s_rsf&&"MPsize_remvf"!=e&&(r=r+"&s_rsf="+varSHget.s_rsf),""!==varSHget.s_rst&&"MPsize_remvf"!=e&&(r=r+"&s_rst="+varSHget.s_rst),"on"!=varSHget.s_cf&&"off"!=varSHget.s_cf||(r=r+"&s_cf="+varSHget.s_cf),varSHget.memberid&&(document.querySelector("#s_amf").checked?varSHget.s_amf="y":varSHget.s_amf="","y"===varSHget.s_amf&&"s_amf_remvf"!==e&&(r+="&s_amf="+varSHget.s_amf));var l=document.querySelector("#s_sp").value.replace(/\s/g,"");""!==l&&"s_sp_remvf"!==e&&(!0===/^[0-9a-zA-Z \-_,]+$/.test(l)&&(l=encodeURIComponent(l),r+="&s_sp="+l));var d=document.querySelector("#s_exc").value.replace(/\s/g,"");""!==d&&"s_exc_remvf"!==e&&(!0===/^[0-9a-zA-Z \-_,]+$/.test(d)&&(d=encodeURIComponent(d),r+="&s_exc="+d));1==varSHget.s_exc_ai&&"s_exc_ai_remvf"!==e&&(r=r+"&s_exc_ai="+varSHget.s_exc_ai),1==varSHget.s_exc_ai&&"s_exc_ai_remvf"===e&&(varSHget.s_exc_ai=0,varSHget.s_onlyai="n"),"y"==varSHget.s_onlyai&&1!=varSHget.s_exc_ai&&"s_onlyai"!==e&&(r=r+"&s_onlyai="+varSHget.s_onlyai),"y"==varSHget.s_amusic&&"s_amusic_remvf"!==e&&(r=r+"&s_amusic="+varSHget.s_amusic),"y"==varSHget.s_asfx&&"s_asfx_remvf"!==e&&(r=r+"&s_asfx="+varSHget.s_asfx),"y"!=varSHget.s_sl1&&"y"!=varSHget.s_sl2&&"y"!=varSHget.s_sl3&&"y"!=varSHget.s_sl4&&"y"!=varSHget.s_sl4||1!=varSHget.s_zerogravityactiv||"s_sl_remvf"==e||setCookie2("dreamstime_slgravity","n",5),"y"==varSHget.s_sl0&&"y"!=varSHget.s_sl1&&"y"!=varSHget.s_sl2&&"y"!=varSHget.s_sl3&&"y"!=varSHget.s_sl4&&1==varSHget.s_zerogravityactiv&&"s_sl_remvf"!=e&&setCookie2("dreamstime_slgravity","",-5),varSHget.sortcriteria&&(r=r+"&sortcriteria="+varSHget.sortcriteria),r+="&nd=1",memorizeFilters(varSHget.s_ed,varSHget.s_exc_ai),setTimeout(()=>{window.location.href=r},30)}function myonoffswitch2(e){var t=document.URL,s=t.substr(t.length-5),r=new XMLHttpRequest;r.open("POST","../../ajax/memoptions.php"),r.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),r.onload=function(){".html"===s?location.reload():searchSubmitFilters()},r.send("showcontentfiltered="+e+"&securitycheck="+varSHget.securitycheck)}function myonoffswitch3(e){var t=document.URL,s=t.substr(t.length-5),r=new XMLHttpRequest;r.open("POST","../../ajax/memoptions.php"),r.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),r.onload=function(){".html"===s?location.reload():searchSubmitFilters()},r.send("exclude_ai="+e+"&securitycheck="+varSHget.securitycheck)}function resetContent(e){"y"===varSHget.s_audio&&"y"!==varSHget.s_all&&(document.getElementById("s_amusic").checked=!0,document.getElementById("s_asfx").checked=!0,varSHget.s_amusic="y",varSHget.s_asfx="y",varSHget.s_rf="y",document.getElementById("s_rf").checked=!0),"y"===varSHget.s_audio||"y"!=varSHget.s_all&&"y"!=varSHget.s_video&&"y"!=varSHget.s_ph&&"y"!=varSHget.s_ad&&"y"!=varSHget.s_ed&&"y"!=varSHget.s_il||(document.getElementById("s_ph").checked=!1,document.getElementById("s_ad").checked=!1,document.getElementById("s_video").checked=!1,document.getElementById("s_il").checked=!1,"y"==e.s_ph&&(document.getElementById("s_ph").checked=!0,varSHget.s_ph="y"),"y"==e.s_ad&&"y"!==e.s_video&&(document.getElementById("s_ad").checked=!0,varSHget.s_ad="y"),"y"==e.s_video&&(document.getElementById("s_video").checked=!0,varSHget.s_video="y",document.getElementById("s_ad").checked=!1,varSHget.s_ad="n"),"y"==e.s_il&&(document.getElementById("s_il").checked=!0,varSHget.s_il="y"),"y"==e.s_ed?(document.getElementById("s_ed").checked=!0,document.getElementById("s_ph").checked=!0,document.getElementById("s_video").checked=!0,document.getElementById("s_il").checked=!0,varSHget.s_ed="y",varSHget.s_ph="y",varSHget.s_il="y",varSHget.s_video="y"):(document.getElementById("s_ed").checked=!0,varSHget.s_ed="y"),document.getElementById("s_wel").checked=!1,document.getElementById("s_pel").checked=!1,document.getElementById("s_srel").checked=!1,varSHget.s_wel="n",varSHget.s_pel="n",varSHget.s_srel="n",DT.UI.set("#s_aiinclude","active"),DT.UI.unset("#s_exc_ai"),DT.UI.unset("#s_onlyai"),varSHget.s_onlyai="n",varSHget.s_exc_ai=1,document.querySelector(".js-s_pel").style.display="",updateDisableClass(!1,wclass=".js-option-s_ad"),desabled_S_ad(e),"y"!==e.s_ed?(varSHget.s_rf="y",document.getElementById("s_rf").checked=!0):(varSHget.s_rf="n",document.getElementById("s_rf").checked=!1)),document.getElementById("s_amf").checked=!1,document.getElementById("morewec").checked=!1,document.getElementById("s_exclusive").checked=!1,varSHget.s_amf="n",varSHget.morewec="n",varSHget.s_exclusive="n";var t=document.getElementById("s_sp"),s=document.getElementById("s_exc");t.value="",s.value="",changeEvent(1)}function resetPeople(){const e=["s_mrea","s_mreb","s_mreh","s_mrem","s_mrec","s_mreo"];(document.querySelector("#cnt-1").checked||document.querySelector("#nopeople").checked)&&(document.querySelector("#cnt-1").checked=!1,filtersClassAction(".numberppl","unset"),filtersClassAction(".genderppl","unset"),document.querySelector("#nopeople").checked=!1,varSHget.s_op="",varSHget.s_mr="",varSHget.s_wp="",varSHget.s_mrc1="y",varSHget.s_mrc2="y",varSHget.s_mrc3="y",varSHget.s_mrc4="y",varSHget.s_mrc5="y",varSHget.s_mrg="1",DT.UI.set("#s_mrca","active"),DT.UI.set("#s_mrg1","active"),filtersClassAction(".agerange","unset"),DT.UI.set("#s_mraany","active"),e.forEach(e=>{document.getElementById(e).checked=!0})),document.getElementById("includepeople").checked=!0,updateDisableClass(!0),changeEvent(1)}function resetFilters(){memorizeFilters("","",1).then(function(e){1===e&&setTimeout(()=>{document.querySelectorAll(".js-reset-searches").forEach(function(e){if(!e.checked)return;let t=e.id;varSHget.s_audio&&(t="s_audio"),"s_ph"===t&&document.getElementById("s_ed")?.checked||t&&SearchSubmit2024(t)})},20)})}function resetMedia(){"y"===varSHget.s_audio&&"y"!==varSHget.s_all&&((document.querySelector("#cnt-1").checked||document.querySelector("#nopeople").checked)&&(document.querySelector("#cnt-1").checked=!1,document.querySelector("#nopeople").checked=!1,varSHget.s_op="",varSHget.s_mr="",varSHget.s_wp=""),document.getElementById("includepeople").checked=!0,"active"!==document.getElementById("s_slany").getAttribute("data-state")&&(document.querySelectorAll(".levelp").forEach(function(e){DT.UI.unset(e)}),DT.UI.set("#s_slany","active"),varSHget.s_sl0="y",varSHget.s_sl1="y",varSHget.s_sl2="y",varSHget.s_sl3="y",varSHget.s_sl4="y",varSHget.s_sl5="y"));"y"===varSHget.s_audio||"y"!=varSHget.s_all&&"y"!=varSHget.s_video&&"y"!=varSHget.s_ph&&"y"!=varSHget.s_ad&&"y"!=varSHget.s_ed&&"y"!=varSHget.s_il||(document.getElementById("s_orp").checked=!0,document.getElementById("s_orp").dispatchEvent(new Event("change")),document.getElementById("s_orl").checked=!0,document.getElementById("s_orl").dispatchEvent(new Event("change")),document.getElementById("s_ors").checked=!0,document.getElementById("s_ors").dispatchEvent(new Event("change")),document.getElementById("s_orw").checked=!0,document.getElementById("s_orw").dispatchEvent(new Event("change")),DT.UI.set("#s_clany","active"),DT.UI.unset("#s_clc"),DT.UI.unset("#s_clm"),document.getElementById("s_color1").value="",document.getElementById("s_color1").dispatchEvent(new Event("change")),document.getElementById("s_color2").value="",document.getElementById("s_color2").dispatchEvent(new Event("change")),document.getElementById("s_c1e").checked=!1,document.getElementById("s_c2e").checked=!1,varSHget.s_orp="y",varSHget.s_orl="y",varSHget.s_ors="y",varSHget.s_orw="y",varSHget.s_clc="y",varSHget.s_clm="y",varSHget.s_color1="",varSHget.s_color2="",varSHget.s_rsf=0,varSHget.s_rst=7,DT.UI.set("#s_rstany","active"),DT.UI.unset("#s_rst5"),DT.UI.unset("#s_rst8"),DT.UI.unset("#s_rst15"),DT.UI.unset("#s_rst20"),"active"!==document.getElementById("s_slany").getAttribute("data-state")&&(document.querySelectorAll(".levelp").forEach(function(e){DT.UI.unset(e)}),DT.UI.set("#s_slany","active"),varSHget.s_sl0="y",varSHget.s_sl1="y",varSHget.s_sl2="y",varSHget.s_sl3="y",varSHget.s_sl4="y",varSHget.s_sl5="y"));changeEvent(1)}function filtersClassAction(e,t){const s=document.querySelectorAll(e);for(var r=0;r<s.length;r++)(function(e){const r=document.getElementById(s[e].id);"unset"==t&&DT.UI.unset(r)})(r)}function changeCheckboxValueWithCnt(e){document.getElementById(e).addEventListener("change",function(){document.getElementById("cnt-1").checked=!0;var t=new Event("change");document.getElementById("cnt-1").dispatchEvent(t),changeEvent(1),this.checked?varSHget[e]="y":varSHget[e]=""})}function setCheckedState(e,t){"y"===varSHget[t]&&(document.getElementById(e).checked=!0)}function cloaseAllFilters(){return DT.Scheduler.postTask(()=>{const e=document.getElementsByClassName("js-adv-filter-trigger");for(var t=0;t<e.length;t++)(function(t){const s=document.getElementById(e[t].getAttribute("data-dt-id"));DT.UI.set(s,"hidden"),e[t].setAttribute("data-state","")})(t)},{priority:"user-visible"})}async function zerogravitySwitch(e){await DT.Scheduler.waitForHighPriority(),"addcookie"==e?(changeEvent(1),setCookie2("dreamstime_slgravity","n",5),cloaseAllFilters(),searchSubmitFilters("s_sl_remvf")):"removecookie"==e&&(changeEvent(1),setCookie2("dreamstime_slgravity","",-5),searchSubmitFilters("s_sl_remvf"))}function desabled_S_ad(e){"y"===e.s_video&&"y"!==e.s_ph&&"y"!==e.s_il&&(e.s_ad="n",e.s_pel="n",document.getElementById("s_ad").checked=!1,document.getElementById("s_pel").checked=!1,document.querySelector(".js-s_pel").style.display="none",updateDisableClass(!0,wclass=".js-option-s_ad"))}function advSearchHideEx(){0==document.getElementById("s_ph").checked&&0==document.getElementById("s_il").checked&&0==document.getElementById("s_ad").checked?document.querySelector(".js-photo-ex-license").style.display="none":1!=document.getElementById("s_ph").checked&&1!=document.getElementById("s_il").checked&&1!=document.getElementById("s_ad").checked||(document.querySelector(".js-photo-ex-license").style.display="")}function handleCheckboxChange(e,t){changeEvent(1),e.target.checked?varSHget[t]="y":varSHget[t]="n"}function changeSearchLabel(e){if(["s_asfx","s_amusic"].includes(e))return;document.querySelector("form[name=searchfrm]").action=(document.querySelector("form[name=searchfrm]").action.split("?")[0].replace(/[^/]*$/,"")||"/")+"search.php";let t="",s="";var r,a;document.querySelectorAll("#s_ph, #s_ed, #s_il, #s_ad, #s_video, #s_audio").forEach(e=>{e.checked?(t+=document.querySelector(`label[for=${e.id}]`).innerHTML+", ",s+="Y"):s+="N"}),6===s.length&&(s+="NN"),t=t.slice(0,-2),r="#s_ad",a=!["NYNNNNNN","NYYYNNNN","NNYYNNNN","NYNYNNNN","NNNYNNNN","NYNNYNNN","NNNNYNNN"].includes(s),document.querySelector(r).parentElement.style.display=a?"":"none",document.querySelector(".js-select-selected-content").innerHTML=t}function addChangeHandler(e,t){e.forEach(e=>{const s=document.getElementById(e);s&&s.addEventListener("change",t)})}function memorizeFilters(e,t,s=0){return new Promise(function(r){var a,c=new XMLHttpRequest;c.open("POST","../../ajax/memoptions.php"),c.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),c.timeout=200,c.onload=function(){if(200!==c.status)return r(0);try{var e=JSON.parse(c.responseText);return r(e&&"ok"===e.status?1:0)}catch(e){return r(1)}},c.onerror=function(){r(0)},c.ontimeout=function(){r(0)},a=0===s?"memorize_filters=1&s_ed="+encodeURIComponent(e)+"&s_exc_ai="+encodeURIComponent(t)+"&securitycheck="+encodeURIComponent(varSHget.securitycheck):"memorize_filters=1&clr_filters=1&securitycheck="+encodeURIComponent(varSHget.securitycheck),c.send(a)})} DT.onReady((()=>{const COOKIE_EXPIRES_DAYS=30,handleClick=async event=>{const button=event.currentTarget;if(!button)return;await DT.Scheduler.waitForHighPriority();const sortCriteria=button.getAttribute("data-sort");if(!sortCriteria)return;DT.setCookie("sortorder_same_url",`${sortCriteria}|${DT.fullCpage}`,30,"/",".dreamstime.com");const url=new URL(window.location.href);url.searchParams.delete("pg"),window.location.href=url.toString()};document.querySelectorAll(".js-search-sort-btn").forEach((button=>{button.addEventListener("click",handleClick)}))})); DT.onReady((()=>{const init=title=>{let isDragging=!1,allowClick=!0,startX,startY,scrollLeft,scrollTop;title.addEventListener("click",(e=>{allowClick||(e.preventDefault(),e.stopImmediatePropagation())}),{capture:!0,passive:!1}),title.addEventListener("dragstart",(e=>{e.preventDefault()})),title.addEventListener("dragdrop",(e=>{e.preventDefault()})),title.addEventListener("mousedown",(e=>{isDragging=!0,allowClick=!0,startX=e.pageX-title.offsetLeft,startY=e.pageY-title.offsetTop,scrollLeft=title.scrollLeft,scrollTop=title.scrollTop})),title.addEventListener("mouseleave",(()=>{isDragging=!1})),title.addEventListener("mouseup",(()=>{DT.onNextIter((()=>{allowClick=!0})),isDragging=!1})),title.addEventListener("mousemove",(e=>{if(!isDragging)return;e.preventDefault(),allowClick=!1;const x=e.pageX-title.offsetLeft,y=e.pageY-title.offsetTop,walkX=1*(x-startX),walkY=1*(y-startY);title.scrollLeft=scrollLeft-walkX,title.scrollTop=scrollTop-walkY}))},selector=".js-image-wall .js-listing-item .js-item-title";DT.onIdle((()=>{document.querySelectorAll(selector).forEach((title=>{init(title)}))})),new MutationObserver((mutations=>{mutations.forEach((mutation=>{"childList"===mutation.type&&mutation.addedNodes.forEach((node=>{if(node.nodeType===Node.ELEMENT_NODE){const titles=undefined;node.querySelectorAll(selector).forEach((title=>{init(title)}))}}))}))})).observe(document.body,{childList:!0,subtree:!0})})); DT.onReadyIdle((()=>{document.addEventListener("dragstart",(event=>{const item=event.target.closest(".js-listing-item");if(!item||!item.dataset.id)return;const data={type:"item",data:{id:item.dataset.id,type:item.dataset.type}};event.dataTransfer.setData("text/plain",JSON.stringify(data))}))})); DT.initModal=(()=>{const modalDeps=DT.parseJSONData("modal-deps")?.deps||[];DT.onReadyIdle((()=>{DT.prefetchWorker.prefetchUrls(modalDeps)}));const initModal=undefined;return async({url:url,params:params,loadData:loadData})=>{await DT.loadLazyDeps(modalDeps);const response=await DT.http.get(url,{data:loadData});if(!response.ok)throw new Error(`Failed to load modal content from ${url}: ${response.statusText}`);let modal;return await DT.ajaxHtml.fromResponse(response,(async html=>{if(!html)throw new Error(`Failed to load modal content from ${url}: Empty response`);modal=await DT.modal({content:html,...params||{}})})),modal}})(); DT.ajaxHtml=(()=>{const loadCss=async({css:css,js:js}={})=>{if(css){if(js?.url&&DT.prefetchWorker.prefetchUrls(js.url??[]),css.inline){let style=document.querySelector("style[data-dt-lazy]");if(style)return style.innerHTML+=css.inline,void 0;style=document.createElement("style"),style.setAttribute("data-dt-lazy",""),style.innerHTML=css.inline,document.head.appendChild(style)}css.url&&await DT.loadCSS(...css.url)}},loadJs=async({js:js}={})=>{if(js){if(await DT.nextIter(),js.inline){let script=document.querySelector("script[data-dt-lazy]");if(script)return script.innerHTML+=js.inline,void 0;script=document.createElement("script"),script.setAttribute("data-dt-lazy",""),script.innerHTML=js.inline,document.head.appendChild(script)}js.url&&await DT.loadScriptsInOrderOnce(...js.url)}},loadJson=({jsonData:jsonData}={})=>{if(jsonData)try{for(const key in jsonData)DT.jsonData[key]=jsonData[key]}catch(error){DT.log("error","Ajax html load json error",error)}},fromResponse=async(response,insertHtml)=>{try{const{html:html,assets:assets,...params}=await response.json();await loadCss(assets),loadJson(assets),await insertHtml(html,params??{}),await loadJs(assets)}catch(error){return DT.log("error","Ajax load from response error",error),void 0}},fromResponseData=async(data,insertHtml)=>{try{const{html:html,assets:assets,...params}=data;await loadCss(assets),loadJson(assets),await insertHtml(html,params??{}),await loadJs(assets)}catch(error){return DT.log("error","Ajax load from response error",error),void 0}};return{loadCss:loadCss,loadJs:loadJs,fromResponse:fromResponse,fromResponseData:fromResponseData}})(); DT.initLightboxBar=async()=>{if(await(DT.afterLcp?.()),await DT.Scheduler.waitForMediumPriority(),await DT.yieldIfInputPending(),document.querySelector(".js-lightbox-bar-root"))return;const response=await fetch(DT.lightboxBarInitUrl);document.querySelector(".js-lightbox-bar-root")||(response.ok||DT.log("error","Failed to fetch LightboxBar component",response),await(DT.ajaxHtml?.fromResponse(response,(html=>{html&&document.body.insertAdjacentHTML("beforeend",html)}))),DT.LightboxBar?.dispatchEvent("lightbox-bar:init"),document.dispatchEvent(new CustomEvent("lightbox-bar:init")))}; DT.bannersToLoad = []; DT.onReady(() => { var mres = window.location.hash.match(/\#res(\d+)/); if (mres) { var ref = document.referrer || ''; if (!ref) { dtrfr = ref; } if (ref && ref != '' && ref.indexOf('.dreamstime.com') == -1 ) { var img = new Image(); img.src = '/img404.php?ref=' + encodeURIComponent(ref); } } }); DT.onReady(() => { if (window.location.hash !== '') { DT.loadScriptsOnce('templates/footer/footer_ref.js'); } }); DT.onReadyIdle(async () => { window.oldDocumentWrite = document.write; document.write = function (node) { document.body.appendChild(node); }; try { await DT.loadScriptsOnce('https://www.googleadservices.com/pagead/conversion.js'); } catch (_err) {} document.write = window.oldDocumentWrite; }); const varSHget = { sortcriteria: "6", countsh: "0", s_st: "new", s_op: "", s_mr: "", s_wp: "", s_rf: "", s_ed: "", s_exclusive: "", s_wel: "", s_pel: "", s_srel: "", s_orp: "y", s_orl: "y", s_ors: "y", s_orw: "y", s_clc: "y", s_clm: "y", s_c1e: "", s_color1: "", s_percent1: "", s_c2e: "", s_color2: "", s_percent2: "", s_rsf: "0", s_rst: "7", s_amf: "", s_sp: "", s_exc: "", s_exc_ai: "0", s_onlyai: "", s_mrc1: "y", s_mrc2: "y", s_mrc3: "y", s_mrc4: "y", s_mrc5: "y", s_mrg: "1", s_mra1: "", s_mra2: "", s_mra3: "", s_mra4: "", s_mra5: "", s_mra6: "", s_mra7: "", s_mra8: "", s_mra9: "", s_mrea: "", s_mreb: "", s_mreh: "", s_mrem: "", s_mrec: "", s_mreo: "", s_sl0: "y", s_sl1: "y", s_sl2: "y", s_sl3: "y", s_sl4: "y", s_sl5: "y", srh_field: "programming script", firstvalue: "", lastsearchvalue: "programming script", s_all: "", s_ph: "", s_il: "y", s_video: "", s_audio: "", s_ad: "", s_free: "", securitycheck: "6ec2150d099963e040e0518ab1b3e235", s_cf: "0", s_mrca: "", site_adr: "https://www.dreamstime.com/", ico_close: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10"><path d="M3.511 5 0 8.511 1.489 10 5 6.489 8.511 10 10 8.511 6.489 5 10 1.489 8.511 0 5 3.511 1.489 0 0 1.489z"/></svg>', memberid: '', srh_fieldwrs: '', s_amusic: "", s_asfx: "", s_zerogravity: "", s_zerogravityactiv: "0" }; DT.onReady(async () => { try { await DT.loadScriptsOnce('js/lang_cts.js.php?l=en'); } catch (_) {} DT.loadScripts('js/functions_cookie.js'); DT.loadScripts('components/Search/Search.js'); DT.loadScripts('templates/search/filters/filters_search_load.js'); }); DT.bannersToLoad.push("<div class=\"banner banner--freetrial banner--big js-banner js-banner-default js-banner-freetrial\" data-name=\"freetrial\" data-state=\"hidden\" data-inline=\"\" > <a href=\"https:\/\/www.dreamstime.com\/securecredits2.php?subscriptionid=816&packagetype=0\" class=\"banner__link banner__link--freetrial\" aria-label=\"Start your FREE trial\" ><\/a> <div class=\"banner__picture\"> <picture> <source type=\"image\/jpeg\" srcset=\"https:\/\/thumbs.dreamstime.com\/front\/img\/banners\/free-trial\/dt-freetrial-banner-background-500.jpg\" media=\"(max-width: 767.98px)\" width=\"500\" height=\"132\"><source type=\"image\/jpeg\" srcset=\"https:\/\/thumbs.dreamstime.com\/front\/img\/banners\/free-trial\/dt-freetrial-banner-background-900.jpg\" media=\"(min-width: 768px)\" width=\"900\" height=\"100\"><source type=\"image\/jpeg\" srcset=\"https:\/\/thumbs.dreamstime.com\/front\/img\/banners\/free-trial\/dt-freetrial-banner-background-1600.jpg\" media=\"(min-width: 1200px)\" width=\"1600\" height=\"100\"><img src=\"https:\/\/thumbs.dreamstime.com\/front\/img\/banners\/free-trial\/dt-freetrial-banner-background-1600.jpg\" width=\"1600\" height=\"100\" alt=\"Image for banner "Start your FREE trial"\"> <\/picture> <\/div> <div class=\"banner__content\"> <div class=\"banner__title\">Your first 15 images, free!<\/div> <div class=\"banner__description\">Cancel anytime.<\/div> <\/div> <div class=\"banner__btn-wrapper\"> <a href=\"https:\/\/www.dreamstime.com\/securecredits2.php?subscriptionid=816&packagetype=0\" class=\"banner__btn btn btn--pink btn--big\">Start your FREE trial<\/a> <\/div> <\/div>"); DT.lightboxBarActionsUrl = 'https://www.dreamstime.com/new/components/LightboxBar/actions.ajax.php'; DT.lightboxBarInitUrl = 'https://www.dreamstime.com/new/components/LightboxBar/actions.ajax.php?action=init_component'; try { window.openfreetrial = 0; window.popupsignup = 0; window.site_adr = 'https://www.dreamstime.com/'; window.dtrfr = ''; } catch (_err) {} </script> </body> </html>