Laptop Computer Programming Code Software Illustrations & Vectors

Browse through 23,742 laptop computer programming code software illustrations & vectors or explore more laptop screen or software development vectors to complete your project with stunning visuals.

A calendar icon with a flying insect and a laptop computer for a web landing page banner. Debugging, software development, technical support, project management, error tracking, maintenance. Calendar. Laptop computer programming code software vectors
A calendar icon with a flying insect and a laptop computer for a web landing page banner. Debugging, software development, technical support, project management, error tracking, maintenance. Calendar. Laptop computer programming code software vectors
A cute panda character is coding on a laptop, surrounded by code snippets and expressive emoji speech bubbles representing frustration and confusion, suitable for tech blogs or software development concepts. Laptop computer programming code software illustrations
A cute panda character is coding on a laptop, surrounded by code snippets and expressive emoji speech bubbles representing frustration and confusion, suitable for tech blogs or software development concepts. Laptop computer programming code software illustrations
A person's hand holds a glowing circular icon displaying the text "QUALITY ASSURANCE" against a softly blurred background. In the foreground, a laptop screen shows lines of code, suggesting a software development or testing environment. The bright, warm light from a window behind creates a modern and focused atmosphere. This image effectively conveys concepts of precision, reliability, and meticulous control in technology, software development, or any business process requiring high standards and verification. Ideal for illustrating articles on QA, IT services, product testing, and digital transformation. Laptop computer programming code software illustrations
A person's hand holds a glowing circular icon displaying the text "QUALITY ASSURANCE" against a softly blurred background. In the foreground, a laptop screen shows lines of code, suggesting a software development or testing environment. The bright, warm light from a window behind creates a modern and focused atmosphere. This image effectively conveys concepts of precision, reliability, and meticulous control in technology, software development, or any business process requiring high standards and verification. Ideal for illustrating articles on QA, IT services, product testing, and digital transformation. Laptop computer programming code software illustrations
Developers building software on a laptop screen with a crane, vector illustration. Teamwork, digital transformation, remote communication, coding, project management, business strategy. Programmers. Laptop computer programming code software vectors
Developers building software on a laptop screen with a crane, vector illustration. Teamwork, digital transformation, remote communication, coding, project management, business strategy. Programmers. Laptop computer programming code software vectors
Simple black and white line art illustration of an open laptop screen displaying code bracket symbols for web design and software engineering. Laptop computer programming code software vectors
Simple black and white line art illustration of an open laptop screen displaying code bracket symbols for web design and software engineering. Laptop computer programming code software vectors
Black and white line art icon depicting a portable computer displaying coding brackets for web development and software engineering concept. Laptop computer programming code software vectors
Black and white line art icon depicting a portable computer displaying coding brackets for web development and software engineering concept. Laptop computer programming code software vectors
This image captures the essence of modern software development, with hands typing on a sleek laptop surrounded by a digital matrix of code and binary data. Perfect for tech blogs, coding tutorials, software development companies, and digital marketing content. The image conveys the complexity and creativity of programming, making it ideal for backgrounds, headers, and promotional materials. Laptop computer programming code software illustrations
This image captures the essence of modern software development, with hands typing on a sleek laptop surrounded by a digital matrix of code and binary data. Perfect for tech blogs, coding tutorials, software development companies, and digital marketing content. The image conveys the complexity and creativity of programming, making it ideal for backgrounds, headers, and promotional materials. Laptop computer programming code software illustrations
A laptop screen shows lines of code alongside various coding-related icons, creating a tech-focused and innovative mood ideal for website design or digital presentations. Laptop computer programming code software vectors
A laptop screen shows lines of code alongside various coding-related icons, creating a tech-focused and innovative mood ideal for website design or digital presentations. Laptop computer programming code software vectors
Laptop with digital shield and data icons for a cybersecurity landing page banner. Network security, data protection, privacy, software development, information technology, online safety. Computer. Laptop computer programming code software illustrations
Laptop with digital shield and data icons for a cybersecurity landing page banner. Network security, data protection, privacy, software development, information technology, online safety. Computer. Laptop computer programming code software illustrations
Artificial intelligence, programming education, web development, robotics, innovation, smart technology. Robot hand, laptop with online learning and coding interface. Artificial intelligence. Laptop computer programming code software vectors
Artificial intelligence, programming education, web development, robotics, innovation, smart technology. Robot hand, laptop with online learning and coding interface. Artificial intelligence. Laptop computer programming code software vectors
A man thinking near a laptop with digital interface elements for a website landing page banner. Software development, technical support, programming, data analysis, problem solving, innovation. Male. Laptop computer programming code software vectors
A man thinking near a laptop with digital interface elements for a website landing page banner. Software development, technical support, programming, data analysis, problem solving, innovation. Male. Laptop computer programming code software vectors
Data analysis, cybersecurity, user feedback, binary information, decision-making, digital review. Features binary code under a magnifying glass, a laptop and feedback emoticons. Data analysis. Laptop computer programming code software illustrations
Data analysis, cybersecurity, user feedback, binary information, decision-making, digital review. Features binary code under a magnifying glass, a laptop and feedback emoticons. Data analysis. Laptop computer programming code software illustrations
A man working on a laptop with digital interface elements for a web landing page banner. Technology, software development, programming, data analysis, digital communication, remote work. Person using. Laptop computer programming code software vectors
A man working on a laptop with digital interface elements for a web landing page banner. Technology, software development, programming, data analysis, digital communication, remote work. Person using. Laptop computer programming code software vectors
Web development, digital content creation, coding, cloud computing, online education, multimedia tools. Laptop displaying code, media files documents and cloud symbol. Web development and digital. Laptop computer programming code software vectors
Web development, digital content creation, coding, cloud computing, online education, multimedia tools. Laptop displaying code, media files documents and cloud symbol. Web development and digital. Laptop computer programming code software vectors
A sleek laptop sits on a wooden desk, displaying lines of code in a programming environment. To the left of the laptop is a small potted plant, adding a touch of greenery to the workspace. On the right side of the laptop, several programming books are neatly stacked, suggesting a focus on learning and development. Laptop computer programming code software illustrations
A sleek laptop sits on a wooden desk, displaying lines of code in a programming environment. To the left of the laptop is a small potted plant, adding a touch of greenery to the workspace. On the right side of the laptop, several programming books are neatly stacked, suggesting a focus on learning and development. Laptop computer programming code software illustrations
Workers building software and digital infrastructure on a laptop screen vector illustration. Coding, blockchain, web development, smart city, technology, programming. Developers creating digital. Laptop computer programming code software vectors
Workers building software and digital infrastructure on a laptop screen vector illustration. Coding, blockchain, web development, smart city, technology, programming. Developers creating digital. Laptop computer programming code software vectors
Laptop on a wooden surface displays code against a backdrop of warm, glowing bokeh lights. A small plant with needle-like leaves (possibly a conifer) sits to the left. The lights create a cozy ambiance, highlighting the contrast between technology and nature within the indoor setting. Laptop computer programming code software illustrations
Laptop on a wooden surface displays code against a backdrop of warm, glowing bokeh lights. A small plant with needle-like leaves (possibly a conifer) sits to the left. The lights create a cozy ambiance, highlighting the contrast between technology and nature within the indoor setting. Laptop computer programming code software illustrations
A man in a blue sweater points at a laptop screen displaying code and charts, while another man in an orange hoodie uses a mouse, both seated at a desk in a collaborative work session. Laptop computer programming code software illustrations
A man in a blue sweater points at a laptop screen displaying code and charts, while another man in an orange hoodie uses a mouse, both seated at a desk in a collaborative work session. Laptop computer programming code software illustrations
Smart technology, digital transformation, home automation, coding, data analysis, programming. A laptop displaying various tech icons and a house infographic. Smart technology and digital. Laptop computer programming code software vectors
Smart technology, digital transformation, home automation, coding, data analysis, programming. A laptop displaying various tech icons and a house infographic. Smart technology and digital. Laptop computer programming code software vectors
A person works at a computer, hands typing on the keyboard as a programmer writes code, with a drink nearby and development software visible on the monitor. Laptop computer programming code software illustrations
A person works at a computer, hands typing on the keyboard as a programmer writes code, with a drink nearby and development software visible on the monitor. Laptop computer programming code software illustrations
Data privacy, online security, technology concepts, digital identity, cybersecurity, and surveillance. Binary code, an eye a woman and laptop symbols are. Data privacy and online security as focus. Laptop computer programming code software vectors
Data privacy, online security, technology concepts, digital identity, cybersecurity, and surveillance. Binary code, an eye a woman and laptop symbols are. Data privacy and online security as focus. Laptop computer programming code software vectors
A close-up image of a person's hand typing on a laptop keyboard, with a screen displaying code. The image represents technology, programming, and digital innovation. Laptop computer programming code software illustrations
A close-up image of a person's hand typing on a laptop keyboard, with a screen displaying code. The image represents technology, programming, and digital innovation. Laptop computer programming code software illustrations
A woman using a telescope to find a software bug on a laptop screen for a landing page banner. Cybersecurity, programming, debugging, data analysis, digital technology, web development. Developer. Laptop computer programming code software vectors
A woman using a telescope to find a software bug on a laptop screen for a landing page banner. Cybersecurity, programming, debugging, data analysis, digital technology, web development. Developer. Laptop computer programming code software vectors
A futuristic laptop computer displaying artificial intelligence data flow and programming code with glowing digital effects. Represents AI development, coding, data processing, neural networks, and modern computer technology in a high-tech workspace. Laptop computer programming code software illustrations
A futuristic laptop computer displaying artificial intelligence data flow and programming code with glowing digital effects. Represents AI development, coding, data processing, neural networks, and modern computer technology in a high-tech workspace. Laptop computer programming code software illustrations
Dimly lit workspace features a laptop displaying code alongside a desk lamp and coffee mug Ideal for illustrating programming and late night work. Laptop computer programming code software illustrations
Dimly lit workspace features a laptop displaying code alongside a desk lamp and coffee mug Ideal for illustrating programming and late night work. Laptop computer programming code software illustrations
API and artificial intelligence concept with gears emerging from a laptop screen over binary code background, symbolizing software integration, automation, digital systems, and modern information technology. Laptop computer programming code software illustrations
API and artificial intelligence concept with gears emerging from a laptop screen over binary code background, symbolizing software integration, automation, digital systems, and modern information technology. Laptop computer programming code software illustrations
API and artificial intelligence concept with gears emerging from a laptop screen over binary code background, symbolizing software integration, automation, digital systems, and modern information technology. Laptop computer programming code software illustrations
API and artificial intelligence concept with gears emerging from a laptop screen over binary code background, symbolizing software integration, automation, digital systems, and modern information technology. Laptop computer programming code software illustrations
A person's hands actively typing on a laptop keyboard, with the screen displaying lines of code illuminated in the darkness, suggesting 12a focused coding session. Laptop computer programming code software illustrations
A person's hands actively typing on a laptop keyboard, with the screen displaying lines of code illuminated in the darkness, suggesting 12a focused coding session. Laptop computer programming code software illustrations
A programmer works diligently on a laptop, surrounded by code on the screen. The image captures the focus and dedication involved in software development. Laptop computer programming code software illustrations
A programmer works diligently on a laptop, surrounded by code on the screen. The image captures the focus and dedication involved in software development. Laptop computer programming code software illustrations
Construction workers building a digital interface on a laptop screen vector illustration. Web development, software engineering, business growth, global strategy, coding, project management. Laptop computer programming code software vectors
Construction workers building a digital interface on a laptop screen vector illustration. Web development, software engineering, business growth, global strategy, coding, project management. Laptop computer programming code software vectors
Workers building a digital interface on a laptop screen vector illustration. Programming, web development, software engineering, user registration, data security, project management. Developers. Laptop computer programming code software vectors
Workers building a digital interface on a laptop screen vector illustration. Programming, web development, software engineering, user registration, data security, project management. Developers. Laptop computer programming code software vectors
Laptop with magnifying glass, robot anatomy, and programmer working vector illustration. Technology, software engineering, digital innovation, robotics, coding, data analysis. Computer screen, droid. Laptop computer programming code software vectors
Laptop with magnifying glass, robot anatomy, and programmer working vector illustration. Technology, software engineering, digital innovation, robotics, coding, data analysis. Computer screen, droid. Laptop computer programming code software vectors
The image shows an open laptop with a blue screen displaying a white code symbol '{< >}' in the center. The laptop is placed on a reflective surface, and the keyboard is visible at the bottom of the screen. Laptop computer programming code software illustrations
The image shows an open laptop with a blue screen displaying a white code symbol '{< >}' in the center. The laptop is placed on a reflective surface, and the keyboard is visible at the bottom of the screen. Laptop computer programming code software illustrations
A modern laptop screen shows lines of code, placed on a desk next to a steaming coffee mug and an open notebook, suggesting a work or study session. Laptop computer programming code software illustrations
A modern laptop screen shows lines of code, placed on a desk next to a steaming coffee mug and an open notebook, suggesting a work or study session. Laptop computer programming code software illustrations
Data processing, digital marketing, software coding, web development, SEO strategies, content analysis. Laptop with charts, HTML code and media files. Data processing and digital marketing concepts. Laptop computer programming code software vectors
Data processing, digital marketing, software coding, web development, SEO strategies, content analysis. Laptop with charts, HTML code and media files. Data processing and digital marketing concepts. Laptop computer programming code software vectors
An anonymous person in a dark hoodie is intensely focused on typing on a laptop, illuminated by the screen's glow. The background features a dynamic, abstract digital environment with glowing blue concentric circles and streams of binary code, symbolizing complex data and network activity. This image evokes concepts of cybersecurity, hacking, data breaches, and digital threats, perfect for illustrating themes of technology, internet security, and cybercrime. Laptop computer programming code software illustrations
An anonymous person in a dark hoodie is intensely focused on typing on a laptop, illuminated by the screen's glow. The background features a dynamic, abstract digital environment with glowing blue concentric circles and streams of binary code, symbolizing complex data and network activity. This image evokes concepts of cybersecurity, hacking, data breaches, and digital threats, perfect for illustrating themes of technology, internet security, and cybercrime. Laptop computer programming code software illustrations
Workers repairing a mobile application interface vector illustration. Software development, technical support, digital maintenance, web optimization, programming services, system debugging. Laptop computer programming code software vectors
Workers repairing a mobile application interface vector illustration. Software development, technical support, digital maintenance, web optimization, programming services, system debugging. Laptop computer programming code software vectors
Developers working on HTML programming projects for a website landing page banner. Software engineering, web development, coding education, digital technology, computer science, online training. Laptop computer programming code software vectors
Developers working on HTML programming projects for a website landing page banner. Software engineering, web development, coding education, digital technology, computer science, online training. Laptop computer programming code software vectors
Programmer working on laptop with HTML code and radar interface for website landing page banner. Software engineering, web development, programming, digital technology, coding, data analysis. Laptop computer programming code software vectors
Programmer working on laptop with HTML code and radar interface for website landing page banner. Software engineering, web development, programming, digital technology, coding, data analysis. Laptop computer programming code software vectors
A clean, modern illustration of a programmer's or designer's workspace. Features a laptop displaying code, a tablet with a webpage design, a smartphone, a desk lamp, a potted succulent, and a stack of books. Perfect for themes of technology, development, and creative work. Laptop computer programming code software illustrations
A clean, modern illustration of a programmer's or designer's workspace. Features a laptop displaying code, a tablet with a webpage design, a smartphone, a desk lamp, a potted succulent, and a stack of books. Perfect for themes of technology, development, and creative work. Laptop computer programming code software illustrations
Collection of black and white outline icons representing computer technology, network infrastructure, software development, internet browsing, and digital hardware equipment. Laptop computer programming code software vectors
Collection of black and white outline icons representing computer technology, network infrastructure, software development, internet browsing, and digital hardware equipment. Laptop computer programming code software vectors
Developers building software and robots on laptop screens vector illustration. Coding, programming, automation, machine learning, technical education, digital engineering. Programmers working on. Laptop computer programming code software vectors
Developers building software and robots on laptop screens vector illustration. Coding, programming, automation, machine learning, technical education, digital engineering. Programmers working on. Laptop computer programming code software vectors
A cheerful programmer examines a laptop screen displaying code and a bug, surrounded by helpful tools and a 'fixed' message, perfect for illustrating software development and problem-solving. Laptop computer programming code software vectors
A cheerful programmer examines a laptop screen displaying code and a bug, surrounded by helpful tools and a 'fixed' message, perfect for illustrating software development and problem-solving. Laptop computer programming code software vectors
A modern laptop open and displaying lines of code on its screen, placed on a rustic wooden desk. A bookshelf filled with books and a small potted plant are visible. Laptop computer programming code software illustrations
A modern laptop open and displaying lines of code on its screen, placed on a rustic wooden desk. A bookshelf filled with books and a small potted plant are visible. Laptop computer programming code software illustrations
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. Laptop computer programming code software 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. Laptop computer programming code software vectors
Laptop computer with molecule network graphic, computer science text, glowing blue screen, dark background, technology, education, science, digital. Laptop computer programming code software vectors
Laptop computer with molecule network graphic, computer science text, glowing blue screen, dark background, technology, education, science, digital. Laptop computer programming code software vectors
A modern laptop open and displaying lines of code on its screen, placed on a warm wooden desk. A small green plant in a white pot sits nearby, with soft sunlight streaming through a window. Laptop computer programming code software illustrations
A modern laptop open and displaying lines of code on its screen, placed on a warm wooden desk. A small green plant in a white pot sits nearby, with soft sunlight streaming through a window. Laptop computer programming code software illustrations
Illustration of a woman working on a laptop, likely a programmer or developer. She is sitting at a desk with a cup of coffee nearby. The laptop screen displays code symbols. The overall design is clean and modern, suitable for representing remote work, software development, or technology-related concepts. Laptop computer programming code software illustrations
Illustration of a woman working on a laptop, likely a programmer or developer. She is sitting at a desk with a cup of coffee nearby. The laptop screen displays code symbols. The overall design is clean and modern, suitable for representing remote work, software development, or technology-related concepts. Laptop computer programming code software illustrations
Builders assembling a digital puzzle on a laptop screen, vector illustration. Software engineering, blockchain technology, crypto investment, web development, financial growth, coding. Developers. Laptop computer programming code software vectors
Builders assembling a digital puzzle on a laptop screen, vector illustration. Software engineering, blockchain technology, crypto investment, web development, financial growth, coding. Developers. Laptop computer programming code software vectors
A vector illustration of a young man with glasses working diligently on his laptop. He is depicted as a programmer or software developer, typing code which is visible on both his laptop and an external monitor. The clean, modern workspace includes a small plant and a coffee mug, suggesting a focused and productive environment. This cartoon-style image is perfect for concepts related to technology, IT, coding, web development, remote work, and education. Isolated on a white background for easy use. Laptop computer programming code software illustrations
A vector illustration of a young man with glasses working diligently on his laptop. He is depicted as a programmer or software developer, typing code which is visible on both his laptop and an external monitor. The clean, modern workspace includes a small plant and a coffee mug, suggesting a focused and productive environment. This cartoon-style image is perfect for concepts related to technology, IT, coding, web development, remote work, and education. Isolated on a white background for easy use. Laptop computer programming code software illustrations
A close-up image of a person wearing glasses, with the reflection of green and yellow code visible on the lenses. The person appears to be deeply focused on their work, likely related to programming or software development. The background is blurred, emphasizing the importance of the code reflected in the glasses. Laptop computer programming code software illustrations
A close-up image of a person wearing glasses, with the reflection of green and yellow code visible on the lenses. The person appears to be deeply focused on their work, likely related to programming or software development. The background is blurred, emphasizing the importance of the code reflected in the glasses. Laptop computer programming code software illustrations
A computer monitor displays HTML code on the left side, featuring tags nested within a black interface. The code includes typical HTML elements like `<html>`, `<head>`, and `<title>`. On the right side of the screen, there's an image of snow-covered mountains under a sunrise or sunset, showcasing a scenic view. The monitor has a sleek design with a metal-like frame and a vibrant orange stand. Laptop computer programming code software 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. Laptop computer programming code software 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 item73 item-photo js-listing-item" data-id="398432708" 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=warm+inviting+home+office&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="398432708" 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/warm-inviting-home-office-scene-featuring-laptop-displaying-code-mug-coffee-beautiful-sunset-view-image398432708" class="item__url js-item-title-wrapper" aria-label="Cozy Home Office Setup Laptop, Code, and Sunset Views. A warm and inviting home office scene featuring a laptop displaying code, a mug of coffee, and a beautiful" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/warm-inviting-home-office-scene-featuring-laptop-displaying-code-mug-coffee-beautiful-sunset-view-398432708.jpg" loading="lazy" alt="A warm and inviting home office scene featuring a laptop displaying code, a mug of coffee, and a beautiful sunset view through the window. Perfect for those who work from home and appreciate a cozy, productive workspace. Laptop computer programming code software illustrations" srcset="https://thumbs.dreamstime.com/b/warm-inviting-home-office-scene-featuring-laptop-displaying-code-mug-coffee-beautiful-sunset-view-398432708.jpg?w=360 360w, https://thumbs.dreamstime.com/b/warm-inviting-home-office-scene-featuring-laptop-displaying-code-mug-coffee-beautiful-sunset-view-398432708.jpg?w=400 400w, https://thumbs.dreamstime.com/b/warm-inviting-home-office-scene-featuring-laptop-displaying-code-mug-coffee-beautiful-sunset-view-398432708.jpg?w=450 450w, https://thumbs.dreamstime.com/b/warm-inviting-home-office-scene-featuring-laptop-displaying-code-mug-coffee-beautiful-sunset-view-398432708.jpg?w=576 576w, https://thumbs.dreamstime.com/b/warm-inviting-home-office-scene-featuring-laptop-displaying-code-mug-coffee-beautiful-sunset-view-398432708.jpg?w=768 768w" sizes="(max-width: 359.98px) 360px, (min-width: 360px) and (max-width: 399.98px) 400px, (min-width: 400px) and (max-width: 449.98px) 450px, (min-width: 450px) and (max-width: 575.98px) 576px, 768px"> <figcaption class="item__caption">A warm and inviting home office scene featuring a laptop displaying code, a mug of coffee, and a beautiful sunset view through the window. Perfect for those who work from home and appreciate a cozy, productive workspace. Laptop computer programming code software illustrations</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/warm-inviting-home-office-scene-featuring-laptop-displaying-code-mug-coffee-beautiful-sunset-view-image398432708" > Cozy Home Office Setup Laptop, Code, and Sunset Views. A warm and inviting home office scene featuring a laptop displaying code, a mug of coffee, and a beautiful. A warm and inviting home office scene featuring a laptop displaying code, a mug of coffee, and a beautiful sunset view through the window. Perfect for those who work from home and appreciate a cozy, productive workspace. </a> </p> </div> </article> <article class="item item74 item-photo js-listing-item" data-id="453531719" 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=programming+development+laptop+robotic&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="453531719" 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-laptop-robotic-arm-security-icons-isometric-view-displaying-code-image453531719" class="item__url js-item-title-wrapper" aria-label="Programming development on a laptop with robotic arm and security icons. An isometric view of a laptop displaying code with a robotic" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/programming-development-laptop-robotic-arm-security-icons-isometric-view-displaying-code-453531719.jpg" loading="lazy" alt="Programming development on a laptop with robotic arm and security icons. An isometric view of a laptop displaying code with a robotic. Laptop computer programming code software illustrations" srcset="https://thumbs.dreamstime.com/b/programming-development-laptop-robotic-arm-security-icons-isometric-view-displaying-code-453531719.jpg?w=360 360w, https://thumbs.dreamstime.com/b/programming-development-laptop-robotic-arm-security-icons-isometric-view-displaying-code-453531719.jpg?w=400 400w, https://thumbs.dreamstime.com/b/programming-development-laptop-robotic-arm-security-icons-isometric-view-displaying-code-453531719.jpg?w=450 450w, https://thumbs.dreamstime.com/b/programming-development-laptop-robotic-arm-security-icons-isometric-view-displaying-code-453531719.jpg?w=576 576w, https://thumbs.dreamstime.com/b/programming-development-laptop-robotic-arm-security-icons-isometric-view-displaying-code-453531719.jpg?w=768 768w, https://thumbs.dreamstime.com/b/programming-development-laptop-robotic-arm-security-icons-isometric-view-displaying-code-453531719.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">Programming development on a laptop with robotic arm and security icons. An isometric view of a laptop displaying code with a robotic. Laptop computer programming code software illustrations</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/programming-development-laptop-robotic-arm-security-icons-isometric-view-displaying-code-image453531719" > Programming development on a laptop with robotic arm and security icons. An isometric view of a laptop displaying code with a robotic </a> </p> </div> </article> <article class="item item75 item-photo js-listing-item" data-id="454027431" data-type="image" data-dt-id="#ilc1" data-dt-on-mouseenter="" data-dt-on-touchstart="" > <div class="item__actions"> <a href="https://www.dreamstime.com/search.php?srh_field=programmer+working+laptop+code&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="454027431" data-lb-state="add" aria-label="Add to lightbox" data-aria-label-add="Add to lightbox" data-aria-label-remove="Remove from lightbox" data-dt-id="item-lightbox-btn" data-dt-on-click="" data-dt-on-mouseenter="" data-dt-on-touchstart=""><svg xmlns="http://www.w3.org/2000/svg"><path fill="#fff" d="M6 0h4v16H6V0Z"/><path fill="#fff" d="m0 10-1.7e-7-4 16-7e-7 1.7e-7 4L0 10Z"/></svg></button> <a class="item-btn-trial btn btn--green" href="https://www.dreamstime.com/securecredits2.php?subscriptionid=816&packagetype=0" rel="nofollow" aria-label="Free with trial"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 13.998"><path fill-rule="evenodd" d="M14 13.998H0v-3h1.5v1.5h11v-1.5H14v3ZM6.2 0v4.904H3.528L7 9.996l3.472-5.092H7.8V0H6.2Z"/></svg><span>Free with trial</span></a> </div> <a href="https://www.dreamstime.com/programmer-working-laptop-code-screen-programmer-s-hand-types-laptop-keyboard-code-displayed-screen-image454027431" class="item__url js-item-title-wrapper" aria-label="Programmer Working on Laptop with Code on Screen. A programmer's hand types on a laptop keyboard with code displayed on the screen" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/programmer-working-laptop-code-screen-programmer-s-hand-types-laptop-keyboard-code-displayed-screen-454027431.jpg" loading="lazy" alt="Programmer Working on Laptop with Code on Screen. A programmer's hand types on a laptop keyboard with code displayed on the screen. Laptop computer programming code software illustrations" srcset="https://thumbs.dreamstime.com/b/programmer-working-laptop-code-screen-programmer-s-hand-types-laptop-keyboard-code-displayed-screen-454027431.jpg?w=360 360w, https://thumbs.dreamstime.com/b/programmer-working-laptop-code-screen-programmer-s-hand-types-laptop-keyboard-code-displayed-screen-454027431.jpg?w=400 400w, https://thumbs.dreamstime.com/b/programmer-working-laptop-code-screen-programmer-s-hand-types-laptop-keyboard-code-displayed-screen-454027431.jpg?w=450 450w, https://thumbs.dreamstime.com/b/programmer-working-laptop-code-screen-programmer-s-hand-types-laptop-keyboard-code-displayed-screen-454027431.jpg?w=576 576w, https://thumbs.dreamstime.com/b/programmer-working-laptop-code-screen-programmer-s-hand-types-laptop-keyboard-code-displayed-screen-454027431.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">Programmer Working on Laptop with Code on Screen. A programmer's hand types on a laptop keyboard with code displayed on the screen. Laptop computer programming code software illustrations</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/programmer-working-laptop-code-screen-programmer-s-hand-types-laptop-keyboard-code-displayed-screen-image454027431" > Programmer Working on Laptop with Code on Screen. A programmer's hand types on a laptop keyboard with code displayed on the screen </a> </p> </div> </article> <article class="item item76 item-photo js-listing-item" data-id="476462968" 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=collection+line+art+icons&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="476462968" 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/set-technology-programming-icons-software-development-information-technology-concepts-collection-line-art-image476462968" class="item__url js-item-title-wrapper" aria-label="Set of Technology and Programming Icons for Software Development and Information Technology Concepts. A collection of line art icons representing computer" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/set-technology-programming-icons-software-development-information-technology-concepts-collection-line-art-476462968.jpg" loading="lazy" alt="A collection of line art icons representing computer technology, programming, database management, and digital security solutions. Laptop computer programming code software vectors" srcset="https://thumbs.dreamstime.com/b/set-technology-programming-icons-software-development-information-technology-concepts-collection-line-art-476462968.jpg?w=360 360w, https://thumbs.dreamstime.com/b/set-technology-programming-icons-software-development-information-technology-concepts-collection-line-art-476462968.jpg?w=400 400w, https://thumbs.dreamstime.com/b/set-technology-programming-icons-software-development-information-technology-concepts-collection-line-art-476462968.jpg?w=450 450w, https://thumbs.dreamstime.com/b/set-technology-programming-icons-software-development-information-technology-concepts-collection-line-art-476462968.jpg?w=576 576w, https://thumbs.dreamstime.com/b/set-technology-programming-icons-software-development-information-technology-concepts-collection-line-art-476462968.jpg?w=768 768w, https://thumbs.dreamstime.com/b/set-technology-programming-icons-software-development-information-technology-concepts-collection-line-art-476462968.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 collection of line art icons representing computer technology, programming, database management, and digital security solutions. Laptop computer programming code software vectors</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/set-technology-programming-icons-software-development-information-technology-concepts-collection-line-art-image476462968" > Set of Technology and Programming Icons for Software Development and Information Technology Concepts. A collection of line art icons representing computer. A collection of line art icons representing computer technology, programming, database management, and digital security solutions </a> </p> </div> </article> <article class="item item77 item-photo js-listing-item" data-id="419016704" 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=close+shot+captures+hands&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="419016704" 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/close-up-shot-captures-hands-actively-programming-laptop-keyboard-screen-displays-lines-backend-code-mixing-php-image419016704" class="item__url js-item-title-wrapper" aria-label="Developer works late coding PHP on a dark screen. A close-up shot captures hands actively programming on a laptop keyboard. The screen displays lines of backend" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/close-up-shot-captures-hands-actively-programming-laptop-keyboard-screen-displays-lines-backend-code-mixing-php-419016704.jpg" loading="lazy" alt="A close-up shot captures hands actively programming on a laptop keyboard. The screen displays lines of backend code mixing PHP and HTML tags using a comfortable dark theme syntax highlighter. Rendered by Ai this image illustrates the focused intensity of software development in a dimly lit environment and highlights the modern tools used for web creation. Laptop computer programming code software illustrations" srcset="https://thumbs.dreamstime.com/b/close-up-shot-captures-hands-actively-programming-laptop-keyboard-screen-displays-lines-backend-code-mixing-php-419016704.jpg?w=360 360w, https://thumbs.dreamstime.com/b/close-up-shot-captures-hands-actively-programming-laptop-keyboard-screen-displays-lines-backend-code-mixing-php-419016704.jpg?w=400 400w, https://thumbs.dreamstime.com/b/close-up-shot-captures-hands-actively-programming-laptop-keyboard-screen-displays-lines-backend-code-mixing-php-419016704.jpg?w=450 450w, https://thumbs.dreamstime.com/b/close-up-shot-captures-hands-actively-programming-laptop-keyboard-screen-displays-lines-backend-code-mixing-php-419016704.jpg?w=576 576w, https://thumbs.dreamstime.com/b/close-up-shot-captures-hands-actively-programming-laptop-keyboard-screen-displays-lines-backend-code-mixing-php-419016704.jpg?w=768 768w, https://thumbs.dreamstime.com/b/close-up-shot-captures-hands-actively-programming-laptop-keyboard-screen-displays-lines-backend-code-mixing-php-419016704.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 close-up shot captures hands actively programming on a laptop keyboard. The screen displays lines of backend code mixing PHP and HTML tags using a comfortable dark theme syntax highlighter. Rendered by Ai this image illustrates the focused intensity of software development in a dimly lit environment and highlights the modern tools used for web creation. Laptop computer programming code software illustrations</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/close-up-shot-captures-hands-actively-programming-laptop-keyboard-screen-displays-lines-backend-code-mixing-php-image419016704" > Developer works late coding PHP on a dark screen. A close-up shot captures hands actively programming on a laptop keyboard. The screen displays lines of backend. A close-up shot captures hands actively programming on a laptop keyboard. The screen displays lines of backend code mixing PHP and HTML tags using a comfortable dark theme syntax highlighter. Rendered by Ai this image illustrates the focused intensity of software development in a dimly lit environment and highlights the modern tools used for web creation </a> </p> </div> </article> <article class="item item78 item-photo js-listing-item" data-id="404249403" 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=developers+collaborating+code+laptops&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="404249403" 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/teamwork-coding-programming-concept-illustration-developers-collaborating-code-laptops-magnifying-glass-surrounded-image404249403" class="item__url js-item-title-wrapper" aria-label="Teamwork Coding and Programming Concept Illustration. Developers collaborating on code with laptops and magnifying glass, surrounded by programming symbols" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/teamwork-coding-programming-concept-illustration-developers-collaborating-code-laptops-magnifying-glass-surrounded-404249403.jpg" loading="lazy" alt="Developers collaborating on code with laptops and magnifying glass, surrounded by programming symbols, gears, and security icons, perfect for software development and teamwork topics vector illustration. Laptop computer programming code software vectors" srcset="https://thumbs.dreamstime.com/b/teamwork-coding-programming-concept-illustration-developers-collaborating-code-laptops-magnifying-glass-surrounded-404249403.jpg?w=360 360w, https://thumbs.dreamstime.com/b/teamwork-coding-programming-concept-illustration-developers-collaborating-code-laptops-magnifying-glass-surrounded-404249403.jpg?w=400 400w, https://thumbs.dreamstime.com/b/teamwork-coding-programming-concept-illustration-developers-collaborating-code-laptops-magnifying-glass-surrounded-404249403.jpg?w=450 450w, https://thumbs.dreamstime.com/b/teamwork-coding-programming-concept-illustration-developers-collaborating-code-laptops-magnifying-glass-surrounded-404249403.jpg?w=576 576w, https://thumbs.dreamstime.com/b/teamwork-coding-programming-concept-illustration-developers-collaborating-code-laptops-magnifying-glass-surrounded-404249403.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">Developers collaborating on code with laptops and magnifying glass, surrounded by programming symbols, gears, and security icons, perfect for software development and teamwork topics vector illustration. Laptop computer programming code software vectors</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/teamwork-coding-programming-concept-illustration-developers-collaborating-code-laptops-magnifying-glass-surrounded-image404249403" > Teamwork Coding and Programming Concept Illustration. Developers collaborating on code with laptops and magnifying glass, surrounded by programming symbols. Developers collaborating on code with laptops and magnifying glass, surrounded by programming symbols, gears, and security icons, perfect for software development and teamwork topics vector illustration </a> </p> </div> </article> <article class="item item79 item-photo js-listing-item" data-id="362446930" 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=dark+hoodie+hacker+working&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="362446930" 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/dark-hoodie-hacker-working-laptop-glowing-code-background-image362446930" class="item__url js-item-title-wrapper" aria-label="Dark hoodie hacker working on laptop with glowing code background. A Dark hoodie hacker working on laptop with glowing code background, ai generated" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/dark-hoodie-hacker-working-laptop-glowing-code-background-362446930.jpg" loading="lazy" alt="Dark hoodie hacker working on laptop with glowing code background. A Dark hoodie hacker working on laptop with glowing code background, ai generated. Laptop computer programming code software illustrations" srcset="https://thumbs.dreamstime.com/b/dark-hoodie-hacker-working-laptop-glowing-code-background-362446930.jpg?w=360 360w, https://thumbs.dreamstime.com/b/dark-hoodie-hacker-working-laptop-glowing-code-background-362446930.jpg?w=400 400w, https://thumbs.dreamstime.com/b/dark-hoodie-hacker-working-laptop-glowing-code-background-362446930.jpg?w=450 450w, https://thumbs.dreamstime.com/b/dark-hoodie-hacker-working-laptop-glowing-code-background-362446930.jpg?w=576 576w, https://thumbs.dreamstime.com/b/dark-hoodie-hacker-working-laptop-glowing-code-background-362446930.jpg?w=768 768w, https://thumbs.dreamstime.com/b/dark-hoodie-hacker-working-laptop-glowing-code-background-362446930.jpg?w=992 992w, https://thumbs.dreamstime.com/b/dark-hoodie-hacker-working-laptop-glowing-code-background-362446930.jpg?w=1200 1200w, https://thumbs.dreamstime.com/b/dark-hoodie-hacker-working-laptop-glowing-code-background-362446930.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">Dark hoodie hacker working on laptop with glowing code background. A Dark hoodie hacker working on laptop with glowing code background, ai generated. Laptop computer programming code software illustrations</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/dark-hoodie-hacker-working-laptop-glowing-code-background-image362446930" > Dark hoodie hacker working on laptop with glowing code background. A Dark hoodie hacker working on laptop with glowing code background, ai generated </a> </p> </div> </article> <article class="item item80 item-photo js-listing-item" data-id="437299881" 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=close+person+hands+typing&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="437299881" 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/person-working-laptop-code-screen-close-up-s-hands-typing-keyboard-displaying-lines-dark-room-orange-blue-image437299881" class="item__url js-item-title-wrapper" aria-label="A person working on a laptop with code on the screen. A close-up of a person's hands typing on a laptop keyboard with a screen displaying lines of code in a dark" target="_blank"> <figure> <img class="item__thumb" src="https://thumbs.dreamstime.com/b/person-working-laptop-code-screen-close-up-s-hands-typing-keyboard-displaying-lines-dark-room-orange-blue-437299881.jpg" loading="lazy" alt="A close-up of a person's hands typing on a laptop keyboard with a screen displaying lines of code in a dark room with orange and blue lights. Laptop computer programming code software illustrations" srcset="https://thumbs.dreamstime.com/b/person-working-laptop-code-screen-close-up-s-hands-typing-keyboard-displaying-lines-dark-room-orange-blue-437299881.jpg?w=360 360w, https://thumbs.dreamstime.com/b/person-working-laptop-code-screen-close-up-s-hands-typing-keyboard-displaying-lines-dark-room-orange-blue-437299881.jpg?w=400 400w, https://thumbs.dreamstime.com/b/person-working-laptop-code-screen-close-up-s-hands-typing-keyboard-displaying-lines-dark-room-orange-blue-437299881.jpg?w=450 450w, https://thumbs.dreamstime.com/b/person-working-laptop-code-screen-close-up-s-hands-typing-keyboard-displaying-lines-dark-room-orange-blue-437299881.jpg?w=576 576w, https://thumbs.dreamstime.com/b/person-working-laptop-code-screen-close-up-s-hands-typing-keyboard-displaying-lines-dark-room-orange-blue-437299881.jpg?w=768 768w, https://thumbs.dreamstime.com/b/person-working-laptop-code-screen-close-up-s-hands-typing-keyboard-displaying-lines-dark-room-orange-blue-437299881.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 close-up of a person's hands typing on a laptop keyboard with a screen displaying lines of code in a dark room with orange and blue lights. Laptop computer programming code software illustrations</figcaption> </figure> </a> <div class="item__info"> <p class="item__title js-item-title"> <a href="https://www.dreamstime.com/person-working-laptop-code-screen-close-up-s-hands-typing-keyboard-displaying-lines-dark-room-orange-blue-image437299881" > A person working on a laptop with code on the screen. A close-up of a person's hands typing on a laptop keyboard with a screen displaying lines of code in a dark. a close-up of a person's hands typing on a laptop keyboard with a screen displaying lines of code in a dark room with orange and blue lights </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-6ade5b6214817" 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/project-management.html" aria-label="Project management illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Project 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/team-collaboration.html" aria-label="Team collaboration illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Team Collaboration</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/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/flying-insect.html" aria-label="Flying insect illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Flying Insect</h3> </a> </li> <li class="swipe-row__item js-swipe-row-item"><a class="js-related-searches-item related-searches__item related-searches__item--plain" draggable="false" href="https://www.dreamstime.com/illustration/web-landing.html" aria-label="Web landing illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Web Landing</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/landing-page.html" aria-label="Landing page illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Landing Page</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/calendar-icon.html" aria-label="Calendar icon illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Calendar Icon</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/remote-communication.html" aria-label="Remote communication illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Remote Communication</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/technical-support.html" aria-label="Technical support illustrations" target="_blank" itemtype="http://schema.org/relatedLink" itemscope > <h3 class="related-searches__keyword">Technical Support</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-6ade5b6214817" > <button type="button" class="js-swipe-row-button" aria-label="Scroll previous" aria-controls="swiper-row-6ade5b6214817" ><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-6ade5b6214817" > <button type="button" class="js-swipe-row-button" aria-label="Scroll next" aria-controls="swiper-row-6ade5b6214817" 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/laptop-computer-programming-code-software.html?pg=47" title="Page 47" 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/laptop-computer-programming-code-software.html?pg=45" title="Page 45" ><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/laptop-computer-programming-code-software.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/laptop-computer-programming-code-software.html?pg=43" title="Go to Page 43" >43</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/laptop-computer-programming-code-software.html?pg=44" title="Go to Page 44" >44</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/laptop-computer-programming-code-software.html?pg=45" title="Go to Page 45" >45</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/laptop-computer-programming-code-software.html?pg=46" title="Current page, Page 46" aria-current="page" data-state="active" >46</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/laptop-computer-programming-code-software.html?pg=47" title="Go to Page 47" >47</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/laptop-computer-programming-code-software.html?pg=48" title="Go to Page 48" >48</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/laptop-computer-programming-code-software.html?pg=49" title="Go to Page 49" >49</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/laptop-computer-programming-code-software.html?pg=50" title="Go to Page 50" >50</a> </li> <li> <a class="pagination__item pagination__item--page js-pg-list-item" href="https://www.dreamstime.com/illustration/laptop-computer-programming-code-software.html?pg=51" title="Go to Page 51" >51</a> </li> </ul> <a class="pagination__item pagination__item--next js-pagination-next" href="https://www.dreamstime.com/illustration/laptop-computer-programming-code-software.html?pg=47" title="Page 47" ><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":"Tax season 2026 on digital laptop with code elements and conceptual background", "url": "https://www.dreamstime.com/tax-season-digital-laptop-code-elements-conceptual-background-image476909869" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 2, "name":"Troubleshooting computer software isolated cartoon vector illustrations. Professional technician uses computer software to fix network, troubleshooting process", "url": "https://www.dreamstime.com/troubleshooting-computer-software-isolated-cartoon-vector-illustrations-professional-technician-uses-to-fix-network-process-modern-image416547612" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 3, "name":"Software Bug Detection and Calendar Scheduling Vector Illustration for Web Landing Page. A calendar icon with a flying insect and a laptop computer for a web", "url": "https://www.dreamstime.com/calendar-icon-flying-insect-laptop-computer-web-landing-page-banner-debugging-software-development-technical-image475490124" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 4, "name":"Laptop coding at night urban window. A laptop displays code against a rainy city backdrop creating a moody atmosphere Ideal for technology and programming", "url": "https://www.dreamstime.com/laptop-coding-night-urban-window-displays-code-against-rainy-city-backdrop-creating-moody-atmosphere-ideal-technology-image462949866" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 5, "name":"Set Laptop, Browser setting, Software and Server, Data, Web Hosting icon. Vector. ", "url": "https://www.dreamstime.com/set-laptop-browser-setting-software-server-data-web-hosting-icon-vector-image416791262" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 6, "name":"Panda programmer working on laptop with code and angry emojis. A cute panda character is coding on a laptop, surrounded by code snippets and expressive emoji", "url": "https://www.dreamstime.com/panda-programmer-working-laptop-code-angry-emojis-cute-character-coding-surrounded-snippets-expressive-emoji-image462137842" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 7, "name":"Quality Assurance Concept: Hand Holding Glowing Icon with Laptop. A person s hand holds a glowing circular icon displaying the text QUALITY ASSURANCE against a", "url": "https://www.dreamstime.com/person-s-hand-holds-glowing-circular-icon-displaying-text-quality-assurance-against-softly-blurred-background-foreground-image421417865" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 8, "name":"Modern laptop showing coding screen. Close-up of a sleek laptop displaying code on its bright screen, ideal for tech and programming use", "url": "https://www.dreamstime.com/modern-laptop-showing-coding-screen-close-up-sleek-displaying-code-its-bright-ideal-tech-programming-use-image462518840" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 9, "name":"Software Development and Team Collaboration Vector Illustration with Laptop and Crane. Developers building software on a laptop screen with a crane, vector", "url": "https://www.dreamstime.com/developers-building-software-laptop-screen-crane-vector-illustration-teamwork-digital-transformation-remote-image468691104" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 10, "name":"Minimalist Outline Laptop Coding Bracket Program Development Technology Icon. Simple black and white line art illustration of an open laptop screen displaying", "url": "https://www.dreamstime.com/simple-black-white-line-art-illustration-open-laptop-screen-displaying-code-bracket-symbols-web-design-software-image480816611" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 11, "name":"Minimalist Outline Laptop Coding Screen Software Development Technology Icon. Black and white line art icon depicting a portable computer displaying coding", "url": "https://www.dreamstime.com/black-white-line-art-icon-depicting-portable-computer-displaying-coding-brackets-web-development-software-engineering-image481979233" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 12, "name":"Coding in the Digital Matrix. This image captures the essence of modern software development, with hands typing on a sleek laptop surrounded by a digital matrix", "url": "https://www.dreamstime.com/image-captures-essence-modern-software-development-hands-typing-sleek-laptop-surrounded-digital-matrix-image398043699" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 13, "name":"Laptop displaying code with coding icons. A laptop screen shows lines of code alongside various coding-related icons, creating a tech-focused and innovative mood", "url": "https://www.dreamstime.com/laptop-displaying-code-coding-icons-screen-shows-lines-alongside-various-related-creating-tech-focused-innovative-image415538766" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 14, "name":"Cybersecurity Protection Landing Page Banner with Laptop Shield and Data Encryption Icons. Laptop with digital shield and data icons for a cybersecurity landing", "url": "https://www.dreamstime.com/cybersecurity-protection-landing-page-banner-laptop-shield-data-encryption-icons-digital-network-security-privacy-image470189665" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 15, "name":"Robotic Hand, Programming Code, and Online Learning on a Laptop Highlighting AI and Technology. Artificial intelligence, programming education, web development", "url": "https://www.dreamstime.com/artificial-intelligence-programming-education-web-development-robotics-innovation-smart-technology-robot-hand-laptop-online-image476711441" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 16, "name":"Man Thinking About Digital Technology and Software Development Landing Page Illustration. A man thinking near a laptop with digital interface elements for a", "url": "https://www.dreamstime.com/man-thinking-digital-technology-software-development-landing-page-illustration-man-thinking-near-laptop-digital-image476970866" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 17, "name":"Laptop Code Upload Development Icons. Vol 18004", "url": "https://www.dreamstime.com/laptop-code-upload-development-icons-vol-image447567588" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 18, "name":"Binary Code with Magnifying Glass, Laptop, and Feedback Emoticons Technology and Data Analysis. Data analysis, cybersecurity, user feedback, binary information", "url": "https://www.dreamstime.com/data-analysis-cybersecurity-user-feedback-binary-information-decision-making-digital-review-features-code-under-magnifying-glass-image478727471" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 19, "name":"Man Working on Laptop with Digital Interface Elements for Web Landing Page Banner Design. A man working on a laptop with digital interface elements for a web", "url": "https://www.dreamstime.com/man-working-laptop-digital-interface-elements-web-landing-page-banner-design-man-working-laptop-digital-image479162371" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 20, "name":"Cloud-Based Web Development and Digital Content Creation Concept with Laptop and Code Elements. Web development, digital content creation, coding, cloud", "url": "https://www.dreamstime.com/cloud-based-web-development-digital-content-creation-concept-laptop-code-elements-coding-computing-online-education-image467090049" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 21, "name":"Modern workspace with laptop and books. A sleek laptop sits on a wooden desk, displaying lines of code in a programming environment. To the left of the laptop is", "url": "https://www.dreamstime.com/modern-workspace-laptop-books-sleek-sits-wooden-desk-displaying-lines-code-programming-environment-to-left-image426822631" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 22, "name":"Software Development and Digital Infrastructure Concept Vector Illustration Set. Workers building software and digital infrastructure on a laptop screen vector", "url": "https://www.dreamstime.com/software-development-digital-infrastructure-concept-vector-illustration-set-workers-building-laptop-screen-coding-image474971949" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 23, "name":"Laptop with code on screen, warm lights. Laptop on a wooden surface displays code against a backdrop of warm, glowing bokeh lights. A small plant with needle", "url": "https://www.dreamstime.com/laptop-code-screen-warm-lights-image426570313" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 24, "name":"Two men collaborating on a computer project with data charts and code on screen. A man in a blue sweater points at a laptop screen displaying code and charts", "url": "https://www.dreamstime.com/two-men-collaborating-computer-project-data-charts-code-screen-man-blue-sweater-points-laptop-displaying-image465271328" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 25, "name":"Digital Technology Concept with Laptop, Code, and Smart Home Elements for Modern Innovation. Smart technology, digital transformation, home automation, coding", "url": "https://www.dreamstime.com/smart-technology-digital-transformation-home-automation-coding-data-analysis-programming-laptop-displaying-various-tech-icons-image475572070" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 26, "name":"Programmer typing code with drink nearby. A person works at a computer, hands typing on the keyboard as a programmer writes code, with a drink nearby and", "url": "https://www.dreamstime.com/person-works-computer-hands-typing-keyboard-as-programmer-writes-code-drink-nearby-development-software-image419172745" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 27, "name":"Data Privacy Concept with Binary Code, Human Eye, Abstract Woman, and Laptop Symbol Elements. Data privacy, online security, technology concepts, digital", "url": "https://www.dreamstime.com/data-privacy-concept-binary-code-human-eye-abstract-woman-laptop-symbol-elements-data-privacy-online-security-technology-image478127942" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 28, "name":"Close-up of a Person Typing on a Laptop. A close-up image of a person s hand typing on a laptop keyboard, with a screen displaying code. The image represents", "url": "https://www.dreamstime.com/close-up-person-typing-laptop-close-up-image-person-s-hand-typing-laptop-keyboard-screen-displaying-image454027784" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 29, "name":"Set of black and white programming and software development line art vector icons. A comprehensive collection of programming, software development, and coding", "url": "https://www.dreamstime.com/set-black-white-programming-software-development-line-art-vector-icons-comprehensive-collection-programming-image476820104" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 30, "name":"Modern laptop displaying code on a wooden desk with a window view. A sleek laptop open on a wooden desk, showing lines of code and a video call. A mug and small", "url": "https://www.dreamstime.com/sleek-laptop-open-wooden-desk-showing-lines-code-video-call-mug-small-plant-nearby-modern-displaying-window-image456739988" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 31, "name":"Software Bug Detection and Cybersecurity Analysis Vector Illustration for Web Landing Page. A woman using a telescope to find a software bug on a laptop screen", "url": "https://www.dreamstime.com/woman-using-telescope-to-find-software-bug-laptop-screen-landing-page-banner-cybersecurity-programming-debugging-data-image476270899" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 32, "name":"Five Icons: Laptop with Code and Upload. Vol 17993", "url": "https://www.dreamstime.com/five-icons-laptop-code-upload-vol-image447554238" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 33, "name":"Artificial Intelligence Data Flow on Laptop Screen. A futuristic laptop computer displaying artificial intelligence data flow and programming code with glowing", "url": "https://www.dreamstime.com/futuristic-laptop-computer-displaying-artificial-intelligence-data-flow-programming-code-glowing-digital-effects-image414981863" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 34, "name":"Laptop coding dark workspace technology. Dimly lit workspace features a laptop displaying code alongside a desk lamp and coffee mug Ideal for illustrating", "url": "https://www.dreamstime.com/laptop-coding-dark-workspace-technology-dimly-lit-features-displaying-code-alongside-desk-lamp-coffee-mug-ideal-image463848987" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 35, "name":"API Integration and Artificial Intelligence Technology Concept on Laptop 3d render. API and artificial intelligence concept with gears emerging from a laptop", "url": "https://www.dreamstime.com/api-integration-artificial-intelligence-technology-concept-laptop-d-render-gears-emerging-screen-over-binary-image431642524" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 36, "name":"API Integration and Artificial Intelligence Technology Concept on Laptop 3d render. API and artificial intelligence concept with gears emerging from a laptop", "url": "https://www.dreamstime.com/api-integration-artificial-intelligence-technology-concept-laptop-d-render-gears-emerging-screen-over-binary-image432958346" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 37, "name":"Hands typing code on a laptop screen in a dark room, programmer at work. A person s hands actively typing on a laptop keyboard, with the screen displaying lines", "url": "https://www.dreamstime.com/hands-typing-code-laptop-screen-dark-room-programmer-work-person-s-hands-actively-typing-laptop-keyboard-image424486924" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 38, "name":"Programmer working on code. A programmer works diligently on a laptop, surrounded by code on the screen. The image captures the focus and dedication involved in", "url": "https://www.dreamstime.com/programmer-working-code-programmer-works-diligently-laptop-surrounded-code-screen-image-captures-focus-image454027810" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 39, "name":"Laptop displaying code on a wooden desk with a coffee cup and plant. A laptop screen shows lines of code, placed on a wooden desk next to a steaming cup of", "url": "https://www.dreamstime.com/laptop-screen-shows-lines-code-placed-wooden-desk-next-to-steaming-cup-coffee-potted-plant-displaying-image456740165" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 40, "name":"Laptop coding dark illuminated workspace. A laptop displaying code illuminates a dark workspace with a focused light source Ideal for technology and programming", "url": "https://www.dreamstime.com/laptop-coding-dark-illuminated-workspace-displaying-code-illuminates-focused-light-source-ideal-technology-image462918642" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 41, "name":"Software Development and Business Growth Vector Illustration with Laptop and Profit Icon. Construction workers building a digital interface on a laptop screen", "url": "https://www.dreamstime.com/software-development-business-growth-vector-illustration-laptop-profit-icon-construction-workers-building-digital-image469793115" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 42, "name":"Software Development and User Registration Process Vector Illustration for Web Design. Workers building a digital interface on a laptop screen vector", "url": "https://www.dreamstime.com/workers-building-digital-interface-laptop-screen-vector-illustration-programming-web-development-software-engineering-user-image469018162" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 43, "name":"Laptop with code and notebook on desk with pen. A laptop displaying code sits on a desk next to a stack of blank paper and a pen, illuminated by a desk lamp", "url": "https://www.dreamstime.com/laptop-code-notebook-desk-pen-displaying-sits-next-to-stack-blank-paper-illuminated-lamp-image464100575" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 44, "name":"Software Development and Artificial Intelligence Engineering Vector Illustration Set. Laptop with magnifying glass, robot anatomy, and programmer working vector", "url": "https://www.dreamstime.com/software-development-artificial-intelligence-engineering-vector-illustration-set-laptop-magnifying-glass-robot-anatomy-image471069756" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 45, "name":"Laptop displaying code symbol. The image shows an open laptop with a blue screen displaying a white code symbol {< >} in the center. The laptop is placed on a", "url": "https://www.dreamstime.com/laptop-displaying-code-symbol-image-shows-open-blue-screen-white-center-placed-reflective-surface-image428552527" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 46, "name":"Minimalist Outline Laptop Coding Software Development Web Programming Symbol Icon. Minimalist black and white outline icon representing a laptop displaying", "url": "https://www.dreamstime.com/minimalist-outline-laptop-coding-software-development-web-programming-symbol-icon-minimalist-black-white-outline-icon-image481979518" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 47, "name":"Laptop displaying code on a desk with a coffee mug and open notebook. A modern laptop screen shows lines of code, placed on a desk next to a steaming coffee mug", "url": "https://www.dreamstime.com/modern-laptop-screen-shows-lines-code-placed-desk-next-to-steaming-coffee-mug-open-notebook-suggesting-work-image456739820" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 48, "name":"Data Analysis Concept with Programming Elements, SEO Tools, and Digital Media on Laptop Screen. Data processing, digital marketing, software coding, web", "url": "https://www.dreamstime.com/data-analysis-concept-programming-elements-seo-tools-digital-media-laptop-screen-processing-marketing-software-coding-image482803487" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 49, "name":"Anonymous Cyber Hacker Working on Laptop with Digital Code Background. An anonymous person in a dark hoodie is intensely focused on typing on a laptop", "url": "https://www.dreamstime.com/anonymous-cyber-hacker-working-laptop-digital-code-background-anonymous-person-dark-hoodie-intensely-focused-image421417835" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 50, "name":"Software Development and Technical Support Vector Illustration with Engineers and Laptop. Workers repairing a mobile application interface vector illustration", "url": "https://www.dreamstime.com/workers-repairing-mobile-application-interface-vector-illustration-software-development-technical-support-digital-maintenance-image473181939" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 51, "name":"HTML Programming Development Landing Page Banner Set with Developers Working on Code Projects. Developers working on HTML programming projects for a website", "url": "https://www.dreamstime.com/html-programming-development-landing-page-banner-set-developers-working-code-projects-developers-working-html-image477874534" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 52, "name":"HTML Web Development Coding Landing Page Banner Illustration with Programmer Working on Laptop. Programmer working on laptop with HTML code and radar interface", "url": "https://www.dreamstime.com/html-web-development-coding-landing-page-banner-illustration-programmer-working-laptop-programmer-working-laptop-image471671346" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 53, "name":"Coding Workspace Laptop with Code, Tablet, Phone, Desk Lamp, Plant, Books. A clean, modern illustration of a programmer s or designer s workspace. Features a", "url": "https://www.dreamstime.com/clean-modern-illustration-programmer-s-designer-s-workspace-features-laptop-displaying-code-tablet-webpage-image435643427" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 54, "name":"Line Art Technology Computer Network Internet Software Development Web Design Icon. Collection of black and white outline icons representing computer technology", "url": "https://www.dreamstime.com/line-art-technology-computer-network-internet-software-development-web-design-icon-collection-black-white-outline-icons-image480062913" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 55, "name":"Software Development and Artificial Intelligence Engineering Vector Illustration Set. Developers building software and robots on laptop screens vector", "url": "https://www.dreamstime.com/software-development-artificial-intelligence-engineering-vector-illustration-set-developers-building-robots-laptop-screens-image475602175" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 56, "name":"Developer working with AI agents programming and data analysis on laptop computer. Programmer creating AI agents using advanced coding, data visualization, and", "url": "https://www.dreamstime.com/developer-working-ai-agents-programming-data-analysis-laptop-computer-programmer-creating-using-advanced-coding-image460394218" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 57, "name":"Laptop screen displaying lines of code in the dark, programmer at work. Laptop displaying code in dark room", "url": "https://www.dreamstime.com/laptop-displaying-code-dark-room-image425551785" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 58, "name":"Young smiling woman Jane holding laptop and showing pink coding symbol. Web developer, software engineer or coder. Programming and coding concept. 3d vector", "url": "https://www.dreamstime.com/young-smiling-woman-jane-holding-laptop-showing-pink-coding-symbol-web-developer-software-engineer-coder-programming-image409866393" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 59, "name":"Debugging laptop with bug icon and tools. A cheerful programmer examines a laptop screen displaying code and a bug, surrounded by helpful tools and a fixed ", "url": "https://www.dreamstime.com/debugging-laptop-bug-icon-tools-cheerful-programmer-examines-screen-displaying-code-surrounded-helpful-fixed-message-image415538190" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 60, "name":"Laptop displaying code on a wooden desk next to a bookshelf and window. A modern laptop open and displaying lines of code on its screen, placed on a rustic", "url": "https://www.dreamstime.com/laptop-displaying-code-wooden-desk-next-to-bookshelf-window-modern-open-lines-its-screen-placed-rustic-filled-image456740035" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 61, "name":"Laptop displaying code on a wooden desk with a notebook and coffee cup. A laptop screen shows lines of code and diagrams, placed on a rustic wooden desk next to", "url": "https://www.dreamstime.com/laptop-screen-shows-lines-code-diagrams-placed-rustic-wooden-desk-next-to-open-notebook-coffee-mug-displaying-image456739615" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 62, "name":"Laptop with coding software on screen in cafe. Close-up of laptop screen displaying coding software in a busy cafe", "url": "https://www.dreamstime.com/laptop-coding-software-screen-cafe-close-up-displaying-busy-image426598054" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 63, "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": 64, "name":"Computer science laptop with molecule network on screen, technology education concept. Laptop computer with molecule network graphic, computer science text", "url": "https://www.dreamstime.com/computer-science-laptop-molecule-network-screen-technology-education-concept-graphic-text-glowing-blue-dark-background-image436864108" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 65, "name":"Coding screens with blue code and data streams. Close up of bright blue computer screens displaying programming code and data streams in a tech workspace", "url": "https://www.dreamstime.com/close-up-bright-blue-computer-screens-displaying-programming-code-data-streams-tech-workspace-coding-screens-blue-image432983817" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 66, "name":"Laptop displaying code on a wooden desk with a potted plant and sunlight. A modern laptop open and displaying lines of code on its screen, placed on a warm", "url": "https://www.dreamstime.com/laptop-displaying-code-wooden-desk-potted-plant-sunlight-modern-open-lines-its-screen-placed-warm-small-green-image457425227" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 67, "name":"Female Programmer Working on Laptop. Illustration of a woman working on a laptop, likely a programmer or developer. She is sitting at a desk with a cup of coffee", "url": "https://www.dreamstime.com/illustration-woman-sitting-desk-coding-laptop-coffee-cup-nearby-showcasing-modern-work-environment-image413304335" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 68, "name":"Software Development and Cryptocurrency Concept Vector Illustration with Laptop and Builders. Builders assembling a digital puzzle on a laptop screen, vector", "url": "https://www.dreamstime.com/software-development-cryptocurrency-concept-vector-illustration-laptop-builders-builders-assembling-digital-puzzle-image471875726" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 69, "name":"Focused Programmer Coding on Laptop Vector Illustration. A vector illustration of a young man with glasses working diligently on his laptop. He is depicted as a", "url": "https://www.dreamstime.com/vector-illustration-young-man-glasses-working-diligently-his-laptop-depicted-as-programmer-software-image415656276" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 70, "name":"Reflections of code. A close-up image of a person wearing glasses, with the reflection of green and yellow code visible on the lenses. The person appears to be", "url": "https://www.dreamstime.com/close-up-image-person-wearing-glasses-reflection-green-yellow-code-visible-lenses-appears-to-be-deeply-image432836585" },{ "@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":"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": 73, "name":"Cozy Home Office Setup Laptop, Code, and Sunset Views. A warm and inviting home office scene featuring a laptop displaying code, a mug of coffee, and a beautiful", "url": "https://www.dreamstime.com/warm-inviting-home-office-scene-featuring-laptop-displaying-code-mug-coffee-beautiful-sunset-view-image398432708" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 74, "name":"Programming development on a laptop with robotic arm and security icons. An isometric view of a laptop displaying code with a robotic", "url": "https://www.dreamstime.com/programming-development-laptop-robotic-arm-security-icons-isometric-view-displaying-code-image453531719" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 75, "name":"Programmer Working on Laptop with Code on Screen. A programmer s hand types on a laptop keyboard with code displayed on the screen", "url": "https://www.dreamstime.com/programmer-working-laptop-code-screen-programmer-s-hand-types-laptop-keyboard-code-displayed-screen-image454027431" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 76, "name":"Set of Technology and Programming Icons for Software Development and Information Technology Concepts. A collection of line art icons representing computer", "url": "https://www.dreamstime.com/set-technology-programming-icons-software-development-information-technology-concepts-collection-line-art-image476462968" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 77, "name":"Developer works late coding PHP on a dark screen. A close-up shot captures hands actively programming on a laptop keyboard. The screen displays lines of backend", "url": "https://www.dreamstime.com/close-up-shot-captures-hands-actively-programming-laptop-keyboard-screen-displays-lines-backend-code-mixing-php-image419016704" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 78, "name":"Teamwork Coding and Programming Concept Illustration. Developers collaborating on code with laptops and magnifying glass, surrounded by programming symbols", "url": "https://www.dreamstime.com/teamwork-coding-programming-concept-illustration-developers-collaborating-code-laptops-magnifying-glass-surrounded-image404249403" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 79, "name":"Dark hoodie hacker working on laptop with glowing code background. A Dark hoodie hacker working on laptop with glowing code background, ai generated", "url": "https://www.dreamstime.com/dark-hoodie-hacker-working-laptop-glowing-code-background-image362446930" },{ "@context":"https://schema.org", "@type":"ListItem", "position": 80, "name":"A person working on a laptop with code on the screen. A close-up of a person s hands typing on a laptop keyboard with a screen displaying lines of code in a dark", "url": "https://www.dreamstime.com/person-working-laptop-code-screen-close-up-s-hands-typing-keyboard-displaying-lines-dark-room-orange-blue-image437299881" } ] } </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%2Flaptop-computer-programming-code-software.html%3Fpg%3D46&description=Download+Laptop+Computer+Programming+Code+Software+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+Laptop+Computer+Programming+Code+Software+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%2Flaptop-computer-programming-code-software.html%3Fpg%3D46\" 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%2Flaptop-computer-programming-code-software.html%3Fpg%3D46&summary=Download+Laptop+Computer+Programming+Code+Software+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%2Flaptop-computer-programming-code-software.html%3Fpg%3D46&media=https%3A%2F%2Fthumbs.dreamstime.com%2Fb%2Ftax-season-digital-laptop-code-elements-conceptual-background-476909869.jpg&description=Download+Laptop+Computer+Programming+Code+Software+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%2Flaptop-computer-programming-code-software.html%3Fpg%3D46\" 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%2Flaptop-computer-programming-code-software.html%3Fpg%3D46&t=Download+Laptop+Computer+Programming+Code+Software+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%2Flaptop-computer-programming-code-software.html%3Fpg%3D46&caption=Laptop+Computer+Programming+Code+Software+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%2Flaptop-computer-programming-code-software.html%3Fpg%3D46&title=Laptop+Computer+Programming+Code+Software+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=Laptop%20Computer%20Programming%20Code%20Software%20Images%20from%20Dreamstime&body=Hey%21%20I%20found%20some%20amazing%20photos%20related%20to%20Laptop%20Computer%20Programming%20Code%20Software%20on%20Dreamstime.%20Have%20a%20look%3A%20https%3A%2F%2Fwww.dreamstime.com%2Fillustration%2Flaptop-computer-programming-code-software.html%3Fpg%3D46\" 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\/laptop-computer-programming-code-software.html?pg=46<\/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\/laptop-computer-programming-code-software.html","pt":"https:\/\/pt.dreamstime.com\/illustration\/laptop.html","de":"https:\/\/de.dreamstime.com\/illustration\/laptop.html","es":"https:\/\/es.dreamstime.com\/illustration\/port\u00e1til.html","it":"https:\/\/it.dreamstime.com\/illustration\/portatile.html","nl":"https:\/\/www.dreamstime.com\/nl\/illustration\/laptop.html","fr":"https:\/\/fr.dreamstime.com\/illustration\/portable.html","ru":"https:\/\/ru.dreamstime.com\/illustration\/\u043a\u043e\u043c\u043f\u044c\u0442\u0435\u0440-\u043a\u043d\u0438\u0436\u043a\u0430.html","gr":"https:\/\/gr.dreamstime.com\/illustration\/lap-top.html","cn":"https:\/\/cn.dreamstime.com\/illustration\/\u819d\u4e0a\u578b\u8ba1\u7b97\u673a.html","pl":"https:\/\/pl.dreamstime.com\/illustration\/notebook.html","se":"https:\/\/se.dreamstime.com\/illustration\/laptop.html","ro":"https:\/\/ro.dreamstime.com\/illustration\/laptop.html","sk":"https:\/\/sk.dreamstime.com\/illustration\/laptop.html","cz":"https:\/\/cz.dreamstime.com\/illustration\/laptop.html","jp":"https:\/\/www.dreamstime.com\/jp\/illustration\/\u30e9\u30c3\u30d7\u30c8\u30c3\u30d7.html","kr":"https:\/\/www.dreamstime.com\/kr\/illustration\/\ub178\ud2b8\ubd81.html","ar":"https:\/\/ar.dreamstime.com\/illustration\/\u062d\u0627\u0633\u0648\u0628-\u0645\u062d\u0645\u0648\u0644.html","hi":"https:\/\/hi.dreamstime.com\/illustration\/\u0932\u0948\u092a\u091f\u0949\u092a.html","tr":"https:\/\/tr.dreamstime.com\/illustration\/diz\u00fcst\u00fc-bilgisayar.html","id":"https:\/\/id.dreamstime.com\/illustration\/laptop.html","dk":"https:\/\/dk.dreamstime.com\/illustration\/b\u00e6rbar.html","no":"https:\/\/www.dreamstime.com\/no\/illustration\/b\u00e6rbar.html","he":"https:\/\/www.dreamstime.com\/he\/illustration\/\u05de\u05d7\u05e9\u05d1-\u05e0\u05d9\u05d9\u05d3.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: '7bbca7ebe4922947e1ee0984b2f9222a', cacheDriver: 'ap', }; var securitycheck = '7bbca7ebe4922947e1ee0984b2f9222a'; 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: "laptop computer programming code software", firstvalue: "", lastsearchvalue: "laptop computer programming code software", s_all: "", s_ph: "", s_il: "y", s_video: "", s_audio: "", s_ad: "", s_free: "", securitycheck: "7bbca7ebe4922947e1ee0984b2f9222a", 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>