Browse through 28,660 computer programming script illustrations & vectors or explore more landing page or web development vectors to complete your project with stunning visuals.

Python snake breaking through screen and developer with charts vector illustration. Coding, data science, software engineering, business growth, analytics, digital transformation. Programming. Computer programming script vectors
Python snake breaking through screen and developer with charts vector illustration. Coding, data science, software engineering, business growth, analytics, digital transformation. Programming. Computer programming script vectors
People working on laptops around large CMS letters vector illustration. Web development, software engineering, database management, digital content, programming, coding. Developers managing website. Computer programming script vectors
People working on laptops around large CMS letters vector illustration. Web development, software engineering, database management, digital content, programming, coding. Developers managing website. Computer programming script vectors
HTML programming language web banner set a woman character and potted plant for landing page design. Web development, coding, software engineering, digital education, tech skills, online learning. Computer programming script vectors
HTML programming language web banner set a woman character and potted plant for landing page design. Web development, coding, software engineering, digital education, tech skills, online learning. Computer programming script vectors
Professional programmers working on web development projects for a landing page banner. Software engineering, coding, digital technology, website creation, programming, computer science. Developers. Computer programming script vectors
Professional programmers working on web development projects for a landing page banner. Software engineering, coding, digital technology, website creation, programming, computer science. Developers. Computer programming script vectors
Man thinking near a calculator and a flying bug icon for a web landing page banner. Programming, software development, debugging, technical support, error tracking, problem solving. Developer. Computer programming script illustrations
Man thinking near a calculator and a flying bug icon for a web landing page banner. Programming, software development, debugging, technical support, error tracking, problem solving. Developer. Computer programming script illustrations
This image depicts a programmer's workspace with multiple computer monitors and a laptop displaying lines of code. The scene is set late at night, illuminated by desk lamps, suggesting intense focus and dedication to coding and software development. Computer programming script illustrations
This image depicts a programmer's workspace with multiple computer monitors and a laptop displaying lines of code. The scene is set late at night, illuminated by desk lamps, suggesting intense focus and dedication to coding and software development. Computer programming script illustrations
Web development landing page template HTML code, monstera plant, and lightbulb icon. Coding, software engineering, web design, digital growth, creative thinking, startup project. Programming. Computer programming script vectors
Web development landing page template HTML code, monstera plant, and lightbulb icon. Coding, software engineering, web design, digital growth, creative thinking, startup project. Programming. Computer programming script vectors
Computer screen displaying lines of code and programming symbols. Illustrates software development, digital technology, and the process of writing code for applications and websites. Represents abstract concept of technology. Computer programming script illustrations
Computer screen displaying lines of code and programming symbols. Illustrates software development, digital technology, and the process of writing code for applications and websites. Represents abstract concept of technology. Computer programming script illustrations
Smartphone and coding interface elements displayed as a modern landing page banner. Software engineering, web development, mobile technology, digital programming, application design, user interface. Computer programming script illustrations
Smartphone and coding interface elements displayed as a modern landing page banner. Software engineering, web development, mobile technology, digital programming, application design, user interface. Computer programming script illustrations
Programming code brackets and speech bubble icons displayed as a web landing page banner. Software development, digital communication, technical support, coding interface, messaging, web design. Computer programming script vectors
Programming code brackets and speech bubble icons displayed as a web landing page banner. Software development, digital communication, technical support, coding interface, messaging, web design. Computer programming script vectors
A developer celebrates a successful HTML code launch on a modern landing page banner. Web development, software engineering, programming, digital growth, startup success, coding project. Programmer. Computer programming script vectors
A developer celebrates a successful HTML code launch on a modern landing page banner. Web development, software engineering, programming, digital growth, startup success, coding project. Programmer. Computer programming script vectors
Web development HTML landing page banner programming code text and data charts. Software engineering, digital marketing, website design, coding education, business analytics, tech. Programming. Computer programming script vectors
Web development HTML landing page banner programming code text and data charts. Software engineering, digital marketing, website design, coding education, business analytics, tech. Programming. Computer programming script vectors
Web development dashboard interface icons HTML code and data charts for a landing page banner. Programming, software engineering, data analysis, web design, coding, digital metrics. Interface. Computer programming script illustrations
Web development dashboard interface icons HTML code and data charts for a landing page banner. Programming, software engineering, data analysis, web design, coding, digital metrics. Interface. Computer programming script illustrations
This vector icon set illustrates key stages in a programming or data processing workflow. It features four distinct blue line art icons: 'Parse Args' for input processing, 'Validate Schema' for data integrity, 'Execute Function' for code execution, and 'Return' for output generation. Ideal for representing software development processes, API interactions, data pipelines, or system logic in presentations, websites, applications, and educational materials. The clean, modern design makes it versatile for various tech-related projects. Computer programming script illustrations
This vector icon set illustrates key stages in a programming or data processing workflow. It features four distinct blue line art icons: 'Parse Args' for input processing, 'Validate Schema' for data integrity, 'Execute Function' for code execution, and 'Return' for output generation. Ideal for representing software development processes, API interactions, data pipelines, or system logic in presentations, websites, applications, and educational materials. The clean, modern design makes it versatile for various tech-related projects. Computer programming script illustrations
Vector illustration of cute robots and data charts for a programming web landing page banner. Software development, coding, automation, data analysis, technology, web design. Digital engineering. Computer programming script vectors
Vector illustration of cute robots and data charts for a programming web landing page banner. Software development, coding, automation, data analysis, technology, web design. Digital engineering. Computer programming script vectors
A clean set of black solid programming and software development icons on white background, suitable for web design, tech apps, and user interface concepts. Computer programming script vectors
A clean set of black solid programming and software development icons on white background, suitable for web design, tech apps, and user interface concepts. Computer programming script vectors
Programming development icons code brackets, growth arrows, and data charts for a landing page banner. Software engineering, web design, digital growth, analytics, coding, technology. Developer. Computer programming script vectors
Programming development icons code brackets, growth arrows, and data charts for a landing page banner. Software engineering, web design, digital growth, analytics, coding, technology. Developer. Computer programming script vectors
A laptop computer next to an HTML sign and coding icons for a web development landing page banner. Programming, software engineering, digital technology, internet coding, web design, frontend. Computer programming script vectors
A laptop computer next to an HTML sign and coding icons for a web development landing page banner. Programming, software engineering, digital technology, internet coding, web design, frontend. Computer programming script vectors
Programming code icon with a target symbol and arrow for web development landing page banner. Software development, coding precision, target audience, technical strategy, web design, project goal. Computer programming script vectors
Programming code icon with a target symbol and arrow for web development landing page banner. Software development, coding precision, target audience, technical strategy, web design, project goal. Computer programming script vectors
Web developer coding HTML on a landing page banner. Software engineering, website creation, digital programming, data analysis, internet technology, frontend development. Programmer building site. Computer programming script illustrations
Web developer coding HTML on a landing page banner. Software engineering, website creation, digital programming, data analysis, internet technology, frontend development. Programmer building site. Computer programming script illustrations
Empower modern developers with advanced coding environments, programming toolkits, and software engineering utilities for building scalable applications. Computer programming script vectors
Empower modern developers with advanced coding environments, programming toolkits, and software engineering utilities for building scalable applications. Computer programming script vectors
A hand pointing to an HTML block and a technical flowchart for a web development landing page banner. Coding, software engineering, programming, website design, digital infrastructure, internet. Computer programming script vectors
A hand pointing to an HTML block and a technical flowchart for a web development landing page banner. Coding, software engineering, programming, website design, digital infrastructure, internet. Computer programming script vectors
This vector illustration features a robot head with code tags on its face, representing programming, coding, or software development for artificial intelligence. It conveys the concept of creating, developing, or implementing algorithms and robotic functionalities through code and programming languages. Computer programming script vectors
This vector illustration features a robot head with code tags on its face, representing programming, coding, or software development for artificial intelligence. It conveys the concept of creating, developing, or implementing algorithms and robotic functionalities through code and programming languages. Computer programming script vectors
Programmer working with PHP and MySQL icons vector illustration. Web development, database management, cryptocurrency, coding, programming, digital technology. Developer using computer software. Computer programming script vectors
Programmer working with PHP and MySQL icons vector illustration. Web development, database management, cryptocurrency, coding, programming, digital technology. Developer using computer software. Computer programming script vectors
Programming code brackets and lightbulb icons for web development landing page banner. Software engineering, creative thinking, digital innovation, problem solving, startup strategy, technology. Computer programming script vectors
Programming code brackets and lightbulb icons for web development landing page banner. Software engineering, creative thinking, digital innovation, problem solving, startup strategy, technology. Computer programming script vectors
HTML text with a clock icon on a web banner background. Software development, project deadline, coding efficiency, web programming, time tracking, digital workflow. Web development layout. Computer programming script vectors
HTML text with a clock icon on a web banner background. Software development, project deadline, coding efficiency, web programming, time tracking, digital workflow. Web development layout. Computer programming script vectors
Healthcare, digital technology, programming, prescriptions, data processing, innovation. Prescription paper, binary code and coding symbols. Healthcare and digital technology integration concept. Computer programming script vectors
Healthcare, digital technology, programming, prescriptions, data processing, innovation. Prescription paper, binary code and coding symbols. Healthcare and digital technology integration concept. Computer programming script vectors
A developer stands next to a cylinder shape and HTML text for a web landing page banner. Coding, software development, web design, programming, technology, digital education. Programmer working. Computer programming script vectors
A developer stands next to a cylinder shape and HTML text for a web landing page banner. Coding, software development, web design, programming, technology, digital education. Programmer working. Computer programming script vectors
Futuristic digital code with programming symbols displayed on a glowing screen, representing technology, coding, and software development concepts. Computer programming script illustrations
Futuristic digital code with programming symbols displayed on a glowing screen, representing technology, coding, and software development concepts. Computer programming script illustrations
Magnifying glass icon with code symbol representing programming, debugging, and development search processes. Ideal for developers, coding tools, and software engineering platforms. Computer programming script vectors
Magnifying glass icon with code symbol representing programming, debugging, and development search processes. Ideal for developers, coding tools, and software engineering platforms. Computer programming script vectors
HTML error warning sign displayed on a web development landing page banner. Coding, software development, debugging, technical support, website maintenance, digital infrastructure. Programming alert. Computer programming script vectors
HTML error warning sign displayed on a web development landing page banner. Coding, software development, debugging, technical support, website maintenance, digital infrastructure. Programming alert. Computer programming script vectors
A woman kneeling and holding a code block next to books for a web landing page banner. Education, software development, programming, learning, technology, digital skills. Female developer studying. Computer programming script vectors
A woman kneeling and holding a code block next to books for a web landing page banner. Education, software development, programming, learning, technology, digital skills. Female developer studying. Computer programming script vectors
Web development and data analysis landing page set programming code and business growth charts. Software engineering, digital marketing, startup growth, coding, analytics, technology. Programmer. Computer programming script vectors
Web development and data analysis landing page set programming code and business growth charts. Software engineering, digital marketing, startup growth, coding, analytics, technology. Programmer. Computer programming script vectors
Software development team working with PHP and MySQL database technology vector illustration. Coding, web programming, database management, cryptocurrency, business growth, digital marketing. Web. Computer programming script vectors
Software development team working with PHP and MySQL database technology vector illustration. Coding, web programming, database management, cryptocurrency, business growth, digital marketing. Web. Computer programming script vectors
Business professional using artificial intelligence dashboard on laptop with cloud computing, machine learning, data analytics and digital transformation concept. A business professional interacts with an advanced artificial intelligence interface displayed above a modern laptop, illustrating the integration of AI technology into daily business operations, cloud computing, machine learning, big data analytics, and digital transformation. The futuristic holographic dashboard features a glowing AI processor surrounded by cloud computing icons, integrated circuits, binary code, performance charts, and digital information flows, symbolizing intelligent automation, data processing, predictive analytics, and next-generation enterprise technology. The business user utilizes a digital stylus while working in a modern office environment, representing innovation, productivity, strategic planning, and technology-driven decision making. This high-quality commercial image communicates the rapid evolution of artificial intelligence across industries including finance, healthcare, education, cybersecurity, software development, marketing, manufacturing, logistics, customer service, and enterprise automation. The digital interface visualizes concepts such as neural networks, cloud infrastructure, AI-powered analytics, intelligent algorithms, digital connectivity, smart computing, and secure information exchange. The vibrant blue and orange holographic effects create a premium futuristic aesthetic that captures attention while maintaining a clean professional business atmosphere suitable for commercial applications. The composition emphasizes collaboration between humans and artificial intelligence rather than replacing human expertise. The professional operates advanced AI software through a laptop, illustrating responsible technology adoption, augmented intelligence, digital workflow optimization, business intelligence, and innovation management. The inclusion of cloud symbols, processor graphics, binary data streams, performance analytics, and connected digital networks reinforces themes of cloud services, scalable infrastructure, enterprise computing, digital ecosystems, and intelligent business operations. The office environment remains intentionally clean and uncluttered, providing generous copy space for advertising headlines, website banners, presentation slides, corporate branding, educational publications, social media campaigns, and marketing materials. The image can effectively illustrate articles discussing artificial intelligence adoption, cloud technology, automation, business modernization, digital innovation, data science, software engineering, information technology, machine learning applications, enterprise transformation, and future workplace trends. This versatile technology concept is suitable for technology companies, SaaS providers, cloud service platforms, consulting firms, financial institutions, educational organizations, research publications, startup marketing, AI solution providers, cybersecurity companies, software developers, business presentations, annual reports, technology blogs, online learning platforms, digital marketing campaigns, and commercial advertising. The realistic human interaction combined with futuristic interface elements creates a compelling visual narrative that appeals to both technical and non-technical audiences. The glowing AI processor positioned at the center symbolizes computational intelligence, innovation, and continuous technological advancement. Surrounding visual elements communicate seamless connectivity between cloud computing, analytics, digital infrastructure, enterprise software, and intelligent automation. The balanced composition conveys professionalism, efficiency, security, scalability, and modern business excellence while remaining universally applicable across global industries. Designed with commercial stock photography in mind, this image represents future-ready organizations embracing artificial intelligence to improve productivity, automate repetitive tasks, optimize decision making, strengthen competitive advantage, accelerate digital transformation, and unlock new business opportunities. It communicates optimism, technological progress, operational excellence, and innovation while remaining highly adaptable for editorial, advertising, corporate communications, educational resources, and commercial licensing across international markets. Generative Ai. computing, software, technology, cloud, datum, innovation, intelligence, dashboard, digital, automation, business, network, learning, artificial, machine, ai, productivity, algorithm, virtual, laptop, system, professional, workflow, transformation, interface, strategy, efficiency, future, optimization, development, enterprise, management, analysis, research, neural, platform, smart, assistant, coding, performance, solution, visualisation, artificial intelligence, communication, modern, processing, corporate, cyberspace, information, programming, connection, startup, process, agent, integration, display, computer, futuristic, marketing, application, engineering, office, online, cyber, database, quantum, concept, modelling, developer, big, security, statistic, finance, connectivity, monitoring, graph, chart, insight, global, planning, progress, project, science, tech, businessman, screen, growth, programmer, robotic, tablet, workspace, creative, hand, hologram, generative, executive, financial, interaction, keyboard, report, teamwork, code, conversation, memory, organisation, person, prediction, reporting, session, training, typing, chat, co-worker, control, man, model, robot, design, pattern, web, holographic, central processing unit, copilot, prompt, binary, businessperson, document, folder, generation, goal, language, networking, operation, pen, resource, script, server, support, technical, touch, visual, adviser, archive, command, content, expert, file, gear, generate, generator, infographic, pipeline, privacy, storage, suit, sustainability, visionary, work, workplace, world map, abstract, access, economy, entrepreneurship, flow, overlay, protection, remote, structure, touch screen, trend, user, faceless, freelance. Computer programming script illustrations
Business professional using artificial intelligence dashboard on laptop with cloud computing, machine learning, data analytics and digital transformation concept. A business professional interacts with an advanced artificial intelligence interface displayed above a modern laptop, illustrating the integration of AI technology into daily business operations, cloud computing, machine learning, big data analytics, and digital transformation. The futuristic holographic dashboard features a glowing AI processor surrounded by cloud computing icons, integrated circuits, binary code, performance charts, and digital information flows, symbolizing intelligent automation, data processing, predictive analytics, and next-generation enterprise technology. The business user utilizes a digital stylus while working in a modern office environment, representing innovation, productivity, strategic planning, and technology-driven decision making. This high-quality commercial image communicates the rapid evolution of artificial intelligence across industries including finance, healthcare, education, cybersecurity, software development, marketing, manufacturing, logistics, customer service, and enterprise automation. The digital interface visualizes concepts such as neural networks, cloud infrastructure, AI-powered analytics, intelligent algorithms, digital connectivity, smart computing, and secure information exchange. The vibrant blue and orange holographic effects create a premium futuristic aesthetic that captures attention while maintaining a clean professional business atmosphere suitable for commercial applications. The composition emphasizes collaboration between humans and artificial intelligence rather than replacing human expertise. The professional operates advanced AI software through a laptop, illustrating responsible technology adoption, augmented intelligence, digital workflow optimization, business intelligence, and innovation management. The inclusion of cloud symbols, processor graphics, binary data streams, performance analytics, and connected digital networks reinforces themes of cloud services, scalable infrastructure, enterprise computing, digital ecosystems, and intelligent business operations. The office environment remains intentionally clean and uncluttered, providing generous copy space for advertising headlines, website banners, presentation slides, corporate branding, educational publications, social media campaigns, and marketing materials. The image can effectively illustrate articles discussing artificial intelligence adoption, cloud technology, automation, business modernization, digital innovation, data science, software engineering, information technology, machine learning applications, enterprise transformation, and future workplace trends. This versatile technology concept is suitable for technology companies, SaaS providers, cloud service platforms, consulting firms, financial institutions, educational organizations, research publications, startup marketing, AI solution providers, cybersecurity companies, software developers, business presentations, annual reports, technology blogs, online learning platforms, digital marketing campaigns, and commercial advertising. The realistic human interaction combined with futuristic interface elements creates a compelling visual narrative that appeals to both technical and non-technical audiences. The glowing AI processor positioned at the center symbolizes computational intelligence, innovation, and continuous technological advancement. Surrounding visual elements communicate seamless connectivity between cloud computing, analytics, digital infrastructure, enterprise software, and intelligent automation. The balanced composition conveys professionalism, efficiency, security, scalability, and modern business excellence while remaining universally applicable across global industries. Designed with commercial stock photography in mind, this image represents future-ready organizations embracing artificial intelligence to improve productivity, automate repetitive tasks, optimize decision making, strengthen competitive advantage, accelerate digital transformation, and unlock new business opportunities. It communicates optimism, technological progress, operational excellence, and innovation while remaining highly adaptable for editorial, advertising, corporate communications, educational resources, and commercial licensing across international markets. Generative Ai. computing, software, technology, cloud, datum, innovation, intelligence, dashboard, digital, automation, business, network, learning, artificial, machine, ai, productivity, algorithm, virtual, laptop, system, professional, workflow, transformation, interface, strategy, efficiency, future, optimization, development, enterprise, management, analysis, research, neural, platform, smart, assistant, coding, performance, solution, visualisation, artificial intelligence, communication, modern, processing, corporate, cyberspace, information, programming, connection, startup, process, agent, integration, display, computer, futuristic, marketing, application, engineering, office, online, cyber, database, quantum, concept, modelling, developer, big, security, statistic, finance, connectivity, monitoring, graph, chart, insight, global, planning, progress, project, science, tech, businessman, screen, growth, programmer, robotic, tablet, workspace, creative, hand, hologram, generative, executive, financial, interaction, keyboard, report, teamwork, code, conversation, memory, organisation, person, prediction, reporting, session, training, typing, chat, co-worker, control, man, model, robot, design, pattern, web, holographic, central processing unit, copilot, prompt, binary, businessperson, document, folder, generation, goal, language, networking, operation, pen, resource, script, server, support, technical, touch, visual, adviser, archive, command, content, expert, file, gear, generate, generator, infographic, pipeline, privacy, storage, suit, sustainability, visionary, work, workplace, world map, abstract, access, economy, entrepreneurship, flow, overlay, protection, remote, structure, touch screen, trend, user, faceless, freelance. Computer programming script illustrations

Business professional using artificial intelligence dashboard on laptop with cloud computing, machine learning. Data analytics and digital transformation. Business professional using artificial intelligence dashboard on laptop with cloud computing, machine learning, data analytics and digital transformation concept. A business professional interacts with an advanced artificial intelligence interface displayed above a modern laptop, illustrating the integration of AI technology into daily business operations, cloud computing, machine learning, big data analytics, and digital transformation. The futuristic holographic dashboard features a glowing AI processor surrounded by cloud computing icons, integrated circuits, binary code, performance charts, and digital information flows, symbolizing intelligent automation, data processing, predictive analytics, and next-generation enterprise technology. The business user utilizes a digital stylus while working in a modern office environment, representing innovation, productivity, strategic planning, and technology-driven decision making.This high-quality commercial image communicates the rapid evolution of artificial intelligence across industries including finance, healthcare, education, cybersecurity, software development, marketing, manufacturing, logistics, customer service, and enterprise automation. The digital interface visualizes concepts such as neural networks, cloud infrastructure, AI-powered analytics, intelligent algorithms, digital connectivity, smart computing, and secure information exchange. The vibrant blue and orange holographic effects create a premium futuristic aesthetic that captures attention while maintaining a clean professional business atmosphere suitable for commercial applications.The composition emphasizes collaboration between humans and artificial intelligence rather than replacing human expertise. The professional operates advanced AI software through a laptop, illustrating responsible technology adoption, augmented intelligence, digital workflow optimization, business intelligence, and innovation management. The inclusion of cloud symbols, processor graphics, binary data streams, performance analytics, and connected digital networks reinforces themes of cloud services, scalable infrastructure, enterprise computing, digital ecosystems, and intelligent business operations.The office environment remains intentionally clean and uncluttered, providing generous copy space for advertising headlines, website banners, presentation slides, corporate branding, educational publications, social media campaigns, and marketing materials. The image can effectively illustrate articles discussing artificial intelligence adoption, cloud technology, automation, business modernization, digital innovation, data science, software engineering, information technology, machine learning applications, enterprise transformation, and future workplace trends.This versatile technology concept is suitable for technology companies, SaaS providers, cloud service platforms, consulting firms, financial institutions, educational organizations, research publications, startup marketing, AI solution providers, cybersecurity companies, software developers, business presentations, annual reports, technology blogs, online learning platforms, digital marketing campaigns, and commercial advertising. The realistic human interaction combined with futuristic interface elements creates a compelling visual narrative that appeals to both technical and non-technical audiences.The glowing AI processor positioned at the center symbolizes computational intelligence, innovation, and continuous technological advancement. Surrounding visual elements communicate seamless connectivity between cloud computing, analytics, digital infrastructure, enterprise software, and intelligent automation. The balanced composition conveys professionalism, efficiency, security, scalability, and modern business excellence while remaining universally applicable across global industries.Designed with commercial stock photography in mind, this image represents future-ready organizations embracing artificial intelligence to improve productivity, automate repetitive tasks, optimize decision making, strengthen competitive advantage, accelerate digital transformation, and unlock new business opportunities. It communicates optimism, technological progress, operational excellence, and innovation while remaining highly adaptable for editorial, advertising, corporate communications, educational resources, and commercial licensing across international markets. Generative Ai. computing, software, technology, cloud, datum, innovation, intelligence, dashboard, digital, automation, business, network, learning, artificial, machine, ai, productivity, algorithm, virtual, laptop, system, professional, workflow, transformation, interface, strategy, efficiency, future, optimization, development, enterprise, management, analysis, research, neural, platform, smart, assistant, coding, performance, solution, visualisation, artificial intelligence, communication, modern, processing, corporate, cyberspace, information, programming, connection, startup, process, agent, integration, display, computer, futuristic, marketing, application, engineering, office, online, cyber, database, quantum, concept, modelling, developer, big, security, statistic, finance, connectivity, monitoring, graph, chart, insight, global, planning, progress, project, science, tech, businessman, screen, growth, programmer, robotic, tablet, workspace, creative, hand, hologram, generative, executive, financial, interaction, keyboard, report, teamwork, code, conversation, memory, organisation, person, prediction, reporting, session, training, typing, chat, co-worker, control, man, model, robot, design, pattern, web, holographic, central processing unit, copilot, prompt, binary, businessperson, document, folder, generation, goal, language, networking, operation, pen, resource, script, server, support, technical, touch, visual, adviser, archive, command, content, expert, file, gear, generate, generator, infographic, pipeline, privacy, storage, suit, sustainability, visionary, work, workplace, world map, abstract, access, economy, entrepreneurship, flow, overlay, protection, remote, structure, touch screen, trend, user, faceless, freelance

Bar chart icon with elephant and dolphin programming mascots vector illustration. Software development, coding, data analysis, business growth, teamwork, success. Increasing graph symbol. Computer programming script vectors
Bar chart icon with elephant and dolphin programming mascots vector illustration. Software development, coding, data analysis, business growth, teamwork, success. Increasing graph symbol. Computer programming script vectors
Software development and industrial automation vector illustration. Web programming, database management, mobile communication, smart factory, robotic assembly, digital technology. Coding process. Computer programming script vectors
Software development and industrial automation vector illustration. Web programming, database management, mobile communication, smart factory, robotic assembly, digital technology. Coding process. Computer programming script vectors
A person coding with PHP elephant and MySQL dolphin mascot vector illustration. Software development, web programming, database management, online education, coding skills, tech learning. Developer. Computer programming script vectors
A person coding with PHP elephant and MySQL dolphin mascot vector illustration. Software development, web programming, database management, online education, coding skills, tech learning. Developer. Computer programming script vectors
A close-up shot of hands typing on a glowing keyboard, with a computer screen displaying lines of code in the foreground. The background features blurred city lights, creating a futuristic and tech-focused atmosphere. The image conveys themes of programming, software development, cybersecurity, and the digital age. Computer programming script illustrations
A close-up shot of hands typing on a glowing keyboard, with a computer screen displaying lines of code in the foreground. The background features blurred city lights, creating a futuristic and tech-focused atmosphere. The image conveys themes of programming, software development, cybersecurity, and the digital age. Computer programming script illustrations
Code Circuit logo provides a technical identity for companies prioritizing software architecture and circuit integration, and this Code Circuit logo ensures reliability. As a dedicated Code Circuit logo, the emblem effectively conveys digital flow to clients seeking programming solutions. Every Code Circuit logo features a sleek, programmatic aesthetic suitable for software development houses, IT engineering firms, or hardware integration specialists needing a professional, clean, and strong visual mark. Computer programming script vectors
Code Circuit logo provides a technical identity for companies prioritizing software architecture and circuit integration, and this Code Circuit logo ensures reliability. As a dedicated Code Circuit logo, the emblem effectively conveys digital flow to clients seeking programming solutions. Every Code Circuit logo features a sleek, programmatic aesthetic suitable for software development houses, IT engineering firms, or hardware integration specialists needing a professional, clean, and strong visual mark. Computer 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. Computer 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. Computer programming script illustrations
Woman kneeling and interacting with digital code and data elements for a website landing page banner. Software engineering, web development, programming, data analysis, technology, digital interface. Computer programming script vectors
Woman kneeling and interacting with digital code and data elements for a website landing page banner. Software engineering, web development, programming, data analysis, technology, digital interface. Computer programming script vectors
Blue padlock icon and programming code brackets displayed as a landing page banner. Software development, data protection, network security, web encryption, digital privacy, system access. Secure. Computer programming script vectors
Blue padlock icon and programming code brackets displayed as a landing page banner. Software development, data protection, network security, web encryption, digital privacy, system access. Secure. Computer programming script vectors
Set of web development landing page banners HTML code, laptop analytics, and data charts. Software engineering, digital marketing, business growth, web design, coding, statistics. Programming. Computer programming script vectors
Set of web development landing page banners HTML code, laptop analytics, and data charts. Software engineering, digital marketing, business growth, web design, coding, statistics. Programming. Computer programming script vectors
Web development workspace with coding interface and robot character for landing page banner. Programming, software engineering, automation, digital technology, office work, web design. Computer. Computer programming script vectors
Web development workspace with coding interface and robot character for landing page banner. Programming, software engineering, automation, digital technology, office work, web design. Computer. Computer programming script vectors
A bold solid black laptop development icon in a clean glyph style. This symbol features simple shapes and a clear silhouette, making it easy to recognize at any size. It works well for software development, coding and programming, mobile apps, websites, presentations, infographics and user interface projects. Related ideas include gear, code, settings. The minimal pictogram is isolated on a. Computer programming script vectors
A bold solid black laptop development icon in a clean glyph style. This symbol features simple shapes and a clear silhouette, making it easy to recognize at any size. It works well for software development, coding and programming, mobile apps, websites, presentations, infographics and user interface projects. Related ideas include gear, code, settings. The minimal pictogram is isolated on a. Computer 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. Computer 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. Computer programming script vectors
Programming code brackets and a currency coin icon isolated on white background for web landing page banner. Fintech, software development, digital economy, coding, finance, investment. Developer. Computer programming script vectors
Programming code brackets and a currency coin icon isolated on white background for web landing page banner. Fintech, software development, digital economy, coding, finance, investment. Developer. Computer programming script vectors
A close-up view of glowing blue computer code scrolling on a dark screen. The lines of text are illuminated, creating a sense of depth and complexity. Subtle light rays emanate from the right side of the image, adding a futuristic and dynamic feel. This abstract representation of programming is ideal for themes related to technology, data, software development, and digital innovation. Computer programming script illustrations
A close-up view of glowing blue computer code scrolling on a dark screen. The lines of text are illuminated, creating a sense of depth and complexity. Subtle light rays emanate from the right side of the image, adding a futuristic and dynamic feel. This abstract representation of programming is ideal for themes related to technology, data, software development, and digital innovation. Computer programming script illustrations
People coding and mobile interface for web development landing page banner. Software engineering, programming, digital technology, application design, internet coding, website creation. Developers. Computer programming script vectors
People coding and mobile interface for web development landing page banner. Software engineering, programming, digital technology, application design, internet coding, website creation. Developers. Computer programming script vectors
A black and white hand-drawn style outline icon representing programming code, featuring angle brackets and a forward slash symbol commonly used in coding. Computer programming script vectors
A black and white hand-drawn style outline icon representing programming code, featuring angle brackets and a forward slash symbol commonly used in coding. Computer programming script vectors
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. Computer 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. Computer 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 item74 item-photo js-listing-item" data-id="407788608" 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=focused+young+female+software&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="407788608" 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/dedicated-female-programmer-working-late-night-focused-young-female-software-developer-working-late-night-modern-image407788608" class="item__url js-item-title-wrapper" aria-label="Dedicated Female Programmer Working Late at Night. A focused young female software developer working late at night in a modern office. She is intently" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/dedicated-female-programmer-working-late-night-focused-young-female-software-developer-working-late-night-modern-407788608.jpg" loading="lazy" alt="A focused young female software developer working late at night in a modern office. She is intently concentrating on her computer screen, which displays lines of programming code, while typing on her keyboard. The scene is dimly lit by a desk lamp, creating a serious and dedicated atmosphere. Through the window, the blurred bokeh lights of the city provide a beautiful backdrop. This image symbolizes hard work, dedication, technology, coding, cybersecurity, and women in STEM, perfect for illustrating the modern digital workforce and deadline-driven projects. Computer programming script illustrations" srcset="https://thumbs.dreamstime.com/b/dedicated-female-programmer-working-late-night-focused-young-female-software-developer-working-late-night-modern-407788608.jpg?w=360 360w, https://thumbs.dreamstime.com/b/dedicated-female-programmer-working-late-night-focused-young-female-software-developer-working-late-night-modern-407788608.jpg?w=400 400w, https://thumbs.dreamstime.com/b/dedicated-female-programmer-working-late-night-focused-young-female-software-developer-working-late-night-modern-407788608.jpg?w=450 450w, https://thumbs.dreamstime.com/b/dedicated-female-programmer-working-late-night-focused-young-female-software-developer-working-late-night-modern-407788608.jpg?w=576 576w, https://thumbs.dreamstime.com/b/dedicated-female-programmer-working-late-night-focused-young-female-software-developer-working-late-night-modern-407788608.jpg?w=768 768w, https://thumbs.dreamstime.com/b/dedicated-female-programmer-working-late-night-focused-young-female-software-developer-working-late-night-modern-407788608.jpg?w=992 992w, https://thumbs.dreamstime.com/b/dedicated-female-programmer-working-late-night-focused-young-female-software-developer-working-late-night-modern-407788608.jpg?w=1200 1200w" 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, 1200px"> <figcaption class="item__caption">A focused young female software developer working late at night in a modern office. She is intently concentrating on her computer screen, which displays lines of programming code, while typing on her keyboard. The scene is dimly lit by a desk lamp, creating a serious and dedicated atmosphere. Through the window, the blurred bokeh lights of the city provide a beautiful backdrop. This image symbolizes hard work, dedication, technology, coding, cybersecurity, and women in STEM, perfect for illustrating the modern digital workforce and deadline-driven projects. Computer programming script illustrations</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/dedicated-female-programmer-working-late-night-focused-young-female-software-developer-working-late-night-modern-image407788608" > Dedicated Female Programmer Working Late at Night. A focused young female software developer working late at night in a modern office. She is intently. A focused young female software developer working late at night in a modern office. She is intently concentrating on her computer screen, which displays lines of programming code, while typing on her keyboard. The scene is dimly lit by a desk lamp, creating a serious and dedicated atmosphere. Through the window, the blurred bokeh lights of the city provide a beautiful backdrop. This image symbolizes hard work, dedication, technology, coding, cybersecurity, and women in STEM, perfect for illustrating the modern digital workforce and deadline-driven projects. </a> </p> </div> </article> <article class="item item75 item-photo js-listing-item" data-id="478020283" 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=web+development+landing+page&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="478020283" 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-landing-page-banner-html-code-text-browser-interface-icons-programming-software-engineering-digital-technology-image478020283" class="item__url js-item-title-wrapper" aria-label="Web Development HTML Coding Landing Page Banner Set with Programming Icons and Interface Elements. Web development landing page banner HTML code text and browser" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/web-development-landing-page-banner-html-code-text-browser-interface-icons-programming-software-engineering-digital-technology-478020283.jpg" loading="lazy" alt="Web development landing page banner HTML code text and browser interface icons. Programming, software engineering, digital technology, web design, coding education, internet development. Website. Computer programming script vectors" srcset="https://thumbs.dreamstime.com/b/web-development-landing-page-banner-html-code-text-browser-interface-icons-programming-software-engineering-digital-technology-478020283.jpg?w=360 360w, https://thumbs.dreamstime.com/b/web-development-landing-page-banner-html-code-text-browser-interface-icons-programming-software-engineering-digital-technology-478020283.jpg?w=400 400w, https://thumbs.dreamstime.com/b/web-development-landing-page-banner-html-code-text-browser-interface-icons-programming-software-engineering-digital-technology-478020283.jpg?w=450 450w, https://thumbs.dreamstime.com/b/web-development-landing-page-banner-html-code-text-browser-interface-icons-programming-software-engineering-digital-technology-478020283.jpg?w=576 576w, https://thumbs.dreamstime.com/b/web-development-landing-page-banner-html-code-text-browser-interface-icons-programming-software-engineering-digital-technology-478020283.jpg?w=768 768w, https://thumbs.dreamstime.com/b/web-development-landing-page-banner-html-code-text-browser-interface-icons-programming-software-engineering-digital-technology-478020283.jpg?w=992 992w, https://thumbs.dreamstime.com/b/web-development-landing-page-banner-html-code-text-browser-interface-icons-programming-software-engineering-digital-technology-478020283.jpg?w=1200 1200w, https://thumbs.dreamstime.com/b/web-development-landing-page-banner-html-code-text-browser-interface-icons-programming-software-engineering-digital-technology-478020283.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">Web development landing page banner HTML code text and browser interface icons. Programming, software engineering, digital technology, web design, coding education, internet development. Website. Computer 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-landing-page-banner-html-code-text-browser-interface-icons-programming-software-engineering-digital-technology-image478020283" > Web Development HTML Coding Landing Page Banner Set with Programming Icons and Interface Elements. Web development landing page banner HTML code text and browser. Web development landing page banner HTML code text and browser interface icons. Programming, software engineering, digital technology, web design, coding education, internet development. Website </a> </p> </div> </article> <article class="item item76 item-photo js-listing-item" data-id="415232721" 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=vibrant+stylized+illustration+featuring&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="415232721" 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/vibrant-stylized-illustration-featuring-purple-curly-braces-flanking-forward-slash-all-outlined-darker-shade-small-bright-image415232721" class="item__url js-item-title-wrapper" aria-label="Programming Curly Braces and Forward Slash Icon. A vibrant, stylized illustration featuring purple curly braces `{}` flanking a forward slash ` `, all outlined" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/vibrant-stylized-illustration-featuring-purple-curly-braces-flanking-forward-slash-all-outlined-darker-shade-small-bright-415232721.jpg" loading="lazy" alt="A vibrant, stylized illustration featuring purple curly braces `{}` flanking a forward slash ` `, all outlined in a darker shade of purple. Small, bright green arrow-like accents adorn the ends of the braces and the top of the slash, adding a dynamic touch. Set against a clean white background, this graphic clearly represents common programming and web development symbols. Ideal for conveying concepts related to coding, software development, web design, data structures, algorithms, or digital technology. Computer programming script vectors" srcset="https://thumbs.dreamstime.com/b/vibrant-stylized-illustration-featuring-purple-curly-braces-flanking-forward-slash-all-outlined-darker-shade-small-bright-415232721.jpg?w=360 360w, https://thumbs.dreamstime.com/b/vibrant-stylized-illustration-featuring-purple-curly-braces-flanking-forward-slash-all-outlined-darker-shade-small-bright-415232721.jpg?w=400 400w, https://thumbs.dreamstime.com/b/vibrant-stylized-illustration-featuring-purple-curly-braces-flanking-forward-slash-all-outlined-darker-shade-small-bright-415232721.jpg?w=450 450w, https://thumbs.dreamstime.com/b/vibrant-stylized-illustration-featuring-purple-curly-braces-flanking-forward-slash-all-outlined-darker-shade-small-bright-415232721.jpg?w=576 576w, https://thumbs.dreamstime.com/b/vibrant-stylized-illustration-featuring-purple-curly-braces-flanking-forward-slash-all-outlined-darker-shade-small-bright-415232721.jpg?w=768 768w, https://thumbs.dreamstime.com/b/vibrant-stylized-illustration-featuring-purple-curly-braces-flanking-forward-slash-all-outlined-darker-shade-small-bright-415232721.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 vibrant, stylized illustration featuring purple curly braces `{}` flanking a forward slash ` `, all outlined in a darker shade of purple. Small, bright green arrow-like accents adorn the ends of the braces and the top of the slash, adding a dynamic touch. Set against a clean white background, this graphic clearly represents common programming and web development symbols. Ideal for conveying concepts related to coding, software development, web design, data structures, algorithms, or digital technology. Computer programming script vectors</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/vibrant-stylized-illustration-featuring-purple-curly-braces-flanking-forward-slash-all-outlined-darker-shade-small-bright-image415232721" > Programming Curly Braces and Forward Slash Icon. A vibrant, stylized illustration featuring purple curly braces `{}` flanking a forward slash ` `, all outlined. A vibrant, stylized illustration featuring purple curly braces `{}` flanking a forward slash ` `, all outlined in a darker shade of purple. Small, bright green arrow-like accents adorn the ends of the braces and the top of the slash, adding a dynamic touch. Set against a clean white background, this graphic clearly represents common programming and web development symbols. Ideal for conveying concepts related to coding, software development, web design, data structures, algorithms, or digital technology. </a> </p> </div> </article> <article class="item item77 item-photo js-listing-item" data-id="471723107" 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=web+development+landing+page&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="471723107" 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-landing-page-banner-programmer-avatar-html-code-symbol-software-engineering-coding-education-digital-image471723107" class="item__url js-item-title-wrapper" aria-label="HTML Programming Web Development Landing Page Banner Set with Developer Avatar and Light Bulb Icon. Web development landing page banner a programmer avatar and" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/web-development-landing-page-banner-programmer-avatar-html-code-symbol-software-engineering-coding-education-digital-471723107.jpg" loading="lazy" alt="Web development landing page banner a programmer avatar and HTML code symbol. Software engineering, coding education, digital technology, web design, startup growth, internet skills. Computer. Computer programming script illustrations" srcset="https://thumbs.dreamstime.com/b/web-development-landing-page-banner-programmer-avatar-html-code-symbol-software-engineering-coding-education-digital-471723107.jpg?w=360 360w, https://thumbs.dreamstime.com/b/web-development-landing-page-banner-programmer-avatar-html-code-symbol-software-engineering-coding-education-digital-471723107.jpg?w=400 400w, https://thumbs.dreamstime.com/b/web-development-landing-page-banner-programmer-avatar-html-code-symbol-software-engineering-coding-education-digital-471723107.jpg?w=450 450w, https://thumbs.dreamstime.com/b/web-development-landing-page-banner-programmer-avatar-html-code-symbol-software-engineering-coding-education-digital-471723107.jpg?w=576 576w, https://thumbs.dreamstime.com/b/web-development-landing-page-banner-programmer-avatar-html-code-symbol-software-engineering-coding-education-digital-471723107.jpg?w=768 768w, https://thumbs.dreamstime.com/b/web-development-landing-page-banner-programmer-avatar-html-code-symbol-software-engineering-coding-education-digital-471723107.jpg?w=992 992w, https://thumbs.dreamstime.com/b/web-development-landing-page-banner-programmer-avatar-html-code-symbol-software-engineering-coding-education-digital-471723107.jpg?w=1200 1200w, https://thumbs.dreamstime.com/b/web-development-landing-page-banner-programmer-avatar-html-code-symbol-software-engineering-coding-education-digital-471723107.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">Web development landing page banner a programmer avatar and HTML code symbol. Software engineering, coding education, digital technology, web design, startup growth, internet skills. Computer. Computer programming script illustrations</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/web-development-landing-page-banner-programmer-avatar-html-code-symbol-software-engineering-coding-education-digital-image471723107" > HTML Programming Web Development Landing Page Banner Set with Developer Avatar and Light Bulb Icon. Web development landing page banner a programmer avatar and. Web development landing page banner a programmer avatar and HTML code symbol. Software engineering, coding education, digital technology, web design, startup growth, internet skills. Computer </a> </p> </div> </article> <article class="item item78 item-photo js-listing-item" data-id="479049642" 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=minimalist+black+solid+silhouette&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="479049642" 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-solid-silhouette-programming-software-development-icon-set-symbol-collection-minimalist-black-solid-silhouette-image479049642" class="item__url js-item-title-wrapper" aria-label="Black Solid Silhouette Programming And Software Development Icon Set Symbol Collection. Minimalist black solid silhouette programming icon set featuring software" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/black-solid-silhouette-programming-software-development-icon-set-symbol-collection-minimalist-black-solid-silhouette-479049642.jpg" loading="lazy" alt="Minimalist black solid silhouette programming icon set featuring software development coding terminal bug database cloud network gear idea and rocket launch symbols. Computer programming script vectors" srcset="https://thumbs.dreamstime.com/b/black-solid-silhouette-programming-software-development-icon-set-symbol-collection-minimalist-black-solid-silhouette-479049642.jpg?w=360 360w, https://thumbs.dreamstime.com/b/black-solid-silhouette-programming-software-development-icon-set-symbol-collection-minimalist-black-solid-silhouette-479049642.jpg?w=400 400w, https://thumbs.dreamstime.com/b/black-solid-silhouette-programming-software-development-icon-set-symbol-collection-minimalist-black-solid-silhouette-479049642.jpg?w=450 450w, https://thumbs.dreamstime.com/b/black-solid-silhouette-programming-software-development-icon-set-symbol-collection-minimalist-black-solid-silhouette-479049642.jpg?w=576 576w, https://thumbs.dreamstime.com/b/black-solid-silhouette-programming-software-development-icon-set-symbol-collection-minimalist-black-solid-silhouette-479049642.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">Minimalist black solid silhouette programming icon set featuring software development coding terminal bug database cloud network gear idea and rocket launch symbols. Computer programming script vectors</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/black-solid-silhouette-programming-software-development-icon-set-symbol-collection-minimalist-black-solid-silhouette-image479049642" > Black Solid Silhouette Programming And Software Development Icon Set Symbol Collection. Minimalist black solid silhouette programming icon set featuring software. Minimalist black solid silhouette programming icon set featuring software development coding terminal bug database cloud network gear idea and rocket launch symbols. </a> </p> </div> </article> <article class="item item79 item-photo js-listing-item" data-id="475204653" 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=software+development+icons+php&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="475204653" 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/programming-development-concepts-php-elephant-mysql-dolphin-vector-illustration-software-development-icons-php-image475204653" class="item__url js-item-title-wrapper" aria-label="Programming Development Concepts with PHP Elephant and MySQL Dolphin Vector Illustration. Software development icons with PHP elephant and MySQL dolphin vector" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/programming-development-concepts-php-elephant-mysql-dolphin-vector-illustration-software-development-icons-php-475204653.jpg" loading="lazy" alt="Software development icons with PHP elephant and MySQL dolphin vector illustration. Web coding, database management, business strategy, cryptocurrency, technology, digital infrastructure. Computer. Computer programming script vectors" srcset="https://thumbs.dreamstime.com/b/programming-development-concepts-php-elephant-mysql-dolphin-vector-illustration-software-development-icons-php-475204653.jpg?w=360 360w, https://thumbs.dreamstime.com/b/programming-development-concepts-php-elephant-mysql-dolphin-vector-illustration-software-development-icons-php-475204653.jpg?w=400 400w, https://thumbs.dreamstime.com/b/programming-development-concepts-php-elephant-mysql-dolphin-vector-illustration-software-development-icons-php-475204653.jpg?w=450 450w, https://thumbs.dreamstime.com/b/programming-development-concepts-php-elephant-mysql-dolphin-vector-illustration-software-development-icons-php-475204653.jpg?w=576 576w, https://thumbs.dreamstime.com/b/programming-development-concepts-php-elephant-mysql-dolphin-vector-illustration-software-development-icons-php-475204653.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">Software development icons with PHP elephant and MySQL dolphin vector illustration. Web coding, database management, business strategy, cryptocurrency, technology, digital infrastructure. Computer. Computer programming script vectors</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/programming-development-concepts-php-elephant-mysql-dolphin-vector-illustration-software-development-icons-php-image475204653" > Programming Development Concepts with PHP Elephant and MySQL Dolphin Vector Illustration. Software development icons with PHP elephant and MySQL dolphin vector. Software development icons with PHP elephant and MySQL dolphin vector illustration. Web coding, database management, business strategy, cryptocurrency, technology, digital infrastructure. Computer </a> </p> </div> </article> <article class="item item80 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. Computer 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. Computer 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-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-6ae15c59a6b82" 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/page-banner.html" aria-label="Page banner illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Page Banner</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/digital-technology.html" aria-label="Digital technology illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Digital Technology</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/software-development.html" aria-label="Software development illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Software 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-management.html" aria-label="Database management illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Database Management</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/banner-set.html" aria-label="Banner set illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Banner Set</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/coding-software-development.html" aria-label="Coding software development illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Coding Software 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/computer-screen.html" aria-label="Computer screen illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Computer Screen</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-programmer.html" aria-label="Code programmer illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Code Programmer</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/abstract-concept.html" aria-label="Abstract concept illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Abstract Concept</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/coding-desk-setup.html" aria-label="Coding desk setup illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Coding Desk Setup</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-6ae15c59a6b82" > <button type="button" class="js-swipe-row-button" aria-label="Scroll previous" aria-controls="swiper-row-6ae15c59a6b82" ><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-6ae15c59a6b82" > <button type="button" class="js-swipe-row-button" aria-label="Scroll next" aria-controls="swiper-row-6ae15c59a6b82" 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/computer-programming-script.html?pg=39" title="Page 39" 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/computer-programming-script.html?pg=37" title="Page 37" ><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/computer-programming-script.html?pg=34" title="Go to Page 34" >34</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/computer-programming-script.html?pg=35" title="Go to Page 35" >35</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/computer-programming-script.html?pg=36" title="Go to Page 36" >36</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/computer-programming-script.html?pg=37" title="Go to Page 37" >37</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/computer-programming-script.html?pg=38" title="Current page, Page 38" aria-current="page" data-state="active" >38</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/computer-programming-script.html?pg=39" title="Go to Page 39" >39</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/computer-programming-script.html?pg=40" title="Go to Page 40" >40</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/computer-programming-script.html?pg=41" title="Go to Page 41" >41</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/computer-programming-script.html?pg=42" title="Go to Page 42" >42</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/computer-programming-script.html?pg=43" title="Go to Page 43" >43</a> </li> </ul> <a class="pagination__item pagination__item--next js-pagination-next" href="https://www.dreamstime.com/illustration/computer-programming-script.html?pg=39" title="Page 39" ><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":"Minimalist Solid Black Software Programming And Web Development Glyph Icon Set. Collection of black glyph icons for computer programming, software coding", "url": "https://www.dreamstime.com/collection-black-glyph-icons-computer-programming-software-coding-database-management-web-development-user-interface-image479055748" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 2, "name":"Python Programming Data Analysis and Software Development Vector Illustration Set. Python snake breaking through screen and developer with charts vector", "url": "https://www.dreamstime.com/python-snake-breaking-screen-developer-charts-vector-illustration-coding-data-science-software-engineering-image476255022" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 3, "name":"CMS Content Management System Development and Web Programming Vector Illustration. People working on laptops around large CMS letters vector illustration. Web", "url": "https://www.dreamstime.com/cms-content-management-system-development-web-programming-vector-illustration-people-working-laptops-around-large-letters-image476886545" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 4, "name":"HTML Programming Language Web Banner Set with Woman Character and Potted Plant Illustration. HTML programming language web banner set a woman character and", "url": "https://www.dreamstime.com/html-programming-language-web-banner-set-woman-character-potted-plant-illustration-html-programming-language-web-banner-image476969568" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 5, "name":"Web Development HTML Coding Landing Page Banner Set with Programmers and Software Engineers. Professional programmers working on web development projects for a", "url": "https://www.dreamstime.com/web-development-html-coding-landing-page-banner-set-programmers-software-engineers-professional-programmers-working-image477363338" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 6, "name":"Software Bug Debugging and Programming Error Vector Illustration for Web Landing Page Banner. Man thinking near a calculator and a flying bug icon for a web", "url": "https://www.dreamstime.com/man-thinking-near-calculator-flying-bug-icon-web-landing-page-banner-programming-software-development-debugging-image470683058" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 7, "name":"Computer coding desk setup with multiple monitors displaying code, late night work, programmer s workspace. This image depicts a programmer s workspace with", "url": "https://www.dreamstime.com/computer-coding-desk-setup-multiple-monitors-displaying-code-late-night-work-programmer-s-workspace-image-depicts-image462172292" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 8, "name":"HTML Programming Web Development Landing Page Template with Monstera Plant and Lightbulb Idea. Web development landing page template HTML code, monstera plant", "url": "https://www.dreamstime.com/web-development-landing-page-template-html-code-monstera-plant-lightbulb-icon-coding-software-engineering-design-digital-image467523620" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 9, "name":"Code programmer coding software development. Computer screen displaying lines of code and programming symbols. Illustrates software development, digital", "url": "https://www.dreamstime.com/code-programmer-coding-software-development-computer-screen-displaying-lines-programming-symbols-illustrates-digital-image413547631" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 10, "name":"Mobile App Development and Web Programming Interface Vector Illustration Landing Page Banner. Smartphone and coding interface elements displayed as a modern", "url": "https://www.dreamstime.com/smartphone-coding-interface-elements-displayed-as-modern-landing-page-banner-software-engineering-web-development-mobile-image475140642" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 11, "name":"Infinity Symbol Shape Made of Programming Code Syntax and Software Development. A creative infinity loop shape composed of various programming syntax characters", "url": "https://www.dreamstime.com/infinity-symbol-shape-made-programming-code-syntax-software-development-creative-loop-composed-various-characters-coding-image479855120" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 12, "name":"Digital binary code programming tech concept background design. Vector", "url": "https://www.dreamstime.com/digital-binary-code-programming-tech-concept-background-design-vector-digital-binary-code-programming-tech-concept-background-image446350064" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 13, "name":"Code Configuration and Programming Icons. Vol 42025", "url": "https://www.dreamstime.com/code-configuration-programming-icons-vol-image447072951" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 14, "name":"Programming Code and Chat Bubble Icons Set for Web Development and Communication Interface Design. Programming code brackets and speech bubble icons displayed as", "url": "https://www.dreamstime.com/programming-code-brackets-speech-bubble-icons-displayed-as-web-landing-page-banner-software-development-digital-image468988644" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 15, "name":"HTML Programming Development Landing Page Template with Rocket Launch and Developer Character. A developer celebrates a successful HTML code launch on a modern", "url": "https://www.dreamstime.com/developer-celebrates-successful-html-code-launch-modern-landing-page-banner-web-development-software-engineering-programming-image469005416" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 16, "name":"Web Development HTML Coding Landing Page Banner Set with Programming Icons and Plant Graphics. Web development HTML landing page banner programming code text and", "url": "https://www.dreamstime.com/web-development-html-landing-page-banner-programming-code-text-data-charts-software-engineering-digital-marketing-website-image471078080" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 17, "name":"Web Development Dashboard Interface Icons Set for Programming and Coding Landing Page Banner. Web development dashboard interface icons HTML code and data charts", "url": "https://www.dreamstime.com/web-development-dashboard-interface-icons-set-programming-coding-landing-page-banner-web-development-dashboard-interface-image478677632" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 18, "name":"Programming Workflow Steps Line Icons Set. This vector icon set illustrates key stages in a programming or data processing workflow. It features four distinct", "url": "https://www.dreamstime.com/programming-workflow-steps-line-icons-set-vector-icon-illustrates-key-stages-data-processing-features-four-image461944889" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 19, "name":"Programming Coding Development Web Design Landing Page Banner Set with Robots and Data Charts. Vector illustration of cute robots and data charts for a", "url": "https://www.dreamstime.com/programming-coding-development-web-design-landing-page-banner-set-robots-data-charts-vector-illustration-cute-robots-image473609982" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 20, "name":"Minimalist Black Solid Programming Icon Set For Web Development Symbol Collection. A clean set of black solid programming and software development icons on white", "url": "https://www.dreamstime.com/clean-set-black-solid-programming-software-development-icons-white-background-suitable-web-design-tech-apps-user-image479053071" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 21, "name":"Modern computer setup with code on screen and office supplies on desk. A modern computer setup displaying lines of code on a large monitor, with a keyboard", "url": "https://www.dreamstime.com/modern-computer-setup-code-screen-office-supplies-desk-displaying-lines-large-monitor-keyboard-mouse-other-wooden-image457425066" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 22, "name":"Programming Development Web Design Icons Set for Landing Page Banner and UI Interface Elements. Programming development icons code brackets, growth arrows, and", "url": "https://www.dreamstime.com/programming-development-web-design-icons-set-landing-page-banner-ui-interface-elements-code-brackets-growth-arrows-data-image468725740" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 23, "name":"Code Database Icon for Programming, Data Storage, Server Management, and Technology. Cloud Code Database Icon for Programming, Data Storage, Server Management", "url": "https://www.dreamstime.com/cloud-code-database-icon-programming-data-storage-server-management-technology-image472077304" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 24, "name":"SEO search engine optimization icon code programming red background. Vector", "url": "https://www.dreamstime.com/seo-search-engine-optimization-icon-code-programming-red-background-vector-image284470774" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 25, "name":"HTML Web Development Concept with Laptop and Coding Elements for Website Landing Page Banner. A laptop computer next to an HTML sign and coding icons for a web", "url": "https://www.dreamstime.com/laptop-computer-next-to-html-sign-coding-icons-web-development-landing-page-banner-programming-software-engineering-image482526741" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 26, "name":"Programming Target Icon Set for Web Development and Software Engineering Landing Page Banner. Programming code icon with a target symbol and arrow for web", "url": "https://www.dreamstime.com/programming-target-icon-set-web-development-software-engineering-landing-page-banner-code-symbol-arrow-coding-image482542844" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 27, "name":"Close up of computer code on a digital screen. A detailed, abstract view of glowing lines of computer code displayed on a dark digital screen with a blue and red", "url": "https://www.dreamstime.com/close-up-computer-code-digital-screen-detailed-abstract-view-glowing-lines-displayed-dark-blue-red-color-scheme-image409586875" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 28, "name":"HTML Programming Web Development Landing Page Template with Developer Coding and Data Analysis. Web developer coding HTML on a landing page banner. Software", "url": "https://www.dreamstime.com/html-programming-web-development-landing-page-template-developer-coding-data-analysis-banner-software-engineering-image469480002" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 29, "name":"C programming language logo on white button. This image shows a white button with the C++ logo on a black background. Featuring programming, language, coding", "url": "https://www.dreamstime.com/image-shows-white-button-c-logo-black-background-featuring-programming-language-coding-development-c-image431548014" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 30, "name":"Professional Developer Coding Environment and Advanced Software Programming Tools. Empower modern developers with advanced coding environments, programming", "url": "https://www.dreamstime.com/professional-developer-coding-environment-advanced-software-programming-tools-empower-modern-developers-environments-image474263499" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 31, "name":"HTML Programming Language Web Development Concept Banner with Hand Pointing to Code Structure. A hand pointing to an HTML block and a technical flowchart for a", "url": "https://www.dreamstime.com/html-programming-language-web-development-concept-banner-hand-pointing-to-code-structure-hand-pointing-to-html-block-image480783696" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 32, "name":"Robot head with code tags icon on its face symbolizing programming or development. This vector illustration features a robot head with code tags on its face", "url": "https://www.dreamstime.com/robot-head-code-tags-icon-its-face-symbolizing-programming-development-vector-illustration-features-representing-image469064528" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 33, "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": 34, "name":"Software Development Concept with PHP Elephant and MySQL Dolphin Vector Illustration. Programmer working with PHP and MySQL icons vector illustration. Web", "url": "https://www.dreamstime.com/software-development-concept-php-elephant-mysql-dolphin-vector-illustration-programmer-working-php-mysql-icons-image477322677" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 35, "name":"Programming Code and Creative Idea Lightbulb Icons Set for Web Development Landing Page Banner. Programming code brackets and lightbulb icons for web development", "url": "https://www.dreamstime.com/programming-code-creative-idea-lightbulb-icons-set-web-development-landing-page-banner-brackets-software-engineering-image477340962" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 36, "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": 37, "name":"Colored Program Code. Close-up of colored computer program code on a screen, representing software development or programming", "url": "https://www.dreamstime.com/colored-program-code-close-up-computer-screen-representing-software-development-programming-image412115896" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 38, "name":"HTML Coding Time Management Concept Web Banner Design Set with Clock Icon and Programming Text. HTML text with a clock icon on a web banner background. Software", "url": "https://www.dreamstime.com/html-text-clock-icon-web-banner-background-software-development-project-deadline-coding-efficiency-web-programming-image478572439" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 39, "name":"Code Editor with Complex Scripting Language. A computer screen displaying a complex coding script in a code editor. Generative AI", "url": "https://www.dreamstime.com/code-editor-complex-scripting-language-computer-screen-displaying-coding-script-image439263545" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 40, "name":"Digital Prescription Concept with Code, Script, and Binary Elements for Healthcare Technology Theme. Healthcare, digital technology, programming, prescriptions", "url": "https://www.dreamstime.com/healthcare-digital-technology-programming-prescriptions-data-processing-innovation-prescription-paper-binary-code-coding-image457660766" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 41, "name":"HTML Programming Development Landing Page Template with Developer and Geometric Cylinder Shape. A developer stands next to a cylinder shape and HTML text for a", "url": "https://www.dreamstime.com/html-programming-development-landing-page-template-developer-geometric-cylinder-shape-stands-next-to-text-web-image480246800" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 42, "name":"Set of black linear software development and programming icons on white background. Collection of outline icons representing various software development, coding", "url": "https://www.dreamstime.com/set-black-linear-software-development-programming-icons-white-background-collection-outline-icons-representing-image476820097" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 43, "name":"Digital Code and Programming Symbols in a Futuristic Tech Environment. Futuristic digital code with programming symbols displayed on a glowing screen", "url": "https://www.dreamstime.com/digital-code-programming-symbols-futuristic-tech-environment-displayed-glowing-screen-representing-technology-image435338754" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 44, "name":"Magnifying Glass With Code Symbol Programming Search Development Debugging Concept. Magnifying glass icon with code symbol representing programming, debugging", "url": "https://www.dreamstime.com/magnifying-glass-code-symbol-programming-search-development-debugging-concept-icon-representing-processes-ideal-image451115174" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 45, "name":"Black Vector Icon of a Graduation Cap Placed on a Laptop Screen for Coding Education. A minimalist black icon illustration representing online computer", "url": "https://www.dreamstime.com/black-vector-icon-graduation-cap-placed-laptop-screen-coding-education-minimalist-black-icon-illustration-image478835983" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 46, "name":"HTML Programming Error Warning Sign Vector Illustration for Web Development Landing Page Banner. HTML error warning sign displayed on a web development landing", "url": "https://www.dreamstime.com/html-error-warning-sign-displayed-web-development-landing-page-banner-coding-software-development-debugging-technical-support-image475422295" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 47, "name":"Software Development and Programming Education Vector Illustration for Web Landing Page Banner. A woman kneeling and holding a code block next to books for a web", "url": "https://www.dreamstime.com/woman-kneeling-holding-code-block-next-to-books-web-landing-page-banner-education-software-development-programming-image482656979" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 48, "name":"Web Development and Data Analysis Landing Page Set with Programming Code and Business Growth Charts. Web development and data analysis landing page set", "url": "https://www.dreamstime.com/web-development-data-analysis-landing-page-set-programming-code-business-growth-charts-software-engineering-digital-image475836571" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 49, "name":"Programming Development Concept with PHP Elephant and MySQL Dolphin Vector Illustration. Software development team working with PHP and MySQL database technology", "url": "https://www.dreamstime.com/software-development-team-working-php-mysql-database-technology-vector-illustration-coding-web-programming-database-image470608755" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 50, "name":"Business professional using artificial intelligence dashboard on laptop with cloud computing, machine learning. Data analytics and digital transformation", "url": "https://www.dreamstime.com/business-professional-using-artificial-intelligence-dashboard-laptop-cloud-computing-machine-learning-data-analytics-image464521954" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 51, "name":"Business Growth Bar Chart Icon with Programming Mascot Characters Vector Illustration. Bar chart icon with elephant and dolphin programming mascots vector", "url": "https://www.dreamstime.com/business-growth-bar-chart-icon-programming-mascot-characters-vector-illustration-elephant-dolphin-mascots-software-image478059176" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 52, "name":"Programming Development and Automated Manufacturing Technology Vector Illustration Set. Software development and industrial automation vector illustration. Web", "url": "https://www.dreamstime.com/programming-development-automated-manufacturing-technology-vector-illustration-set-software-industrial-automation-web-database-image473828451" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 53, "name":"Programming Education Concept with PHP Elephant and MySQL Dolphin Vector Illustration. A person coding with PHP elephant and MySQL dolphin mascot vector", "url": "https://www.dreamstime.com/programming-education-concept-php-elephant-mysql-dolphin-vector-illustration-person-coding-mascot-software-development-image479327669" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 54, "name":"Coding in the Neon City. A close-up shot of hands typing on a glowing keyboard, with a computer screen displaying lines of code in the foreground. The background", "url": "https://www.dreamstime.com/close-up-shot-hands-typing-glowing-keyboard-computer-screen-displaying-lines-code-foreground-background-image402482624" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 55, "name":"Code Circuit logo programming software developer engineering system tech enterprise. Code Circuit logo provides a technical identity for companies prioritizing", "url": "https://www.dreamstime.com/web-image466684349" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 56, "name":"Minimalist Outline Coding Document File Format Software Development Programming Icon. Minimalist black outline icon of a coding document file format isolated on", "url": "https://www.dreamstime.com/minimalist-outline-coding-document-file-format-software-development-programming-icon-minimalist-black-outline-icon-coding-image481980097" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 57, "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": 58, "name":"Programming Development Landing Page Vector Illustration with Coding and Data Analysis Elements. Woman kneeling and interacting with digital code and data", "url": "https://www.dreamstime.com/programming-development-landing-page-vector-illustration-coding-data-analysis-elements-woman-kneeling-interacting-digital-image482473960" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 59, "name":"HTML script icon vectors. Illustrations in black", "url": "https://www.dreamstime.com/html-script-icon-vectors-illustrations-black-image462733085" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 60, "name":"Cybersecurity Coding Vector Illustration with Padlock and Programming Code Symbols for Web Design. Blue padlock icon and programming code brackets displayed as a", "url": "https://www.dreamstime.com/blue-padlock-icon-programming-code-brackets-displayed-as-landing-page-banner-software-development-data-protection-network-image469371091" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 61, "name":"Database and Programming Code Document Icons. Vol 9272", "url": "https://www.dreamstime.com/database-programming-code-document-icons-vol-image447695919" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 62, "name":"Web Development and Programming Landing Page Banner Set with HTML Coding and Data Analytics Graphics. Set of web development landing page banners HTML code", "url": "https://www.dreamstime.com/set-web-development-landing-page-banners-html-code-laptop-analytics-data-charts-software-engineering-digital-marketing-image477871529" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 63, "name":"Web Development and Artificial Intelligence Vector Illustration Set for Landing Page Banner Design. Web development workspace with coding interface and robot", "url": "https://www.dreamstime.com/web-development-workspace-coding-interface-robot-character-landing-page-banner-programming-software-engineering-image467424405" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 64, "name":"Set of Software Development and Programming Icons Featuring Code and Technology Concepts. A collection of black and white line art icons representing programming", "url": "https://www.dreamstime.com/set-software-development-programming-icons-featuring-code-technology-concepts-collection-black-white-line-art-image476820120" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 65, "name":"Laptop development icon, solid black glyph symbol for software development, coding and programming. A bold solid black laptop development icon in a clean glyph", "url": "https://www.dreamstime.com/bold-solid-black-laptop-development-icon-clean-glyph-style-symbol-features-simple-shapes-clear-silhouette-making-image482916171" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 66, "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": 67, "name":"Programming Code Symbol and Currency Coin Vector Illustration for Web Development and Fintech Concepts. Programming code brackets and a currency coin icon", "url": "https://www.dreamstime.com/programming-code-symbol-currency-coin-vector-illustration-web-development-fintech-concepts-brackets-icon-isolated-image468777796" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 68, "name":"Abstract Blue Code Background with Light Rays. A close-up view of glowing blue computer code scrolling on a dark screen. The lines of text are illuminated", "url": "https://www.dreamstime.com/close-up-view-glowing-blue-computer-code-scrolling-dark-screen-lines-text-illuminated-creating-sense-image448884476" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 69, "name":"HTML Programming Development Landing Page Banner Set with Developers and Mobile Coding Interface. People coding and mobile interface for web development landing", "url": "https://www.dreamstime.com/html-programming-development-landing-page-banner-set-developers-mobile-coding-interface-people-coding-mobile-image483328657" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 70, "name":"Outline Handdrawn Code Programming Symbol Icon. A black and white hand-drawn style outline icon representing programming code, featuring angle brackets and a", "url": "https://www.dreamstime.com/outline-handdrawn-code-programming-symbol-icon-black-white-hand-drawn-style-representing-featuring-angle-brackets-forward-image462502838" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 71, "name":"Set of Software Development and Programming Vector Icons for Technology and Web Projects. A collection of black and white line art icons representing various", "url": "https://www.dreamstime.com/set-software-development-programming-vector-icons-technology-web-projects-collection-black-white-line-art-image476866660" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 72, "name":"Code Repository Programming Development Source Code. A computer screen displaying source code of a code repository", "url": "https://www.dreamstime.com/code-repository-programming-development-source-computer-screen-displaying-image452783144" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 73, "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": 74, "name":"Dedicated Female Programmer Working Late at Night. A focused young female software developer working late at night in a modern office. She is intently", "url": "https://www.dreamstime.com/dedicated-female-programmer-working-late-night-focused-young-female-software-developer-working-late-night-modern-image407788608" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 75, "name":"Web Development HTML Coding Landing Page Banner Set with Programming Icons and Interface Elements. Web development landing page banner HTML code text and browser", "url": "https://www.dreamstime.com/web-development-landing-page-banner-html-code-text-browser-interface-icons-programming-software-engineering-digital-technology-image478020283" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 76, "name":"Programming Curly Braces and Forward Slash Icon. A vibrant, stylized illustration featuring purple curly braces `{}` flanking a forward slash ` `, all outlined", "url": "https://www.dreamstime.com/vibrant-stylized-illustration-featuring-purple-curly-braces-flanking-forward-slash-all-outlined-darker-shade-small-bright-image415232721" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 77, "name":"HTML Programming Web Development Landing Page Banner Set with Developer Avatar and Light Bulb Icon. Web development landing page banner a programmer avatar and", "url": "https://www.dreamstime.com/web-development-landing-page-banner-programmer-avatar-html-code-symbol-software-engineering-coding-education-digital-image471723107" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 78, "name":"Black Solid Silhouette Programming And Software Development Icon Set Symbol Collection. Minimalist black solid silhouette programming icon set featuring software", "url": "https://www.dreamstime.com/black-solid-silhouette-programming-software-development-icon-set-symbol-collection-minimalist-black-solid-silhouette-image479049642" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 79, "name":"Programming Development Concepts with PHP Elephant and MySQL Dolphin Vector Illustration. Software development icons with PHP elephant and MySQL dolphin vector", "url": "https://www.dreamstime.com/programming-development-concepts-php-elephant-mysql-dolphin-vector-illustration-software-development-icons-php-image475204653" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 80, "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" } ] } </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%2Fcomputer-programming-script.html%3Fpg%3D38&description=Download+Computer+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+Computer+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%2Fcomputer-programming-script.html%3Fpg%3D38\" 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%2Fcomputer-programming-script.html%3Fpg%3D38&summary=Download+Computer+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%2Fcomputer-programming-script.html%3Fpg%3D38&media=https%3A%2F%2Fthumbs.dreamstime.com%2Fb%2Fcollection-black-glyph-icons-computer-programming-software-coding-database-management-web-development-user-interface-479055748.jpg&description=Download+Computer+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%2Fcomputer-programming-script.html%3Fpg%3D38\" 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%2Fcomputer-programming-script.html%3Fpg%3D38&t=Download+Computer+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%2Fcomputer-programming-script.html%3Fpg%3D38&caption=Computer+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%2Fcomputer-programming-script.html%3Fpg%3D38&title=Computer+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=Computer%20Programming%20Script%20Images%20from%20Dreamstime&body=Hey%21%20I%20found%20some%20amazing%20photos%20related%20to%20Computer%20Programming%20Script%20on%20Dreamstime.%20Have%20a%20look%3A%20https%3A%2F%2Fwww.dreamstime.com%2Fillustration%2Fcomputer-programming-script.html%3Fpg%3D38\" 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\/computer-programming-script.html?pg=38<\/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\/computer-programming-script.html","pt":"https:\/\/pt.dreamstime.com\/illustration\/computador.html","de":"https:\/\/de.dreamstime.com\/illustration\/computer.html","es":"https:\/\/es.dreamstime.com\/illustration\/ordenador.html","it":"https:\/\/it.dreamstime.com\/illustration\/calcolatore.html","nl":"https:\/\/www.dreamstime.com\/nl\/illustration\/computer.html","fr":"https:\/\/fr.dreamstime.com\/illustration\/ordinateur.html","ru":"https:\/\/ru.dreamstime.com\/illustration\/\u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440.html","gr":"https:\/\/gr.dreamstime.com\/illustration\/\u03c5\u03c0\u03bf\u03bb\u03bf\u03b3\u03b9\u03c3\u03c4\u03ae\u03c2.html","cn":"https:\/\/cn.dreamstime.com\/illustration\/\u8ba1\u7b97\u673a.html","pl":"https:\/\/pl.dreamstime.com\/illustration\/komputer.html","se":"https:\/\/se.dreamstime.com\/illustration\/dator.html","ro":"https:\/\/ro.dreamstime.com\/illustration\/computer.html","sk":"https:\/\/sk.dreamstime.com\/illustration\/po\u00edta.html","cz":"https:\/\/cz.dreamstime.com\/illustration\/po\u00edta.html","jp":"https:\/\/www.dreamstime.com\/jp\/illustration\/\u30b3\u30f3\u30d4\u30e5\u30fc\u30bf\u30fc.html","kr":"https:\/\/www.dreamstime.com\/kr\/illustration\/\ucef4\ud4e8\ud130.html","ar":"https:\/\/ar.dreamstime.com\/illustration\/\u062d\u0627\u0633\u0648\u0628.html","hi":"https:\/\/hi.dreamstime.com\/illustration\/\u0915\u0902\u092a\u094d\u092f\u0942\u091f\u0930.html","tr":"https:\/\/tr.dreamstime.com\/illustration\/bilgisayar.html","id":"https:\/\/id.dreamstime.com\/illustration\/komputer.html","dk":"https:\/\/dk.dreamstime.com\/illustration\/computer.html","no":"https:\/\/www.dreamstime.com\/no\/illustration\/datamaskin.html","he":"https:\/\/www.dreamstime.com\/he\/illustration\/\u05de\u05d7\u05e9\u05d1.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: 'b4ccbd9ace02d1f13e28af068d1c55f4', cacheDriver: 'ap', }; var securitycheck = 'b4ccbd9ace02d1f13e28af068d1c55f4'; 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: "computer programming script", firstvalue: "", lastsearchvalue: "computer programming script", s_all: "", s_ph: "", s_il: "y", s_video: "", s_audio: "", s_ad: "", s_free: "", securitycheck: "b4ccbd9ace02d1f13e28af068d1c55f4", 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>