- DDG.Data.Experiments = {
- about_module: {
- versions: ["v35-1", "v35-2", "v35-3", "v35-4", "v36-7", "v37-1", "v37-2", "v37-3"],
- variants: ["a", "b"]
- },
- stack_overflow: {
- versions: ["v35-5", "v35-6", "v35-7", "v36-1", "v36-2", "v36-3"],
- variants: ["a", "b"]
- },
- spelling: {
- versions: ["v33-6", "v33-7", "v34-1", "v34-2", "v34-3"],
- variants: ["a", "b"]
- },
- region_override: {
- versions: ["v38-2", "v38-3", "v38-4", "v38-5", "v38-6", "v38-7", "v39-1", "v39-2"],
- variants: ["a", "b"]
- },
- control: {
- versions: ["v39-3", "v39-4", "v39-5", "v39-6", "v39-7", "v40-1", "v40-2", "v40-3", "v40-4", "v40-5", "v40-6", "v40-7"],
- variants: ["a", "b"]
- },
- filter_label: {
- versions: ["v41-1", "v41-2", "v41-3", "v41-4", "v41-5", "v41-6", "v41-7"],
- variants: ["a", "b", "c", "d"]
- },
- filters_above_organics: {
- versions: ["v42-1", "v42-2", "v42-3", "v42-4", "v42-5", "v42-6", "v42-7"],
- variants: ["a", "b", "c", "d"]
- },
- organic_ux: {
- versions: ["v44-1", "v44-2", "v44-3", "v44-4", "v44-5", "v44-6", "v44-7"],
- variants: ["a", "b", "c", "d", "e"],
- locale: "en_us"
- },
- static_news: {
- versions: ["v47-6", "v47-7", "v48-1", "v48-2", "v48-3", "v48-4", "v48-5"],
- variants: ["a", "b"]
- },
- control2: {
- versions: ["v51-2", "v51-3", "v51-4", "v51-5"],
- variants: ["a", "b"]
- },
- safe_search_filter: {
- versions: ["v52-1", "v52-2", "v52-3", "v52-4", "v52-5", "v52-6", "v52-7"],
- variants: ["a", "b"]
- },
- map_module: {
- versions: ["v57-1", "v57-2", "v57-3", "v57-4", "v57-5", "v57-6", "v57-7"],
- variants: ["a", "b"],
- locale: "en_us"
- },
- images_ux: {
- versions: ["v58-1"],
- variants: ["a", "b"]
- },
- images_ux_detail: {
- versions: ["v58-6", "v58-7"],
- variants: ["a", "b"]
- },
- images_ux_filters: {
- versions: ["v59-1", "v59-2", "v59-3"],
- variants: ["a", "b"],
- englishOnly: true
- },
- placeholder_delay: {
- versions: ["v61-1", "v61-2", "v61-3"],
- variants: ["a", "b"]
- },
- back_button: {
- versions: ["v63-1", "v63-2", "v63-3", "v63-4", "v63-5", "v63-6"],
- variants: ["a", "b"]
- },
- fixed_ux_header: {
- versions: ["v64-3", "v64-4", "v64-5", "v64-6", "v64-7"],
- variants: ["a", "b"]
- },
- ad_layouts: {
- versions: ["v66-1", "v66-2", "v66-3", "v66-4", "v66-5", "v66-6", "v66-7", "v67-1"],
- variants: ["a", "b", "c"]
- },
- ad_layouts_2: {
- versions: ["v67-2", "v67-3", "v67-4", "v67-5", "v67-6", "v67-7"],
- variants: ["b", "c"]
- },
- serp_ui: {
- versions: ["v88-3", "v88-4", "v88-5", "v88-6", "v88-7", "v89-1", "v89-2", "v89-3", "v89-4"],
- variants: ["q", "r"],
- platformName: "androidwos"
- },
- chrome_desktop_us_portableapps_control: {
- versions: ["v121-2", "v121-3", "v121-4", "v121-5", "v121-6", "v121-7", "v122-1", "v122-2", "v122-3", "v122-4", "v122-5", "v122-6", "v122-7"],
- variants: ["o"],
- locale: "en_us",
- desktopOnly: true,
- displayBrowserName: "Chrome"
- },
- serp_show_hide_bolding: {
- versions: ["v124-1", "v124-2", "v124-3", "v124-4", "v124-5", "v124-6", "v124-7", "v125-1", "v125-2", "v125-3", "v125-4"],
- variants: ["a", "b", "c"]
- },
- green_urls: {
- versions: ["v127-1", "v127-2", "v127-3", "v127-4", "v127-5", "v127-6", "v127-7", "v128-1"],
- variants: ["a", "b", "c", "d"]
- },
- chrome_desktop_store_install_en: {
- allocation: [0.5, 1],
- variants: ["e", "f"],
- desktopOnly: true,
- englishOnly: true,
- atb: true,
- active: false,
- displayBrowserName: "Chrome",
- canInstallExtension: true
- },
- chrome_desktop_store_install_non_en: {
- allocation: [0.5, 1],
- variants: ["g", "h"],
- desktopOnly: true,
- nonEnglishOnly: true,
- atb: true,
- active: false,
- displayBrowserName: "Chrome",
- canInstallExtension: true
- },
- serp_footer: {
- versions: ["v129-6", "v129-7", "v130-1", "v130-2", "v130-3", "v130-4", "v130-5", "v130-6"],
- englishOnly: true,
- desktopOnly: true,
- variants: ["e", "f"]
- },
- safe_search_moderate_default: {
- versions: ["v136-2", "v136-3", "v136-4", "v136-5", "v136-6", "v136-7", "v137-1", "v137-2"],
- variants: ["a", "b"]
- },
- region_toggle_default: {
- versions: ["v140-2", "v140-3", "v140-4", "v140-5", "v140-6", "v140-7", "v141-1", "v141-2", "v141-3"],
- variants: ["a", "b"],
- desktopOnly: true
- },
- deemphasize_http_links: {
- versions: ["v143-7", "v144-1", "v144-2", "v144-3", "v144-4", "v144-5", "v144-6"],
- variants: ["a", "b", "c"]
- },
- no_ads: {
- versions: ["v148-2", "v148-3", "v148-4", "v148-5", "v148-6"],
- variants: ["a", "b"],
- desktopOnly: true
- },
- fonts: {
- versions: ["v154-1", "v154-2", "v154-3", "v154-4", "v154-5", "v154-6"],
- variants: ["a", "b"],
- mobileAppVariants: {
- sa: "a",
- sb: "b",
- sc: "a",
- sd: "b"
- }
- },
- ui_updates: {
- pixelId: "uiu",
- versions: ["v155-1", "v155-2", "v155-3", "v155-4", "v155-5", "v155-6", "v155-7", "v156-1", "v156-2", "v156-3", "v156-4", "v156-5", "v156-6", "v156-7"],
- variants: ["a", "b"],
- mobileAppVariants: {
- sa: "a",
- sb: "b",
- sc: "a",
- sd: "b"
- }
- },
- post_install_onboarding: {
- versions: ["v157-1", "v157-2", "v157-3", "v157-4", "v157-5", "v157-6", "v157-7"],
- variants: ["a", "b"],
- desktopOnly: true
- },
- regions_toggle_exp: {
- pixelId: "rtl",
- versions: ["v158-1", "v158-2", "v158-3", "v158-4", "v158-5", "v158-6", "v158-7", "v159-1", "v159-2", "v159-3", "v159-4", "v159-5", "v159-6", "v159-7"],
- variants: ["a", "b"],
- countries: ["DE", "FR", "PL", "CA", "IT", "ES", "AU", "BR", "NL", "GB", "ID"],
- desktopOnly: true
- },
- welcome_message: {
- pixelId: "wcm",
- versions: ["v163-1", "v163-2", "v163-3", "v163-4", "v163-5", "v163-6"],
- variants: ["a", "b"],
- desktopOnly: true,
- englishOnly: true
- },
- less_prominent_answerbar: {
- pixelId: "lpab",
- versions: ["v163-7", "v164-1", "v164-2", "v164-3", "v164-4", "v164-5", "v164-6"],
- variants: ["a", "b"],
- desktopOnly: true
- },
- settings_dropdown: {
- pixelId: "sdd",
- versions: ["v165-3", "v165-4", "v165-5", "v165-6", "v165-7", "v166-1", "v166-2"],
- variants: ["a", "b", "c"],
- desktopOnly: true,
- englishOnly: true
- },
- welcome_message_2: {
- pixelId: "wcm2",
- versions: ["v166-3", "v166-4", "v166-5", "v166-6", "v166-6", "v167-1"],
- variants: ["a", "b"],
- desktopOnly: true,
- englishOnly: true
- },
- homepage_landing: {
- allocation: [0.033, 0.066, 0.1],
- variants: ["a", "b", "c"],
- desktopOnly: true,
- englishOnly: true,
- atb: true,
- active: false,
- canInstallExtension: true,
- defaultThemeOnly: true,
- stickyAtbVariant: true
- },
- homepage_fullbleed_landing: {
- allocation: [0, 0.2, 0.4],
- variant: "g",
- variants: ["x", "w"],
- desktopOnly: true,
- englishOnly: true,
- atb: true,
- active: false,
- canInstallExtension: true,
- defaultThemeOnly: true,
- minScreenSize: {
- width: 800,
- height: 600
- },
- filter: function() {
- return window.locale !== "en_GB"
- }
- },
- homepage_fullbleed_regional_landing: {
- allocation: [0, 1],
- variant: "g",
- variants: ["y"],
- desktopOnly: true,
- englishOnly: true,
- atb: true,
- active: false,
- canInstallExtension: true,
- defaultThemeOnly: true,
- minScreenSize: {
- width: 800,
- height: 600
- },
- filter: function() {
- return window.locale === "en_GB"
- }
- },
- welcome_message_3: {
- pixelId: "wcm3",
- versions: ["v168-1", "v168-2", "v168-3", "v168-4", "v168-5", "v168-6", "v168-7"],
- variants: ["a", "b", "c", "d"],
- desktopOnly: true,
- englishOnly: true
- },
- extension_optin: {
- versions: ["v169-3", "v169-4", "v169-5", "v169-6", "v169-7", "v170-1", "v170-2", "v170-3", "v170-4", "v170-5"],
- allocation: [0.5, 1],
- variants: ["k", "l"],
- desktopOnly: true,
- englishOnly: true,
- canInstallExtension: true
- },
- mobile_cards: {
- pixelId: "mcds",
- versions: ["v169-2", "v169-3", "v169-4", "v169-5", "v169-6", "v169-7", "v170-1", "v170-7", "v171-1", "v171-2"],
- variants: ["a", "b"],
- appsOnly: true,
- displayBrowserName: "DDG iPhone",
- mobileAppVariants: {
- sc: "a",
- se: "b"
- }
- },
- ct_retention_exp: {
- pixelId: "ctexp",
- versions: ["v174-7", "v175-1", "v175-2", "v175-3", "v175-4", "v175-5", "v175-6", "v175-7"],
- variants: ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"],
- countries: ["AT", "AU", "BE", "BR", "CA", "CH", "DE", "DK", "ES", "FI", "FR", "GB", "ID", "IE", "IN", "IT", "JP", "MX", "NL", "NO", "NZ", "PL", "RU", "SE", "SG", "US"],
- desktopOnly: true
- },
- post_install_homepage: {
- pixelId: "pih",
- versions: ["v177-3", "v177-4", "v177-5", "v177-6", "v177-7", "v178-1"],
- variants: ["a", "b"],
- desktopOnly: true,
- englishOnly: true,
- canInstallExtension: true,
- defaultThemeOnly: true,
- minScreenSize: {
- width: 900,
- height: 600
- }
- },
- mixed_modules: {
- variants: ["a", "b"],
- pixelId: "miaexp",
- versions: ["v192-7", "v193-1", "v193-2", "v193-3", "v193-4", "v193-5", "v193-6", "v193-7"],
- mobileAppVariants: {
- sc: "a",
- se: "b"
- }
- },
- mobile_cards_refinements: {
- variants: ["a", "b", "c"],
- pixelId: "crdexp",
- versions: ["v203-2", "v203-3", "v203-4", "v203-5", "v203-6", "v203-7", "v204-1"],
- mobileAppVariants: {
- sc: "a",
- sd: "b",
- se: "c"
- }
- },
- autocomplete_delay: {
- variants: ["a", "b"],
- pixelId: "acdexp",
- versions: ["v208-3", "v208-4", "v208-5", "v208-6", "v208-7", "v209-1"]
- },
- organic_atb_measure: {
- allocation: [0, 0.1],
- variant: "r",
- variants: ["z"],
- desktopOnly: true,
- englishOnly: true,
- atb: true,
- active: false,
- canInstallExtension: true
- },
- mobile_header: {
- pixelId: "mhdr",
- versions: ["v211-4", "v211-5", "v211-6", "v211-7", "v212-1", "v212-2", "v212-3"],
- variants: ["a", "b"],
- appsOnly: true,
- mobileAppVariants: {
- sc: "a",
- se: "b"
- }
- },
- home_brand_messaging: {
- allocation: [0, 0.1, 0.2],
- variants: ["a", "d"],
- desktopOnly: true,
- englishOnly: true,
- atb: true,
- active: false,
- canInstallExtension: true,
- defaultThemeOnly: true,
- minScreenSize: {
- width: 800,
- height: 600
- }
- },
- dynamic_slotting: {
- pixelId: "sltret",
- versions: ["v213-2", "v213-3", "v213-4", "v213-5", "v213-6", "v213-7", "v214-1", "v214-2"],
- variants: ["a", "b"],
- mobileAppVariants: {
- sc: "a",
- se: "b"
- }
- },
- privacy_nudge: {
- allocation: [0.3, 0.5, 0.7],
- variant: "r",
- variants: ["y", "z"],
- desktopOnly: true,
- englishOnly: true,
- atb: true,
- active: false,
- canInstallExtension: true,
- displayBrowserName: "Chrome"
- },
- ct_test: {
- pixelId: "cttest",
- versions: ["v217-2", "v217-3"],
- variants: ["a", "b"]
- },
- larger_extension_tracker_list: {
- allocation: [0.3, 0.5, 0.7],
- variant: "l",
- variants: ["m", "n"],
- desktopOnly: true,
- atb: true,
- active: false,
- canInstallExtension: true
- },
- desktop_mobile_app_promo: {
- allocation: [0, 0.2, 0.4, 0.8],
- variant: "p",
- variants: ["v", "w", "x"],
- desktopOnly: true,
- englishOnly: true,
- trap: true,
- atb: true,
- active: false,
- canInstallExtension: true,
- displayBrowserName: "Chrome"
- },
- cross_product_promotion_mobile: {
- allocation: [0.6, 0.7, 0.8, 0.9, 1],
- variant: "x",
- variants: ["u", "z", "m", "n"],
- mobileOnly: true,
- englishOnly: true,
- atb: true,
- active: false,
- trap: true,
- stickyAtbVariant: true,
- displayBrowserName: "Safari",
- filter: function(a) {
- return (a.device.isSafari && a.device.isEnglish && a.device.isIOS8p && !a.device.isIPad)
- }
- },
- msh2exp: {
- variants: ["a", "b"],
- versions: ["v234-7", "v235-1", "v235-2", "v235-3", "v235-4", "v235-5", "v235-6"],
- pixelId: "msh2exp",
- appsOnly: true,
- mobileAppVariants: {
- sc: "a",
- se: "b"
- },
- filter: function(a) {
- return a.device && a.device.isMobile
- }
- },
- extension_fingerprint_protection_control: {
- allocation: [0.8, 0.9],
- variant: "c",
- variants: ["k"],
- active: true,
- atb: true,
- canInstallExtension: true
- },
- extension_fingerprint_protection_exp: {
- allocation: [0.9, 1],
- variant: "f",
- variants: ["k"],
- active: true,
- atb: true,
- canInstallExtension: true
- },
- default_region_toggle: {
- pixelId: "drt",
- versions: ["v236-2", "v236-3", "v236-4", "v236-5", "v236-6", "v236-7", "v237-1", "v237-2", "v237-3", "v237-4", "v237-5", "v237-6", "v238-7"],
- variants: ["a", "b"],
- countries: ["AU", "AT", "DK", "FI", "FR", "DE", "IT", "IE", "NZ", "NO", "ES", "SE", "GB"]
- }
- };
- DDG.Data.Onboarding = {
- _: {},
- a: {
- description: "UrbanDictionary campaign 1",
- variant: "z",
- urbanDictionaryLandingPage: true
- },
- b: {},
- c: {
- description: "UrbanDictionary campaign 2",
- variant: "z",
- urbanDictionaryLandingPage: true
- },
- d: {
- description: "UrbanDictionary campaign 3",
- variant: "z",
- urbanDictionaryLandingPage: true
- },
- e: {
- description: "UrbanDictionary campaign 4",
- variant: "z",
- urbanDictionaryLandingPage: true
- },
- f: {},
- g: {},
- h: {},
- i: {},
- j: {},
- k: {
- description: "UrbanDictionary campaign 7",
- variant: "z",
- urbanDictionaryLandingPage: true
- },
- l: {
- description: "UrbanDictionary campaign 8",
- variant: "z",
- urbanDictionaryLandingPage: true
- },
- m: {
- description: "UrbanDictionary campaign 9",
- variant: "z",
- urbanDictionaryLandingPage: true
- },
- n: {
- description: "UrbanDictionary campaign 10",
- variant: "z",
- urbanDictionaryLandingPage: true
- },
- o: {
- description: "UrbanDictionary campaign 11",
- variant: "z",
- urbanDictionaryLandingPage: true
- },
- p: {
- description: "UrbanDictionary campaign 12",
- variant: "z",
- urbanDictionaryLandingPage: true
- },
- q: {
- description: "UrbanDictionary campaign 13",
- variant: "z",
- urbanDictionaryLandingPage: true
- },
- r: {
- description: "UrbanDictionary campaign 14",
- variant: "z",
- urbanDictionaryLandingPage: true
- },
- s: {
- description: "UrbanDictionary campaign 15",
- variant: "z",
- urbanDictionaryLandingPage: true
- },
- t: {},
- u: {
- description: "PortableApps One Button Modal",
- modalButtons: 1
- },
- v: {
- description: "Youtube Video Campaign"
- },
- w: {},
- x: {
- description: "Youtube Video Campaign"
- },
- y: {},
- z: {
- description: "Pagefair 2",
- variant: "y",
- urbanDictionaryLandingPage: true
- }
- };
- DDG.Data.Apps = {
- isIPhone: "https://itunes.apple.com/us/app/id663592361?mt=8",
- isAndroid: "market://details?id=com.duckduckgo.mobile.android"
- };
- ! function(a) {
- a.Data.Homepage = {
- queries: [{
- href: "/?q=tilt+shift+images&ia=images",
- label: "tilt shift images"
- }, {
- href: "/?q=thailand+beach+images&ia=images",
- label: "thailand beach images"
- }, {
- href: "/?q=gopro+videos&ia=videos",
- label: "gopro videos"
- }, {
- href: "/?q=jimmy+fallon+videos&ia=videos",
- label: "jimmy fallon videos"
- }, {
- href: "/?q=weather+in+encinitas&ia=weather",
- label: "weather in encinitas"
- }, {
- href: "/?q=weather+in+paris&ia=weather",
- label: "weather in paris"
- }, {
- href: "/?q=sorbet+recipes&ia=recipes",
- label: "sorbet recipes"
- }, {
- href: "/?q=tilapia+recipes&ia=recipes",
- label: "tilapia recipes"
- }, {
- href: "/?q=thai+food+in+San+Francisco&ia=places",
- label: "thai food in San Francisco"
- }, {
- href: "/?q=bars+near+me",
- label: "bars near me"
- }, {
- href: "/?q=katz%27s+deli+new+york&ia=places",
- label: "katz's deli new york"
- }, {
- href: "/?q=orange&ia=meanings",
- label: "orange"
- }, {
- href: "/?q=daft+punk+soundcloud&ia=soundcloud",
- label: "daft punk soundcloud"
- }, {
- href: "/?q=8oz+to+grams&ia=answer",
- label: "8oz to grams"
- }, {
- href: "/?q=define+superlative&ia=definition",
- label: "define superlative"
- }, {
- href: "/?q=people+in+space&ia=answer",
- label: "people in space"
- }]
- }
- }(DDG);
- DDG.Data.StaticIAs = [{
- id: "images",
- name: "Images",
- type: "static",
- answerType: "Images",
- meta: {
- idField: "image",
- itemType: l("Images"),
- linkPrimaryText: 1,
- autoExpand: 0,
- developer: [{
- name: "DDG Team"
- }],
- signal_from: "images"
- },
- parameters: [{
- key: "size",
- values: [{
- id: "",
- name: lp("size", "All Sizes")
- }, {
- id: "Small",
- name: lp("size", "Small")
- }, {
- id: "Medium",
- name: lp("size", "Medium")
- }, {
- id: "Large",
- name: lp("size", "Large")
- }, {
- id: "Wallpaper",
- name: lp("size", "Wallpaper")
- }]
- }, {
- key: "type",
- values: [{
- id: "",
- name: lp("image-type", "All Types")
- }, {
- id: "photo",
- name: lp("image-type", "Photograph")
- }, {
- id: "clipart",
- name: lp("image-type", "Clipart")
- }, {
- id: "gif",
- name: lp("image-type", "Animated GIF")
- }, {
- id: "transparent",
- name: lp("image-type", "Transparent")
- }]
- }, {
- key: "layout",
- values: [{
- id: "",
- name: lp("image-layout", "All Layouts")
- }, {
- id: "Square",
- name: lp("image-layout", "Square")
- }, {
- id: "Tall",
- name: lp("image-layout", "Tall")
- }, {
- id: "Wide",
- name: lp("image-layout", "Wide")
- }]
- }, {
- key: "color",
- values: [{
- id: "",
- name: lp("image-color", "All Colors")
- }, {
- id: "color",
- name: lp("image-color", "Color Only")
- }, {
- id: "Monochrome",
- name: lp("image-color", "Black and White")
- }, {
- id: "Red",
- name: lp("color", "Red")
- }, {
- id: "Orange",
- name: lp("color", "Orange")
- }, {
- id: "Yellow",
- name: lp("color", "Yellow")
- }, {
- id: "Green",
- name: lp("color", "Green")
- }, {
- id: "Blue",
- name: lp("color", "Blue")
- }, {
- id: "Purple",
- name: lp("color", "Purple")
- }, {
- id: "Pink",
- name: lp("color", "Pink")
- }, {
- id: "Brown",
- name: lp("color", "Brown")
- }, {
- id: "Black",
- name: lp("color", "Black")
- }, {
- id: "Gray",
- name: lp("color", "Gray")
- }, {
- id: "Teal",
- name: lp("color", "Teal")
- }, {
- id: "White",
- name: lp("color", "White")
- }]
- }],
- sources: [{
- id: "ddg",
- name: "DuckDuckGo",
- requeryURL: "/i.js?l=" + window.rl + "&o=json&q="
- }],
- region: true,
- safeSearch: true,
- templates: DDG.Data.templates.groups.images,
- deferredURL: "/i.js?l=" + window.rl + "&o=json&q=",
- allowModuleIA: true,
- isFullPage: true,
- supportsInfiniteScroll: true
- }, {
- id: "videos",
- name: "Videos",
- model: "Video",
- type: "static",
- parameters: [{
- key: "publishedAfter",
- values: [{
- id: "",
- name: l("Any Time")
- }, {
- id: "d",
- name: l("Past Day")
- }, {
- id: "w",
- name: l("Past Week")
- }, {
- id: "m",
- name: l("Past Month")
- }]
- }, {
- key: "videoDefinition",
- values: [{
- id: "",
- name: lp("video-resolution", "Any Resolution")
- }, {
- id: "high",
- name: lp("video-resolution", "High Definition")
- }, {
- id: "standard",
- name: lp("video-resolution", "Standard Definition")
- }]
- }, {
- key: "videoDuration",
- showDescriptions: true,
- values: [{
- id: "",
- name: lp("video-duration", "Any Duration"),
- description: lp("video-duration", "Show videos of any length")
- }, {
- id: "short",
- name: lp("video-duration", "Short"),
- description: lp("video-duration", "Less than 4 minutes")
- }, {
- id: "medium",
- name: lp("video-duration", "Medium"),
- description: lp("video-duration", "Between 4 and 20 minutes")
- }, {
- id: "long",
- name: lp("video-duration", "Long"),
- description: lp("video-duration", "More than 20 minutes")
- }]
- }, {
- key: "videoLicense",
- values: [{
- id: "",
- name: lp("video-license", "Any License")
- }, {
- id: "creativeCommon",
- name: lp("video-license", "Creative Commons")
- }, {
- id: "youtube",
- name: lp("video-license", "YouTube Standard")
- }]
- }],
- sources: [{
- id: "ddg",
- name: "DuckDuckGo",
- requeryURL: "/v.js?l=" + window.rl + "&o=json&sr=1&q="
- }],
- region: true,
- safeSearch: true,
- meta: {
- idField: "id",
- itemType: l("Videos"),
- developer: [{
- name: "DDG Team"
- }],
- signal_from: "videos",
- linkPrimaryText: 1,
- autoExpand: 0,
- detailOverlay: "VideoDetailOverlay",
- primaryText: l("Videos")
- },
- templates: DDG.Data.templates.groups.videos,
- deferredURL: "/v.js?l=" + window.rl + "&o=json&sr=1&q=",
- allowModuleIA: true,
- moreText: l("More Videos"),
- isFullPage: true,
- supportsInfiniteScroll: true
- }, {
- id: "news",
- name: "News",
- answerType: "News",
- moreText: l("More News"),
- type: "static",
- meta: {
- developer: [{
- name: "DDG Team"
- }],
- signal_from: "news",
- itemType: l("News Articles"),
- rerender: ["image"],
- primaryText: l("Recent News")
- },
- safeSearch: true,
- region: true,
- date: true,
- allowVertical: true,
- isFullPage: true,
- templates: {
- item: "news_item"
- },
- deferredURL: function() {
- return "/news.js?l=" + window.rl + "&o=json&noamp=" + (DDG.device.isDesktop ? 1 : 0) + "&q="
- },
- experimentalDeferredURL: "/news.js?l=" + window.rl + "&o=json&exp=1&q="
- }];
- ! function(a) {
- a.Data.HiddenFields = {
- DATE_FILTER: "df",
- DATE_SORT: "ds",
- IA_REQUERY: "iar"
- }
- }(DDG);
- ! function(a) {
- var b = a.Models;
- b.Base = function(c) {
- this.setMaxListeners(500);
- $.extend(this, c)
- };
- b.Base.prototype = $.extend({}, EventEmitter2.prototype, a.Utils.Events, {
- set: function(c, i, f) {
- if (typeof c === "object") {
- for (var e in c) {
- this.set(e, c[e], i)
- }
- }
- f = f || {};
- var h = this[c],
- g = h !== i;
- this[c] = i;
- !f.silent && g && this._emitChange(c, h)
- },
- clear: function(c, e) {
- this.set(c, null, e)
- },
- UUID: function() {
- return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(g) {
- var f = Math.random() * 16 | 0,
- e = g == "x" ? f : (f & 3 | 8);
- return e.toString(16)
- })
- },
- getInstance: function(c) {
- if (!this["_" + c]) {
- this["_" + c] = a[c]
- }
- return this["_" + c]
- },
- _emitChange: function(c, e) {
- var f = this[c];
- this.emit("change:" + c, f, e);
- this.emit("change", c, f, e)
- }
- })
- }(DDG);
- ! function(m) {
- var b = m.Models.Base,
- c, p = 1440,
- o = 1079,
- n = 864,
- g = 590,
- j = 425,
- i = [{
- id: "xl",
- width: p
- }, {
- id: "l",
- width: o
- }, {
- id: "m",
- width: n
- }, {
- id: "s",
- width: g
- }, {
- id: "xs",
- width: j
- }],
- f = {
- xl: 94,
- l: 94,
- m: 58,
- s: 0,
- xs: 0
- },
- e = j,
- a = g,
- h = Math.ceil(g * 1.25);
- m.Models.Device = c = function(y) {
- b.call(this, y);
- this.isEnglish = window.locale && window.locale.substring(0, 2) === "en";
- var q = this.ua,
- z = y.host || window.location.host;
- this.isEdge = !!/edge\//.test(q);
- this.isEdgeChromium = !!/edg\//.test(q);
- this.isEdgeMobile = !!/(edgios|edga)/.test(q);
- if (!(this.isEdge || this.isEdgeChromium)) {
- this.isIE = !!document.all;
- this.isIE9 = !!/msie 9/.test(q);
- this.isIE10p = !!/msie 1[0123456789]/.test(q);
- this.isIE11p = !!(/trident\/[789]/.test(q) || /edge\/[0123456789]/.test(q));
- if (this.isIE10p || this.isIE11p) {
- this.isIE = true
- }
- }
- this.isWindowsPhone = !!/windows phone/.test(q);
- this.isSafari = !!(!this.isWindowsPhone && !this.isEdgeMobile && /\([windows|macintosh|ipad|iphone].* version.* safari/.test(q));
- this.safariVersion = -1;
- if (this.isSafari) {
- var s = q.match(/version\/([0-9][0-9]?\.[0-9])/);
- this.safariVersion = (s) ? parseFloat(s[1]) : -1
- }
- this.isWebkit = !!/webkit/.test(q);
- this.isYandex = !!/yabrowser/.test(q);
- this.isBeakerBrowser = !!/beakerbrowser/.test(q);
- this.isVivaldi = !!/vivaldi/.test(q);
- this.isBrave = !!navigator.brave && typeof navigator.brave.isBrave === "function" || (this.isIOS8p && this.isFirefox && /(\d{2}\.){3}\d{2}/.test(q)) || /brave chrome/.test(q);
- this.isChromiumBased = !!(/chrome(?!frame)|crios/.test(q) && !this.isIE && !this.isEdge);
- this.isChrome = !!(this.isChromiumBased && !this.isVivaldi && !this.isYandex && !/opr\/[0-9][0-9]?/.test(q) && !this.isBeakerBrowser && !this.isEdgeMobile && !this.isEdgeChromium && !this.isBrave);
- this.isFirefox = !!/firefox|fxios/.test(q);
- this.firefoxVersion = -1;
- if (this.isFirefox) {
- var x = q.match(/(firefox|fxios)\/([0-9]+\.[0-9]+)/);
- this.firefoxVersion = (x) ? parseFloat(x[2]) : -1
- }
- this.isFirefox38AndUp = this.firefoxVersion > 37;
- this.isFirefox51AndUp = this.firefoxVersion > 50;
- this.isFirefoxLessThan57 = this.isFirefox && this.firefoxVersion < 57;
- this.isFirefoxLessThan67 = this.isFirefox && this.firefoxVersion < 67;
- this.isFirefox67 = this.isFirefox && (Math.floor(this.firefoxVersion) === 67);
- this.isFirefox68AndUp = this.isFirefox && this.firefoxVersion >= 68;
- this.isFirefoxFocus = !!/focus/.test(q);
- this.operaVersion = -1;
- this.isOpera = !!/opera/.test(q);
- if (this.isOpera) {
- var t = q.match(/version\/([0-9.]+)/);
- if (t) {
- this.operaVersion = parseFloat(t[1], 10)
- }
- } else {
- if (/opr\/[0-9][0-9]?/.test(q)) {
- this.operaVersion = parseInt(q.match(/opr\/([0-9][0-9]?)/)[1], 10)
- }
- }
- this.isOperaMini = !!/opera mini|opios/.test(q);
- this.isOperaMobile = !!/opera mobi/.test(q);
- this.isOSX = !!/mac os x [0-9]/.test(q);
- this.isOSXMavericksAndUp = !!/mac os x 10(_|\.)(1\d|9)/.test(q) || !!/mac os x 11(_|\.)[0-9]{1,2}/.test(q);
- this.isOSXCatalinaAndUp = !!/mac os x 10(_|\.)(1[5-9])/.test(q) || !!/mac os x 11(_|\.)[0-9]{1,2}/.test(q);
- this.isIPod = !!/ipod/.test(q);
- this.isIPadOS = (this.isOSX && navigator.maxTouchPoints);
- this.isIPad = !!(this.isIPadOS || /ipad/.test(q));
- this.isIPhone = !!(!this.isWindowsPhone && /iphone/.test(q));
- this.isIDevice = (this.isIPad || this.isIPhone || /\Wios\W/.test(q));
- this.isIOS8p = !!((this.isIDevice && (this.isIPadOS || /os (8|9|[1-9][0-9])|os 10_10/.test(q))));
- this.isIOS8pSafari = !!((this.isIOS8p && !this.isChrome && !this.isOperaMini && !this.isFirefox));
- this.isAndroid = !!(!this.isWindowsPhone && /android/.test(q));
- this.isLegacyAndroid = this.isAndroid && /android ([1-3](\..+)?|4(\.[0-2].*)?)(;|$)/.test(q);
- this.isAndroid4_3AndUp = this.isAndroid && !this.isLegacyAndroid;
- this.isBlackberry = !!/blackberry/.test(q);
- this.chromeVersion = -1;
- if (this.isChromiumBased) {
- var v = q.match(/(chrome|crios)\/([0-9][0-9]?)/);
- this.chromeVersion = (v) ? parseInt(v[2], 10) : -1
- }
- this.isChrome31AndUpOnAndroid = !!(this.isAndroid && this.isChrome && this.chromeVersion > 30);
- this.isChrome48AndUp = !!(this.isChrome && this.chromeVersion > 47);
- this.isAndroidChromeNoOpenSearch = !!(this.isAndroid && this.isChrome && this.chromeVersion > 31 && this.chromeVersion < 57);
- this.isSilk = !!/silk/.test(q);
- this.isKonqueror = !!/konqueror/.test(q);
- this.isWindows = !!/windows/.test(q);
- this.isWindows10 = !!/windows nt 10/.test(q);
- this.isLinux = !!(!this.isAndroid && /linux/.test(q));
- this.isOnion = !!z.match(/\.onion$/i);
- this.isDDGIgnore = !!/ddgignore/.test(q);
- this.isDDGTest = !!/ddgtest/.test(q);
- this.isSamsung = !!/samsungbrowser/.test(q);
- this.isDDGApp = !!(y.qs && y.qs.match(/(\&|\?)t\=(ddg_ios|ddg_android)/)) || /DuckDuckGo\/[57]$/i.test(q);
- this.isUCBrowser = !!/(ucbrowser)/.test(q);
- this.isUCBrowserIOS = this.isUCBrowser && this.isIPhone;
- this.isRetina = is_retina = this.dpr > 1;
- this.is2x = m.is2x = this.dpr > 1;
- this.is3x = m.is3x = this.dpr > 2;
- this.hasFixedHeaderSupport = !this.isIDevice;
- this.isAppleDevice = this.isIDevice || this.isOSX;
- if (this.isIDevice) {
- if (this.isChrome) {
- this.hasFixedHeaderSupport = this.chromeVersion >= 57
- } else {
- if (this.isFirefox) {
- this.hasFixedHeaderSupport = this.firefoxVersion >= 7.2
- } else {
- if (this.isUCBrowserIOS) {
- this.hasFixedHeaderSupport = false
- } else {
- this.hasFixedHeaderSupport = this.isIOS8pSafari
- }
- }
- }
- }
- var u = "Browser";
- if (this.isDDGIgnore) {
- u = "Ignore"
- } else {
- if (/seamonkey/.test(q)) {
- u = "SeaMonkey"
- } else {
- if (/iceape/.test(q)) {
- u = "Iceape"
- } else {
- if (/palemoon/.test(q)) {
- u = "PaleMoon"
- } else {
- if (this.isBrave) {
- u = "Brave"
- } else {
- if (this.isSamsung) {
- u = "Samsung Internet"
- } else {
- if (this.isFirefox) {
- u = "Firefox"
- } else {
- if (/opr\//.test(q) || ((this.isAndroid || this.isIDevice) && (this.isOperaMobile || this.isOperaMini || this.operaVersion !== -1))) {
- u = "Opera"
- } else {
- if (this.isFirefoxFocus) {
- u = "Focus"
- } else {
- if (this.isUCBrowser) {
- u = "UC Browser"
- } else {
- if (this.isEdge || this.isEdgeChromium || this.isEdgeMobile) {
- u = "Edge"
- } else {
- if (this.isAndroid) {
- u = "Android"
- } else {
- if (/xbox/.test(q)) {
- u = "xBox"
- } else {
- if (/midori/.test(q)) {
- u = "Midori"
- } else {
- if (/maxthon/.test(q)) {
- u = "Maxthon"
- } else {
- if (this.isYandex) {
- u = "Yandex"
- } else {
- if (/vivaldi/.test(q)) {
- u = "Vivaldi"
- } else {
- if (this.isChrome) {
- u = "Chrome"
- } else {
- if (/fennec/.test(q)) {
- u = "Fennec"
- } else {
- if (/epiphany/.test(q)) {
- u = "Epiphany"
- } else {
- if (this.isFirefox) {
- u = "Firefox"
- } else {
- if (/uzbl/.test(q)) {
- u = "Uzbl"
- } else {
- if (this.isIE && navigator.platform === "Win64" && !k() && Modernizr.touch && document.documentElement.clientWidth == screen.width) {
- u = "IEMetro"
- } else {
- if (this.isIE) {
- u = "IE"
- } else {
- if (this.isOpera) {
- u = "Opera"
- } else {
- if (this.isIPad) {
- u = "iPad"
- } else {
- if (this.isIPhone) {
- u = "iPhone"
- } else {
- if (/arora/.test(q)) {
- u = "Arora"
- } else {
- if (this.isSafari) {
- u = "Safari"
- } else {
- if (this.isKonqueror) {
- u = "Konqueror"
- } else {
- if (this.isBlackberry) {
- u = "Blackberry"
- } else {
- if (/phantomjs/.test(q)) {
- u = "PhantomJS"
- } else {
- if (this.isIDevice) {
- u = "iOS"
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- if (this.isDDGApp) {
- u = "DDG " + u
- }
- this.browserName = m.browserName = u;
- this.pixelBrowserName = (this.isUCBrowser) ? "ucbrowser" : u.toLowerCase();
- this.pixelPlatformName = this._getPixelPlatformName();
- this.pixelBrowserVersion = this._getPixelBrowserVersion();
- this.displayBrowserName = this.browserName;
- if (u === "IEMetro") {
- this.displayBrowserName = "IE"
- } else {
- if (u === "iPhone" || u === "iPad") {
- this.displayBrowserName = "Safari"
- } else {
- if (u === "Android") {
- this.displayBrowserName = "Chrome"
- }
- }
- }
- this._updateScreenSize();
- this._updateIsMobileDevice();
- this.isSafariWithNativeDDG = this._isSafariWithNativeDDG();
- this.isFirefoxWithNativeDDG = this._isFirefoxWithNativeDDG();
- if ((this.isIPhone && !this.isIPod) || (/mac os x 10[_.]1\d/.test(this.ua)) || (this.isAndroid && /mobile/.test(this.ua) && (this.isChrome || this.isFirefox || this.isEdgeMobile || this.isUCBrowser)) || this.isWindowsPhone || this.isBlackberry) {
- this.canMakePhoneCalls = true
- } else {
- this.canMakePhoneCalls = false
- }
- if (this.isMobileDevice && this.browserName === "Firefox") {
- if (screen.width && screen.width < this.width) {
- this.width = viewport_width = screen.width
- }
- if (screen.height && screen.height < this.height) {
- this.height = viewport_height = screen.height
- }
- this._updateIsMobileDevice()
- }
- var r = (this.width < 600 || (this.width < 800 && this.height < 500)) ? 1 : 0;
- if (r !== this.isMobile) {
- this.isMobile = is_mobile = r;
- this.emit("changed:mobile")
- }
- this.isDesktop = !this.isMobile && !this.isMobileDevice;
- this.hasMetaReferrerSupport = !!((this.chromeVersion > 20 && !this.isMobileDevice) || (this.chromeVersion >= 50) || (this.safariVersion > 7 && !this.isWindows && !this.isMobileDevice) || (this.isIOS8pSafari || (this.safariVersion >= 8 && this.isIDevice)) || (this.operaVersion > 14 && !this.isMobileDevice) || this.isFirefox38AndUp || (this.isIOS8p && this.isFirefox) || this.isBrave || this.isUCBrowser);
- this.$scrollDoc = $("html,body");
- this.pixelId = (this.isMobile || this.isMobileDevice) ? "m" : "d";
- if (this.isMobileDevice) {
- this._wasPortrait = this.isMobilePortrait()
- }
- window.onresize = $.throttle(200, this._onResize.bind(this));
- window.onscroll = this._onScroll.bind(this);
- if (typeof document.hidden !== "undefined") {
- this._visibilityChange = "visibilitychange";
- this._visibilityState = "visibilityState"
- } else {
- if (typeof document.mozHidden !== "undefined") {
- this._visibilityChange = "mozvisibilitychange";
- this._visibilityState = "mozVisibilityState"
- }
- }
- if (this._visibilityChange) {
- d.addEventListener(this._visibilityChange, this._onVisibilityChange.bind(this), false)
- }
- };
- c.prototype = $.extend({}, b.prototype, {
- scrollTop: function(s, r, q) {
- if (typeof s === "undefined") {
- if (typeof this._scrollTop !== "undefined") {
- return this._scrollTop
- }
- return this._scrollTop = m.$doc.scrollTop()
- }
- if (s === this.scrollTop()) {
- if (q) {
- q()
- }
- return this._scrollTop = s
- }
- if (r && !$.isNumeric(r)) {
- r = m.animation_speed
- }
- if (!r) {
- this.$scrollDoc.scrollTop(s);
- if (q) {
- q()
- }
- } else {
- this.$scrollDoc.animate({
- scrollTop: s
- }, r, q)
- }
- return this._scrollTop = s
- },
- getBrowserMoreURL: function() {
- var q = "https://help.duckduckgo.com/desktop/";
- if (this.isChrome) {
- return q + "chrome"
- } else {
- if (this.isOpera) {
- return q + "opera"
- } else {
- if (this.isSafari && !this.isSafariWithNativeDDG) {
- return q + "safari"
- } else {
- if (this.browserName === "SeaMonkey") {
- return "https://addons.mozilla.org/seamonkey/addon/duckduckgo-ssl/"
- } else {
- if (this.isFirefox) {
- return q + "firefox"
- }
- }
- }
- }
- }
- },
- canAddToBrowser: function() {
- var q = this.getAddToBrowserDirections();
- return q.useForSearch || q.setAsHomepage
- },
- getAddToBrowserDirections: function() {
- if (this._addToBrowserDirections) {
- return this._addToBrowserDirections
- }
- var q = this.browserName,
- s, r;
- if (!this._hasInstallationInstructions()) {
- return this._addToBrowserDirections = {}
- }
- if (q === "IE") {
- r = "ie"
- } else {
- if (q === "SeaMonkey") {
- r = "seamonkey"
- } else {
- if (q === "PaleMoon") {
- r = "palemoon"
- } else {
- if (m.addToBrowser.canAddToBraveIOS()) {
- r = "brave_ios"
- } else {
- if (m.addToBrowser.canAddToMobileFirefox() && this.isAndroid) {
- r = "firefox_android"
- } else {
- if (m.addToBrowser.canAddToMobileFirefox() && this.isIDevice) {
- r = "firefox_ios"
- } else {
- if (this.isFirefoxWithNativeDDG) {
- r = "firefox"
- } else {
- if (q === "Firefox") {
- r = "firefox_old"
- } else {
- if (m.device.isUCBrowser && (this.isAndroid || this.isIDevice)) {
- r = "uc_browser_mobile"
- } else {
- if (m.addToBrowser.canAddToChromeMobile() && this.isAndroid) {
- r = "chrome_android_default"
- } else {
- if (m.addToBrowser.canAddToChromeMobile() && this.isIDevice) {
- r = "chrome_ios_default"
- } else {
- if (this.isEdgeMobile && this.isAndroid) {
- r = "edge_android_default"
- } else {
- if (this.isEdgeMobile && this.isIDevice) {
- r = "edge_ios_default"
- } else {
- if (m.addToBrowser.canAddToBraveAndroid()) {
- r = "chrome_android_default"
- } else {
- if (this.isChrome && this.isAndroid) {
- r = "chrome_android"
- } else {
- if (q === "Chrome") {
- r = "chrome"
- } else {
- if (q === "Maxthon" && !this.isOSX) {
- r = "maxthon"
- } else {
- if (this.isSafariWithNativeDDG) {
- r = "safari"
- } else {
- if (this.isIOS8p && this.isSafari) {
- r = "ios8"
- } else {
- if (q === "Safari" && window.postMessage && this.isOSX) {
- r = "safari_old"
- } else {
- if (q === "Safari" && window.postMessage) {
- r = "safari_windows"
- } else {
- if (q === "Opera") {
- r = "opera"
- } else {
- if (q === "Vivaldi") {
- r = "vivaldi"
- } else {
- if (q === "Edge") {
- r = "edge"
- } else {
- if (q === "Brave") {
- r = "brave"
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- if (q === "IE") {
- s = "ie"
- } else {
- if (q.match(/^Firefox|PaleMoon|SeaMonkey$/)) {
- s = "firefox"
- } else {
- if (q === "Maxthon") {
- s = "maxthon"
- } else {
- if (q === "Chrome") {
- s = "chrome"
- } else {
- if (q === "Safari") {
- s = "safari"
- } else {
- if (q === "Opera") {
- s = "opera"
- } else {
- if (q === "Vivaldi") {
- s = "vivaldi"
- } else {
- if (q === "Edge") {
- s = "edge"
- }
- }
- }
- }
- }
- }
- }
- }
- return this._addToBrowserDirections = {
- useForSearch: r && ("use_for_search_" + r),
- setAsHomepage: s && ("set_as_homepage_" + s)
- }
- },
- DDGisBrowserDefault: function() {
- return this.ua.match(/palemoon|porteus|qupzilla|lxle/gi)
- },
- isTeapot: function() {
- return this.width >= a && this.height <= h
- },
- isMobileLandscape: function() {
- return this.isMobile && this.width > this.height && (this.isAndroid && this.width >= e)
- },
- isMobilePortrait: function() {
- return this.isMobile && !this.isMobileLandscape()
- },
- widthBreakpoint: function() {
- var q = i.length;
- while (--q) {
- var r = i[q];
- if (this.width < r.width) {
- return r.id
- }
- }
- return i[0].id
- },
- gutterSize: function() {
- return f[this.widthBreakpoint()]
- },
- isPrv: function() {
- var s = "prv",
- r = w.sessionStorage;
- try {
- r.setItem(s, "1");
- r.removeItem(s)
- } catch (q) {
- if (q.code === DOMException.QUOTA_EXCEEDED_ERR && r.length === 0) {
- return true
- }
- }
- return false
- },
- getCountry: function(q) {
- if (this.countryCode) {
- return q && q(null, this.countryCode)
- }
- $.ajax({
- url: "/country.json",
- success: function(r) {
- this.countryCode = r && r.country;
- return q && q(null, this.countryCode)
- }.bind(this),
- error: function(r) {
- return q && q(r)
- }
- })
- },
- getLang: function() {
- var r = "en",
- q = m.settings.get(m.settings.LANGUAGE_KEY);
- if (q && q !== "wt_WT") {
- r = q.slice(0, 2)
- } else {
- if (w.locale) {
- r = w.locale.slice(0, 2)
- }
- }
- return r
- },
- getLocale: function() {
- var q = m.settings.get(m.settings.LANGUAGE_KEY);
- if (q && q !== "wt_WT") {
- return q
- } else {
- if (w.locale) {
- return w.locale
- }
- }
- return "en_US"
- },
- getColorScheme: function() {
- var r = window.matchMedia("(prefers-color-scheme: dark)"),
- q = window.matchMedia("(prefers-color-scheme: light)");
- if (r.matches) {
- return "dark"
- } else {
- if (q.matches) {
- return "light"
- }
- }
- },
- _updateScreenSize: function() {
- var q, r, s = document.documentElement;
- q = Math.max(s.clientWidth, window.innerWidth || 0);
- r = Math.max(s.clientHeight, window.innerHeight || 0);
- if (q !== this.width || r !== this.height) {
- this.width = viewport_width = q;
- this.height = viewport_height = r;
- return true
- }
- return false
- },
- _updateIsMobileDevice: function() {
- var q = /mobile/.test(this.ua) ? 1 : 0;
- if (this.isOperaMobile || this.isOperaMini || this.isIDevice || this.isAndroid || this.isSilk || (this.width < 600 && this.height < 400)) {
- q = 1
- }
- this.isMobileDevice = is_mobile_device = q
- },
- _isSafariWithNativeDDG: function() {
- if (this.browserName !== "Safari" || this.isMobileDevice) {
- return false
- }
- var q = new RegExp("version/(\\d+)\\.(\\d+)(?:\\.(\\d+))?.*safari/").exec(this.ua);
- if (!q || !q.length) {
- return false
- }
- q.shift();
- q = q.map(function(r) {
- return r || 0
- }).join("");
- return q && q > 706
- },
- _isFirefoxWithNativeDDG: function() {
- if (this.browserName !== "Firefox") {
- return false
- }
- return navigator.buildID && parseInt(navigator.buildID, 10) >= 20141028112145
- },
- _getPixelBrowserVersion: function() {
- var q = 0;
- if (this.isChrome) {
- q = this.chromeVersion
- } else {
- if (this.isFirefox) {
- q = this.firefoxVersion
- } else {
- if (this.isSafari) {
- q = this.safariVersion
- } else {
- if (this.operaVersion !== -1) {
- q = this.operaVersion
- } else {
- if (this.isIE11p) {
- q = 11
- } else {
- if (this.isIE10p) {
- q = 10
- } else {
- if (this.isIE9) {
- q = 9
- }
- }
- }
- }
- }
- }
- }
- return q
- },
- _getPixelPlatformName: function() {
- var q = "other";
- if (this.isAndroid) {
- q = "android"
- } else {
- if (this.isIPod) {
- q = "ipod"
- } else {
- if (this.isIPad) {
- q = "ipad"
- } else {
- if (this.isIPhone) {
- q = "iphone"
- } else {
- if (this.isWindowsPhone) {
- q = "winphone"
- } else {
- if (this.isWindows) {
- q = "windows"
- } else {
- if (this.isLinux) {
- q = "linux"
- } else {
- if (this.isBlackberry) {
- q = "blackberry"
- } else {
- if (this.isOSX) {
- q = "mac"
- } else {
- if (this.browserName === "DDG iOS") {
- q = "ios"
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- return q
- },
- _hasInstallationInstructions: function() {
- if (this.isSilk) {
- return false
- }
- var q = true;
- if (this.isMobileDevice || this.isMobile) {
- q = m.addToBrowser.canAddToMobileBrowser() || this.isAndroidChromeNoOpenSearch
- }
- return q
- },
- _onResize: function(q) {
- if (this._updateScreenSize()) {
- q.isRotation = this.isMobileDevice && this._wasPortrait != this.isMobilePortrait();
- this._wasPortrait = this.isMobilePortrait();
- this.emit("resize", q)
- }
- },
- _onScroll: function(q) {
- delete this._scrollTop;
- this.emit("scroll", q)
- },
- _onVisibilityChange: function(q) {
- this.emit("visibilitychange", d[this._visibilityState])
- }
- });
- function k() {
- var q;
- try {
- q = !!new ActiveXObject("htmlfile")
- } catch (r) {}
- return q
- }
- }(DDG);
- ! function(c) {
- var a = c.Models.Base,
- e = 500,
- b = {
- 13: "enter",
- 27: "escape",
- 32: "space",
- 37: "left",
- 38: "up",
- 39: "right",
- 40: "down",
- 16: "shift",
- 17: "ctrl",
- 18: "alt",
- 91: "cmd",
- 74: "k",
- 75: "j"
- };
- c.Models.Keyboard = function(f) {
- a.call(this, f);
- if (!c.device.isMobileDevice) {
- $(document).on("keydown", this._onKeydown.bind(this))
- }
- };
- c.Models.Keyboard.prototype = $.extend({}, a.prototype, {
- namespaced: function(f) {
- if (!f) {
- return !!this.namespace
- }
- return this.namespace && this.namespace.match(f)
- },
- focusedOnInput: function() {
- var f = document.activeElement;
- return f && (f.nodeName === "INPUT" || f.nodeName === "TEXTAREA" || f.localName === "button")
- },
- keyCodeIsOneOf: function(h, g) {
- var f = b[h];
- return (f && g.indexOf(f) > -1)
- },
- _onKeydown: function(h) {
- var g = h.keyCode;
- clearTimeout(this._activeTimeout);
- this.set("active", 1);
- if (!fq && (!kk || kk == "1") && !h.ctrlKey && !h.metaKey && !this.focusedOnInput() && c.duckbar && c.duckbar.areOrganicsShowing) {
- if (this.enableSERPShortcuts) {
- this._onSERPKeydown(h)
- }
- if (g == 13) {
- nke()
- }
- if (g == 84) {
- nkt()
- }
- }
- var f = b[g];
- if (f && !h.altKey && !h.shiftKey) {
- if (this.namespace) {
- this.emit(f + "." + this.namespace, h)
- }
- this.emit(f, h)
- }
- this._activeTimeout = setTimeout(function() {
- clearTimeout(this._activeTimeout);
- this.set("active")
- }.bind(this), e)
- },
- _onSERPKeydown: function(g) {
- var f = g.keyCode;
- if (f == 40 || f == 74) {
- if (this.nativeUpDown) {
- return
- }
- g.preventDefault();
- nkda()
- }
- if (f == 38 || f == 75) {
- if (this.nativeUpDown) {
- return
- }
- g.preventDefault();
- nkua()
- }
- if (f == 191) {
- if (c.device.isFirefox) {
- g.preventDefault()
- }
- nks()
- }
- if (f == 79 || f == 76) {
- nko()
- }
- if (f == 222 || f == 86) {
- nkn()
- }
- if (f == 111 || f == 72) {
- nks()
- }
- if (f == 32) {
- nksb()
- }
- if (f == 77) {
- nkm()
- }
- if (f == 68) {
- nkd(g)
- }
- }
- })
- }(DDG);
- ! function(c) {
- var b = c.Models,
- a = b.Base;
- b.SelectList = function(e) {
- a.call(this, e);
- this.select(e.selectedId || this.values[0].id)
- };
- b.SelectList.prototype = $.extend({}, a.prototype, {
- select: function(e) {
- var f;
- this.values.forEach(function(g) {
- if (g.id === e) {
- g.selected = true;
- f = g
- } else {
- g.selected = false
- }
- });
- if (!f) {
- this.select(this.values[0].id)
- } else {
- this.set("selected", f)
- }
- }
- })
- }(DDG);
- ! function(f) {
- var e = f.Models,
- c = e.Base,
- b = "d",
- a = 10;
- e.Deep = function(h) {
- this._backData = h.backData;
- this._device = h.device;
- this._page = h.page;
- this._pixel = h.pixel;
- this._settings = h.settings;
- this._adFeed = h.adFeed;
- this.hideRelated = window.iqa;
- this.results = {};
- this.resultDomains = {};
- var g = this.getInstance("adFeed");
- g.on("change:ads", function() {
- if (this.results.a && this.results.a.length) {
- this.getInstance("pixel").fire("sad", {
- b: 1,
- r: "ad"
- });
- return
- }
- if (this._heldOrganics) {
- this.nrnWrapper("d", this._heldOrganics);
- delete this._heldOrganics
- }
- }.bind(this));
- g.on("change:lateAds", function() {
- if (g.lateAds.length) {
- nrn("a", g.lateAds, 1)
- }
- })
- };
- e.Deep.prototype = $.extend({}, c.prototype, {
- isLastResult: false,
- isOutOfResults: false,
- pageNumber: 1,
- started: 0,
- finished: 0,
- _currentPageItems: {
- a: [],
- d: []
- },
- timeSinceStarted: function() {
- return this.started ? new Date().getTime() - this.started : 0
- },
- timeSinceFinished: function() {
- return this.finished ? new Date().getTime() - this.finished : 0
- },
- getResultCount: function() {
- return r1c
- },
- getFirstSource: function() {
- return this.results && this.results.d && this.results.d[0] && this.results.d[0].s
- },
- getAttributionSource: function() {
- if (!this.results || !this.results.d || this.results.d.length <= 5) {
- return ""
- }
- var g = this.getFirstSource();
- if (g === "yandexru" || g === "yandextr") {
- return "yandex"
- }
- return ""
- },
- canShowAttribution: function() {
- return !this.showedAttribution && !!this.getAttributionSource()
- },
- getNewsItems: function(h) {
- if (!this.results.d || !this.results.d.length) {
- return
- }
- var g = [];
- for (var k = 0; k < this.results.d.length; k++) {
- var m = this.results.d[k],
- j = m.da && m.da.split(",");
- if (j && j.indexOf("news") > -1) {
- var n = m.d.split("/")[0];
- g.push({
- title: m.t,
- excerpt: m.a,
- url: m.u,
- source: n,
- fetch_image: f.Data.NewsImageDomains.indexOf(n) > -1,
- rank: k
- })
- }
- }
- if (h && g.length === 1 && g[0].rank < 5) {
- return []
- }
- return g
- },
- addResults: function(h, g) {
- if (!this.results[h]) {
- this.results[h] = g
- } else {
- this.results[h] = this.results[h].concat(g)
- }
- this._emitChange("results")
- },
- _checkBackClickFromSecondPage: function() {
- if (!this.getInstance("settings").autoloadDisabled() || this._hasShownFirstPage) {
- return
- }
- var h = this.getInstance("backData").getId(),
- g = h && h.match(/r([1a])-([0-9]*)/);
- if (g) {
- this._hasShownFirstPage = (g[1] === "1" && parseInt(g[2], 10) > 8) || (g[1] === "a" && parseInt(g[2], 10) > 0)
- }
- },
- nrnWrapper: function(o, j) {
- var n = this.getInstance("page").ads,
- k = this.getInstance("adFeed"),
- h = this.getInstance("settings").autoloadDisabled() && o === b;
- if (o === "d" && !this._hasShownFirstPage) {
- for (var m = 0; m < j.length; m++) {
- if (j[m].k) {
- k.setDefaultAds([j[m]], n.adxExperiment);
- break
- }
- }
- var g = k.getAds();
- if (k.yjsFeedActive) {
- if (k.loading) {
- this._heldOrganics = j;
- k.organicsLoaded();
- return
- } else {
- if (g.length) {
- this.nrnWrapper("a", g)
- }
- }
- } else {
- if (!(this.results.a && this.results.a.length) && g.length) {
- this.nrnWrapper("a", g)
- }
- }
- }
- this._checkBackClickFromSecondPage();
- if (h && !this._hasShownFirstPage) {
- this._currentPageItems[o] = j.slice(0, a);
- this._pendingOrganics = j.slice(a);
- this._hasShownFirstPage = true;
- j = this._currentPageItems[o]
- } else {
- this._currentPageItems[o] = j
- }
- this.addResults(o, j);
- if (o === "a" && !n.isBlocked() && j.length) {
- this._sendAdImpressions(j)
- }
- if (o === "a" && this.pageNumber === 1) {
- n.setAds(j)
- }
- if (this._currentPageItems.a.length && this._currentPageItems.d.length) {
- this._splitNrnResults()
- } else {
- if (o === "d") {
- nrn(o, j, true, true);
- this._setFirstPageRendered();
- this._currentPageItemsReset()
- }
- }
- },
- pageNumberIncrement: function() {
- return ++this.pageNumber
- },
- pageNumberDecrement: function() {
- return --this.pageNumber
- },
- hasPendingResults: function() {
- return this._pendingOrganics && this._pendingOrganics.length
- },
- showPendingResults: function() {
- if (this.hasPendingResults()) {
- var g = this._pendingOrganics;
- this._pendingOrganics = null;
- this.nrnWrapper("d", g);
- f.ImageLoader.registerAll($(".js-lazyload-icons"), "scrollY")
- }
- },
- hasMoreResultsToLoad: function() {
- var h = this.results.d ? this.results.d.length : 0;
- var i = this.hasPendingResults();
- var g = "";
- if (i) {
- g = this._pendingOrganics[i - 1].n
- } else {
- if (h) {
- g = this.results.d[h - 1].n
- }
- }
- return !!g
- },
- _currentPageItemsReset: function() {
- this._currentPageItems.a = [];
- this._currentPageItems.d = []
- },
- _sendAdImpressions: function(j) {
- var h = {},
- k = this.getInstance("page"),
- i = false;
- h.n = j.length;
- h.rl = window.rl;
- j.forEach(function(q, p) {
- q.adn = j.length;
- if (q.l && q.l.indexOf("sponsored__sitelink-description") > -1) {
- i = true
- }
- if (this.pageNumber === 1) {
- q.adf = 1
- }
- }.bind(this));
- h.sld = i ? 1 : 0;
- var o = j[0].d;
- o = o.split("/");
- o = o.shift();
- if (o) {
- h.d = o
- }
- var n = k.ads.adx;
- if (n && n !== "ctl") {
- h.adx = n
- }
- if (window.sourceTag) {
- h.st = window.sourceTag
- }
- if (k.ads.adxExperiment) {
- h.adx_name = k.ads.adxExperiment
- }
- try {
- var g = j.map(function(p) {
- return p.d
- }).join(",");
- h.ds = g
- } catch (m) {}
- this.getInstance("pixel").fire("ad", j[0].s || "default", h)
- },
- _canShowSouthAds: function() {
- return this.pageNumber === 1 && f.settings.isDefault("kav") && f.settings.isDefault("k1") && !this.getInstance("adFeed").isUsingDefaultAds()
- },
- _splitNrnResults: function() {
- var m = true,
- h = false,
- k, g, i = this.getInstance("page").ads,
- j = this.getInstance("device").isMobile ? 1 : 2;
- if (this.getInstance("settings").autoloadDisabled() && !this._hasRenderedFirstPage) {
- this._blockResultSplit = true;
- if (this._currentPageItems.d.length < 10) {
- this._blockResultSplit = false
- }
- }
- if (this._currentPageItems.a.length > j && !this._blockResultSplit) {
- nrn("a", this._currentPageItems.a.slice(0, j), m);
- nrn("d", this._currentPageItems.d.slice(0, 15), m, h);
- this.pageNumber++;
- this.emit("add-separator");
- nrn("a", this._currentPageItems.a.slice(j, this._currentPageItems.a.length), m);
- h = true;
- nrn("d", this._currentPageItems.d.slice(15, this._currentPageItems.d.length), m, h)
- } else {
- if (this._currentPageItems.a.length && i.adx !== "rel2" && this._canShowSouthAds()) {
- k = i.getNorthAds(this._currentPageItems.a);
- nrn("a", k, m, h);
- g = i.getSouthAds(this._currentPageItems.a);
- h = g.length === 0;
- nrn("d", this._currentPageItems.d, m, h);
- if (g.length) {
- h = true;
- nrn("a", g, m, h)
- }
- } else {
- if (this._currentPageItems.a.length) {
- nrn("a", this._currentPageItems.a, m, h);
- h = true;
- nrn("d", this._currentPageItems.d, m, h)
- }
- }
- }
- this._currentPageItemsReset();
- this._setFirstPageRendered()
- },
- _setFirstPageRendered: function() {
- if (!this.finished) {
- this.set("finished", new Date().getTime())
- }
- this.emit("rendered");
- if (this.getInstance("settings").autoloadDisabled()) {
- this._hasRenderedFirstPage = true;
- this._blockResultSplit = false
- }
- }
- })
- }(DDG);
- ! function(c) {
- var b = c.Models,
- a = b.Base,
- f = [{
- name: l("Any Time"),
- id: ""
- }, {
- name: l("Past Day"),
- id: "d"
- }, {
- name: l("Past Week"),
- id: "w"
- }, {
- name: l("Past Month"),
- id: "m"
- }, {
- name: l("Past Year"),
- id: "y"
- }],
- e = 4;
- b.Search = function(g) {
- this.dateFilterId = window[c.Data.HiddenFields.DATE_FILTER];
- this.deepAnswerIAs = {};
- this.isAdultQuery = window.iqa;
- this.isMinusQuery = window.iqm;
- this.isQuoteQuery = window.iqq;
- this.isDomainQuery = window.iqd;
- this.isVertical = false;
- this.isSiteQuery = window.rq && window.rq.indexOf("site%3A") !== -1;
- a.call(this, g);
- this.on("change:dateFilterId", this._setDateFilter.bind(this));
- this.on("change:isVertical", this._changedVertical.bind(this));
- this._setDateFilter()
- };
- b.Search.prototype = $.extend({}, a.prototype, {
- _dateFilters: f,
- requery: function() {
- this.emit("requery")
- },
- addBangToSiteInQuery: function(g, h) {
- return h.replace(new RegExp("(^|\\s)(" + g + ")($|\\s)", "i"), "$1!$2$3")
- },
- isLatLonQuery: function() {
- return !!c.get_query().match(/latitude|longitude/gi)
- },
- getDateFilterName: function() {
- return this._dateFilterName
- },
- getResultCount: function() {
- return window.r1c || 0
- },
- _changedVertical: function() {
- if (this.isVertical && this.dateFilterId === f[e].id) {
- this._hadPastYear = true;
- this.set("dateFilterId", "")
- } else {
- if (!this.isVertical && this._hadPastYear) {
- this.set("dateFilterId", f[e].id)
- }
- }
- },
- _setDateFilter: function() {
- this._dateFilters.forEach(function(g) {
- if (g.id === this.dateFilterId) {
- g.selected = 1;
- this._dateFilterName = g.name
- } else {
- g.selected = 0
- }
- }.bind(this))
- },
- getDateFilters: function() {
- if (this.isVertical) {
- return this._dateFilters.slice(0, e)
- }
- return this._dateFilters
- },
- getSiteQuery: function(q) {
- if (!q) {
- return false
- }
- q = decodeURIComponentSafe(q);
- q = c.strip_html(q);
- var h, g, t = false,
- n, s = [],
- o, r = q,
- p = [];
- n = q.match(/((NOT )?SITE:)([^\s]+)/);
- if (n) {
- t = !!n[2];
- p = n[3].split(",");
- r = q.substring(0, n.index - 1);
- for (var m = 0; m < p.length; m++) {
- if (!p[m]) {
- continue
- }
- h = [];
- for (var k = 0; k < p.length; k++) {
- if (k !== m) {
- h.push(p[k])
- }
- }
- o = (t) ? " NOT SITE:" : " SITE:";
- g = (h.length) ? o + h.join(",") : "";
- s.push({
- site: p[m],
- clearQuery: encodeURIComponent(r + g)
- })
- }
- }
- if (!this.isYhsSource() && t && (s.length > 1 || rqd.toLowerCase().indexOf("not site:") !== -1)) {
- s = []
- }
- return {
- str: q,
- query: r,
- sites: s,
- isExcluding: t
- }
- },
- isYhsSource: function() {
- return this.src === "yhs"
- },
- isQuotedQuery: function() {
- return c.get_query().match(/(\'.+\')|(\".+\")/)
- }
- })
- }(DDG);
- ! function(b) {
- var a = b.Models.Base;
- b.Models.Search.Spelling = function(c) {
- a.call(this, c);
- this.type = this.type.toLowerCase();
- this.query = decodeURIComponentSafe(c.link);
- this.recourseQuery = decodeURIComponentSafe(c.recourseLink);
- this.parsedQuery = c.suggestion && c.suggestion.replace(/<\/?[^>]+(>|$)/g, "");
- if (this.type === "nmrc") {
- this.parsedQuery = window.rq
- }
- };
- b.Models.Search.Spelling.prototype = $.extend({}, a.prototype, {
- isValidType: function() {
- return (this.type && this.type.match(/irf|dym|nmrc/))
- },
- makeSpellingURL: function(f, e, c) {
- if (c) {
- f += "&iar=" + c + "&ia=" + c
- }
- var g = b.searchExperiments ? b.searchExperiments.getExperimentGroup("rspexp2") : null;
- return "/?q=" + f + (e ? "&norw=1" : "") + (w.rv ? "&v=" + w.rv : "") + (w.kurl ? w.kurl : "") + (g ? "&rspexp=" + g : "")
- }
- })
- }(DDG);
- var d = document;
- var w = window;
- var cd, dz, da, fk, fb, fs, fm, fe, fl, fo, fa, fn, fq, fz, ie, io, ir, is, ga, gd, rc, rd, rs, rsd, rdc, rsc, rtc, rii, rin, rir, rl, rp, reb, rebc, sx, sy, tl, tlz, tac, tr, ts, tn, tsl, tz, nir, kurl, is_mobile, dow, iosx;
- fb = irl = il = dz = da = dam = daiq = daia = fz = tl = tlz = sx = sy = fl = fo = fa = fn = rdc = rtc = rsc = rii = rin = rebc = tsl = tac = tn = tz = fe = fmx = fmy = ieof = iad = iad2 = iad3 = iadt = 0;
- kurl = "";
- rpc = fk = fs = 1;
- tr = new Array();
- ts = new Array();
- rsd = new Array();
- reb = new Array();
- ! function(c) {
- var b = c.Models,
- a = b.Base;
- b.Hidden = function(f) {
- a.call(this, f);
- this._vals = {};
- for (var g in c.Data.HiddenFields) {
- var e = c.Data.HiddenFields[g];
- if (window[e]) {
- this.set(e, window[e])
- }
- }
- };
- b.Hidden.prototype = $.extend({}, a.prototype, {
- set: function(e, f) {
- this._vals[e] = f;
- this.emit("change")
- },
- get: function(e) {
- return this._vals[e]
- },
- clear: function(e) {
- delete this._vals[e];
- this.emit("change")
- },
- toJSON: function() {
- return $.extend({}, this._vals)
- }
- })
- }(DDG);
- ! function(c) {
- var a = c.Models.Base,
- b = {
- Firefox: {
- canInstall: function() {
- return !this.device.isMobileDevice && this.device.isFirefox && !this.device.isFirefoxLessThan57
- },
- url: "https://addons.mozilla.org/firefox/downloads/latest/duckduckgo-for-firefox/addon-385621-latest.xpi",
- reviewsUrl: "https://addons.mozilla.org/firefox/addon/duckduckgo-for-firefox/reviews/",
- watchCSSForSuccess: true
- },
- Chrome: {
- canInstall: function() {
- return !this.device.isMobileDevice && this.device.isChrome && ((this.device.isWindows && this.device.chromeVersion >= 36) || (this.device.isOSX && this.device.chromeVersion >= 56))
- },
- url: "https://chrome.google.com/webstore/detail/bkdgflcldnnnapblkhphbgpggdiikppg"
- },
- Edge: {
- canInstall: function() {
- if (c.device.isEnglish) {
- return false
- }
- return !this.device.isMobileDevice && this.device.isEdgeChromium && ((this.device.isWindows && this.device.chromeVersion >= 36) || (this.device.isOSX && this.device.chromeVersion >= 56))
- },
- url: "https://chrome.google.com/webstore/detail/bkdgflcldnnnapblkhphbgpggdiikppg"
- },
- Brave: {
- canInstall: function() {
- return !this.device.isMobileDevice && this.device.isBrave && ((this.device.isWindows && this.device.chromeVersion >= 36) || (this.device.isOSX && this.device.chromeVersion >= 56))
- },
- url: "https://chrome.google.com/webstore/detail/bkdgflcldnnnapblkhphbgpggdiikppg"
- },
- Vivaldi: {
- canInstall: function() {
- return false
- },
- url: "https://chrome.google.com/webstore/detail/bkdgflcldnnnapblkhphbgpggdiikppg"
- },
- Safari: {
- canInstall: function() {
- return !this.device.isMobileDevice && this.device.isOSX && this.device.isOSXCatalinaAndUp && !this.device.isIPadOS && this.device.isSafari && this.device.safariVersion >= 13 && document.location.pathname.indexOf("/app") === 0
- },
- url: "https://apps.apple.com/app/duckduckgo-privacy-essentials/id1482920575",
- watchCSSForSuccess: true
- }
- };
- c.Models.Extension = function(e) {
- a.call(this, e);
- this.device = (e && e.device) || c.device;
- $.extend(this, b[this.device.browserName] || {})
- };
- c.Models.Extension.prototype = $.extend({}, a.prototype, {
- canInstall: function() {
- return false
- },
- isInstalled: function(f) {
- if (typeof this._isInstalled !== "undefined" && !(f && f.nocache)) {
- return this._isInstalled
- }
- var e = $('<div class="ddg-extension-check ddg-extension-hide"></div>');
- $("body").append(e);
- this._isInstalled = e.is(":hidden") && !c.device.isDDGApp;
- e.remove();
- return this._isInstalled
- }
- })
- }(DDG);
- ! function(c) {
- var b = c.Models.Base,
- a = "kos";
- c.Models.Onboarding = function(f) {
- b.call(this, f);
- var e = this.getLastRecordedStep();
- this.set("step", e >= 2 && !c.extension.isInstalled({
- nocache: true
- }) ? 1 : e)
- };
- c.Models.Onboarding.prototype = $.extend({}, b.prototype, {
- setStep: function(e) {
- switch (e) {
- case 0:
- if (!this.hasBeenExposed()) {
- c.settings.set(a, "0")
- }
- this.set("step", e);
- break;
- case 1:
- if (this.getLastRecordedStep() < 1) {
- c.settings.set(a, "1")
- }
- this.set("step", e);
- break;
- case 2:
- if (this.getLastRecordedStep() !== 2) {
- c.settings.set(a, "2")
- }
- this.set("step", e);
- break;
- case 3:
- if (this.getLastRecordedStep() < 3) {
- c.settings.set(a, "3")
- }
- this.set("step", e);
- break
- }
- },
- getStep: function() {
- return this.step
- },
- getLastRecordedStep: function() {
- var e = parseInt(c.settings.get(a), 10);
- return e > 0 ? e : 0
- },
- hasBeenExposed: function() {
- return !c.settings.isDefault(a)
- },
- hasStarted: function() {
- return this.step > 0
- },
- hasCompleted: function() {
- return this.step === 3 && c.extension.isInstalled({
- nocache: true
- })
- },
- isResumable: function() {
- return this.step > 0
- },
- hasCompletedStep1: function() {
- return c.extension.isInstalled({
- nocache: true
- }) || this.step >= 2
- }
- })
- }(DDG);
- ! function(h) {
- var b = h.Models.Base,
- k = 3,
- e = "cppm-s-v2",
- j = "cppm-i-v2",
- g = "cppm-d-v2";
- h.Models.MobileOnboarding = function(m) {
- b.call(this, m);
- var p, s, q;
- this.hasStorage = true;
- this.wasExposedToV1 = false;
- try {
- if (window.localStorage) {
- for (var o = 0; o < window.localStorage.length; o++) {
- var n = window.localStorage.key(o);
- if (n && /^cppm-.*-v[12]$/.test(n)) {
- window.localStorage.removeItem(n)
- }
- }
- if (this.useLocalStorage) {
- p = window.localStorage.getItem(e);
- s = window.localStorage.getItem(j);
- q = window.localStorage.getItem(g)
- }
- } else {
- this.hasStorage = false
- }
- } catch (r) {
- this.hasStorage = false
- }
- this.set("statuses", i(p));
- this.set("impressions", a(s));
- this.set("isDirty", String(q) === "true");
- this.set("openStatuses", i())
- };
- h.Models.MobileOnboarding.prototype = $.extend({}, b.prototype, {
- completeStep: function(n) {
- this.set("statuses", this.statuses.map(function(q, p) {
- if (p === n) {
- return "completed"
- }
- return q
- }));
- if (this.useLocalStorage) {
- var m = c(this.statuses);
- try {
- if (window.localStorage) {
- window.localStorage.setItem(e, m)
- }
- } catch (o) {}
- }
- },
- trackRenderedStep: function(n) {
- this.set("impressions", this.impressions.map(function(q, p) {
- if (p === n) {
- return true
- }
- return q
- }));
- if (this.useLocalStorage) {
- var m = f(this.impressions);
- try {
- if (window.localStorage) {
- window.localStorage.setItem(j, m)
- }
- } catch (o) {}
- }
- },
- markDirty: function() {
- if (!this.isResumable()) {
- this.set("isDirty", true);
- if (this.useLocalStorage) {
- try {
- if (window.localStorage) {
- window.localStorage.setItem(g, "true")
- }
- } catch (m) {}
- }
- }
- },
- setOpenStatuses: function() {
- this.set("openStatuses", this.getStatuses())
- },
- isResumable: function() {
- return this.isDirty || this.statuses.some(function(m) {
- return m === "completed"
- })
- },
- hasBeenExposed: function() {
- return this.getImpressions().some(function(m) {
- return m
- })
- },
- hasCompletedAllSteps: function() {
- return this.statuses.every(function(m) {
- return m === "completed"
- })
- },
- hasDdgAsDefault: function() {
- return this.statuses[0] === "completed"
- },
- hasDdgApp: function() {
- return this.statuses[1] === "completed"
- },
- hasDdgExtension: function() {
- return this.statuses[2] === "completed"
- },
- getStatuses: function() {
- return this.statuses.slice()
- },
- getOpenStatuses: function() {
- return this.openStatuses.slice()
- },
- getImpressions: function() {
- return this.impressions.slice()
- },
- getPixelStatuses: function(m) {
- m = m || this.getStatuses();
- return (c(m).replace("0", this.createPixelStep(0)).replace("1", this.createPixelStep(1)).replace("2", this.createPixelStep(2)).replace("3", this.createPixelStep(3)) + "n")
- },
- createPixelStep: function(m) {
- switch (m) {
- case 0:
- return "d";
- case 1:
- return "a";
- case 2:
- return "e";
- case 3:
- return "c";
- default:
- return ""
- }
- },
- getPixelOpenStatuses: function() {
- return this.getPixelStatuses(this.getOpenStatuses())
- },
- getPixelImpressionStatuses: function() {
- return (f(this.getImpressions()).replace("0", this.createPixelStep(0)).replace("1", this.createPixelStep(1)).replace("2", this.createPixelStep(2)).replace("3", this.createPixelStep(3)) + "n")
- },
- getStatus: function(m) {
- return this.statuses[m]
- },
- getResumeStep: function(m) {
- m = m || 0;
- var o = m;
- for (var n = m; n < this.statuses.length; n++) {
- if (this.statuses[n] !== "completed") {
- o = n;
- break
- }
- }
- return this.statuses[o] === "completed" ? this.statuses.length : o
- },
- getProgressValue: function() {
- return this.statuses.filter(function(m) {
- return m === "completed"
- }).length
- }
- });
- function i(o) {
- var m, n = [];
- if (!o) {
- for (m = 0; m < k; m++) {
- n.push("pending")
- }
- } else {
- var p = o.split("-");
- for (m = 0; m < k; m++) {
- n.push(p.indexOf(m.toString()) === -1 ? "pending" : "completed")
- }
- }
- return n
- }
- function c(o) {
- var m = [];
- for (var n = 0; n < o.length; n++) {
- if (o[n] === "completed") {
- m.push(n)
- }
- }
- return m.join("-")
- }
- function a(n) {
- var m, o = [];
- if (!n) {
- for (m = 0; m < (k + 1); m++) {
- o.push(false)
- }
- } else {
- var p = n.split("-");
- for (m = 0; m < (k + 1); m++) {
- o.push(p.indexOf(m.toString()) !== -1)
- }
- }
- return o
- }
- function f(o) {
- var m = [];
- for (var n = 0; n < o.length; n++) {
- if (o[n]) {
- m.push(n)
- }
- }
- return m.join("-")
- }
- }(DDG);
- ! function(c) {
- var a = c.Models.Base,
- b = 700,
- e = 2500;
- c.Models.AdFeed = function(f) {
- this._pixel = f.pixel;
- a.call(this, f);
- this.ads = [];
- this.defaultAds = []
- };
- c.Models.AdFeed.prototype = $.extend({}, a.prototype, {
- setDefaultAds: function(f, h) {
- var g = DDG.searchExperiments.v7exp && DDG.searchExperiments.v7exp.activeGroup === "a";
- if (this.ads.length || !f || !f.length || g) {
- return
- }
- this.set("defaultAds", f.map(function(j) {
- var i = this._makeAffiliateAd(j, h);
- return {
- a: j.a.substring(0, 75) + (j.a.length > 75 ? "..." : ""),
- d: j.d,
- m: 0,
- s: i.s,
- p: 1,
- c: i.c,
- u: i.u,
- h: 0,
- k: 0,
- i: j.i,
- t: j.t.substring(0, 60) + (j.t.length > 60 ? "..." : ""),
- "IE fix": 1
- }
- }.bind(this)))
- },
- getAds: function() {
- var f = [];
- if (this.ads && this.ads.length) {
- f = this.ads
- } else {
- if (this.defaultAds && this.defaultAds.length) {
- f = this.defaultAds
- }
- }
- return f
- },
- setAds: function(g) {
- var f = this.getInstance("pixel");
- if (this.blockReallyLateAds) {
- f.fire("sad", {
- b: 1,
- r: "late"
- });
- return
- } else {
- if (!this.loading) {
- if (g && g.length) {
- g.forEach(function(h) {
- h.late = true;
- delete h.l
- })
- }
- f.fire("sad", {
- b: 0,
- r: "late"
- });
- this.set("lateAds", g || []);
- return
- }
- }
- clearTimeout(this._fallbackToDefaultTimeout);
- delete this._fallbackToDefaultTimeout;
- this.set("loading", false);
- this.set("ads", g || [])
- },
- isUsingDefaultAds: function() {
- return !this.ads.length && this.defaultAds.length
- },
- load: function(g) {
- if (this.loading) {
- return
- }
- var f = nrj(g);
- f.addEventListener("error", function() {
- this.setAds([])
- }.bind(this));
- this.set("yjsFeedActive", true);
- this.set("loading", true)
- },
- organicsLoaded: function() {
- this._fallbackToDefaultTimeout = setTimeout(function() {
- this.set("loading");
- this.set("ads", [])
- }.bind(this), b);
- this._blockAdsCompletelyTimeout = setTimeout(function() {
- this.set("blockReallyLateAds", true)
- }.bind(this), e)
- },
- _makeAffiliateAd: function(g, h) {
- var f = h ? "&adx_name=" + h : "";
- return {
- c: "/y.js?u2=" + encodeURIComponent(g.c) + f + (window.ra ? "&a=" + window.ra : "") + ("&vqd=" + window.vqd),
- u: "/y.js?u2=" + encodeURIComponent(g.u) + f + (window.ra ? "&a=" + window.ra : "") + ("&vqd=" + window.vqd),
- s: g.k
- }
- }
- })
- }(DDG);
- ! function(c) {
- var a = c.Models.Base,
- b = {
- ctl: {
- rightRailSecond: true
- },
- def: {
- rightRailSecond: true
- },
- nav: {
- rightRailSecond: true
- },
- tasb: {
- siteLinksBothAds: true
- },
- tas1: {
- siteLinksFirstAdOnly: true
- },
- tas2: {
- siteLinksSecondAdOnly: true
- },
- oag: {
- rightRailSecond: true,
- siteLinksFirstAdOnly: true
- },
- rel2: {
- rightRailBoth: true
- },
- none: {
- rightRailSecond: false,
- rightRailBoth: false,
- smallFirst: false,
- smallSecond: false,
- siteLinksFirstAdOnly: false,
- siteLinksSecondAdOnly: false,
- siteLinksBothAds: false
- }
- };
- c.Models.Ads = function(e) {
- this._deep = e.deep;
- this._device = e.device;
- this._settings = e.settings;
- a.call(this, e);
- this.ads = [];
- this.setBucket("def");
- this.on("change:ads", this._updateLayout.bind(this))
- };
- c.Models.Ads.prototype = $.extend({}, a.prototype, {
- block: function() {
- this.set("blocked", 1)
- },
- isBlocked: function() {
- return !!(this.blocked || !this.getInstance("settings").isDefault("k1"))
- },
- setAds: function(e) {
- if (this.isBlocked() || !e || !e.length) {
- return
- }
- this.set("ads", e)
- },
- getAds: function() {
- return this.ads
- },
- getNorthAds: function(f) {
- return f;
- var e = 2;
- if (this.rightRailSecond) {
- e = 1
- } else {
- if (this.rightRailBoth) {
- e = 0
- }
- }
- e = Math.min(f.length, e);
- if (!this.canShowRightRailAds()) {
- return f.slice(0, e)
- }
- return f.slice(0, e + 1)
- },
- getSouthAds: function(h) {
- return [];
- var e, g = (h.length > 1) ? this.numTopAds : 0,
- f = h.length;
- if (g - f === 0) {
- g = 0;
- f = 1
- }
- if (f - g > 1) {
- g = f - 1
- }
- e = h.slice(g, f);
- e.forEach(function(i) {
- delete i.l
- });
- return e
- },
- hasAds: function() {
- var e = this.getAds();
- return !!e.length
- },
- getNumberOfTopAds: function() {
- return this.numTopAds
- },
- hasGoodAds: function() {
- return true;
- return (this.adx === "tas" || this.adx === "tasb" || this.adx === "tas1" || this.adx === "tas2" || this.adx === "oag")
- },
- canShowGoodAdsLayout: function() {
- return (!this.getInstance("device").isMobile && this.hasGoodAds() && (this.getInstance("deep").pageNumber === 1))
- },
- canShowEnhancedSiteLinks: function(e) {
- if (!this.canShowGoodAdsLayout()) {
- return false
- }
- return (this.siteLinksSecondAdOnly && e > 0) || (this.siteLinksFirstAdOnly && e === 0) || this.siteLinksBothAds
- },
- setBucket: function(f, e) {
- f = "tas1";
- if (this._firstBatchShown) {
- return
- }
- if (this.getInstance("device").isMobile) {
- f = "none"
- }
- if (b[f]) {
- this.adx = f
- }
- var g = c.backData.getData();
- this.adxExperiment = g.adx_name || e || "none"
- },
- _updateLayout: function() {
- var e = this.ads.length;
- $.extend(this, b.none);
- if (this.adx !== "none") {
- $.extend(this, b[this.adx])
- }
- if (e < 2) {
- this.rightRailSecond = false
- }
- if (this.rightRailSecond) {
- this.smallSecond = true
- } else {
- if (this.rightRailBoth) {
- this.smallFirst = true;
- this.smallSecond = true
- }
- }
- if (!this.canShowRightRailAds()) {
- this.rightRailBoth = false;
- this.rightRailSecond = false
- }
- },
- setFirstBatchShown: function() {
- if (this._firstBatchShown) {
- return
- }
- this._firstBatchShown = true;
- var e = 2;
- if (this.rightRailSecond) {
- e = 1
- } else {
- if (this.rightRailBoth) {
- e = 0
- }
- }
- if (DDG.pageLayout.isSlottingExperiment()) {
- e = 10
- }
- this.numTopAds = Math.min(this.getAds().length, e);
- this.smallFirst = false;
- this.smallSecond = false;
- this.rightRailSecond = false;
- this.rightRailBoth = false
- },
- canShowRightRailAds: function() {
- var f = this.getInstance("device"),
- e = this.getInstance("settings");
- return !f.isMobileDevice && e.isDefault("kw") && e.isDefault("km")
- },
- hasRightRailAds: function() {
- if (!this.canShowRightRailAds()) {
- return false
- }
- var e = this.getAds().length;
- if (e && (e > 2 || this.rightRailBoth || this.rightRailSecond || this.rightRailFirst)) {
- return true
- }
- return false
- },
- canShowAdExtensions: function(f, e) {
- return !this.getInstance("device").isMobile && f === 0 && this.adx !== "rel2" && e === 1
- }
- })
- }(DDG);
- ! function(b) {
- var a = b.Models.Base;
- b.Models.AdSitelinks = function(c) {
- a.call(this, c);
- this.hasSitelinkDescriptions = c.sitelinksMarkup && c.sitelinksMarkup.indexOf("sponsored__sitelink-description") > -1;
- if (c.isShowingLargeSitelinks) {
- this.hasSitelinkDescriptions = false;
- this.showEnhancedSiteLinks = false
- }
- if (/ebay\.co\.uk|amazon\.co\.uk/i.test(this.domain)) {
- this.hasSitelinkDescriptions = false;
- this.showEnhancedSiteLinks = false
- }
- };
- b.Models.AdSitelinks.prototype = $.extend({}, a.prototype, {
- canShowLargeSitelinks: function() {
- if (this.isShowingLargeSitelinks || !this.hasSitelinkDescriptions || !this.isFirstPageOfAds) {
- return false
- }
- return this.canShowGoodAdsLayout || this.layoutName === "def"
- },
- getSitelinkHtml: function() {
- return this._getSitelinkHtml(this.sitelinksMarkup, this.showEnhancedSiteLinks, this.canShowGoodAdsLayout)
- },
- _getSitelinkHtml: function(g, j, e) {
- if (!g) {
- return ""
- }
- var c = this._splitSitelinks(g, j || this.canShowLargeSitelinks());
- var h = (j && g.indexOf("sponsored__sitelink-description") > -1);
- var i;
- var f = "result__sitelinks";
- if (this.canShowLargeSitelinks()) {
- c = c.slice(0, 4);
- f += " result__sitelinks--large";
- i = this._getLargeAdSitelinks(c)
- } else {
- if (e && h) {
- c = c.slice(0, 3);
- i = this._getGoodAdSitelinks(c)
- } else {
- if (e && !h) {
- f += " result__sitelinks--nodesc";
- c = c.slice(0, 6);
- i = c.join('<span class="js-sitelink-comma sponsored__sitelink__comma">,</span>')
- } else {
- c = c.slice(0, 3);
- i = c.join('<span class="js-sitelink-comma sponsored__sitelink__comma">,</span>')
- }
- }
- }
- this.tid = this._matchTids(this.tid, c.length);
- if (this.canShowLargeSitelinks()) {
- return '<div class="result__snippet"><span class="' + f + '">' + i + "</span></div>"
- }
- return '<span class="' + f + '">' + i + "</span>"
- },
- _splitSitelinks: function(i, c) {
- var e = [],
- j = "</a>",
- f = "</div>",
- g, h;
- while (i.length) {
- if (i.indexOf("<a") !== 0) {
- break
- }
- h = i.indexOf(j);
- if (h === -1) {
- break
- }
- h += j.length;
- g = i.slice(0, h);
- i = i.slice(h);
- if (i.indexOf("<div") === 0) {
- h = i.indexOf(f);
- if (h === -1) {
- break
- }
- h += f.length;
- if (c) {
- g += i.slice(0, h)
- }
- i = i.slice(h)
- }
- e.push(g)
- }
- return e
- },
- _getLargeAdSitelinks: function(e) {
- var c = '<div class="sponsored__sitelink-row">';
- e.forEach(function(g, f) {
- if (f % 2 === 0 && f > 0) {
- c += '</div><div class="sponsored__sitelink-row">'
- }
- c += '<div class="sponsored__sitelink-col">' + g + "</div>"
- });
- return c + "</div>"
- },
- _getGoodAdSitelinks: function(e) {
- var c = "";
- e.forEach(function(f) {
- f = f.replace(/(<div[^>]+>)/, "$1 - ");
- c += '<div class="sponsored__sitelink-wrap">' + f + "</div>"
- });
- return c
- },
- _matchTids: function(h, e) {
- if (!e || !h) {
- return h
- }
- var c = h.split("\t"),
- g = {
- ad: c.splice(0, 1),
- sitelinks: c
- };
- g.sitelinks = g.sitelinks.slice(0, e);
- var f = g.ad.concat(g.sitelinks).join("\t");
- return f
- }
- })
- }(DDG);
- ! function(e) {
- var i = e.Data.Settings.regions,
- h = "kl",
- f = "kah",
- c = "wt-wt",
- j = 3,
- a = e.Models.Base,
- n;
- n = e.Models.Settings.Region = function(o) {
- this.settings = o.settings;
- this.prevRegions = [];
- o.id = o.id || this.settings.get(h);
- o.prevId = o.prevId || this.settings.get(f);
- a.call(this, o);
- this.settings.on("change:" + h, this.setId.bind(this));
- this.settings.on("change:" + f, this.setPrevId.bind(this))
- };
- n.prototype = $.extend({}, a.prototype, {
- getId: function() {
- return (window.rlo && window.rl) || this.id || this.getDefaultId()
- },
- getPrevId: function() {
- return (this.id === this.prevId || this.prevId === this.getDefaultId()) ? null : this.prevId
- },
- getPrevRegions: function() {
- return this.prevRegions
- },
- getDefaultId: function() {
- return c
- },
- hasRegion: function() {
- return this.getId() && this.getId() !== this.getDefaultId()
- },
- hasPrevRegion: function() {
- return this.getPrevId() && this.getPrevId() !== this.getDefaultId()
- },
- hasRegionOrSuggested: function() {
- return this.hasRegion() || this.hasPrevRegion() || this.suggestedRegion
- },
- hasUSRegion: function() {
- return this.getId() && this.getId() !== this.getDefaultId() && this.getId().split("-")[0] === "us"
- },
- isValidRegion: function(o) {
- return !!i[o]
- },
- setId: function(s, q, p) {
- if (s === this.id || !this.isValidRegion(s)) {
- return p && p()
- }
- var o = this,
- r;
- this.id = s;
- if (s !== c) {
- r = this.prevRegions.indexOf(s);
- if (r !== -1) {
- this.prevRegions.splice(r, 1)
- }
- this.prevRegions.unshift(s);
- this._trimPrevRegions()
- }
- if (q && q.saveToSettings) {
- if (!q.dontSavePrev) {
- this.settings.set(f, this.prevRegions.join(","))
- }
- this.settings.set(h, s, {
- saveToCloud: true,
- updateURLParams: true,
- fallbackToURLParam: q.fallbackToURLParam
- }, function() {
- o.emit("change:id", o.id);
- p && p()
- })
- } else {
- this.emit("change:id", this.id);
- p && p()
- }
- },
- setPrevId: function(o) {
- if (o) {
- this.prevRegions = o.split(",")
- } else {
- this.prevRegions = []
- }
- this._trimPrevRegions();
- this.prevId = this.prevRegions[0]
- },
- setDefault: function() {
- this.setId(this.getDefaultId(), {
- saveToSettings: true
- })
- },
- reset: function(o) {
- this.prevId = null;
- this.settings.clear(f);
- this.setId(this.getDefaultId(), {
- saveToSettings: true,
- dontSavePrev: true
- }, o)
- },
- disableSuggested: function(o) {
- this.setPrevId(this.getDefaultId());
- this.set({
- suggestedRegion: null
- });
- this.settings.set(f, this.prevId, {
- saveToCloud: true
- }, o)
- },
- disabledSuggested: function() {
- return this.prevId && this.prevId === this.getDefaultId()
- },
- getName: function(o) {
- o = o || this.getId();
- return l(i[o] || i[this.getDefaultId()])
- },
- getSmallIconURL: function(o) {
- return k(o || this.getId())
- },
- getXSmallIconURL: function(o) {
- return b(o || this.getId())
- },
- getLargeIconURL: function(o) {
- return g(o || this.getId())
- },
- getAll: function() {
- var u = [],
- s, p = this.getId(),
- o = function(y, v, x) {
- return {
- id: y,
- name: l(v),
- countryCode: m(y),
- selected: x
- }
- };
- var r = this.getPrevRegions();
- if (this.suggestedRegion && r.indexOf(this.suggestedRegion) === -1) {
- r.push(this.suggestedRegion)
- }
- for (var t in i) {
- if (t !== c && r.indexOf(t) === -1) {
- u.push(o(t, i[t], p === t))
- }
- }
- u.unshift(o(c, i[c], p === c));
- if (r.length && !(r.length === 1 && r[0] === c)) {
- u[0].showDivider = true
- }
- for (var q = r.length - 1; q >= 0; q--) {
- s = o(r[q], i[r[q]], p === r[q]);
- if (r[q] !== c && s.name) {
- u.unshift(s)
- }
- }
- return u
- },
- fetchSuggested: function(o) {
- e.device.getCountry(this._onFetchedSuggested.bind(this, o))
- },
- _onFetchedSuggested: function(y, r, q) {
- if (!q) {
- return y && y()
- }
- var u = q.toLowerCase(),
- t = [],
- x = function(A) {
- this.set({
- suggestedRegion: A
- });
- y && y(null, A)
- }.bind(this);
- if (u === "us") {
- return y && y()
- }
- if (u === "gb") {
- u = "uk"
- }
- for (var z in i) {
- var o = z.split("-")[0];
- if (o === u) {
- t.push(z)
- }
- }
- if (!t.length) {
- return y && y()
- }
- if (t.length === 1 || !window.locale) {
- return x(t[0])
- }
- var p = window.locale.split("_")[0];
- for (var s = 0; s < t.length; s++) {
- var v = t[s].split("-")[1];
- if (p === v) {
- return x(t[s])
- }
- }
- return x(t[0])
- },
- _trimPrevRegions: function() {
- var o = j;
- if (this.suggestedRegion) {
- o -= 1
- }
- if (this.prevRegions.length > o) {
- this.prevRegions = this.prevRegions.slice(0, o)
- }
- }
- });
- var m = function(o) {
- return o.split("-")[0]
- },
- k = function(o) {
- return "/assets/flags/" + (DDG.is3x ? "60" : DDG.is2x ? "40" : "20") + "/" + m(o) + ".png?v=4"
- },
- b = function(o) {
- return "/assets/flags/" + (DDG.is3x ? "48" : DDG.is2x ? "32" : "16") + "/" + m(o) + ".png?v=3"
- },
- g = function(o) {
- return "/assets/flags/" + (DDG.is3x ? "96" : DDG.is2x ? "64" : "32") + "/" + m(o) + ".png?v=4"
- }
- }(DDG);
- ! function(b) {
- var a = "kae",
- c = b.Data.Settings[a];
- b.Models.Settings.Themes = {
- KEY: a,
- getSystemTheme: function() {
- if (!b.device.getColorScheme) {
- return
- }
- var e = b.device.getColorScheme();
- if (e) {
- return this._getThemeForColorScheme(e)
- }
- },
- getAll: function() {
- return DDG.objectToArray(c.values)
- },
- getSettingsForTheme: function(i) {
- var h = c.values[i],
- e = c.values[c["default"]].settings;
- if (h) {
- return $.extend({}, e, h.settings)
- }
- var f = tinycolor(i);
- if (f.isValid()) {
- var g = f.toHexString();
- return $.extend({}, e, {
- kj: g,
- k7: g
- })
- }
- return $.extend({}, e)
- },
- enableColorSchemeDetection: function(e) {
- if (!this.colorSchemeMatching) {
- this.matcher = e;
- this.prefersDarkMode = window.matchMedia("(prefers-color-scheme: dark)");
- this.prefersLightMode = window.matchMedia("(prefers-color-scheme: light)");
- this.prefersDarkMode.addListener(e);
- this.prefersLightMode.addListener(e);
- this.colorSchemeMatching = true
- }
- },
- disableColorSchemeDetection: function() {
- if (this.colorSchemeMatching) {
- this.prefersDarkMode.removeListener(this.matcher);
- this.prefersLightMode.removeListener(this.matcher);
- this.colorSchemeMatching = false
- }
- },
- _getThemeForColorScheme: function(f) {
- if (!f) {
- return
- }
- var e = this.getAll(),
- g = e.find(function(h) {
- return h.colorScheme && h.colorScheme === f
- });
- if (g) {
- return g
- }
- }
- }
- }(DDG);
- ! function(h) {
- var b = "/settings.js",
- g = "application/json",
- j = "Error ",
- f = " CloudSave Settings",
- e = j + "Loading" + f,
- c = j + "Saving" + f,
- i = j + "Deleting" + f,
- a = {
- url: b,
- type: "POST",
- dataType: "json",
- contentType: g,
- processData: false
- };
- h.Models.Settings.CloudSave = {
- keyField: "objectKey",
- isKeyField: function(k) {
- return k === this.keyField || k === "key"
- },
- load: function(k, m) {
- if (!k) {
- return m(e)
- }
- $.ajax({
- url: b + "?key=" + k,
- dataType: "json",
- success: function(n) {
- m(null, n)
- },
- error: function() {
- m(e)
- }
- })
- },
- save: function(k, n, m) {
- if (!k || !n) {
- return m && m(c)
- }
- $.ajax($.extend({
- data: JSON.stringify({
- command: "write",
- objectKey: k,
- obj: n
- }),
- success: function() {
- m && m(null, n)
- },
- error: function() {
- m && m(c)
- }
- }, a))
- },
- destroy: function(k, m) {
- if (!k) {
- return m(i)
- }
- $.ajax($.extend({
- type: "POST",
- data: JSON.stringify({
- command: "delete",
- objectKey: k
- }),
- success: function() {
- m && m(null, true)
- },
- error: function(n) {
- m && m(i)
- }
- }, a))
- },
- phraseToKey: function(k) {
- var m = new jsSHA(k, "ASCII"),
- n = m.getHash("SHA-512", "HEX");
- return n
- },
- validatePassPhrase: function(k, n) {
- if (!k) {
- return n(lp("cloudsave", "Please enter a pass phrase"))
- }
- if (k.length < 9) {
- return n(lp("cloudsave", "Pass phrase must be at least 9 characters long"))
- }
- var m = this.phraseToKey(k);
- $.ajax({
- url: b + "?key=" + m,
- dataType: "json",
- success: function() {
- n(lp("cloudsave", "Pass phrase is already taken."))
- },
- error: function() {
- n(null, true)
- }
- })
- },
- suggestPassPhrase: function(m) {
- var n = 20,
- k = 4;
- $.ajax($.extend({
- type: "POST",
- data: JSON.stringify({
- command: "passphrase",
- n: n
- }),
- success: function(o) {
- var q = o.passphrase.split(" "),
- r = "";
- q.sort(function() {
- return 0.5 - Math.random()
- });
- for (var p = 0; p < k; p++) {
- r += q[p] + " "
- }
- m(null, r.trim())
- },
- error: function() {
- m(true)
- }
- }, a))
- }
- }
- }(DDG);
- ! function(g) {
- var b = g.Models.Base,
- f = g.Models.Settings,
- e = "kp",
- a = {
- "1": {
- name: lp("safe search", "Strict"),
- description: lp("safe search", "No adult content")
- },
- "-1": {
- name: lp("safe search", "Moderate"),
- description: lp("safe search", "No explicit images or videos")
- },
- "-2": {
- name: lp("setting", "Off"),
- description: lp("safe search", "Don't filter adult content")
- }
- },
- c = "-1";
- f.SafeSearch = function(h) {
- b.call(this, h);
- this.settings.on("change:" + e, this._onSettingChange.bind(this))
- };
- f.SafeSearch.prototype = $.extend({}, b.prototype, {
- getId: function() {
- return this.id || c
- },
- getAll: function() {
- var h = [],
- j;
- for (var i in a) {
- j = {
- id: i,
- name: a[i].name,
- description: a[i].description
- };
- j.selected = j.id === this.getId();
- h.push(j)
- }
- return h
- },
- isActive: function() {
- return this.getId() !== c
- },
- getName: function() {
- return a[this.getId()].name
- },
- isStrict: function() {
- return this.getId() === "1"
- },
- isModerate: function() {
- return this.getId() === "-1"
- },
- isOff: function() {
- return this.getId() === "-2"
- },
- setId: function(j, i) {
- var h = {
- saveToCloud: true,
- updateURLParams: true,
- fallbackToURLParam: true
- };
- this.settings.set(e, j, h, i)
- },
- setTemporaryId: function(i, h) {
- g.hidden.set(e, i);
- h && h()
- },
- _onSettingChange: function() {
- var h = this.settings.get(e);
- this.set("id", h)
- }
- })
- }(DDG);
- ! function(p, i) {
- var u = "January 12, 2025",
- q = "abcdefghijklmnopqrstuvwxyz",
- j = i.location.protocol + "//" + i.location.host + "/",
- v = /<|>|\//g,
- s = p.Data.Settings,
- n = "kay",
- g = "mapkit.SpileTestResults",
- e = p.Models.Settings.CloudSave,
- k = p.Models.Settings.Themes,
- f = p.Models.Base,
- r;
- r = p.Models.Settings.Settings = function(x) {
- x = x || {};
- if (x.cloudSaveKey) {
- this.setCloudSaveKey(x.cloudSaveKey)
- }
- this._settings = {};
- this._savedSettings = {};
- this._urlSettings = {};
- this.region = new p.Models.Settings.Region({
- settings: this
- });
- this.safeSearch = new p.Models.Settings.SafeSearch({
- settings: this
- });
- this.cloudsave = e;
- this.themes = k;
- this._updateDeviceDependentSettings();
- this._setFromURLParams();
- this._setFromQuerystring();
- this._backfillGlobals();
- this._setFromCookie();
- this._restoreCloudSaveKey();
- this._useColorScheme()
- };
- r.prototype = $.extend({}, f.prototype, {
- THEME_KEY: k.KEY,
- AUTOCOMPLETE_KEY: "kac",
- LANGUAGE_KEY: "kad",
- POST_KEY: "kg",
- MOBILE_INSTRUCTIONS_KEY: "kas",
- DEFAULT_FIELD_CLASS: "FormField",
- TYPE_TO_FIELD_CLASS: {
- "boolean": "BooleanFormField",
- color: "ColorFormField",
- composite: "CompositeFormField",
- thumbnail: "ThumbnailFormField",
- theme: "ThemeFormField",
- dropdowncustom: "DropDownCustomFormField",
- clear: "ClearFormField"
- },
- get: function(x) {
- if (x === "kl") {
- return this._getRegionSetting()
- }
- var y = this._settings[x] || this.getDefault(x);
- y = o(x, y);
- return y
- },
- _getRegionSetting: function() {
- if (this._settings.kl) {
- return this._settings.kl
- }
- if (this._isInRegionToggleExp() && this._isRegionWithDefaultRegionToggle()) {
- var z = navigator.language || "en-US";
- var y = window.ct === "GB" ? "uk" : (window.ct || "US").toLowerCase();
- if (y === "us") {
- return "wt-wt"
- }
- var A = z.split("-")[0];
- var x = y + "-" + A;
- var B = p.Data.Settings.regions;
- return Object.keys(B).indexOf(x) !== -1 ? x : "wt-wt"
- }
- return "wt-wt"
- },
- _isInRegionToggleExp: function() {
- var z = p.Data.Experiments.default_region_toggle;
- if (!z) {
- return false
- }
- var A = p.history.get("atb");
- if (!A) {
- return false
- }
- var x = z.versions || [];
- var y = A.slice(0, 6);
- return x.includes(y) && A[6] === "b"
- },
- _isRegionWithDefaultRegionToggle: function() {
- var x = ["AU", "AT", "DK", "FI", "FR", "DE", "IT", "IE", "NZ", "NO", "ES", "SE", "GB"];
- return x.indexOf(window.ct) !== -1
- },
- getDefault: function(x) {
- var y = s[x];
- return y && y["default"]
- },
- isDefault: function(x) {
- return this.get(x) === this.getDefault(x)
- },
- hasCustomLinkStyles: function() {
- return !(this.isDefault("kae") && this.isDefault("k9") && this.isDefault("kaa") && this.isDefault("k8") && this.isDefault("kx") && this.isDefault("kaf") && this.isDefault("kai") && this.isDefault("kf") && this.isDefault("k7") && this.isDefault("k18"))
- },
- getData: function(z) {
- var A = $.extend({}, s[z]);
- A.id = z;
- if (typeof A.values === "string") {
- A.values = $.extend({}, s[A.values])
- }
- if (A.values && A.order) {
- var B, x = {};
- for (var y = 0; y < A.order.length; y++) {
- B = A.order[y];
- if (A.values[B]) {
- x[B] = A.values[B]
- }
- }
- for (B in A.values) {
- if (!x[B]) {
- x[B] = A.values[B]
- }
- }
- A.values = x
- }
- return A
- },
- getFieldClass: function(x) {
- return this.TYPE_TO_FIELD_CLASS[x] || this.DEFAULT_FIELD_CLASS
- },
- set: function(x, A, z, y) {
- z = z || {};
- A = o(x, A);
- if (typeof A === "undefined" || A === "" || A === null || (x !== this.THEME_KEY && this.isDefault(this.THEME_KEY) && A === this.getDefault(x))) {
- this.clear(x, z, y);
- if (x === this.THEME_KEY && z.forceTheme) {
- this._applyTheme(this.getDefault(x), z)
- }
- return y && y()
- }
- this._settings[x] = A;
- i[x] = A;
- if (z.saveToCookie || typeof z.saveToCookie === "undefined") {
- if (typeof A === "string") {
- A = A.replace("#", "")
- }
- this._savedSettings[x] = A;
- t(h(x), A, z);
- if (z.fallbackToURLParam && !document.cookie) {
- this._urlSettings[x] = A
- }
- }
- if (z.updateURLParams && this._urlSettings[x]) {
- this._urlSettings[x] = A
- }
- if (!z.silent) {
- this.emit("change:" + x, A)
- }
- this.emit("change", x);
- if (x === this.THEME_KEY) {
- this._applyTheme(A, z)
- }
- if (z.saveToCloud && this._cloudSaveKey) {
- this.saveToCloud(y)
- } else {
- y && y()
- }
- },
- setTheme: function(z, y, x) {
- y = y || {};
- y.forceTheme = true;
- this.set(this.THEME_KEY, z, y, x)
- },
- setBulk: function(z, y) {
- if (z[this.THEME_KEY]) {
- this.set(this.THEME_KEY, z[this.THEME_KEY], y)
- }
- for (var x in z) {
- if (x !== this.THEME_KEY) {
- this.set(x, z[x], y)
- }
- }
- },
- setTParam: function(x) {
- this._urlSettings.t = x;
- this.set("t", x, {
- saveToCookie: false
- })
- },
- clear: function(x, z, y) {
- z = z || {};
- i[x] = "";
- delete this._settings[x];
- delete this._savedSettings[x];
- if (z.saveToCookie || typeof z.saveToCookie === "undefined") {
- t(h(x), "", {
- expires: new Date(),
- clear: true
- })
- }
- if (z.updateURLParams) {
- delete this._urlSettings[x]
- }
- if (z.saveToCloud) {
- this.saveToCloud(y)
- }
- try {
- if (x === n) {
- i.localStorage && i.localStorage.removeItem(g)
- } else {
- if (x === e.keyField) {
- i.localStorage && i.localStorage.removeItem(e.keyField)
- }
- }
- } catch (A) {}
- if (!z.silent) {
- this.emit("change:" + x)
- }
- this.emit("change", x)
- },
- clearAll: function() {
- for (var x in this._settings) {
- this.clear(x)
- }
- },
- toQueryString: function(x) {
- return $.param(this.toJSON(x))
- },
- toJSON: function(x) {
- x = x || {};
- if (x.onlyURLParams) {
- return $.extend({}, this._urlSettings)
- }
- return $.extend({}, x.all ? this._settings : this._savedSettings)
- },
- toBookmarkletURL: function(y) {
- var x = this.toQueryString(y);
- return x ? j + "?" + x : j
- },
- toCloudSaveBookmarkletURL: function() {
- var x = this.getCloudSaveKey();
- return x ? j + "?key=" + x : j
- },
- getCloudSaveKey: function() {
- return this._cloudSaveKey
- },
- setCloudSaveKey: function(x) {
- b(e.keyField, x);
- this._cloudSaveKey = x;
- this.emit("change:cloudsave");
- return x
- },
- setCloudSavePassPhrase: function(x) {
- return this.setCloudSaveKey(e.phraseToKey(x))
- },
- loadFromCloud: function(x) {
- x = x || {};
- e.load(this._cloudSaveKey, function(A, z) {
- if (z) {
- if (x && x.clearAll) {
- this.clearAll()
- }
- this._cloudSettings = z;
- for (var y in z) {
- if (this._urlSettings[y]) {
- delete z[y]
- }
- }
- this.setBulk(z);
- b(e.keyField, this._cloudSaveKey)
- } else {
- this.clearCloudSave()
- }
- this.emit(x.initial ? "loaded-initial" : "loaded", A, z)
- }.bind(this))
- },
- saveToCloud: function(x) {
- e.save(this._cloudSaveKey, this._savedSettings, x)
- },
- clearCloudSave: function(y, x) {
- if (y && y.deleteFromServer) {
- e.destroy(this._cloudSaveKey, x)
- }
- this.clear(e.keyField);
- this._cloudSaveKey = null;
- this.emit("change:cloudsave")
- },
- getFontName: function(y) {
- var x = s.fonts[y];
- if ((x && x === "Proxima Nova") || (y && !y.match(/^([a-zA-Z0-9\-\s]+)$/))) {
- x = "DDG_ProximaNova, DDG_ProximaNova_UI_1, DDG_ProximaNova_UI_2, DDG_ProximaNova_UI_3, DDG_ProximaNova_UI_4, DDG_ProximaNova_UI_5, DDG_ProximaNova_UI_6"
- }
- return x
- },
- useRedirect: function() {
- return this.isDefault("kd") && !p.device.hasMetaReferrerSupport
- },
- autoloadDisabled: function() {
- return this.isDefault("kav")
- },
- getDropdownSettings: function() {
- var z = {};
- for (var x in s) {
- if (s[x].dropdownSettings && s[x].dropdownSettings.category) {
- var y = s[x].dropdownSettings.category;
- if (!z[y]) {
- z[y] = []
- }
- z[y][x] = s[x]
- }
- }
- return z
- },
- getThemePalette: function(y, z) {
- var x = this.get("kae"),
- A = k.getSettingsForTheme(x);
- if (A.palette && A[y] === z) {
- return A.palette
- }
- },
- _updateDeviceDependentSettings: function() {
- var y, z, x;
- for (y in s) {
- if (s[y].deviceDependent) {
- x = s[y].values;
- if (typeof x === "string") {
- x = s[x]
- }
- for (z in x) {
- if (!this._isValueValidForDevice(x[z])) {
- delete x[z]
- } else {
- if (!s[y]["default"]) {
- s[y]["default"] = z
- }
- }
- }
- }
- }
- },
- _isValueValidForDevice: function(A) {
- var z = true,
- y, x;
- if (A.onDevices) {
- z = false;
- for (y = 0; y < A.onDevices.length; y++) {
- x = A.onDevices[y];
- if (p.device[x]) {
- z = true;
- break
- }
- }
- }
- if (z && A.notOnDevices) {
- for (y = 0; y < A.notOnDevices.length; y++) {
- x = A.notOnDevices[y];
- if (p.device[x]) {
- z = false;
- break
- }
- }
- }
- return z
- },
- isDarkTheme: function() {
- return p.settings.get("kae") === "d" || p.settings.get("kae") === "t"
- },
- _applyTheme: function(A, y) {
- y = y || {};
- var z = k.getSettingsForTheme(A);
- this.applyingTheme = true;
- for (var x in z) {
- if (!y.forceTheme && this._settings[x]) {
- continue
- }
- this.clear(x);
- this.set(x, z[x] || this.getDefault(x), {
- saveToCookie: false
- })
- }
- this.applyingTheme = false;
- this.emit("change:themeApplied")
- },
- _setFromQuerystring: function() {
- for (var x in p.history.curState) {
- var y = p.history.curState[x];
- if (y.match(v)) {
- continue
- }
- if (e.isKeyField(x) && !this.getCloudSaveKey()) {
- this._urlSettings[x] = y;
- this.setCloudSaveKey(y)
- } else {
- if (x.charAt(0) === "k" || x === "t" || x === "atb" || x === "va") {
- this._urlSettings[x] = y
- }
- }
- }
- this.setBulk(this._urlSettings, {
- saveToCookie: false
- })
- },
- _setFromURLParams: function() {
- if (!i.settings_url_params) {
- return
- }
- for (var x in i.settings_url_params) {
- var y = i.settings_url_params[x];
- if (e.isKeyField(x) && !this.getCloudSaveKey()) {
- this._urlSettings[x] = y;
- this.setCloudSaveKey(y)
- } else {
- if (!this._urlSettings[x]) {
- this._urlSettings[x] = y
- }
- }
- }
- this.setBulk(this._urlSettings, {
- saveToCookie: false
- })
- },
- _setFromCookie: function() {
- if (!document.cookie) {
- return
- }
- var A = {},
- z = document.cookie.split("; ");
- for (var y = 0; y < z.length; y++) {
- var B = z[y].split("=");
- if (B && B.length == 2) {
- var x = a(B[0]),
- C = c(B[1]);
- if (C.match(v)) {
- continue
- }
- if (e.isKeyField(x)) {
- this.clear(e.keyField);
- p.pixel.fire("cls", {
- c: 1
- });
- this.setCloudSaveKey(C)
- } else {
- if (C && !this._urlSettings[x]) {
- A[x] = C
- }
- }
- }
- }
- this.setBulk(A)
- },
- _isLoadableSetting: function(x, y) {
- if (!x || !y) {
- return false
- }
- if (!s.hasOwnProperty(x) && !e.isKeyField(x)) {
- return false
- }
- if (y.match(v)) {
- return false
- }
- return !this._urlSettings[x]
- },
- _backfillGlobals: function() {
- var y = 0,
- x, A;
- for (; y < 10; y++) {
- x = a(y.toString());
- if (!i[x]) {
- i[x] = ""
- }
- }
- for (y = 0; y < q.length; y++) {
- var z = q.charAt(y);
- x = a(z);
- A = a("a" + z);
- if (!i[x]) {
- i[x] = ""
- }
- if (!i[A]) {
- i[A] = ""
- }
- }
- },
- _setDefaultTheme: function(y) {
- var x = y || k.getSystemTheme();
- if (x && x.id !== this.getDefault(this.THEME_KEY)) {
- p.Data.Settings.kae["default"] = x.id
- }
- },
- _useColorScheme: function() {
- var y = k.getSystemTheme();
- if (!y) {
- return
- }
- if (!this._settings[this.THEME_KEY] && !this._hasCustomizedTheme()) {
- this.setTheme(y.id, {
- saveToCookie: false
- });
- this._enableColorSchemeMatching()
- } else {
- if (this._savedSettings[this.THEME_KEY] == y.id && !this._hasCustomizedTheme()) {
- this.clear(this.THEME_KEY);
- this._useColorScheme()
- } else {
- if (!this._settings[this.THEME_KEY] && this._hasCustomizedTheme()) {
- var x = DDG.Data.Settings.kae.values["-1"];
- y = x
- }
- }
- }
- this.on("change:themeApplied", this._themeSettingListener);
- this._setDefaultTheme(y)
- },
- _colorSchemeMatch: function(y) {
- if (y.matches) {
- var x = k.getSystemTheme();
- if (x) {
- this._setDefaultTheme(x);
- this.setTheme(x.id, {
- saveToCookie: false
- })
- }
- }
- },
- _enableColorSchemeMatching: function() {
- this.themes.enableColorSchemeDetection(this._colorSchemeMatch.bind(this));
- this._toggleAppearanceSettingListeners(true)
- },
- _disableColorSchemeMatching: function() {
- this.themes.disableColorSchemeDetection();
- this._toggleAppearanceSettingListeners(false)
- },
- _themeSettingListener: function() {
- var x = k.getSystemTheme(),
- y = this.get(this.THEME_KEY) === x.id;
- if (y && !this._hasCustomizedTheme()) {
- this.clear("kae");
- if (!this.themes.colorSchemeMatching) {
- this._enableColorSchemeMatching()
- }
- } else {
- this._disableColorSchemeMatching()
- }
- },
- _appearanceSettingListener: function(z) {
- var x = z.substring(7);
- if (this.themes.colorSchemeMatching && !this.isDefault(x) && !this.applyingTheme) {
- var y = this.get(this.THEME_KEY);
- this.set(this.THEME_KEY, y);
- this._disableColorSchemeMatching()
- }
- },
- _toggleAppearanceSettingListeners: function(y) {
- if (y === null) {
- return
- }
- var x = this.get(this.THEME_KEY),
- A = this.themes.getSettingsForTheme(x);
- for (var z in A) {
- if (y) {
- this.on("change:" + z, function() {
- this._appearanceSettingListener(this.event)
- }.bind(this))
- } else {
- this.off("change:" + z, function() {
- this._appearanceSettingListener(this.event)
- }.bind(this))
- }
- }
- },
- _hasCustomizedTheme: function() {
- var B = this.get(this.THEME_KEY),
- y = this.themes.getSettingsForTheme(B);
- for (var A in y) {
- var x = this.get(A),
- z = y[A];
- if (x === this.getDefault(A)) {
- x = null
- }
- if (x != z) {
- return true
- }
- }
- return false
- },
- _restoreCloudSaveKey: function() {
- try {
- for (var y = 0; y < localStorage.length; y++) {
- var x = localStorage.key(y),
- A = localStorage.getItem(x);
- x = a(x);
- if (this._isLoadableSetting(x, A) && e.isKeyField(x)) {
- this.setCloudSaveKey(A)
- }
- }
- } catch (z) {}
- }
- });
- var c = function(x) {
- if (!x) {
- return ""
- }
- if (x.indexOf('"') === 0) {
- x = x.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, "\\")
- }
- return x ? decodeURIComponent(x.replace(/\+/g, " ")) : ""
- };
- var t = function(y, B, z) {
- z = z || {};
- z.expires = z.expires || new Date(u);
- var A = encodeURIComponent(y),
- x = encodeURIComponent(B);
- if (!x && (!document.cookie || !document.cookie.match(new RegExp("(^|;)\\s?" + A + "=")))) {
- return
- }
- document.cookie = [A, "=", x, "; sameSite=Strict", (z.secure || location.protocol === "https:") ? "; secure" : "", z.expires ? "; expires=" + z.expires.toUTCString() : "", z.path ? "; path=" + z.path : "", z.domain ? "; domain=" + z.domain : ""].join("")
- };
- var b = function(x, A, y) {
- try {
- if (y && y.clear) {
- localStorage.removeItem(x)
- } else {
- localStorage.setItem(x, A)
- }
- } catch (z) {}
- };
- var h = function(x) {
- if (x.charAt(0) === "k") {
- return x.substr(1, x.length)
- }
- return x
- };
- var a = function(x) {
- if (e.isKeyField(x)) {
- return x
- }
- return "k" + x
- };
- var m = function(x) {
- var y = s[x];
- return typeof y.values === "object" ? y.values : s[y.values]
- };
- var o = function(y, A) {
- if (!A || !y) {
- return A
- }
- var z = s[y];
- if (z && z.type === "color") {
- var x = m(y);
- A = x[A] || A
- }
- return A
- }
- }(DDG, this);
- ! function(a) {
- a.Models.TParam = function() {
- this._param = this.DEFAULT_VARIANT;
- this.set(a.settings.get("t"))
- };
- a.Models.TParam.prototype = $.extend({}, {
- DEFAULT_VARIANT: "_",
- get: function() {
- return this._param
- },
- set: function(b) {
- if (!b) {
- return
- }
- if (this._isValidHomepageParam(b)) {
- this._param = (b.length === 1) ? this.DEFAULT_VARIANT : b.substr(1);
- this._fromHomepage = true;
- this._hasValue = true
- } else {
- if (/^[a-z0-9]+$/.test(b)) {
- this._param = b;
- this._hasValue = true
- }
- }
- },
- hasValue: function() {
- return this._hasValue
- },
- fromDefaultSearch: function() {
- return this._hasValue && !this.fromHomepage()
- },
- setFromHomepage: function(b) {
- var c = "h" + b;
- if (!a.settings.get("t") && this._isValidHomepageParam(c)) {
- a.settings.setTParam(c)
- }
- },
- fromHomepage: function() {
- return this._fromHomepage
- },
- _isValidHomepageParam: function(b) {
- return /^h[a-z_]?$/.test(b)
- }
- })
- }(DDG);
- ! function(b) {
- var a = b.Models.Base;
- b.Models.AddToBrowser = function() {
- this.viewType = (b.device.isMobileDevice) ? "AddToBrowserBanner" : "AddToBrowserBadge"
- };
- b.Models.AddToBrowser.prototype = $.extend({}, a.prototype, {
- BADGE_DISMISS_KEY: "kak",
- BADGE_RECURRING_KEY: "kax",
- canAddToChromeMobile: function() {
- var e = b.device.isAndroid && b.device.isChrome && b.device.chromeVersion >= 57,
- c = b.device.isIDevice && b.device.isChrome && b.device.chromeVersion >= 72;
- return (e || c) && !b.device.isBrave && !b.device.isFirefoxFocus && !b.device.isSamsung && !b.device.isUCBrowser
- },
- canAddToBraveAndroid: function() {
- return b.device.isAndroid && b.device.isBrave
- },
- canAddToBraveIOS: function() {
- return b.device.isIOS8p && b.device.isBrave
- },
- canAddToMobileFirefox: function() {
- return ((b.device.isIOS8p && b.device.isFirefox) || (b.device.isAndroid && (b.device.isFirefox38AndUp || b.device.isFirefoxFocus)))
- },
- canAddToMobileUCBrowser: function() {
- return b.device.isUCBrowser && (b.device.isAndroid || b.device.isIDevice)
- },
- canAddToMobileBrowser: function() {
- return (this.canAddToChromeMobile() || (b.device.isIOS8pSafari && !b.device.isUCBrowser) || this.canAddToMobileFirefox() || this.canAddToBraveAndroid() || this.canAddToBraveIOS() || b.device.isEdgeMobile || this.canAddToMobileUCBrowser())
- },
- canShowMobileBanner: function() {
- return (this.canAddToMobileBrowser() && b.settings.isDefault(this.BADGE_DISMISS_KEY) && this._canShowAgain())
- },
- canShowBadgeAgain: function() {
- return !(b.device.isDesktop && !this._canShowAgain())
- },
- canShowMobileButton: function() {
- return (this.canAddToMobileBrowser() && (!b.settings.isDefault(this.BADGE_DISMISS_KEY) || !this._canShowAgain()))
- },
- showDarkInstructions: function() {
- return this.canAddToMobileBrowser()
- },
- dismiss: function() {
- var f = (b.opensearch.atbVariant !== b.tParam.DEFAULT_VARIANT) ? b.opensearch.atbVariant : "",
- g = 4,
- e = new Date(),
- c;
- if (!b.settings.isDefault(this.BADGE_RECURRING_KEY)) {
- g = 30
- }
- e.setDate(e.getDate() + g);
- c = b.opensearch.getATBVersionInfo(e).version;
- if (this._canShowAgain()) {
- b.settings.set(this.BADGE_RECURRING_KEY, c + f, {
- saveToCloud: true,
- fallbackToURLParam: true
- })
- }
- },
- _canShowAgain: function() {
- var c = b.opensearch.getDaysSinceCohort(b.settings.get(this.BADGE_RECURRING_KEY)),
- e = !b.settings.isDefault(this.BADGE_RECURRING_KEY);
- return !e || (e && b.device.isDesktop && c >= 0 && c <= 15) || (e && !b.device.isDesktop && c >= 0)
- },
- canShowOnMobileSerp: function() {
- return (this.canShowMobileBanner() && b.page.canShowAddToBrowser() && b.tParam.fromHomepage())
- },
- canShowOnDesktopSerp: function() {
- return (this.canShowBadgeAgain() && b.page.canShowAddToBrowser() && b.tParam.fromHomepage())
- },
- canNotYetShowOnDesktopSerp: function() {
- return (!this.canShowBadgeAgain() && b.page.canShowAddToBrowserButton() && b.tParam.fromHomepage())
- },
- usesOpenSearch: function() {
- return this.canAddToChromeMobile() || (b.device.isAndroid && b.device.isEdgeMobile)
- }
- })
- }(DDG);
- ! function(b) {
- var a = b.Models.Base,
- c = "kao";
- b.Models.Settings.OnboardingEducation = function() {
- this.KEY = c;
- this.isDismissed = !b.settings.isDefault(c);
- this.didUserScroll = false;
- this.isSVGAnimated = false;
- this.scrollToAnimationDurationMS = 350;
- this.pauseForAnimationMS = 1000
- };
- b.Models.Settings.OnboardingEducation.prototype = $.extend({}, a.prototype, {
- canShow: function() {
- return (b.settings.isDefault(this.KEY) && !window.extensionsuccess)
- },
- dismiss: function() {
- b.settings.set(c, -1, {
- saveToCloud: true
- });
- this.isDismissed = true
- }
- })
- }(DDG);
- ! function(a) {
- a.Models.Settings.OnboardingEducationSlide = function(b) {
- return {
- slideIndex: b.model.slideIndex || null,
- isSVGAnimated: b.model.isSVGAnimated || false,
- pauseBeforeAnimation: 300,
- pauseBetweenAnimationIterations: 5000,
- maxAnimationLoops: 3,
- animationAnchorEl: {
- slide1: "monster-eye",
- slide2: "ghost-girl-face",
- slide3: "bathtub-periscope",
- slide4: "scarf-back"
- }
- }
- }
- }(DDG);
- ! function(r) {
- var j, e = {
- s: "set-text--small",
- m: "set-text--medium",
- l: "set-text--larger",
- t: "set-text--largest"
- },
- a = {
- w: "set-wide",
- s: "set-super-wide"
- },
- u = "set-theme--dark",
- b = "set-theme--terminal",
- o = "no-theme",
- p = r.Data.languages.languageFontLookup,
- h = r.Data.languages.fontSubsets,
- g = tinycolor;
- r.Models.Settings.LiveUpdater = j = function(x) {
- this.settings = x.settings;
- this.$html = r.$html || $("html");
- this.$body = $("body");
- this.isHomePage = x.isHomePage;
- this.$html.removeClass(u);
- this.$html.removeClass(b);
- this.$html.removeClass(o);
- var v = this;
- this.settings.on("change", function(y) {
- v[y] && v[y](v.settings.get(y))
- })
- };
- j.prototype = {
- updateAll: function() {
- for (var v in j.prototype) {
- if (v.charAt(0) == "k") {
- this[v](this.settings.get(v))
- }
- }
- },
- loadFonts: function() {
- if (!this.settings.isDefault("kt") && !this.settings.isDefault("ka")) {
- return
- }
- var E = r.Data.languages.resultLanguages || {},
- A = Object.keys(E) || [],
- v = [],
- x = 0,
- D = 6,
- C = "";
- if (!this.settings.isDefault("kad")) {
- A.unshift(this.settings.get("kad").split("_")[0])
- }
- if (locale) {
- A.unshift(locale.split("_")[0])
- }
- if (A && A.length) {
- for (var B = 0; B < A.length; B++) {
- var y = A[B];
- if (p[y] && v.indexOf(y) === -1) {
- var F = $.isArray(p[y]) ? p[y] : [p[y]];
- for (var z = 0; z < F.length; z++) {
- C += r.exec_template("theme_font", {
- name: "_UI_" + x,
- lang: F[z]
- });
- v = v.concat(h[F[z]]);
- x++
- }
- if (x >= D) {
- break
- }
- }
- }
- }
- this._clearCSS("customFonts");
- if (C) {
- this.$customFontscss = s(C)
- }
- },
- k1: function(x) {
- var v = (x && x == "-1") ? "addClass" : "removeClass";
- this.$html[v]("no-ads")
- },
- km: function(x) {
- var v = (x && x === "m") ? "addClass" : "removeClass";
- this.$html[v]("set-align-center")
- },
- ks: function(y) {
- for (var v in e) {
- this.$html.removeClass(e[v])
- }
- var x = e[y];
- x && this.$html.addClass(x)
- },
- kw: function(x) {
- this.$html.removeClass("set-wide").removeClass("set-super-wide");
- var v = a[x];
- v && this.$html.addClass(v)
- },
- kh: function(x) {
- var v = $("form[name=x]");
- if (!v.length) {
- return
- }
- if ((!x || x === "1") && !d.location.port && d.location.protocol !== "https:" && w.location.hostname.indexOf(".onion") === -1) {
- v.attr("action", "https://" + w.location.host + "/")
- } else {
- if ((x && x === "-1") && d.location.protocol !== "http:") {
- v.attr("action", "http://" + w.location.host + "/")
- } else {
- if (this.settings.get("kg") === "p" && r.device.isChrome) {
- v.attr("action", w.location.protocol + "//" + w.location.host + "/")
- } else {
- v.attr("action", "/")
- }
- }
- }
- },
- kg: function(x) {
- var v = $("form[name=x]");
- if (!v.length) {
- return
- }
- var y = (x && x === "p") ? "POST" : "GET";
- v.attr("method", y);
- if (x && x === "p") {
- d.title = "DuckDuckGo"
- }
- if (r.device.isChrome && x && x === "p") {
- v.attr("action", window.location.protocol + "//" + window.location.host + "//")
- }
- },
- ko: function(v) {
- if (this.isHomePage) {
- return
- }
- r.isHeaderFixed = false;
- this.$html.removeClass("set-header--menu");
- this.$html.removeClass("set-header--fixed");
- if (v == "1" && r.device.hasFixedHeaderSupport) {
- r.isHeaderFixed = true;
- this.$html.addClass("set-header--fixed")
- } else {
- if (v == "-2" || v == "-1") {
- this.$html.addClass("set-header--menu");
- delete r._header_height
- }
- }
- },
- ku: function(v) {
- this.$html[k(v)]("set-underlined-links")
- },
- kaf: function(v) {
- this.$html[k(v)]("full-urls")
- },
- kad: function() {
- this.loadFonts()
- },
- kag: function(v) {
- $(".search__button")[k(v)]("search__button--active")
- },
- kt: function(z) {
- this._clearCSS("kt");
- if (!z || z == this.settings.getDefault("kt")) {
- return
- }
- var v = this.settings.getFontName(z) || z,
- y = this.settings.getFontName(this.settings.getDefault("kt")),
- x = !!v.match(/Helvetica|Arial|Sans-serif/);
- if (v.match(/Helvetica/)) {
- v += ",sans-serif"
- }
- this.$ktcss = s(r.exec_template("theme_custom_font", {
- fontStack: v + "," + y,
- lightenWeight: x
- }))
- },
- ka: function(y) {
- this._clearCSS("ka");
- if (!y || y == this.settings.getDefault("ka")) {
- return
- }
- var v = this.settings.getFontName(y) || y,
- x = this.settings.getFontName(this.settings.getDefault("ka"));
- if (v.match(/Helvetica/)) {
- v += ",sans-serif"
- }
- this.$kacss = s(".result__a { font-family:" + v + "," + x + ";}")
- },
- kj: function(y) {
- var G = this.settings.getThemePalette("kj", y);
- this.$html.removeClass("dark-header");
- this._clearCSS("kj");
- if (!y || y == this.settings.getDefault("kj")) {
- return ""
- }
- var B = y,
- x = f(B),
- E = x.root.toHsl().l > 0.5,
- D = x.root.toRgbString().replace(/rgb\(|\)/g, ""),
- A = x.root.toHexString(),
- C = "",
- z = {},
- F = {},
- v = {};
- if (!E || x.root.toHsl().s > 0.5) {
- this.$html.addClass("dark-header")
- }
- if (G) {
- z = {
- color: G.tertiary,
- rgb: D,
- primary: G.primary,
- bottomBorder: G.secondary,
- link: G.text.secondary,
- activeLink: G.text.primary
- };
- F = {
- icon: G.text.secondary,
- hoverBg: G.secondary,
- hoverText: G.text.primary,
- hoverColor: G.text.primary,
- background: G.tertiary
- };
- v = {
- color: A,
- bg: A,
- fullPageBg: G.base,
- detail: x.darker[2],
- border: G.primary,
- bottomBorder: G.secondary,
- outline: G.secondary,
- text: G.text.secondary,
- link: G.text.primary,
- activeLink: G.text.primary,
- modeBg: G.primary,
- modeText: G.text.primary,
- accent1: G.text.secondary,
- accent2: G.text.primary,
- accent3: G.secondary,
- accentText: G.text.primary,
- accentText2: G.text.secondary,
- accentText3: G.text.tertiary,
- btnHoverBg: G.quaternary,
- btnHoverBorder: G.quaternary,
- isDark: !E
- }
- } else {
- if (E) {
- z = {
- color: A,
- rgb: D,
- primary: x.darker[2],
- bottomBorder: x.darker[0],
- link: x.text[2],
- activeLink: x.text[0]
- };
- F = {
- icon: x.text[3],
- hoverBg: x.text[2],
- hoverText: x[2],
- hoverColor: x.lighter[2],
- background: x.lighter[4]
- };
- v = {
- color: A,
- bg: x.lighter[4],
- detail: x.lighter[2],
- border: x.darker[0],
- bottomBorder: x.darker[0],
- outline: x.darker[5],
- text: x.text[1],
- link: x.text[0],
- activeLink: x.text[0],
- tileNav: x.darker[2],
- modeBg: x.darker[2],
- modeText: x.text[1],
- accent1: x.darker[3],
- accent2: x.darker[4],
- accent3: x.darker[2],
- accentText: x.text[2],
- accentText2: x.text[3],
- btnHoverBg: A,
- btnHoverBorder: x.darker[4],
- isDark: !E
- }
- } else {
- z = {
- color: A,
- rgb: D,
- primary: x.lighter[2],
- bottomBorder: x.lighter[3],
- link: x.text[2],
- activeLink: x.text[0]
- };
- F = {
- icon: x.text[4],
- hoverBg: x.text[2],
- hoverText: x.text[2],
- hoverColor: x.darker[2],
- background: x.darker[4]
- };
- v = {
- color: A,
- bg: A,
- detail: x.darker[2],
- border: x.lighter[3],
- bottomBorder: x.lighter[3],
- outline: x.lighter[7],
- text: x.text[1],
- link: x.text[0],
- activeLink: x.text[3],
- modeBg: x.lighter[1],
- modeText: x.text[4],
- accent1: x.lighter[2],
- accent2: x.lighter[3],
- accent3: x.lighter[7],
- accentText: x.text[2],
- accentText2: x.text[3],
- accentText3: x.text[4],
- btnHoverBg: A,
- btnHoverBorder: x.lighter[3],
- isDark: !E
- };
- C += t(x, G);
- C += i(x, G)
- }
- }
- C += r.exec_template("theme_header", z);
- if (!this.isHomePage) {
- if (E) {
- C += q(x)
- } else {
- C += t(x, G);
- C += i(x, G)
- }
- C += r.exec_template("theme_header_menu_button", F);
- C += r.exec_template("theme_zci", v)
- }
- this.$kjcss = s(C)
- },
- k7: function(C) {
- var M = this.settings.getThemePalette("k7", C);
- this.$html.removeClass("dark-bg");
- this.$k7css && this.$k7css.remove();
- delete this.$k7css;
- if (!C || C == this.settings.getDefault("k7")) {
- return
- }
- var I = g(C),
- F = I.toHexString(),
- K = I.toPercentageRgbString(),
- D = f(F),
- L = D.root.toHsl().l > 0.5,
- y = K.replace("rgb(", "").replace(")", ""),
- J = "",
- B, z = {},
- E = {},
- G = {},
- x = {},
- H = {},
- v = {},
- A = {};
- if (M) {
- B = g(M.text.primary);
- z = {
- bg: F,
- rgbBg: y,
- text: M.text.primary,
- rgbText: B.toPercentageRgbString().replace("rgb(", "").replace(")", ""),
- textTint: M.text.secondary,
- textTint2: M.text.tertiary,
- bgTint: M.primary,
- bgTint2: M.secondary,
- bgDark: M.tertiary,
- btnHoverBg: M.quaternary,
- btnHoverBorder: M.quaternary
- };
- E = {
- bg: M.secondary,
- border: M.tertiary,
- text: M.text.secondary,
- link: M.text.primary,
- activeLink: M.text.primary
- };
- G = {
- icon: M.text.secondary,
- hoverBg: M.primary,
- border: M.primary,
- hoverText: M.text.primary,
- background: M.tertiary
- };
- x = {
- primary: M.text.primary,
- color: M.text.secondary,
- tertiaryColor: M.text.tertiary,
- dateColor: M.text.primary
- };
- H = {
- color: M.text.secondary,
- bgTint: M.primary
- };
- v = {
- color: M.primary
- };
- A = {
- bgColor: M.secondary,
- borderColor: M.tertiary,
- textColor: M.text.secondary,
- linkColor: M.text.primary
- }
- } else {
- B = g(D.text[0]);
- z = {
- bg: F,
- rgbBg: y,
- text: D.text[0],
- rgbText: B.toPercentageRgbString().replace("rgb(", "").replace(")", ""),
- textTint: D.text[3],
- textTint2: D.text[5],
- bgTint: L ? D.darker[1] : D.lighter[1],
- bgTint2: L ? D.darker[0] : D.lighter[2],
- bgDark: L ? D.lighter[1] : D.darker[1],
- btnHoverBg: L ? D.darker[0] : D.lighter[2],
- btnHoverBorder: L ? D.darker[0] : D.lighter[2]
- };
- E = {
- bg: D.darker[1],
- border: D.darker[2],
- text: D.text[5],
- link: D.text[3],
- activeLink: D.text[0]
- };
- G = {
- icon: L ? D.darker[4] : D.text[4],
- hoverBg: L ? D.darker[1] : D.lighter[1],
- border: L ? D.darker[1] : D.lighter[1],
- hoverText: D.text[2],
- background: L ? D.darker[3] : D.text[2]
- };
- x = {
- primary: D.text[0],
- color: D.text[3],
- tertiaryColor: D.text[5],
- dateColor: D.text[0]
- };
- H = {
- color: D.text[3],
- bgTint: L ? D.darker[1] : D.lighter[1]
- };
- v = {
- color: L ? D.darker[1] : D.lighter[1]
- };
- A = {
- bgColor: D.darker[1],
- borderColor: D.darker[2],
- textColor: D.text[3],
- linkColor: D.text[0]
- }
- }
- z.isDark = !L;
- z.rgbBgDark = g(z.bgDark).toPercentageRgbString().replace("rgb(", "").replace(")", "");
- J += r.exec_template("theme_background", z);
- J += r.exec_template("theme_sidemenu", E);
- if (this.isHomePage) {
- J += r.exec_template("theme_header_menu_button", G);
- if (!L) {
- J += t(D, M);
- J += i(D, M)
- } else {
- J += q(D, M)
- }
- } else {
- J += r.exec_template("theme_result_snippet", x);
- J += r.exec_template("theme_result_web_links", H);
- J += r.exec_template("theme_result_highlight", v);
- J += r.exec_template("theme_result_message", A)
- }
- if (!L || D.root.toHsl().s > 0.5) {
- this.$html.addClass("dark-bg");
- this.isDarkBg = true
- }
- this.$k7css = s(J)
- },
- k9: function(x) {
- this._clearCSS("k9");
- if (!x || x == this.settings.getDefault("k9")) {
- return
- }
- var v = g(x);
- if (v.isValid()) {
- this.$k9css = s(r.exec_template("theme_result_title", {
- color: v.toHexString()
- }))
- }
- },
- k8: function(z) {
- this._clearCSS("k8");
- if (!z || z == this.settings.getDefault("k8")) {
- return
- }
- var x = g(z),
- v = this.settings.getThemePalette("k8", z),
- y = {};
- if (x.isValid()) {
- if (v) {
- y = {
- color: x.toHexString(),
- primary: v.primary
- }
- } else {
- y = {
- color: x.toHexString(),
- primary: x.toHexString()
- }
- }
- this.$k8css = s(r.exec_template("theme_result_snippet", y))
- }
- },
- kaa: function(x) {
- this._clearCSS("kaa");
- if (!x || x == this.settings.getDefault("kaa")) {
- return
- }
- var v = g(x);
- if (v.isValid()) {
- this.$kaacss = s(".results a.result__a:visited,.sitelinks__title a.result__a:visited,.module--news__body__title:visited,.module__link:visited, .module__link:visited:hover,.module__link a:visited, .module__link a:visited:hover{ color:" + v.toHexString() + ";}")
- }
- },
- kx: function(x) {
- this._clearCSS("kx");
- if (!x || x == this.settings.getDefault("kx")) {
- return
- }
- var v = g(x);
- if (v.isValid()) {
- this.$kxcss = s(r.exec_template("theme_result_web_links", {
- color: v.toHexString()
- }))
- }
- },
- k21: function(B) {
- this._clearCSS("k21");
- if (!B || B == this.settings.getDefault("k21")) {
- return
- }
- var x = g(B),
- v = this.settings.getThemePalette("k21", B),
- y = f(x),
- A = y.root.toHsl().l > 0.5,
- z = {};
- if (v) {
- z = {
- moduleBg: x.toHexString(),
- moduleBgRgb: x.toRgbString().replace(/rgb\(|\)/g, ""),
- primary: v.primary,
- secondary: v.secondary,
- primaryText: v.text.primary,
- secondaryText: v.text.secondary,
- tertiaryText: v.text.tertiary,
- border: x.toHexString(),
- borderHover: v.text.tertiary,
- separator: v.primary,
- shadows: true,
- btnHoverBg: v.quaternary,
- btnHoverBorder: v.quaternary,
- isDark: !A
- }
- } else {
- if (A) {
- z = {
- moduleBg: x.toHexString(),
- moduleBgRgb: x.toRgbString().replace(/rgb\(|\)/g, ""),
- primary: y.darker[3],
- secondary: y.darker[4],
- primaryText: y.text[3],
- secondaryText: y.text[1],
- tertiaryText: y.text[2],
- border: y.darker[1],
- borderHover: y.darker[2],
- shadows: false,
- separator: y.darker[1],
- btnHoverBg: y.darker[3],
- btnHoverBorder: y.darker[3],
- isDark: !A
- }
- } else {
- z = {
- moduleBg: x.toHexString(),
- moduleBgRgb: x.toRgbString().replace(/rgb\(|\)/g, ""),
- primary: x.toHexString(),
- secondary: y.lighter[4],
- primaryText: y.text[0],
- secondaryText: y.text[3],
- tertiaryText: x.toHexString(),
- border: y.lighter[2],
- borderHover: y.lighter[5],
- shadows: false,
- separator: y.lighter[2],
- btnHoverBg: x.toHexString(),
- btnHoverBorder: y.lighter[2],
- isDark: !A
- }
- }
- }
- if (x.isValid()) {
- this.$k21css = s(r.exec_template("theme_module", z))
- }
- },
- k20: function(x) {
- this._clearCSS("k20");
- if (!x || x == this.settings.getDefault("k20")) {
- return
- }
- var v = g(x);
- if (v.isValid()) {
- this.$k20css = s(".sitelinks__title a.result__a:visited { color:" + v.toHexString() + " !important;}")
- }
- },
- k19: function(x) {
- this._clearCSS("k19");
- if (!x || x == this.settings.getDefault("k19")) {
- return
- }
- var v = g(x);
- if (v.isValid()) {
- this.$k19css = s(".module__more-at, .module__more-at:hover, .module__official-url, .module__official-url:hover {color: " + v.toHexString() + ";}")
- }
- },
- k18: function(v) {
- this._clearCSS("k18");
- if (v !== this.settings.getDefault("k18")) {
- this.$k18css = s(".result__check { display: block;}")
- }
- },
- k17: function(x) {
- this._clearCSS("k17");
- if (!x || x == this.settings.getDefault("k17")) {
- return
- }
- var v = g(x);
- if (v.isValid()) {
- this.$k17css = s(".result__url:hover {color: " + v.toHexString() + ";}")
- }
- },
- k16: function(x) {
- this._clearCSS("k16");
- if (!x || x == this.settings.getDefault("k16")) {
- return
- }
- var v = g(x);
- if (v.isValid()) {
- this.$k16css = s(".result__url:visited {color: " + v.toHexString() + ";}")
- }
- },
- k15: function(v) {
- this._clearCSS("k15");
- if (!v || v == this.settings.getDefault("k15")) {
- return
- }
- this.$k15css = s(".result__title {font-weight: " + v + ";}")
- },
- k14: function(v) {
- this._clearCSS("k14");
- if (!v || v == this.settings.getDefault("k14")) {
- return
- }
- this.$k14css = s(".result__title {font-size: " + v + ";}")
- },
- k13: function(v) {
- this._clearCSS("k13");
- if (v === "off") {
- this.$k13css = s(".result__title b {font-weight: normal;}")
- }
- },
- k12: function(x) {
- this._clearCSS("k12");
- if (!x || x == this.settings.getDefault("k12")) {
- return
- }
- var v = g(x);
- if (v.isValid()) {
- this.$k12css = s(".badge--ad {background-color: " + v.toHexString() + ";}")
- }
- },
- k11: function(x) {
- this._clearCSS("k11");
- if (!x || x == this.settings.getDefault("k11")) {
- return
- }
- var v = g(x);
- if (v.isValid()) {
- this.$k11css = s(".msg--spelling :link,.msg--spelling :visited,.msg--spelling a:hover,.msg__clear,.msg__clear:hover,.msg__all,.msg__all:visited {color: " + v.toHexString() + " !important;}")
- }
- },
- k10: function(x) {
- this._clearCSS("k10");
- if (!x || x == this.settings.getDefault("k10")) {
- return
- }
- var v = g(x);
- if (v.isValid()) {
- this.$k10css = s(".highlight .result__a,.result__a:hover,.result__a:visited:hover {color: " + v.toHexString() + " !important;}")
- }
- },
- kf: function(v) {
- if (v && v === "-1") {
- $(".result__icon").addClass("is-hidden")
- } else {
- $(".result__icon").removeClass("is-hidden");
- r.ImageLoader.loadMore()
- }
- },
- kai: function(v) {
- if (!v || v != this.settings.getDefault("kai")) {
- $(".result--url-above-snippet").removeClass("result--url-above-snippet");
- $(".js-result-snippet").each(function(y, z) {
- var x = $(z),
- A = x.parent().find(".result__extras");
- A.before(x)
- })
- } else {
- $(".result").addClass("result--url-above-snippet");
- $(".js-result-snippet").each(function(y, z) {
- var x = $(z),
- A = x.parent().find(".result__extras");
- A.after(x)
- })
- }
- },
- _clearCSS: function(v) {
- var y = "$" + v + "css",
- x = this[y];
- x && x.remove();
- delete this[y]
- }
- };
- var s = function(v) {
- return $("<div />", {
- html: "­<style>" + v + "</style>"
- }).children().appendTo("body")
- },
- k = function(v) {
- return (v && v == "1") ? "addClass" : "removeClass"
- },
- n = function(x, v) {
- x = g(x);
- return g.lighten(x, v * (1 - x.toHsl().l)).toHexString()
- },
- c = function(x, v) {
- x = g(x);
- return g.darken(x, v * x.toHsl().l).toHexString()
- },
- m = function(v, x, B, A) {
- var z = [];
- for (var y = 1; y <= x; y++) {
- z.push(A(v, B * y))
- }
- return z
- },
- f = function(y) {
- y = g(y);
- var E = y.toHsl().l > 0.5,
- A = g.monochromatic(g.desaturate(y, 80), 20),
- F = g.mostReadable(y, A),
- B = g(F).toHsl().l > 0.5,
- v = E ? 10 : 4,
- D = E ? 4 : 10;
- if (E) {
- D += D * y.toHsl().s
- }
- var x = m(F, 10, 5, B ? c : n),
- C = m(y, 8, D, c),
- z = m(y, 8, v, n);
- return {
- root: y,
- text: x,
- lighter: z,
- darker: C
- }
- },
- t = function(y, x) {
- var v = {};
- if (x) {
- v = {
- bg: x.primary,
- border: x.secondary,
- iconText: x.text.secondary,
- buttonBg: x.quaternary,
- inputText: x.text.primary,
- iconHover: x.text.primary,
- sepColor: x.text.tertiary
- }
- } else {
- v = {
- bg: y.darker[1],
- border: y.darker[2],
- iconText: "rgba(255,255,255,0.35)",
- buttonBg: y.darker[3],
- inputText: y.text[0],
- sepColor: y.darker[3]
- }
- }
- return r.exec_template("theme_search_bar", v)
- },
- i = function(z, y) {
- var x = g(z.darker[2]).toRgb(),
- v = {};
- if (y) {
- v = {
- headerBg: y.tertiary,
- bg: y.primary,
- border: y.secondary,
- lightText: y.text.primary,
- darkText: y.text.secondary,
- selectedBg: y.secondary
- }
- } else {
- v = {
- headerBg: z.darker[1],
- bg: "rgb(" + x.r + "," + x.g + "," + x.b + ")",
- border: z.darker[0],
- lightText: z.text[1],
- darkText: z.text[5],
- selectedBg: z.lighter[3]
- }
- }
- return r.exec_template("theme_autocomplete", v)
- },
- q = function(x, v) {
- return r.exec_template("theme_search_bar", {
- bg: "#fff",
- border: x.darker[2],
- iconText: "rgba(0,0,0,0.35)",
- buttonBg: x.darker[4],
- inputText: x.text[1],
- sepColor: x.darker[4]
- })
- }
- }(DDG);
- ! function(f) {
- var e = f.Models.Base,
- c = "survey-settings-",
- g = "p-",
- a = "r",
- i = "e";
- f.Models.SerpSurvey = function(n) {
- e.call(this, {});
- this.allocation = n.allocation == null ? 1 : n.allocation;
- this.opensearch = n.opensearch;
- var p = this._createKey(),
- j = null;
- try {
- this._storage = n.storage || window.localStorage;
- if (this._storage) {
- for (var m = 0; m < this._storage.length; m++) {
- var k = this._storage.key(m);
- if (k && k.indexOf(c) > -1 && k !== p) {
- this._storage.removeItem(k)
- }
- }
- j = b(this._storage.getItem(p))
- }
- } catch (o) {}
- this.set("status", j)
- };
- f.Models.SerpSurvey.prototype = $.extend({}, e.prototype, {
- plan: function() {
- if (this.status && (this.status === i || this.status === a || this.status.indexOf(g) === 0)) {
- return this.status.indexOf(g) === 0
- }
- var j = this._createKey();
- if (!j) {
- return false
- }
- try {
- if (this._storage) {
- var k = Math.random() < this.allocation ? g + Date.now() : a;
- this._storage.setItem(j, h(k));
- this.set("status", k);
- return k !== a
- }
- } catch (m) {}
- return false
- },
- end: function() {
- var j = this._createKey();
- if (!j) {
- return
- }
- try {
- if (this._storage) {
- this._storage.setItem(j, h(i));
- this.set("status", i)
- }
- } catch (k) {}
- },
- canShowSurvey: function() {
- return !!(this.status && this.status.indexOf(g) === 0)
- },
- getElapsedTimeSinceExposure: function() {
- if (this.status && this.status.indexOf(g) === 0) {
- var j = parseInt(this.status.replace(new RegExp("^" + g), ""), 10);
- return Date.now() - j
- }
- },
- _createKey: function() {
- var j = this.opensearch.getTrappedAtbParams();
- return j ? c + j.variant + j.atbVariant : ""
- }
- });
- function b(m) {
- if (!m) {
- return m
- }
- var j;
- try {
- j = JSON.parse(m)
- } catch (k) {}
- if (j) {
- return j.value
- }
- }
- function h(j) {
- return JSON.stringify({
- description: "This non-personal data is only stored on your device and is part of our anonymous experiment engine that helps us improve DuckDuckGo. It does not collect or share any personal information. Visit https://help.duckduckgo.com/privacy/atb/ for more info.",
- value: j
- })
- }
- }(DDG);
- ! function(a) {
- a.Pages.Base = function(b) {
- this.views = {};
- this.onboardingTest = {};
- a.keyboard = this.keyboard = new a.Models.Keyboard();
- document.onreadystatechange = this._onReadyStateChange.bind(this);
- a.ready(this.ready.bind(this))
- };
- a.Pages.Base.prototype = {
- ready: function() {
- $("head").append('<link title="DuckDuckGo" type="application/opensearchdescription+xml" rel="search" href="' + a.opensearch.getURL() + '" />');
- this._initializePage();
- if (a.device.isMobile) {
- a.addClass("html", a.$html, "is-mobile")
- }
- if (a.device.isMobileDevice) {
- a.addClass("html", a.$html, "is-mobile-device")
- } else {
- a.addClass("html", a.$html, "is-not-mobile-device")
- }
- if (a.device.isLegacyAndroid) {
- a.addClass("html", a.$html, "is-legacy-android")
- }
- if (a.device.isFirefoxFocus && a.device.isAndroid) {
- a.addClass("html", a.$html, "is-firefox-focus")
- }
- this.isCppExp = false;
- this.isCppControl = false;
- if ((this.pageType === "home" || this.pageType === "serp") && a.opensearch.isExperiment("msh2exp", "b")) {
- a.$html.addClass("is-mobile-header-exp")
- }
- a.settings.on("loaded-initial", this._onSettingsLoaded.bind(this));
- a.settings.loadFromCloud({
- initial: true
- });
- a.device.on("resize", function() {
- a.ImageLoader.loadMore()
- });
- a.device.on("scroll", function() {
- a.ImageLoader.loadMore()
- });
- this.headerMenuOps = this.headerMenuOps || {};
- if (!this.headerMenuOps.disableSearchBar) {
- this.initSearchBar()
- }
- if (!this.headerMenuOps.disableSideMenu) {
- this.initSideMenu()
- }
- this.initAddToHomepageBanner();
- this.onboardingTest = a.Data.Onboarding[a.opensearch.atbVariant] || {};
- this._verifyMobileInstallation();
- this.isSafeDDG = w.safe_ddg;
- this.isCppmControl = (a.opensearch.variant === "x" && a.opensearch.atbVariant === "u");
- this.isCppm = (a.opensearch.variant === "x" && a.opensearch.atbVariant === "v");
- this.isCppmStateless = (a.opensearch.variant === "x" && a.opensearch.atbVariant === "z");
- this.isCppm4 = (a.opensearch.variant === "x" && a.opensearch.atbVariant === "m");
- this.isCppm5 = (a.opensearch.variant === "x" && a.opensearch.atbVariant === "n");
- this.mobileOnboarding = new a.Models.MobileOnboarding({
- useLocalStorage: false
- })
- },
- initSearchBar: function() {
- this.searchbar = new a.Views.SearchBar({
- el: ".js-search-form"
- });
- this.searchbar.on("focus", function() {
- this.sideMenu && this.sideMenu.hide()
- }.bind(this))
- },
- initSideMenu: function() {
- this.sideMenu = new a.Views.SideMenu($.extend({
- pageType: this.pageType,
- showATB: this.canShowAddToBrowser(),
- appendLinkTo: ".js-header-aside",
- appendTo: ".js-site-wrapper"
- }, this.sideMenuOps || {}));
- this.sideMenu.on("opened", function() {
- if (this.searchbar && this.searchbar.hasFocus) {
- this._restoreSearchFocus = true;
- this.searchbar.unfocus()
- }
- }.bind(this));
- this.sideMenu.on("closed", function() {
- if (this._restoreSearchFocus) {
- this.searchbar.focus({
- focusInput: true
- });
- delete this._restoreSearchFocus
- }
- }.bind(this))
- },
- initAddToHomepageBanner: function() {
- if (!a.device.isAndroidChromeNoOpenSearch || !navigator.serviceWorker || a.addToBrowser.canAddToChromeMobile()) {
- return
- }
- var b = a.tParam.fromDefaultSearch() || a.history.get("atb") || !a.settings.isDefault(a.addToBrowser.BADGE_DISMISS_KEY);
- navigator.serviceWorker.register("service-worker.js", {
- scope: "./"
- });
- window.addEventListener("beforeinstallprompt", function(c) {
- a.pixel.fire("aths", "i");
- if (b || a.addToBrowser.canAddToChromeMobile()) {
- c.preventDefault();
- return false
- }
- $(".js-atb-banner-link").hide();
- c.userChoice.then(function(f) {
- var e = {};
- if (b) {
- e.r = 1
- }
- if (f.outcome === "dismissed") {
- a.pixel.fire("aths", "d", e)
- } else {
- a.pixel.fire("aths", "c", e)
- }
- });
- return true
- })
- },
- notify: function(b) {
- if (!this.notifications) {
- this.notifications = new a.Views.Notification({
- appendTo: "body"
- })
- }
- this.notifications.flash(b)
- },
- isInstalled: function() {
- return (a.device.DDGisBrowserDefault() || a.extension.isInstalled() || a.device.isDDGApp || (a.tParam.fromDefaultSearch()) || !!a.history.get("atb") || a.device.isOnion)
- },
- canShowAddToBrowser: function() {
- if (this.isCppm) {
- return (a.settings.isDefault(a.addToBrowser.BADGE_DISMISS_KEY) && !this.mobileOnboarding.hasCompletedAllSteps())
- }
- if (this.isCppExp) {
- return (a.settings.isDefault(a.addToBrowser.BADGE_DISMISS_KEY) && a.addToBrowser.canShowBadgeAgain() && !a.onboarding.hasCompleted())
- }
- if (a.device.isDDGApp || (a.extension.isInstalled() && a.history.get("exti") !== 2)) {
- return false
- }
- if (a.addToBrowser.canAddToChromeMobile() && a.tParam.get() === "crhs") {
- return true
- }
- if (a.device.isMobileDevice && a.settings.isDefault(a.addToBrowser.BADGE_DISMISS_KEY) && !a.tParam.fromDefaultSearch() && !a.history.get("atb") && a.device.canAddToBrowser() && this.pageType !== "serp") {
- return true
- }
- return (a.settings.isDefault(a.addToBrowser.BADGE_DISMISS_KEY) && a.addToBrowser.canShowBadgeAgain() && !a.device.DDGisBrowserDefault() && (!a.tParam.fromDefaultSearch()) && !a.history.get("atb") && !a.device.isOnion && a.device.canAddToBrowser() && a.settings.isDefault("ko") && !a.duckpan)
- },
- canShowAddToBrowserButton: function() {
- return (a.settings.isDefault(a.addToBrowser.BADGE_DISMISS_KEY) && !a.addToBrowser.canShowBadgeAgain() && !a.device.DDGisBrowserDefault() && !a.device.isDDGApp && (!a.extension.isInstalled() || a.history.get("exti") == 2) && (!a.tParam.fromDefaultSearch()) && !a.history.get("atb") && !a.device.isOnion && a.device.canAddToBrowser() && a.settings.isDefault("ko") && !a.duckpan)
- },
- canShowHomepageEducationInstallButton: function() {
- if (this.isCppExp && a.settings.isDefault(a.addToBrowser.BADGE_DISMISS_KEY) && !a.onboarding.hasCompleted()) {
- return true
- }
- return (!a.device.DDGisBrowserDefault() && !a.device.isDDGApp && !a.extension.isInstalled() && (!a.tParam.fromDefaultSearch()) && !a.history.get("atb") && !a.device.isOnion && a.device.canAddToBrowser() && a.settings.isDefault("ko") && !a.duckpan)
- },
- canShowHomepageOnboardingEducation: function() {
- return a.onboardingEducation.canShow()
- },
- fireStat: function(b) {
- var c = {
- b: a.device.pixelBrowserName,
- atbi: this.canShowAddToBrowser(),
- ei: this.canShowHomepageOnboardingEducation(),
- i: this.isInstalled(),
- d: a.device.pixelId,
- l: w.locale,
- p: a.device.pixelPlatformName,
- atb: a.opensearch.version,
- va: a.opensearch.variant,
- atbva: a.opensearch.atbVariant
- };
- a.pixel.fire(b, c)
- },
- _onSettingsLoaded: function() {
- var b = a.settings.toQueryString({
- onlyURLParams: true
- });
- if (b) {
- kurl += "&" + b
- }
- if (this.liveUpdater) {
- a.settings.updater = new a.Models.Settings.LiveUpdater({
- isHomePage: this.pageType === "home",
- settings: a.settings
- });
- a.settings.updater.updateAll();
- a.settings.on("change:kae", this.notify.bind(this, l("Theme Changed")))
- }
- },
- _checkForForceReload: function() {
- if (a.querystringParam("rld") === "1") {
- a.history.clear("rld", function() {
- window.location.reload()
- })
- }
- },
- _verifyMobileInstallation: function() {
- if (!a.device.isMobileDevice || this.pageType !== "serp") {
- return
- }
- var j = a.settings.get(a.settings.MOBILE_INSTRUCTIONS_KEY);
- if (a.tParam.fromDefaultSearch() && !a.settings.isDefault(a.settings.MOBILE_INSTRUCTIONS_KEY)) {
- var g = j.match(/v\d*-\d/);
- var k, h, i, c;
- if (g) {
- k = g[0];
- j = j.replace(k, "");
- c = j.substr(3);
- h = j.charAt(0);
- i = j.charAt(1)
- }
- var m = a.settings.isDefault(a.addToBrowser.BADGE_RECURRING_KEY) ? 0 : 1;
- var b;
- if (h === a.opensearch.variant && i === a.opensearch.atbVariant) {
- var f = a.opensearch.findRunnableAtbExperimentByVariantAndAtbVariant(h, i);
- if (f) {
- b = true
- }
- }
- var e;
- if (k) {
- e = a.opensearch.getDaysSinceCohort(k)
- }
- a.pixel.fire("exti", a.device.pixelBrowserName, a.opensearch.version, {
- va: h,
- atbva: i,
- cva: a.opensearch.variant,
- catbva: a.opensearch.atbVariant,
- r: b ? "1" : "0",
- d: e,
- l: window.locale,
- cp: c,
- exte: 0,
- p: a.device.pixelPlatformName,
- ak: a.settings.get(a.addToBrowser.BADGE_DISMISS_KEY),
- ax: m,
- kae: a.settings.get("kae")
- });
- a.settings.clear(a.settings.MOBILE_INSTRUCTIONS_KEY)
- }
- },
- _initializePage: function() {
- var c, b = this.pageType === "serp";
- if (b && a.device.isIE) {
- setTimeout("d.x.reset()", 50)
- }
- if (w.postMessage) {
- c = d.createElement("iframe");
- c.id = "iframe_hidden";
- c.src = "/post2.html";
- d.body.appendChild(c)
- }
- if (b) {
- if (nir) {
- nir("v")
- }
- setTimeout("nis()", 250);
- if (!a.device.isMobileDevice) {
- $("#web_content_wrapper").on("mousemove", nkf);
- $(document).on("mouseup", ncg);
- $(document).on("keydown", nckd);
- $(document).on("keyup", ncku)
- }
- }
- $(document).on("mousedown", ncf)
- },
- _hasCachedResources: function(b) {
- if (typeof b === "undefined" || b.length === 0) {
- return false
- }
- var h, c, g = 0,
- k = /proximanova/i,
- j = /\/(arrow|logo_homepage\.normal\.v\d+).svg$/i,
- f = /((l|u|d)\d+|libs|utils|base)\.js|((s|o)\d+|home|serp|style)\.css/i;
- for (var e = 0; e < b.length; e++) {
- h = b[e];
- c = h.name;
- if (k.test(c) || j.test(c) || f.test(c)) {
- if ("transferSize" in h && h.transferSize === 0) {
- g += 1;
- break
- } else {
- if ("duration" in h && h.duration < 20) {
- g += 1;
- break
- }
- }
- }
- }
- return g > 0
- },
- _isBrowserReload: function(b) {
- return (performance.navigation.type === performance.navigation.TYPE_RELOAD)
- },
- _hasDefaultSettings: function(b) {
- var c = Object.keys(b);
- if (c.length === 0) {
- return true
- } else {
- if (c.length === 1 && b.hasOwnProperty("t")) {
- return true
- }
- }
- return false
- },
- _onReadyStateChange: function() {
- if (document.readyState === "complete") {
- if (this.pageType === "home" || this.pageType === "serp") {
- a.perf.reportNavigation(this.pageType)
- }
- }
- }
- }
- }(DDG);
- ! function(b) {
- var a = b.Pages.Base;
- b.Pages.Static = function(c) {
- a.call(this, c);
- this.pixelClass = c && c.pixelClass || false
- };
- b.Pages.Static.prototype = $.extend({}, a.prototype, {
- pageType: "static",
- sideMenuOps: {
- hideThemes: true
- },
- headerMenuOps: {
- disableSearchBar: false,
- disableSideMenu: false
- },
- ready: function() {
- if (location.pathname === "/iframe") {
- this.headerMenuOps.disableSearchBar = true;
- this.headerMenuOps.disableSideMenu = true
- }
- if (b.device.isMobileDevice && b.device.isAndroid && b.device.isDDGApp && [-1, -2].includes(parseInt(b.settings.get("ko"), 10))) {
- b.addClass("html", b.$html, "set-header--hidden")
- }
- a.prototype.ready.call(this);
- $(".js-show-header").click(function(c) {
- c.preventDefault();
- c.stopPropagation();
- this.searchbar.focus({
- focusInput: true
- })
- }.bind(this));
- this.$anchors = $(".js-anchor");
- this.$anchorLinks = $(".js-anchor-link");
- this.$anchorLinks.on("click", this._onAnchorLinkClick.bind(this));
- this.$popouts = $(".js-popout");
- this.$popovers = $(".js-popover");
- this._createPopouts();
- this._createPopovers();
- $("img").bind("contextmenu", function(c) {
- return false
- });
- if (this.pixelClass) {
- this.$links = $(".js-static-" + this.pixelClass);
- this.$links.on("click", this._onLinkClick.bind(this, 0))
- }
- this.$footerLinks = $(".js-static-foot-link");
- if (this.$footerLinks.length) {
- this.$footerLinks.on("click", this._onLinkClick.bind(this, 1))
- }
- },
- addTo: function(e, c) {
- var f = DDG.Utils.AddTo.getData();
- if (f[e]) {
- new b.Views.AddTo({
- appendTo: c,
- data: f[e]
- })
- }
- },
- _onAnchorLinkClick: function(j) {
- j.preventDefault();
- var h = j.currentTarget.hash.substr(1),
- f = this.$anchors,
- c = "";
- for (var g = 0; f.length > g; g++) {
- if (f[g].name === h || f[g].id === h) {
- c = $(f[g]);
- break
- }
- }
- if (c) {
- b.device.scrollTop(c.offset().top, 500)
- }
- },
- _createPopouts: function() {
- this.views.popouts = [];
- var g, c, e, f = 0;
- for (; this.$popouts.length > f; f++) {
- g = $(this.$popouts[f]);
- c = g.find(".js-popout-link");
- e = new b.Views.Modal({
- $el: g.find(".js-popout-main")
- });
- c.click(e.toggle.bind(e));
- this.views.popouts.push(e)
- }
- },
- _createPopovers: function() {
- this.views.popovers = [];
- var f, c, g, e = 0;
- for (; this.$popovers.length > e; e++) {
- f = $(this.$popovers[e]);
- c = $(f.attr("data-js-selector"));
- g = new b.Views.Modal({
- $el: f
- });
- c.click(g.toggle.bind(g));
- this.views.popovers.push(g)
- }
- },
- _onLinkClick: function(g, h) {
- var c = $(h.currentTarget),
- f = b.pixel.sanitizeUrl(c.attr("href"));
- b.pixel.fire("splc", this.pageType, f, {
- ft: g
- })
- }
- })
- }(DDG);
- ! function(c) {
- var b = c.Pages.Base,
- a = 1366,
- e = 220;
- c.Pages.Home = function(f) {
- this._checkForForceReload();
- b.call(this, f);
- window.onpageshow = this._onPageShow.bind(this);
- this.canShowMobileButton = c.addToBrowser.canShowMobileButton()
- };
- c.Pages.Home.prototype = $.extend({}, b.prototype, {
- pageType: "home",
- liveUpdater: true,
- sideMenuOps: {
- twitterLink: true,
- hideSettings: true
- },
- ready: function() {
- var f = w.location.host.toLowerCase() === "start.duckduckgo.com",
- g = w.location.hash === "#1";
- this.isStart = f;
- this.scrollToOnboarding = g;
- this.searchbarFocusedIpad = false;
- this.showOnboardingArrow = true;
- if (!f && !(c.extension.isInstalled() || c.device.isDDGApp)) {
- c.tParam.setFromHomepage(c.opensearch.allocateAtbVariant())
- }
- c.$win.scrollTop(0);
- b.prototype.ready.call(this);
- if (f) {
- this.searchbar.$el.attr("action", "//duckduckgo.com/");
- c.settings.set("kak", "-1");
- c.settings.set("kal", "-1");
- c.settings.set("kao", "-1");
- c.settings.set("kaq", "-1")
- }
- this._renderBadgeContent();
- this._initHeaderLinks();
- this.canShowFaq = (this.canShowAddToBrowser() && c.device.isDesktop && c.device.isEnglish);
- if (Modernizr.touch && c.device.isIDevice) {
- if (c.device.isIPad && c.getProperty(window, "screen.height") === a) {
- var h;
- this.searchbar.$el.on("focusin", function() {
- this.searchbarFocusedIpad = true;
- if (Math.abs(window.orientation) === 90) {
- h = c.device.scrollTop();
- c.device.scrollTop(e)
- }
- }.bind(this));
- this.searchbar.$el.on("focusout", function() {
- if (Math.abs(window.orientation) === 90) {
- c.device.scrollTop(h)
- }
- this.searchbarFocusedIpad = false
- }.bind(this))
- }
- window.onorientationchange = function() {
- if (this.searchbarFocusedIpad && Math.abs(window.orientation) === 90) {
- setTimeout(function() {
- c.device.scrollTop(e)
- }, 500)
- } else {
- c.$win.scrollTop(0)
- }
- }.bind(this)
- }
- this.views.tagline = new DDG.Views.HomepageTagline({
- appendTo: ".js-tag-home"
- });
- this.views.onboardingEducation = new c.Views.OnboardingEducation({
- appendTo: ".site-wrapper--home",
- isCppExp: this.isCppExp,
- isCppControl: this.isCppControl,
- pageView: this,
- preventAnimation: this.canShowFaq,
- model: c.onboardingEducation,
- extraClass: this.canShowFaq ? "onboarding-ed--faq" : "",
- doRenderTeaserArrow: this.showOnboardingArrow
- });
- if (this.canShowHomepageEducationInstallButton()) {
- this._addOnboardingEducationButtons()
- }
- if (this.canShowFaq) {
- this.views.faq = new c.Views.Faq({
- appendTo: ".site-wrapper--home",
- stats: {
- atbi: this.canShowAddToBrowser(),
- ei: this.canShowHomepageOnboardingEducation(),
- i: this.isInstalled()
- }
- });
- this.views.atbFaq = this._createButton("f", {
- appendTo: ".site-wrapper--home",
- buttonClass: "btn--primary atb-button--faq",
- addImpressionPixel: true,
- onlyFireImpressionPixelIfIntoView: true
- })
- }
- DDG.$html.find(".content--home").css("visibility", "visible");
- if (!c.device.isMobileDevice) {
- this.searchbar.focus({
- focusInput: true
- })
- }
- this.fireStat("hi")
- },
- _initHeaderLinks: function() {
- this.views.headerLinks = new c.Views.HeaderLinks({
- appendTo: ".js-header-aside"
- })
- },
- _createButton: function(g, f) {
- f = f || {};
- return new c.Views[c.addToBrowser.viewType]({
- isCppExp: this.isCppExp,
- isCppControl: this.isCppControl,
- impressionPixel: f.addImpressionPixel ? "atb" + g + "i" : null,
- clickPixel: "atb" + g + "c",
- xPixel: "atbbx",
- template: "add_to_browser_badge_button",
- buttonClass: (f.buttonClass || "onboarding-ed__button-small") + (this.isCppExp ? " js-cta-state-cpp" : ""),
- appendTo: f.appendTo || (".js-onboarding-ed-button-small-" + g),
- isCppm: this.isCppm,
- isCppm4: this.isCppm4,
- isCppm5: this.isCppm5,
- isCppmControl: this.isCppmControl,
- isCppmStateless: this.isCppmStateless,
- mobileOnboarding: this.mobileOnboarding,
- onStartSearch: this._handleStartSearch.bind(this),
- onlyFireImpressionPixelIfIntoView: f.onlyFireImpressionPixelIfIntoView
- })
- },
- _addOnboardingEducationButtons: function() {
- this.views.atb_button = new c.Views[c.addToBrowser.viewType]({
- isCppExp: this.isCppExp,
- isCppControl: this.isCppControl,
- clickPixel: "atbbc",
- xPixel: "atbbx",
- template: "add_to_browser_badge_button",
- buttonClass: "onboarding-ed__button" + (this.isCppExp ? " js-cta-state-cpp" : ""),
- appendTo: ".js-onboarding-ed-button",
- isCppm: this.isCppm,
- isCppm4: this.isCppm4,
- isCppm5: this.isCppm5,
- isCppmControl: this.isCppmControl,
- isCppmStateless: this.isCppmStateless,
- mobileOnboarding: this.mobileOnboarding,
- onStartSearch: this._handleStartSearch.bind(this)
- });
- this.views.atb_button_1 = this._createButton(1);
- this.views.atb_button_2 = this._createButton(2);
- this.views.atb_button_3 = this._createButton(3)
- },
- _onPageShow: function(f) {
- if (f && f.persisted) {
- this._checkForForceReload()
- }
- },
- _renderBadgeContent: function() {
- if ((!this.scrollToOnboarding && this.canShowAddToBrowser())) {
- var i = !c.device.isMobileDevice,
- h = $(".js-foot-home"),
- f = {
- impressionPixel: this.canShowMobileButton ? "atbbi" : "atbhi",
- clickPixel: this.canShowMobileButton ? "atb0c" : "atbhc",
- xPixel: "atbhx",
- topRight: i,
- fadeIn: i,
- appendTo: i ? ".js-site-wrapper" : h,
- hideOnClick: true,
- isCppm: this.isCppm,
- isCppm4: this.isCppm4,
- isCppm5: this.isCppm5,
- isCppmStateless: this.isCppmStateless,
- isCppmControl: this.isCppmControl,
- mobileOnboarding: this.mobileOnboarding,
- onStartSearch: this._handleStartSearch.bind(this),
- displayableBannerHtmlClass: "displayable-atb-banner"
- };
- if (c.device.isDesktop) {
- this.showOnboardingArrow = false;
- i = false;
- var j = "add_to_browser_fullbleed_billboard_v2",
- g = "is-atb-fullbleed";
- if (c.device.isIE) {
- f.hideCurve = true
- }
- var k = c.device.isFirefox ? c.extension.reviewsUrl : c.extension.url + "/reviews";
- $("#search_form_input_homepage").attr("placeholder", lp("search input box", "Search the web without being tracked"));
- if (this.isCppExp || this.isCppControl) {
- f.isCppExp = this.isCppExp;
- f.isCppControl = this.isCppControl;
- if (this.isCppExp) {
- f.onOnboardingDone = function() {
- $("#search_form_input_homepage").removeAttr("placeholder");
- if (this.searchbar) {
- this.searchbar.focus({
- focusInput: true
- })
- }
- }.bind(this)
- }
- }
- f = $.extend({}, f, {
- topRight: false,
- hideOnClick: false,
- fadeIn: false,
- button: ".js-badge-link-button",
- appendTo: ".content--home",
- template: j,
- htmlClass: g,
- canInstall: c.extension.canInstall(),
- extRating: c.device.isFirefox ? 4.5 : 4.4,
- halfStar: c.device.isFirefox,
- reviewsUrl: k,
- shortLocale: window.locale.split("_")[0],
- searchbar: this.searchbar
- })
- }
- this.views.badge = new c.Views[c.addToBrowser.viewType](f);
- if (i) {
- this.searchbar.on("typed", function() {
- if (this.views.badge.$el.is(":visible")) {
- c.pixel.fire("atbht", c.device.pixelBrowserName, c.opensearch.version, {
- va: c.opensearch.variant,
- atbva: c.opensearch.atbVariant,
- l: w.locale,
- p: c.device.pixelPlatformName
- })
- }
- this.views.badge && this.views.badge.hide()
- }.bind(this))
- }
- if (c.addToBrowser.canShowMobileBanner()) {
- this.searchbar.$el.on("focusin", function() {
- this.views.badge && this.views.badge.hide()
- }.bind(this));
- this.searchbar.$el.on("focusout", function() {
- if (!(this.isCppm || this.isCppm4 || this.isCppm5 || this.isCppmStateless) || ((this.isCppm || this.isCppm4 || this.isCppm5 || this.isCppmStateless) && this.canShowAddToBrowser())) {
- this.views.badge && this.views.badge.show(150)
- }
- }.bind(this))
- }
- } else {
- if (c.newsletter.shouldShowBadge()) {
- this.views.newsletter = new c.Views.SubscribeToNewsletterBadge({
- appendTo: ".js-site-wrapper"
- });
- c.pixel.fire("nli", c.newsletter.group, "home");
- this.views.newsletter.show();
- this.searchbar.on("typed", function() {
- this.views.newsletter && this.views.newsletter.hide()
- }.bind(this))
- } else {
- if (c.survey.shouldShowBadge()) {
- this.views.survey = new c.Views.SurveyBadge({
- appendTo: ".js-site-wrapper"
- });
- this.views.survey.show();
- this.searchbar.on("typed", function() {
- this.views.survey && this.views.survey.hide()
- }.bind(this))
- }
- }
- }
- },
- _handleStartSearch: function() {
- if (this.isCppm || this.isCppm4 || this.isCppm5 || this.isCppmStateless) {
- this.searchbar.focus({
- focusInput: true
- })
- }
- },
- addOnboarding: function() {
- if (!this.views.onboardingEducation.$el || this.views.onboardingEducation.model.isDismissed) {
- this.views.onboardingEducation.model.isDismissed = false;
- this.views.onboardingEducation = new c.Views.OnboardingEducation({
- appendTo: ".site-wrapper--home",
- isCppExp: this.isCppExp,
- pageView: this,
- learnMore: true,
- model: c.onboardingEducation
- });
- if (this.canShowHomepageEducationInstallButton()) {
- this._addOnboardingEducationButtons()
- }
- }
- this.views.onboardingEducation.currentSlide = 1;
- this.views.onboardingEducation._snapToSlideScroll()
- }
- })
- }(DDG);
- DDG.assets_loaded = [];
- DDG.templates = {};
- DDG.first_result = "r1-0";
- DDG.is_header_fixed = true;
- DDG.first_source = false;
- DDG.last_selection = "";
- DDG.animation_speed = 300;
- DDG.isJSURL = function(a) {
- return !a || a === "javascript:;" || a === "#"
- };
- DDG.detect_intent_link = function(a) {
- var b = 0;
- if (DDG.device.isIDevice && a.hostname == "itunes.apple.com") {
- b = 1
- } else {
- if (DDG.device.isAndroid && a.hostname == "play.google.com") {
- b = 1
- }
- }
- return b
- };
- DDG.get_http_redirect = function(e, f) {
- var b = e.href;
- if (DDG.settings.useRedirect() && e.href.indexOf("/l/?") == -1 && !DDG.isInternalURL(e.href) && !DDG.detect_intent_link(e)) {
- var c = b.match(/^https/) || DDG.device.isOnion,
- a = c ? "" : "http://r.duckduckgo.com";
- b = a + "/l/?kh=-1&uddg=" + encodeURIComponent(e.href);
- if (!(DDG.device.isEdge && f)) {
- nua("nul", e, 500)
- }
- }
- return b
- };
- DDG.get_query_encoded = function() {
- return rq
- };
- DDG.get_query = function() {
- return decodeURIComponentSafe(rq)
- };
- DDG.get_is_safe_search = function() {
- return DDG.settings.safeSearch.isStrict()
- };
- DDG.stem = function(a) {
- return a.replace(/(?:s)$/, "")
- };
- DDG.get_asset_path = function(c, b) {
- if (Spice && Spice.sharedir_map && Spice.sharedir_map[c]) {
- return "/share/" + Spice.sharedir_map[c].path + "/" + b
- }
- var a = window["spice_" + c + "_version"] || spice_version;
- return "/share/spice/" + c + "/" + a + "/" + b
- };
- DDG.get_now = function() {
- var a = new Date();
- return a.getTime()
- };
- DDG.$win = $(window);
- DDG.$doc = $(document);
- DDG.$html = $("html");
- DDG._$cache = {};
- DDG.$ = function(a) {
- return DDG._$cache[a.toString()] || (DDG._$cache[a.toString()] = $(a))
- };
- DDG._$classCache = {};
- DDG.addClass = function(c, b, a) {
- DDG._$classCache[c + a] = true;
- b.addClass(a)
- };
- DDG.removeClass = function(c, b, a) {
- delete DDG._$classCache[c + a];
- b.removeClass(a)
- };
- DDG.hasClass = function(b, a) {
- return DDG._$classCache[b + a]
- };
- DDG.toggleClass = function(c, b, a) {
- if (DDG.hasClass(c, a)) {
- DDG.removeClass(c, b, a)
- } else {
- DDG.addClass(c, b, a)
- }
- };
- DDG.get_header_height = function() {
- return typeof DDG._header_height !== "undefined" ? DDG._header_height : (DDG._header_height = DDG.$("#header_wrapper").outerHeight())
- };
- DDG.add_sitelinks = function(j, k, f, a) {
- var b = 0;
- if (f && f[k] && f[k]["l"]) {
- f[k]["l"].forEach(function(q, n, m) {
- var r = n % 2 === 0;
- var i = n === 0;
- var p = n === m.length - 1;
- var o = (p && r && m.length > 1);
- q.id = "r1-" + (n + 1);
- q.nextRow = (r && !i && !p) || (o);
- q.domainName = a;
- q.idx = n;
- if (DDG.device.isMobile) {
- f[k]["l"][n].snippet = null
- }
- if (f[k]["l"][n].snippet) {
- b += 1
- }
- });
- if (!b && !DDG.device.isMobile) {
- return
- }
- var h = DDG.$exec_template("sitelinks", {
- links: f[k]["l"],
- isDesktop: !DDG.device.isMobile,
- newWindow: DDG.settings && !DDG.settings.isDefault("kn")
- });
- if (DDG.device.isMobile) {
- if (DDG.settings.isDefault("kai")) {
- $(j).find(".js-result-snippet").after(h[0])
- } else {
- $(j).find(".js-result-extras").after(h[0])
- }
- } else {
- $(j).after(h[0])
- }
- var g = function(i) {
- organicClick(i.currentTarget, i);
- DDG.backData.set("sl-" + $(this).attr("data-idx"), {});
- return nrl(i, i.currentTarget)
- };
- var e = $(h).find(".result__sitelink-title");
- for (var c = 0; c < e.length; c++) {
- e[c].onclick = g
- }
- DDG.search.set("hasSiteLinks", f[k]["l"].length)
- }
- };
- DDG.linkClickWillOpenInNewTab = function(a) {
- return (a.ctrlKey || a.shiftKey || a.metaKey || (a.button && a.button == 1) || !DDG.settings.isDefault("kn"))
- };
- function ncku(a) {
- if (!DDG.device.isIE && !a.metaKey) {
- fa = 0
- }
- }
- function nckd(a) {
- if (!DDG.device.isIE && a.metaKey) {
- fa = 1
- }
- }
- function ncf(h) {
- var i, a, f, j, k;
- fmx = h.clientX;
- fmy = h.clientY;
- if (fmx > viewport_width - 100 && fmy > parseInt(viewport_height) - 17) {
- if (!DDG.deep.isLastResult && nrb) {
- nrb()
- }
- }
- i = "";
- if (h.srcElement) {
- i = h.srcElement
- } else {
- i = h.target
- }
- var g = 0;
- var c = 0;
- if (DDG.device.isIE && (nkdc(h) || nkdm(h))) {
- g = 1
- }
- if (DDG.device.isEdge && (nkdc(h) || nkdm(h))) {
- c = 1
- }
- var b = h.which && h.which == 2;
- var m = h.which && h.which == 3;
- if (c || g || b || m) {
- fm = 1;
- while (i && i != window) {
- if (i.nodeName && i.nodeName == "A") {
- if (DDG.isJSURL(i.href)) {
- i.onclick();
- return false
- } else {
- i.href = DDG.get_http_redirect(i, m)
- }
- fl = 1;
- break
- }
- a = i.id;
- if (a && !m) {
- if (a == "links") {
- break
- }
- if (rc && a == rc.id) {
- nrg(rc, 0, h, 1)
- }
- }
- if (i.parentNode) {
- i = i.parentNode
- } else {
- break
- }
- }
- setTimeout(function() {
- fm = 0;
- fl = 0
- }, 1000)
- } else {
- fm = 0
- }
- }
- function ncg(a) {
- fmx = 0;
- fmy = 0;
- if (a.clientX > viewport_width - 25) {
- if (!DDG.deep.isLastResult && nrb) {
- nrb()
- }
- }
- }
- function nir(g) {
- var a, f, e, b, c;
- e = (g) ? ".highlight_" + g : ".result";
- a = $(e);
- a.each(function(h, j) {
- f = $(j);
- if (f.attr("data-nir")) {
- return
- }
- if (!is_mobile_device) {
- f.on("mouseenter", function(i) {
- if (fk || fe) {
- return false
- }
- if (rc && rc != this) {
- nua("nro", rc)
- }
- nua("nrv", this);
- rc = this
- });
- f.on("mouseleave", function(i) {
- if (fk || fe) {
- return false
- }
- nua("nro", this)
- })
- }
- if (g != "a") {
- f.click(function(i) {
- if (this.id !== "did_you_mean") {
- organicClick(this, i)
- }
- if (!fe) {
- nrg(this, 0, i, 0)
- }
- })
- }
- f.attr("data-nir", 1);
- if (!g || g == "a" || g == "v") {
- b = f.find("a");
- for (c = 0; c < b.length; c++) {
- if (!b[c].onclick && !rs) {
- b[c].onclick = function(i) {
- this.blur();
- return nrl(i || window.event, this)
- }
- } else {
- if (!b[c].onclick) {
- b[c].onclick = function() {
- this.blur();
- fl = 1
- }
- }
- }
- if (kn && kn === "1" && !DDG.isInternalURL(b[c].href)) {
- b[c].target = "_blank"
- }
- }
- }
- })
- }
- function nis() {
- var e, a;
- if (fq) {
- return false
- }
- var c = DDG.backData.getId(),
- b = DDG.backData.getData();
- if (c && c.match(/^r1/)) {
- DDG.deep.lastClickedId = c;
- DDG.deep.lastPage = b.page;
- nrm(5, c)
- } else {
- rc = d.getElementById(DDG.first_result)
- }
- fs = 0;
- if (!DDG.deep.isLastResult && nrb) {
- nrb()
- }
- }
- function nkda(a) {
- if (fq) {
- return false
- }
- if (a && (nkdc(a) || nkdm(a) || nkds(a) || nkdt(a) || fa)) {
- return false
- }
- fk = 1;
- nrm(1)
- }
- function nkua(a) {
- if (fq) {
- return false
- }
- if (a && (nkdc(a) || nkdm(a) || nkds(a) || nkdt(a) || fa)) {
- return false
- }
- fk = 1;
- nrm(2)
- }
- function nke(c) {
- if (fq) {
- return false
- }
- if (c && (nkdc(c) || nkdm(c) || nkds(c) || nkdt(c) || fa)) {
- return false
- }
- fk = 1;
- if (rc && (!kn || kn != "1")) {
- var b = new RegExp("rl([ei])(\\d+)-(\\d+)");
- var a = new RegExp("^r2-(\\d+)$");
- if (rc.id && b.test(rc.id)) {
- if (a.test(rc.nextSibling.firstChild.id)) {
- rc = rc.nextSibling.firstChild
- } else {
- rc = rc.nextSibling.firstChild.nextSibling
- }
- nrv(rc)
- } else {
- rc.click()
- }
- }
- }
- function nko(a) {
- if (fq) {
- return false
- }
- if (a && (nkdc(a) || nkdm(a) || nkds(a) || nkdt(a) || fa)) {
- return false
- }
- fk = 1;
- if (rc) {
- rc.click()
- }
- }
- function nkt(a) {
- if (fq) {
- return false
- }
- if (a && (nkdc(a) || nkdm(a) || nkds(a) || nkdt(a) || fa)) {
- return false
- }
- fk = 1;
- rc = "";
- DDG.device.scrollTop(0)
- }
- function nkd(b) {
- if (fq) {
- return false
- }
- if (b && (nkdc(b) || nkdm(b) || nkds(b) || nkdt(b) || fa)) {
- return false
- }
- fk = 1;
- var a = $(rc).find(".js-result-extras-site_search")[0];
- if (a) {
- nrg(rc, null, null, null, a)
- }
- }
- function nkn(a) {
- if (fq) {
- return false
- }
- if (a && (nkdc(a) || nkdm(a) || nkds(a) || nkdt(a) || fa)) {
- return false
- }
- fk = 1;
- fn = 1;
- if (rc) {
- rc.click()
- }
- }
- function nkm(a) {
- if (fq) {
- return false
- }
- if (a && (nkdc(a) || nkdm(a) || nkds(a) || nkdt(a) || fa)) {
- return false
- }
- fk = 1;
- if (d.getElementById(DDG.first_result)) {
- nrm(5, DDG.first_result)
- }
- }
- function nksb(a) {
- if (fq) {
- return false
- }
- if (a && (nkdc(a) || nkdm(a) || nkds(a) || nkdt(a) || fa)) {
- return false
- }
- fk = 1;
- if (!DDG.deep.isLastResult && nrb) {
- nrb()
- }
- }
- function nks(b) {
- if (fq) {
- return false
- }
- if (b && (nkdc(b) || nkdm(b) || nkds(b) || fa)) {
- return false
- }
- fk = 1;
- setTimeout("d.x.q.focus()", 10);
- setTimeout("d.x.q.select()", 15);
- var a = DDG.settings.get("ko");
- if (a == "s" || a == "d") {
- setTimeout(function() {
- DDG.device.scrollTop(0)
- }, 10)
- }
- }
- function nkdc(a) {
- var b;
- if (a) {
- b = a.ctrlKey
- }
- return b
- }
- function nkdm(a) {
- var b;
- if (!DDG.device.isIE && a) {
- b = a.metaKey
- }
- return b
- }
- function nkdt(a) {
- var b;
- if (a) {
- b = a.altKey
- }
- return b
- }
- function nkds(a) {
- var b;
- if (a) {
- b = a.shiftKey
- }
- return b
- }
- function nkf(c) {
- var b, a;
- if (DDG.device.isIE) {
- b = c.clientX + d.body.scrollLeft;
- a = c.clientY + d.body.scrollTop
- } else {
- b = c.pageX;
- a = c.pageY
- }
- if (fk && sx && sy && (sx != b || sy != a)) {
- fk = 0
- }
- sx = b;
- sy = a
- }
- var mousewheelevt = /Firefox/i.test(navigator.userAgent) ? "DOMMouseScroll" : "mousewheel";
- if (document.attachEvent) {
- document.attachEvent("on" + mousewheelevt, nkw)
- } else {
- if (document.addEventListener) {
- document.addEventListener(mousewheelevt, nkw, false)
- }
- }
- function nkw(a) {
- if (DDG.device.isOpera && !DDG.deep.isLastResult && nrb) {
- nrb()
- }
- fk = 0
- }
- function nrv(a, h, q, c) {
- if (!a) {
- return false
- }
- var g, n, r, o, m, k, f, j, p, e;
- g = a;
- a = a.parentNode;
- if (g.id == "r1-" + (parseInt(r1c) - 1)) {
- if (DDG.deep.lastClickedId && DDG.settings.autoloadDisabled() && DDG.deep.lastPage > DDG.deep.pageNumber) {
- if (!DDG.deep.isLastResult && nrb) {
- nrb("", 1)
- }
- } else {
- if (!DDG.deep.isLastResult && nrb && !DDG.settings.autoloadDisabled()) {
- nrb("", 1)
- }
- }
- }
- if (!h) {
- var b = $(g);
- if (!b.hasClass("highlight")) {
- b.addClass("highlight");
- if (b.hasClass("highlight_sponsored")) {
- b.addClass("highlight_sponsored_hover")
- }
- n = nun(g);
- o = b.offset().top;
- m = DDG.device.scrollTop();
- if (c && n && !fq && o > m) {
- n.focus();
- n.onclick = function(i) {
- return nrl(i, this)
- }
- }
- }
- }
- }
- function nro(j) {
- var h, f, e, b, g, c;
- if (!j) {
- return false
- }
- var a = $(j);
- if (a.hasClass("highlight")) {
- a.removeClass("highlight");
- if (a.hasClass("highlight_sponsored_hover")) {
- a.removeClass("highlight_sponsored_hover")
- }
- h = nun(j);
- if (h && !fq) {
- h.blur()
- }
- }
- }
- function nrs(b, f, e) {
- var g, a, c, i, h;
- g = $(b).offset().top;
- c = $(b).outerHeight();
- a = DDG.device.scrollTop();
- h = viewport_height / 2;
- if (!c || g == a) {
- return
- }
- if (f || g + c + 10 > viewport_height + a || g - 10 < a) {
- i = g - h;
- if (!e || e == 1 && g - a > h || e == -1 && g - a < h) {
- DDG.device.scrollTop(i)
- }
- }
- }
- function sendCount(a) {
- $.ajax({
- url: window.location.origin + "/public/l" + a + ".jpg",
- cache: false,
- dataType: "image/jpg"
- });
- DDG.abc = a
- }
- function nrj(a, m, i) {
- var r = a;
- if (DDG.searchExperiments && DDG.searchExperiments.v7exp && DDG.searchExperiments.v7exp.activeGroup === "a") {
- var g = ["^\\/share\\/spice\\/.*images\\.spice\\.js$", "^\\/share\\/spice\\/.*videos\\.spice\\.js$"];
- if (!DDG.history.get("iax")) {
- g.push("^\\/?i\\.js");
- g.push("^\\/?v\\.js")
- }
- var o = new RegExp(g.join("|"), "i");
- if (o.test(a)) {
- return false
- }
- }
- if (DDG.assets_loaded[a]) {
- return false
- }
- var n = DDG.Utils.Cache.Called;
- var s = n.type[a.substr(0, 5)];
- if (s) {
- if (n.deferred[s] || n.nrj[s]) {
- return false
- }
- n.nrj[s] = 1
- }
- if (a && a.match(/^\/d\.js/)) {
- if (window.show_covid) {
- DDG.duckbar.add({
- id: "covid19",
- model: "Covid19",
- duckbar_topic: "Coronavirus"
- });
- DDG.duckbar.future_signal_tab({
- signal: "high",
- from: "covid19"
- })
- }
- if (DDG.vqd.isExpired()) {
- DDG.pixel.fire("dxr", {
- back: DDG.vqd.timestampFromBackData ? 1 : 0
- });
- return window.location.reload()
- }
- if (DDG.deep && DDG.deep.pageNumber === 1) {
- var f = DDG.history.get("ia"),
- q = DDG.history.get("iax"),
- b = DDG.history.get("iar"),
- e = DDG.history.get("iaxm"),
- j;
- if (!f && b) {
- f = b
- }
- if (e) {
- j = e
- } else {
- if ((f && q === f) || b) {
- var c = DDG.Data.StaticIAs.filter(function(t) {
- return t.id === f && t.isFullPage
- });
- if (c.length) {
- j = c[0].id
- }
- }
- }
- if (j) {
- a += "&iapl=" + j
- }
- }
- if (DDG.extension.isInstalled()) {
- a += "&ext=1"
- }
- if (window.ddg_deep_a) {
- a += "&aa=" + window.ddg_deep_a
- }
- }
- if (a && DDG.searchExperiments) {
- a = DDG.searchExperiments.addExperimentParameters(a)
- }
- if (a.match(/^\/d.js\?/)) {
- if (DDG.searchExperiments && DDG.searchExperiments.getExperimentGroup("msvrtexp") === "b") {
- a = "//links.duckduckgo.com" + a
- }
- if (DDG.rgi && DDG.rgi.enabled() && !i) {
- $.ajax({
- url: a,
- dataType: "script",
- cache: true,
- beforeSend: function(t) {
- t.setRequestHeader("Rgi", DDG.rgi.get())
- },
- error: function(v, t, u) {
- DDG.pixel.fire("rgif");
- nrj(r, m, true);
- return
- }
- });
- return
- }
- }
- if (a.indexOf("amazon.spice.js") !== -1 && DDG.duckbar) {
- $.ajax({
- url: a,
- dataType: "script",
- cache: true,
- success: function() {
- DDG.assets_loaded[a] = 1
- },
- error: function(t) {
- DDG.duckbar.failed("products")
- }
- });
- return
- }
- DDG.assets_loaded[a] = 1;
- var k, h;
- k = d.createElement("script");
- k.type = "text/javascript";
- if (!m) {
- k.async = true
- } else {
- k.async = false
- }
- if (a && a.match(/\/local\.js|\/js\/spice\/maps\/places/)) {
- if (DDG.userLocator.hasLocation()) {
- var p = DDG.userLocator.userLocation;
- a = DDG.addSearchParam(a, "latitude", p.lat);
- a = DDG.addSearchParam(a, "longitude", p.lon);
- a = DDG.addSearchParam(a, "location_type", p.type)
- }
- }
- k.src = a;
- h = document.getElementsByTagName("script")[0];
- h.parentNode.insertBefore(k, h);
- return k
- }
- function nrc(c) {
- if (DDG.assets_loaded[c]) {
- return false
- }
- DDG.assets_loaded[c] = 1;
- var b, a;
- b = d.createElement("link");
- b.type = "text/css";
- b.rel = "stylesheet";
- b.async = true;
- b.href = c;
- b.media = "screen";
- a = document.getElementsByTagName("head")[0];
- a.parentNode.insertBefore(b, a)
- }
- function nrg(h, b, e, f, c) {
- var a, g;
- if (!b) {
- b = 0
- }
- e = e || window.event;
- if (!c) {
- c = h.getElementsByTagName("a")[0]
- }
- if (!f) {
- f = nkdc(e) || nkdm(e) || fn
- }
- if (!f && kn && kn == "1") {
- f = 1
- }
- if (is_mobile_device) {
- if (rc && rc != h) {
- nro(rc)
- }
- nrv(h);
- rc = h
- }
- if (!DDG.isJSURL(c.href)) {
- h && DDG.backData.set(h.id, {
- adx_name: DDG.page.ads.adxExperiment,
- page: DDG.deep.pageNumber,
- sexp: DDG.searchExperiments.getBackButtonData(),
- hu: DDG.deep.hu,
- timestamp: DDG.vqd.timestamp
- });
- if (fl) {
- fl = 0
- } else {
- fl = 1;
- a = DDG.get_http_redirect(c);
- if (f) {
- nug(a, f)
- } else {
- nua("nug", a, "", "", "", f)
- }
- }
- } else {
- if (fl) {
- fl = 0
- } else {
- if (DDG.isJSURL(c.href)) {
- c.onclick()
- }
- }
- }
- }
- function nrl(c, b) {
- var a = ((c.target && c.target.href) || (c.currentTarget && c.currentTarget.href));
- if (a && DDG && DDG.extension && DDG.extension.url && a.indexOf(DDG.extension.url) === 0) {
- return
- }
- var e, f;
- c = c || window.event;
- fl = 1;
- e = nkdc(c) || nkdm(c) || "";
- if (!e && kn && kn == "1" && b && b.href && !DDG.isInternalURL(b.href)) {
- e = 1
- }
- if (!e && b.target && b.target === "_blank") {
- e = 1
- }
- if (!e && (nkds(c) || fm || c.button && (c.button == 1 || DDG.device.isIE && c.button == 4))) {
- e = 1
- }
- if (e) {
- b.href = DDG.get_http_redirect(b);
- if (nkds(c) && !DDG.device.isIE && !DDG.device.isSafari) {
- nua("nug", b.href, "", "", "", e);
- return false
- } else {
- return true
- }
- } else {
- f = DDG.get_http_redirect(b);
- nua("nug", f);
- return false
- }
- }
- function nrrel(a) {
- DDG.deep.set("related", a.r);
- if (DDG.page.relatedSearches || DDG.deep.hideNoResults) {
- return
- }
- if (DDG.deep.getResultCount() && !DDG.deep.hideRelated && a.r && a.r.length > 1) {
- DDG.page.relatedSearches = new DDG.Views.RelatedSearches({
- appendTo: $("#links"),
- model: DDG.deep
- })
- }
- }
- function nrb(b, c) {
- var f, q, h, k, o, n, p, g, a, j, m;
- if (!DDG.duckbar.areOrganicsShowing) {
- return
- }
- if (fs) {
- return false
- }
- fs = 1;
- o = document.body.scrollHeight;
- n = DDG.device.scrollTop();
- h = n + viewport_height >= o - 500 ? 1 : 0;
- k = 0;
- if (!c && fmx && fmy && fmx > viewport_width - 100 && fmy < parseInt(viewport_height) - 17) {
- fs = 0;
- return
- }
- if (h || k || c) {
- for (g = parseInt(r1c) - 1; g >= 0; g--) {
- m = "r1-" + g;
- a = d.getElementById(m);
- j = a && a.parentNode;
- var e = $(".result--more__btn")[0];
- if ($(j).css("display") == "block") {
- if (DDG.deep.hasPendingResults()) {
- DDG.deep.showPendingResults();
- nsr(e);
- $(".js-result-sep").removeClass("is-hidden")
- } else {
- nsr(e)
- }
- break
- }
- }
- }
- fs = 0
- }
- function nrm(q, m) {
- var o, g, f, c, e, a, v, n, u, i, r, j, h, t, z, s, b, p;
- if (fq) {
- return false
- }
- if (fo) {
- setTimeout("nrm(" + q + ",'" + m + "')", 100);
- return false
- }
- fo = 1;
- o = new RegExp("r(\\d+)-(\\d+)");
- g = new RegExp("rl([ei])(\\d+)-(\\d+)");
- f = new RegExp("rld-(\\d+)");
- if (m) {
- if (o.test(m)) {
- c = RegExp.$1 || 0;
- e = RegExp.$2 || 0
- } else {
- if (m == "zero_click_wrapper") {
- c = 1;
- e = -1
- } else {
- fo = 0;
- return false
- }
- }
- } else {
- if (rc && rc.id == "zero_click_wrapper") {
- c = 1;
- e = -1
- } else {
- if (rc && o.test(rc.id)) {
- c = RegExp.$1 || 0;
- e = RegExp.$2 || 0
- } else {
- if (rc && g.test(rc.id)) {
- c = rs ? 1 : 2;
- r = 1
- } else {
- if (rc && f.test(rc.id)) {
- c = 1;
- r = 1
- } else {
- rc = d.getElementById(DDG.first_result);
- if (!rc) {
- rc = d.getElementById("zero_click_wrapper")
- }
- if (!rc) {
- fo = 0;
- return false
- } else {
- e = 0;
- c = 1
- }
- }
- }
- }
- }
- }
- switch (q) {
- case 1:
- if (rc && rc.id && rc.id == DDG.first_result && !$(rc).hasClass("highlight")) {} else {
- e++
- }
- break;
- case 2:
- e--;
- break;
- case 3:
- c++;
- e = 0;
- break;
- case 4:
- c--;
- e = 0;
- break;
- case 5:
- break;
- case 6:
- break;
- case 7:
- e++;
- break;
- default:
- e++
- }
- n = "r" + c + "-" + e;
- if (e <= -1) {
- n = "zero_click_wrapper"
- }
- u = d.getElementById(n);
- i = 0;
- if (m) {
- i = d.getElementById(m)
- }
- if (q == 1 && c == 2 && !u && r1c) {
- n = DDG.first_result;
- u = d.getElementById(n)
- }
- z = DDG.device.scrollTop();
- if (q == 1) {
- if ($("#" + n).length > 0) {
- t = $("#" + n).offset().top
- }
- if (t && (t < z || t > (z + 2 * viewport_height))) {
- a = 0;
- while (a > -1) {
- v = d.getElementById("r1-" + a);
- if (!v) {
- break
- }
- b = $(v);
- t = b.offset().top;
- p = 10;
- s = b.height() + p;
- if (t - s < z && z !== 0) {
- a++
- } else {
- u = v;
- break
- }
- }
- }
- }
- if (q == 2 && n !== "zero_click_wrapper") {
- if ($("#" + n).length > 0) {
- t = $("#" + n).offset().top
- }
- if (t < (z - 2 * viewport_height) || t > (z + viewport_height)) {
- a = r1c - 2;
- while (a > 0) {
- v = d.getElementById("r1-" + a);
- if (!v) {
- break
- }
- b = $(v);
- t = b.offset().top;
- p = 10;
- s = Math.max(b.height(), 90) + p;
- if (t + s > (z + viewport_height)) {
- a--
- } else {
- u = v;
- break
- }
- }
- }
- }
- if (i && !u && q == 7 && i.nextSibling && i.nextSibling.firstChild) {
- var k = i.nextSibling;
- if (k.firstChild && k.firstChild.onclick) {
- k.firstChild.onclick()
- }
- fo = 0;
- return
- } else {
- if (!i && !u && q == 7 && rc && rc.nextSibling && rc.nextSibling.firstChild) {
- var k = rc.nextSibling;
- if (k.firstChild && k.firstChild.onclick) {
- k.firstChild.onclick()
- }
- fo = 0;
- return
- }
- }
- if ((n == "zero_click_wrapper") && $(u).css("display") == "none") {
- fo = 0;
- return
- }
- if (r) {
- switch (q) {
- case 1:
- if (c == 2) {
- u = rc.nextSibling.nextSibling;
- if (!u) {
- n = DDG.first_result;
- u = d.getElementById(n)
- } else {
- if ($(u).css("display") == "none") {
- u = u.nextSibling.firstChild;
- if (!u.id && u.nextSibling) {
- u = u.nextSibling
- }
- }
- }
- } else {
- if (c == 1 && rc.nextSibling.nextSibling) {
- u = rc.nextSibling.nextSibling.nextSibling
- } else {
- if (1) {
- n = DDG.first_result;
- u = d.getElementById(n)
- } else {
- u = rc.nextSibling.firstChild
- }
- }
- }
- break;
- case 2:
- u = rc.previousSibling.previousSibling;
- if ($(u).css("display") == "none") {
- u = u.nextSibling.lastChild
- }
- break;
- case 4:
- break;
- case 7:
- if (rc.nextSibling.nextSibling) {
- u = rc.nextSibling.nextSibling.nextSibling
- } else {
- u = rc.nextSibling.firstChild
- }
- break;
- default:
- fo = 0;
- return false
- }
- }
- if (u) {
- if (c == 1 && g.test(u.id)) {
- u = u.nextSibling.firstChild
- }
- if (q != 7) {
- if (rc) {
- nua("nro", rc)
- }
- }
- if (q != 5 && (c == 2 || rs) && $(u.parentNode).css("display") == "none") {
- j = u;
- while (j.parentNode.id != "zero_click_topics" && j.parentNode.id != "links" && j.parentNode.id != "content") {
- j = j.parentNode;
- if (!h && $(j).css("display") == "block") {
- h = j
- }
- }
- if (h && r) {
- u = j.nextSibling.nextSibling
- } else {
- if ($(j).css("display") == "none") {
- u = j.previousSibling
- } else {
- if (j.nextSibling && $(j.nextSibling).css("display") == "block") {
- u = h.lastChild.previousSibling
- } else {
- if (q == 2 && j.previousSibling) {
- u = j.previousSibling
- } else {
- if (q == 1 && j.nextSibling && $(j.nextSibling).css("display") == "none") {
- u = j.nextSibling.nextSibling.firstChild.nextSibling
- } else {
- if (q == 1 && !j.nextSibling) {
- u = j.previousSibling
- }
- }
- }
- }
- }
- }
- if (g.test(u.id) && rs && RegExp.$1 == "e") {
- u = u.nextSibling.firstChild
- }
- }
- nua("nrv", u, 0, 1, 0, q == 7 ? 1 : 0, q == 5 || q == 7 ? 1 : 0, 1);
- if (q != 7) {
- rc = u
- }
- if (q != 7 && rc && rc.id) {
- if (fk && (e > 6 || q == 2)) {
- if (!DDG.device.isOpera) {
- nua("nrs", rc, 0, 1, 0, 1, q == 5 ? 0 : q == 1 ? 1 : -1)
- } else {
- nrs(rc, 1, q == 5 ? 0 : q == 1 ? 1 : -1)
- }
- } else {
- if (!DDG.device.isOpera) {
- nua("nrs", rc, 0, 1)
- } else {
- nrs(rc, 0, 0)
- }
- }
- }
- } else {
- if (c == 1 && n != "zero_click_wrapper" && !DDG.deep.isOutOfResults && (!rs || !it) && DDG.deep.lastPage >= DDG.deep.pageNumber) {
- nrv(d.getElementById("r1-" + parseInt(r1c - 1)), 1);
- setTimeout("nrm(" + q + ",'" + m + "')", 100)
- }
- }
- if (DDG.device.isOpera && q == 1 && nrb) {
- nrb()
- }
- fo = 0
- }
- function appendAdClass(b, a, e, c) {
- b.className += " result--ad highlight_sponsored sponsored";
- if ((a === 0 && DDG.page.ads.smallFirst) || (a === 1 && DDG.page.ads.smallSecond) || a > 1 || c.side) {
- b.className += " result--ad--small"
- }
- b.setAttribute("data-source", e)
- }
- function resultsBetweenLastSeparators() {
- var a = document.querySelectorAll(".result");
- var c = [];
- var f = 0;
- for (var e = 0; e < a.length; e++) {
- if (/js-result-sep/.test(a[e].className)) {
- c.unshift(f);
- f = 0
- } else {
- f += 1
- }
- }
- c.unshift(f);
- var b = c[1] || c[0];
- return b
- }
- function nrn(az, H, s, N) {
- if (!az || !H) {
- return
- }
- if (!s) {
- DDG.deep.nrnWrapper(az, H);
- return
- }
- var Q, aw, ao, am, ak, J, m, C, p, V, af, o, av, ai, v, u, ax, ar, ap, Y, b, A, ad, ac, Z, E, q, U, S, G, ab, F, X, ae, ag, M, I, aj, a, L;
- var aq = DDG.page.ads.canShowRightRailAds();
- var au = DDG.page.ads.canShowGoodAdsLayout();
- var P = false;
- var g = kai && kai == "-1";
- var k;
- var h = false;
- E = H.length;
- if (az === "d") {
- av = "1";
- o = d.getElementById("links");
- ai = r1c;
- if (!DDG.deep.started) {
- ag = 1;
- DDG.deep.set("started", new Date().getTime())
- }
- } else {
- if (az === "a") {
- ai = r3c;
- av = "a";
- P = !ai && DDG.deep.pageNumber === 1;
- var T = 3;
- if (E > T) {
- H = H.slice(0, T);
- E = H.length
- }
- if (DDG.page.ads.isBlocked() || !H.length) {
- return
- }
- if (P && !H[0].late) {
- var t = $(".js-sidebar-ads"),
- e = DDG.page.ads.rightRailBoth,
- f = DDG.page.ads.rightRailSecond;
- if (f || e || (DDG.page.ads.ads.length > 2 && aq)) {
- t.addClass("results--ads results--ads--rrail");
- $("html").addClass("has-right-rail-ads")
- }
- if (e) {
- o = t[0]
- } else {
- o = d.getElementById("ads")
- }
- } else {
- var c = $('<div class="results--ads"></div>');
- if (H[0].late) {
- var at = !DDG.deep.isOutOfResults && (!DDG.settings.autoloadDisabled() || DDG.deep.lastPage >= DDG.deep.pageNumber);
- if (at) {
- $(".js-result-hidden-el:last").append(c)
- } else {
- $(".results_links_deep:last").after(c)
- }
- } else {
- $("#links").append(c)
- }
- o = c[0]
- }
- }
- }
- G = 0;
- if (az == "d" && (!H.length || H[E - 1]["t"] == "EOP" || H[E - 1]["t"] == "EOF" || !DDG.deep.hasMoreResultsToLoad())) {
- G = 1;
- DDG.deep.set("isOutOfResults", true);
- DDG.deep.set("isLastResult", true);
- if (H.length && H[E - 1]["t"] == "EOP") {
- G = 2
- }
- if (E === 1 && ag) {
- setTimeout(function() {
- DDG.pixel.fire("nre", {
- ss: DDG.page.showingSafeSearch
- })
- }, 250)
- }
- }
- if (az == "d") {
- $(".js-results-loading").remove();
- if (E > 1) {
- $(".js-result-sep.is-hidden").removeClass("is-hidden")
- }
- }
- Y = b = q = U = S = 0;
- for (var Q = 0; Q < E; Q++) {
- Y++;
- F = 0;
- if (!H[Q]) {
- continue
- }
- if (!a && Q > 0) {
- a = true
- }
- if (!DDG.settings.isDefault("k1") && H[Q]["p"]) {
- continue
- }
- if (az === "a" && ((Q > 0 && DDG.page.ads.rightRailSecond) || (Q > 1 && aq)) || H[Q] && H[Q].side) {
- o = $(".js-sidebar-ads")[0]
- }
- if (Y == 1 && rv == "i") {
- setTimeout('top.location.replace("' + H[Q]["u"] + '")', 100);
- return
- }
- if (DDG.pageLayout.isSlottingExperiment()) {
- DDG.page.pageLayoutView.renderModuleForSlot(az, ai, o, E)
- }
- var an = H[Q]["u"] || "";
- var W = H[Q]["d"] || "";
- W = W.split("/");
- var A = W.shift() || "";
- ab = 0;
- if (az == "d" && H[Q]["t"] == "EOP") {
- ab = 1;
- continue
- } else {
- if (az == "d" && H[Q]["t"] == "EOF") {
- ab = 1;
- continue
- }
- }
- if (az == "d" && !ab && !H[Q]["p"]) {
- if (!A || DDG.deep.resultDomains[H[Q]["u"]]) {
- if (b == 0 && Y == E && !ag && !DDG.deep.hideNoResults) {
- if (DDG.searchExperiments.getExperimentGroup("v7exp") !== "a") {
- nrj("/l.js?q=" + rq)
- }
- }
- if (Y == E) {
- F = 1
- } else {
- if (!DDG.pageLayout.isSlottingExperiment()) {
- continue
- }
- }
- } else {
- DDG.deep.resultDomains[H[Q]["u"]] = H[Q]["u"]
- }
- if (Q == (E - 1) && H[Q]["n"]) {
- DDG.page.deepNextURL = H[Q]["n"]
- }
- }
- if (!F) {
- b++;
- aw = d.createElement("div");
- aw.id = "r" + av + "-" + ai;
- ai++;
- $(aw).addClass("result results_links" + (az == "d" && !H[Q]["h"] ? "_deep" : "") + " highlight_" + az);
- if (au && az == "a") {
- $(aw).addClass("result--ad--good")
- }
- if (az === "a" && H[Q]["adn"]) {
- aw.setAttribute("data-adn", H[Q]["adn"])
- }
- if (az === "a" && H[Q]["adf"]) {
- aw.setAttribute("data-adf", 1)
- }
- aw.setAttribute("data-domain", A);
- var D = d.createElement("a");
- D.href = an;
- aw.setAttribute("data-hostname", D.hostname);
- if (typeof H[Q]["hu"] !== "undefined") {
- aw.setAttribute("data-hu", H[Q]["hu"])
- }
- }
- if (H[Q]["da"]) {
- DDG.search.deepAnswerIAs["r" + (ai - 1)] = H[Q]["da"]
- }
- if (F) {
- continue
- }
- ao = d.createElement("div");
- $(ao).addClass("result__body links_" + (av == 1 || av == "a" ? "main" : "zero_click"));
- if ((az == "d" || az == "a") && !H[Q]["h"]) {
- $(ao).addClass("links_deep")
- }
- var K;
- if (az != "r") {
- m = d.createElement("a");
- K = d.createElement("a");
- if (az == "d" || az == "a") {
- m.className = "result__a";
- m.setAttribute("rel", "noopener");
- K.setAttribute("rel", "noopener");
- K.className = "result__check";
- K.innerHTML = '<span class="result__check__tt">' + l("Your browser indicates if you've visited this link") + "</span>"
- }
- m.href = H[Q]["c"];
- K.href = H[Q]["c"];
- if (kn && kn == "1" && m && m.href && m.getAttribute("href").indexOf("http") != -1) {
- m.target = "_blank";
- K.target = "_blank"
- }
- M = d.createElement("h2");
- M.className = "result__title";
- m.innerHTML = H[Q]["t"];
- C = m;
- if (DDG.searchExperiments.demexp && DDG.searchExperiments.demexp.activeGroup === "c") {
- k = DDG.$exec_template("result_icon_lock", {
- icon: {
- hide: false
- }
- });
- M.appendChild(k[0])
- }
- M.appendChild(m);
- M.appendChild(K);
- ao.appendChild(M)
- }
- if (az == "d" || az == "a") {
- var n = new DDG.Views.ResultSnippet({
- model: new DDG.Models.ResultSnippet({
- isAd: az === "a",
- item: H[Q],
- showExtensionData: az === "a" && DDG.page.ads.canShowAdExtensions(Q, DDG.deep.pageNumber)
- }),
- appendTo: $(ao),
- parentDiv: aw
- });
- var ah = null,
- R = null,
- O = H[Q].l;
- if (DDG.pageLayout && DDG.pageLayout.canSendImpressions()) {
- O = DDG.getProperty(H[Q], "adext.sitelinks.l");
- R = DDG.getProperty(H[Q], "adext.sitelinks.tid")
- }
- if (az === "a" && O) {
- ah = new DDG.Models.AdSitelinks({
- sitelinksMarkup: O,
- tid: R,
- showEnhancedSiteLinks: DDG.page.ads.canShowEnhancedSiteLinks(Q),
- canShowGoodAdsLayout: DDG.page.ads.canShowGoodAdsLayout(),
- source: H[Q].s,
- adxExperiment: DDG.page.ads.adxExperiment,
- layoutName: DDG.page.ads.adx,
- isShowingLargeSitelinks: L,
- isFirstPageOfAds: P,
- domain: H[Q].d
- });
- L = ah.canShowLargeSitelinks()
- }
- am = d.createElement("div");
- am.className = "result__extras js-result-extras";
- var al = new DDG.Views.ResultExtras({
- model: new DDG.Models.ResultExtras({
- isAd: az === "a",
- item: H[Q]
- }),
- appendTo: $(am),
- parentDiv: aw,
- titleLockIcon: k
- });
- if (O && az === "a" && ah && !ah.canShowLargeSitelinks()) {
- DDG.page.views["adSitelinks" + Q] = new DDG.Views.AdSitelinks({
- model: ah,
- organicResultContainer: aw,
- appendTo: $(n.$el)
- })
- }
- if (!ab) {
- if (H[Q]["p"]) {
- DDG.page.views["adBadge" + Q] = new DDG.Views.AdBadge({
- appendTo: $(M)
- });
- appendAdClass(aw, Q, H[Q].s, H[Q])
- }
- }
- if (ah && ah.canShowLargeSitelinks() && g) {
- ao.appendChild(am);
- DDG.page.views["adSitelinks" + Q] = new DDG.Views.AdSitelinks({
- model: ah,
- organicResultContainer: aw,
- appendTo: $(ao)
- })
- } else {
- if (ah && ah.canShowLargeSitelinks()) {
- ao.insertBefore(am, ao.lastChild);
- aw.className += " result--url-above-snippet";
- DDG.page.views["adSitelinks" + Q] = new DDG.Views.AdSitelinks({
- model: ah,
- organicResultContainer: aw,
- appendTo: $(ao)
- })
- } else {
- if ((n.$el && !n.$el[0] || g)) {
- ao.appendChild(am)
- } else {
- ao.insertBefore(am, ao.lastChild);
- aw.className += " result--url-above-snippet"
- }
- }
- }
- }
- aw.appendChild(ao);
- o.appendChild(aw);
- if (az === "a") {
- DDG.pageLayout.recordAdImpression(H[Q], ah, n)
- }
- if (O && az === "d" && !h) {
- h = true;
- DDG.add_sitelinks(aw, Q, H, A)
- }
- if (!rc && aw.id == DDG.first_result) {
- rc = aw;
- var r = d.createElement("div");
- r.id = "organic-module";
- o.appendChild(r)
- }
- if (az == "d" && b == 1) {
- X = 0;
- u = new RegExp("^r1-(\\d+)$");
- if (rc && u.test(rc.id)) {
- ax = RegExp.$1
- }
- X = ax == ai ? 1 : 0;
- if (fk && X && (!aw.previousSibling || aw.previousSibling.id.indexOf("r1-") == -1)) {
- nrm(6, aw.id)
- }
- }
- var B = function(i, x, j, y) {
- if (i === "a") {
- adClick(x, j, y)
- }
- return nrl(y, this)
- };
- if (C) {
- C.onclick = B.bind(C, az, H[Q].s, aw)
- }
- }
- if (az == "d" && H[0] && H[0]["s"] && !DDG.deep.showedAttribution) {
- if (ag) {
- DDG.first_source = H[0]["s"]
- }
- DDG.search.set("src", H[0]["s"]);
- if (DDG.deep.canShowAttribution()) {
- new DDG.Views.WebAttribution({
- model: DDG.deep,
- appendTo: ".js-serp-bottom-right"
- });
- DDG.deep.set("showedAttribution", true)
- }
- }
- if (av == "a") {
- if (!r3c) {
- DDG.page.ads.setFirstBatchShown()
- }
- r3c = ai
- } else {
- if (!ag && resultsBetweenLastSeparators() < 10) {
- $(".js-result-sep:last").remove();
- DDG.deep.pageNumberDecrement()
- }
- r1c = ai
- }
- H = null;
- if (nir) {
- nir(az)
- }
- DDG.ImageLoader.locateUnloaded();
- var ay = document.getElementsByClassName("pinned-to-bottom")[0];
- if (ay && ag) {
- $("#links")[0].appendChild(ay)
- } else {
- if (!ay) {
- ay = d.createElement("div");
- $(ay).addClass("pinned-to-bottom");
- $("#links")[0].appendChild(ay)
- }
- }
- if (G && !DDG.deep.hideNoResults && !DDG.deep.getResultCount()) {
- DDG.page.noResults = new DDG.Views.NoResults({
- appendTo: $("#links")
- })
- }
- if (!G && Y == E && !q && N) {
- var aa = $("#links")[0];
- ao = d.createElement("div");
- $(ao).addClass("result result--more");
- m = d.createElement("a");
- m.href = "javascript:;";
- m.onclick = function() {
- DDG.pixel.fire("mrc");
- if (DDG.deep.hasPendingResults()) {
- nsr(this);
- DDG.deep.showPendingResults();
- $(".js-result-sep").removeClass("is-hidden")
- } else {
- nsr(this)
- }
- };
- m.className = "result__a";
- ao.id = "rld-" + ++rdc;
- m.appendChild(d.createTextNode(lp("additional_info_at", "More results")));
- m.className = "result--more__btn btn btn--full";
- ao.appendChild(m);
- aa.appendChild(ao);
- ao = d.createElement("div");
- ao.id = "rrd-" + rdc;
- ao.className = "js-result-hidden-el";
- $(ao).css("display", "none");
- aa.appendChild(ao);
- q = 1
- }
- if (nrb) {
- nrb()
- }
- }
- function nsr(f, s, e) {
- if (!f) {
- return
- }
- var j, i, h, c, g, m, o, n, k, r, a, u, b;
- h = new RegExp("^r[lr](.*)-(\\d+)$");
- f = f.parentNode;
- if (f.id && h.test(f.id)) {
- g = RegExp.$1 || 0;
- m = RegExp.$2 || 0
- }
- if (g && m) {
- if (tn == f.id) {
- return false
- }
- tn = f.id;
- b = j = i = 0;
- c = new RegExp("^r1-(\\d+)$");
- if (rc && c.test(rc.id)) {
- j = RegExp.$1
- }
- if (f.previousSibling && c.test(f.previousSibling.id)) {
- i = RegExp.$1
- }
- b = j && i && parseInt(j) == parseInt(i) + 1 ? 1 : 0;
- if (!fk) {
- b = 2
- }
- o = d.getElementById("rl" + g + "-" + m);
- n = d.getElementById("rr" + g + "-" + m);
- k = d.getElementById("rl" + g + "-" + (parseInt(m) + 1));
- var q = DDG.settings.get("kv");
- if (q && q != "-1" && rds != 0 && (rds != 1 || r1hc) && g && g.indexOf("i") == -1) {
- o.onmouseover = function() {};
- o.onmouseout = function() {};
- o.onclick = function() {};
- o.className = "result result--sep is-hidden js-result-sep";
- var p = DDG.deep.pageNumberIncrement();
- if (q == "m") {
- o.className += " result--sep--hr";
- o.innerHTML = ""
- } else {
- if (q == "l") {
- o.innerHTML = '<div class="result__pagenum">' + l("Page %s", p) + "</div>"
- } else {
- o.className += " result--sep--hr has-pagenum";
- o.innerHTML = '<div class="result__pagenum result__pagenum--side">' + p + "</div>"
- }
- }
- } else {
- $(o).css("display", "none")
- }
- n.style.display = "block";
- if (k && !s) {
- $(k).css("display", "block")
- } else {
- if (!k && (g == "d" || g == "e0" && !fd) && DDG.page.deepNextURL) {
- a = d.createElement("span");
- a.className = (!DDG.settings.autoloadDisabled()) ? "result--more" : "btn result--more";
- a.className += " is-loading js-results-loading";
- a.innerHTML = Handlebars.helpers.loader();
- n.parentNode.appendChild(a);
- if (rv == "d") {
- rv = ""
- }
- if (rds) {
- rds += 50
- } else {
- rds += 30
- }
- nrj(DDG.page.deepNextURL, 1);
- delete DDG.page.deepNextURL
- }
- }
- if (!s && !e && b == 1) {
- if (f.nextSibling.firstChild) {
- nrm(6, f.nextSibling.firstChild.id)
- }
- }
- }
- }
- function nul(b) {
- var a, c;
- var a = b.href.indexOf("/l/?kh=-1&uddg=");
- if (a != -1) {
- c = decodeURIComponent(b.href.substring(a + 15))
- }
- if (c) {
- b.href = c
- }
- fl = 0
- }
- function nutp(b) {
- var a = b.split("_");
- DDG.pixel.fire.apply(DDG.pixel, a);
- a.unshift("old");
- DDG.pixel.fire.apply(DDG.pixel, a)
- }
- function nua(i, j, h, g, b, e, c, a) {
- if (!b) {
- b = tr.length;
- tr[b] = j
- }
- if (!h) {
- h = 10
- }
- if (!g) {
- setTimeout(i + "(tr[" + b + "]," + e + "," + c + "," + a + ");", h)
- } else {
- if (!tsl) {
- tsl = ts.length;
- setTimeout(i + "(tr[" + b + "]," + e + "," + c + "," + a + ");tsl=0", 10)
- } else {
- setTimeout("nua(" + i + ",0,1," + b + "," + e + "," + c + "," + a + ")", 100)
- }
- }
- }
- function nug(e, g) {
- var b, c, f, a;
- fl = 0;
- fn = 0;
- a = "";
- if (window.getSelection) {
- a = window.getSelection().toString()
- } else {
- if (document.selection) {
- a = document.selection.createRange();
- a = a.text
- }
- }
- var h = a == DDG.last_selection ? 1 : 0;
- DDG.last_selection = a;
- if (!h) {
- return false
- }
- if (g) {
- openBlankWindow(e)
- } else {
- if (w.postMessage && !DDG.device.isSafari && !DDG.device.isIDevice && !DDG.device.isKonqueror && kg != "p" && DDG.settings.useRedirect()) {
- b = document.getElementById("iframe_hidden");
- b.contentWindow.postMessage("ddg:" + e, location.protocol + "//" + location.hostname)
- } else {
- if ((DDG.device.isIE || DDG.device.isIDevice || DDG.device.isChrome || DDG.device.isSafari || DDG.device.isFirefox) && e.indexOf("http") != -1 && kg != "p" && DDG.settings.useRedirect()) {
- if (d.getElementById("iframe_hidden")) {
- d.body.removeChild(d.getElementById("iframe_hidden"))
- }
- c = "<html><head><meta name='referrer' content='origin'></head><body><script language='JavaScript'>parent.window.location.href=\"" + e + '";<\/script></body></html>';
- b = d.createElement("iframe");
- b.id = "iframe_hidden";
- d.body.appendChild(b);
- f = b.document;
- if (b.contentDocument) {
- f = b.contentDocument
- } else {
- if (b.contentWindow) {
- f = b.contentWindow.document
- }
- }
- f.open();
- f.writeln(c);
- f.close()
- } else {
- w.location = e
- }
- }
- }
- }
- function nun(a) {
- return a.getElementsByTagName("a")[0]
- }
- function iframeOpen(c) {
- var e, f, b, g, a;
- e = document.createElement("iframe");
- e.style.display = "none";
- document.body.appendChild(e);
- f = e.contentDocument || e.contentWindow.document;
- g = '"' + c + '"';
- b = f.createElement("script");
- b.type = "text/javascript";
- b.text = "window.parent = null; window.top = null;window.frameElement = null; var child = window.open(" + g + ");if (child) { child.opener = null; }";
- f.body.appendChild(b);
- a = e.contentWindow.child;
- document.body.removeChild(e);
- return a
- }
- function openBlankWindow(a) {
- if (DDG.device.isSafari) {
- iframeOpen(a)
- } else {
- var b = window.open(a);
- if (b) {
- b.opener = null
- }
- }
- }
- function getLinkType(e) {
- var f = e.id.split("-");
- var c = f[0] === "ra";
- var b = parseInt(f[1], 10);
- var a = "_cn";
- if (c) {
- a = "_ca"
- } else {
- if (b === 0) {
- a = "_cz"
- }
- }
- return a
- }
- function adOrOrganicClick(a, i, f) {
- if (DDG.search.spelling) {
- DDG.pixel.fire("c", DDG.search.spelling.type)
- }
- var g = DDG.duckbar.activeTabId && DDG.duckbar.activeTabId !== "web" && DDG.duckbar.getActiveTab().pixelId,
- k = DDG.duckbar.initialTab && DDG.duckbar.initialTab.pixelId,
- h = DDG.duckbar.moduleAboveOrganics,
- j = {
- t: i,
- ss: DDG.page.showingSafeSearch,
- sp: DDG.search.spelling ? 1 : 0,
- osl: DDG.search.hasSiteLinks
- };
- j.u = DDG.search.src;
- if (a) {
- try {
- var m = $(a);
- j.dm = m.attr("data-domain");
- j.hn = m.attr("data-hostname");
- if (typeof m.attr("data-hu") !== "undefined") {
- j.hu = DDG.deep.hu = m.attr("data-hu")
- }
- if (typeof m.attr("data-idx") !== "undefined") {
- j.slc = m.attr("data-idx")
- }
- } catch (f) {}
- var c = i === "a" ? "a" : "";
- try {
- j.r = "r" + c + a.id.split("-").pop()
- } catch (f) {}
- j.da = j.r && (DDG.search.deepAnswerIAs[j.r] || 0)
- }
- j.nt = DDG.linkClickWillOpenInNewTab(f) ? 1 : 0;
- if (DDG.page.ads.hasAds()) {
- j.adx = DDG.page.ads.adx;
- j.adc = DDG.page.ads.getNumberOfTopAds()
- }
- if (DDG.page.ads.adxExperiment) {
- j.adx_name = DDG.page.ads.adxExperiment
- }
- j.rl = rl;
- j.dl = dl;
- j.oll = DDG.Data.languages.resultLanguagesPixelData;
- if (DDG.Data.languages.adLanguagesPixelData) {
- j.adll = DDG.Data.languages.adLanguagesPixelData
- }
- if (DDG.deep.bn) {
- j.i506 = DDG.deep.is506 ? 1 : 0;
- j.ivc = DDG.deep.bn.ivc ? 1 : 0;
- j.ibc = DDG.deep.bn.ibc ? 1 : 0
- }
- if (i === "d") {
- j.pr = m.data("protocol")
- }
- if (g || k || h) {
- var b = g ? DDG.duckbar.activeTabOpenType : k ? DDG.duckbar.initialTabOpenType : DDG.duckbar.moduleOpenType;
- DDG.pixel.fire("iaolc", g || k || h, b, j)
- } else {
- if (i !== "a") {
- DDG.pixel.fire("lc", j)
- }
- }
- }
- function organicClick(a, b) {
- adOrOrganicClick(a, "d", b)
- }
- function adClick(a, c, k) {
- var m = {},
- i = $(c).data("adn"),
- n = $(c).data("adf"),
- p = $(c).data("domain"),
- q = $(c).data("rel"),
- b = $(c).data("sld"),
- f = c && c.id,
- j = DDG.page.ads.adx;
- if (i) {
- m.n = i
- }
- if (n) {
- m.f = n
- }
- if (p) {
- m.d = p
- }
- m.sld = b ? 1 : 0;
- if (q) {
- for (var o in q) {
- m[o] = q[o]
- }
- }
- if (w.sourceTag) {
- m.st = w.sourceTag
- }
- m.nt = DDG.linkClickWillOpenInNewTab(k) ? 1 : 0;
- var h = /ra-(\d+)/.exec(f),
- g = h && h[1];
- m.r = g;
- m.rl = window.rl;
- if (j && j !== "ctl") {
- m.adx = j
- }
- if (DDG.page.ads.adxExperiment) {
- m.adx_name = DDG.page.ads.adxExperiment
- }
- DDG.pixel.addTimeToClick(m);
- DDG.pixel.fire("pae");
- DDG.pixel.fire("ad", a, "c", m);
- m.sexp = DDG.searchExperiments.getBackButtonData();
- m.timestamp = DDG.vqd.timestamp;
- DDG.backData.set(f, m);
- adOrOrganicClick(c, "a", k)
- }! function(j) {
- var h = j.Models,
- m = 1456290000000,
- a = 604800000,
- c = 86400000,
- f = 3600000,
- i = 60000,
- e = "atb-",
- g = new RegExp("^" + e);
- h.OpenSearch = function(o) {
- o = o || {};
- this._experiments = o.experiments || DDG.Data.Experiments;
- this._device = o.device || j.device;
- this._extension = o.extension || j.extension;
- this._addToBrowser = o.addToBrowser || j.addToBrowser;
- try {
- this._storage = o.storage || window.localStorage;
- if (this._storage) {
- for (var n = 0; n < this._storage.length; n++) {
- var s = this._storage.key(n);
- if (s && g.test(s)) {
- var p = s.replace(g, "");
- var r = Object.keys(this._experiments).find(function(t) {
- return this._experiments[t].variant === p
- }, this);
- if (!r || !this._experiments[r].variant || !this._experiments[r].active || !this._experiments[r].trap) {
- this._storage.removeItem(s)
- }
- }
- }
- }
- } catch (q) {}
- this._updateLatestVersion();
- this.atbVariant = this.getDefaultAtbVariant();
- this.installed = this.parseATB(j.history.get("atb"), {
- experiments: this._experiments,
- isDDGApp: this._device.isDDGApp,
- displayBrowserName: this._device.displayBrowserName
- })
- };
- h.OpenSearch.prototype = $.extend({}, {
- getATBVersionInfo: function(t) {
- t = t || new Date();
- var r = t.getTime(),
- y = r + (t.getTimezoneOffset() * i),
- x = new Date(y + (f * -5)),
- s = 13 - ((x.getFullYear() - 2016) % 6),
- u = 6 - ((x.getFullYear() - 2016) % 6),
- n = (x.getMonth() > 2 || (x.getMonth() == 2 && x.getDate() >= s)) && (x.getMonth() < 10 || (x.getMonth() == 10 && x.getDate() < u)),
- o = n ? m - f : m,
- q = r - o;
- var p = Math.ceil(q / a);
- var v = Math.ceil(q % a / c);
- return {
- minorVersion: v,
- majorVersion: p,
- version: "v" + p + "-" + v
- }
- },
- getFullATBParam: function() {
- return this.version + this.variant + this.atbVariant
- },
- getURL: function() {
- var n = w.location.protocol + "//" + w.location.host + "/opensearch.xml?atb=" + this.getFullATBParam();
- if (this._device.isAndroid && this._device.chromeVersion >= 57) {
- n += "&t=cros"
- } else {
- if (this._device.isIDevice && this._device.chromeVersion >= 72) {
- n += "&t=crios"
- }
- }
- return n
- },
- setATB: function(o, n) {
- this._updateLatestVersion(o, n)
- },
- addSearchProvider: function() {
- if (!w.external || !("AddSearchProvider" in w.external)) {
- return
- }
- w.external.AddSearchProvider(this.getURL());
- if (!this._device.isChrome && w != top) {
- setTimeout(function() {
- top.location.replace("https://duckduckgo.com")
- }, 10)
- }
- },
- parseATB: function(t, p) {
- if (!t || typeof t !== "string") {
- return {}
- }
- p = p || {};
- var q = t.match(/(v\d+)(\-\d)?/),
- n, o = {};
- if (q && q.length) {
- o.version = o.majorVersion = q[1];
- if (q[2] && q[2].match(/\-\d/)) {
- o.minorVersion = q[2][1];
- o.version += q[2]
- }
- if (o.version) {
- n = t.replace(o.version, "");
- if (n.length) {
- if (n[0] && n[0].match(/[a-z]/)) {
- o.variant = n[0]
- }
- if (n[1] && n[1].match(/[a-z]/)) {
- o.atbVariant = n[1]
- }
- }
- if (p.experiments) {
- for (var s in p.experiments) {
- var r = p.experiments[s];
- if (r.atb || r.versions.indexOf(o.version) === -1) {
- continue
- }
- if (p.isDDGApp && r.displayBrowserName && r.displayBrowserName !== p.displayBrowserName) {
- continue
- }
- if (p.isDDGApp && r.mobileAppVariants && o.variant === "s" && o.atbVariant) {
- o.experiment = s;
- o.variant = r.mobileAppVariants[o.variant + o.atbVariant]
- } else {
- if (!r.variants || r.variants.indexOf(o.variant) > -1) {
- o.experiment = s
- }
- }
- if (o.experiment && r.pixelId) {
- o.experimentPixelId = r.pixelId
- }
- }
- }
- }
- }
- return o
- },
- pickVariant: function(p) {
- p = p || this._experiments;
- var o = "_";
- if (j.settings.get("va")) {
- return j.settings.get("va")
- }
- var n = this.getTrappedAtbParams();
- if (n) {
- return n.variant
- }
- if (!this._extension.canInstall() && !this._addToBrowser.canAddToChromeMobile()) {
- return o
- }
- for (var s in p) {
- var r = p[s];
- if (!r.atb && r.variants instanceof Array && r.versions.indexOf(this.version) > -1 && this._canExperimentRun(r)) {
- o = r.variants[Math.floor(Math.random() * r.variants.length)]
- }
- if (r.atb && r.variants instanceof Array && r.variant) {
- var q = this.atbVariant;
- if (j.tParam.fromHomepage()) {
- q = j.tParam.get()
- }
- if (r.variants.indexOf(q) > -1 && this._canExperimentRun(r)) {
- o = r.variant
- }
- }
- }
- return o
- },
- _updateLatestVersion: function(o, n) {
- n = n || {};
- o = o || this.getATBVersionInfo();
- this.majorVersion = o.majorVersion;
- this.minorVersion = o.minorVersion;
- this.version = o.version;
- if (!n.skipVariant) {
- this.variant = this.pickVariant(this._experiments, {
- locale: window.locale,
- displayBrowserName: this._device.displayBrowserName
- })
- }
- },
- getDefaultAtbVariant: function() {
- if (this._getHost() === "start.duckduckgo.com") {
- return j.tParam.DEFAULT_VARIANT
- }
- if (j.tParam.fromHomepage()) {
- return j.tParam.get()
- }
- var n = this.getTrappedAtbParams();
- if (n) {
- return n.atbVariant
- }
- return j.tParam.DEFAULT_VARIANT
- },
- _canExperimentRun: function(n) {
- n = n || {};
- if (n.desktopOnly && this._device.isMobileDevice || n.mobileOnly && !this._device.isMobileDevice || n.appsOnly || n.englishOnly && !this._isEnglish() || n.nonEnglishOnly && this._isEnglish() || n.locale && n.locale !== window.locale.toLowerCase() || (Array.isArray(n.countries) && this._hasCountryCode() && n.countries.indexOf(window.ct) === -1) || n.displayBrowserName && n.displayBrowserName !== this._device.displayBrowserName || n.platformName && n.platformName !== this._device.pixelPlatformName || n.canInstallExtension && !this._extension.canInstall() || n.defaultThemeOnly && (!j.settings.isDefault("kae") || j.settings.isDarkTheme())) {
- return false
- }
- if (n.minScreenSize) {
- if (n.minScreenSize.width && (this._device.width < n.minScreenSize.width) || n.minScreenSize.height && (this._device.height < n.minScreenSize.height)) {
- return false
- }
- }
- if (typeof n.filter === "function") {
- return !!n.filter({
- device: this._device,
- extension: this._extension,
- settings: j.settings
- })
- }
- return true
- },
- _hasCountryCode: function() {
- if (window.ct) {
- return true
- }
- if (this._countryChecked) {
- return false
- }
- j.device.getCountry(function() {
- window.ct = j.device.countryCode;
- this._countryChecked = true;
- this._updateLatestVersion()
- }.bind(this));
- return false
- },
- allocateAtbVariant: function() {
- var r = j.tParam.DEFAULT_VARIANT;
- if (j.tParam.hasValue()) {
- return j.tParam.get()
- }
- var n = this.getTrappedAtbParams();
- if (n) {
- this.variant = n.variant;
- this.atbVariant = n.atbVariant;
- return this.atbVariant
- }
- var q = Math.random();
- for (var t in this._experiments) {
- var s = this._experiments[t];
- if (!s.atb || !s.active) {
- continue
- }
- if (!this._canExperimentRun(s)) {
- continue
- }
- if (s.stickyAtbVariant && !j.settings.isDefault("kax")) {
- var p = this._getStickyAtbVariant();
- if (s.variants.indexOf(p) !== -1) {
- r = p
- } else {
- r = j.tParam.DEFAULT_VARIANT
- }
- break
- }
- if (s.allocation.length === s.variants.length) {
- s.allocation.unshift(0)
- }
- for (var o = 1; s.allocation && o < s.allocation.length; o++) {
- if (q >= s.allocation[o - 1] && q < s.allocation[o]) {
- r = s.variants[o - 1];
- if (!j.settings.get("va") && s.variant && typeof s.variant === "string") {
- this.variant = s.variant
- }
- break
- }
- }
- }
- this.atbVariant = r;
- return r
- },
- isExperiment: function(n, o) {
- if (this.installed && this.installed.experiment === n && o) {
- if (typeof o === "string") {
- return this.installed.variant === o
- }
- return o.indexOf(this.installed.variant) !== -1
- }
- return false
- },
- _getHost: function() {
- return window.location.host.toLowerCase()
- },
- _isEnglish: function() {
- return window.locale && window.locale.indexOf("en_") === 0
- },
- getDaysSinceCohort: function(o) {
- if (!o) {
- return
- }
- var p = o.split("-"),
- n = p[0],
- q = p[1];
- if (!n || !q) {
- return
- }
- n = n.substring(1);
- q = q.replace(/[a-z_]/, "");
- return this._getDaysBetweenCohorts({
- majorVersion: parseInt(n, 10),
- minorVersion: parseInt(q, 10)
- }, j.opensearch)
- },
- _getDaysBetweenCohorts: function(o, n) {
- return 7 * (n.majorVersion - o.majorVersion) + (n.minorVersion - o.minorVersion)
- },
- _getStickyAtbVariant: function() {
- var o = j.settings.get("kax"),
- p = o.split("-"),
- n = p[0],
- r = p[1],
- q = "";
- if (!n || !r) {
- return q
- }
- q = r.replace(/[0-9]/, "");
- return q
- },
- getTrappedAtbParams: function() {
- try {
- for (var n = 0; n < this._storage.length; n++) {
- var t = this._storage.key(n);
- if (t && g.test(t)) {
- var p = t.replace(g, "");
- for (var s in this._experiments) {
- var r = this._experiments[s];
- if (r && r.active && r.trap && r.variant === p && Array.isArray(r.variants) && this._canExperimentRun(r)) {
- var q = k(this._storage.getItem(t));
- if (q && r.variants.indexOf(q.atbVariant) !== -1) {
- return q
- }
- }
- }
- }
- }
- } catch (o) {}
- return null
- },
- trap: function() {
- var n = this.getTrappedAtbParams();
- if (n || !this.variant || !this.atbVariant) {
- return false
- }
- try {
- this._storage.setItem(e + this.variant, b(this.variant, this.atbVariant));
- return true
- } catch (o) {}
- return false
- },
- findRunnableAtbExperimentByVariantAndAtbVariant: function(n, o) {
- for (var q in this._experiments) {
- var p = this._experiments[q];
- if (p && p.atb && p.active && p.variant === n && p.variants && Array.isArray(p.variants) && p.variants.indexOf(o) !== -1 && this._canExperimentRun(p)) {
- return p
- }
- }
- }
- });
- function b(o, n) {
- return o + "-" + n
- }
- function k(n) {
- var o = (n || "").split("-");
- return {
- variant: o[0],
- atbVariant: o[1]
- }
- }
- }(DDG);
- ! function(e) {
- var c = e.Models,
- b = c.Base,
- a = "imgFallback=/assets/icons/favicons/bang.png";
- c.AutoComplete = function(f) {
- b.call(this, f);
- this._endpoint = e.services.getURL("autocomplete")
- };
- c.AutoComplete.prototype = $.extend({}, b.prototype, {
- suggestions: [],
- cache: {},
- currentQuery: "",
- isBangQuery: function(f) {
- return !!f.match(/^![^! ]*$/)
- },
- clearData: function() {
- this.cache = {};
- this.suggestions = [];
- this.currentQuery = ""
- },
- getSuggestions: function(f) {
- this.currentQuery = f;
- if (!this.currentQuery) {
- this.set("suggestions", []);
- return
- }
- if (this.cache[f]) {
- this.set("suggestions", this.cache[f]);
- return
- }
- this._getSuggestionsThrottled(f)
- },
- addFallbackImageParam: function(f) {
- if (f.match(/\?.*?imgFallback=[^&]+/)) {
- f = f.replace(/imgFallback=[^&]+/, a)
- } else {
- f += "?" + a
- }
- return f
- },
- _getSuggestionsThrottled: $.throttle(300, function(f) {
- if (this._lastAjax && this._lastAjax.abort) {
- this._lastAjax.abort()
- }
- this._lastAjax = $.ajax({
- url: this._endpoint,
- data: {
- q: e.strip_all_html(f),
- kl: e.settings.region.id
- },
- type: "GET",
- context: this,
- dataType: "json"
- }).fail(function(h, g) {
- delete this._lastAjax;
- if (g !== "abort") {
- this.set("suggestions", [])
- }
- }.bind(this)).done(function(g) {
- delete this._lastAjax;
- this.cache[f] = g;
- this.set("suggestions", g)
- })
- })
- })
- }(DDG);
- ! function(a) {
- a.Views.Base = function(b) {
- this.model = b.model;
- this.views = this.views || {};
- this._baseOps = b;
- var c = b.appendTo || b.prependTo;
- this.$parent = (typeof c === "string") ? $(c) : c;
- this.$before = (typeof b.before === "string") ? $(b.before) : b.before;
- this.$after = (typeof b.after === "string") ? $(b.after) : b.after;
- if (b.events) {
- for (var e in b.events) {
- this.on(e, b.events[e])
- }
- }
- this._render(b);
- this._wrapLinks()
- };
- a.Views.Base.prototype = $.extend({}, EventEmitter2.prototype, a.Utils.Events, {
- destroy: function() {
- this.unbindEvents();
- this.destroyChildViews();
- this.$el && this.$el.remove()
- },
- destroyChildViews: function() {
- ! function b(e) {
- if (!e) {
- return
- }
- var f;
- if ($.isArray(e)) {
- for (var g = 0; g < e.length; g++) {
- f = e[g];
- if (f && $.isArray(f)) {
- b(f)
- } else {
- f && f.destroy && f.destroy()
- }
- }
- e = null
- } else {
- for (var h in e) {
- f = e[h];
- if (f && $.isArray(f)) {
- b(f)
- } else {
- f && f.destroy && f.destroy()
- }
- delete e[h]
- }
- }
- }(this.views);
- delete this.views
- },
- _render: function(b) {
- if (!this.$el) {
- if (b && b.$el) {
- this.$el = b.$el
- } else {
- this.$el = DDG.$exec_template(this.template, b || {})
- }
- }
- if (!this.$el) {
- throw new Error("Template Not Found: " + this.template)
- }
- this._addToDOM();
- this.$ = this.$el.find.bind(this.$el)
- },
- _rerender: function() {
- var c = this.$el.prev();
- if (c.length) {
- delete this.$parent;
- this.$after = c
- } else {
- var b = this.$el.next();
- if (b.length) {
- delete this.$parent;
- this.$before = b
- }
- }
- this.$el.remove();
- delete this.$el;
- this._render();
- this.emit("rerender");
- this._wrapLinks()
- },
- _wrapLinks: function(b) {
- if (!b || !b.length) {
- b = this.$el
- }
- if (!b) {
- return
- }
- b.find("a").each(function(e, f) {
- var c = $(f);
- if (c.data("wrapped")) {
- return
- }
- c.data("wrapped", true);
- if (!DDG.isInternalURL(f.href)) {
- c.on("click.wrap", this._onExternalLinkClick.bind(this))
- }
- }.bind(this))
- },
- _addToDOM: function() {
- if (this.$parent && this._baseOps.appendTo) {
- this.$parent.append(this.$el)
- } else {
- if (this.$parent && this._baseOps.prependTo) {
- this.$parent.prepend(this.$el)
- } else {
- if (this.$before) {
- this.$before.before(this.$el)
- } else {
- if (this.$after) {
- this.$after.after(this.$el)
- }
- }
- }
- }
- },
- _cacheElems: function(f, c) {
- for (var e = 0; e < c.length; e++) {
- var b = f + "-" + c[e],
- g = "$" + c[e].replace(/-/g, "");
- this[g] = this.$(b)
- }
- },
- _onExternalLinkClick: function(c) {
- var b = c.currentTarget;
- if (DDG.settings && !DDG.settings.isDefault("kn")) {
- b.target = "_blank";
- b.rel = "noopener"
- }
- return nrl(c, b)
- }
- })
- }(DDG);
- ! function(g) {
- var f = g.Views.Base,
- e = "is-open",
- a = ".js-side-menu-open",
- h = ["home", "serp", "app", "chrome_newtab"];
- g.Views.SideMenu = function(k) {
- this.pageType = k.pageType;
- this.showATB = k.showATB && h.indexOf(this.pageType) === -1;
- k.showStore = window.locale === "en_US";
- f.call(this, k);
- var j = [
- [$(a), "click touchstart", c],
- [this.$close, "click", c],
- ["a", "click", b],
- [this.$el, "click touchstart", function(m) {
- m.stopPropagation()
- }]
- ];
- this.bindEvents(j);
- this.PIXEL_OPS = {
- va: g.opensearch.variant,
- atbva: g.opensearch.atbVariant,
- l: w.locale,
- p: g.device.pixelPlatformName
- }
- };
- g.Views.SideMenu.prototype = $.extend({}, f.prototype, {
- template: "side_menu",
- linkTemplate: "side_menu_link",
- show: function() {
- if (this._isShowing) {
- return
- }
- g.ImageLoader.trigger("sidemenu");
- this.$el.addClass(e);
- g.$doc.on("click.body touchstart.body", this.hide.bind(this));
- this._isShowing = true;
- this.emit("opened");
- if (this.views.addToBrowser) {
- g.pixel.fire("atbmi", g.device.pixelBrowserName, g.opensearch.version, {
- va: g.opensearch.atbVariant,
- l: w.locale
- })
- }
- },
- hide: function() {
- if (!this._isShowing) {
- return
- }
- this.$el.removeClass(e);
- g.$doc.off("click.body touchstart.body");
- this._isShowing = false;
- this.emit("closed")
- },
- _render: function(k) {
- var m = g.device,
- n = m.canAddToBrowser(),
- j = DDG.$exec_template(this.linkTemplate, k);
- f.prototype._render.call(this, k);
- this._wrapLinks(j);
- this._cacheElems(".js-side-menu", ["close", "add-to", "love", "nolove"]);
- if (DDG.settings.get("ko") === "-1" && DDG.device.isAndroid && DDG.device.isDDGApp) {
- $(".js-header-aside").addClass("is-hidden")
- } else {
- $(k.appendLinkTo).append(j)
- }
- if (this.showATB && n && !m.isMobileDevice) {
- this.views.addToBrowser = new g.Views.AddToBrowserBadge({
- noBreak: true,
- entryPoint: "sm",
- clickPixel: "atbmc",
- xPixel: "atbmx",
- appendTo: this.$el
- })
- }
- if (k.showFeedbackIcons) {
- this.$love.on("click", i.bind(this, true));
- this.$nolove.on("click", i.bind(this, false))
- }
- }
- });
- var b = function(n) {
- var j = $(n.target),
- k = j.attr("href"),
- m = j.attr("data-settings");
- if ((g.page.pageType === "serp" || g.page.pageType === "home") && g.device.isSafari && m) {
- g.history.set("rld", "1")
- }
- if (k !== "#") {
- k = g.pixel.sanitizeUrl(k);
- g.pixel.fire("sml", this.pageType, k, this.PIXEL_OPS)
- }
- },
- c = function(k) {
- k.preventDefault();
- k.stopPropagation();
- if (Modernizr.touch) {
- var j = DDG.get_now();
- if (this._lastTime && j - this._lastTime < 600) {
- return
- }
- this._lastTime = j
- }
- if (!this._isShowing) {
- g.pixel.fire("smo", this.pageType, this.PIXEL_OPS);
- this.show()
- } else {
- this.hide()
- }
- },
- i = function(k, j) {
- j.preventDefault();
- if (!this.views.feedbackModal) {
- this.views.feedbackModal = new g.Views.Feedback.Modal({
- appendTo: $("body")
- })
- }
- this.hide();
- this.views.feedbackModal.show({
- isPositive: k
- })
- }
- }(DDG);
- ! function(f) {
- var b = f.Views.Base,
- k = "js-search-hidden-field";
- f.Views.SearchBar = function(p) {
- this.$el = typeof p.el === "string" ? $(p.el) : p.el;
- this.autocompleteOps = p.autocompleteOps || {};
- b.call(this, p)
- };
- f.Views.SearchBar.prototype = $.extend({}, b.prototype, {
- disableTabIndexes: function() {
- this.$input.attr("tabindex", "");
- this.$button.attr("tabindex", "");
- this.$clear.attr("tabindex", "")
- },
- enableTabIndexes: function() {
- this.$input.attr("tabindex", "1");
- this.$button.attr("tabindex", "2");
- this.$clear.attr("tabindex", "3")
- },
- _render: function(p) {
- b.prototype._render.call(this, p);
- this._cacheElems(".js-search", ["input", "clear", "button", "hidden"]);
- this.$body = $("body");
- this._upgradeToJSForm();
- if (f.opensearch && f.opensearch.isExperiment("msh2exp", "b")) {
- this.$clear.val("×");
- this.$el.addClass("search--mobile-exp")
- }
- this._updateInput();
- if (f.page.pageType === "serp" || f.page.pageType === "home") {
- this.$el.on("submit", g.bind(this))
- }
- this.$input.on("keyup", n.bind(this)).on("focus", m.bind(this));
- if (!f.device.isMobileDevice) {
- this.$input.on("blur", a.bind(this))
- }
- this.$clear.add(this.$button).on("focus", c.bind(this));
- f.keyboard.on("escape.searchbar", i.bind(this));
- if (Modernizr.touch) {
- this.$button.on("touchstart", h.bind(this));
- this.$clear.on("touchstart click", o.bind(this));
- this.$el.on("touchstart", e.bind(this))
- } else {
- this.$clear.on("click", o.bind(this));
- this.$el.on("click", e.bind(this))
- }
- if (this.$input[0]) {
- this.$input[0].setAttribute("autocapitalize", "off");
- this.$input[0].setAttribute("autocorrect", "off")
- }
- f.settings.on("change:" + f.settings.AUTOCOMPLETE_KEY, this._updateAutocomplete.bind(this));
- f.settings.on("change", this._updateHiddenFields.bind(this));
- f.settings.on("change:cloudsave", this._updateHiddenFields.bind(this));
- f.hidden.on("change", this._updateHiddenFields.bind(this));
- f.search.on("requery", this.requery.bind(this));
- this._updateAutocomplete();
- this._updateHiddenFields()
- },
- focus: function(p) {
- if (p && p.focusInput) {
- this.$input.focus()
- }
- if (fq) {
- return
- }
- if (p && p.setCursor) {
- this._setCursorPos()
- }
- this._focusTime = Date.now();
- fq = 1;
- this.$el.addClass("search--focus");
- f.$html.addClass("has-search-focus");
- if (f.device.isMobileDevice) {
- this.$body.on("touchstart.searchbar", j.bind(this))
- }
- this.hasFocus = true;
- if (f.page.pageType === "serp" && !this._addedMargin && f.device.isUCBrowserIOS) {
- this._addedMargin = true;
- this.$el.css("margin-top", 25);
- this._setCursorPos()
- }
- },
- unfocus: function() {
- if (!fq) {
- return
- }
- fq = 0;
- this.$input.blur();
- this.$el.removeClass("search--focus");
- f.$html.removeClass("has-search-focus");
- if (f.device.isMobileDevice) {
- this.$body.off("touchstart.searchbar")
- }
- if (f.keyboard.namespace === "searchbar") {
- f.keyboard.set("namespace")
- }
- this.hasFocus = false;
- if (f.page.pageType === "serp" && f.device.isUCBrowserIOS) {
- this._addedMargin = false;
- this.$el.css("margin-top", 0)
- }
- },
- requery: function() {
- f.history.clear("ia", "iai", "iax");
- this._updateHiddenFields();
- this.$el.submit()
- },
- updateQuery: function(p) {
- $("#search_form_input").val(p);
- this.requery()
- },
- _autocompleteOn: function() {
- if (!this.$input || this.autocomplete) {
- return
- }
- var p = false;
- if (this.autocompleteOps.parentForm) {
- p = $(this.autocompleteOps.parentForm)
- }
- this.autocomplete = new DDG.Views.AutoComplete({
- $input: this.$input,
- $parentForm: p
- });
- this.autocomplete.on("submit", function() {
- this._autocompleteSubmit = true;
- this.$el.submit()
- }.bind(this));
- this.$el.append(this.autocomplete.$el)
- },
- _autocompleteOff: function() {
- this.autocomplete && this.autocomplete.destroy();
- delete this.autocomplete
- },
- _clearForm: function() {
- if (this.autocomplete) {
- this.autocomplete.clear();
- this.autocomplete.hide()
- }
- this.$input.val("") && this.$input.focus();
- this._updateInput()
- },
- _upgradeToJSForm: function() {
- this.$el.addClass("search--adv").removeClass("search");
- this.$input.addClass("search__input--adv").removeClass("search__input");
- if (!f.device.isMobileDevice) {
- this.$el.hover(function() {
- $(this).addClass("search--hover")
- }, function() {
- $(this).removeClass("search--hover")
- })
- }
- },
- _updateAutocomplete: function() {
- var p = this.autocompleteOps.disableAutocomplete ? "-1" : f.settings.get(f.settings.AUTOCOMPLETE_KEY);
- if (p && p == "-1") {
- this._autocompleteOff()
- } else {
- this._autocompleteOn()
- }
- },
- _updateHiddenFields: function() {
- this.$el.find("." + k).remove();
- var q = f.settings.toJSON({
- onlyURLParams: true
- });
- q = $.extend({}, q, f.hidden.toJSON());
- var r;
- for (var p in q) {
- r = $("<input type='hidden' class='" + k + "'>");
- r.attr("name", p);
- r.val(q[p]);
- this.$hidden.append(r)
- }
- },
- _updateInput: function() {
- this._updateClearButton()
- },
- _updateClearButton: function() {
- if (!this.$input) {
- return
- }
- var p = this.$input.val();
- if (!p || p === "") {
- this.$el.removeClass("has-text");
- this.$clear.addClass("empty");
- this._hasText = ""
- } else {
- if (!this._hasText) {
- this.$el.addClass("has-text");
- this.$clear.removeClass("empty");
- this._hasText = 1
- }
- }
- },
- _setCursorPos: function() {
- if (f.device.isIDevice && f.page.pageType === "serp") {
- this.$input[0].focus();
- setTimeout(function() {
- var p = this.$input[0];
- p.setSelectionRange(p.value.length, p.value.length, "forward")
- }.bind(this), 0)
- }
- },
- getSiteQuery: function(r) {
- if (!r) {
- return false
- }
- r = f.strip_html(r);
- var q = /^(.*)(site:([^\s]+))(.*)$/i,
- p = r.match(q);
- if (!p || !p.length) {
- return
- }
- return {
- all: p[0],
- url: p[3],
- site: p[2],
- before: p[1],
- after: p[4],
- query: p[1] + p[4]
- }
- },
- addBangToSiteInQuery: function(p, q) {
- return q.replace(new RegExp("(^|\\s)(" + p + ")($|\\s)", "i"), "$1!$2$3")
- }
- });
- var n = function() {
- this.focus();
- if (!f.keyboard.namespace) {
- f.keyboard.set("namespace", "searchbar")
- }
- this._updateClearButton();
- if (!this._emittedTypedEvent) {
- this.emit("typed");
- this._emittedTypedEvent = true
- }
- },
- o = function(p) {
- p.preventDefault();
- p.stopPropagation();
- f.pixel.fire("ace", "cl", f.page.pageType);
- this._clearForm()
- },
- c = function(p) {
- f.keyboard.set("namespace", "searchbar")
- },
- m = function(p) {
- p.stopPropagation();
- f.keyboard.set("namespace", "searchbar");
- this.emit("focus");
- this.focus()
- },
- h = function(p) {
- p.stopPropagation()
- },
- g = function(r) {
- var p = Date.now() - this._focusTime;
- var s;
- if (f.page.pageType === "home") {
- s = {
- i: f.page.isInstalled(),
- atbi: f.page.canShowAddToBrowser(),
- va: f.opensearch.variant,
- atbva: f.opensearch.atbVariant,
- l: w.locale,
- p: f.device.pixelPlatformName,
- tts: p,
- ac: this._autocompleteSubmit ? 1 : 0
- };
- f.pixel.fire("hs", f.device.pixelBrowserName, f.opensearch.version, s)
- } else {
- var q = DDG.get_query() !== this.$input.val() ? 1 : 0;
- f.pixel.fire("rq", q, {
- r: DDG.deep.getResultCount() ? 1 : 0,
- tts: p,
- ac: this._autocompleteSubmit ? 1 : 0
- })
- }
- },
- e = function(p) {
- p.stopPropagation();
- this.focus({
- setCursor: true
- })
- },
- j = function(p) {
- p.stopPropagation();
- setTimeout(function() {
- this.emit("unfocus");
- this.unfocus()
- }.bind(this), 125)
- },
- a = function(p) {
- this.emit("unfocus");
- this.unfocus()
- },
- i = function(p) {
- if (this.autocomplete && this.autocomplete.isVisible()) {
- this.autocomplete.hide()
- } else {
- this.unfocus()
- }
- }
- }(DDG);
- ! function(c) {
- var b = c.Views.Base,
- a = "no-scroll";
- c.Views.Slider = function(e) {
- e = e || {};
- this.$el = e.$el || e.el && $(e.el);
- b.call(this, e);
- this.init(e)
- };
- c.Views.Slider.prototype = $.extend({}, b.prototype, {
- init: function(h) {
- if (!h.items) {
- return
- }
- this.items = [];
- this.$items = this.$el.find(h.items);
- this.noLoop = h.noLoop || "";
- if (h.next && h.prev) {
- this.$next = this.$el.find(h.next);
- this.$prev = this.$el.find(h.prev);
- this.$next.bind("click", this._onNextClick.bind(this));
- this.$prev.bind("click", this._onPrevClick.bind(this))
- }
- if (h.nav) {
- this.nav = h.nav;
- this.nav.className = h.nav.className || "slider-nav";
- if (this.nav.bindOnly) {
- this.$nav = this.$el.find("." + this.nav.className)
- }
- }
- for (var g = 0, e = this.$items.length; g < e; g++) {
- var j = {},
- f = $(this.$items[g]);
- j.idx = g;
- j.$html = f;
- if (h.nav) {
- if (h.nav.bindOnly || h.nav.noBind) {
- j.$nav = $(this.$nav[g]);
- j.$nav.on("click", this._onNavClick.bind(this, g))
- } else {
- j.$nav = this._makeNav(g)
- }
- }
- this.items[g] = j
- }
- this.items[0].$html.addClass("is-first");
- this.activeByIndex(0);
- if (h.animate) {
- this._animate = true;
- this.$slideEl = (h.slideEl) ? this.$el.find(h.slideEl) : this.items[0].$html
- }
- this._animateCb = h.animateCallback;
- if (h.timeout) {
- this._timing = parseInt(h.timeout, 10);
- this.setTimer();
- if (h.killtimeronclick) {
- this._killTimer = 1
- }
- }
- },
- _makeNav: function(f) {
- if (!this.$navWrap) {
- this.$navWrap = this._makeNavWrap()
- }
- var e = $('<li class="' + this.nav.className + '__item"></li>');
- e.on("click", this._onNavClick.bind(this, f));
- e.appendTo(this.$navWrap);
- return e
- },
- _makeNavWrap: function() {
- var e = $('<ul class="' + this.nav.className + '"></ul>');
- e.appendTo(this.$el);
- return e
- },
- setTimer: function() {
- this.clearTimer();
- var e = this;
- this.Timer = setTimeout(function() {
- e.advanceSlides()
- }, this._timing)
- },
- clearTimer: function() {
- var e = this;
- clearTimeout(e.Timer)
- },
- killTimer: function() {
- this.clearTimer();
- this._timing = ""
- },
- advanceSlides: function(e) {
- if (!e) {
- e = 1
- }
- e = parseInt(e, 10);
- var f = this._activeItem.idx + e;
- if (this.noLoop && (f >= this.items.length || f < 0)) {
- return false
- }
- if (f >= this.items.length) {
- f = 0
- } else {
- if (f < 0) {
- f = this.items.length - 1
- }
- }
- this.activeByIndex(f);
- if (this._timing) {
- this.setTimer()
- }
- },
- activeByIndex: function(e) {
- var f = this.items[e];
- if (!f) {
- return
- }
- this.deactivate();
- this._activeItem = f;
- this._activeItem.$html.addClass("is-active");
- if (this.nav) {
- this._activeItem.$nav.addClass("is-active")
- }
- if (this.noLoop && this.$next && this.$prev) {
- this._checkLoopPosition(e)
- }
- if (this._animate) {
- this.slideItems(e)
- }
- if (this._animateCb) {
- this._animateCb(e)
- }
- this._activeItem.$html.attr("aria-hidden", "false")
- },
- deactivate: function() {
- if (!this._activeItem) {
- return
- }
- this._activeItem.$html.removeClass("is-active");
- if (this.nav) {
- this._activeItem.$nav.removeClass("is-active")
- }
- this._activeItem.$html.attr("aria-hidden", "true")
- },
- slideItems: function(e) {
- var f = e * 100;
- this.$slideEl.css("margin-left", "-" + f + "%")
- },
- _checkLoopPosition: function(e) {
- if (this.$curNav) {
- this.$curNav.removeClass(a);
- delete this.$curNav
- }
- if (e === 0) {
- this.$prev.addClass(a);
- this.$curNav = this.$prev
- } else {
- if (e == this.items.length - 1) {
- this.$next.addClass(a);
- this.$curNav = this.$next
- }
- }
- },
- _onNextClick: function() {
- if (this._killTimer) {
- this.killTimer()
- }
- this.advanceSlides()
- },
- _onPrevClick: function() {
- if (this._killTimer) {
- this.killTimer()
- }
- this.advanceSlides(-1)
- },
- _onNavClick: function(f, g) {
- if (this.nav.noClick) {
- return
- }
- if (this._killTimer) {
- this.killTimer()
- }
- this.activeByIndex(f);
- if (this._timing) {
- this.setTimer()
- }
- }
- })
- }(DDG);
- ! function(c) {
- var a = c.Views.Base,
- e = "55",
- b = "$1,900,000";
- c.Views.HeaderLinks = function(f) {
- a.call(this, f);
- this._cacheElems(".js-hl", ["item", "button", "twitter"]);
- this._createPopouts();
- this.$el.find(".js-popout-link").off();
- this.bindEvents([
- [this.$item, "click", this._onItemClick.bind(this)],
- [this.$button, "click", this._onToggleClick.bind(this)],
- [this.$twitter, "click", this._twitterClick.bind(this)]
- ]);
- c.ImageLoader.registerAll(this.$el.find(".js-lazysvg"), "header");
- if (c.opensearch && c.opensearch.isExperiment("msh2exp", "b")) {
- new c.Views.Dropdowns.SettingsDropdown({
- appendTo: this.$parent,
- isCog: true
- })
- }
- this.PIXEL_OPS = {
- va: c.opensearch.variant,
- atbva: c.opensearch.atbVariant,
- l: w.locale,
- p: c.device.pixelPlatformName
- }
- };
- c.Views.HeaderLinks.prototype = $.extend({}, a.prototype, {
- template: "showcase_dropdown",
- hide: function() {
- this.popouts.forEach(function(f) {
- f.hide()
- })
- },
- _render: function() {
- var h = c.page.pageType === "serp" || c.page.pageType === "home";
- var f = false,
- g = f && (c.page.pageType === "serp" && c.device.isEnglish),
- j = "",
- i = f && "https://www.surveymonkey.com/r/" + j;
- a.prototype._render.call(this, {
- showSurvey: g,
- surveyURL: i,
- showDropdown: h,
- showSocial: h,
- billionSearchCount: e,
- donationCount: b
- })
- },
- _twitterClick: function() {
- c.pixel.fire("hlt", c.page.pageType, this.PIXEL_OPS)
- },
- _onItemClick: function(h) {
- var f = $(h.currentTarget),
- i = f.data("id"),
- g = f.data("type");
- switch (g) {
- case "showcase":
- c.pixel.fire("shc", i, c.page.pageType, this.PIXEL_OPS);
- break;
- case "social":
- c.pixel.fire("sshc", i, c.page.pageType, this.PIXEL_OPS);
- break
- }
- },
- _onToggleClick: function(h) {
- var f = $(h.currentTarget),
- g = f.data("type");
- f.attr("aria-pressed", true);
- switch (g) {
- case "showcase":
- c.pixel.fire("shs", c.page.pageType, this.PIXEL_OPS);
- break;
- case "social":
- c.ImageLoader.trigger("header");
- c.pixel.fire("sshs", c.page.pageType, this.PIXEL_OPS);
- break
- }
- this.KVpopouts[g].toggle();
- if (this.KVpopouts[g].isShowing) {
- Object.keys(this.KVpopouts).forEach(function(i) {
- if (i !== g) {
- this.KVpopouts[i].hide()
- }
- }.bind(this))
- }
- },
- _createPopouts: function() {
- this.$popouts = this.$el.find(".js-popout");
- this.popouts = [];
- this.$popouts.each($.proxy(function(j, k) {
- var h = $(k),
- f = h.find(".js-popout-link"),
- g = new c.Views.Modal({
- $el: h.find(".js-popout-main")
- });
- f.click(g.toggle.bind(g));
- g.setTrigger(f);
- this.popouts.push(g)
- }, this));
- this.KVpopouts = {};
- this.popouts.forEach(function(f) {
- this.KVpopouts[f.$el.data("type")] = f
- }.bind(this))
- }
- })
- }(DDG);
- ! function(c) {
- var b = c.Views.Base;
- c.Views.PlayButton = function(f) {
- this.url = f.url;
- if (!this.url && f.$el) {
- this.url = f.$el.data("url")
- }
- b.call(this, f);
- this.$btn = this.$(".js-play-btn-icn");
- this.$err = this.$(".js-play-btn-err");
- this.$btn.on("click", this.play.bind(this))
- };
- c.Views.PlayButton.prototype = $.extend({}, b.prototype, {
- template: "play_button",
- play: function() {
- this.$btn.text("");
- c.require("audio", a.bind(this))
- }
- });
- var a = function(g) {
- if (!g || !g.ready) {
- return e.call(this)
- }
- var f = this;
- g.play(this.url, this.url, {
- autoPlay: true,
- onloadstart: function() {
- f.$btn.addClass("is-loading")
- },
- onload: function(h) {
- if (!h) {
- e.call(f)
- }
- },
- onplay: function() {
- f.$btn.removeClass("is-loading");
- f.$btn.addClass("is-playing")
- },
- onfinish: function() {
- f.$btn.removeClass("is-playing");
- f.$btn.text("â–º")
- }
- })
- },
- e = function() {
- this.$btn.addClass("is-hidden");
- this.$err.removeClass("is-hidden");
- this.$err.text("Audio Unavailable")
- }
- }(DDG);
- ! function(c) {
- var b = c.Views.Base,
- e = 50,
- a = 50,
- f = 2000;
- c.Views.Notification = function(g) {
- b.call(this, g);
- this.$text = this.$(".js-notification-text");
- this._initTime = new Date().getTime();
- this.$el.on("click touchstart", function(h) {
- h.stopPropagation();
- this.hide()
- }.bind(this))
- };
- c.Views.Notification.prototype = $.extend({}, b.prototype, {
- template: "notification",
- flash: function(h, g) {
- if (new Date().getTime() - this._initTime < e) {
- return setTimeout(this.flash.bind(this, h, g), a)
- }
- this.hide();
- this.$text.text(h);
- this.$el.addClass("is-showing");
- this._timeout = setTimeout(this.hide.bind(this), g || f)
- },
- hide: function() {
- if (this._timeout) {
- clearTimeout(this._timeout);
- delete this._timeout
- }
- this.$el.removeClass("is-showing")
- }
- })
- }(DDG);
- ! function(g) {
- var f = g.Views.Base,
- h = "acp",
- b = h + "--highlight",
- a = "search__autocomplete--bang",
- e = "search__autocomplete--two-rows",
- c = "acp-wrap__column--left",
- i = "acp-wrap__column--right";
- g.Views.AutoComplete = function(j) {
- j.model = j.model || new g.Models.AutoComplete();
- f.call(this, j);
- this.$input = j.$input;
- this.isTwoRowsText = j.isTwoRowsText;
- this.$parentForm = j.$parentForm || this.$input.parents(".js-search-form");
- this._cacheElems(".js-acp", ["wrap", "footer", "footer-link"]);
- this.$el.on("mouseleave.autocomplete", this._onMouseLeave.bind(this)).on("mousemove.autocomplete", "." + h, this._onMouseMove.bind(this)).on("mousedown.autocomplete", "." + h, this._onMouseDown.bind(this)).on("touchstart.autocomplete", "." + h, this._onTouchStart.bind(this)).on("touchend.autocomplete", "." + h, this._onTouchEnd.bind(this)).on("click.autocomplete", "." + h, this._onClick.bind(this)).on("click.autocomplete", ".js-search-fill", this._onSearchFillClick.bind(this));
- this.$input.on("blur.autocomplete", this._onBlur.bind(this)).on("input.autocomplete", this._onInput.bind(this)).on("click.autocomplete", this.show.bind(this));
- this.$footerlink.on("mousedown", this._onFooterLinkMouseDown.bind(this)).on("mouseup", this._onFooterLinkMouseUp.bind(this)).on("click", this._onFooterLinkClick.bind(this));
- this.bindEvents([
- [this.model, "change:suggestions", this._displayResults],
- [g.keyboard, "escape.autocomplete", this._onEscape],
- [g.keyboard, "enter.autocomplete", this._onEnter],
- [g.keyboard, "up.autocomplete", this._onUp],
- [g.keyboard, "down.autocomplete", this._onDown],
- [g.keyboard, "left.autocomplete", this._onLeft],
- [g.keyboard, "right.autocomplete", this._onRight],
- [g.keyboard, "down.searchbar", this._onSearchBarDown]
- ])
- };
- g.Views.AutoComplete.prototype = $.extend({}, f.prototype, {
- template: "autocomplete",
- _highlightedIndex: -1,
- _visible: false,
- _bangLayoutTemplate: "autocomplete_bang_layout",
- _textItemTemplate: "autocomplete_text_item",
- _textItemTemplateTwoRows: "autocomplete_text_item_two_rows",
- _bangItemTemplate: "autocomplete_bang_item",
- destroy: function() {
- this.$input.off(".autocomplete");
- f.prototype.destroy.call(this)
- },
- show: function() {
- if (this.model.suggestions.length > 0) {
- this._visible = true;
- this.$el.show();
- this.$parentForm.addClass("has-suggestions");
- g.pixel.fire("acp", g.page.pageType)
- }
- if (this.model.suggestions.length === 0) {
- this.model.getSuggestions(this.$input.val())
- }
- },
- hide: function() {
- this._visible = false;
- this.$el.hide();
- this.$parentForm.removeClass("has-suggestions");
- if (g.keyboard.namespace === "autocomplete") {
- g.keyboard.set("namespace")
- }
- },
- clear: function() {
- this._highlightedIndex = -1;
- this.model.clearData()
- },
- isVisible: function() {
- return this._visible
- },
- _updateScroll: function() {
- var k, n, o, m, j;
- k = this.$("." + h + "." + b);
- if (k.length === 0) {
- return
- }
- n = this.$wrap.scrollTop();
- o = parseInt(this.$wrap.css("height"), 10);
- m = k.position().top;
- j = m + parseInt(k.css("height"), 10) + 2 * parseInt(k.css("padding-bottom"), 10);
- if (m < 0) {
- this.$wrap.scrollTop(n + m)
- } else {
- if (j > o) {
- this.$wrap.scrollTop(n + j - o)
- }
- }
- },
- _highlightItem: function(j) {
- if (j === this._highlightedIndex) {
- return
- }
- this.$("." + b).removeClass(b);
- this._highlightedIndex = j;
- this.$("." + h + "[data-index='" + j + "']").addClass(b)
- },
- _applyHighlightedSuggestion: function() {
- var j = this.model.suggestions[this._highlightedIndex];
- if (!j) {
- this.$input.val(this.model.currentQuery);
- return
- }
- var m = j.phrase || j.what,
- k = this.model.isBangQuery(this.model.currentQuery);
- if (k) {
- m += " "
- }
- this.$input.val(m)
- },
- _isColumnLayout: function() {
- return this.model.isBangQuery(this.model.currentQuery) && !g.device.isMobile
- },
- _renderBangResults: function(n) {
- var o = this._bangItemTemplate,
- m, q, j = g.device.isMobile,
- p, k;
- this.$wrap.append(DDG.$exec_template(this._bangLayoutTemplate));
- m = this.$("." + c);
- q = this.$("." + i);
- p = Math.ceil(n.length / 2);
- $.each(n, function(s, r) {
- r.i = s;
- r.originalQuery = this.model.currentQuery;
- if (r.phrase.length > 11) {
- r.longPhrase = true
- }
- r.image = this.model.addFallbackImageParam(r.image);
- k = DDG.exec_template(o, r);
- if (s < p || j) {
- m.append(k)
- } else {
- q.append(k)
- }
- }.bind(this));
- this.$el.addClass(a);
- this.$footer.removeClass("is-hidden")
- },
- _renderSingleRowTextResults: function(k) {
- var m = this._textItemTemplate,
- j = g.strip_all_html(this.model.currentQuery);
- $.each(k, function(q, n) {
- var r = g.strip_all_html(n.phrase);
- var p = '<span class="t-normal">';
- var o = "</span>";
- this.$wrap.append(DDG.$exec_template(m, {
- i: q,
- phrase: r.replace(j, p + j + o),
- searchFillArrow: g.opensearch && g.opensearch.isExperiment("msh2exp", "b") && g.device && g.device.isMobile
- }))
- }.bind(this));
- this.$el.removeClass(a);
- this.$footer.addClass("is-hidden")
- },
- _renderTwoRowsTextResults: function(k) {
- var m = this._textItemTemplateTwoRows;
- var j = new RegExp("(" + this.model.currentQuery.trim() + ")", "i");
- $.each(k, function(r, n) {
- var q = g.strip_all_html(n.what);
- var p = g.strip_all_html(n.where);
- var o = q.replace(j, '<span class="t-bold">$1</span>');
- this.$wrap.append(DDG.$exec_template(m, {
- i: r,
- what: o,
- where: p
- }))
- }.bind(this));
- this.$el.addClass(e)
- },
- _displayResults: function() {
- var j = this.model.suggestions;
- if (!this.model.currentQuery || j.length === 0) {
- this.hide();
- return
- }
- if (!this._visible) {
- this.show()
- }
- this._highlightedIndex = -1;
- this.$wrap.html("");
- if (this.model.isBangQuery(this.model.currentQuery)) {
- this._renderBangResults(j)
- } else {
- if (this.isTwoRowsText) {
- this._renderTwoRowsTextResults(j)
- } else {
- this._renderSingleRowTextResults(j)
- }
- }
- },
- _highlightItemByOffset: function(k) {
- var j = this._highlightedIndex + k;
- if (j >= this.model.suggestions.length) {
- return
- }
- this._highlightItem(j);
- this._updateScroll()
- },
- _focusInput: function() {
- var j = this.$input.val();
- this.$input.focus().val(j)
- },
- _onMouseMove: function(k) {
- var j = $(k.currentTarget).data("index");
- this._highlightItem(j);
- g.keyboard.set("namespace", "autocomplete")
- },
- _onMouseLeave: function() {
- this._highlightItem(-1)
- },
- _onTouchStart: function(k) {
- k.stopPropagation();
- var j = $(k.currentTarget).data("index");
- this._highlightItem(j)
- },
- _onTouchEnd: function(j) {
- this._highlightItem(-1)
- },
- _onBlur: function(j) {
- if (this._highlightedIndex > -1) {
- return
- }
- if (this._noHideOnBlur) {
- return
- }
- this.hide()
- },
- _onMouseDown: function(k) {
- var j = $(k.currentTarget).data("index");
- this._highlightItem(j)
- },
- _onClick: function(n) {
- this._applyHighlightedSuggestion();
- var m = this.isTwoRowsText || this.model.isBangQuery(this.model.currentQuery);
- if (this.isTwoRowsText) {
- var j = this.model.getSuggestion(this._highlightedIndex);
- this.emit("requery-submit", {
- suggestion: j,
- strict_bbox: "0",
- shouldMapViewportUpdate: true
- });
- g.pixel.fire("map_ere");
- if (j.type) {
- g.pixel.fire("map_er", "ac", j.type, {
- q: j.what
- })
- } else {
- var k = j.where ? j.what + " " + j.where : j.what;
- g.pixel.fire("map_er", "ac", {
- q: k
- })
- }
- } else {
- if (!this.model.isBangQuery(this.model.currentQuery)) {
- this.emit("submit")
- }
- }
- this.clear();
- this.hide();
- if (m) {
- this._focusInput()
- }
- },
- _onSearchFillClick: function(k) {
- k.preventDefault();
- k.stopPropagation();
- var j = this.model.suggestions[this._highlightedIndex].phrase + " ";
- this.$input.val(j);
- this.$input.focus();
- this.model.getSuggestions(j);
- g.pixel.fire("ace", "sf", g.page.pageType);
- return false
- },
- _onFooterLinkMouseDown: function(j) {
- this._noHideOnBlur = true
- },
- _onFooterLinkMouseUp: function(j) {
- this._noHideOnBlur = false
- },
- _onFooterLinkClick: function(j) {
- j.stopPropagation()
- },
- _onEscape: function(j) {
- if (!this._visible) {
- return
- }
- this._highlightItem(-1);
- this._applyHighlightedSuggestion();
- this._focusInput();
- this.hide()
- },
- _onEnter: function(k) {
- if (!this._visible) {
- return
- }
- if (this.model.isBangQuery(this.model.currentQuery)) {
- k.stopImmediatePropagation();
- k.preventDefault();
- this._focusInput()
- } else {
- if (this.isTwoRowsText) {
- var j = this.model.getSuggestion(this._highlightedIndex);
- if (j) {
- this.model.selectedSuggestion = j;
- this.emit("requery-submit", {
- suggestion: j,
- strict_bbox: "0",
- shouldMapViewportUpdate: true
- })
- }
- } else {
- this.emit("submit")
- }
- }
- this.clear();
- this.hide()
- },
- _onSearchBarDown: function(j) {
- if (!this._visible) {
- return
- }
- this._onDown(j);
- g.keyboard.set("namespace", "autocomplete")
- },
- _onInput: function(j) {
- var k = this.$input.val();
- if (k === this.model.currentQuery) {
- return
- }
- if (this.isTwoRowsText && k) {
- g.keyboard.set("namespace", "searchbar")
- } else {
- if (this.isTwoRowsText && !k) {
- this.model.clearData();
- this.hide();
- return
- }
- }
- this.model.getSuggestions(k);
- this._displayResults()
- },
- _onUp: function(k) {
- k.preventDefault();
- var j = Math.ceil(this.model.suggestions.length / 2);
- if (this._highlightedIndex === 0) {
- this._focusInput()
- }
- if (this._isColumnLayout() && this._highlightedIndex === j) {
- return
- }
- if (this._highlightedIndex >= 0) {
- this._highlightItemByOffset(-1);
- this._applyHighlightedSuggestion()
- }
- },
- _onDown: function(m) {
- m.preventDefault();
- var k = Math.ceil(this.model.suggestions.length / 2),
- j;
- j = this._highlightedIndex === this.model.suggestions.length - 1 || (this._isColumnLayout() && this._highlightedIndex === k - 1);
- if (j) {
- return
- }
- this._highlightItemByOffset(1);
- this._applyHighlightedSuggestion()
- },
- _onLeft: function(k) {
- if (!this.model.isBangQuery(this.model.currentQuery)) {
- return
- }
- k.preventDefault();
- var j = Math.ceil(this.model.suggestions.length / 2);
- if (this._isColumnLayout() && this._highlightedIndex >= j) {
- this._highlightItemByOffset(-j)
- }
- this._applyHighlightedSuggestion()
- },
- _onRight: function(k) {
- if (!this.model.isBangQuery(this.model.currentQuery)) {
- return
- }
- k.preventDefault();
- var j = Math.ceil(this.model.suggestions.length / 2);
- if (this._isColumnLayout() && this._highlightedIndex < j) {
- this._highlightItemByOffset(j)
- }
- this._applyHighlightedSuggestion()
- }
- })
- }(DDG);
- ! function(b) {
- var a = b.Views.Base;
- b.Views.Modal = function(c) {
- a.call(this, c);
- this._isPopover = c.isPopover;
- b.keyboard.on("escape.modal", this.hide.bind(this))
- };
- b.Views.Modal.prototype = $.extend({}, a.prototype, {
- show: function() {
- if (this.isShowing) {
- return
- }
- this.isShowing = true;
- setTimeout(function() {
- this.$el.addClass("is-showing");
- b.$doc.on("mouseup.modal touchend.modal", function(f) {
- var c = this.$el.has(f.target);
- if (!c) {
- this.hide()
- }
- }.bind(this))
- }.bind(this), 1);
- if (this.$trigger) {
- this.$trigger.on("mouseup.modal touchend.modal", function(c) {
- c.stopPropagation()
- })
- }
- this._previousNamespace = b.keyboard.namespace;
- b.keyboard.set("namespace", "modal");
- this.emit("shown")
- },
- hide: function() {
- if (!this.isShowing) {
- return
- }
- this.isShowing = false;
- this.$el.removeClass("is-showing");
- b.$doc.off("mouseup.modal touchend.modal");
- this.$el.off("mouseup.modal touchend.modal");
- b.keyboard.set("namespace", this._previousNamespace);
- this.emit("hidden")
- },
- toggle: function() {
- return this.isShowing ? this.hide() : this.show()
- },
- destroy: function() {
- this.hide();
- a.prototype.destroy.call(this)
- },
- pointAt: function(c) {
- if (this._isPopover) {
- return
- }
- this.$el.css(c)
- },
- setTrigger: function(c) {
- this.$trigger = c
- },
- _render: function(c) {
- a.prototype._render.call(this, c);
- this.$(".js-modal-close").click(function(f) {
- f.preventDefault();
- f.stopPropagation();
- this.hide()
- }.bind(this))
- }
- })
- }(DDG);
- ! function(b) {
- var a = b.Views.Base;
- b.Views.Dismissable = function(c) {
- a.call(this, c)
- };
- b.Views.Dismissable.prototype = $.extend({}, a.prototype, {
- _render: function(c) {
- a.prototype._render.call(this, c);
- this.$(".js-close").click(function(f) {
- this.hide()
- }.bind(this))
- },
- unhide: function() {
- this.$el.removeClass("d-none")
- },
- hide: function() {
- this.$el.addClass("d-none")
- },
- destroy: function() {
- this.hide();
- a.prototype.destroy.call(this)
- }
- })
- }(DDG);
- ! function(b) {
- var a = b.Views.Base;
- b.Views.HomepageTagline = function(c) {
- a.call(this, $.extend(c, {
- shouldShowSpread: true
- }));
- this.$(".js-tag-item-link").click(function(f) {
- f.preventDefault();
- b.pixel.fire("htl", {
- b: b.device.pixelBrowserName,
- d: b.device.pixelId,
- atb: b.opensearch.version,
- atbva: b.opensearch.atbVariant,
- va: b.opensearch.variant,
- l: w.locale,
- i: b.page.isInstalled()
- });
- setTimeout(function() {
- window.location.href = "https://duckduckgo.com/spread"
- }, 10)
- })
- };
- b.Views.HomepageTagline.prototype = $.extend({}, a.prototype, {
- template: "homepage_tagline"
- })
- }(DDG);
- ! function(c) {
- var a = c.Views.Base,
- b = 5,
- e = 0;
- c.Views.OnboardingEducation = function(g) {
- var f = this;
- this.model = g.model;
- this.pageView = g.pageView;
- this.learnMore = g.learnMore;
- this.template = "hp_onboarding_education";
- this.currentSlide = e;
- this.lastScrollPosition = null;
- this.$body = $("body");
- this.ignoreScrollEvents = true;
- this.doRenderTeaserArrow = c.device.isDesktop && g.doRenderTeaserArrow;
- this.renderFirstSlideArrow = g.renderFirstSlideArrow || (c.device.isMobile && (!c.page.canShowAddToBrowser() || (c.page.canShowAddToBrowser() && c.device.isAndroidChromeNoOpenSearch)));
- if (!this.learnMore && !c.page.scrollToOnboarding && (!this.pageView.canShowHomepageOnboardingEducation.call(this.pageView) || c.addToBrowser.canShowMobileBanner() || c.device.isLegacyAndroid || !window.Modernizr.svg)) {
- this._render = function() {};
- return
- }
- if (!c.device.isMobile && window.Modernizr.csstransitions && !g.preventAnimation) {
- this.model.isSVGAnimated = true
- }
- a.call(this, g);
- this.$body.addClass("body--onboarding");
- this.$logoTT = $(".logo_homepage__tt");
- this.$logoTT.html(l("Learn %sMore%s", "", ""));
- this._cacheElems(".js-onboarding-ed", ["arrow", "teaser", "slide", "slide-1", "slide-2", "slide-3", "slide-4", "image-container-1", "image-container-2", "image-container-3", "image-container-4", "balance-text", "dismiss", "back-to-search", "install", "spread", "tweet-button"]);
- this.bindEvents([
- [c.device, "scroll", $.throttle(100, this._onScroll.bind(this))],
- [c.device, "resize", $.debounce(300, false, this._onResize.bind(this))],
- [this.$arrow, "click", this._onArrowClick],
- [this.$teaser, "click", this._onArrowClick],
- [$(".logo_homepage"), "click", this._onArrowClick],
- [$(".js-tag-item-about"), "click", this._onArrowClick],
- [this.$dismiss, "click", this._onDismissClick],
- [this.$backtosearch, "click", this._onBackToSearchClick],
- [this.$tweetbutton, "click", this._onTweetButtonClick],
- [$("form"), "focusin", this._hideAfterKeyboardActivation]
- ].concat(g.isCppExp ? [
- [c.onboarding, "change:step", this._onChangeOnboardingStep]
- ] : []));
- if (!this.pageView.canShowHomepageEducationInstallButton.call(this.pageView)) {
- this.$install.hide();
- this.$spread.show()
- }
- this.$arrow.hide();
- this.isArrowHidden = true;
- if (this.doRenderTeaserArrow) {
- this.$teaser.show()
- }
- if (this.renderFirstSlideArrow) {
- this.$arrow.show();
- this.isArrowHidden = false
- }
- this._balanceText();
- window.setTimeout(function() {
- this._balanceText()
- }.bind(this), 500);
- var h = $(".js-hp-lazysvg");
- DDG.ImageLoader.registerAll(h, "scrollY");
- window.setTimeout(function() {
- var j = c.device.height;
- var i = c.device.scrollTop();
- f.currentSlide = Math.round(i / j);
- if (f.currentSlide > 0) {
- f._snapToSlideScroll()
- } else {
- f.ignoreScrollEvents = false
- }
- }, 750);
- if (c.page.scrollToOnboarding) {
- window.setTimeout(function() {
- if (f.currentSlide === 0) {
- f.currentSlide = 1;
- f._snapToSlideScroll()
- }
- }, 1000)
- }
- };
- c.Views.OnboardingEducation.prototype = $.extend({}, a.prototype, {
- _balanceText: function() {
- if (typeof($.balanceText) === "function") {
- $.balanceText(this.$balancetext, {
- watch: false
- })
- }
- },
- _hideAfterKeyboardActivation: function() {
- if (c.device.isMobile || c.device.isMobileDevice) {
- this._hide()
- }
- },
- _hide: function() {
- this.$el.hide();
- this.$logoTT.html(l("Duck it", "", ""));
- this.$body.removeClass("body--onboarding")
- },
- _onArrowClick: function(h) {
- if (this.model.isDismissed) {
- return
- }
- h.preventDefault();
- h.stopPropagation();
- var f = c.device.scrollTop();
- var g = c.device.height;
- this.currentSlide = Math.round(f / g) + 1;
- this._snapToSlideScroll()
- },
- _onDismissClick: function(f) {
- f.preventDefault();
- f.stopPropagation();
- this._hide();
- this.model.dismiss();
- c.pixel.fire("hpec", c.device.pixelBrowserName, c.opensearch.version, {
- atbva: c.opensearch.atbVariant,
- va: c.opensearch.variant,
- l: w.locale
- })
- },
- _onBackToSearchClick: function(g) {
- var f = this;
- g.preventDefault();
- if (this.doRenderTeaserArrow) {
- this.$arrow.fadeOut(100);
- this.isArrowHidden = true
- }
- c.device.scrollTop(0, this.model.scrollToAnimationDurationMS, $.debounce(0, false, function() {
- f.currentSlide = 0
- }))
- },
- _onResize: function() {
- if (this.$arrow) {
- this.$arrow.attr("style", "");
- this.isArrowHidden = false;
- this._updateArrowVisibility()
- }
- },
- _onTweetButtonClick: function(f) {
- c.pixel.fire("hptc", c.device.pixelBrowserName, c.opensearch.version, {
- atbva: c.opensearch.atbVariant,
- va: c.opensearch.variant,
- l: w.locale
- })
- },
- _firePixelSlide1: function() {
- c.pixel.fire("hst", {
- b: c.device.pixelBrowserName,
- atbi: this.pageView.canShowAddToBrowser.call(this.pageView),
- ei: this.pageView.canShowHomepageOnboardingEducation.call(this.pageView),
- i: this.pageView.isInstalled.call(this.pageView),
- d: c.device.pixelId,
- atb: c.opensearch.version,
- atbva: c.opensearch.atbVariant,
- va: c.opensearch.variant,
- l: w.locale
- })
- },
- _firePixelSlide4: function() {
- c.pixel.fire("atbbsb", c.device.pixelBrowserName, c.opensearch.version, {
- atbva: c.opensearch.atbVariant,
- va: c.opensearch.variant,
- l: w.locale
- })
- },
- _onScroll: function(j) {
- var g = c.device.scrollTop(),
- h = this.lastScrollPosition,
- f = g < h,
- i = c.device.height,
- k = Math.round(g / i);
- this.lastScrollPosition = g;
- if (this.model.isDismissed || this.ignoreScrollEvents) {
- return
- }
- if (k !== this.currentSlide) {
- this._handleManualScroll(f)
- }
- this._updateArrowVisibility()
- },
- _handleManualScroll: function(f) {
- var h = this.currentSlide || 0;
- var g = f ? h - 1 : h + 1;
- if (g >= b) {
- return
- }
- this.currentSlide = g;
- if (g === 1 && !this.model.didUserScroll) {
- this.model.didUserScroll = true;
- this._firePixelSlide1()
- } else {
- if (g === 4) {
- this._firePixelSlide4()
- }
- }
- this._updateArrowVisibility()
- },
- _snapToSlideScroll: function() {
- var g = this;
- var h = this.currentSlide || 0;
- if (h >= b) {
- return
- }
- if (h === 1 && !this.model.didUserScroll) {
- this.model.didUserScroll = true;
- this._firePixelSlide1()
- } else {
- if (h === 4) {
- this._firePixelSlide4()
- }
- }
- if (this.model.isSVGAnimated) {
- this.ignoreScrollEvents = true
- }
- var j = this["$slide" + h].offset().top;
- var f = this.model.scrollToAnimationDurationMS;
- var i = 300;
- c.device.scrollTop((j), f, $.debounce(i, true, function() {
- if (g.model.isSVGAnimated) {
- g.ignoreScrollEvents = false
- }
- if (g.model.isSVGAnimated && h > 0) {
- g._renderCurrentSlideAnimation()
- }
- g._updateArrowVisibility()
- }))
- },
- _updateArrowVisibility: function() {
- var f = c.device.scrollTop(),
- g = c.device.height,
- h = Math.round(f / g);
- if (this.isArrowHidden) {
- if ((!this.renderFirstSlideArrow && h > 0 && h < 4) || (this.renderFirstSlideArrow && h < 4)) {
- this.$arrow.fadeIn(100);
- this.isArrowHidden = false
- }
- } else {
- if (!this.isArrowHidden) {
- if ((!this.renderFirstSlideArrow && (h < 1 || h > 3)) || (this.renderFirstSlideArrow && h > 3)) {
- if (this.$arrow.css("display") !== "none") {
- this.$arrow.fadeOut(100);
- this.isArrowHidden = true
- }
- }
- }
- }
- },
- _renderCurrentSlideAnimation: function() {
- if (this.currentSlide === 0) {
- return
- }
- if (!this.model.isSVGAnimated) {
- return
- }
- var h = this.currentSlide;
- var g = "slide" + h;
- var f = "$imagecontainer" + h;
- if (this[f].children(".onboarding-ed__image--animated").length > 0) {
- return
- }
- if (Object.keys(this.views).length > 0) {
- this._destroySlideAnimations()
- }
- this.views[g] = new c.Views.OnboardingEducationSlide({
- model: {
- slideIndex: h,
- isSVGAnimated: this.model.isSVGAnimated
- },
- template: "hp_onboarding_ed_slide" + h,
- appendTo: this[f]
- })
- },
- _destroySlideAnimations: function() {
- if (this.views) {
- var f = this;
- var g = Object.keys(this.views);
- g.forEach(function(h) {
- f.views[h].destroy()
- })
- }
- },
- _onChangeOnboardingStep: function(f) {
- if (c.onboarding.hasCompleted()) {
- this.$install.hide();
- this.$spread.show()
- }
- }
- })
- }(DDG);
- ! function(b) {
- var a = b.Views.Base;
- b.Views.OnboardingEducationSlide = function(c) {
- c.model = new b.Models.Settings.OnboardingEducationSlide(c);
- this.template = c.template;
- if (c.model.isSVGAnimated && (c.model.slideIndex > 0)) {
- a.call(this, c);
- this._timeout = null;
- this._loopCount = 0;
- this._initAnimation()
- }
- };
- b.Views.OnboardingEducationSlide.prototype = $.extend({}, a.prototype, {
- _initAnimation: function() {
- var f = this;
- var e = ".js-onboarding-ed-image-container-" + this.model.slideIndex;
- this.$imgcontainer = $(e);
- var c = "slide" + this.model.slideIndex;
- var h = this.model.animationAnchorEl[c];
- this._cacheElems(".js-onboarding-ed-anim", [h]);
- var g = "$" + this.model.animationAnchorEl[c].replace(/-/g, "");
- this[g].on("webkitAnimationEnd oanimationend msAnimationEnd animationend", function(i) {
- if (!f._timeout) {
- f._pause();
- f._timeout = window.setTimeout(function() {
- f._timeout = null;
- f._start()
- }, f.model.pauseBetweenAnimationIterations)
- }
- });
- window.setTimeout(function() {
- f._start()
- }, this.model.pauseBeforeAnimation)
- },
- _start: function() {
- if (this._loopCount >= this.model.maxAnimationLoops) {
- return
- }
- this._loopCount++;
- this.$imgcontainer.addClass("is-animated")
- },
- _pause: function() {
- this.$imgcontainer.removeClass("is-animated")
- },
- destroy: function() {
- this.$imgcontainer.removeClass("is-animated");
- a.prototype.destroy.call(this)
- }
- })
- }(DDG);
- ! function(c) {
- var b = c.Views.Base,
- a = "multi-step-mobile-onboarding",
- f = 0.04;
- c.Views.MultiStepMobileOnboarding = function(g) {
- this._ops = $.extend({
- campaign: g.isCppm4 ? "mobileCPP4" : g.isCppm5 ? "mobileCPP5" : g.isStateless ? "mobileCPP3" : "mobileCPP",
- isCppm4Or5: g.isCppm4 || g.isCppm5,
- isDarkTheme: c.settings.isDarkTheme(),
- emailSubject: encodeURIComponent("Reminder - Complete Your DuckDuckGo Privacy Setup"),
- emailBody: encodeURIComponent(["1. Visit https://duck.com/install in your desktop browser.", "2. Add DuckDuckGo Privacy Essentials to search and browse the Web privately on desktop."].join("\n"))
- }, g);
- b.call(this, this._ops)
- };
- c.Views.MultiStepMobileOnboarding.prototype = $.extend({}, b.prototype, {
- template: "multi_step_mobile_onboarding",
- _render: function() {
- b.prototype._render.call(this, this._ops);
- this._cacheElems(".js-multi-step-mobile-onboarding", ["count", "fallback-progress", "slider", "content", "header", "close", "search", "title", "desc", "remaining", "resume", "final"]);
- this.bindEvents([
- [this.$slider, "touchstart", this._onTouchStart],
- [this.$slider, "mousedown", this._onTouchStart],
- [this.$slider, "touchmove", this._onTouchMove],
- [this.$slider, "mousemove", this._onTouchMove],
- [this.$slider, "mouseup", this._onTouchEnd],
- [this.$slider, "touchend", this._onTouchEnd],
- [this.$slider, "click", this._onClick],
- [this.$close, "click", this._onClose]
- ]);
- this._boundOnTouchEnd = this._onTouchEnd.bind(this);
- window.addEventListener("mouseup", this._boundOnTouchEnd, false);
- window.addEventListener("touchend", this._boundOnTouchEnd, false);
- this.state = {
- w: window.innerWidth,
- n: this.$slider.children().length,
- i: 0,
- x0: null,
- translated: f * window.innerWidth,
- isDragging: false
- };
- this._visibilityChangeHandlers = [];
- this._focusHandlers = [];
- this._visibilityTimeoutCancelers = [];
- this._blurTimeoutCancelers = [];
- this._actionedTimeoutIds = [];
- this._updateProgress();
- this.setStep(this.model.getResumeStep(), {
- fireRenderPixel: true
- });
- this.$slider.find(".js-" + a + "-step").each(function(g, h) {
- this._renderStep($(h), this.model.getStatus(g))
- }.bind(this));
- if (this._ops.isCppm5) {
- if (!this._handleV5VisibilityChange) {
- this._handleV5VisibilityChange = function(g) {
- if (!document.hidden && this.state.i === 0) {
- this._markStepActioned(0)
- }
- }.bind(this);
- document.addEventListener("visibilitychange", this._handleV5VisibilityChange, false)
- }
- if (!this._handleV5FocusChange) {
- this._handleV5FocusChange = function(g) {
- if (this.state.i === 0) {
- this._markStepActioned(0)
- }
- }.bind(this);
- window.addEventListener("focus", this._handleV5FocusChange, false)
- }
- }
- },
- destroy: function() {
- window.removeEventListener("mouseup", this._boundOnTouchEnd, false);
- window.removeEventListener("touchend", this._boundOnTouchEnd, false);
- if (this._handleV5VisibilityChange) {
- document.removeEventListener("visibilitychange", this._handleV5VisibilityChange, false)
- }
- if (this._handleV5FocusChange) {
- document.removeEventListener("focus", this._handleV5FocusChange, false)
- }
- this._visibilityChangeHandlers.concat(this._visibilityTimeoutCancelers).forEach(function(g) {
- if (g) {
- document.removeEventListener("visibilitychange", g, false)
- }
- });
- this._focusHandlers.forEach(function(g) {
- if (g) {
- window.removeEventListener("focus", g, false)
- }
- });
- this._blurTimeoutCancelers.forEach(function(g) {
- if (g) {
- window.removeEventListener("blur", g, false)
- }
- });
- this._actionedTimeoutIds.forEach(function(g) {
- clearTimeout(g)
- });
- clearTimeout(this.timeoutId);
- b.prototype.destroy.call(this)
- },
- _onClose: function() {
- this._firePixel("close", this.state.i);
- if (this.model.hasCompletedAllSteps() && this._ops.onStartSearch) {
- this._ops.onStartSearch()
- }
- this._ops.onClose();
- this.setStep(this._ops.isStateless ? 0 : this.model.getResumeStep());
- if (this._ops.isStateless) {
- this._updateProgress();
- this.$slider.find(".js-" + a + "-step").each(function(g, h) {
- this._unmarkStepActioned(g)
- }.bind(this))
- }
- },
- _onClick: function(j) {
- if (j.target && j.target.href && /^mailto:/.test(j.target.href) && !j.target.hasAttribute("data-action") && this.model.hasDdgExtension()) {
- j.preventDefault();
- j.stopPropagation()
- }
- if (!this.state.isDragging && j.target && j.target.hasAttribute("data-action")) {
- var i = j.target.getAttribute("data-action");
- switch (i) {
- case "do":
- j.target.blur();
- this._firePixel(i, this.state.i);
- if (this._ops.isStateless) {
- var h = this.state.i;
- clearTimeout(this._actionedTimeoutIds[h]);
- this._actionedTimeoutIds[h] = setTimeout(function() {
- this._markStepActioned(h)
- }.bind(this), 1000);
- if (!this._visibilityTimeoutCancelers[h]) {
- this._visibilityTimeoutCancelers[h] = function(k) {
- if (document.hidden) {
- clearTimeout(this._actionedTimeoutIds[h])
- }
- document.removeEventListener("visibilitychange", this._visibilityTimeoutCancelers[h], false);
- this._visibilityTimeoutCancelers[h] = null
- }.bind(this);
- document.addEventListener("visibilitychange", this._visibilityTimeoutCancelers[h], false)
- }
- if (!this._blurTimeoutCancelers[h]) {
- this._blurTimeoutCancelers[h] = function(k) {
- clearTimeout(this._actionedTimeoutIds[h]);
- window.removeEventListener("blur", this._blurTimeoutCancelers[h], false);
- this._blurTimeoutCancelers[h] = null
- }.bind(this);
- window.addEventListener("blur", this._blurTimeoutCancelers[h], false)
- }
- if (!this._visibilityChangeHandlers[h]) {
- this._visibilityChangeHandlers[h] = function(k) {
- if (!document.hidden) {
- this._markStepActioned(h);
- document.removeEventListener("visibilitychange", this._visibilityChangeHandlers[h], false);
- this._visibilityChangeHandlers[h] = null;
- if (this._focusHandlers[h]) {
- window.removeEventListener("focus", this._focusHandlers[h], false);
- this._focusHandlers[h] = null
- }
- }
- }.bind(this);
- document.addEventListener("visibilitychange", this._visibilityChangeHandlers[h], false)
- }
- if (!this._focusHandlers[h]) {
- this._focusHandlers[h] = function(k) {
- this._markStepActioned(h);
- window.removeEventListener("focus", this._focusHandlers[h], false);
- this._focusHandlers[h] = null;
- if (this._visibilityChangeHandlers[h]) {
- document.removeEventListener("visibilitychange", this._visibilityChangeHandlers[h], false);
- this._visibilityChangeHandlers[h] = null
- }
- }.bind(this);
- window.addEventListener("focus", this._focusHandlers[h], false)
- }
- }
- break;
- case "skip":
- j.target.blur();
- this._firePixel(i, this.state.i);
- this.setStep(this.model.getResumeStep(this.state.i + 1), {
- fireRenderPixel: true
- });
- if (this._ops.isStateless) {
- this._updateProgress()
- }
- break;
- case "nav":
- j.target.blur();
- j.preventDefault();
- j.stopPropagation();
- this._firePixel(i, this.state.i, j.target.getAttribute("data-step"), 10);
- this.setStep(parseInt(j.target.getAttribute("data-step"), 10), {
- fireRenderPixel: true
- });
- break;
- case "complete":
- j.target.blur();
- this._firePixel(i, this.state.i);
- var g = $(j.target).closest(".js-" + a + "-step");
- g.toggleClass(a + "__step--anim", true);
- this.model.completeStep(this.state.i);
- j.target.setAttribute("disabled", "disabled");
- this.timeoutId = setTimeout(function() {
- this.setStep(this.model.getResumeStep(this.state.i + 1), {
- fireRenderPixel: true
- });
- this._renderStep(g, "completed");
- this._updateProgress()
- }.bind(this), 500);
- break;
- case "resume":
- case "search":
- this._firePixel(i, this.state.i);
- this.model.markDirty();
- if (this._ops.onStartSearch) {
- this._ops.onStartSearch()
- }
- this._ops.onClose();
- this.setStep(this._ops.isStateless ? 0 : this.model.getResumeStep());
- if (this._ops.isStateless) {
- this._updateProgress();
- this.$slider.find(".js-" + a + "-step").each(function(k, m) {
- this._unmarkStepActioned(k)
- }.bind(this))
- }
- break
- }
- }
- },
- _markStepActioned: function(h) {
- var g = this.$slider.find(".js-" + a + "-step:nth-child(" + (h + 1) + ")");
- g.addClass(a + "__step--actioned")
- },
- _unmarkStepActioned: function(h) {
- var g = this.$slider.find(".js-" + a + "-step:nth-child(" + (h + 1) + ")");
- g.removeClass(a + "__step--actioned")
- },
- _renderStep: function(i, h) {
- i.attr("data-status", h);
- if (h === "completed") {
- i.find('[data-action="do"]').hide();
- i.find('[data-action="complete"]').attr("disabled", "disabled").text("Completed");
- i.find('[data-action="skip"]').hide()
- } else {
- if (!this._ops.isStateless) {
- this.$final.hide()
- }
- }
- if (!this._ops.isStateless) {
- var g = a + "__step__content__header__title--final";
- if (this.model.hasCompletedAllSteps()) {
- this.$title.toggleClass(g, true).html("Setup Complete!");
- this.$search.attr("data-action", "search").html("Start Searching");
- this.$desc.show();
- this.$resume.hide();
- this.$final.show()
- } else {
- var m = [this.model.hasDdgAsDefault(), this.model.hasDdgApp(), this.model.hasDdgExtension()],
- j = m.reduce(function(o, n) {
- return o + n
- }, 0),
- k = ["Three Steps", "Two Steps", "One Step"][j];
- this.$title.toggleClass(g, false).html(j === 0 ? "Heads Up – You’re Still Missing These Three Privacy Essentials:" : "Almost There!<br /> " + k + " Left to Complete Your Privacy Setup");
- this.$search.attr("data-action", "resume").html("Resume Later");
- this.$desc.hide();
- this.$resume.show();
- this.$final.hide();
- this.$remaining.children().each(function(n) {
- $(this).attr("data-checked", m[n].toString())
- })
- }
- }
- },
- _updateProgress: function() {
- var h = this._ops.isStateless ? this.state.i : this.model.getProgressValue();
- var g = (h / (this.state.n - 1)) * 100;
- this.$count.text(this._ops.isStateless ? h + 1 : h);
- this.$fallbackprogress.css("width", g.toString() + "%")
- },
- _onTouchStart: function(g) {
- this.state.x0 = e(g);
- this.state.isDragging = true;
- this.$slider.toggleClass(a + "__slider--smooth", false)
- },
- _onTouchMove: function(i) {
- if (this.state.isDragging) {
- var h = e(i) - this.state.x0;
- var g = this.state.translated + h;
- this.$slider.css("transform", "translate(" + g + "px)")
- }
- },
- _onTouchEnd: function(m) {
- if (this.state.isDragging) {
- var j = e(m);
- var h;
- if ($.isNumeric(j)) {
- var g = j - this.state.x0;
- var k = g > 0 ? this.state.i - 1 : this.state.i + 1;
- var i = Math.abs(g) / this.state.w;
- if (k >= 0 && k < this.state.n && i > 0.2) {
- h = k;
- this._firePixel("swipe", this.state.i, h)
- }
- }
- this.setStep(h, {
- fireRenderPixel: true
- });
- this._updateProgress()
- }
- },
- setStep: function(i, h) {
- h = h || {};
- if ($.isNumeric(i) && i >= 0 && i < this.state.n) {
- this.state.i = i;
- if (h.fireRenderPixel) {
- this._firePixel("render", this.state.i);
- this.model.trackRenderedStep(this.state.i)
- }
- if (this._ops.onShowSetAsDefault) {
- this._ops.onShowSetAsDefault()
- }
- }
- var g = (this.state.i * ((1 - (2 * f)) * this.state.w)) - (f * this.state.w);
- this.state.translated = g * -1;
- this.$slider.css("transform", "translate(" + this.state.translated + "px)");
- this.$slider.toggleClass(a + "__slider--smooth", true);
- this.state.isDragging = false;
- this.state.x0 = null
- },
- _firePixel: function(j, i, g) {
- var h = "cpp",
- k;
- switch (j) {
- case "render":
- k = "i";
- break;
- case "skip":
- k = "s";
- break;
- case "do":
- k = "a";
- break;
- case "nav":
- k = "n";
- break;
- case "complete":
- case "resume":
- case "search":
- k = "c";
- break;
- case "swipe":
- k = "w";
- break;
- case "close":
- k = "x";
- break;
- default:
- break
- }
- if (k) {
- c.pixel.fire(h + k, c.device.pixelBrowserName, c.opensearch.version, {
- va: c.opensearch.variant,
- atbva: c.opensearch.atbVariant,
- l: w.locale,
- p: c.device.pixelPlatformName,
- ak: c.settings.get(c.addToBrowser.BADGE_DISMISS_KEY),
- kae: c.settings.get("kae"),
- st: this.model.createPixelStep(i),
- dst: this.model.createPixelStep(g),
- s: this.model.getPixelStatuses(),
- o: this.model.getPixelOpenStatuses(),
- i: this.model.getPixelImpressionStatuses(),
- w: this.model.hasStorage ? "1" : "0"
- })
- }
- }
- });
- function e(h) {
- var g;
- if (h) {
- h = h.originalEvent;
- if (h) {
- h = h.changedTouches ? h.changedTouches[0] : h;
- if (h) {
- g = h.clientX
- }
- }
- }
- return g
- }
- }(DDG);
- ! function(g) {
- var a = g.Views.Base,
- e = false,
- c = false,
- b = "onboarding-bottom-bathroomguy-animation-on";
- g.Views.AddToBrowserBadge = function(n) {
- n = $.extend({}, n);
- this._timeoutIds = {};
- n.displayBrowserName = g.device.displayBrowserName;
- n.browserId = n.displayBrowserName.toLowerCase();
- n.ctaText = l("Set DuckDuckGo as your %sdefault search engine", "");
- var p = g.Data.Onboarding[g.opensearch.atbVariant] || {};
- n.onboardingTest = p;
- n.va = g.opensearch.variant;
- n.atbva = g.opensearch.atbVariant;
- this._canInstallExtension = n.canInstall = g.extension.canInstall();
- n.random_number = Math.ceil(Math.random() * 10000000);
- this.animated = p.animateModalIllustration;
- this.isEnglish = n.isEnglish = window.locale && window.locale.substring(0, 2) === "en";
- this.hideOnClick = n.hideOnClick;
- this.badgeType = n.badgeType;
- this.searchbar = n.searchbar;
- this.htmlClass = n.htmlClass;
- this.onOnboardingDone = n.onOnboardingDone;
- this.onClick = n.onClick;
- this.isCppExp = n.isCppExp;
- this.isCppControl = n.isCppControl;
- if (this.isCppExp) {
- n.resumeInstall = g.onboarding.isResumable();
- n.step1Done = g.onboarding.hasCompletedStep1()
- }
- if (n.topRight) {
- this.template = g.extension.canInstall() ? "add_to_browser_badge_top" : "add_to_browser_badge_top_settings";
- this.topRight = true;
- $(".js-header-aside").addClass("is-hidden")
- }
- if (n.template) {
- this.template = n.template
- }
- if (n.fadeIn) {
- this._timeoutIds.showBadge = setTimeout(function() {
- if (!e) {
- this.$el.fadeIn()
- }
- }.bind(this), 500)
- }
- if (this._canInstallExtension) {
- if (g.device.isDesktop && g.device.isFirefox && g.device.firefoxVersion > 56) {
- n.url = g.extension.url + this._getFirefoxSrc(n.clickPixel)
- } else {
- if (g.device.isDesktop && g.device.isSafari) {
- n.url = g.extension.url;
- n.openInNewTab = true;
- this._isOpeningInNewTab = true
- } else {
- this._chromeStoreURL = n.url = g.extension.url
- }
- }
- if (g.device.isChromiumBased && g.extension.canInstall()) {
- if (!c) {
- $("head").append('<link rel="chrome-webstore-item" href="' + n.url + '">');
- c = true
- }
- n.url = null
- }
- } else {
- if ((g.device.isChrome48AndUp || g.device.isEdge || g.device.isEdgeChromium || g.device.isIE) && !g.device.isMobileDevice && !g.device.isBrave) {
- n.url = "/install";
- n.openInNewTab = true;
- if (g.settings.get("t")) {
- n.url += ("?t=" + g.settings.get("t"))
- }
- this._isOpeningInNewTab = true
- }
- }
- this.xPixel = n.xPixel;
- this.clickPixel = n.clickPixel;
- this.entryPoint = n.entryPoint || "hp";
- if (g.device.isSafari) {
- n.showButton = true
- }
- a.call(this, n);
- if (n.impressionPixel) {
- var q = {
- va: g.opensearch.variant,
- atbva: g.opensearch.atbVariant,
- l: w.locale,
- p: g.device.pixelPlatformName
- };
- if (n.onlyFireImpressionPixelIfIntoView) {
- this._observer = new g.Utils.IsIntoViewObserver(this.$el.get(0), function(r) {
- if (r) {
- g.pixel.fire(n.impressionPixel, g.device.pixelBrowserName, g.opensearch.version, this._cppifyPixelOps(q));
- this._observer.destroy()
- }
- }.bind(this))
- } else {
- g.pixel.fire(n.impressionPixel, g.device.pixelBrowserName, g.opensearch.version, this._cppifyPixelOps(q))
- }
- }
- var o = n.topRight ? ".js-badge-main-msg" : this.$el;
- if (n.button) {
- o = n.button
- }
- this.bindEvents([
- [o, "click", j],
- [".js-badge-link-close", "click", k],
- [".js-badge-link-dismiss", "click", f.bind(this, n)],
- [".js-atb-tile-link", "click", h.bind(this)],
- [".js-scroll-top", "click", i.bind(this)]
- ].concat(this.isCppExp ? [
- [g.onboarding, "change:step", this._onChangeOnboardingStep]
- ] : []));
- if (this._canInstallExtension && g.device.isFirefox) {
- this.bindEvents([
- [g.device, "resize", this.hideExtensionOverlay.bind(this)],
- [g.device, "visibilitychange", this.hideExtensionOverlay.bind(this)]
- ])
- }
- var m = g.history.get("exti");
- if (m) {
- g.history.clear("exti");
- if (this.badgeType !== "splash") {
- this.hide()
- }
- this.passATBToExtension(function(r) {
- if (r) {}
- if (m === "1") {
- this.showExtensionOverlay()
- } else {
- if (m === "2") {
- this.showExtensionOverlay();
- this.showSuccessScreen()
- }
- }
- }.bind(this))
- }
- if (this.htmlClass) {
- g.$html.addClass(this.htmlClass)
- }
- };
- g.Views.AddToBrowserBadge.prototype = $.extend({}, a.prototype, {
- template: "add_to_browser_badge",
- destroy: function() {
- if (this._observer) {
- this._observer.destroy()
- }
- clearInterval(this._successInterval);
- Object.keys(this._timeoutIds).forEach(function(m) {
- clearTimeout(this._timeoutIds[m]);
- delete this._timeoutIds[m]
- }, this);
- a.prototype.destroy.call(this)
- },
- showModal: function() {
- if (!this.views.modal) {
- this.views.modal = new g.Views.AddToBrowserModal({
- entryPoint: this.entryPoint,
- appendTo: $("body")
- })
- }
- clearTimeout(this._timeoutIds.showModal);
- this._timeoutIds.showModal = setTimeout(function() {
- this.views.modal.show()
- }.bind(this), 50)
- },
- showCppModal: function() {
- if (!g.page.views.cppModal) {
- g.page.views.cppModal = new g.Views.CppModal({
- url: this._chromeStoreURL,
- appendTo: $("body"),
- passATBToExtension: this.passATBToExtension.bind(this),
- model: g.onboarding,
- onOnboardingDone: this.onOnboardingDone
- })
- }
- clearTimeout(this._timeoutIds.showCppModal);
- this._timeoutIds.showCppModal = setTimeout(function() {
- g.page.views.cppModal.show()
- }, 50)
- },
- show: function() {
- this.$el.show()
- },
- hide: function() {
- $(".js-header-aside").removeClass("is-hidden");
- if (this.htmlClass) {
- g.$html.removeClass(this.htmlClass)
- }
- this.$el.hide()
- },
- animate: function() {
- this.$el.addClass(b);
- this.animated = true
- },
- unAnimate: function() {
- this.$el.removeClass(b);
- this.animated = false
- },
- click: function(m) {
- j.call(this, m)
- },
- dismiss: function() {
- $(".js-header-aside").removeClass("is-hidden");
- g.addToBrowser.dismiss();
- if (!this.dismissed) {
- g.pixel.fire(this.xPixel, g.device.pixelBrowserName, g.opensearch.version, this._cppifyPixelOps({
- va: g.opensearch.variant,
- atbva: g.opensearch.atbVariant,
- l: w.locale,
- p: g.device.pixelPlatformName
- }));
- this.dismissed = true
- }
- },
- showExtensionOverlay: function() {
- if (e || !this._canInstallExtension) {
- return
- }
- e = true;
- this._onBoardingTest = g.Data.Onboarding[g.opensearch.atbVariant] || {};
- var n = "add_to_browser_extension_overlay",
- p = g.device.browserName ? g.device.browserName.toLowerCase() : "",
- o = n + "_" + p,
- m = g.templates[o];
- this.$extOverlay = g.$exec_template(n, {
- browserName: p,
- subTemplate: m && o,
- url: g.extension.url,
- onBoardingTest: this._onBoardingTest,
- isEnglish: this.isEnglish,
- allowAdd: g.device.isFirefoxLessThan67,
- allowAddAllow: g.device.isFirefox67,
- continueAddAllow: g.device.isFirefox68AndUp
- });
- clearTimeout(this._timeoutIds.showExtensionOverlay1);
- this._timeoutIds.showExtensionOverlay1 = setTimeout(function() {
- this.$extOverlay.click(this.hideExtensionOverlay.bind(this))
- }.bind(this), 100);
- if (g.device.isOSX) {
- this.$extOverlay.addClass("is-osx")
- }
- $("body").append(this.$extOverlay);
- g.$html.addClass("is-blurred");
- clearTimeout(this._timeoutIds.showExtensionOverlay2);
- this._timeoutIds.showExtensionOverlay2 = setTimeout(function() {
- this.$extOverlay && this.$extOverlay.addClass("is-showing")
- }.bind(this), 10);
- if (this._canInstallExtension && g.extension.watchCSSForSuccess) {
- this._successInterval = setInterval(function() {
- if (!e || w.extensionsuccess) {
- return clearInterval(this._successInterval)
- }
- if (g.extension.isInstalled({
- nocache: true
- }) && !d.getElementById("confetti")) {
- if (g.device.isSafari) {
- this.reloadAndResumeAtStep(2)
- } else {
- this.showSuccessScreen()
- }
- }
- }.bind(this), 500)
- }
- },
- hideExtensionOverlay: function() {
- if (!e) {
- return
- }
- g.$html.removeClass("is-blurred");
- this.$extOverlay && this.$extOverlay.removeClass("is-showing");
- clearTimeout(this._timeoutIds.hideExtensionOverlay);
- this._timeoutIds.hideExtensionOverlay = setTimeout(function() {
- this.$extOverlay && this.$extOverlay.remove()
- }.bind(this), 300);
- if (this.hideOnClick) {
- this.show()
- }
- this._successInterval && clearInterval(this._successInterval);
- e = false
- },
- showSuccessScreen: function() {
- if (w.extensionsuccess) {
- return
- }
- this.hideExtensionOverlay();
- this._fireInstalledPixel();
- g.device.scrollTop(0);
- this.$extOverlay && this.$extOverlay.off("click");
- g.addToBrowser.emit("extension-installed")
- },
- passATBToExtension: function(n) {
- var m = g.Data.Onboarding[g.opensearch.atbVariant] || {};
- return $.ajax({
- dataType: "json",
- url: "/atb.js?" + Math.ceil(Math.random() * 10000000),
- error: function(p, o, q) {
- g.pixel.fire("exte", this._cppifyPixelOps({
- status: p.status,
- statusText: p.statusText,
- responseText: p.responseText,
- msg: q,
- p: g.device.pixelPlatformName
- }));
- this._failedToAddATBData = true;
- if (typeof n === "function") {
- n(new Error(q || p.responseText || p.status))
- }
- }.bind(this),
- success: function(o) {
- if (!o || !o.version || !o.majorVersion || !o.minorVersion) {
- g.pixel.fire("exte", this._cppifyPixelOps({
- msg: "invalid-atb-info",
- d: encodeURIComponent(o),
- p: g.device.pixelPlatformName
- }));
- this._failedToAddATBData = true;
- if (typeof n === "function") {
- n(null, o)
- }
- return
- }
- this._failedToAddATBData = false;
- g.opensearch.setATB(o, {
- skipVariant: true
- });
- if (this.badgeType === "splash") {
- g.opensearch.atbVariant = g.tParam.get();
- if (g.history.get("va")) {
- g.opensearch.variant = g.history.get("va")[0]
- } else {
- if (m.variant) {
- g.opensearch.variant = m.variant
- } else {
- g.opensearch.variant = g.opensearch.atbVariant
- }
- }
- }
- g.history.set("natb", g.opensearch.version + g.opensearch.variant + g.opensearch.atbVariant);
- if (this.clickPixel) {
- g.history.set("cp", this.clickPixel)
- }
- var p = g.device.isChromiumBased && g.extension.canInstall() ? "data-chromeatb" : "data-atb";
- $("html").attr(p, g.opensearch.version + g.opensearch.variant + g.opensearch.atbVariant);
- if (typeof n === "function") {
- n(null, o)
- }
- }.bind(this)
- })
- },
- reloadAndResumeAtStep: function(n, m) {
- g.history.set("exti", n, function() {
- clearTimeout(this._timeoutIds.reloadAndResumeAtStep);
- this._timeoutIds.reloadAndResumeAtStep = setTimeout(function() {
- window.location.reload()
- }, m || 0)
- }.bind(this));
- g.history.set("t", "h" + g.opensearch.atbVariant)
- },
- _fireInstalledPixel: function() {
- var m, o = {
- atbva: g.opensearch.atbVariant,
- va: g.opensearch.variant,
- l: window.locale,
- cp: this.clickPixel,
- exte: this._failedToAddATBData ? 1 : 0,
- p: g.device.pixelPlatformName
- };
- if ((this.clickPixel === "atbhc" || this.clickPixel === "atbsc")) {
- m = g.settings.isDefault(g.addToBrowser.BADGE_RECURRING_KEY) ? 0 : 1
- }
- o.ax = (m) ? m : 0;
- if (g.opensearch.adRef) {
- o.r = g.opensearch.adRef
- }
- g.pixel.fire("exti", g.device.pixelBrowserName, g.opensearch.version, this._cppifyPixelOps(o));
- if (g.device.isChromiumBased && g.extension.canInstall() || (g.device.isFirefox && g.device.firefoxVersion > 56) || g.device.isSafari) {
- return
- }
- var n = this._failedToAddATBData ? "&exte=1" : "";
- $.ajax({
- url: "/exti/?atb=" + g.opensearch.getFullATBParam() + n + "&p=" + g.device.pixelPlatformName + "&l=" + window.locale + "&cp=" + this.clickPixel
- });
- g.pixel.fire("iconf", g.device.pixelBrowserName, g.opensearch.version, o)
- },
- _removeHTMLClass: function() {
- if (this.htmlClass) {
- g.$html.removeClass(this.htmlClass)
- }
- },
- _onChangeOnboardingStep: function(m) {
- switch (m) {
- case 1:
- $(".js-cta-state-cpp").text("Resume Privacy Setup");
- break;
- case 2:
- $(".js-cta-state-cpp").text("Resume Privacy Setup");
- $(".js-cpp-step-1").attr("data-status", "completed");
- break;
- case 3:
- $(".js-cta-state-cpp").text("Resume Privacy Setup");
- $(".js-cpp-step-2").attr("data-status", "completed");
- if (g.page && g.page.views) {
- Object.keys(g.page.views).forEach(function(o) {
- var n = g.page.views[o];
- if (n && typeof n.hide === "function" && (n.template === "add_to_browser_badge_top_cpp" || n.template === "add_to_browser_badge_button" || n.template === "add_to_browser_fullbleed_billboard_v2")) {
- n.hide();
- if (n.template === "add_to_browser_fullbleed_billboard_v2") {
- window.scrollTo(0, 0)
- }
- }
- })
- }
- break
- }
- },
- _cppifyPixelOps: function(m) {
- return this.isCppExp ? $.extend({}, m, {
- st: g.onboarding.getStep(),
- i: (+g.onboarding.hasBeenExposed()),
- r: (+g.onboarding.isResumable())
- }) : m
- },
- _getFirefoxSrc: function(q) {
- var o = {
- serp: "results"
- };
- var r = {
- atbhc: "top",
- atbsc: "",
- atbfc: "faq",
- atb1c: "onboarding-1",
- atb2c: "onboarding-2",
- atb3c: "onboarding-3",
- atbbc: "onboarding-4",
- atbaoct: "top",
- atbaoc: "bottom",
- atbmc: "sidebar",
- atbpc: "privacy",
- atbic: ""
- };
- var n = o[g.page.pageType] || g.page.pageType;
- var p = q in r ? r[q] : "other";
- var m = "?src=external-" + n;
- if (p) {
- m += "-" + p
- }
- return m
- }
- });
- function j(m) {
- if (this._preventClicks) {
- m && m.preventDefault();
- return
- }
- if (this._isNoOpClick) {
- this._isNoOpClick = false;
- return
- }
- if (this.onClick) {
- this.onClick()
- }
- if (this.isCppExp || this.isCppControl) {
- g.opensearch.trap()
- }
- var n = {
- va: g.opensearch.variant,
- atbva: g.opensearch.atbVariant,
- l: w.locale,
- p: g.device.pixelPlatformName
- };
- if (g.opensearch.adRef) {
- n.r = g.opensearch.adRef
- }
- if (this._isOpeningInNewTab) {
- g.pixel.fire(this.clickPixel, g.device.pixelBrowserName, g.opensearch.version, this._cppifyPixelOps(n));
- return
- }
- if (g.device.chromeVersion > 70 && g.device.isChromiumBased && g.extension.canInstall() && g.device.isDesktop) {
- g.pixel.fire(this.clickPixel, g.device.pixelBrowserName, g.opensearch.version, this._cppifyPixelOps(n));
- if (this.isCppExp) {
- this.showCppModal()
- } else {
- this.passATBToExtension(function(o) {
- if (o) {}
- window.open(this._chromeStoreURL)
- }.bind(this))
- }
- return
- }
- if (this._canInstallExtension) {
- n.exti = 1;
- g.pixel.fire(this.clickPixel, g.device.pixelBrowserName, g.opensearch.version, this._cppifyPixelOps(n));
- if (this.hideOnClick) {
- this.hide()
- }
- if (g.device.isSafari) {
- this.reloadAndResumeAtStep(1, 1000)
- } else {
- if (m) {
- m.preventDefault()
- }
- this._preventClicks = true;
- this.passATBToExtension(function(o) {
- this._preventClicks = false;
- if (o) {}
- if (g.device.isChromiumBased && this._canInstallExtension) {
- chrome.webstore.install(this._chromeStoreURL, this.showSuccessScreen.bind(this), this.hideExtensionOverlay.bind(this))
- }
- clearTimeout(this._timeoutIds.onClick);
- this._timeoutIds.onClick = setTimeout(function() {
- this.showExtensionOverlay()
- }.bind(this), 100);
- if (m) {
- this._isNoOpClick = true;
- m.target.click()
- }
- }.bind(this))
- }
- return
- }
- m && m.preventDefault();
- g.pixel.fire(this.clickPixel, g.device.pixelBrowserName, g.opensearch.version, this._cppifyPixelOps(n));
- this.showModal()
- }
- function k(m) {
- m.preventDefault();
- m.stopPropagation();
- this.dismiss();
- if (this._showingCookieMessage) {
- this._showingCookieMessage = false;
- clearTimeout(this._timeoutIds.cookieMessageTimeout);
- this._removeHTMLClass()
- }
- this.destroy()
- }
- function f(m, n) {
- n.preventDefault();
- n.stopPropagation();
- this.dismiss();
- this._showingCookieMessage = true;
- this.$(".js-badge-main-msg").hide();
- this.$(".js-badge-cookie-msg").show();
- clearTimeout(this._timeoutIds.cookieMessageTimeout);
- this._timeoutIds.cookieMessageTimeout = setTimeout(function() {
- this.$el && this.$el.fadeOut(600, function() {
- this._removeHTMLClass();
- this._showingCookieMessage = false
- }.bind(this))
- }.bind(this), 7000)
- }
- function h(m) {
- g.pixel.fire("atbhtc", $(m.currentTarget).data("id"), g.device.pixelBrowserName, g.opensearch.version, this._cppifyPixelOps({}))
- }
- function i() {
- g.$html.animate({
- scrollTop: 0
- }, 500, function() {
- this.searchbar.focus({
- focusInput: true
- })
- }.bind(this))
- }
- }(DDG);
- ! function(f) {
- var a = f.Views.Base,
- b = "atb-banner";
- f.Views.AddToBrowserBanner = function(n) {
- if (n.isCppm || n.isCppm4 || n.isCppm5 || n.isCppmControl || n.isCppmStateless) {
- n = $.extend({}, n, {
- isCppmExpOrControl: true
- })
- }
- this._ops = n;
- n.displayBrowserName = f.device.displayBrowserName;
- n.androidChromeNoOpenSearch = f.device.isAndroidChromeNoOpenSearch;
- var o = f.Data.Onboarding[f.opensearch.atbVariant] || {};
- this.onboardingTest = n.onboardingTest = o;
- n.isEnglish = f.device.isEnglish;
- this.xPixel = n.xPixel;
- this.clickPixel = n.clickPixel;
- this.entryPoint = n.entryPoint || "hp";
- a.call(this, n);
- if (n.isCppm) {
- this.bindEvents([
- [this._ops.mobileOnboarding, "change:statuses", this._onChangeStatuses],
- [this._ops.mobileOnboarding, "change:isDirty", this._onChangeStatuses]
- ])
- }
- var k = parseInt(f.history.get("exti"), 10),
- m = f.history.get("va");
- if (k === 3) {
- this.clickPixel = f.history.get("cp");
- f.opensearch.variant = m;
- f.history.clear("cp");
- f.history.clear("va");
- f.history.clear("exti");
- f.history.clear("q");
- this.showModal()
- }
- if (n.impressionPixel && k !== 3) {
- f.pixel.fire(n.impressionPixel, f.device.pixelBrowserName, f.opensearch.version, this._cppmifyPixelOps({
- va: f.opensearch.variant,
- atbva: f.opensearch.atbVariant,
- l: w.locale,
- p: f.device.pixelPlatformName,
- ak: f.settings.get(f.addToBrowser.BADGE_DISMISS_KEY)
- }))
- }
- };
- f.Views.AddToBrowserBanner.prototype = $.extend({}, a.prototype, {
- template: "add_to_browser_banner",
- _render: function(k) {
- if (k.template) {
- this.template = k.template
- } else {
- if (f.addToBrowser.canShowMobileButton()) {
- this.template = "add_to_browser_button"
- } else {
- if (f.device.isAndroid && !f.addToBrowser.canShowMobileBanner()) {
- this.template = "add_to_browser_badge_android"
- }
- }
- }
- if (this.template === "add_to_browser_banner" || this.template === "add_to_browser_button") {
- this.$parent.addClass("fix-to-bottom");
- if (f.device.isMobile) {
- this.$parent.addClass("show-on-small-screens")
- }
- }
- if (k.displayableBannerHtmlClass) {
- if (this.template === "add_to_browser_banner") {
- f.addClass("html", f.$html, k.displayableBannerHtmlClass)
- } else {
- f.removeClass("html", f.$html, k.displayableBannerHtmlClass)
- }
- }
- if (this.template === "add_to_browser_button_serp") {
- setTimeout(function() {
- this.$el.addClass("atb-loaded")
- }.bind(this), 500)
- }
- a.prototype._render.call(this, k);
- this._cacheElems(".js-atb-banner", ["learnmore", "close", "dismiss", "start", "cookiemsg", "mainmsg", "link"]);
- this.bindEvents([
- [this.$el, "click", h],
- [this.$learnmore, "click", g],
- [this.$close, "click", i],
- [this.$dismiss, "click", e],
- [this.$start, "click", c],
- [this.$cookiemsg, "click", j]
- ]);
- if (k.isCppm) {
- this._onChangeStatuses()
- }
- },
- destroy: function() {
- if (this._ops.displayableBannerHtmlClass) {
- f.removeClass("html", f.$html, this._ops.displayableBannerHtmlClass)
- }
- a.prototype.destroy.call(this)
- },
- showModal: function() {
- if (!this.views.modal) {
- this.views.modal = new f.Views.AddToBrowserModalBlurred({
- isCppm: this._ops.isCppm,
- isCppm4: this._ops.isCppm4,
- isCppm5: this._ops.isCppm5,
- isCppmStateless: this._ops.isCppmStateless,
- entryPoint: this.entryPoint,
- clickPixel: this.clickPixel,
- appendTo: $("body"),
- onStartSearch: this._ops.onStartSearch,
- mobileOnboarding: this._ops.mobileOnboarding
- })
- }
- if (this._ops.isCppm || this._ops.isCppm4 || this._ops.isCppm5 || this._ops.isCppmStateless) {
- this._ops.mobileOnboarding.setOpenStatuses()
- }
- setTimeout(function() {
- this.views.modal.show()
- }.bind(this), 50)
- },
- show: function(k) {
- if (k) {
- setTimeout(function() {
- this.$el.show()
- }.bind(this), k)
- } else {
- this.$el.show()
- }
- },
- hide: function() {
- this.$el.hide()
- },
- dismiss: function() {
- f.addToBrowser.dismiss();
- if (f.page.onboardingTest.bannerAbove) {
- f.removeClass("html", f.$html, "fixed-header")
- }
- f.pixel.fire(this.xPixel, f.device.pixelBrowserName, f.opensearch.version, this._cppmifyPixelOps({
- va: f.opensearch.variant,
- atbva: f.opensearch.atbVariant,
- l: w.locale,
- p: f.device.pixelPlatformName
- }));
- this.dismissed = true
- },
- _onChangeStatuses: function() {
- if (this._ops.mobileOnboarding.hasCompletedAllSteps()) {
- this.$el.addClass(b + "--cppm-completed")
- } else {
- if (this._ops.mobileOnboarding.isResumable()) {
- if (this.$link) {
- this.$link.text("Resume Privacy Setup")
- }
- }
- }
- },
- _cppmifyPixelOps: function(k) {
- return (this._ops.isCppm || this._ops.isCppm4 || this._ops.isCppm5 || this._ops.isCppmStateless) ? $.extend({}, k, {
- kae: f.settings.get("kae"),
- s: this._ops.mobileOnboarding.getPixelStatuses(),
- i: this._ops.mobileOnboarding.getPixelImpressionStatuses(),
- r: (+this._ops.mobileOnboarding.isResumable()),
- w: this._ops.mobileOnboarding.hasStorage ? "1" : "0"
- }) : k
- }
- });
- function h(k) {
- k.preventDefault();
- k.stopPropagation();
- if (this._ops.onClick) {
- this._ops.onClick()
- }
- if (fq) {
- return false
- }
- f.pixel.fire(this.clickPixel, f.device.pixelBrowserName, f.opensearch.version, this._cppmifyPixelOps({
- va: f.opensearch.variant,
- atbva: f.opensearch.atbVariant,
- l: w.locale,
- p: f.device.pixelPlatformName,
- ak: f.settings.get(f.addToBrowser.BADGE_DISMISS_KEY)
- }));
- if (this._ops.isCppm || this._ops.isCppm4 || this._ops.isCppm5 || this._ops.isCppmStateless || this._ops.isCppmControl) {
- f.opensearch.trap()
- }
- if (f.addToBrowser.usesOpenSearch() && f.page.pageType !== "serp") {
- window.location.href = "/?q=duckduckgo&exti=3&t=h" + f.opensearch.atbVariant + "&va=" + f.opensearch.variant + "&cp=" + this.clickPixel
- } else {
- this.showModal()
- }
- }
- function i(k) {
- k.preventDefault();
- k.stopPropagation();
- this.dismiss();
- this.destroy()
- }
- function e(k) {
- k.preventDefault();
- k.stopPropagation();
- this.dismiss();
- this._showingCookieMessage = true;
- this.$mainmsg.hide();
- this.$cookiemsg.show();
- setTimeout(function() {
- this.$el && this.$el.fadeOut(600)
- }.bind(this), 7000)
- }
- function c(k) {
- k.preventDefault();
- k.stopPropagation();
- window.location.href = "https://start.duckduckgo.com"
- }
- function j(k) {
- k.preventDefault();
- k.stopPropagation()
- }
- function g(k) {
- k.preventDefault();
- k.stopPropagation();
- this.dismissed = true;
- this.destroy();
- f.page.addOnboarding();
- f.pixel.fire("atbhl", f.device.pixelBrowserName, f.opensearch.version, {
- va: f.opensearch.variant,
- atbva: f.opensearch.atbVariant,
- l: w.locale,
- p: f.device.pixelPlatformName,
- ax: (f.settings.isDefault(f.addToBrowser.BADGE_RECURRING_KEY)) ? 0 : 1
- })
- }
- }(DDG);
- ! function(c) {
- var b = c.Views.Modal,
- a = "js-add-to-browser",
- e = "is-hidden";
- c.Views.AddToBrowserModal = function(f) {
- this.entryPoint = f.entryPoint;
- b.call(this, f)
- };
- c.Views.AddToBrowserModal.prototype = $.extend({}, b.prototype, {
- template: "add_to_browser_modal",
- show: function() {
- b.prototype.show.call(this);
- $(window).on("blur.atb", function() {
- c.pixel.fire("atbob", this.entryPoint, c.device.pixelBrowserName, c.opensearch.version, {
- va: c.opensearch.atbVariant
- })
- }.bind(this))
- },
- hide: function() {
- b.prototype.hide.call(this);
- $(window).off("blur.atb")
- },
- _render: function() {
- var k = c.device,
- n = k.getAddToBrowserDirections(),
- i = {
- displayBrowserName: k.displayBrowserName,
- showExtensionLink: k.displayBrowserName === "Vivaldi" && k.chromeVersion >= 50
- },
- g = n.useForSearch && c.exec_template(n.useForSearch, i),
- f = n.setAsHomepage && c.exec_template(n.setAsHomepage, i),
- m = k.getBrowserMoreURL(),
- j = g && f,
- h = j || m;
- b.prototype._render.call(this, $.extend(i, {
- useForSearch: g,
- setAsHomepage: f,
- moreURL: m,
- hasToggle: j,
- hasFooter: h
- }));
- if (j) {
- this.$("." + a + "-search-link").click(this._showDirections.bind(this, "search"));
- this.$("." + a + "-homepage-link").click(this._showDirections.bind(this, "homepage"))
- }
- this.$(".js-btn-nui").click(function() {
- c.pixel.fire("atboc", this.entryPoint, c.device.pixelBrowserName, c.opensearch.version, {
- va: c.opensearch.atbVariant
- });
- c.opensearch.addSearchProvider();
- this.$(".has-btn").removeClass("has-btn");
- this.$(".js-hide-on-nui").addClass(e);
- this.$(".js-show-on-nui").removeClass(e);
- return false
- }.bind(this));
- this.$el.click(function(o) {
- o.preventDefault && o.stopPropagation()
- })
- },
- _showDirections: function(f, i) {
- i.preventDefault();
- i.stopPropagation();
- var g = f === "search" ? "homepage" : "search",
- j = "." + a + "-" + g,
- h = "." + a + "-" + f;
- this.$(j).addClass(e);
- this.$(j + "-link").removeClass(e);
- this.$(h).removeClass(e);
- this.$(h + "-link").addClass(e)
- }
- })
- }(DDG);
- ! function(e) {
- var c = e.Views.Modal;
- e.Views.AddToBrowserModalBlurred = function(f) {
- this._ops = f;
- this.clickPixel = f.clickPixel;
- c.call(this, f)
- };
- e.Views.AddToBrowserModalBlurred.prototype = $.extend({}, c.prototype, {
- template: "add_to_browser_modal_blurred",
- _render: function(f) {
- f = f || this._ops;
- var g = e.Data.Onboarding[e.opensearch.atbVariant] || {};
- f.content = e.exec_template((f.isCppm || f.isCppm4 || f.isCppm5 || f.isCppmStateless) ? "use_for_search_ios8_cppm" : e.device.getAddToBrowserDirections().useForSearch, {
- displayBrowserName: e.device.displayBrowserName,
- height: e.device.height,
- onboardingTest: g
- });
- this.template = (e.addToBrowser.showDarkInstructions()) ? "add_to_browser_modal_blurred_dark" : "add_to_browser_modal_blurred";
- c.prototype._render.call(this, f);
- if (f.isCppm || f.isCppm4 || f.isCppm5 || f.isCppmStateless) {
- this._createMultiStepMobileOnboardingView();
- this.$el.addClass("add-to-browser--blurred-cppm")
- }
- var h = (e.addToBrowser.showDarkInstructions() && !(f.isCppm || f.isCppm4 || f.isCppm5 || f.isCppmStateless)) ? "add-to-browser--blurred__backdrop-dark" : "add-to-browser--blurred__backdrop";
- if (f.isCppm || f.isCppm4 || f.isCppm5 || f.isCppmStateless) {
- h += " add-to-browser--blurred__backdrop--cppm"
- }
- if (f.isCppm4 || f.isCppm5) {
- h += " add-to-browser--blurred__backdrop--cppm-dark"
- }
- this.$backdrop = $('<div class="' + h + '"></div>');
- $("body").append(this.$backdrop);
- this._measureHeight();
- e.device.on("resize", this._measureHeight.bind(this));
- this.bindEvents([
- [this.$backdrop, "click", a]
- ].concat((f.isCppm || f.isCppm4 || f.isCppm5 || f.isCppmStateless) ? [] : [
- [this.$el, "click", a]
- ]))
- },
- _createMultiStepMobileOnboardingView: function() {
- if (!this.views.multiStepMobileOnboarding) {
- this.views.multiStepMobileOnboarding = new e.Views.MultiStepMobileOnboarding({
- appendTo: ".js-use-for-search-ios8-cppm",
- isStateless: this._ops.isCppmStateless || this._ops.isCppm4 || this._ops.isCppm5,
- isCppm4: this._ops.isCppm4,
- isCppm5: this._ops.isCppm5,
- model: this._ops.mobileOnboarding,
- onClose: this.hide.bind(this),
- onStartSearch: this._ops.onStartSearch,
- onShowSetAsDefault: this._setViewedCookie.bind(this)
- })
- }
- },
- show: function() {
- e.$html.addClass("blurred-animation").addClass("is-blurred");
- if (this._ops.isCppm || this._ops.isCppm4 || this._ops.isCppm5 || this._ops.isCppmStateless) {
- e.$html.addClass("cppm")
- } else {
- this._setViewedCookie()
- }
- this.$backdrop.addClass("is-showing");
- b(this.$el, "translate3d(0px," + this._translateY + "px,0px)");
- c.prototype.show.call(this)
- },
- hide: function() {
- b(this.$el, "translate3d(0px,0px,0px)");
- e.$html.removeClass("is-blurred");
- this.$backdrop.removeClass("is-showing");
- if (this._ops.isCppm || this._ops.isCppm4 || this._ops.isCppm5 || this._ops.isCppmStateless) {
- e.$html.removeClass("cppm")
- }
- c.prototype.hide.call(this);
- setTimeout(function() {
- e.$html.removeClass("blurred-animation")
- }, 300)
- },
- _measureHeight: function() {
- this._translateY = ((this.$el.outerHeight() * -1) - ((this._ops.isCppm || this._ops.isCppm4 || this._ops.isCppm5 || this._ops.isCppmStateless) ? 0 : 10));
- if (this.isShowing) {
- this.hide()
- }
- },
- _setViewedCookie: function() {
- if (!e.settings.isDefault(e.settings.MOBILE_INSTRUCTIONS_KEY)) {
- return
- }
- var f = "o";
- if (e.page.pageType === "home" || e.page.pageType === "serp") {
- f = e.page.pageType[0]
- }
- e.settings.set(e.settings.MOBILE_INSTRUCTIONS_KEY, e.opensearch.getFullATBParam() + f + this.clickPixel)
- }
- });
- var b = function(f, g) {
- f.css({
- "-webkit-transform": g,
- transform: g
- })
- },
- a = function(f) {
- f.preventDefault();
- f.stopPropagation();
- this.hide()
- }
- }(DDG);
- ! function(b) {
- var a = b.Views.Base;
- b.Views.SpreadBadge = function(c) {
- a.call(this, c);
- b.ImageLoader.registerAll(this.$(".js-lazysvg"), "sidemenu", {
- svg: true
- });
- this.bindEvents([
- [this.$el, "click", this._onClick],
- [".js-badge-link-close", "click", this._onCloseClick]
- ])
- };
- b.Views.SpreadBadge.prototype = $.extend({}, a.prototype, {
- template: "spread_badge",
- _onClick: function() {
- b.pixel.fire("sm_spread");
- window.location.href = "/spread"
- },
- _onCloseClick: function() {
- b.settings.set("kak", -1, {
- saveToCloud: true
- });
- this.destroy()
- }
- })
- }(DDG);
- ! function(c) {
- var b = c.Views.Modal,
- a = "is-expanded";
- c.Views.CppModal = function(e) {
- e.browser = c.device.displayBrowserName;
- this.onOnboardingAction = e.onOnboardingAction;
- this.passATBToExtension = e.passATBToExtension;
- this.url = e.url;
- this.onOnboardingDone = e.onOnboardingDone;
- this.openChromeStoreTimeoutId = null;
- this.step1TimeoutID = null;
- this.step2TimeoutID = null;
- this.rafId = null;
- b.call(this, $.extend({}, e, {
- step1Done: e.model.getStep() >= 2,
- step2Done: e.model.getStep() >= 3,
- animateOpenStore: e.model.getStep() < 2
- }));
- this._cacheElems(".js-cpp", ["wrapper", "title", "subtitle", "step-1", "step-2", "step-1-btn", "step-2-btn", "success", "close", "later-btn", "store-link"]);
- this.bindEvents([
- [this.$step1btn, "click", this.onStep1BtnClick],
- [this.$step2btn, "click", this.onStep2BtnClick],
- [this.$success, "click", this.onSuccessClick],
- [this.$close, "click", this.onCloseClick],
- [this.$laterbtn, "click", this.onLaterBtnClick],
- [this.$storelink, "click", this.onStoreLinkClick]
- ]);
- if (this.model.getStep() < 2) {
- this._boundOnExtensionMessage = this._onExtensionMessage.bind(this);
- window.addEventListener("message", this._boundOnExtensionMessage, false)
- }
- };
- c.Views.CppModal.prototype = $.extend({}, b.prototype, {
- template: "cpp_modal",
- show: function() {
- b.prototype.show.call(this);
- this._hasBeenExposedAtOpening = this.model.hasBeenExposed();
- this._lastRecordedStepAtOpening = this.model.getLastRecordedStep();
- this._stepAtOpening = this.model.getStep();
- this._firePixel("render", this.model.getStep());
- if (!this.model.hasBeenExposed()) {
- this.model.setStep(0)
- }
- this.rafId = window.requestAnimationFrame(function() {
- this.rafId = window.requestAnimationFrame(function() {
- this.$el.addClass("fade-in-out")
- }.bind(this))
- }.bind(this));
- c.$html.addClass("has-cpp-modal");
- if (this.model.getStep() < 2) {
- if (c.extension.isInstalled()) {
- this.onStep1Done()
- } else {
- this.$step1btn.removeClass("btn--installed btn--primary btn--cta").addClass("btn--opening").find("span").text("Opening Chrome Store");
- if (this._xhr) {
- try {
- this._xhr.abort()
- } catch (e) {}
- }
- this._xhr = this.passATBToExtension(function(f) {
- this._xhr = null;
- if (f) {}
- c.history.set("npi", "1");
- this.openChromeStoreTimeoutId = setTimeout(function() {
- this._firePixel("do", this.model.getStep(), true);
- this._openChromeStore(true)
- }.bind(this), this._storeWindow && !this._storeWindow.closed ? 0 : 3000)
- }.bind(this))
- }
- }
- },
- hide: function() {
- var e = this.$el.get(0),
- g = this;
- function f() {
- e.scrollTop = 0;
- b.prototype.hide.call(g);
- e.removeEventListener("transitionend", f);
- c.$html.removeClass("has-cpp-modal")
- }
- e.addEventListener("transitionend", f);
- this.$el.removeClass("fade-in-out");
- c.history.clear("natb", "npi", "cp");
- clearTimeout(this.openChromeStoreTimeoutId)
- },
- _render: function(e) {
- b.prototype._render.call(this, e)
- },
- destroy: function() {
- if (this._boundOnExtensionMessage) {
- window.removeEventListener("message", this._boundOnExtensionMessage, false)
- }
- if (this._xhr) {
- try {
- this._xhr.abort()
- } catch (e) {}
- }
- cancelAnimationFrame(this.rafId);
- clearTimeout(this.openChromeStoreTimeoutId);
- clearTimeout(this.step1TimeoutID);
- clearTimeout(this.step2TimeoutID);
- b.prototype.destroy.call(this)
- },
- _openChromeStore: function(e) {
- if (e) {
- this.$step1btn.removeClass("btn--installed btn--opening").addClass("btn--primary btn--cta").find("span").text("Install DuckDuckGo")
- }
- this.model.setStep(1);
- var g = "status=0,location=0,toolbar=1,menubar=1,height=300,width=1100";
- if (!this._storeWindow || this._storeWindow.closed) {
- this._storeWindow = window.open(this.url, "ChromeStoreWindow", g)
- } else {
- try {
- this._storeWindow.focus()
- } catch (f) {}
- }
- },
- _onExtensionMessage: function(f) {
- if (f.origin === window.location.origin && f.data && f.data.type === "onboarding" && f.data.ready) {
- c.history.clear("natb", "npi", "cp");
- this._firePixel("complete", this.model.getStep());
- this.onStep1Done()
- }
- },
- onStep1BtnClick: function() {
- this._firePixel("do", this.model.getStep());
- if (this.model.getStep() < 2) {
- this._openChromeStore()
- }
- },
- onStep1Done: function() {
- this.model.setStep(2);
- this.$step1.removeClass(a).addClass("done");
- this.$step1btn.removeClass("btn--primary btn--cta btn--opening").addClass("btn--installed").attr("disabled", "disabled").find("span").text("Installed");
- this.step1TimeoutID = setTimeout(function() {
- this.$step2.addClass(a)
- }.bind(this), 200)
- },
- onStep2BtnClick: function() {
- this._firePixel("do", this.model.getStep());
- this.model.setStep(3);
- this.$step2.removeClass(a).addClass("done");
- this.$step2btn.addClass("btn--installed").removeClass("btn--primary").attr("disabled", "disabled").find("span").text("Installed");
- this.$title.text("Say Hello To Peace of Mind!");
- this.$subtitle.text("Whether you’re browsing on desktop or mobile, your online data is now more private by default!");
- this.step2TimeoutID = setTimeout(function() {
- this.$laterbtn.removeClass("btn--grey").addClass("btn--primary").text("Done");
- this.$success.removeClass("is-hidden")
- }.bind(this), 600)
- },
- onLaterBtnClick: function() {
- this._firePixel("resume", this.model.getStep());
- this.hide();
- if (this.onOnboardingDone && this.model.getStep() === 3) {
- this.onOnboardingDone()
- }
- },
- onCloseClick: function() {
- this._firePixel("close", this.model.getStep());
- this.hide();
- if (this.onOnboardingDone && this.model.getStep() === 3) {
- this.onOnboardingDone()
- }
- },
- onStoreLinkClick: function(f) {
- this._firePixel("do", this.model.getStep());
- f.preventDefault();
- clearTimeout(this.openChromeStoreTimeoutId);
- this._openChromeStore(true)
- },
- _firePixel: function(g, f, i) {
- var e = "cpp",
- h;
- switch (g) {
- case "render":
- h = "i";
- break;
- case "do":
- h = "a";
- break;
- case "complete":
- h = "c";
- break;
- case "resume":
- h = "s";
- break;
- case "close":
- h = "x";
- break;
- default:
- break
- }
- if (h) {
- c.pixel.fire(e + h, c.device.pixelBrowserName, c.opensearch.version, {
- va: c.opensearch.variant,
- atbva: c.opensearch.atbVariant,
- l: w.locale,
- p: c.device.pixelPlatformName,
- st: f,
- s: this._lastRecordedStepAtOpening,
- i: this._hasBeenExposedAtOpening ? "1" : "0",
- o: this._stepAtOpening,
- w: i ? "1" : "0"
- })
- }
- }
- })
- }(DDG);
- ! function(b) {
- var a = b.Views.Base;
- b.Views.Faq = function(c) {
- c = $.extend({
- faq: [{
- id: 6,
- question: "How does DuckDuckGo make money?",
- answer: "We make our money from private ads on our search engine. On other search engines, ads are based on profiles compiled about you using your personal information like search, browsing, and purchase history. Since we don’t collect that information, search ads on DuckDuckGo are based on the search results page you are viewing, not on you as a person. For example, if you search for cars, we’ll show you ads about cars.",
- learnMoreUrl: "https://spreadprivacy.com/duckduckgo-revenue-model/"
- }, {
- id: 2,
- question: "What does Google know about me?",
- answer: "Not only does Google keep your search history forever by default, their trackers have been found on 75% of the top million websites, which means they are tracking most everywhere you go on the Internet (unless you stop them with DuckDuckGo!). And that’s just the tip of the iceberg.",
- learnMoreUrl: "https://spreadprivacy.com/what-does-google-know-about-me/"
- }, {
- id: 1,
- question: "Why use DuckDuckGo instead of Google?",
- answer: 'Ever notice ads constantly following you around? That’s in part because Google tracks your searches and hides trackers on millions of websites. By contrast, our private search engine doesn’t track your searches and our <a href="https://duckduckgo.com/app" target="_blank" data-id="1-t0">DuckDuckGo browser extension and mobile app</a> block Google’s (and many other companies’) trackers across the Internet, helping to keep your browsing history more private, as it should be. And that’s just the beginning — by using DuckDuckGo you also escape the manipulation of the filter bubble and can use the Internet faster (after all that tracking code is disabled).',
- learnMoreUrl: "https://spreadprivacy.com/why-use-duckduckgo-instead-of-google/"
- }, {
- id: 4,
- question: "How do DuckDuckGo search results compare to Google’s?",
- answer: 'DuckDuckGo search gives you truly private search results without tradeoffs in result quality. We have everything you’ve come to expect in an online search experience, and a few <a href="https://duckduckgo.com/bang" target="_blank" data-id="4-t0">bonus features</a> that make searching the Internet not only private, but also a bit more fun! And, on top of that, because there is no search history on DuckDuckGo, you escape the filter bubble of manipulated results.',
- learnMoreUrl: "https://spreadprivacy.com/is-duckduckgo-a-good-search-engine/"
- }, {
- id: 3,
- question: "What’s the difference between using DuckDuckGo and Incognito mode?",
- answer: "It is a myth that you can’t be tracked while using so-called “Incognito†mode. In fact, Incognito mode mainly just deletes information on your computer and does nothing to stop Google from saving your searches, nor does it stop companies, Internet service providers, or governments from being able to track you across the Internet. By contrast, DuckDuckGo search is completely anonymous and if you add our app & extension on top, we help keep you private when browsing off of search results.",
- learnMoreUrl: "https://spreadprivacy.com/how-anonymous-is-duckduckgo/"
- }, {
- id: 5,
- question: "How popular is DuckDuckGo?",
- answer: 'We don’t track our users, so it’s actually impossible for us to know how many users in total are using our products. However, we are able to make an estimate based on the number of searches we get per month, <a href="https://duckduckgo.com/traffic" target="_blank" data-id="5-t0">which we make public</a>. Our best guess — over 50 million people!',
- learnMoreUrl: "https://spreadprivacy.com/how-many-people-use-duckduckgo/"
- }, {
- id: 0,
- question: "How does the DuckDuckGo app & extension work?",
- answer: "The DuckDuckGo Privacy Browser mobile app and Privacy Essentials desktop extension both come with our best-in-class tracker blocker, encryption enforcer, and private search engine – all in one simple package. This gives you all the key privacy protection tools to search and browse privately, curbing the constant monitoring of your Internet activity by companies like Google and Facebook.",
- learnMoreUrl: "https://spreadprivacy.com/how-does-the-duckduckgo-app-extension-protect-my-privacy/"
- }].map(function(f, e) {
- f.isCollapsed = e !== 0;
- return f
- })
- }, c);
- this._ops = c;
- a.call(this, this._ops)
- };
- b.Views.Faq.prototype = $.extend({}, a.prototype, {
- template: "faq",
- _render: function() {
- a.prototype._render.call(this, this._ops);
- if (this._collapsers) {
- this._collapsers.forEach(function(i) {
- i.destroy()
- })
- }
- this._collapsers = [];
- var j = document.getElementsByClassName("js-faq-section");
- for (var f = 0; f < j.length; f++) {
- var h = j[f];
- var e = h.querySelector(".js-faq-header");
- var c = h.querySelector(".js-faq-collapsible");
- var g = new b.Utils.Collapser(c);
- g.registerTrigger(e, {
- onToggle: (function(k) {
- return function(i) {
- if (!i) {
- this._collapsers.forEach(function(n, p) {
- if (k !== p && !n.isCollapsed()) {
- n.collapse();
- var o = j[p].querySelector("button[aria-expanded]");
- o.setAttribute("aria-expanded", "false");
- o.setAttribute("aria-disabled", "false");
- j[p].querySelector("header").setAttribute("data-disabled", "false")
- }
- }, this);
- var m = j[k].querySelector("button[aria-expanded]");
- m.setAttribute("aria-expanded", (!i).toString());
- m.setAttribute("aria-disabled", (!i).toString());
- j[k].querySelector("header").setAttribute("data-disabled", (!i).toString());
- this._firePixel("clickQuestion", this._ops.faq[k].id);
- this._firePixel("renderAnswer", this._ops.faq[k].id)
- }
- }.bind(this)
- }.bind(this))(f),
- collapsible: false
- });
- this._collapsers.push(g)
- }
- if (this._observer) {
- this._observer.destroy()
- }
- this._observer = new b.Utils.IsIntoViewObserver(document.querySelector(".js-faq-section"), function(i) {
- if (i) {
- this._firePixel("renderFAQ", "n");
- this._firePixel("renderAnswer", this._ops.faq[0].id);
- this._observer.destroy()
- }
- }.bind(this));
- this.bindEvents([
- [this.$el, "click", this._onClick]
- ])
- },
- destroy: function() {
- if (this._collapsers) {
- this._collapsers.forEach(function(c) {
- c.destroy()
- })
- }
- if (this._observer) {
- this._observer.destroy()
- }
- a.prototype.destroy.call(this)
- },
- _onClick: function(c) {
- if (c.target && c.target.localName === "a" && c.target.hasAttribute("data-id")) {
- var g = c.target.getAttribute("data-id");
- var f = g.split("-");
- this._firePixel("clickLink", f[0], f[1])
- }
- },
- _firePixel: function(e, g, c) {
- var f;
- switch (e) {
- case "renderFAQ":
- case "renderAnswer":
- f = "i";
- break;
- case "clickQuestion":
- f = "c";
- break;
- case "clickLink":
- f = "a";
- break;
- default:
- break
- }
- if (f) {
- b.pixel.fire("faq" + f, b.device.pixelBrowserName, b.opensearch.version, $.extend({
- va: b.opensearch.variant,
- atbva: b.opensearch.atbVariant,
- l: w.locale,
- p: b.device.pixelPlatformName,
- o: g,
- s: c
- }, this._ops.stats))
- }
- }
- })
- }(DDG);
- ! function(b) {
- var a = b.Views.Base;
- b.Views.NewsletterFormExpand = function(c) {
- a.call(this, c);
- this._cacheElems(".js-badge", ["email", "form", "lock"]);
- this.bindEvents([
- [this.$form, "submit", this._submit]
- ]);
- this._init()
- };
- b.Views.NewsletterFormExpand.prototype = $.extend({}, a.prototype, {
- template: "newsletter_form_expand",
- _init: function() {
- this._animateIn(this.$form);
- this.$email && this.$email.focus()
- },
- _animateIn: function(e) {
- var c = 300;
- e.hide().slideDown(c, "swing");
- setTimeout(function() {
- e.animate({
- opacity: 1
- }, c);
- this.$lock && this.$lock.animate({
- opacity: 1
- })
- }.bind(this), c + 100)
- },
- _submit: function(c) {
- c.preventDefault();
- this.params = this.$form.serialize() + "&" + $.param({
- flow: b.opensearch.version + b.newsletter.group,
- campaign: "b"
- });
- $.post("https://duck.co/s/a", this.params);
- this._animateOut(this.$form.add(".js-badge-title"), function() {
- this.emit("subscribed")
- }.bind(this));
- b.settings.set("kaq", "-1");
- b.settings.clear("kap")
- },
- _animateOut: function(c, e) {
- this.$lock.animate({
- opacity: 0
- }, 400);
- c.animate({
- opacity: 0
- }, {
- duration: 100,
- queue: false
- }).delay(300).slideUp({
- duration: 400,
- complete: e
- })
- }
- })
- }(DDG);
- ! function(c) {
- var b = c.Models,
- a = b.Base;
- b.Newsletter = function() {
- a.call(this);
- this.showStartMessage = true;
- this.group = "none"
- };
- b.Newsletter.prototype = $.extend({}, a.prototype, {
- shouldShowBadge: function() {
- if (window.locale && !/en_/.test(window.locale) || c.device.isMobileDevice || !c.settings.isDefault("kaq")) {
- return false
- }
- if (c.history.get("atb") || !c.settings.isDefault("kak")) {
- return false
- }
- if (c.tParam.fromDefaultSearch()) {
- var f = new Date(),
- g = f.getMonth(),
- e = f.getDate();
- if (e === 3 || e === 9 || e === 18 || e === 24 || (e === 28 && g !== 1)) {
- this.group = "tparam";
- this.showStartMessage = false;
- return this._getChanceOfShowingBadge(true)
- }
- return false
- }
- if (!c.device.canAddToBrowser() && (c.page.pageType === "home" && !c.page.isStart || c.page.pageType === "serp" && c.tParam.fromHomepage())) {
- this.group = "noatb";
- return this._getChanceOfShowingBadge()
- }
- return false
- },
- _getChanceOfShowingBadge: function(f) {
- var e;
- if (c.page.pageType === "home" && !f) {
- e = true
- } else {
- e = Math.random() <= 0.15
- }
- return e
- }
- })
- }(DDG);
- ! function(c) {
- var b = c.Views.Base;
- c.Views.SubscribeToNewsletterBadge = function(g) {
- this.xPixel = "nlx";
- this.successPixel = "nlms";
- this.clickPixel = "nlc";
- this.views = {};
- b.call(this, g);
- this._cacheElems(".js-badge", ["expand", "link", "form-container"]);
- this.bindEvents([
- [this.$expand, "click", e],
- [".js-badge-link-close", "click", f],
- [".js-badge-link-dismiss", "click", a]
- ])
- };
- c.Views.SubscribeToNewsletterBadge.prototype = $.extend({}, b.prototype, {
- template: "subscribe_to_newsletter_badge",
- showForm: function() {
- this._animate(this.$expand, function() {
- this.$formcontainer.html("");
- this.views.newsletterExpand = new c.Views.NewsletterFormExpand({
- appendTo: ".js-badge-form-container"
- });
- this.xPixel = "nlmx";
- this.views.newsletterExpand.on("subscribed", this._subscribed.bind(this))
- }.bind(this))
- },
- _subscribed: function() {
- this.$success_template = c.$exec_template("newsletter_form_success");
- this.$formcontainer.html(this.$success_template);
- this.views.newsletterExpand.destroy();
- this.$success = $(".js-badge-success");
- this.$success.css({
- opacity: 0
- }).delay(100).animate({
- opacity: 1
- }, 400);
- this.xPixel = "nlxs";
- c.pixel.fire(this.successPixel, c.newsletter.group, c.page.pageType);
- setTimeout(function() {
- this.$link && this.$link.fadeOut(600)
- }.bind(this), 7000)
- },
- _animate: function(g, h) {
- g.animate({
- opacity: 0
- }, 200, h)
- },
- show: function() {
- this.$el.show()
- },
- hide: function() {
- this.$el.hide()
- },
- click: function(g) {
- e.call(this, g)
- },
- dismiss: function() {
- c.pixel.fire(this.xPixel, c.newsletter.group, c.page.pageType);
- c.settings.set("kaq", "-1");
- c.settings.clear("kap")
- }
- });
- function e(g) {
- c.pixel.fire(this.clickPixel, c.newsletter.group, c.page.pageType);
- this.showForm();
- $("body").off("click.atb")
- }
- function f(g) {
- g.preventDefault();
- g.stopPropagation();
- this.dismiss();
- this.destroy()
- }
- function a(g) {
- g.preventDefault();
- g.stopPropagation();
- this.dismiss();
- this.$el.addClass("reset-height");
- this.$(".js-badge-main-msg").hide();
- if (c.newsletter.showStartMessage) {
- this.$(".js-badge-cookie-msg").show();
- setTimeout(function() {
- this.$el && this.$el.fadeOut(600)
- }.bind(this), 7000)
- } else {
- this.$el.hide()
- }
- }
- }(DDG);
- ! function(b) {
- var a = b.Views.Base;
- b.Views.NewUserPoll = function(c) {
- a.call(this, c);
- $(".js-extension-overlay").addClass("atb-extension-overlay--new-user-poll");
- this.newUserPixel = "pollnew";
- this.oldUserPixel = "pollold";
- this.iconClass = "atb-extension-overlay__image--small";
- this.pageView = c.pageView;
- this.prefix = ".js-poll";
- this._cacheElems(this.prefix, ["other-radio-returning", "other-text-returning", "radio-returning", "error-returning", "form-returning", "question-returning", "question-new-user", "question-referral", "welcome-back", "balance-text", "other-radio", "other-text", "button-new", "button-old", "thank-you", "radio", "close", "error", "form"]);
- this.bindEvents([
- [this.$form, "submit", this.submitReferral],
- [this.$formreturning, "submit", this.submitReturning],
- [this.$buttonnew, "click", this._onClickNewUser],
- [this.$buttonold, "click", this._onClickOldUser],
- [this.$othertext, "keyup", this._onKeyupOtherTextReferral],
- [this.$othertextreturning, "keyup", this._onKeyupOtherTextReturning],
- [this.$close, "click", this.pageView.hideExtensionOverlay.bind(this.pageView)]
- ])
- };
- b.Views.NewUserPoll.prototype = $.extend({}, a.prototype, {
- template: "new_user_poll",
- submitReferral: function(f) {
- f.preventDefault();
- this._onKeyupOtherTextReferral();
- var c = {};
- var g = true;
- this.$form.serializeArray().forEach(function(e) {
- if (e.value) {
- c[e.name] = e.value;
- g = false
- }
- });
- if (g) {
- this.$error.show();
- return
- }
- c.va = b.opensearch.atbVariant;
- c.l = window.locale;
- b.pixel.fire("pollr", b.device.pixelBrowserName, b.opensearch.version, c);
- this.$thankyou.show();
- this._startRedirectTimeout();
- this.$questionreferral.hide();
- if (this.$icon) {
- this.$icon.removeClass(this.iconClass)
- }
- },
- submitReturning: function(f) {
- f.preventDefault();
- this._onKeyupOtherTextReturning();
- var c = {};
- var g = true;
- this.$formreturning.serializeArray().forEach(function(e) {
- if (e.value) {
- c[e.name] = e.value;
- g = false
- }
- });
- if (g) {
- this.$errorreturning.show();
- return
- }
- c.va = b.opensearch.atbVariant;
- c.l = window.locale;
- b.pixel.fire("pollret", b.device.pixelBrowserName, b.opensearch.version, c);
- this.$welcomeback.show();
- this._startRedirectTimeout();
- this.$questionreturning.hide();
- if (this.$icon) {
- this.$icon.removeClass(this.iconClass)
- }
- },
- _onClickNewUser: function() {
- this._onNewOldResponse("yes")
- },
- _onClickOldUser: function() {
- this._onNewOldResponse("no")
- },
- _onNewOldResponse: function(c) {
- var e;
- this.$questionnewuser.hide();
- if (c === "yes") {
- e = this.newUserPixel;
- this.$questionreferral.show();
- this._shuffle(this.$radio)
- } else {
- e = this.oldUserPixel;
- this.$questionreturning.show();
- this._shuffle(this.$radioreturning)
- }
- b.pixel.fire(e, b.device.pixelBrowserName, b.opensearch.version, {
- va: b.opensearch.atbVariant,
- l: window.locale
- });
- this.$icon = $(this.prefix + "-icon");
- this.$icon.addClass(this.iconClass);
- $.balanceText(this.$balancetext)
- },
- _startRedirectTimeout: function() {
- setTimeout(function() {
- window.location.reload()
- }, (10 * 1000))
- },
- _shuffle: function(f) {
- var c;
- for (var e = 0; e < f.length; e++) {
- c = Math.floor(Math.random() * f.length);
- $(f[e]).before($(f[c]))
- }
- return this
- },
- _onKeyupOtherTextReferral: function() {
- var c = this.$otherradio.is(":checked");
- if (!this.$othertext.val() && c) {
- this.$otherradio.prop("checked", false)
- } else {
- if (this.$othertext.val() && !c) {
- this.$otherradio.prop("checked", true)
- }
- }
- },
- _onKeyupOtherTextReturning: function() {
- var c = this.$otherradioreturning.is(":checked");
- if (!this.$othertextreturning.val() && c) {
- this.$otherradioreturning.prop("checked", false)
- } else {
- if (this.$othertextreturning.val() && !c) {
- this.$otherradioreturning.prop("checked", true)
- }
- }
- }
- })
- }(DDG);
- ! function(e) {
- var c = e.Models,
- b = c.Base,
- f = ["VTKG7CN", "6ZS2CXN"],
- a = true;
- c.Survey = function() {
- b.call(this);
- this.showBanner = e.device && e.device.isMobileDevice
- };
- c.Survey.prototype = $.extend({}, b.prototype, {
- BADGE_CLICK_KEY: "kau",
- shouldShowBadge: function() {
- if (a) {
- return false
- }
- if (e.device.isMobileDevice && !e.device.isDDGApp && !e.addToBrowser.canAddToChromeMobile()) {
- return false
- } else {
- if (e.device.isDesktop && !(e.extension.isInstalled() || e.device.isDDGApp)) {
- return false
- }
- }
- if (!e.settings.isDefault(this.BADGE_CLICK_KEY)) {
- return false
- }
- if (!(e.page.pageType === "home" || e.page.pageType === "serp")) {
- return false
- }
- if ($.isEmptyObject(e.opensearch.installed)) {
- return false
- }
- this.cohortVersion = e.opensearch.installed.version;
- if (!window.locale || window.locale !== "en_US") {
- return false
- }
- this.delta = e.opensearch.getDaysSinceCohort(this.cohortVersion);
- switch (this.delta) {
- case 1:
- return Math.random() <= 0.14;
- case 2:
- return Math.random() <= 0.17;
- case 3:
- return Math.random() <= 0.2;
- case 14:
- return Math.random() <= 0.25;
- case 28:
- return Math.random() <= 0.3;
- default:
- return false
- }
- },
- getSurveyUrl: function() {
- var h = "https://www.surveymonkey.com/r/";
- var g = Math.floor(Math.random() * f.length);
- var i = f[g];
- var j = {
- atb: this.cohortVersion,
- delta: e.opensearch.getDaysSinceCohort(this.cohortVersion),
- "var": e.opensearch.installed.atbVariant || "_",
- b: e.device.pixelBrowserName,
- bv: e.device.pixelBrowserVersion
- };
- return h + i + "?" + $.param(j)
- }
- })
- }(DDG);
- ! function(b) {
- var a = b.Views.Base;
- b.Views.SurveyBadge = function(e) {
- this.xPixel = "sux";
- this.impressionPixel = "sui";
- this.clickPixel = "suc";
- e.url = b.survey.getSurveyUrl();
- e.serp = b.page.pageType === "serp";
- a.call(this, e);
- var c = b.device.isMobileDevice ? ".js-atb-banner" : ".js-badge-link";
- this._cacheElems(c, ["button", "dismiss"]);
- this.bindEvents([
- [this.$button, "click", this._onClick.bind(this)],
- [this.$dismiss, "click", this._onDismiss.bind(this)]
- ]);
- if (!b.survey.showBanner) {
- $(".js-header-aside").addClass("is-hidden")
- }
- };
- b.Views.SurveyBadge.prototype = $.extend({}, a.prototype, {
- template: "survey_badge",
- _render: function(c) {
- if (b.device && b.device.isMobileDevice) {
- this.template = "survey_banner"
- }
- a.prototype._render.call(this, c)
- },
- show: function() {
- this.$el.show();
- b.pixel.fire(this.impressionPixel, b.page.pageType, {
- delta: b.survey.delta
- })
- },
- hide: function() {
- $(".js-header-aside").removeClass("is-hidden");
- this.$el.hide()
- },
- _onClick: function() {
- b.pixel.fire(this.clickPixel, b.page.pageType, {
- delta: b.survey.delta
- });
- $("body").off("click.atb");
- b.settings.set(b.survey.BADGE_CLICK_KEY, "-1");
- this.hide()
- },
- _onDismiss: function(c) {
- c.preventDefault();
- c.stopPropagation();
- b.pixel.fire(this.xPixel, b.page.pageType, {
- delta: b.survey.delta
- });
- b.settings.set(b.survey.BADGE_CLICK_KEY, "-1");
- this.hide()
- }
- })
- }(DDG);
- ! function(c) {
- var a = c.Views.Base,
- b = c.Views.Dropdowns;
- b.Base = function(e) {
- this._verticalPos = e.verticalPos || "bottom";
- this._horizontalPos = e.horizontalPos || "left";
- a.call(this, e)
- };
- b.Base.prototype = $.extend({}, a.prototype, {
- template: "dropdown",
- destroy: function() {
- c.$doc.off("scroll.modal click.modal");
- a.prototype.destroy.call(this)
- },
- open: function() {
- if (c.dropdownOpen) {
- c.dropdownOpen.close()
- }
- c.dropdownOpen = this;
- if (!this.modalClass) {
- throw new Error("didn't define modalClass for dropdown")
- }
- if (!this.views.modal) {
- this.views.modal = new b[this.modalClass]($.extend({
- appendTo: $("body"),
- isPopover: c.device.isMobile
- }, this.modalOps || {}));
- this.views.modal.on("shown", this._onModalShown.bind(this));
- this.views.modal.on("hidden", this._onModalHidden.bind(this));
- this.views.modal.on("item-clicked", this._onItemClick.bind(this))
- }
- this.views.modal && this.views.modal.show();
- if (!c.device.isMobile) {
- c.$doc.on("scroll.modal click.modal", this.close.bind(this))
- }
- this._repositionModal()
- },
- close: function() {
- delete c.dropdownOpen;
- this.views.modal && this.views.modal.hide();
- c.$doc.off("scroll.modal click.modal")
- },
- _render: function(e) {
- a.prototype._render.call(this, e);
- this._cacheElems(".js-dropdown", ["button"]);
- this.bindEvents([
- [this.$button, "click", this._onClick],
- [this.$button, "mouseup touchend", this._onMouseUp]
- ])
- },
- _repositionModal: function() {
- if (!this.views.modal) {
- return
- }
- var e = this.$el.offset();
- if (this._horizontalPos === "center") {
- e.left += this.$el.outerWidth() / 2
- } else {
- if (this._horizontalPos === "right") {
- e.left += this.$el.outerWidth()
- }
- }
- if (this._verticalPos === "bottom") {
- e.top += this.$el.outerHeight()
- }
- this.views.modal.pointAt(e)
- },
- _onModalShown: function() {
- this.$el.addClass("is-open");
- this.emit("opened")
- },
- _onModalHidden: function() {
- this.$el.removeClass("is-open");
- this.emit("closed")
- },
- _onClick: function(f) {
- f.preventDefault();
- if (!this.views.modal || !this.views.modal.isShowing) {
- this.open()
- } else {
- this.close()
- }
- return false
- },
- _onMouseUp: function(f) {
- f.stopPropagation()
- },
- _onItemClick: function(f) {
- this.emit("item-clicked", f)
- }
- })
- }(DDG);
- ! function(c) {
- var b = c.Views.Dropdowns,
- a = b.Base;
- b.SelectListDropdown = function(e) {
- this._showSelected = e.showSelected;
- this._module = e.module;
- a.call(this, e);
- this.modalOps = {
- header: e.header,
- key: e.key,
- model: this.model,
- position: this._verticalPos
- }
- };
- b.SelectListDropdown.prototype = $.extend({}, a.prototype, {
- modalClass: "SelectListDropdownModal",
- _render: function(e) {
- a.prototype._render.call(this, $.extend({}, this.model, e));
- this.bindEvents([
- [this.model, "change:disabled", this._onDisabledChange],
- [this.model, "change:selected", this._onSelectedChange]
- ]);
- this._updateShowSelected()
- },
- _updateShowSelected: function() {
- var e = this._module ? "<span>" + l("Use") + " </span>" + this.model.selected.name : this.model.selected.name;
- if (this._showSelected) {
- this.$button.html(e)
- }
- },
- _onDisabledChange: function() {
- if (this.model.disabled) {
- this.$el.hide()
- } else {
- this.$el.show()
- }
- },
- _onSelectedChange: function() {
- this._updateShowSelected()
- }
- })
- }(DDG);
- ! function(e) {
- var c = e.Views.Dropdowns,
- b = e.Views.Modal,
- g = "is-disabled",
- f = "is-selected",
- a = "is-active";
- c.SelectListDropdownModal = function(h) {
- b.call(this, h)
- };
- c.SelectListDropdownModal.prototype = $.extend({}, b.prototype, {
- template: "dropdown_modal",
- hasActiveItem: function() {
- return !!this.$("." + a).length
- },
- _render: function(h) {
- b.prototype._render.call(this, $.extend({}, this.model, h));
- this._cacheElems(".js-dropdown", ["items"]);
- this.bindEvents([
- [this.$items, "mouseenter touchstart", this._onItemMouseEnter],
- [this.$items, "mouseleave", this._onItemMouseLeave],
- [this.$items, "click", this._onItemClick],
- [this.model, "change:disabled", this._onDisabledChange],
- [this.model, "change:selected", this._onSelectedChange],
- [e.device, "resize", this.hide]
- ])
- },
- _setValue: function(i) {
- var h = this.$items.filter("[data-value='" + i + "']");
- this.$("." + f).removeClass(f);
- h.addClass(f);
- this._currentValue = i
- },
- _onItemClick: function(i) {
- i.preventDefault();
- var h = $(i.currentTarget),
- j = h.data("value");
- if (j !== this._currentValue && !h.hasClass(g)) {
- this.model.select(j);
- this._setValue(j);
- this.emit("item-clicked", j)
- }
- this.hide();
- return false
- },
- _onItemMouseEnter: function(h) {
- $(h.currentTarget).addClass(a)
- },
- _onItemMouseLeave: function(h) {
- $(h.currentTarget).removeClass(a)
- },
- _onDisabledChange: function() {
- this.model.values.forEach(function(h) {
- this.$items.find("[data-value='" + h.id + "']").toggleClass(g, h.disabled)
- }.bind(this))
- },
- _onSelectedChange: function() {
- this._setValue(this.model.selected.val)
- }
- })
- }(DDG);
- ! function(c) {
- var b = c.Views.Dropdowns,
- a = b.Base;
- b.SettingsDropdown = function(e) {
- this.isCog = e.isCog;
- if (this.isCog) {
- this.template = "settings_dropdown_cog"
- }
- a.call(this, e);
- c.require("settings", this._renderDropdown.bind(this))
- };
- b.SettingsDropdown.prototype = $.extend({}, a.prototype, {
- template: "settings_dropdown",
- modalClass: "SettingsDropdownModal",
- _render: function(e) {
- $.noop()
- },
- _renderDropdown: function(e) {
- e = e || {};
- a.prototype._render.call(this, e);
- if (c.device.isMobile && !this.isCog) {
- $(".js-duckbar-dropdowns-separator").removeClass("is-hidden")
- }
- },
- open: function() {
- a.prototype.open.call(this);
- c.$doc.off("click.modal");
- c.$doc.on("click.modal", this._onModalClick.bind(this))
- },
- _onModalClick: function(g) {
- var f = this.views.modal.$el.has(g.target);
- if (!f.length) {
- a.prototype.close.call(this)
- }
- }
- })
- }(DDG);
- ! function(c) {
- var b = c.Views.Dropdowns,
- a = c.Views.Modal;
- b.SettingsDropdownModal = function(e) {
- this.dropdownSettings = c.settings.getDropdownSettings();
- a.call(this, e)
- };
- b.SettingsDropdownModal.prototype = $.extend({}, a.prototype, {
- template: "settings_dropdown_modal",
- show: function() {
- a.prototype.show.call(this);
- c.pixel.fire("sdd", "e")
- },
- _render: function(e) {
- a.prototype._render.call(this, {
- isPopover: e.isPopover,
- header: e.isPopover && lp("feedback form", "Settings")
- });
- this._cacheElems(".js-settings-dropdown", ["appearance", "general", "reset-appearance", "reset-general"]);
- this._renderDropdownSettings()
- },
- _renderDropdownSettings: function() {
- for (var i in this.dropdownSettings) {
- this["$reset" + i].on("click", {
- category: i
- }, this._onReset.bind(this));
- for (var k in this.dropdownSettings[i]) {
- var j = c.settings.getData(k),
- f = this["$" + i],
- e = j.type,
- h = c.settings.getFieldClass(e);
- var g = new c.Views.Settings[h]({
- id: k,
- settings: c.settings,
- data: j,
- appendTo: f,
- source: "d"
- });
- c.settings.on("change:" + k, this._showResetLink.bind(this));
- g.$el.children(".frm__label").attr("title", window.lp("settings", g.data.desc))
- }
- }
- this._showResetLink()
- },
- _onReset: function(j) {
- var h = j.data.category,
- g = this.dropdownSettings[h],
- k = [];
- c.pixel.fire("sdr", h);
- for (var i in g) {
- if (!c.settings.isDefault(i) || i === c.settings.THEME_KEY) {
- var f = c.settings.getDefault(i);
- if (i === c.settings.THEME_KEY) {
- c.settings.setTheme(f, {
- saveToCloud: true,
- updateURLParams: true,
- fallbackToUrlParam: true
- })
- } else {
- c.settings.set(i, f)
- }
- k.push(i)
- }
- }
- if (k.indexOf(c.settings.LANGUAGE_KEY) > -1) {
- window.location.reload()
- }
- },
- _showResetLink: function() {
- for (var f in this.dropdownSettings) {
- var e = this["$reset" + f];
- for (var g in this.dropdownSettings[f]) {
- var h = false;
- if (!c.settings.isDefault(g)) {
- h = true;
- break
- }
- }
- h ? e.show() : e.hide()
- }
- }
- })
- }(DDG);
- (function(a) {
- Handlebars.registerHelper("and", function() {
- var c = Array.prototype.slice.call(arguments),
- b = c.pop();
- for (var e = 0; e < c.length; e++) {
- if (!c[e]) {
- return
- }
- }
- return b.fn(this)
- });
- Handlebars.registerHelper("commifyNumber", function(b) {
- return DDG.commifyNumber(b)
- });
- Handlebars.registerHelper("concat", function(h, f) {
- if (!h) {
- return ""
- }
- var e = f.hash.sep || "",
- j = f.hash.conj || "",
- b = h.length,
- c = "";
- if (b === 1) {
- return f.fn(h[0])
- }
- if (b === 2) {
- return f.fn(h[0]) + j + f.fn(h[1])
- }
- if (b === 3) {
- return f.fn(h[0]) + e + " " + f.fn(h[1]) + j + f.fn(h[2])
- }
- for (var g = 0; g < b; g++) {
- if (g == b - 1) {
- c += e + j
- } else {
- if (g > 0) {
- c += e + " "
- }
- }
- c += f.fn(h[g])
- }
- return c
- });
- Handlebars.registerHelper("condense", function(e, h) {
- var c = 0,
- g = 0;
- var f = h.hash.truncation || "...";
- if (h.hash.maxlen) {
- c = parseInt(h.hash.maxlen, 10)
- }
- if (h.hash.fuzz) {
- g = parseInt(h.hash.fuzz, 10)
- }
- if (!e) {
- return ""
- }
- if (g > c) {
- g = 0
- }
- if (c && e.length > c) {
- var b;
- if (e.length > c && e.lastIndexOf(".", c) + 1 !== 0) {
- b = e.substr(0, e.lastIndexOf(".", c)) + f
- } else {
- if (e.length > c - g && e.lastIndexOf(" ", c) !== 0) {
- b = e.substr(0, e.lastIndexOf(" ", c)) + f
- }
- }
- if (!(b.length < (c + g) && b.length > (c - g))) {
- return e.substring(0, c) + f
- }
- return b
- }
- return e
- });
- Handlebars.registerHelper("domain", function(b) {
- var c = new RegExp("^.*?//([^/?:#]+)");
- if (c.test(b)) {
- return RegExp.$1.replace("www.", "")
- }
- });
- Handlebars.registerHelper("domainWithPath", function(b) {
- var c = new RegExp("^.*?//([^?:;#]+)");
- if (c.test(b)) {
- return RegExp.$1.replace("www.", "").replace(/\/$/, "")
- }
- });
- Handlebars.registerHelper("durationFormat", function(c, b) {
- return DDG.formatDuration(c)
- });
- Handlebars.registerHelper("ellipsis", function(k, c, m) {
- if (!k) {
- return ""
- }
- if (DDG.isNumber(k)) {
- k = k + ""
- }
- if (m && m.hash.parseFirst) {
- k = DDG.parse_link(k, "rest")
- }
- if (!$.isNumeric(c)) {
- if (m && m.hash.fallback) {
- c = m.hash.fallback
- }
- if (!$.isNumeric(c)) {
- c = 100
- }
- }
- var n = [],
- g = 0,
- h = k.split(" ");
- for (var e = 0; e < h.length; e++) {
- g += h[e].length + (e < h.length - 1 ? 1 : 0);
- if (g <= c) {
- n.push(h[e])
- }
- }
- if (n.length === 0) {
- return k
- }
- var b = h.length > n.length;
- n = n.join(" ");
- var f = n.split("<b>").length - 1;
- var j = n.split("</b>").length - 1;
- n += f > j ? "</b>" : "";
- if (b && !(n[n.length - 1].match(/\.$/))) {
- return n + "..."
- }
- return n
- });
- Handlebars.registerHelper("favicon", function(g, n) {
- var j = g || this.source_url,
- c = n && n.hash || {},
- f = c.lazyload,
- k = c.className || "zci__more-at__icon",
- m = c.w || "16",
- i = c.h || "16",
- b = DDG.get_favicon_url(j),
- e = '<img width="' + m + '" height="' + i + '" class="' + k;
- if (!b) {
- return e + '" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" />'
- }
- if (f) {
- e += ' js-lazyload" data-src="' + b + '" />'
- } else {
- e += '" src="' + b + '" />'
- }
- return e
- });
- Handlebars.registerHelper("firstLetter", function(b) {
- return b.charAt(0).toLowerCase()
- });
- Handlebars.registerHelper("formatSubtitle", function(b) {
- if (!b) {
- return " "
- }
- b = $.isArray(b) ? b : [b];
- return DDG.exec_template("subtitle", {
- components: b
- })
- });
- Handlebars.registerHelper("formatTitle", function(f, b) {
- var c = b.hash;
- if (c.parseFirst) {
- f = DDG.parse_link(f, "text")
- }
- var e = DDG.parseAbstract(f),
- g = e.main;
- if (c.ellipsis) {
- g = Handlebars.helpers.ellipsis(e.main, c.ellipsis)
- }
- return DDG.exec_template("title", {
- tagName: c.el || "span",
- className: c.className || "title",
- classNameSec: c.classNameSec,
- subTitle: !c.noSub && e.subTitle,
- optSub: c.optSub,
- title: g,
- href: (c.href && this[c.href]) || c.href,
- hrefTitle: e.main && !e.main.match(/<b>/) ? e.main : null
- })
- });
- Handlebars.registerHelper("imageProxy", function(c, b) {
- return DDG.getImageProxyURL(c, b)
- });
- Handlebars.registerHelper("include", function(h, c) {
- var f = c && c.hash || {},
- g = f.wrap,
- e = $.extend(this, f),
- b = "";
- b = DDG.exec_template(h, e);
- if (b && g) {
- return Spice.exec_template(g, {
- content: b
- })
- }
- return b
- });
- Handlebars.registerHelper("keys", function(f, e) {
- var c = "";
- for (var b in f) {
- c += e.fn($.extend({}, this, {
- key: b,
- value: f[b]
- }))
- }
- return c
- });
- Handlebars.registerHelper("l", function() {
- return l.apply(window, arguments)
- });
- Handlebars.registerHelper("lp", function() {
- return lp.apply(window, arguments)
- });
- Handlebars.registerHelper("loop", function(c, g) {
- var b, f;
- c = Math.min(c, 100);
- if (g.data) {
- f = Handlebars.createFrame(g.data)
- }
- b = "";
- for (var e = 0; e < c; e++) {
- if (f) {
- f.index = e;
- f.max = c
- }
- b += g.fn(this, {
- data: f
- })
- }
- return b
- });
- Handlebars.registerHelper("lyricsAbstract", function(b) {
- return b.split(/<(?:<b>)?break(?:<\/b>)?>/).join("<br />")
- });
- Handlebars.registerHelper("lyricsTitle", function(g, c) {
- var h = /^(.*?):\slyrics:\s(?:(.*?):\s(.*?)$|(.*?)$)/,
- b = h.exec(g),
- f = b[1],
- e = b[4] || b[3] + " (" + b[2] + ")";
- return DDG.exec_template("title", {
- tagName: "h1",
- className: "c-info__title",
- title: f,
- subTitle: e,
- href: c
- })
- });
- Handlebars.registerHelper("makeRelative", function(b) {
- if (/^https?:\/\/(?:[^\.]+\.|)duckduckgo.com\/?(.*)$/.test(b)) {
- return RegExp.$1
- } else {
- return b
- }
- });
- Handlebars.registerHelper("momentDate", function(g, c) {
- if (!moment) {
- return ""
- }
- var e = c && c.hash || {},
- b = moment.utc(g, "YYYY-MM-DD HH:mm:ss"),
- f = e.format || "ddd MMM D";
- return b.local().format(f)
- });
- Handlebars.registerHelper("momentTime", function(c) {
- if (!moment) {
- return ""
- }
- var b = moment.utc(c, "YYYY-MM-DD HH:mm:ss");
- return b.local().format("LT")
- });
- Handlebars.registerHelper("moreAt", function(g, e, c) {
- var f = c && c.hash || {};
- g = g || {};
- if (typeof g === "string") {
- if (!e) {
- return
- }
- g = {
- sourceUrl: g,
- sourceName: e,
- sourceIcon: true
- }
- } else {
- if (g.repo === "fathead") {
- if (!e) {
- return
- }
- g.sourceUrl = e;
- g.sourceName = g.src_name;
- g.sourceIcon = true
- } else {
- if (g.repo === "longtail") {
- if (!e) {
- return
- }
- if (e === "none") {
- return
- }
- g.sourceName = g.name;
- g.sourceUrl = e;
- g.sourceIcon = true
- } else {
- if (!g.sourceIconUrl && g.sourceUrl && !g.sourceLogo && g.sourceIcon !== false) {
- g.sourceIcon = true
- }
- }
- }
- }
- if (!g.sourceUrl) {
- return
- }
- g.className = "zci__more-at";
- g.iconClassName = "zci__more-at__icon";
- var b = g.moreAtText = (DDG.templates.more_at_text(g) || "").trim();
- if (f.noIcon) {
- g.sourceIcon = false
- }
- if (f.className) {
- g.className = f.className
- }
- if (f.iconClassName) {
- g.iconClassName = f.iconClassName
- }
- if (f.iconUrl) {
- g.sourceIconUrl = f.iconUrl;
- g.sourceIcon = false
- }
- if (f.iconPlaceholder) {
- g.sourceIconUrl = "/assets/icon_favicon_placeholder.v104.png";
- g.sourceIcon = false
- }
- if (!g.hideMoreAtText && !f.hideMoreAtText && !f.dynamicMoreAtText && !(DDG.device.isMobile && f.sourceOnlyMobile)) {
- g.moreAtText = l("More at %s ", b)
- }
- if (f.dynamicMoreAtText) {
- g.moreAtText = (g.moreAtText.length < f.dynamicMoreAtText) ? l("More at %s ", b) : g.moreAtText
- }
- if (DDG.device.isMobile && g.iconOnlyMobile) {
- g.moreAtText = ""
- }
- return DDG.templates.more_at(g)
- });
- Handlebars.registerHelper("numFormat", function(e, c) {
- if (!e) {
- return ""
- }
- var b = ",",
- f = e.toString();
- if (c && c.hash && c.hash.delimiter) {
- b = c.hash.delimiter
- }
- return f.replace(/\b(\d+)((\.\d+)*)\b/g, function(h, g, i) {
- return (g.charAt(0) > 0 && !(i || ".").lastIndexOf(".") ? g.replace(/(\d)(?=(\d{3})+$)/g, "$1,") : g) + i
- })
- });
- Handlebars.registerHelper("ordinal", function(b) {
- return DDG.getOrdinal(b)
- });
- Handlebars.registerHelper("plural", function(b, c) {
- var e = DDG.pluralize(b, c.hash.singular, c.hash.plural);
- if (!e) {
- return
- }
- if (c.hash.delimiter) {
- b = Handlebars.helpers.numFormat(b, c)
- }
- return b + " " + e
- });
- Handlebars.registerHelper("priceSymbols", function(c, f) {
- var e = "",
- b = 0;
- for (b = 0; b < f; b++) {
- if (b < c) {
- e += "<b>$</b>"
- } else {
- e += "$"
- }
- }
- return e
- });
- Handlebars.registerHelper("renderStars", function(b) {
- if (typeof b === "string") {
- b = {
- rating: b
- }
- }
- return DDG.templates.stars(b)
- });
- Handlebars.registerHelper("retinaImage", function(c) {
- var b = c.split(".");
- b[b.length - 2] += DDG.device.is3x ? "@3x" : DDG.device.is2x ? "@2x" : "";
- return b.join(".")
- });
- Handlebars.registerHelper("reviewCount", function(h, e, j, b) {
- if (!h || h === "") {
- h = 0
- }
- var g, i = '<span class="review-count">',
- f = "</span>",
- c = h;
- if (b && b === true) {
- c = DDG.abbrevNumber(h)
- } else {
- c = DDG.commifyNumber(h)
- }
- if (j === true) {
- if (!h) {
- return ""
- }
- g = i + c + f
- } else {
- g = ln("%2$s %1$s %3$s review", "%2$s %1$s %3$s reviews", c, i, f)
- }
- if (e) {
- g = '<a href="' + e + '">' + g + "</a>"
- }
- return g
- });
- Handlebars.registerHelper("starRating", function(c) {
- c = $.isNumeric(c) ? c : 0;
- var b = c.toString();
- if (b.match(/(\d)\.(\d)/)) {
- var e = parseInt(RegExp.$1, 10);
- var f = parseInt(RegExp.$2, 10) > 4 ? 5 : 0;
- if (e > 5) {
- e = 5
- }
- c = e;
- if (f && e < 5) {
- c += "-" + f
- }
- } else {
- c = Math.floor(c)
- }
- return Handlebars.helpers.renderStars({
- rating: c
- })
- });
- Handlebars.registerHelper("starsAndReviews", function(c, e, b, f) {
- return Handlebars.helpers.starRating(c) + Handlebars.helpers.reviewCount(e, b, f, true)
- });
- Handlebars.registerHelper("stripHTML", function(c, b) {
- return b.fn(DDG.strip_html(c))
- });
- Handlebars.registerHelper("table-each", function(f, c) {
- if (!f) {
- return ""
- }
- var b = "";
- if (f.record_keys) {
- var h = f.record_keys;
- for (var e in h) {
- if (f.record_data[h[e]]) {
- b += c.fn({
- key: h[e],
- value: f.record_data[h[e]]
- })
- }
- }
- } else {
- for (var g in f.record_data) {
- b += c.fn({
- key: g,
- value: f.record_data[g]
- })
- }
- }
- return b
- });
- Handlebars.registerHelper("toHTTP", function(b) {
- return DDG.toHTTP(b)
- });
- Handlebars.registerHelper("toHTTPS", function(b) {
- return DDG.toHTTPS(b)
- });
- Handlebars.registerHelper("trim", function(b) {
- if (b) {
- return b.trim()
- }
- });
- Handlebars.registerHelper("stripNonAlpha", function(b) {
- if (b) {
- return DDG.strip_non_alpha(b.toLowerCase())
- }
- });
- Handlebars.registerHelper("loader", function(f) {
- var b = typeof f === "string" && f,
- i = DDG.is3x ? "x3" : DDG.is2x ? "x2" : "x1";
- if (!b) {
- var g = DDG.settings.get("k7"),
- c = tinycolor(g),
- e = c.isValid() && c.toHsl().l < 0.5;
- b = e ? "white" : "black"
- }
- var h = "/assets/loader/" + b + i + ".png";
- return '<div class="loader" style="background-image:url(\'' + h + "');\"></div>"
- })
- })(this);
- ! function(a) {
- a.adFeed = new a.Models.AdFeed({});
- a.deep = new a.Models.Deep({});
- a.search = new a.Models.Search();
- a.device = new a.Models.Device({
- ua: navigator.userAgent.toLowerCase(),
- dpr: window.devicePixelRatio,
- qs: window.location.search
- });
- a.hidden = new a.Models.Hidden();
- a.extension = new a.Models.Extension();
- a.settings = new a.Models.Settings.Settings({
- cloudSaveKey: window.key || window[a.Models.Settings.CloudSave.keyField]
- });
- a.tParam = new a.Models.TParam();
- a.addToBrowser = new a.Models.AddToBrowser();
- a.onboarding = new a.Models.Onboarding();
- a.onboardingEducation = new a.Models.Settings.OnboardingEducation();
- a.opensearch = new a.Models.OpenSearch();
- a.newsletter = new a.Models.Newsletter();
- a.survey = new a.Models.Survey()
- }(DDG);
- this["DDG"] = this["DDG"] || {};
- this["DDG"]["templates"] = this["DDG"]["templates"] || {};
- this["DDG"]["templates"]["add_to_browser_badge"] = Handlebars.template(function(e, r, p, i, u) {
- this.compilerInfo = [4, ">= 1.0.0"];
- p = this.merge(p, e.helpers);
- u = u || {};
- var q = "",
- g, a, c = "function",
- b = this.escapeExpression,
- n = this,
- o = p.helperMissing;
- function m(A, z) {
- var v = "",
- x, y;
- v += '<a class="badge-link ddg-extension-hide js-badge-link" href="';
- if (y = p.url) {
- x = y.call(A, {
- hash: {},
- data: z
- })
- } else {
- y = (A && A.url);
- x = typeof y === c ? y.call(A, {
- hash: {},
- data: z
- }) : y
- }
- v += b(x) + '" ';
- x = p["if"].call(A, (A && A.openInNewTab), {
- hash: {},
- inverse: n.noop,
- fn: n.program(2, k, z),
- data: z
- });
- if (x || x === 0) {
- v += x
- }
- v += ">";
- return v
- }
- function k(x, v) {
- return 'target="_blank"'
- }
- function j(x, v) {
- return '<div class="badge-link ddg-extension-hide js-badge-link">'
- }
- function h(A, z) {
- var x, y, v;
- x = (y = p.l || (A && A.l), v = {
- hash: {},
- data: z
- }, y ? y.call(A, "Set DuckDuckGo as your %sdefault search engine", "", v) : o.call(A, "l", "Set DuckDuckGo as your %sdefault search engine", "", v));
- if (x || x === 0) {
- return x
- } else {
- return ""
- }
- }
- function f(A, z) {
- var x, y, v;
- x = (y = p.l || (A && A.l), v = {
- hash: {},
- data: z
- }, y ? y.call(A, "Set DuckDuckGo as your %sdefault search engine", "<br/>", v) : o.call(A, "l", "Set DuckDuckGo as your %sdefault search engine", "<br/>", v));
- if (x || x === 0) {
- return x
- } else {
- return ""
- }
- }
- function t(x, v) {
- return "</a>"
- }
- function s(x, v) {
- return "</div>"
- }
- g = p["if"].call(r, (r && r.url), {
- hash: {},
- inverse: n.program(4, j, u),
- fn: n.program(1, m, u),
- data: u
- });
- if (g || g === 0) {
- q += g
- }
- q += '<i class="badge-link__icon browser--';
- if (a = p.browserId) {
- g = a.call(r, {
- hash: {},
- data: u
- })
- } else {
- a = (r && r.browserId);
- g = typeof a === c ? a.call(r, {
- hash: {},
- data: u
- }) : a
- }
- q += b(g) + '"></i><span class="badge-link__text">';
- g = p["if"].call(r, (r && r.noBreak), {
- hash: {},
- inverse: n.program(8, f, u),
- fn: n.program(6, h, u),
- data: u
- });
- if (g || g === 0) {
- q += g
- }
- q += '</span><span class="ddgsi badge-link__close js-badge-link-close">×</span>';
- g = p["if"].call(r, (r && r.url), {
- hash: {},
- inverse: n.program(12, s, u),
- fn: n.program(10, t, u),
- data: u
- });
- if (g || g === 0) {
- q += g
- }
- return q
- });
- this["DDG"]["templates"]["add_to_browser_badge_android"] = Handlebars.template(function(c, j, b, h, g) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- g = g || {};
- var f = "",
- a, e, k, i = b.helperMissing;
- f += '<div class="js-atb-banner atb-banner--inline"><div class="js-badge-link btn btn--primary atb-banner__btn atb-banner__btn--install">';
- a = (e = b.l || (j && j.l), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "Add to Home Screen", k) : i.call(j, "l", "Add to Home Screen", k));
- if (a || a === 0) {
- f += a
- }
- f += '</div><div class="js-atb-banner-learnmore btn btn--primary atb-banner__learn-more">';
- a = (e = b.l || (j && j.l), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "Learn %sMore%s", "", "", k) : i.call(j, "l", "Learn %sMore%s", "", "", k));
- if (a || a === 0) {
- f += a
- }
- f += "</div></div>";
- return f
- });
- this["DDG"]["templates"]["add_to_browser_badge_button"] = Handlebars.template(function(f, t, r, k, B) {
- this.compilerInfo = [4, ">= 1.0.0"];
- r = this.merge(r, f.helpers);
- B = B || {};
- var s = "",
- h, a, c = "function",
- b = this.escapeExpression,
- p = this,
- q = r.helperMissing;
- function o(D, C) {
- return " ddg-extension-hide"
- }
- function n(G, F) {
- var C = "",
- D, E;
- C += 'href="';
- if (E = r.url) {
- D = E.call(G, {
- hash: {},
- data: F
- })
- } else {
- E = (G && G.url);
- D = typeof E === c ? E.call(G, {
- hash: {},
- data: F
- }) : E
- }
- C += b(D) + '" ';
- D = r["if"].call(G, (G && G.openInNewTab), {
- hash: {},
- inverse: p.noop,
- fn: p.program(4, m, F),
- data: F
- });
- if (D || D === 0) {
- C += D
- }
- return C
- }
- function m(D, C) {
- return 'target="_blank"'
- }
- function j(D, C) {
- return '<span class="js-atb-banner-link">DuckDuckGo Privacy Setup</span>'
- }
- function g(E, D) {
- var C;
- C = r["if"].call(E, (E && E.androidChromeNoOpenSearch), {
- hash: {},
- inverse: p.program(11, A, D),
- fn: p.program(9, e, D),
- data: D
- });
- if (C || C === 0) {
- return C
- } else {
- return ""
- }
- }
- function e(G, F) {
- var D, E, C;
- D = (E = r.l || (G && G.l), C = {
- hash: {},
- data: F
- }, E ? E.call(G, "Add to Home Screen", C) : q.call(G, "l", "Add to Home Screen", C));
- if (D || D === 0) {
- return D
- } else {
- return ""
- }
- }
- function A(E, D) {
- var C;
- C = r["if"].call(E, (E && E.isCppExp), {
- hash: {},
- inverse: p.program(17, v, D),
- fn: p.program(12, z, D),
- data: D
- });
- if (C || C === 0) {
- return C
- } else {
- return ""
- }
- }
- function z(E, D) {
- var C;
- C = r["if"].call(E, (E && E.resumeInstall), {
- hash: {},
- inverse: p.program(15, x, D),
- fn: p.program(13, y, D),
- data: D
- });
- if (C || C === 0) {
- return C
- } else {
- return ""
- }
- }
- function y(D, C) {
- return "Resume Privacy Setup"
- }
- function x(D, C) {
- return "Get Started"
- }
- function v(E, D) {
- var C;
- C = r["if"].call(E, (E && E.isEnglish), {
- hash: {},
- inverse: p.program(20, i, D),
- fn: p.program(18, u, D),
- data: D
- });
- if (C || C === 0) {
- return C
- } else {
- return ""
- }
- }
- function u(G, F) {
- var D, E, C;
- D = (E = r.l || (G && G.l), C = {
- hash: {},
- data: F
- }, E ? E.call(G, "Add DuckDuckGo to %s", (G && G.displayBrowserName), C) : q.call(G, "l", "Add DuckDuckGo to %s", (G && G.displayBrowserName), C));
- if (D || D === 0) {
- return D
- } else {
- return ""
- }
- }
- function i(G, F) {
- var D, E, C;
- D = (E = r.lp || (G && G.lp), C = {
- hash: {},
- data: F
- }, E ? E.call(G, "homepage onboarding", "Install DuckDuckGo", C) : q.call(G, "lp", "homepage onboarding", "Install DuckDuckGo", C));
- if (D || D === 0) {
- return D
- } else {
- return ""
- }
- }
- s += '<a class="btn ';
- if (a = r.buttonClass) {
- h = a.call(t, {
- hash: {},
- data: B
- })
- } else {
- a = (t && t.buttonClass);
- h = typeof a === c ? a.call(t, {
- hash: {},
- data: B
- }) : a
- }
- s += b(h);
- h = r.unless.call(t, (t && t.isCppExp), {
- hash: {},
- inverse: p.noop,
- fn: p.program(1, o, B),
- data: B
- });
- if (h || h === 0) {
- s += h
- }
- s += '"';
- h = r["if"].call(t, (t && t.url), {
- hash: {},
- inverse: p.noop,
- fn: p.program(3, n, B),
- data: B
- });
- if (h || h === 0) {
- s += h
- }
- s += ">";
- h = r["if"].call(t, (t && t.isCppmExpOrControl), {
- hash: {},
- inverse: p.program(8, g, B),
- fn: p.program(6, j, B),
- data: B
- });
- if (h || h === 0) {
- s += h
- }
- s += "</a>";
- return s
- });
- this["DDG"]["templates"]["add_to_browser_badge_top"] = Handlebars.template(function(f, s, q, k, z) {
- this.compilerInfo = [4, ">= 1.0.0"];
- q = this.merge(q, f.helpers);
- z = z || {};
- var r = "",
- h, a, e, c = "function",
- b = this.escapeExpression,
- o = this,
- p = q.helperMissing;
- function n(B, A) {
- return "serp "
- }
- function m(B, A) {
- return "top "
- }
- function j(B, A) {
- return "badge-link--fadein "
- }
- function i(E, D) {
- var A = "",
- B, C;
- A += '<a class="badge-link__wrap js-badge-main-msg" href="';
- if (C = q.url) {
- B = C.call(E, {
- hash: {},
- data: D
- })
- } else {
- C = (E && E.url);
- B = typeof C === c ? C.call(E, {
- hash: {},
- data: D
- }) : C
- }
- A += b(B) + '" ';
- B = q["if"].call(E, (E && E.openInNewTab), {
- hash: {},
- inverse: o.noop,
- fn: o.program(8, g, D),
- data: D
- });
- if (B || B === 0) {
- A += B
- }
- A += ">";
- return A
- }
- function g(B, A) {
- return 'target="_blank"'
- }
- function y(B, A) {
- return '<div class="badge-link__wrap js-badge-main-msg">'
- }
- function x(E, D) {
- var B, C, A;
- B = (C = q.l || (E && E.l), A = {
- hash: {},
- data: D
- }, C ? C.call(E, "Add DuckDuckGo to %s", (E && E.displayBrowserName), A) : p.call(E, "l", "Add DuckDuckGo to %s", (E && E.displayBrowserName), A));
- if (B || B === 0) {
- return B
- } else {
- return ""
- }
- }
- function v(E, D) {
- var B, C, A;
- B = (C = q.l || (E && E.l), A = {
- hash: {},
- data: D
- }, C ? C.call(E, "Install", A) : p.call(E, "l", "Install", A));
- if (B || B === 0) {
- return B
- } else {
- return ""
- }
- }
- function u(B, A) {
- return "</a>"
- }
- function t(B, A) {
- return "</div>"
- }
- r += '<div class="badge-link badge-link--';
- h = q["if"].call(s, (s && s.serp), {
- hash: {},
- inverse: o.program(3, m, z),
- fn: o.program(1, n, z),
- data: z
- });
- if (h || h === 0) {
- r += h
- }
- h = q["if"].call(s, (s && s.fadeIn), {
- hash: {},
- inverse: o.noop,
- fn: o.program(5, j, z),
- data: z
- });
- if (h || h === 0) {
- r += h
- }
- r += ' ddg-extension-hide js-badge-link">';
- h = q["if"].call(s, (s && s.url), {
- hash: {},
- inverse: o.program(10, y, z),
- fn: o.program(7, i, z),
- data: z
- });
- if (h || h === 0) {
- r += h
- }
- r += '<div class="badge-link__thumb"><img class="badge-link__thumb__img" src="assets/onboarding/robot-icon-frameless.svg"></div><p class="badge-link__title js-badge-link__title">';
- h = (a = q.lp || (s && s.lp), e = {
- hash: {},
- data: z
- }, a ? a.call(s, "homepage ATB modal", "Your data shouldn’t be for sale.", e) : p.call(s, "lp", "homepage ATB modal", "Your data shouldn’t be for sale.", e));
- if (h || h === 0) {
- r += h
- }
- r += "<br>";
- h = (a = q.lp || (s && s.lp), e = {
- hash: {},
- data: z
- }, a ? a.call(s, "homepage ATB modal", "At DuckDuckGo, we agree.", e) : p.call(s, "lp", "homepage ATB modal", "At DuckDuckGo, we agree.", e));
- if (h || h === 0) {
- r += h
- }
- r += '</p><ol class="badge-link__bullets"><li class="badge-link__bullet"><span class="badge-link__bullet-num">1</span>';
- h = (a = q.lp || (s && s.lp), e = {
- hash: {},
- data: z
- }, a ? a.call(s, "reasons-to-use-duckduckgo", "Block advertising trackers.", e) : p.call(s, "lp", "reasons-to-use-duckduckgo", "Block advertising trackers.", e));
- if (h || h === 0) {
- r += h
- }
- r += '</li><li class="badge-link__bullet"><span class="badge-link__bullet-num">2</span>';
- h = (a = q.lp || (s && s.lp), e = {
- hash: {},
- data: z
- }, a ? a.call(s, "reasons-to-use-duckduckgo", "Keep your search history private.", e) : p.call(s, "lp", "reasons-to-use-duckduckgo", "Keep your search history private.", e));
- if (h || h === 0) {
- r += h
- }
- r += '</li><li class="badge-link__bullet"><span class="badge-link__bullet-num">3</span>';
- h = (a = q.lp || (s && s.lp), e = {
- hash: {},
- data: z
- }, a ? a.call(s, "reasons-to-use-duckduckgo", "Take control of your personal data.", e) : p.call(s, "lp", "reasons-to-use-duckduckgo", "Take control of your personal data.", e));
- if (h || h === 0) {
- r += h
- }
- r += '</li></ol><div class="badge-link__btn-group"><span class="badge-link__btn btn btn--primary js-badge-link-button">';
- h = q["if"].call(s, (s && s.isEnglish), {
- hash: {},
- inverse: o.program(14, v, z),
- fn: o.program(12, x, z),
- data: z
- });
- if (h || h === 0) {
- r += h
- }
- r += '</span></div><span class="ddgsi badge-link__close js-badge-link-dismiss">×</span>';
- h = q["if"].call(s, (s && s.url), {
- hash: {},
- inverse: o.program(18, t, z),
- fn: o.program(16, u, z),
- data: z
- });
- if (h || h === 0) {
- r += h
- }
- r += '<div class="badge-link__wrap badge-link__wrap--hidden js-badge-cookie-msg"><div class="badge-link__cookie-msg"><p>';
- h = (a = q.l || (s && s.l), e = {
- hash: {},
- data: z
- }, a ? a.call(s, "Clear your cookies often?", e) : p.call(s, "l", "Clear your cookies often?", e));
- if (h || h === 0) {
- r += h
- }
- r += "</p><p>";
- h = (a = q.l || (s && s.l), e = {
- hash: {},
- data: z
- }, a ? a.call(s, "Try our homepage that never shows these messages:", e) : p.call(s, "l", "Try our homepage that never shows these messages:", e));
- if (h || h === 0) {
- r += h
- }
- r += '</p><p><b><a href="https://start.duckduckgo.com">start.duckduckgo.com</a></b></p></div><span class="ddgsi badge-link__close js-badge-link-close">×</span></div></div>';
- return r
- });
- this["DDG"]["templates"]["add_to_browser_badge_top_cpp"] = Handlebars.template(function(f, s, q, j, y) {
- this.compilerInfo = [4, ">= 1.0.0"];
- q = this.merge(q, f.helpers);
- y = y || {};
- var r = "",
- h, a, e, c = "function",
- b = this.escapeExpression,
- o = this,
- p = q.helperMissing;
- function n(D, C) {
- var z = "",
- A, B;
- z += '<a class="badge-link__wrap js-badge-main-msg" href="';
- if (B = q.url) {
- A = B.call(D, {
- hash: {},
- data: C
- })
- } else {
- B = (D && D.url);
- A = typeof B === c ? B.call(D, {
- hash: {},
- data: C
- }) : B
- }
- z += b(A) + '" ';
- A = q["if"].call(D, (D && D.openInNewTab), {
- hash: {},
- inverse: o.noop,
- fn: o.program(2, m, C),
- data: C
- });
- if (A || A === 0) {
- z += A
- }
- z += ">";
- return z
- }
- function m(A, z) {
- return 'target="_blank"'
- }
- function k(A, z) {
- return '<div class="badge-link__wrap js-badge-main-msg">'
- }
- function i(A, z) {
- return "completed"
- }
- function g(A, z) {
- return "pending"
- }
- function x(A, z) {
- return "Resume Privacy Setup"
- }
- function v(A, z) {
- return "Get Started"
- }
- function u(A, z) {
- return "</a>"
- }
- function t(A, z) {
- return "</div>"
- }
- r += '<div class="badge-link badge-link--serp badge-link--cpp badge-link--fadein js-badge-link js-badge-link-cpp">';
- h = q["if"].call(s, (s && s.url), {
- hash: {},
- inverse: o.program(4, k, y),
- fn: o.program(1, n, y),
- data: y
- });
- if (h || h === 0) {
- r += h
- }
- r += '<div class="badge-link__thumb"><img class="badge-link__thumb__img" src="assets/add-to-browser/cpp/laptop-serp.svg"></div><p class="badge-link__title js-badge-link__title">DuckDuckGo Privacy Setup</p><!-- STEP 1 --><div class="cpp__step js-cpp-step-1" data-status="';
- h = q["if"].call(s, (s && s.step1Done), {
- hash: {},
- inverse: o.program(8, g, y),
- fn: o.program(6, i, y),
- data: y
- });
- if (h || h === 0) {
- r += h
- }
- r += '"><span class="cpp__step__num">1</span><h2 class="cpp__step__title">Privacy for ';
- if (a = q.browser) {
- h = a.call(s, {
- hash: {},
- data: y
- })
- } else {
- a = (s && s.browser);
- h = typeof a === c ? a.call(s, {
- hash: {},
- data: y
- }) : a
- }
- r += b(h) + '</h2><div class="cpp__checkbox"><img src="/assets/add-to-browser/cpp/check-white.svg" class="cpp__checkbox__img"></div></div><!-- STEP 2 --><div class="cpp__step js-cpp-step-2" data-status="';
- h = q["if"].call(s, (s && s.step2Done), {
- hash: {},
- inverse: o.program(8, g, y),
- fn: o.program(6, i, y),
- data: y
- });
- if (h || h === 0) {
- r += h
- }
- r += '"><span class="cpp__step__num">2</span><h2 class="cpp__step__title">Privacy for Mobile</h2><div class="cpp__checkbox"><img src="/assets/add-to-browser/cpp/check-white.svg" class="cpp__checkbox__img"></div></div><div class="badge-link__btn-group"><span class="badge-link__btn btn btn--primary js-badge-link-button js-cta-state-cpp">';
- h = q["if"].call(s, (s && s.resumeInstall), {
- hash: {},
- inverse: o.program(12, v, y),
- fn: o.program(10, x, y),
- data: y
- });
- if (h || h === 0) {
- r += h
- }
- r += '</span></div><span class="ddgsi badge-link__close js-badge-link-dismiss">×</span>';
- h = q["if"].call(s, (s && s.url), {
- hash: {},
- inverse: o.program(16, t, y),
- fn: o.program(14, u, y),
- data: y
- });
- if (h || h === 0) {
- r += h
- }
- r += '<div class="badge-link__wrap badge-link__wrap--hidden js-badge-cookie-msg"><div class="badge-link__cookie-msg"><p>';
- h = (a = q.l || (s && s.l), e = {
- hash: {},
- data: y
- }, a ? a.call(s, "Clear your cookies often?", e) : p.call(s, "l", "Clear your cookies often?", e));
- if (h || h === 0) {
- r += h
- }
- r += "</p><p>";
- h = (a = q.l || (s && s.l), e = {
- hash: {},
- data: y
- }, a ? a.call(s, "Try our homepage that never shows these messages:", e) : p.call(s, "l", "Try our homepage that never shows these messages:", e));
- if (h || h === 0) {
- r += h
- }
- r += '</p><p><b><a href="https://start.duckduckgo.com">start.duckduckgo.com</a></b></p></div><span class="ddgsi badge-link__close js-badge-link-close">×</span></div></div>';
- return r
- });
- this["DDG"]["templates"]["add_to_browser_badge_top_settings"] = Handlebars.template(function(f, s, q, k, z) {
- this.compilerInfo = [4, ">= 1.0.0"];
- q = this.merge(q, f.helpers);
- z = z || {};
- var r = "",
- h, a, e, c = "function",
- b = this.escapeExpression,
- o = this,
- p = q.helperMissing;
- function n(B, A) {
- return "serp "
- }
- function m(B, A) {
- return "top "
- }
- function j(B, A) {
- return "badge-link--fadein "
- }
- function i(E, D) {
- var A = "",
- B, C;
- A += '<a class="badge-link__wrap js-badge-main-msg" href="';
- if (C = q.url) {
- B = C.call(E, {
- hash: {},
- data: D
- })
- } else {
- C = (E && E.url);
- B = typeof C === c ? C.call(E, {
- hash: {},
- data: D
- }) : C
- }
- A += b(B) + '" ';
- B = q["if"].call(E, (E && E.openInNewTab), {
- hash: {},
- inverse: o.noop,
- fn: o.program(8, g, D),
- data: D
- });
- if (B || B === 0) {
- A += B
- }
- A += ">";
- return A
- }
- function g(B, A) {
- return 'target="_blank"'
- }
- function y(B, A) {
- return '<div class="badge-link__wrap js-badge-main-msg">'
- }
- function x(E, D) {
- var B, C, A;
- B = (C = q.l || (E && E.l), A = {
- hash: {},
- data: D
- }, C ? C.call(E, "Add DuckDuckGo to %s", (E && E.displayBrowserName), A) : p.call(E, "l", "Add DuckDuckGo to %s", (E && E.displayBrowserName), A));
- if (B || B === 0) {
- return B
- } else {
- return ""
- }
- }
- function v(E, D) {
- var B, C, A;
- B = (C = q.l || (E && E.l), A = {
- hash: {},
- data: D
- }, C ? C.call(E, "Install", A) : p.call(E, "l", "Install", A));
- if (B || B === 0) {
- return B
- } else {
- return ""
- }
- }
- function u(B, A) {
- return "</a>"
- }
- function t(B, A) {
- return "</div>"
- }
- r += '<div class="badge-link badge-link--';
- h = q["if"].call(s, (s && s.serp), {
- hash: {},
- inverse: o.program(3, m, z),
- fn: o.program(1, n, z),
- data: z
- });
- if (h || h === 0) {
- r += h
- }
- h = q["if"].call(s, (s && s.fadeIn), {
- hash: {},
- inverse: o.noop,
- fn: o.program(5, j, z),
- data: z
- });
- if (h || h === 0) {
- r += h
- }
- r += ' ddg-extension-hide js-badge-link">';
- h = q["if"].call(s, (s && s.url), {
- hash: {},
- inverse: o.program(10, y, z),
- fn: o.program(7, i, z),
- data: z
- });
- if (h || h === 0) {
- r += h
- }
- r += '<div class="badge-link__thumb"><img class="badge-link__thumb__img" src="assets/onboarding/robot-icon-frameless.svg"></div><p class="badge-link__title js-badge-link__title">';
- h = (a = q.lp || (s && s.lp), e = {
- hash: {},
- data: z
- }, a ? a.call(s, "homepage onboarding", "Switch to DuckDuckGo and take back your privacy!", e) : p.call(s, "lp", "homepage onboarding", "Switch to DuckDuckGo and take back your privacy!", e));
- if (h || h === 0) {
- r += h
- }
- r += '</p><ol class="badge-link__bullets"><li class="badge-link__bullet"><span class="badge-link__bullet-num">1</span>';
- h = (a = q.lp || (s && s.lp), e = {
- hash: {},
- data: z
- }, a ? a.call(s, "reasons-to-use-duckduckgo", "We don't store your personal info.", e) : p.call(s, "lp", "reasons-to-use-duckduckgo", "We don't store your personal info.", e));
- if (h || h === 0) {
- r += h
- }
- r += '</li><li class="badge-link__bullet"><span class="badge-link__bullet-num">2</span>';
- h = (a = q.lp || (s && s.lp), e = {
- hash: {},
- data: z
- }, a ? a.call(s, "reasons-to-use-duckduckgo", "We don't follow you around with ads.", e) : p.call(s, "lp", "reasons-to-use-duckduckgo", "We don't follow you around with ads.", e));
- if (h || h === 0) {
- r += h
- }
- r += '</li><li class="badge-link__bullet"><span class="badge-link__bullet-num">3</span>';
- h = (a = q.lp || (s && s.lp), e = {
- hash: {},
- data: z
- }, a ? a.call(s, "reasons-to-use-duckduckgo", "We don't track you. Ever.", e) : p.call(s, "lp", "reasons-to-use-duckduckgo", "We don't track you. Ever.", e));
- if (h || h === 0) {
- r += h
- }
- r += '</li></ol><div class="badge-link__btn-group"><span class="badge-link__btn btn btn--primary js-badge-link-button">';
- h = q["if"].call(s, (s && s.isEnglish), {
- hash: {},
- inverse: o.program(14, v, z),
- fn: o.program(12, x, z),
- data: z
- });
- if (h || h === 0) {
- r += h
- }
- r += '</span></div><span class="ddgsi badge-link__close js-badge-link-dismiss">×</span>';
- h = q["if"].call(s, (s && s.url), {
- hash: {},
- inverse: o.program(18, t, z),
- fn: o.program(16, u, z),
- data: z
- });
- if (h || h === 0) {
- r += h
- }
- r += '<div class="badge-link__wrap badge-link__wrap--hidden js-badge-cookie-msg"><div class="badge-link__cookie-msg"><p>';
- h = (a = q.l || (s && s.l), e = {
- hash: {},
- data: z
- }, a ? a.call(s, "Clear your cookies often?", e) : p.call(s, "l", "Clear your cookies often?", e));
- if (h || h === 0) {
- r += h
- }
- r += "</p><p>";
- h = (a = q.l || (s && s.l), e = {
- hash: {},
- data: z
- }, a ? a.call(s, "Try our homepage that never shows these messages:", e) : p.call(s, "l", "Try our homepage that never shows these messages:", e));
- if (h || h === 0) {
- r += h
- }
- r += '</p><p><b><a href="https://start.duckduckgo.com">start.duckduckgo.com</a></b></p></div><span class="ddgsi badge-link__close js-badge-link-close">×</span></div></div>';
- return r
- });
- this["DDG"]["templates"]["add_to_browser_banner"] = Handlebars.template(function(f, m, e, j, i) {
- this.compilerInfo = [4, ">= 1.0.0"];
- e = this.merge(e, f.helpers);
- i = i || {};
- var h = "",
- b, g, p, k = e.helperMissing,
- o = this;
- function c(r, q) {
- return "atb-banner--cppm"
- }
- function a(r, q) {
- return '<img class="atb-banner__thumbnail atb-banner__thumbnail--round" src="/assets/add-to-browser/cppm/homepage.svg" alt="privacy protection"/><div class="atb-banner__content"><div class="atb-banner__title">DuckDuckGo Privacy Setup</div><div class="atb-banner__copy">Add seamless privacy protection to all your devices.</div></div><div class="js-atb-banner-link atb-banner__btn atb-banner__btn--exp btn btn--primary">Launch Setup</div>'
- }
- function n(v, u) {
- var q = "",
- s, t, r;
- q += '<img class="atb-banner__thumbnail atb-banner__thumbnail--round" src="assets/onboarding/bathroomguy/thumbnails/[email protected]" height="65"><div class="atb-banner__content"><div class="atb-banner__title">';
- s = (t = e.l || (v && v.l), r = {
- hash: {},
- data: u
- }, t ? t.call(v, "Take Back Your Privacy!", r) : k.call(v, "l", "Take Back Your Privacy!", r));
- if (s || s === 0) {
- q += s
- }
- q += '</div><div class="atb-banner__copy">';
- s = (t = e.l || (v && v.l), r = {
- hash: {},
- data: u
- }, t ? t.call(v, "Switch to the search engine that doesn't track you. Ever.", r) : k.call(v, "l", "Switch to the search engine that doesn't track you. Ever.", r));
- if (s || s === 0) {
- q += s
- }
- q += '</div></div><div class="js-atb-banner-link atb-banner__btn atb-banner__btn--exp btn btn--primary">';
- s = (t = e.l || (v && v.l), r = {
- hash: {},
- data: u
- }, t ? t.call(v, "Add DuckDuckGo to %s", (v && v.displayBrowserName), r) : k.call(v, "l", "Add DuckDuckGo to %s", (v && v.displayBrowserName), r));
- if (s || s === 0) {
- q += s
- }
- q += '</div><div class="js-atb-banner-learnmore atb-banner__link">';
- s = (t = e.l || (v && v.l), r = {
- hash: {},
- data: u
- }, t ? t.call(v, "Learn %sMore%s", "", "", r) : k.call(v, "l", "Learn %sMore%s", "", "", r));
- if (s || s === 0) {
- q += s
- }
- q += "</div>";
- return q
- }
- h += '<div class="atb-banner ';
- b = e["if"].call(m, (m && m.isCppmExpOrControl), {
- hash: {},
- inverse: o.noop,
- fn: o.program(1, c, i),
- data: i
- });
- if (b || b === 0) {
- h += b
- }
- h += '"><div class="atb-banner__bottom js-atb-banner-mainmsg"><span class="ddgsi atb-banner__close js-atb-banner-dismiss">×</span>';
- b = e["if"].call(m, (m && m.isCppmExpOrControl), {
- hash: {},
- inverse: o.program(5, n, i),
- fn: o.program(3, a, i),
- data: i
- });
- if (b || b === 0) {
- h += b
- }
- h += '</div><div class="atb-banner__bottom atb-banner--hidden js-atb-banner-cookiemsg"><span class="ddgsi atb-banner__close js-atb-banner-close">×</span><div class="atb-banner__start"><div class="atb-banner__title">';
- b = (g = e.l || (m && m.l), p = {
- hash: {},
- data: i
- }, g ? g.call(m, "Clear your cookies often?", p) : k.call(m, "l", "Clear your cookies often?", p));
- if (b || b === 0) {
- h += b
- }
- h += '</div><div class="atb-banner__copy">';
- b = (g = e.l || (m && m.l), p = {
- hash: {},
- data: i
- }, g ? g.call(m, "Try our homepage that never shows these messages:", p) : k.call(m, "l", "Try our homepage that never shows these messages:", p));
- if (b || b === 0) {
- h += b
- }
- h += '<span class="js-atb-banner-start atb-banner__link">start.duckduckgo.com</span></div></div></div></div>';
- return h
- });
- this["DDG"]["templates"]["add_to_browser_button"] = Handlebars.template(function(f, k, e, i, h) {
- this.compilerInfo = [4, ">= 1.0.0"];
- e = this.merge(e, f.helpers);
- h = h || {};
- var g = "",
- b, j = e.helperMissing,
- n = this;
- function c(p, o) {
- return "atb-banner--inline-cppm"
- }
- function a(p, o) {
- return '<div class="js-atb-banner-link btn btn--primary atb-banner__btn atb-banner__btn--install">DuckDuckGo Privacy Setup</div>'
- }
- function m(t, s) {
- var o = "",
- q, r, p;
- o += '<div class="js-atb-banner-link btn btn--primary atb-banner__btn atb-banner__btn--install">';
- q = (r = e.l || (t && t.l), p = {
- hash: {},
- data: s
- }, r ? r.call(t, "Add to %s", (t && t.displayBrowserName), p) : j.call(t, "l", "Add to %s", (t && t.displayBrowserName), p));
- if (q || q === 0) {
- o += q
- }
- o += '</div><div class="js-atb-banner-learnmore btn btn--primary atb-banner__learn-more">';
- q = (r = e.l || (t && t.l), p = {
- hash: {},
- data: s
- }, r ? r.call(t, "Learn %sMore%s", "", "", p) : j.call(t, "l", "Learn %sMore%s", "", "", p));
- if (q || q === 0) {
- o += q
- }
- o += "</div>";
- return o
- }
- g += '<div class="js-atb-banner atb-banner--inline ';
- b = e["if"].call(k, (k && k.isCppmExpOrControl), {
- hash: {},
- inverse: n.noop,
- fn: n.program(1, c, h),
- data: h
- });
- if (b || b === 0) {
- g += b
- }
- g += '"> ';
- b = e["if"].call(k, (k && k.isCppmExpOrControl), {
- hash: {},
- inverse: n.program(5, m, h),
- fn: n.program(3, a, h),
- data: h
- });
- if (b || b === 0) {
- g += b
- }
- g += "</div>";
- return g
- });
- this["DDG"]["templates"]["add_to_browser_button_icon"] = Handlebars.template(function(f, n, e, m, k) {
- this.compilerInfo = [4, ">= 1.0.0"];
- e = this.merge(e, f.helpers);
- k = k || {};
- var i = "",
- a, g, h = "function",
- j = this.escapeExpression,
- q = this;
- function c(x, v) {
- var s = "",
- t, u;
- s += '<a href="';
- if (u = e.url) {
- t = u.call(x, {
- hash: {},
- data: v
- })
- } else {
- u = (x && x.url);
- t = typeof u === h ? u.call(x, {
- hash: {},
- data: v
- }) : u
- }
- s += j(t) + '" class="js-atb-btn" ';
- t = e["if"].call(x, (x && x.openInNewTab), {
- hash: {},
- inverse: q.noop,
- fn: q.program(2, b, v),
- data: v
- });
- if (t || t === 0) {
- s += t
- }
- s += ">";
- return s
- }
- function b(t, s) {
- return 'target="_blank"'
- }
- function r(t, s) {
- return '<div class="js-atb-btn">'
- }
- function p(t, s) {
- return "</a>"
- }
- function o(t, s) {
- return "</div>"
- }
- i += '<div class="ddg-extension-hide atb-btn-wrap">';
- a = e["if"].call(n, (n && n.url), {
- hash: {},
- inverse: q.program(4, r, k),
- fn: q.program(1, c, k),
- data: k
- });
- if (a || a === 0) {
- i += a
- }
- i += '<span class="atb-btn btn btn--primary"><img class="atb-btn__icon" src="/assets/home/small/';
- if (g = e.browserId) {
- a = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.browserId);
- a = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(a) + '-white.svg" /><img class="atb-btn__icon atb-btn__icon--hover" src="/assets/home/small/';
- if (g = e.browserId) {
- a = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.browserId);
- a = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(a) + '-blue.svg" />Try the ';
- if (g = e.displayBrowserName) {
- a = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.displayBrowserName);
- a = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(a) + " Extension</span>";
- a = e["if"].call(n, (n && n.url), {
- hash: {},
- inverse: q.program(8, o, k),
- fn: q.program(6, p, k),
- data: k
- });
- if (a || a === 0) {
- i += a
- }
- i += "</div>";
- return i
- });
- this["DDG"]["templates"]["add_to_browser_button_serp"] = Handlebars.template(function(f, k, e, i, h) {
- this.compilerInfo = [4, ">= 1.0.0"];
- e = this.merge(e, f.helpers);
- h = h || {};
- var g = "",
- b, j = e.helperMissing,
- n = this;
- function c(p, o) {
- return "atb-banner__btn--standalone-cppm"
- }
- function a(p, o) {
- return '<span class="js-atb-banner-link">DuckDuckGo Privacy Setup</span>'
- }
- function m(s, r) {
- var p, q, o;
- p = (q = e.l || (s && s.l), o = {
- hash: {},
- data: r
- }, q ? q.call(s, "Add DuckDuckGo to %s", (s && s.displayBrowserName), o) : j.call(s, "l", "Add DuckDuckGo to %s", (s && s.displayBrowserName), o));
- if (p || p === 0) {
- return p
- } else {
- return ""
- }
- }
- g += '<div class="js-atb-banner btn atb-banner__btn--standalone ';
- b = e["if"].call(k, (k && k.isCppmExpOrControl), {
- hash: {},
- inverse: n.noop,
- fn: n.program(1, c, h),
- data: h
- });
- if (b || b === 0) {
- g += b
- }
- g += '">';
- b = e["if"].call(k, (k && k.isCppmExpOrControl), {
- hash: {},
- inverse: n.program(5, m, h),
- fn: n.program(3, a, h),
- data: h
- });
- if (b || b === 0) {
- g += b
- }
- g += ' <span class="ddgsi ddgsi-close-bold js-atb-banner-close"></span></div>';
- return g
- });
- this["DDG"]["templates"]["add_to_browser_extension_overlay"] = Handlebars.template(function(f, s, q, j, t) {
- this.compilerInfo = [4, ">= 1.0.0"];
- q = this.merge(q, f.helpers);
- t = t || {};
- var r = "",
- h, a, e, p = q.helperMissing,
- o = this,
- c = "function",
- b = this.escapeExpression;
- function n(z, y) {
- var v, x, u;
- v = (x = q.include || (z && z.include), u = {
- hash: {},
- data: y
- }, x ? x.call(z, (z && z.subTemplate), u) : p.call(z, "include", (z && z.subTemplate), u));
- if (v || v === 0) {
- return v
- } else {
- return ""
- }
- }
- function m(x, v) {
- var u;
- u = q["if"].call(x, ((u = (x && x.onBoardingTest)), u == null || u === false ? u : u.showNewUserPoll), {
- hash: {},
- inverse: o.program(6, i, v),
- fn: o.program(4, k, v),
- data: v
- });
- if (u || u === 0) {
- return u
- } else {
- return ""
- }
- }
- function k(x, v) {
- var u = "";
- return u
- }
- function i(A, z) {
- var u = "",
- x, y, v;
- u += '<h1 class="atb-extension-overlay__headline">';
- x = (y = q.l || (A && A.l), v = {
- hash: {},
- data: z
- }, y ? y.call(A, "Congratulations!", v) : p.call(A, "l", "Congratulations!", v));
- if (x || x === 0) {
- u += x
- }
- u += '</h1><p class="atb-extension-overlay__text text--secondary tx--17">';
- x = (y = q.l || (A && A.l), v = {
- hash: {},
- data: z
- }, y ? y.call(A, "You're now searching with privacy!", v) : p.call(A, "l", "You're now searching with privacy!", v));
- if (x || x === 0) {
- u += x
- }
- u += '</p><a class="atb-extension-overlay__search-btn btn btn--primary tx--15 js-extension-overlay-search" data-search-link="start-button" href="https://duckduckgo.com">';
- x = (y = q.l || (A && A.l), v = {
- hash: {},
- data: z
- }, y ? y.call(A, "Start searching!", v) : p.call(A, "l", "Start searching!", v));
- if (x || x === 0) {
- u += x
- }
- u += "</a>";
- return u
- }
- function g(A, z) {
- var u = "",
- x, y, v;
- u += '<div class="js-extension-overlay--mobile-promotion"><h1 class="atb-extension-overlay__headline js-balance-text">';
- x = (y = q.lp || (A && A.lp), v = {
- hash: {},
- data: z
- }, y ? y.call(A, "mobile promotion on desktop", "Also search privately on your iPad, iPhone, or Android!", v) : p.call(A, "lp", "mobile promotion on desktop", "Also search privately on your iPad, iPhone, or Android!", v));
- if (x || x === 0) {
- u += x
- }
- u += '</h1><p class="atb-extension-overlay__text text--secondary tx--17 js-balance-text">';
- x = (y = q.lp || (A && A.lp), v = {
- hash: {},
- data: z
- }, y ? y.call(A, "mobile promotion on desktop", "Visit %sDuckDuckGo.com%s on your tablet or phone and follow the provided instructions.", "<b>", "</b>", v) : p.call(A, "lp", "mobile promotion on desktop", "Visit %sDuckDuckGo.com%s on your tablet or phone and follow the provided instructions.", "<b>", "</b>", v));
- if (x || x === 0) {
- u += x
- }
- u += '</p><div class="atb-extension-overlay__mobile-image"></div><a class="atb-extension-overlay__search-btn tx--15 js-extension-overlay-show-email btn btn--primary">';
- x = (y = q.lp || (A && A.lp), v = {
- hash: {},
- data: z
- }, y ? y.call(A, "mobile promotion on desktop", "OK, got it!", v) : p.call(A, "lp", "mobile promotion on desktop", "OK, got it!", v));
- if (x || x === 0) {
- u += x
- }
- u += '</a></div><div class="js-extension-overlay-newsletter-form atb-extension-overlay__newsletter-form"><h1 class="atb-extension-overlay__headline">';
- x = (y = q.l || (A && A.l), v = {
- hash: {},
- data: z
- }, y ? y.call(A, "Congratulations!", v) : p.call(A, "l", "Congratulations!", v));
- if (x || x === 0) {
- u += x
- }
- u += '</h1><p class="atb-extension-overlay__text text--secondary tx--17">';
- x = (y = q.l || (A && A.l), v = {
- hash: {},
- data: z
- }, y ? y.call(A, "You're now searching with privacy. %sGet tips to reduce your footprint even more.", "<br/>", v) : p.call(A, "l", "You're now searching with privacy. %sGet tips to reduce your footprint even more.", "<br/>", v));
- if (x || x === 0) {
- u += x
- }
- u += '</p><form class="frm--newsletter frm--newsletter--dialog js-extension-overlay-submit tx--15" method="post" name="y"><input type="email" placeholder="';
- x = (y = q.lp || (A && A.lp), v = {
- hash: {},
- data: z
- }, y ? y.call(A, "email newsletter", "Enter your email address.", v) : p.call(A, "lp", "email newsletter", "Enter your email address.", v));
- if (x || x === 0) {
- u += x
- }
- u += '" class="frm__input frm--newsletter--dialog--email" name="email" required><input type="submit" value="';
- x = (y = q.lp || (A && A.lp), v = {
- hash: {},
- data: z
- }, y ? y.call(A, "email newsletter", "Subscribe", v) : p.call(A, "lp", "email newsletter", "Subscribe", v));
- if (x || x === 0) {
- u += x
- }
- u += '" class="frm__btn btn btn--primary frm--newsletter--dialog--submit"><input type="hidden" name="campaign" value="a"></form><p class="atb-extension-overlay__disclaimer text--secondary tx--15">';
- x = (y = q.lp || (A && A.lp), v = {
- hash: {},
- data: z
- }, y ? y.call(A, "newsletter email collection", "Your email address will not be shared, %sor associated with anonymous searches. [%sExample message%s]", "<br/>", '<a href="https://spreadprivacy.com/google-search-history-4bae7619407d" class="atb-extension-overlay__disclaimer__link" target="_blank">', "</a>", v) : p.call(A, "lp", "newsletter email collection", "Your email address will not be shared, %sor associated with anonymous searches. [%sExample message%s]", "<br/>", '<a href="https://spreadprivacy.com/google-search-history-4bae7619407d" class="atb-extension-overlay__disclaimer__link" target="_blank">', "</a>", v));
- if (x || x === 0) {
- u += x
- }
- u += '</p><p class="atb-extension-overlay__nope js-extension-overlay-close tx--15">';
- x = (y = q.lp || (A && A.lp), v = {
- hash: {},
- data: z
- }, y ? y.call(A, "new user poll", "No thanks.", v) : p.call(A, "lp", "new user poll", "No thanks.", v));
- if (x || x === 0) {
- u += x
- }
- u += "</p></div>";
- return u
- }
- r += '<div id="atb-extension-overlay" class="atb-extension-overlay atb-extension-overlay--';
- if (a = q.browserName) {
- h = a.call(s, {
- hash: {},
- data: t
- })
- } else {
- a = (s && s.browserName);
- h = typeof a === c ? a.call(s, {
- hash: {},
- data: t
- }) : a
- }
- r += b(h) + ' js-extension-overlay atb-extension-overlay--promote-mobile"><div class="atb-extension-overlay__nav js-extension-overlay-nav"><a class="atb-extension-overlay__nav-text tx--15 js-extension-overlay-search" data-search-link="header" href="https://duckduckgo.com"><span class="ddgsi ddgsi-loupe"></span> ';
- h = (a = q.l || (s && s.l), e = {
- hash: {},
- data: t
- }, a ? a.call(s, "Search", e) : p.call(s, "l", "Search", e));
- if (h || h === 0) {
- r += h
- }
- r += '</a><span class="ddgsi ddgsi-close-bold pull-right text--secondary js-extension-overlay-close tx--15"></span></div><div class="atb-extension-overlay__content js-extension-overlay-content ddg-extension-hide">';
- h = q["if"].call(s, (s && s.subTemplate), {
- hash: {},
- inverse: o.noop,
- fn: o.program(1, n, t),
- data: t
- });
- if (h || h === 0) {
- r += h
- }
- r += '</div><div id="atb-extension-overlay__success" class="atb-extension-overlay__success"><div class="js-poll-icon"><svg class="atb-extension-overlay__image" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="120px" height="120px" viewBox="0 0 140 140" style="enable-background:new 0 0 140 140;" xml:space="preserve"><defs><circle id="SVGID_1_" cx="70" cy="70" r="70"/></defs><use xlink:href="#SVGID_1_" style="overflow:visible;fill:#9ED8F7;"/><clipPath id="SVGID_2_"><use xlink:href="#SVGID_1_" style="overflow:visible;"/></clipPath><g id="Summit" style="clip-path:url(#SVGID_2_);"><g><g><g><defs><path id="SVGID_3_" d="M166.8,166.4L166.8,166.4c0.3,0.2,0.4,0.5,0.3,0.8c-0.1,0.2-0.3,0.3-0.6,0.3l-179.8,0.2l22.8-16.5 c0.9-0.7,1.8-1.6,2.3-2.6c0.6-1.1,1.6-2.5,2.8-3.4c2.2-1.5,5.4-1.5,5.4-1.5s-3.3,0.9,0.1,0c3.4-0.9,9.1-4.3,9.1-4.3 s0.5-1.8,2.2-3.5c1.7-1.7,5.3-3.1,5.3-3.1l0.2-0.1l5.6-3.2c0,0-3,1.9,0.1-0.1c3.1-2,5.8-7.5,8.4-7.9c2.6-0.4,11,1.7,11,1.7 s1.8-1.4,3.6-1.6c1.9-0.2,1.8,1,1.8,1l1.2,0.7c0,0-7.7-1,0,0s10.2,5,13,6.5c2.9,1.4,5-0.5,7,0.3c1.2,0.5,2.1,1.4,2.6,2.6 c0.1,0.1,0.7,1.8,0.7,1.8c4.2,4.8,14.5,5.3,14,4.8h0.1l7.1,0.6c0,0-3.2,1,0.1,0c3.3-1,8,0.1,9.3,0.7c1.3,0.5,1.9,2.3,1.9,2.3 s-1.3-1.5,0.2,0.2c1.4,1.7,12.5,7,12.5,7c2.7,1.3,3.6,5.1,3.6,5.1L166.8,166.4z"/></defs><clipPath id="SVGID_4_"><use xlink:href="#SVGID_3_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_4_);"><rect x="-23" y="112.3" style="fill:#FFFFFF;" width="195.7" height="60.5"/><path style="fill:#C4E0FF;" d="M157.9,141.7L97,123.4l-7.5,2.9c-1.4-1.7-3.7-3.3-7.2-4.2c-2.8-0.8-16.9,0-19.6,1.6 c-6.4,4.1-4.5,3.7-6.3,5.2c-4.2,3.3-7.6-1.3-10.6,3c-2.1,3.1,1.6,3.2,4.9,4.2c3.3,1,2.7,4.9,5.7,4.6c3.9-0.3,8.6,3.5,12.8,2.2 c2.6-0.8,10,0.3,10.4,3.6c0.8,7.6,27.1,10.9,27.1,10.9l22.9,12.4l40.2-1.2L157.9,141.7z"/><path style="fill:#C4E0FF;" d="M48.7,140c-1.9,0.8-1.1,2.9-3.6,2.9s-4.4,3.4-0.5,3.4s9.6,0.3,8.3-2s-1.8-1.8-2.2-2.8 C50.1,139.7,49.3,139.8,48.7,140z"/><path style="fill:#C4E0FF;" d="M13,146.6c-1.9,3.3,1.3,0.9,3.8,0.9s3.8,1.4,1,4.2c-4.3,4.3-12.1,3-10.6-2.5 c0.7-2.6,3.2-3.4,3.6-4.5C11.6,142.9,12.4,146.4,13,146.6z"/></g></g></g></g><path style="opacity:0.3;fill:#07397A;enable-background:new;" d="M58.6,127.3c-3.6,5.1,7.4,4.6,11.5,8.3 c1,0.9,2.3,2.6,4.5,3.4s6.3-0.6,7.6,0.6c5.3,4.6-1.1,7.2,5.7,9.2c4.8,1.4,7.9,4.1,12.5,6.4c2.5,1.3,4.6,2.5,7.6,2.7 c3,0.2,11.2,1.9,16,4.1c9.4,4.2,27.6,1.6,37.5,2.2c-9.8-4.6-20.6-11.9-30.8-15c-3.5-1-6.4-0.3-10.3-1c-5-1-9-5.4-12.9-6.2 c-5.7-1.2-9.4,2.1-15.5-2c-3.7-2.5-6.8-7.2-10.6-10C74.7,124.8,66.4,118.5,58.6,127.3z"/></g><g id="Rucksack" style="clip-path:url(#SVGID_2_);"><path style="fill:#303C3D;" d="M122.4,52.2c0,0,0.6,4.1,2.8,6.3l-1.8,1.8c0,0-2.9-3.4-2.9-6.1L122.4,52.2z"/><g><g><g><defs><path id="SVGID_5_" d="M97.5,35.5c0,0-0.1-5.2,8.1-5.2s14.6,3.6,16,4.5c2.6,1.8,3.3,5.3,3.3,5.3s-0.5,4.1-1.1,11.6 c-1,13.6-4.6,31.8-8.4,39.4c-1.7,3.4-3,5-6,5.8c-0.6,0.2-6,0.9-6,0.9L85.7,85L97.5,35.5z"/></defs><clipPath id="SVGID_6_"><use xlink:href="#SVGID_5_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_6_);"><rect x="86.2" y="25.5" style="fill:#5D6063;" width="41.4" height="76.2"/><path style="fill:#4B4E52;" d="M117.4,35.3c0,0-2.4,28.5-5.1,40.1c-2.1,8.9-5,21.7-8.4,22.3c-3.4,0.6-26.3-11.3-26.3-11.3 l9.2-57.9C86.9,28.5,107.6,28.5,117.4,35.3z"/><path style="fill:#6F7478;" d="M125.2,52.2c0-0.3-0.9-16.7-8.2-12.5c0,0-1.5-5.6-21.1-4.1c-0.1,0,6.6-7.7,6.6-7.7l22.4,1.7 L125.2,52.2z"/><path style="fill:#3E474D;" d="M107,41.5c-1.4,9.6-4,12.9-4,12.9s4.2,0.5,6.8,6c2.6,5.5-7.9,30.4-7.9,30.4l-8-30.6l0.7-23.7 C94.5,36.5,108.4,32.7,107,41.5z"/></g></g></g></g></g><g id="Alpinist" style="clip-path:url(#SVGID_2_);"><g><g><g><defs><path id="SVGID_7_" d="M94.4,52.6c0,0-9.2,0.3-20.3-5.4S61.4,45.6,58.7,46s-9.3-1.5-9.3-1.5L49,52.2c0,0,4.7,1.3,9.1-0.1 c4.4-1.3,23.7,2.5,23.7,2.5l13.8,0.1L94.4,52.6z"/></defs><clipPath id="SVGID_8_"><use xlink:href="#SVGID_7_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_8_);"><rect x="47.3" y="39.5" transform="matrix(0.988 -0.1547 0.1547 0.988 -6.7573 11.795)" style="fill:#79A3C9;" width="50.2" height="19.7"/><path style="opacity:0.1;enable-background:new;" d="M72.4,44c0.4,0.3-2.8,9.8-2.8,9.8l28.7,3.3L96.4,51L72.4,44z"/><polygon style="opacity:0.1;enable-background:new;" points="63.4,42.6 61.4,53.6 55.3,53.8 56.8,44.1"/><polygon style="opacity:0.1;fill:#FFFFFF;enable-background:new;" points="64.4,42.2 62.6,53.8 66.1,53.2 67.9,42.7"/><path style="opacity:0.2;enable-background:new;" d="M85.6,49.5c-0.7,2.6,0.5,5,2.9,7.5c0,0,10.3,0.5,10.6,0.1 c0.3-0.4-2.4-6.4-2.4-6.4L85.6,49.5z"/><polygon style="opacity:0.1;fill:#FFFFFF;enable-background:new;" points="48.2,43.1 51.8,44.2 51.5,54.1 47.5,52.8"/></g></g></g></g><g><g><g><defs><path id="SVGID_9_" d="M91.9,52.8c0,0-6.5,0.6-11.5-0.7c-3.7-0.9-11.2-2.9-17.6-2.7c-6.4,0.2-6.8,3.9-11.8,5.9 c-3.3,1.2-6.8,2.1-10.3,2.7l2.8,4.8c3.1-0.5,6.2-1.5,9-2.9c4.3-2.3,7.1-6,11.1-5.3c13,2.1,28.1,3.4,28.5,2.8L91.9,52.8z"/></defs><clipPath id="SVGID_10_"><use xlink:href="#SVGID_9_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_10_);"><rect x="38.2" y="45" transform="matrix(0.9902 -0.14 0.14 0.9902 -7.026 9.9428)" style="fill:#79A3C9;" width="57.9" height="19.9"/><path style="opacity:0.1;enable-background:new;" d="M58,49.2l2.3,9.1c0,0-8,4.6-8.1,4.3c-0.1-0.4-2.5-8.7-2.5-8.7L58,49.2 z"/><path style="opacity:0.1;enable-background:new;" d="M76.9,50.3l0.1,8.4c0,0,16.9,1.3,17.1,1c0.3-0.3-0.7-8.2-0.7-8.2 L76.9,50.3z"/><polygon style="opacity:0.2;fill:#FFFFFF;enable-background:new;" points="60.8,48.4 62.2,57 65.6,56.6 64.5,48.4"/><path style="opacity:0.15;enable-background:new;" d="M84.9,51.9c-0.8,2.5-0.4,5,1,7.3l8.3,0.8l-0.5-8.9L84.9,51.9z"/></g></g></g></g><path style="fill:#3E4E4F;" d="M62.9,65c0,0-1.6,4.4-3.2,5.8s-3.4-5.3-3.4-6.1c0-0.8-1.5-5.2,1.1-7.2c1.9-1.5,3.5,3.7,4.5,6.3 C62,64.3,62.4,64.7,62.9,65z"/><path style="fill:#EB5C00;" d="M61.9,63.8c0,0,7.4,6.3,14.3,5.2c8.4-1.3,10-7.6,10.9-9.2c0.1-0.1,6.3-0.1,6.3,0l-6.3,8.9 c0,0-1.6,5.5-11,6.3S59,71,59,71C61.9,68.9,62.6,66.4,61.9,63.8z"/><g><g><g><defs><path id="SVGID_11_" d="M61.9,63.8c0,0,7.4,6.3,14.3,5.2c8.4-1.3,10-7.6,10.9-9.2c0.1-0.1,6.3-0.1,6.3,0l-6.3,8.9 c0,0-1.6,5.5-11,6.3S59,71,59,71C61.9,68.9,62.6,66.4,61.9,63.8z"/></defs><clipPath id="SVGID_12_"><use xlink:href="#SVGID_11_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_12_);"><rect x="55.9" y="54" style="fill:#EB5C00;" width="40.6" height="23"/><path style="fill:#C74E00;" d="M59.8,66.9c0,0,7.9,6.1,17.6,5.4c9.8-0.8,14.4-6.8,16-7.7l-1.3,10.2l-35.3,3.4L59.8,66.9z"/><path style="fill:#FFB663;" d="M93.4,57.9c0,0-9.7,12-19.2,11.3l18.5-12L93.4,57.9z"/></g></g></g></g><path style="opacity:0.3;fill:#0C3D5E;enable-background:new;" d="M60,59l-1.8,0.5l0.6,6.7c0.6-0.3,1.2-0.3,1.8,0L60,59z"/><g><g><g><defs><path id="SVGID_13_" d="M61,55.5c0,0,1.5-1.4,1.3-2.4c-0.3-1-1.3-1.7-2.3-0.8S59,54,59,54S59.3,55.7,61,55.5z"/></defs><clipPath id="SVGID_14_"><use xlink:href="#SVGID_13_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_14_);"><rect x="58" y="51.8" transform="matrix(0.9668 -0.2554 0.2554 0.9668 -11.85 17.3735)" style="fill:#3E4E4F;" width="5.9" height="5.1"/><path style="fill:#5E7578;" d="M60.9,55.8c0.4-0.6,0.6-1.2,0.6-1.9c-0.1-1-1.3-1.9-1.3-1.9l2.4-1l1.7,3.2l-2.9,2.3L60.9,55.8z" /></g></g></g></g><path style="fill:#7D5B47;" d="M64.6,127.2c-0.5,0-0.8-0.3-0.9-0.8L55.3,23.6c0-0.5,0.3-0.9,0.8-1c0.5,0,0.9,0.3,1,0.8l8.4,102.8 c0.1,0.5-0.3,0.9-0.8,1H64.6L64.6,127.2z"/><path style="fill:#473429;" d="M60.3,62l-1.8,0.2l0.3,3c0.3-0.2,1.2-0.7,1.7-0.6L60.3,62z"/><path style="fill:#473429;" d="M57.1,23.5c0-0.5-0.4-0.8-0.9-0.8c-0.2,0-0.3,0.1-0.4,0.1c0.3,0.2,0.4,0.4,0.4,0.7l8.4,102.8 c0,0.3-0.1,0.7-0.4,0.8c0.2,0.1,0.3,0.1,0.5,0.1h0.1c0.5,0,0.8-0.4,0.8-0.9v0L57.1,23.5z"/><g><g><g><defs><path id="SVGID_15_" d="M58.8,54.3c2.4,0,3.4,1.5,3.6,2.4c0.2,0.8,0.8,3.5,0.1,5.3c-0.2,0.4-0.6,0.7-1.1,0.6l-0.7-0.1 c-0.4-0.1-1.1-0.3-1.5-0.1s-1.3,1-1.6,2c-0.3,1,0.2,4.3,0.6,5.2c0.2,0.4,0.4,0.8,0.7,1.2c-0.7,1.3-4.4-8-3.1-13 C56.6,55.1,58.2,54.3,58.8,54.3z"/></defs><clipPath id="SVGID_16_"><use xlink:href="#SVGID_15_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_16_);"><rect x="52.7" y="51.7" style="fill:#5E7578;" width="12.7" height="20.3"/><path style="fill:#7A9A9C;" d="M58.8,54.1c0,0-2.9,1.9-2.6,6.5c0.2,3.2-0.6,7.1-0.6,7.1l-1.8,2.1l-1.9-13.3L58.8,54.1z"/><path style="fill:#3E4E4F;" d="M58.9,53.6c1.6,3,1.2,7,0.5,8.9c0,0,3.8,1.8,3.8,1.5c0-0.3,0.2-8.5,0.2-8.5L58.9,53.6z"/><g style="opacity:0.6;"><path style="fill:#222A2B;" d="M57.9,60.9l0.2-0.2c0.2-0.2,0.3-0.3,0.5-0.4L59,60l0.3-0.1h0.8l0.6,0.2c0.4,0.1,0.7,0.3,1,0.6 c0.3,0.2,0.4,0.5,0.6,0.8c0.1,0.2,0.2,0.4,0.3,0.6l0.1,0.3c0,0.1-0.1,0.1-0.2,0.1c0,0-0.1,0-0.1,0l-0.1-0.2 c-0.1-0.2-0.2-0.4-0.3-0.6c-0.2-0.3-0.3-0.5-0.6-0.7c-0.3-0.3-0.6-0.4-0.9-0.6l-0.5-0.2h-0.5l-0.5,0.1l-0.4,0.2 c-0.2,0.1-0.4,0.2-0.5,0.3L57.9,60.9L57.9,60.9C57.9,60.9,57.9,60.9,57.9,60.9C57.9,60.9,57.9,60.9,57.9,60.9L57.9,60.9z"/></g><g style="opacity:0.6;"><path style="fill:#222A2B;" d="M58.2,58.7l0.2-0.2c0.2-0.2,0.4-0.3,0.6-0.4l0.4-0.2l0.3-0.1h0.8l0.6,0.2 c0.4,0.1,0.7,0.3,1,0.6c0.3,0.2,0.5,0.5,0.6,0.8c0.1,0.2,0.2,0.4,0.3,0.7l0.1,0.3c0,0.1-0.1,0.1-0.2,0.1c0,0-0.1,0-0.1,0 l-0.1-0.3c-0.1-0.2-0.2-0.4-0.3-0.6c-0.2-0.3-0.3-0.5-0.6-0.7c-0.3-0.3-0.6-0.4-0.9-0.6l-0.5-0.1h-1L59,58.3 c-0.2,0.1-0.4,0.2-0.6,0.3L58.2,58.7L58.2,58.7C58.2,58.8,58.2,58.8,58.2,58.7C58.2,58.7,58.2,58.7,58.2,58.7z"/></g><g style="opacity:0.6;"><path style="fill:#222A2B;" d="M58.4,56.6l0.2-0.2c0.2-0.1,0.4-0.2,0.6-0.3c0.3-0.1,0.7-0.1,1-0.1l0.6,0.1l0.6,0.2 c0.4,0.1,0.7,0.3,1,0.6c0.3,0.2,0.4,0.5,0.6,0.8c0.1,0.2,0.2,0.4,0.3,0.6l0.1,0.3c0,0.1-0.1,0.1-0.2,0.1c0,0-0.1,0-0.1,0 l-0.1-0.2c-0.1-0.2-0.2-0.4-0.3-0.6c-0.2-0.3-0.3-0.5-0.6-0.7c-0.3-0.3-0.6-0.4-0.9-0.6l-0.5-0.2l-0.5-0.1h-0.5l-0.4,0.1 c-0.2,0.1-0.4,0.1-0.6,0.2L58.4,56.6L58.4,56.6C58.3,56.7,58.3,56.7,58.4,56.6C58.3,56.6,58.4,56.6,58.4,56.6L58.4,56.6z"/></g></g></g></g></g><g><g><g><defs><path id="SVGID_17_" d="M57.3,26.2c0,0-11.8-3.4-19.5-0.2s-11.7,6.4-19,7.1l1.9,23.3c0,0,13.6-1.3,20.1-5.7 c7.3-4.9,18.4-2.5,18.4-2.5L57.3,26.2z"/></defs><clipPath id="SVGID_18_"><use xlink:href="#SVGID_17_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_18_);"><rect x="13" y="17.1" style="fill:#EB5C00;" width="49.5" height="43.5"/><polygon style="fill:#DB5600;" points="46.5,23.7 49,49.5 62.2,48.6 60.3,25.8 53.8,24"/><polygon style="fill:#DB5600;" points="9.4,32.1 11.9,58 25.1,57.1 22.8,30.5 16.7,32.5"/><polygon style="fill:#C44D00;" points="56.4,25.1 58.3,49 60.6,49 58.3,25.1"/></g></g></g></g><path style="fill:#B53C00;" d="M83.9,86.6c0,0,4.8,8.2,10.8,10.5c6,2.3,8.9,2,8.9,2S97.7,85.7,83.9,86.6z"/><g><g><g><defs><path id="SVGID_19_" d="M97.2,148.9c0.3,3.9,1.7,6.8,5,6.6s4.4-3,4.5-6.9c0.1-3.9-2-8.2-2.5-8.7l-6.5,1.6 C97.2,143.9,97,146.4,97.2,148.9z"/></defs><clipPath id="SVGID_20_"><use xlink:href="#SVGID_19_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_20_);"><rect x="95.8" y="139.1" style="fill:#5A7073;" width="12.1" height="17.4"/><path style="fill:#48595C;" d="M100.7,139.5c0,0-1.9,15.5,2.4,16.3c0,0,7.3,0.5,3.1-16.2L100.7,139.5z"/></g></g></g></g><g><g><g><defs><path id="SVGID_21_" d="M98.2,141.3c-0.1-0.1-0.4,7.1,0.5,10.3s2.7,3,3.7,2.9c1.1-0.1,3.2-1.6,3.2-5s-0.9-8.2-1.4-8.9 L98.2,141.3z"/></defs><clipPath id="SVGID_22_"><use xlink:href="#SVGID_21_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_22_);"><rect x="96.8" y="137.4" style="fill:#303C3D;" width="9.9" height="18.4"/><path style="fill:#4C5F61;" d="M98.8,140.4c0,0-0.8,6.7,0.1,10.2c0.9,3.4,1.9,3.4,2.9,3.4s4-3.8-1.3-3.8 C99.6,150.1,99.5,142.8,98.8,140.4z"/></g></g></g></g><g><g><g><defs><path id="SVGID_23_" d="M95.8,134.3l1.3,8.5c0,0,1.3,1.2,4.1,1c2.8-0.3,3.9-1.3,4.1-1.9c0.3-0.6-0.9-9-0.9-9L95.8,134.3z"/></defs><clipPath id="SVGID_24_"><use xlink:href="#SVGID_23_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_24_);"><rect x="93.7" y="131.7" style="fill:#5E7578;" width="14.4" height="14.4"/><path style="fill:#506566;" d="M98.7,132.4l1.9,14.7c0,0,7.9-3,7.9-3.3s-1.7-12-1.7-12L98.7,132.4z"/></g></g></g></g><g><g><g><defs><path id="SVGID_25_" d="M93.1,88.1c-0.6,0-16.9-4-21.6,2c-5.2,6.6-4.6,20.1-3.6,21.9s0.6,2.3,0.6,2.3s4.1,1.3,7.7,0 c1.3-0.5,1.4-3,1.3-5.7c-0.1-3.9-1.4-9.2,0.5-11.8c4.4-6.1,16,1.1,21.2,1.1L93.1,88.1z"/></defs><clipPath id="SVGID_26_"><use xlink:href="#SVGID_25_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_26_);"><rect x="65.5" y="83.6" style="fill:#3A70A3;" width="35" height="37"/><path style="fill:#22507D;" d="M96.6,90.2c0,0-16.6-2.4-20.8,2.9c-4.2,5.3-2.2,13.4-2.2,14.8c0,1.4,1.2,4.6-3.2,5.5 c-1.8,0.4-2.2-0.7-2.2-0.7l-1,5.9l12.5-2.8L88,98.7l14.1-5.2L96.6,90.2z"/><path style="fill:#72A0CC;" d="M83.2,86.7c0-0.1-5.4-0.3-9.2,2.7c-3.8,3-5.6,11-5.5,21c0,1.1-0.8,2.2-1.1,1 C66.5,108,60.6,82.4,83.2,86.7z"/><path style="fill:#22507D;" d="M83.9,86.7c0,0,6.8,1.4,8.6,7c0,0,0.2-5.6,0-6.7C92.2,85.9,86.2,86.1,83.9,86.7z"/></g></g></g></g><g><g><g><defs><path id="SVGID_27_" d="M92.2,87.9c0,0,0.3,9.2,1.1,19.9c0.8,10.2,1.4,20.7,1.4,20.7c-0.3,1.2-0.4,2.4-0.4,3.5 c0,1.9,1.8,5.3,5.7,4.7c3.9-0.7,4.5-1.9,4.5-1.9s0.7-1.3,0.7-3.8c0-2.4-1.3-6.2-1.3-7.8c0-1.5-0.8-28.1-1.3-29.8L92.2,87.9z"/></defs><clipPath id="SVGID_28_"><use xlink:href="#SVGID_27_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_28_);"><rect x="90.1" y="83.3" style="fill:#3A70A3;" width="18.7" height="57.3"/><path style="fill:#22507D;" d="M98.7,88.6l0.4,9.2l1.4,29.4c0,0,2.7,2.9,2.7,5.1c0,2.1-2.9,3.5-5.9,3.5c-3,0-6-1.8-6-1.8 l6.6,5.9l8.5-3.9l-1.8-45.5L98.7,88.6z"/></g></g></g></g><g><g><g><defs><path id="SVGID_29_" d="M106.6,60c-2.7,12.1-3.6,25-3,39.1c-6.6-9.2-17.1-12.5-19.7-12.5c-2.8-9.4,0.8-21.4,1.6-24.8 c0.4-2,1.9-3.5,3.8-4.1L106.6,60z"/></defs><clipPath id="SVGID_30_"><use xlink:href="#SVGID_29_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_30_);"><rect x="81.6" y="51.4" style="fill:#EB5C00;" width="23.8" height="47.3"/><path style="fill:#C74E00;" d="M96.8,57c0,0-8,17.2-4,33.4s13.3,13.6,13.3,13.6l1.9-46.5L96.8,57z"/><path style="fill:#FFAE57;" d="M92.4,57.8c0,0-6.7,10-7.5,15.6c-0.8,5.6-1,12.4-0.2,15.5L78.9,87l4.4-30.8L92.4,57.8z"/></g></g></g></g><g><g><g><defs><path id="SVGID_31_" d="M105.2,59.8c0,0,20.6,3.8,18.5,15.3c-2.1,11.5-19.5,15.5-19.5,15.5l-0.8-6c0,0,12.6-3.3,13.5-8.7 c1.3-7.8-12.9-9.8-12.9-9.8L105.2,59.8z"/></defs><clipPath id="SVGID_32_"><use xlink:href="#SVGID_31_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_32_);"><rect x="98.4" y="55.4" style="fill:#EB5C00;" width="28.4" height="37.8"/><path style="fill:#C74E00;" d="M103.7,63.3c3.5,0.6,6.9,1.8,10,3.6c4.9,2.8,4.4,8.2,2.8,9.7c-1.6,1.6-14.7-6.7-14.7-6.7 L103.7,63.3z"/><path style="fill:#E67A00;" d="M101.9,87.3c0.5-0.5,15.2-2.2,19.8-10c2.4-4.1,1.5-6.9,1.5-9.3c0,0,3.3,10.5-0.4,14.2 s-21.7,11.2-21.7,11.2L101.9,87.3z"/></g></g></g></g><g><g><g><defs><path id="SVGID_33_" d="M110.1,57.9c0,0-0.1,0.5-0.2,0.5c-1.1,0.5-5.1,1-5.6,5.2c-0.6,4.8,2.5,10.6,3.8,12.1 c0,0.2,0.1,0.3,0.1,0.5l-3.1,2.3c0,0-5.8-5.9-5.8-13.1s5.8-8.3,5.8-8.3L110.1,57.9z"/></defs><clipPath id="SVGID_34_"><use xlink:href="#SVGID_33_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_34_);"><rect x="97.5" y="56.1" style="fill:#303C3D;" width="14.6" height="23.6"/><path style="fill:#263030;" d="M105.4,65.3c0,0-3.7-1.3-6.7,2.7c0,0,4.8,10.9,6.3,12.4l5.2-4.5L105.4,65.3z"/></g></g></g></g><path style="fill:#303C3D;" d="M91.3,57.7c0,0-7.1,9.7-8.4,18.8c0.2-2.7,0.5-5.4,1-8c0,0,3.7-10.3,4.5-10.5 C89.1,57.7,91.3,57.7,91.3,57.7z"/><g><g><g><defs><path id="SVGID_35_" d="M89.6,57.5l-3.2,0.9c0,0-1.4,0.3-0.2,1.5c1.2,1.2,6.2,4.8,6.6,5.8c0.4,0.9,0.7,1.7,0.6,2.3 c-0.2,0.6,4.1-7.3,4.1-7.3L89.6,57.5z"/></defs><clipPath id="SVGID_36_"><use xlink:href="#SVGID_35_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_36_);"><rect x="84.1" y="55.4" style="fill:#EB5C00;" width="14.3" height="13.9"/><path style="fill:#FFB663;" d="M88.1,57.8c0,0-1.9,0.6-1.6,1.5s4.9,4.5,5.6,5.2c0.8,0.8,1.3,2,1.3,3.1c0,1.3-9.3-7.6-9.3-7.6 S85.5,57.5,88.1,57.8z"/></g></g></g></g><path style="fill:#E67A00;" d="M91.8,56.3h-4.4c0,0-2.1-0.2-0.8,1.1c1.3,1.3,5.7,6,6.2,6.9c0.5,0.9,1.2,2,0.5,3.5 c-0.7,1.6,4-7.3,4.1-7.3L91.8,56.3z"/><g><g><g><defs><path id="SVGID_37_" d="M91.8,56.3h-4.4c0,0-2.1-0.2-0.8,1.1c1.3,1.3,5.7,6,6.2,6.9c0.5,0.9,1.2,2,0.5,3.5 c-0.7,1.6,4-7.3,4.1-7.3L91.8,56.3z"/></defs><clipPath id="SVGID_38_"><use xlink:href="#SVGID_37_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_38_);"><rect x="85.1" y="54.6" style="fill:#EB5C00;" width="12.7" height="13.3"/><path style="fill:#FFB663;" d="M89.7,56.5c0,0-2.8-0.4-2.5,0.5c0.3,0.9,7.8,7.9,6.5,10.3c0,0-8.7-10.6-8.9-10.7 c-0.2-0.1,3.6-1.3,3.6-1.2C88.4,55.6,89.7,56.5,89.7,56.5z"/></g></g></g></g><g><g><g><defs><path id="SVGID_39_" d="M90.7,44.8l-2-0.3c-0.3,0-0.4-0.3-0.4-0.5v0c0.3-1.5,1.2-6.5,2.4-8.9c1.5-3,4.2-5.7,8.9-4.7 c4.7,1,5.9,6.7,5.9,8.2c0,1.5-2.5,7.2-3.9,10.4c-1.3,3.2-1.3,5-1.3,5s-5.2,1-5.2,0.6c0-0.4,0.4-2.2,0.4-2.2S89,52.3,90.7,44.8z"/></defs><clipPath id="SVGID_40_"><use xlink:href="#SVGID_39_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_40_);"><rect x="87.3" y="26.2" style="fill:#9E552F;" width="20.9" height="32.9"/><path style="fill:#854521;" d="M101.3,29.4c0,0,2.1,6.3-1.6,17.1c-1.4,4.2-4.2,5.7-4.2,5.7l-0.2,3.9l5.7,0.1l7.9-16.6 l-1.9-10.8L101.3,29.4z"/><path style="fill:#CF8B68;" d="M93.9,30.8c0,0-3.8,6.4-4.6,13.4c-0.1,1,2.3,0.4,2.3,0.7s-1.6,3.7,0.7,6.9c0,0-7.2-1.7-7.3-1.8 c-0.1-0.1,3.7-18,3.7-18L93.9,30.8z"/><path style="opacity:0.3;fill:#0C3D5E;enable-background:new;" d="M90,46.3c0,0,0.7-1.3,3.4-1.9c2.7-0.6,4.8,1.9,6.6,1.9 s1.9-3.4,2-4.9c0.1-1.5,0.5-2.9,1.9-3.7s3,3.5,3,3.5s-2.4-2.6-3.3-1.3c-0.9,1.3,0.5,6.1-2.3,9.5c-1.5,1.6-3.5,2.7-5.6,3 c-1.9,0.3-4.4-0.1-4.4-0.1s-1.6-3.9-1.8-4.1C89.2,47.9,90,46.3,90,46.3z"/></g></g></g></g><path style="fill:#2A3636;" d="M103.7,82.6c-0.2-0.2-2.5-3.3-2.9-4.5c-0.4-1.2-1.6,0.7-1.6,1.4s0.5,3.9,1.1,4.2 C100.9,84.1,103.7,82.6,103.7,82.6z"/><g><g><g><defs><path id="SVGID_41_" d="M104.5,92.1c0,0-2.9-4.5-3.7-5c-0.8-0.5-2.8,0.2-3.7,0.7s-2.7,1.2-3.4,0.7c-0.7-0.5-1.6-2.8-0.4-3.9 c1.2-1.2,2.1-2.1,3.4-2.8c2.1-1.2,3.5-1,4.6-0.6c1.1,0.4,4,1.8,4,1.8S109.2,87.7,104.5,92.1z"/></defs><clipPath id="SVGID_42_"><use xlink:href="#SVGID_41_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_42_);"><rect x="89.7" y="77.7" style="fill:#303C3D;" width="18.6" height="16.7"/><path style="fill:#405152;" d="M96.4,80.5c-1,1.5-1.3,3.4-1,5.1c0.7,2.9,4.4,3.4,4.4,3.4l-7.2,2.5l-2.5-8.7L96.4,80.5z"/><path style="fill:#2A3636;" d="M98.9,76.5c0,0,5.5,7.1,2.2,10.9c-4.6,5.3,5.7,6.6,5.7,6.6l2.4-9.5L98.9,76.5z"/><g style="opacity:0.6;"><path d="M92.5,86.7c0.3-0.4,0.5-0.7,0.8-1.1c0.7-0.7,1.4-1.4,2.2-2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2c0.4-0.2,0.9-0.3,1.3-0.3 l1-0.1h0.4c0,0,0.1,0,0.1,0.1l0,0l-0.1,0.1h-0.4l-0.9,0.1l-0.6,0.2L97,83l-0.7,0.3l-0.3,0.2l-0.3,0.2c-0.8,0.6-1.5,1.3-2.2,2 l-0.6,0.7l-0.2,0.3c0,0-0.1,0.1-0.2,0C92.5,86.8,92.5,86.7,92.5,86.7z"/></g><g style="opacity:0.6;"><path d="M92.7,87.9c0.3-0.4,0.5-0.7,0.8-1.1c0.7-0.8,1.4-1.4,2.2-1.9l0.7-0.4l0.7-0.3c0.4-0.2,0.8-0.3,1.3-0.4 c0.4-0.1,0.9-0.2,1.3-0.2l0.1,0.1l-0.1,0.1c-0.4,0.1-0.9,0.2-1.3,0.3c-0.4,0.1-0.8,0.3-1.3,0.4l-0.7,0.3l-0.7,0.4 c-0.8,0.5-1.5,1.2-2.1,1.9c-0.3,0.3-0.6,0.7-0.8,1c0,0-0.1,0.1-0.2,0C92.7,88,92.7,87.9,92.7,87.9L92.7,87.9z"/></g><g style="opacity:0.6;"><path d="M93.3,89c0.2-0.4,0.4-0.8,0.7-1.1c0.3-0.3,0.6-0.7,0.9-1l0.6-0.5l0.7-0.4l0.7-0.3l0.7-0.3l1.3-0.3 c0.4-0.1,0.8-0.2,1.3-0.2l0.1,0.1c0,0,0,0.1,0,0.1l-1.3,0.3c-0.9,0.2-1.8,0.5-2.6,1l-0.6,0.4L95,87.1c-0.5,0.5-1,1.1-1.4,1.7 l-0.2,0.3c-0.1,0-0.1,0-0.2,0C93.3,89.1,93.3,89.1,93.3,89L93.3,89z"/></g></g></g></g></g><g><g><g><defs><path id="SVGID_43_" d="M90,57c-0.3-0.1,4.2,4.3,4,9.1c0,0,2.1-4.2,3.5-5.6c1.3-1.2,2.7-2.4,4.2-3.5C101.6,57,92,57.7,90,57z" /></defs><clipPath id="SVGID_44_"><use xlink:href="#SVGID_43_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_44_);"><rect x="88.3" y="55.3" style="fill:#79A3C9;" width="13.8" height="12"/><path style="opacity:0.1;enable-background:new;" d="M101.2,58.1l-7.7,1.7c0,0,1.3,1.1,0.6,7c0,0-6.7-2.3-6.6-2.4 c0.1,0,1.8-7.9,1.8-7.9l13.5-0.4L101.2,58.1z"/></g></g></g></g><ellipse cx="90.6" cy="38.2" rx="0.3" ry="0.8"/><g><g><g><defs><path id="SVGID_45_" d="M90.9,34.7c0,0,4.7-1.8,9.7,1.4c3.3,2.1,4.1,5.9,4.1,5.9s3.8-9-2.3-12.1C99.4,28.3,93.3,28.8,90.9,34.7 z"/></defs><clipPath id="SVGID_46_"><use xlink:href="#SVGID_45_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_46_);"><rect x="90.1" y="27.3" style="fill:#5E7578;" width="17.1" height="15.7"/><path style="fill:#465859;" d="M101.1,29.3c0.6,1.4,1,8.1,0,11.5c0,0.1,4,2.9,4,2.8c0-0.1,2.5-11.5,2.5-11.5L101.1,29.3z"/></g></g></g></g><ellipse cx="95.9" cy="38.5" rx="0.5" ry="1"/><path d="M94.4,47.8h0.6l0.6-0.1l0.6-0.2l0.3-0.1l0.3-0.1l0.3-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.1-0.1l0,0c0,0,0.1,0,0.1,0 c0,0,0,0.1,0,0.1L97.7,47l-0.1,0.2l-0.2,0.2l-0.2,0.2l-0.3,0.2l-0.3,0.2L96.2,48c-0.2,0.1-0.5,0.1-0.7,0.1h-0.6 c-0.2,0-0.4-0.1-0.6-0.2c0,0-0.1-0.1,0-0.1l0,0L94.4,47.8z"/><path style="fill:#303C3D;" d="M58.7,128.8l18.7-3.1l-0.1,1.5c0,0-0.5,1.7-2,2.2s-4.3,0.3-5.3,0.5c-1.1,0.2-3.4,1-4.9,1.4 c-4.2,0.9-6.1-0.6-6.3-1.1L58.7,128.8z"/><path style="fill:#48595C;" d="M59.4,127.7c0,0-0.9,0.5-0.6,1.3c0.3,0.8,2.1,1.7,4.8,1.3s5.4-1.5,6.6-1.6c1.2-0.1,3.1,0.1,4.7-0.5 c1.6-0.6,2.2-1.6,2.4-2.4c0.2-0.8-1.1-1.4-1.1-1.4L59.4,127.7z"/><path style="fill:#5A7073;" d="M60.2,129.2c-0.3-0.8,0.6-1.3,0.6-1.3l16.1-3.1c-0.2-0.2-0.4-0.3-0.6-0.4l-16.9,3.3 c0,0-0.9,0.5-0.6,1.3c0.3,0.8,1.4,1.3,3.2,1.4C61.1,130.2,60.5,129.7,60.2,129.2z"/><g><g><g><defs><path id="SVGID_47_" d="M69.3,120.5c0,0,0.6,2.7-5.1,4c-5.1,1.2-5.3,3.7-4.6,4.4c0.7,0.7,2.6,1.7,6.9,0.4c3.1-1,3.7-1,3.7-1 s3,0.2,4.6-0.6c2.1-1,2.2-2.9,1.7-4.2c-0.5-1.2-1.3-2-1.3-3.2"/></defs><clipPath id="SVGID_48_"><use xlink:href="#SVGID_47_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_48_);"><rect x="58.6" y="119" style="fill:#303C3D;" width="20.4" height="13.2"/><path style="fill:#60787A;" d="M68.8,121.3c0,0,0.3,1.8-1.7,2.9c-1.9,1.1-5.9,1.8-4.4,2.7c1.5,0.9,1.2,1.6-0.2,1.6 c-2.2,0-3.2-0.5-3.1-1.2c0.1-0.6,4.5-5.7,4.5-5.7l4.7-0.3"/></g></g></g></g><path d="M90.8,35.6c0-0.1,0.1-0.2,0.2-0.2l0.2-0.2l0.3-0.1c0.2-0.1,0.3-0.1,0.5-0.1h0.3c0,0,0.1,0,0.1,0.1v0l-0.1,0.1l-0.2,0.1 l-0.5,0.1l-0.5,0.2L90.8,35.6L90.8,35.6C90.8,35.6,90.8,35.6,90.8,35.6z"/><path d="M98.6,36.6c-0.1-0.2-0.2-0.3-0.3-0.4L98,35.8c-0.2-0.2-0.3-0.3-0.5-0.4l-0.3-0.2l-0.3-0.1L96.6,35l-0.3-0.1h-0.5 c0,0-0.1,0-0.1-0.1l0,0l0.1-0.1h0.8l0.3,0.1l0.3,0.1l0.3,0.2c0.3,0.2,0.7,0.5,0.9,0.9c0.1,0.1,0.1,0.3,0.2,0.4L98.6,36.6L98.6,36.6 C98.7,36.6,98.7,36.7,98.6,36.6L98.6,36.6z"/><path style="fill:#303C3D;" d="M91.1,34.2c3.2-1.3,10.2-0.9,14.3,5.1l0.3-1.3c-1.9-3.9-8.2-7.1-14-5.2L91.1,34.2z"/><path style="fill:#9E4212;" d="M103.5,43.8c1.2,0.1,1.8-1.8,1.8-3.1s-1.4-1.4-1.7-0.9s0.3,1.1,0,1.9S103.2,43.8,103.5,43.8z"/><path style="fill:#717F87;" d="M90.2,32.9l0.3,0.8v0.1l0,0c0.3,0.5,1.4,0.5,2.5,0c1.1-0.5,1.8-1.2,1.8-1.7L94.4,31L90.2,32.9z"/><path style="fill:#717F87;" d="M96.1,31.5l-0.3,1.2c0,0.6,0.9,1.2,2.2,1.5s2.4,0.1,2.6-0.4l0,0v-0.1l0.2-0.9L96.1,31.5z"/><ellipse transform="matrix(0.9225 -0.3859 0.3859 0.9225 -5.3232 38.0997)" style="fill:#E3EEFF;" cx="92.2" cy="32.3" rx="2.3" ry="1"/><ellipse transform="matrix(0.2368 -0.9716 0.9716 0.2368 43.818 119.9818)" style="fill:#C7DEFF;" cx="98.3" cy="32.1" rx="1.1" ry="2.5"/><path style="fill:#D47200;" d="M103.7,56.9c-4.2,0.4-9.1,7.4-10.2,10.9c2.9-3.5,9.9-7.4,10.4-7.6c0.5-0.2,0.8-0.5,0.4-1.2 S103.7,56.9,103.7,56.9z"/><g><g><g><defs><path id="SVGID_49_" d="M102.6,56.3c-3.9,0.3-8.5,8.4-8.9,10.8c2.5-4,8.3-7,9.1-7.4c0.8-0.4,0.8-0.5,0.4-1.2 C102.7,57.7,102.6,56.3,102.6,56.3z"/></defs><clipPath id="SVGID_50_"><use xlink:href="#SVGID_49_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_50_);"><rect x="93.4" y="55.1" style="fill:#EB5C00;" width="11" height="12"/><path style="opacity:0.46;fill:#FFB663;enable-background:new;" d="M102.8,57.2c0.3,0.4-0.4,1.8-3.6,4.2 c-1.4,1-3.1,1.8-4.9,4.9l10-6.5L102.8,57.2z"/></g></g></g></g><ellipse style="fill:#85380D;" cx="103.8" cy="41.5" rx="0.6" ry="0.7"/><g><g><g><defs><path id="SVGID_51_" d="M68.5,114v7.7c0,0,0.3,0.6,4,0.6s3.7-1,3.7-1v-7C76.2,114.3,71.6,115.8,68.5,114z"/></defs><clipPath id="SVGID_52_"><use xlink:href="#SVGID_51_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_52_);"><rect x="66" y="111.1" style="fill:#5E7578;" width="14.2" height="14.2"/><path style="fill:#506566;" d="M72.7,113.6l0.1,10.4c0,0,5.7-0.7,5.5-0.9c-0.2-0.2-0.2-10.5-0.2-10.5L72.7,113.6z"/></g></g></g></g><g><g><g><defs><path id="SVGID_53_" d="M92.1,52.7c0,0,3.5,0.5,6.3,0.3c1.3-0.1,2.6-0.3,3.9-0.6c0.9,0.3,1.4,1.5,1.3,2.6c0.1,1-0.5,2-1.4,2.5 c0,0-7.2,2.2-11.7,0.3C88,56.6,89.3,52.5,92.1,52.7z"/></defs><clipPath id="SVGID_54_"><use xlink:href="#SVGID_53_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_54_);"><rect x="87.9" y="50.8" style="fill:#79A3C9;" width="19.3" height="9.8"/><path style="opacity:0.8;fill:#DEF4FF;enable-background:new;" d="M94.2,52.8c0,0-3.4,0.3-3.6,2.8 c-0.1,2.5,1.8,3.1,1.3,2.8c0,0-5-0.5-4.5-2.6C87.9,53.6,90.6,51.3,94.2,52.8z"/><path style="opacity:0.1;enable-background:new;" d="M97.3,52.2c0,0,4.2,1.6,0,7.1l9.4-0.8l-1.1-7.5L97.3,52.2z"/></g></g></g></g><path style="opacity:0.3;fill:none;stroke:#000000;stroke-width:1.42;stroke-linecap:round;stroke-miterlimit:10;enable-background:new;" d=" M91.2,67.5c0,0-1.5,2.9-1.5,5.2"/><polygon style="fill:#668082;" points="89.6,73 89.2,74.9 90.1,74.9 89.9,73"/></g></svg></div><div class="atb-extension-overlay__fade-out js-extension-overlay-fade-out">';
- h = q["if"].call(s, ((h = (s && s.onBoardingTest)), h == null || h === false ? h : h.hideEmailForm), {
- hash: {},
- inverse: o.program(8, g, t),
- fn: o.program(3, m, t),
- data: t
- });
- if (h || h === 0) {
- r += h
- }
- r += '</div><div class="atb-extension-overlay__success-message js-extension-overlay-submit"><p class="atb-extension-overlay__thanks tx--19 tx-clr--lt2">';
- h = (a = q.lp || (s && s.lp), e = {
- hash: {},
- data: t
- }, a ? a.call(s, "homepage onboarding", "Thank you.", e) : p.call(s, "lp", "homepage onboarding", "Thank you.", e));
- if (h || h === 0) {
- r += h
- }
- r += "<br>";
- h = (a = q.lp || (s && s.lp), e = {
- hash: {},
- data: t
- }, a ? a.call(s, "homepage onboarding", "Welcome to the Duck Side!", e) : p.call(s, "lp", "homepage onboarding", "Welcome to the Duck Side!", e));
- if (h || h === 0) {
- r += h
- }
- r += '</p><div class="atb-extension-overlay__lower-loupe"><a class="atb-extension-overlay__nav-text tx--15 js-extension-overlay-search" data-search-link="start-link" href="https://duckduckgo.com"><span class="ddgsi ddgsi-loupe"></span> ';
- h = (a = q.l || (s && s.l), e = {
- hash: {},
- data: t
- }, a ? a.call(s, "Start searching!", e) : p.call(s, "l", "Start searching!", e));
- if (h || h === 0) {
- r += h
- }
- r += "</a></div></div></div></div>";
- return r
- });
- this["DDG"]["templates"]["add_to_browser_extension_overlay_chrome"] = Handlebars.template(function(c, j, b, h, g) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- g = g || {};
- var f = "",
- a, e, k, i = b.helperMissing;
- f += '<div class="atb-extension-overlay__instructions atb-extension-overlay__instructions--chrome"><p class="atb-extension-overlay__directions">';
- a = (e = b.lp || (j && j.lp), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "install-duckduckgo", "Click %sAdd Extension%s.", "<b>", "</b>", k) : i.call(j, "lp", "install-duckduckgo", "Click %sAdd Extension%s.", "<b>", "</b>", k));
- if (a || a === 0) {
- f += a
- }
- f += '</p><p class="atb-extension-overlay__permissions">';
- a = (e = b.l || (j && j.l), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "These browser permissions are used to add privacy protection on websites you visit by blocking hidden trackers, encrypting connections where possible, and by making DuckDuckGo your default search engine.", k) : i.call(j, "l", "These browser permissions are used to add privacy protection on websites you visit by blocking hidden trackers, encrypting connections where possible, and by making DuckDuckGo your default search engine.", k));
- if (a || a === 0) {
- f += a
- }
- f += '</p><p class="atb-extension-overlay__permissions">';
- a = (e = b.l || (j && j.l), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "As per our privacy policy, we do not collect or share any personal information ourselves. All of this privacy protection happens on your device.", k) : i.call(j, "l", "As per our privacy policy, we do not collect or share any personal information ourselves. All of this privacy protection happens on your device.", k));
- if (a || a === 0) {
- f += a
- }
- f += "</p></div>";
- return f
- });
- this["DDG"]["templates"]["add_to_browser_extension_overlay_firefox"] = Handlebars.template(function(g, n, f, k, j) {
- this.compilerInfo = [4, ">= 1.0.0"];
- f = this.merge(f, g.helpers);
- j = j || {};
- var i = "",
- b, h, s, m = f.helperMissing,
- r = this;
- function e(u, t) {
- return '<div class="atb-extension-overlay__instructions">'
- }
- function a(u, t) {
- return '<div class="atb-extension-overlay__dynamic-instructions">'
- }
- function q(z, y) {
- var t = "",
- v, x, u;
- t += '<ol class="atb-extension-overlay__dynamic-directions">';
- v = (x = f.lp || (z && z.lp), u = {
- hash: {},
- data: y
- }, x ? x.call(z, "install-duckduckgo", "%sClick %sContinue To Installation%sClick %sAdd%sCheck %sAllow%s, then click %sOkay%s", "<li>", "<b>", "</b></li><li>", "<b>", "</b></li><li>", "<b>", "</b>", "<b>", "</b></li>", u) : m.call(z, "lp", "install-duckduckgo", "%sClick %sContinue To Installation%sClick %sAdd%sCheck %sAllow%s, then click %sOkay%s", "<li>", "<b>", "</b></li><li>", "<b>", "</b></li><li>", "<b>", "</b>", "<b>", "</b></li>", u));
- if (v || v === 0) {
- t += v
- }
- t += "</ol>";
- return t
- }
- function p(v, u) {
- var t;
- t = f["if"].call(v, (v && v.allowAddAllow), {
- hash: {},
- inverse: r.program(10, c, u),
- fn: r.program(8, o, u),
- data: u
- });
- if (t || t === 0) {
- return t
- } else {
- return ""
- }
- }
- function o(z, y) {
- var t = "",
- v, x, u;
- t += '<ol class="atb-extension-overlay__dynamic-directions">';
- v = (x = f.lp || (z && z.lp), u = {
- hash: {},
- data: y
- }, x ? x.call(z, "install-duckduckgo", "%sClick %sAllow%sClick %sAdd%sCheck %sAllow%s, then click %sOkay%s", "<li>", "<b>", "</b></li><li>", "<b>", "</b></li><li>", "<b>", "</b>", "<b>", "</b></li>", u) : m.call(z, "lp", "install-duckduckgo", "%sClick %sAllow%sClick %sAdd%sCheck %sAllow%s, then click %sOkay%s", "<li>", "<b>", "</b></li><li>", "<b>", "</b></li><li>", "<b>", "</b>", "<b>", "</b></li>", u));
- if (v || v === 0) {
- t += v
- }
- t += "</ol>";
- return t
- }
- function c(z, y) {
- var t = "",
- v, x, u;
- t += '<p class="atb-extension-overlay__directions">';
- v = (x = f.lp || (z && z.lp), u = {
- hash: {},
- data: y
- }, x ? x.call(z, "install-duckduckgo", "Click %sAllow%s, then %sAdd%s.", "<b>", "</b>", "<b>", "</b>", u) : m.call(z, "lp", "install-duckduckgo", "Click %sAllow%s, then %sAdd%s.", "<b>", "</b>", "<b>", "</b>", u));
- if (v || v === 0) {
- t += v
- }
- t += "</p>";
- return t
- }
- b = f["if"].call(n, (n && n.allowAdd), {
- hash: {},
- inverse: r.program(3, a, j),
- fn: r.program(1, e, j),
- data: j
- });
- if (b || b === 0) {
- i += b
- }
- b = f["if"].call(n, (n && n.continueAddAllow), {
- hash: {},
- inverse: r.program(7, p, j),
- fn: r.program(5, q, j),
- data: j
- });
- if (b || b === 0) {
- i += b
- }
- i += '<p class="atb-extension-overlay__permissions">';
- b = (h = f.l || (n && n.l), s = {
- hash: {},
- data: j
- }, h ? h.call(n, "These browser permissions are used to add privacy protection on websites you visit by blocking hidden trackers, encrypting connections where possible, and by making DuckDuckGo your default search engine.", s) : m.call(n, "l", "These browser permissions are used to add privacy protection on websites you visit by blocking hidden trackers, encrypting connections where possible, and by making DuckDuckGo your default search engine.", s));
- if (b || b === 0) {
- i += b
- }
- i += '</p><p class="atb-extension-overlay__permissions">';
- b = (h = f.l || (n && n.l), s = {
- hash: {},
- data: j
- }, h ? h.call(n, "As per our privacy policy, we do not collect or share any personal information ourselves. All of this privacy protection happens on your device.", s) : m.call(n, "l", "As per our privacy policy, we do not collect or share any personal information ourselves. All of this privacy protection happens on your device.", s));
- if (b || b === 0) {
- i += b
- }
- i += "</p></div>";
- return i
- });
- this["DDG"]["templates"]["add_to_browser_extension_overlay_safari"] = Handlebars.template(function(c, k, b, i, h) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- h = h || {};
- var f = "",
- a, e, m, j = b.helperMissing,
- g = this.escapeExpression;
- f += '<div class="atb-extension-overlay__left-col"><div class="atb-extension-overlay__col-inner"><h1 class="atb-extension-overlay__header">';
- a = (e = b.lp || (k && k.lp), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "install-duckduckgo", "Almost there!", m) : j.call(k, "lp", "install-duckduckgo", "Almost there!", m));
- if (a || a === 0) {
- f += a
- }
- f += '</h1><p class="atb-extension-overlay__text">';
- a = (e = b.lp || (k && k.lp), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "install-extension", "1. Open %sDownloads%s", "<b>", "</b>", m) : j.call(k, "lp", "install-extension", "1. Open %sDownloads%s", "<b>", "</b>", m));
- if (a || a === 0) {
- f += a
- }
- f += '</p><p class="atb-extension-overlay__text">';
- a = (e = b.lp || (k && k.lp), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "install-extension", "2. Double-click %sduckduckgo.safariextz%s", "<b>", "</b>", m) : j.call(k, "lp", "install-extension", "2. Double-click %sduckduckgo.safariextz%s", "<b>", "</b>", m));
- if (a || a === 0) {
- f += a
- }
- f += '</p><p class="atb-extension-overlay__subtext">';
- a = (e = b.lp || (k && k.lp), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "install-extension", "Don't see it? %s%s%sClick here to re-download%s", '<a class="atb-extension-overlay__link" href="', (k && k.url), '" target="_blank">', "</a>", m) : j.call(k, "lp", "install-extension", "Don't see it? %s%s%sClick here to re-download%s", '<a class="atb-extension-overlay__link" href="', (k && k.url), '" target="_blank">', "</a>", m));
- if (a || a === 0) {
- f += a
- }
- f += '</p></div></div><div class="atb-extension-overlay__right-col"><img class="atb-extension-overlay__img" src="' + g((e = b.retinaImage || (k && k.retinaImage), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "/assets/add-to-browser/safari-extension.png", m) : j.call(k, "retinaImage", "/assets/add-to-browser/safari-extension.png", m))) + '" /></div>';
- return f
- });
- this["DDG"]["templates"]["add_to_browser_fullbleed"] = Handlebars.template(function(f, s, q, k, A) {
- this.compilerInfo = [4, ">= 1.0.0"];
- q = this.merge(q, f.helpers);
- A = A || {};
- var r = "",
- h, a, e, p = q.helperMissing,
- c = "function",
- b = this.escapeExpression,
- o = this;
- function n(G, F) {
- var B = "",
- D, E, C;
- B += '<p class="badge-link__subtitle">';
- D = (E = q.l || (G && G.l), C = {
- hash: {},
- data: F
- }, E ? E.call(G, "Add privacy protection to your browser. Search privately, block trackers, secure connections, and more — all for free.", C) : p.call(G, "l", "Add privacy protection to your browser. Search privately, block trackers, secure connections, and more — all for free.", C));
- if (D || D === 0) {
- B += D
- }
- B += "</p>";
- return B
- }
- function m(G, F) {
- var B = "",
- D, E, C;
- B += '<ol class="badge-link__bullets"><li class="badge-link__bullet"><span class="ddgsi ddgsi-check badge-link__bullet-check"></span>';
- D = (E = q.lp || (G && G.lp), C = {
- hash: {},
- data: F
- }, E ? E.call(G, "reasons-to-use-duckduckgo", "We don't store your personal info.", C) : p.call(G, "lp", "reasons-to-use-duckduckgo", "We don't store your personal info.", C));
- if (D || D === 0) {
- B += D
- }
- B += '</li><li class="badge-link__bullet"><span class="ddgsi ddgsi-check badge-link__bullet-check"></span>';
- D = (E = q.lp || (G && G.lp), C = {
- hash: {},
- data: F
- }, E ? E.call(G, "reasons-to-use-duckduckgo", "We don't follow you around with ads.", C) : p.call(G, "lp", "reasons-to-use-duckduckgo", "We don't follow you around with ads.", C));
- if (D || D === 0) {
- B += D
- }
- B += '</li><li class="badge-link__bullet"><span class="ddgsi ddgsi-check badge-link__bullet-check"></span>';
- D = (E = q.lp || (G && G.lp), C = {
- hash: {},
- data: F
- }, E ? E.call(G, "reasons-to-use-duckduckgo", "We don't track you. Ever.", C) : p.call(G, "lp", "reasons-to-use-duckduckgo", "We don't track you. Ever.", C));
- if (D || D === 0) {
- B += D
- }
- B += "</li></ol>";
- return B
- }
- function j(F, E) {
- var B = "",
- C, D;
- B += '<a class="badge-link__btn-wrap" href="';
- if (D = q.url) {
- C = D.call(F, {
- hash: {},
- data: E
- })
- } else {
- D = (F && F.url);
- C = typeof D === c ? D.call(F, {
- hash: {},
- data: E
- }) : D
- }
- B += b(C) + '" ';
- C = q["if"].call(F, (F && F.openInNewTab), {
- hash: {},
- inverse: o.noop,
- fn: o.program(6, i, E),
- data: E
- });
- if (C || C === 0) {
- B += C
- }
- B += ">";
- return B
- }
- function i(C, B) {
- return 'target="_blank"'
- }
- function g(C, B) {
- return '<div class="badge-link__btn-wrap" >'
- }
- function z(C, B) {
- return "</a>"
- }
- function y(C, B) {
- return "</div>"
- }
- function x(G, F) {
- var B = "",
- D, E, C;
- B += '<p class="badge-link__rating-wrap" title="';
- D = (E = q.lp || (G && G.lp), C = {
- hash: {},
- data: F
- }, E ? E.call(G, "homepage ATB social proof", "Average rating: %s out of 5", (G && G.extRating), C) : p.call(G, "lp", "homepage ATB social proof", "Average rating: %s out of 5", (G && G.extRating), C));
- if (D || D === 0) {
- B += D
- }
- B += '"><span class="badge-link__rating__star">★</span><span class="badge-link__rating__star">★</span><span class="badge-link__rating__star">★</span><span class="badge-link__rating__star">★</span><span class="badge-link__rating__star--empty ';
- D = q["if"].call(G, (G && G.halfStar), {
- hash: {},
- inverse: o.program(17, u, F),
- fn: o.program(15, v, F),
- data: F
- });
- if (D || D === 0) {
- B += D
- }
- B += '">★</span><span> ';
- D = (E = q.lp || (G && G.lp), C = {
- hash: {},
- data: F
- }, E ? E.call(G, "homepage ATB social proof", "%s%s%s reviews", "<b>", (G && G.extReviewCount), "</b>", C) : p.call(G, "lp", "homepage ATB social proof", "%s%s%s reviews", "<b>", (G && G.extReviewCount), "</b>", C));
- if (D || D === 0) {
- B += D
- }
- B += "</span></p>";
- return B
- }
- function v(C, B) {
- return "badge-link__rating__star--half"
- }
- function u(C, B) {
- return "badge-link__rating__star--third"
- }
- function t(G, F) {
- var B = "",
- D, E, C;
- B += '<div class="content-info" lang="';
- if (E = q.shortLocale) {
- D = E.call(G, {
- hash: {},
- data: F
- })
- } else {
- E = (G && G.shortLocale);
- D = typeof E === c ? E.call(G, {
- hash: {},
- data: F
- }) : E
- }
- B += b(D) + '"><div class="content-info__title">';
- D = (E = q.l || (G && G.l), C = {
- hash: {},
- data: F
- }, E ? E.call(G, "How it Works", C) : p.call(G, "l", "How it Works", C));
- if (D || D === 0) {
- B += D
- }
- B += '</div><div class="content-info__items"><div class="content-info__items-wrap"><div class="content-info__item"><img class="content-info__item__icon"src="/assets/home/landing/icons/box.svg" alt="" width="110" height="100" loading="lazy"><div class="content-info__item__title">';
- D = (E = q.l || (G && G.l), C = {
- hash: {},
- data: F
- }, E ? E.call(G, "Add to %s", (G && G.displayBrowserName), C) : p.call(G, "l", "Add to %s", (G && G.displayBrowserName), C));
- if (D || D === 0) {
- B += D
- }
- B += '</div><div class="content-info__item__subtitle">';
- D = (E = q.l || (G && G.l), C = {
- hash: {},
- data: F
- }, E ? E.call(G, "Just a few clicks to install, and you're ready to go. It's that easy.", C) : p.call(G, "l", "Just a few clicks to install, and you're ready to go. It's that easy.", C));
- if (D || D === 0) {
- B += D
- }
- B += '</div></div><div class="content-info__item"><img class="content-info__item__icon" src="/assets/home/landing/icons/browser.svg" alt="" width="110" height="100" loading="lazy"><div class="content-info__item__title">';
- D = (E = q.l || (G && G.l), C = {
- hash: {},
- data: F
- }, E ? E.call(G, "Browse as Usual", C) : p.call(G, "l", "Browse as Usual", C));
- if (D || D === 0) {
- B += D
- }
- B += '</div><div class="content-info__item__subtitle">';
- D = (E = q.l || (G && G.l), C = {
- hash: {},
- data: F
- }, E ? E.call(G, "We'll block hidden trackers and encrypt connections to keep you more private.", C) : p.call(G, "l", "We'll block hidden trackers and encrypt connections to keep you more private.", C));
- if (D || D === 0) {
- B += D
- }
- B += '</div></div><div class="content-info__item"><img class="content-info__item__icon" src="/assets/home/landing/icons/shield.svg" alt="" width="110" height="100" loading="lazy"><div class="content-info__item__title">';
- D = (E = q.l || (G && G.l), C = {
- hash: {},
- data: F
- }, E ? E.call(G, "Enjoy Peace of Mind", C) : p.call(G, "l", "Enjoy Peace of Mind", C));
- if (D || D === 0) {
- B += D
- }
- B += '</div><div class="content-info__item__subtitle">';
- D = (E = q.l || (G && G.l), C = {
- hash: {},
- data: F
- }, E ? E.call(G, "DuckDuckGo Privacy Essentials protects your privacy, wherever the Internet takes you.", C) : p.call(G, "l", "DuckDuckGo Privacy Essentials protects your privacy, wherever the Internet takes you.", C));
- if (D || D === 0) {
- B += D
- }
- B += "</div></div></div></div></div>";
- return B
- }
- r += '<div class="badge-link badge-link--full js-badge-link" lang="';
- if (a = q.shortLocale) {
- h = a.call(s, {
- hash: {},
- data: A
- })
- } else {
- a = (s && s.shortLocale);
- h = typeof a === c ? a.call(s, {
- hash: {},
- data: A
- }) : a
- }
- r += b(h) + '"><div class="badge-link__wrap js-badge-main-msg"><div class="badge-link__content"><h1 class="badge-link__title">';
- h = (a = q.l || (s && s.l), e = {
- hash: {},
- data: A
- }, a ? a.call(s, "Privacy, simplified.", e) : p.call(s, "l", "Privacy, simplified.", e));
- if (h || h === 0) {
- r += h
- }
- r += "</h1>";
- h = q["if"].call(s, (s && s.canInstall), {
- hash: {},
- inverse: o.program(3, m, A),
- fn: o.program(1, n, A),
- data: A
- });
- if (h || h === 0) {
- r += h
- }
- h = q["if"].call(s, (s && s.url), {
- hash: {},
- inverse: o.program(8, g, A),
- fn: o.program(5, j, A),
- data: A
- });
- if (h || h === 0) {
- r += h
- }
- r += '<span class="badge-link__btn btn btn--primary js-badge-link-button">';
- h = (a = q.l || (s && s.l), e = {
- hash: {},
- data: A
- }, a ? a.call(s, "Add DuckDuckGo to %s", (s && s.displayBrowserName), e) : p.call(s, "l", "Add DuckDuckGo to %s", (s && s.displayBrowserName), e));
- if (h || h === 0) {
- r += h
- }
- r += "</span>";
- h = q["if"].call(s, (s && s.url), {
- hash: {},
- inverse: o.program(12, y, A),
- fn: o.program(10, z, A),
- data: A
- });
- if (h || h === 0) {
- r += h
- }
- r += '<div class="badge-link__rating"><p>';
- h = (a = q.lp || (s && s.lp), e = {
- hash: {},
- data: A
- }, a ? a.call(s, "homepage ATB social proof", "Trusted by %smillions%s worldwide", "<b>", "</b>", e) : p.call(s, "lp", "homepage ATB social proof", "Trusted by %smillions%s worldwide", "<b>", "</b>", e));
- if (h || h === 0) {
- r += h
- }
- r += "</p>";
- h = q["if"].call(s, (s && s.canInstall), {
- hash: {},
- inverse: o.noop,
- fn: o.program(14, x, A),
- data: A
- });
- if (h || h === 0) {
- r += h
- }
- r += '</div></div></div><img src="/assets/home/landing/background.svg" class="badge-link__img" loading="lazy" width="1054" height="398"><img src="/assets/home/landing/background-small.svg" class="badge-link__img badge-link__img--small" loading="lazy" width="921" height="509"><img src="/assets/home/landing/background-dark.svg" class="badge-link__img badge-link__img--dark" loading="lazy" width="1054" height="399"><img src="/assets/home/landing/background-small-dark.svg" class="badge-link__img badge-link__img--small--dark" loading="lazy" width="921" height="509"></div>';
- h = q["if"].call(s, (s && s.canInstall), {
- hash: {},
- inverse: o.noop,
- fn: o.program(19, t, A),
- data: A
- });
- if (h || h === 0) {
- r += h
- }
- return r
- });
- this["DDG"]["templates"]["add_to_browser_fullbleed_billboard_v2"] = Handlebars.template(function(G, a, F, r, N) {
- this.compilerInfo = [4, ">= 1.0.0"];
- F = this.merge(F, G.helpers);
- N = N || {};
- var m = "",
- t, j, o, E = F.helperMissing,
- f = this,
- k = "function",
- K = this.escapeExpression;
- function D(P, O) {
- return "badge-link--set-as-default"
- }
- function C(T, S) {
- var O = "",
- Q, R, P;
- O += '<p class="badge-link__subtitle">';
- Q = F["if"].call(T, (T && T.isCppExp), {
- hash: {},
- inverse: f.program(6, z, S),
- fn: f.program(4, B, S),
- data: S
- });
- if (Q || Q === 0) {
- O += Q
- }
- O += '</p><ol class="badge-link__bullets"><li class="badge-link__bullet"><svg class="check badge-link__bullet-check" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="8" cy="8" r="8" fill="#678FFF"/><path fill-rule="evenodd" clip-rule="evenodd" d="M4.45723 7.54277C4.0667 7.9333 4.0667 8.56646 4.45723 8.95698L5.88758 10.3873L5.88747 10.3875L6.5432 11.0432C6.95322 11.4532 7.62489 11.4297 8.00519 10.992L11.8251 6.59531C12.1687 6.19989 12.1479 5.60609 11.7775 5.23569C11.3684 4.82668 10.6984 4.85016 10.3191 5.28681L7.20253 8.87386L5.87144 7.54277C5.48092 7.15225 4.84775 7.15225 4.45723 7.54277Z" fill="white"/></svg><span>';
- Q = (R = F.l || (T && T.l), P = {
- hash: {},
- data: S
- }, R ? R.call(T, "private search", P) : E.call(T, "l", "private search", P));
- if (Q || Q === 0) {
- O += Q
- }
- O += '</span></li><li class="badge-link__bullet"><svg class="check badge-link__bullet-check" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="8" cy="8" r="8" fill="#678FFF"/><path fill-rule="evenodd" clip-rule="evenodd" d="M4.45723 7.54277C4.0667 7.9333 4.0667 8.56646 4.45723 8.95698L5.88758 10.3873L5.88747 10.3875L6.5432 11.0432C6.95322 11.4532 7.62489 11.4297 8.00519 10.992L11.8251 6.59531C12.1687 6.19989 12.1479 5.60609 11.7775 5.23569C11.3684 4.82668 10.6984 4.85016 10.3191 5.28681L7.20253 8.87386L5.87144 7.54277C5.48092 7.15225 4.84775 7.15225 4.45723 7.54277Z" fill="white"/></svg><span>';
- Q = (R = F.l || (T && T.l), P = {
- hash: {},
- data: S
- }, R ? R.call(T, "tracker blocking", P) : E.call(T, "l", "tracker blocking", P));
- if (Q || Q === 0) {
- O += Q
- }
- O += '</span></li><li class="badge-link__bullet"><svg class="check badge-link__bullet-check" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="8" cy="8" r="8" fill="#678FFF"/><path fill-rule="evenodd" clip-rule="evenodd" d="M4.45723 7.54277C4.0667 7.9333 4.0667 8.56646 4.45723 8.95698L5.88758 10.3873L5.88747 10.3875L6.5432 11.0432C6.95322 11.4532 7.62489 11.4297 8.00519 10.992L11.8251 6.59531C12.1687 6.19989 12.1479 5.60609 11.7775 5.23569C11.3684 4.82668 10.6984 4.85016 10.3191 5.28681L7.20253 8.87386L5.87144 7.54277C5.48092 7.15225 4.84775 7.15225 4.45723 7.54277Z" fill="white"/></svg><span>';
- Q = (R = F.l || (T && T.l), P = {
- hash: {},
- data: S
- }, R ? R.call(T, "site encryption", P) : E.call(T, "l", "site encryption", P));
- if (Q || Q === 0) {
- O += Q
- }
- O += "</span></li></ol>";
- return O
- }
- function B(P, O) {
- return "Get seamless privacy protection on all your devices for free."
- }
- function z(S, R) {
- var P, Q, O;
- P = (Q = F.l || (S && S.l), O = {
- hash: {},
- data: R
- }, Q ? Q.call(S, "Get seamless privacy protection on your browser for free with one download:", O) : E.call(S, "l", "Get seamless privacy protection on your browser for free with one download:", O));
- if (P || P === 0) {
- return P
- } else {
- return ""
- }
- }
- function v(T, S) {
- var O = "",
- Q, R, P;
- O += '<p class="badge-link__subtitle">';
- Q = (R = F.l || (T && T.l), P = {
- hash: {},
- data: S
- }, R ? R.call(T, "We don't store your personal info. We don't follow you around with ads. We don't track you. Ever.", P) : E.call(T, "l", "We don't store your personal info. We don't follow you around with ads. We don't track you. Ever.", P));
- if (Q || Q === 0) {
- O += Q
- }
- O += "</p>";
- return O
- }
- function y(R, Q) {
- var O = "",
- P;
- O += '<div class="badge-link__btn-wrap"><span class="badge-link__btn btn btn--primary js-badge-link-button js-cta-state-cpp">';
- P = F["if"].call(R, (R && R.resumeInstall), {
- hash: {},
- inverse: f.program(13, u, Q),
- fn: f.program(11, x, Q),
- data: Q
- });
- if (P || P === 0) {
- O += P
- }
- O += "</span></div>";
- return O
- }
- function x(P, O) {
- return "Resume Privacy Setup"
- }
- function u(P, O) {
- return "Get Started"
- }
- function s(T, S) {
- var O = "",
- Q, R, P;
- Q = F["if"].call(T, (T && T.url), {
- hash: {},
- inverse: f.program(19, n, S),
- fn: f.program(16, q, S),
- data: S
- });
- if (Q || Q === 0) {
- O += Q
- }
- O += '<span class="badge-link__btn btn btn--primary js-badge-link-button">';
- Q = (R = F.l || (T && T.l), P = {
- hash: {},
- data: S
- }, R ? R.call(T, "Add DuckDuckGo to %s", (T && T.displayBrowserName), P) : E.call(T, "l", "Add DuckDuckGo to %s", (T && T.displayBrowserName), P));
- if (Q || Q === 0) {
- O += Q
- }
- O += "</span>";
- Q = F["if"].call(T, (T && T.url), {
- hash: {},
- inverse: f.program(23, h, S),
- fn: f.program(21, i, S),
- data: S
- });
- if (Q || Q === 0) {
- O += Q
- }
- return O
- }
- function q(S, R) {
- var O = "",
- P, Q;
- O += '<a class="badge-link__btn-wrap" href="';
- if (Q = F.url) {
- P = Q.call(S, {
- hash: {},
- data: R
- })
- } else {
- Q = (S && S.url);
- P = typeof Q === k ? Q.call(S, {
- hash: {},
- data: R
- }) : Q
- }
- O += K(P) + '" ';
- P = F["if"].call(S, (S && S.openInNewTab), {
- hash: {},
- inverse: f.noop,
- fn: f.program(17, p, R),
- data: R
- });
- if (P || P === 0) {
- O += P
- }
- O += ">";
- return O
- }
- function p(P, O) {
- return 'target="_blank"'
- }
- function n(P, O) {
- return '<div class="badge-link__btn-wrap">'
- }
- function i(P, O) {
- return "</a>"
- }
- function h(P, O) {
- return "</div>"
- }
- function g(T, S) {
- var O = "",
- Q, R, P;
- O += '<a href="';
- if (R = F.reviewsUrl) {
- Q = R.call(T, {
- hash: {},
- data: S
- })
- } else {
- R = (T && T.reviewsUrl);
- Q = typeof R === k ? R.call(T, {
- hash: {},
- data: S
- }) : R
- }
- O += K(Q) + '" target="_blank" class="badge-link__rating" title="';
- Q = (R = F.lp || (T && T.lp), P = {
- hash: {},
- data: S
- }, R ? R.call(T, "homepage ATB social proof", "Average rating: %s out of 5", (T && T.extRating), P) : E.call(T, "lp", "homepage ATB social proof", "Average rating: %s out of 5", (T && T.extRating), P));
- if (Q || Q === 0) {
- O += Q
- }
- O += '">';
- Q = F["if"].call(T, (T && T.canInstall), {
- hash: {},
- inverse: f.noop,
- fn: f.program(26, e, S),
- data: S
- });
- if (Q || Q === 0) {
- O += Q
- }
- O += "</a>";
- return O
- }
- function e(T, S) {
- var O = "",
- Q, R, P;
- O += '<p class="badge-link__rating-wrap"><span class="badge-link__rating__star">★</span><span class="badge-link__rating__star">★</span><span class="badge-link__rating__star">★</span><span class="badge-link__rating__star">★</span><span class="badge-link__rating__star--empty ';
- Q = F["if"].call(T, (T && T.halfStar), {
- hash: {},
- inverse: f.program(29, b, S),
- fn: f.program(27, c, S),
- data: S
- });
- if (Q || Q === 0) {
- O += Q
- }
- O += '">★</span></p><span>';
- Q = (R = F.l || (T && T.l), P = {
- hash: {},
- data: S
- }, R ? R.call(T, "Rated %s/5", (T && T.extRating), P) : E.call(T, "l", "Rated %s/5", (T && T.extRating), P));
- if (Q || Q === 0) {
- O += Q
- }
- O += "</span>";
- return O
- }
- function c(P, O) {
- return "badge-link__rating__star--half"
- }
- function b(P, O) {
- return "badge-link__rating__star--third"
- }
- function M(P, O) {
- return "hide-curve"
- }
- function L(S, R) {
- var P, Q, O;
- P = (Q = F.l || (S && S.l), O = {
- hash: {},
- data: R
- }, Q ? Q.call(S, "Privacy for %s", (S && S.displayBrowserName), O) : E.call(S, "l", "Privacy for %s", (S && S.displayBrowserName), O));
- if (P || P === 0) {
- return P
- } else {
- return ""
- }
- }
- function J(S, R) {
- var P, Q, O;
- P = (Q = F.l || (S && S.l), O = {
- hash: {},
- data: R
- }, Q ? Q.call(S, "Privacy Browser Extension", O) : E.call(S, "l", "Privacy Browser Extension", O));
- if (P || P === 0) {
- return P
- } else {
- return ""
- }
- }
- function I(S, R) {
- var P, Q, O;
- P = (Q = F.l || (S && S.l), O = {
- hash: {},
- data: R
- }, Q ? Q.call(S, "Browse as usual, and we'll take care of the rest. We bundled our search engine, tracker blocker, and encryption enforcer into one %s%s Extension%s.", '<a href="https://duckduckgo.com/app" target="_blank" class="js-atb-tile-link content-info__item__link" data-id="ext">', (S && S.displayBrowserName), "</a>", O) : E.call(S, "l", "Browse as usual, and we'll take care of the rest. We bundled our search engine, tracker blocker, and encryption enforcer into one %s%s Extension%s.", '<a href="https://duckduckgo.com/app" target="_blank" class="js-atb-tile-link content-info__item__link" data-id="ext">', (S && S.displayBrowserName), "</a>", O));
- if (P || P === 0) {
- return P
- } else {
- return ""
- }
- }
- function H(S, R) {
- var P, Q, O;
- P = (Q = F.l || (S && S.l), O = {
- hash: {},
- data: R
- }, Q ? Q.call(S, "Browse as usual, and we’ll take care of the rest. Get bundled private search, tracker blocking, and site encryption, all in one download, for %smajor browsers%s.", '<a href="https://duckduckgo.com/app" target="_blank" class="js-atb-tile-link content-info__item__link" data-id="ext">', "</a>", O) : E.call(S, "l", "Browse as usual, and we’ll take care of the rest. Get bundled private search, tracker blocking, and site encryption, all in one download, for %smajor browsers%s.", '<a href="https://duckduckgo.com/app" target="_blank" class="js-atb-tile-link content-info__item__link" data-id="ext">', "</a>", O));
- if (P || P === 0) {
- return P
- } else {
- return ""
- }
- }
- function A(P, O) {
- return '<!-- Background Curve --><svg class="content-info__curve" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1438 134"><path d="M1438 1442H0V31.001S438.105 0 719 .001c280.896 0 719 31 719 31V1442z" fill="currentColor"/></svg>'
- }
- m += '<div class="badge-link badge-link--full ';
- t = F.unless.call(a, (a && a.canInstall), {
- hash: {},
- inverse: f.noop,
- fn: f.program(1, D, N),
- data: N
- });
- if (t || t === 0) {
- m += t
- }
- m += ' js-badge-link" lang="';
- if (j = F.shortLocale) {
- t = j.call(a, {
- hash: {},
- data: N
- })
- } else {
- j = (a && a.shortLocale);
- t = typeof j === k ? j.call(a, {
- hash: {},
- data: N
- }) : j
- }
- m += K(t) + '"><div class="badge-link__wrap js-badge-main-msg"><div class="badge-link__content"><h1 class="badge-link__title">';
- t = (j = F.l || (a && a.l), o = {
- hash: {},
- data: N
- }, j ? j.call(a, "Tired of being tracked online? %sWe can help.%s", "<span>", "</span>", o) : E.call(a, "l", "Tired of being tracked online? %sWe can help.%s", "<span>", "</span>", o));
- if (t || t === 0) {
- m += t
- }
- m += "</h1>";
- t = F["if"].call(a, (a && a.canInstall), {
- hash: {},
- inverse: f.program(8, v, N),
- fn: f.program(3, C, N),
- data: N
- });
- if (t || t === 0) {
- m += t
- }
- t = F["if"].call(a, (a && a.isCppExp), {
- hash: {},
- inverse: f.program(15, s, N),
- fn: f.program(10, y, N),
- data: N
- });
- if (t || t === 0) {
- m += t
- }
- t = F.unless.call(a, (a && a.isCppExp), {
- hash: {},
- inverse: f.noop,
- fn: f.program(25, g, N),
- data: N
- });
- if (t || t === 0) {
- m += t
- }
- m += '</div></div></div><div class="content-info" lang="';
- if (j = F.shortLocale) {
- t = j.call(a, {
- hash: {},
- data: N
- })
- } else {
- j = (a && a.shortLocale);
- t = typeof j === k ? j.call(a, {
- hash: {},
- data: N
- }) : j
- }
- m += K(t) + '"><div class="content-info__title">';
- t = (j = F.l || (a && a.l), o = {
- hash: {},
- data: N
- }, j ? j.call(a, "Privacy Protection For Any Device", o) : E.call(a, "l", "Privacy Protection For Any Device", o));
- if (t || t === 0) {
- m += t
- }
- m += '</div><div class="content-info__items ';
- t = F["if"].call(a, (a && a.hideCurve), {
- hash: {},
- inverse: f.noop,
- fn: f.program(31, M, N),
- data: N
- });
- if (t || t === 0) {
- m += t
- }
- m += '"><div class="content-info__items-wrap"><div class="content-info__item"><img class="content-info__item__icon"src="/assets/add-to-browser/cppm/laptop.svg" alt="a laptop with a lock on the screen and a red bird standing on it"><div class="content-info__item__title">';
- t = F["if"].call(a, (a && a.canInstall), {
- hash: {},
- inverse: f.program(35, J, N),
- fn: f.program(33, L, N),
- data: N
- });
- if (t || t === 0) {
- m += t
- }
- m += '</div><div class="content-info__item__subtitle">';
- t = F["if"].call(a, (a && a.canInstall), {
- hash: {},
- inverse: f.program(39, H, N),
- fn: f.program(37, I, N),
- data: N
- });
- if (t || t === 0) {
- m += t
- }
- m += '</div></div><div class="content-info__item"><img class="content-info__item__icon" src="/assets/home/landing/icons/search.svg" alt="purple magnifying glass with a gold lock in the middle"><div class="content-info__item__title">';
- t = (j = F.l || (a && a.l), o = {
- hash: {},
- data: N
- }, j ? j.call(a, "Private Search Engine", o) : E.call(a, "l", "Private Search Engine", o));
- if (t || t === 0) {
- m += t
- }
- m += '</div><div class="content-info__item__subtitle">';
- t = (j = F.l || (a && a.l), o = {
- hash: {},
- data: N
- }, j ? j.call(a, "Search privately with our app or extension, add private web search to your favorite browser, or search directly at %sduckduckgo.com%s.", '<span class="content-info__item__link js-atb-tile-link js-scroll-top" data-id="st">', "</span>", o) : E.call(a, "l", "Search privately with our app or extension, add private web search to your favorite browser, or search directly at %sduckduckgo.com%s.", '<span class="content-info__item__link js-atb-tile-link js-scroll-top" data-id="st">', "</span>", o));
- if (t || t === 0) {
- m += t
- }
- m += '</div></div><div class="content-info__item"><img class="content-info__item__icon" src="/assets/add-to-browser/cppm/mobile.svg" alt="a mobile phone with a lock on the screen"><div class="content-info__item__title">';
- t = (j = F.l || (a && a.l), o = {
- hash: {},
- data: N
- }, j ? j.call(a, "Privacy Browser App", o) : E.call(a, "l", "Privacy Browser App", o));
- if (t || t === 0) {
- m += t
- }
- m += '</div><div class="content-info__item__subtitle">';
- t = (j = F.l || (a && a.l), o = {
- hash: {},
- data: N
- }, j ? j.call(a, "Our private browser for mobile comes equipped with our search engine, tracker blocker, encryption enforcer, and more. Available on %siOS & Android%s.", '<a href="https://duckduckgo.com/app" target="_blank" class="content-info__item__link js-atb-tile-link" data-id="app">', "</a>", o) : E.call(a, "l", "Our private browser for mobile comes equipped with our search engine, tracker blocker, encryption enforcer, and more. Available on %siOS & Android%s.", '<a href="https://duckduckgo.com/app" target="_blank" class="content-info__item__link js-atb-tile-link" data-id="app">', "</a>", o));
- if (t || t === 0) {
- m += t
- }
- m += "</div></div></div>";
- t = F.unless.call(a, (a && a.hideCurve), {
- hash: {},
- inverse: f.noop,
- fn: f.program(41, A, N),
- data: N
- });
- if (t || t === 0) {
- m += t
- }
- m += "</div></div>";
- return m
- });
- this["DDG"]["templates"]["add_to_browser_modal"] = Handlebars.template(function(e, r, p, i, t) {
- this.compilerInfo = [4, ">= 1.0.0"];
- p = this.merge(p, e.helpers);
- t = t || {};
- var q = "",
- f, o = p.helperMissing,
- b = "function",
- n = this,
- a = this.escapeExpression;
- function m(A, z) {
- var u = "",
- x, y, v;
- u += '<div class="js-add-to-browser-search"><h1 class="add-to-browser__title">';
- x = (y = p.l || (A && A.l), v = {
- hash: {},
- data: z
- }, y ? y.call(A, "Set as Default Search Engine", v) : o.call(A, "l", "Set as Default Search Engine", v));
- if (x || x === 0) {
- u += x
- }
- u += "</h1>";
- if (y = p.useForSearch) {
- x = y.call(A, {
- hash: {},
- data: z
- })
- } else {
- y = (A && A.useForSearch);
- x = typeof y === b ? y.call(A, {
- hash: {},
- data: z
- }) : y
- }
- if (x || x === 0) {
- u += x
- }
- u += "</div>";
- return u
- }
- function k(A, z) {
- var u = "",
- x, y, v;
- u += '<div class="';
- x = p["if"].call(A, (A && A.hasToggle), {
- hash: {},
- inverse: n.noop,
- fn: n.program(4, j, z),
- data: z
- });
- if (x || x === 0) {
- u += x
- }
- u += ' js-add-to-browser-homepage"><h1 class="add-to-browser__title">';
- x = (y = p.l || (A && A.l), v = {
- hash: {},
- data: z
- }, y ? y.call(A, "Set as Homepage", v) : o.call(A, "l", "Set as Homepage", v));
- if (x || x === 0) {
- u += x
- }
- u += "</h1>";
- if (y = p.setAsHomepage) {
- x = y.call(A, {
- hash: {},
- data: z
- })
- } else {
- y = (A && A.setAsHomepage);
- x = typeof y === b ? y.call(A, {
- hash: {},
- data: z
- }) : y
- }
- if (x || x === 0) {
- u += x
- }
- u += "</div>";
- return u
- }
- function j(v, u) {
- return "is-hidden"
- }
- function h(y, x) {
- var u = "",
- v;
- u += '<div class="add-to-browser__footer">';
- v = p["if"].call(y, (y && y.hasToggle), {
- hash: {},
- inverse: n.noop,
- fn: n.program(7, g, x),
- data: x
- });
- if (v || v === 0) {
- u += v
- }
- v = p["if"].call(y, (y && y.moreURL), {
- hash: {},
- inverse: n.noop,
- fn: n.program(9, c, x),
- data: x
- });
- if (v || v === 0) {
- u += v
- }
- u += "</div>";
- return u
- }
- function g(A, z) {
- var u = "",
- x, y, v;
- u += '<a class="add-to-browser__toggle-search is-hidden js-add-to-browser-search-link" href="#">';
- x = (y = p.l || (A && A.l), v = {
- hash: {},
- data: z
- }, y ? y.call(A, "Set as Default Search Engine", v) : o.call(A, "l", "Set as Default Search Engine", v));
- if (x || x === 0) {
- u += x
- }
- u += '</a><a class="add-to-browser__toggle-homepage js-add-to-browser-homepage-link" href="#">';
- x = (y = p.l || (A && A.l), v = {
- hash: {},
- data: z
- }, y ? y.call(A, "Set as Homepage", v) : o.call(A, "l", "Set as Homepage", v));
- if (x || x === 0) {
- u += x
- }
- u += "</a>";
- return u
- }
- function c(A, z) {
- var u = "",
- x, y, v;
- x = p["if"].call(A, (A && A.hasToggle), {
- hash: {},
- inverse: n.noop,
- fn: n.program(10, s, z),
- data: z
- });
- if (x || x === 0) {
- u += x
- }
- u += '<a class="add-to-browser__more" href="';
- if (y = p.moreURL) {
- x = y.call(A, {
- hash: {},
- data: z
- })
- } else {
- y = (A && A.moreURL);
- x = typeof y === b ? y.call(A, {
- hash: {},
- data: z
- }) : y
- }
- u += a(x) + '" target="_blank">';
- x = (y = p.l || (A && A.l), v = {
- hash: {},
- data: z
- }, y ? y.call(A, "Extensions & More", v) : o.call(A, "l", "Extensions & More", v));
- if (x || x === 0) {
- u += x
- }
- u += "</a>";
- return u
- }
- function s(v, u) {
- return '<span class="sep"></span>'
- }
- q += '<div class="modal modal--popover modal--popover--gray"><a href="#" class="modal__overlay js-modal-close"></a><div class="modal__wrap"><div class="modal__box modal__box--add-to-browser">';
- f = p["if"].call(r, (r && r.useForSearch), {
- hash: {},
- inverse: n.noop,
- fn: n.program(1, m, t),
- data: t
- });
- if (f || f === 0) {
- q += f
- }
- f = p["if"].call(r, (r && r.setAsHomepage), {
- hash: {},
- inverse: n.noop,
- fn: n.program(3, k, t),
- data: t
- });
- if (f || f === 0) {
- q += f
- }
- f = p["if"].call(r, (r && r.hasFooter), {
- hash: {},
- inverse: n.noop,
- fn: n.program(6, h, t),
- data: t
- });
- if (f || f === 0) {
- q += f
- }
- q += '<a href="#" class="modal__close js-modal-close">X</a></div></div></div>';
- return q
- });
- this["DDG"]["templates"]["add_to_browser_modal_blurred"] = Handlebars.template(function(c, j, b, i, h) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- h = h || {};
- var g = "",
- a, e, f = "function";
- g += '<div class="add-to-browser--blurred">';
- if (e = b.content) {
- a = e.call(j, {
- hash: {},
- data: h
- })
- } else {
- e = (j && j.content);
- a = typeof e === f ? e.call(j, {
- hash: {},
- data: h
- }) : e
- }
- if (a || a === 0) {
- g += a
- }
- g += "</div>";
- return g
- });
- this["DDG"]["templates"]["add_to_browser_modal_blurred_dark"] = Handlebars.template(function(c, j, b, i, h) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- h = h || {};
- var g = "",
- a, e, f = "function";
- g += '<div class="add-to-browser--blurred-dark">';
- if (e = b.content) {
- a = e.call(j, {
- hash: {},
- data: h
- })
- } else {
- e = (j && j.content);
- a = typeof e === f ? e.call(j, {
- hash: {},
- data: h
- }) : e
- }
- if (a || a === 0) {
- g += a
- }
- g += "</div>";
- return g
- });
- this["DDG"]["templates"]["autocomplete"] = Handlebars.template(function(c, j, b, h, g) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- g = g || {};
- var f = "",
- a, e, k, i = b.helperMissing;
- f += '<div class="search__autocomplete"><div class="acp-wrap js-acp-wrap"></div><div class="acp-footer is-hidden js-acp-footer"><span class="acp-footer__instructions">';
- a = (e = b.l || (j && j.l), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "Shortcuts to other sites to search off DuckDuckGo", k) : i.call(j, "l", "Shortcuts to other sites to search off DuckDuckGo", k));
- if (a || a === 0) {
- f += a
- }
- f += '</span><span class="acp-footer__link"><a class="no-visited js-acp-footer-link" href=\'/bang\'>';
- a = (e = b.l || (j && j.l), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "Learn %sMore%s", "", "", k) : i.call(j, "l", "Learn %sMore%s", "", "", k));
- if (a || a === 0) {
- f += a
- }
- f += "</a></span></div></div>";
- return f
- });
- this["DDG"]["templates"]["autocomplete_bang_item"] = Handlebars.template(function(f, o, e, m, k) {
- this.compilerInfo = [4, ">= 1.0.0"];
- e = this.merge(e, f.helpers);
- k = k || {};
- var i = "",
- b, g, n = e.helperMissing,
- j = this.escapeExpression,
- h = "function",
- q = this;
- function c(s, r) {
- return "acp--long-phrase"
- }
- function a(v, u) {
- var r = "",
- t, s;
- r += '<div class="acp--bang__img-wrap"><img src="' + j((t = e.imageProxy || (v && v.imageProxy), s = {
- hash: {},
- data: u
- }, t ? t.call(v, (v && v.image), s) : n.call(v, "imageProxy", (v && v.image), s))) + '" class="acp--bang__img" alt="" /></div>';
- return r
- }
- function p(v, u) {
- var r = "",
- s, t;
- r += '<span class="acp--bang__snippet">';
- if (t = e.snippet) {
- s = t.call(v, {
- hash: {},
- data: u
- })
- } else {
- t = (v && v.snippet);
- s = typeof t === h ? t.call(v, {
- hash: {},
- data: u
- }) : t
- }
- r += j(s) + "</span>";
- return r
- }
- i += '<div class="acp acp--bang ';
- b = e["if"].call(o, (o && o.longPhrase), {
- hash: {},
- inverse: q.noop,
- fn: q.program(1, c, k),
- data: k
- });
- if (b || b === 0) {
- i += b
- }
- i += '" data-index="';
- if (g = e.i) {
- b = g.call(o, {
- hash: {},
- data: k
- })
- } else {
- g = (o && o.i);
- b = typeof g === h ? g.call(o, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + '">';
- b = e["if"].call(o, (o && o.image), {
- hash: {},
- inverse: q.noop,
- fn: q.program(3, a, k),
- data: k
- });
- if (b || b === 0) {
- i += b
- }
- i += '<div class="acp--bang__body"><span class="acp--bang__phrase">';
- if (g = e.phrase) {
- b = g.call(o, {
- hash: {},
- data: k
- })
- } else {
- g = (o && o.phrase);
- b = typeof g === h ? g.call(o, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + "</span>";
- b = e["if"].call(o, (o && o.snippet), {
- hash: {},
- inverse: q.noop,
- fn: q.program(5, p, k),
- data: k
- });
- if (b || b === 0) {
- i += b
- }
- i += "</div></div>";
- return i
- });
- this["DDG"]["templates"]["autocomplete_bang_layout"] = Handlebars.template(function(e, f, b, a, c) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, e.helpers);
- c = c || {};
- return '<div class="acp-wrap__column acp-wrap__column--left"></div><div class="acp-wrap__column acp-wrap__column--right"></div>'
- });
- this["DDG"]["templates"]["autocomplete_text_item"] = Handlebars.template(function(e, m, c, k, j) {
- this.compilerInfo = [4, ">= 1.0.0"];
- c = this.merge(c, e.helpers);
- j = j || {};
- var h = "",
- a, f, g = "function",
- i = this.escapeExpression,
- n = this;
- function b(p, o) {
- return '<a href="#" class="acp__search-fill ddgsi js-search-fill">↖</a>'
- }
- h += '<div class="acp" data-index="';
- if (f = c.i) {
- a = f.call(m, {
- hash: {},
- data: j
- })
- } else {
- f = (m && m.i);
- a = typeof f === g ? f.call(m, {
- hash: {},
- data: j
- }) : f
- }
- h += i(a) + '">';
- if (f = c.phrase) {
- a = f.call(m, {
- hash: {},
- data: j
- })
- } else {
- f = (m && m.phrase);
- a = typeof f === g ? f.call(m, {
- hash: {},
- data: j
- }) : f
- }
- if (a || a === 0) {
- h += a
- }
- a = c["if"].call(m, (m && m.searchFillArrow), {
- hash: {},
- inverse: n.noop,
- fn: n.program(1, b, j),
- data: j
- });
- if (a || a === 0) {
- h += a
- }
- h += "</div>";
- return h
- });
- this["DDG"]["templates"]["autocomplete_text_item_two_rows"] = Handlebars.template(function(c, k, b, j, i) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- i = i || {};
- var g = "",
- a, e, f = "function",
- h = this.escapeExpression;
- g += '<div class="acp" data-index="';
- if (e = b.i) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.i);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + '"><div class="acp__phrase t-normal">';
- if (e = b.what) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.what);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- if (a || a === 0) {
- g += a
- }
- g += '</div><div class="acp__detail">';
- if (e = b.where) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.where);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + "</div></div>";
- return g
- });
- this["DDG"]["templates"]["cpp_modal"] = Handlebars.template(function(j, A, y, p, G) {
- this.compilerInfo = [4, ">= 1.0.0"];
- y = this.merge(y, j.helpers);
- G = G || {};
- var z = "",
- k, a, u = this,
- c = "function",
- b = this.escapeExpression;
- function r(I, H) {
- return "Say Hello To Peace of Mind!"
- }
- function q(I, H) {
- return "DuckDuckGo Privacy Setup"
- }
- function o(I, H) {
- return "Whether you’re browsing on desktop or mobile, your online data is now more private by default!"
- }
- function n(I, H) {
- return "Get seamless privacy protection for desktop and mobile to stay private at home and on-the-go."
- }
- function i(I, H) {
- return "done"
- }
- function F(I, H) {
- return "is-expanded"
- }
- function E(J, I) {
- var H = "";
- H += '<button class="btn btn--installed js-cpp-step-1-btn" disabled><img src="/assets/add-to-browser/cpp/check.svg" class="btn__img btn__img--check"><img src="/assets/add-to-browser/cpp/gear.svg" class="btn__img btn__img--gear"><span>Installed</span></button>';
- return H
- }
- function D(J, I) {
- var H;
- H = y["if"].call(J, (J && J.animateOpenStore), {
- hash: {},
- inverse: u.program(18, B, I),
- fn: u.program(16, C, I),
- data: I
- });
- if (H || H === 0) {
- return H
- } else {
- return ""
- }
- }
- function C(J, I) {
- var H = "";
- H += '<button class="btn btn--opening js-cpp-step-1-btn"><img src="/assets/add-to-browser/cpp/check.svg" class="btn__img btn__img--check"><img src="/assets/add-to-browser/cpp/gear.svg" class="btn__img btn__img--gear"><span>Opening Chrome Store</span></button>';
- return H
- }
- function B(J, I) {
- var H = "";
- H += '<button class="btn btn--primary btn--cta js-cpp-step-1-btn"><img src="/assets/add-to-browser/cpp/check.svg" class="btn__img btn__img--check"><img src="/assets/add-to-browser/cpp/gear.svg" class="btn__img btn__img--gear"><span>Install DuckDuckGo</span></button>';
- return H
- }
- function m(J, I) {
- var H;
- H = y["if"].call(J, (J && J.step1Done), {
- hash: {},
- inverse: u.noop,
- fn: u.program(11, F, I),
- data: I
- });
- if (H || H === 0) {
- return H
- } else {
- return ""
- }
- }
- function h(I, H) {
- return "btn--installed"
- }
- function g(I, H) {
- return "btn--primary"
- }
- function f(I, H) {
- return "Installed"
- }
- function e(I, H) {
- return "I Have the App"
- }
- function x(I, H) {
- return "btn--grey"
- }
- function v(I, H) {
- return "Done"
- }
- function t(I, H) {
- return "Resume Later"
- }
- function s(I, H) {
- return "is-hidden"
- }
- z += '<div class="cpp-wrapper js-cpp-wrapper"><div class="cpp"><!-- Close --><img class="cpp__close js-cpp-close" src="/assets/add-to-browser/cpp/close.svg"><header><img src="assets/logo_header.v108.svg" class="cpp__logo"><h1 class="cpp__title js-cpp-title">';
- k = y["if"].call(A, (A && A.step2Done), {
- hash: {},
- inverse: u.program(3, q, G),
- fn: u.program(1, r, G),
- data: G
- });
- if (k || k === 0) {
- z += k
- }
- z += '</h1><p class="cpp__subtitle js-cpp-subtitle">';
- k = y["if"].call(A, (A && A.step2Done), {
- hash: {},
- inverse: u.program(7, n, G),
- fn: u.program(5, o, G),
- data: G
- });
- if (k || k === 0) {
- z += k
- }
- z += '</p></header><ol class="cpp__steps"><!-- STEP 1 --><li class="cpp__step js-cpp-step-1 ';
- k = y["if"].call(A, (A && A.step1Done), {
- hash: {},
- inverse: u.program(11, F, G),
- fn: u.program(9, i, G),
- data: G
- });
- if (k || k === 0) {
- z += k
- }
- z += '"><div class="cpp__step__top"><span class="cpp__step__num">1</span><h2 class="cpp__step__title">Get Protection for ';
- if (a = y.browser) {
- k = a.call(A, {
- hash: {},
- data: G
- })
- } else {
- a = (A && A.browser);
- k = typeof a === c ? a.call(A, {
- hash: {},
- data: G
- }) : a
- }
- z += b(k) + "</h2>";
- k = y["if"].call(A, (A && A.step1Done), {
- hash: {},
- inverse: u.program(15, D, G),
- fn: u.program(13, E, G),
- data: G
- });
- if (k || k === 0) {
- z += k
- }
- z += '</div><div class="cpp__step__bottom"><div class="cpp__instructions"><h3 class="cpp__step__title">Install DuckDuckGo Privacy Essentials</h3><ul class="cpp__instructions__list"><li class="cpp__step__text">The <a href="';
- if (a = y.url) {
- k = a.call(A, {
- hash: {},
- data: G
- })
- } else {
- a = (A && A.url);
- k = typeof a === c ? a.call(A, {
- hash: {},
- data: G
- }) : a
- }
- z += b(k) + '" target="_blank" class="js-cpp-store-link"><b>Chrome Web Store</b></a> will open.</li><li class="cpp__step__text">Click <b>“Add to Chromeâ€</b></li><li class="cpp__step__text">Click <b>“Add Extensionâ€</b></li></ul></div><img class="cpp__img cpp__img--desktop" src="/assets/add-to-browser/cpp/laptop.svg"></div></li><!-- STEP 2 --><li class="cpp__step js-cpp-step-2 ';
- k = y["if"].call(A, (A && A.step2Done), {
- hash: {},
- inverse: u.program(20, m, G),
- fn: u.program(9, i, G),
- data: G
- });
- if (k || k === 0) {
- z += k
- }
- z += '"><div class="cpp__step__top"><span class="cpp__step__num">2</span><h2 class="cpp__step__title">Get Privacy Protection on Mobile</h2><button class="btn ';
- k = y["if"].call(A, (A && A.step2Done), {
- hash: {},
- inverse: u.program(24, g, G),
- fn: u.program(22, h, G),
- data: G
- });
- if (k || k === 0) {
- z += k
- }
- z += ' btn--step2 js-cpp-step-2-btn"><img src="/assets/add-to-browser/cpp/check.svg" class="btn__img btn__img--check"><span>';
- k = y["if"].call(A, (A && A.step2Done), {
- hash: {},
- inverse: u.program(28, e, G),
- fn: u.program(26, f, G),
- data: G
- });
- if (k || k === 0) {
- z += k
- }
- z += '</span></button></div><div class="cpp__step__bottom"><div class="cpp__instructions"><h3 class="cpp__step__title">Install the DuckDuckGo Privacy Browser</h3><ul class="cpp__instructions__list"><li class="cpp__step__text">Visit <a href="https://duck.com/app" target="_blank"><b>duck.com/app</b></a> on your mobile device.</li><li class="cpp__step__text">Install <b>DuckDuckGo Privacy Browser</b>.</li></ul></div><img class="cpp__img cpp__img--mobile" src="/assets/add-to-browser/cpp/mobile.svg"></div></li></ol><button class="cpp__later btn ';
- k = y["if"].call(A, (A && A.step2Done), {
- hash: {},
- inverse: u.program(30, x, G),
- fn: u.program(24, g, G),
- data: G
- });
- if (k || k === 0) {
- z += k
- }
- z += ' js-cpp-later-btn">';
- k = y["if"].call(A, (A && A.step2Done), {
- hash: {},
- inverse: u.program(34, t, G),
- fn: u.program(32, v, G),
- data: G
- });
- if (k || k === 0) {
- z += k
- }
- z += '</button><img class="cpp__img--success ';
- k = y.unless.call(A, (A && A.step2Done), {
- hash: {},
- inverse: u.noop,
- fn: u.program(36, s, G),
- data: G
- });
- if (k || k === 0) {
- z += k
- }
- z += ' js-cpp-success" src="/assets/add-to-browser/cpp/success.svg" alt="image of a happy party"></div></div>';
- return z
- });
- this["DDG"]["templates"]["dropdown"] = Handlebars.template(function(f, n, e, m, k) {
- this.compilerInfo = [4, ">= 1.0.0"];
- e = this.merge(e, f.helpers);
- k = k || {};
- var i = "",
- b, g, h = "function",
- j = this.escapeExpression,
- q = this;
- function c(s, r) {
- return "dropdown--disabled"
- }
- function a(s, r) {
- return "is-active"
- }
- function p(t, s) {
- var r;
- return j(((r = ((r = ((r = (t && t.values)), r == null || r === false ? r : r[0])), r == null || r === false ? r : r.name)), typeof r === h ? r.apply(t) : r))
- }
- function o(u, t) {
- var r, s;
- if (s = e.buttonContent) {
- r = s.call(u, {
- hash: {},
- data: t
- })
- } else {
- s = (u && u.buttonContent);
- r = typeof s === h ? s.call(u, {
- hash: {},
- data: t
- }) : s
- }
- return j(r)
- }
- i += '<div class="dropdown ';
- b = e["if"].call(n, (n && n.disabled), {
- hash: {},
- inverse: q.noop,
- fn: q.program(1, c, k),
- data: k
- });
- if (b || b === 0) {
- i += b
- }
- i += " dropdown--";
- if (g = e.key) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.key);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + " ";
- b = e["if"].call(n, (n && n.isActive), {
- hash: {},
- inverse: q.noop,
- fn: q.program(3, a, k),
- data: k
- });
- if (b || b === 0) {
- i += b
- }
- i += '"><a href="#" class="dropdown__button js-dropdown-button">';
- b = e["if"].call(n, (n && n.showSelected), {
- hash: {},
- inverse: q.program(7, o, k),
- fn: q.program(5, p, k),
- data: k
- });
- if (b || b === 0) {
- i += b
- }
- i += "</a></div>";
- return i
- });
- this["DDG"]["templates"]["dropdown_modal"] = Handlebars.template(function(e, r, p, j, y) {
- this.compilerInfo = [4, ">= 1.0.0"];
- p = this.merge(p, e.helpers);
- y = y || {};
- var q = "",
- g, a, c = "function",
- b = this.escapeExpression,
- o = this;
- function n(B, A) {
- return "modal--popover modal--popover--gray"
- }
- function m(D, C) {
- var A = "",
- B;
- A += "modal--popout ";
- B = p["if"].call(D, (D && D.position), {
- hash: {},
- inverse: o.program(6, i, C),
- fn: o.program(4, k, C),
- data: C
- });
- if (B || B === 0) {
- A += B
- }
- return A
- }
- function k(E, D) {
- var A = "",
- B, C;
- A += "modal--popout--";
- if (C = p.position) {
- B = C.call(E, {
- hash: {},
- data: D
- })
- } else {
- C = (E && E.position);
- B = typeof C === c ? C.call(E, {
- hash: {},
- data: D
- }) : C
- }
- A += b(B);
- return A
- }
- function i(B, A) {
- return "modal--popout--bottom"
- }
- function f(B, A) {
- return "has-header"
- }
- function z(E, D) {
- var A = "",
- B, C;
- A += '<div class="modal__header"><span class="modal__header__title">';
- if (C = p.header) {
- B = C.call(E, {
- hash: {},
- data: D
- })
- } else {
- C = (E && E.header);
- B = typeof C === c ? C.call(E, {
- hash: {},
- data: D
- }) : C
- }
- A += b(B) + "</span>";
- B = p["if"].call(E, (E && E.isPopover), {
- hash: {},
- inverse: o.noop,
- fn: o.program(11, x, D),
- data: D
- });
- if (B || B === 0) {
- A += B
- }
- A += "</div>";
- return A
- }
- function x(B, A) {
- return '<a href="#" class="modal__close js-modal-close">X</a>'
- }
- function v(F, D, E) {
- var A = "",
- B, C;
- A += '<li><a href="#" data-value="';
- if (C = p.id) {
- B = C.call(F, {
- hash: {},
- data: D
- })
- } else {
- C = (F && F.id);
- B = typeof C === c ? C.call(F, {
- hash: {},
- data: D
- }) : C
- }
- A += b(B) + '" class="modal__list__link ';
- B = p["if"].call(F, (F && F.disabled), {
- hash: {},
- inverse: o.noop,
- fn: o.program(14, u, D),
- data: D
- });
- if (B || B === 0) {
- A += B
- }
- A += " ";
- B = p["if"].call(F, (F && F.selected), {
- hash: {},
- inverse: o.noop,
- fn: o.program(16, t, D),
- data: D
- });
- if (B || B === 0) {
- A += B
- }
- A += " ";
- B = p["if"].call(F, (E && E.showDescriptions), {
- hash: {},
- inverse: o.noop,
- fn: o.program(18, s, D),
- data: D
- });
- if (B || B === 0) {
- A += B
- }
- A += ' js-dropdown-items">';
- if (C = p.name) {
- B = C.call(F, {
- hash: {},
- data: D
- })
- } else {
- C = (F && F.name);
- B = typeof C === c ? C.call(F, {
- hash: {},
- data: D
- }) : C
- }
- A += b(B);
- B = p["if"].call(F, (E && E.showDescriptions), {
- hash: {},
- inverse: o.noop,
- fn: o.program(20, h, D),
- data: D
- });
- if (B || B === 0) {
- A += B
- }
- A += "</a></li>";
- return A
- }
- function u(B, A) {
- return "is-disabled"
- }
- function t(B, A) {
- return "is-selected"
- }
- function s(B, A) {
- return "has-description"
- }
- function h(E, D) {
- var A = "",
- B, C;
- A += '<span class="modal__list__link__description">';
- if (C = p.description) {
- B = C.call(E, {
- hash: {},
- data: D
- })
- } else {
- C = (E && E.description);
- B = typeof C === c ? C.call(E, {
- hash: {},
- data: D
- }) : C
- }
- A += b(B) + "</span>";
- return A
- }
- q += '<div class="modal--dropdown modal--dropdown--';
- if (a = p.key) {
- g = a.call(r, {
- hash: {},
- data: y
- })
- } else {
- a = (r && r.key);
- g = typeof a === c ? a.call(r, {
- hash: {},
- data: y
- }) : a
- }
- q += b(g) + " modal ";
- g = p["if"].call(r, (r && r.isPopover), {
- hash: {},
- inverse: o.program(3, m, y),
- fn: o.program(1, n, y),
- data: y
- });
- if (g || g === 0) {
- q += g
- }
- q += " ";
- g = p["if"].call(r, (r && r.header), {
- hash: {},
- inverse: o.noop,
- fn: o.program(8, f, y),
- data: y
- });
- if (g || g === 0) {
- q += g
- }
- q += ' js-dropdown-popout"><div class="modal__overlay js-modal-close"></div><div class="modal__wrap"><div class="modal__box">';
- g = p["if"].call(r, (r && r.header), {
- hash: {},
- inverse: o.noop,
- fn: o.program(10, z, y),
- data: y
- });
- if (g || g === 0) {
- q += g
- }
- q += '<div class="modal__body"><ol class="modal__list">';
- g = p.each.call(r, (r && r.values), {
- hash: {},
- inverse: o.noop,
- fn: o.programWithDepth(13, v, y, r),
- data: y
- });
- if (g || g === 0) {
- q += g
- }
- q += "</ol></div></div></div></div>";
- return q
- });
- this["DDG"]["templates"]["faq"] = Handlebars.template(function(f, m, e, k, j) {
- this.compilerInfo = [4, ">= 1.0.0"];
- e = this.merge(e, f.helpers);
- j = j || {};
- var h = "",
- a, n = this,
- g = "function",
- i = this.escapeExpression;
- function c(s, r) {
- var p = "",
- q;
- p += '<section class="js-faq-section faq__section" property="mainEntity" typeof="Question" ><header class="js-faq-header faq__header" data-disabled="';
- q = e["if"].call(s, (s && s.isCollapsed), {
- hash: {},
- inverse: n.program(4, o, r),
- fn: n.program(2, b, r),
- data: r
- });
- if (q || q === 0) {
- p += q
- }
- p += '" ><button class="faq__button" aria-expanded="';
- q = e["if"].call(s, (s && s.isCollapsed), {
- hash: {},
- inverse: n.program(4, o, r),
- fn: n.program(2, b, r),
- data: r
- });
- if (q || q === 0) {
- p += q
- }
- p += '"aria-disabled="';
- q = e["if"].call(s, (s && s.isCollapsed), {
- hash: {},
- inverse: n.program(4, o, r),
- fn: n.program(2, b, r),
- data: r
- });
- if (q || q === 0) {
- p += q
- }
- p += '" aria-controls="faq-answer-' + i(((q = (r == null || r === false ? r : r.index)), typeof q === g ? q.apply(s) : q)) + '" id="faq-btn-' + i(((q = (r == null || r === false ? r : r.index)), typeof q === g ? q.apply(s) : q)) + '"><svg width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="10" cy="10.5" r="10" transform="rotate(-180 10 10.5)" fill="#E5E5E5"/><path d="M9.94454 12.8483L13.5355 9.25736C13.7308 9.0621 14.0474 9.0621 14.2426 9.25736C14.4379 9.45262 14.4379 9.7692 14.2426 9.96447L10.3536 13.8536C10.2418 13.9653 10.0903 14.0131 9.94454 13.9969C9.79879 14.0131 9.64729 13.9653 9.53553 13.8536L5.64645 9.96447C5.45118 9.7692 5.45118 9.45262 5.64645 9.25736C5.84171 9.0621 6.15829 9.0621 6.35355 9.25736L9.94454 12.8483Z" fill="#353748"/></svg></button><h3 class="faq__question" property="name" >' + i(((q = (s && s.question)), typeof q === g ? q.apply(s) : q)) + '</h3></header><div id="faq-answer-' + i(((q = (r == null || r === false ? r : r.index)), typeof q === g ? q.apply(s) : q)) + '" role="region" aria-labelledby="faq-btn-' + i(((q = (r == null || r === false ? r : r.index)), typeof q === g ? q.apply(s) : q)) + '" class="js-faq-collapsible faq__collapsible" data-collapsed="';
- q = e["if"].call(s, (s && s.isCollapsed), {
- hash: {},
- inverse: n.program(2, b, r),
- fn: n.program(4, o, r),
- data: r
- });
- if (q || q === 0) {
- p += q
- }
- p += '" property="acceptedAnswer" typeof="Answer" ><div class="faq__answer" ><p property="text" >';
- q = ((q = (s && s.answer)), typeof q === g ? q.apply(s) : q);
- if (q || q === 0) {
- p += q
- }
- p += '</p> <a property="url" href="' + i(((q = (s && s.learnMoreUrl)), typeof q === g ? q.apply(s) : q)) + '" target="_blank" data-id="' + i(((q = (s && s.id)), typeof q === g ? q.apply(s) : q)) + '-l" >Learn more</a>.</div></div></section>';
- return p
- }
- function b(q, p) {
- return "false"
- }
- function o(q, p) {
- return "true"
- }
- h += '<article id="faq" class="faq" vocab="https://schema.org/" typeof="FAQPage" ><h2 property="name" class="faq__title">Frequently Asked Questions</h2><div class="faq__content">';
- a = e.each.call(m, (m && m.faq), {
- hash: {},
- inverse: n.noop,
- fn: n.program(1, c, j),
- data: j
- });
- if (a || a === 0) {
- h += a
- }
- h += "</div> </article>";
- return h
- });
- this["DDG"]["templates"]["homepage_tagline"] = Handlebars.template(function(f, m, e, j, i) {
- this.compilerInfo = [4, ">= 1.0.0"];
- e = this.merge(e, f.helpers);
- i = i || {};
- var h = "",
- b, g, o, k = e.helperMissing,
- n = this;
- function c(t, s) {
- var q, r, p;
- q = (r = e.lp || (t && t.lp), p = {
- hash: {},
- data: s
- }, r ? r.call(t, "frontpage", "%sHelp Spread DuckDuckGo!%s", '<a class="tag-home__link js-tag-item-link" href="/spread">', "</a>", p) : k.call(t, "lp", "frontpage", "%sHelp Spread DuckDuckGo!%s", '<a class="tag-home__link js-tag-item-link" href="/spread">', "</a>", p));
- if (q || q === 0) {
- return q
- } else {
- return ""
- }
- }
- function a(t, s) {
- var q, r, p;
- q = (r = e.lp || (t && t.lp), p = {
- hash: {},
- data: s
- }, r ? r.call(t, "frontpage", "%sLearn More%s.", '<a class="tag-home__link js-tag-item-link js-tag-item-about" href="/about">', "</a>", p) : k.call(t, "lp", "frontpage", "%sLearn More%s.", '<a class="tag-home__link js-tag-item-link js-tag-item-about" href="/about">', "</a>", p));
- if (q || q === 0) {
- return q
- } else {
- return ""
- }
- }
- h += '<div class="tag-home__wrapper"><div class="tag-home__item">';
- b = (g = e.lp || (m && m.lp), o = {
- hash: {},
- data: i
- }, g ? g.call(m, "welcome message eu search preference android", "Privacy, simplified", o) : k.call(m, "lp", "welcome message eu search preference android", "Privacy, simplified", o));
- if (b || b === 0) {
- h += b
- }
- h += '.<span class="hide--screen-xs"> ';
- b = e["if"].call(m, (m && m.shouldShowSpread), {
- hash: {},
- inverse: n.program(3, a, i),
- fn: n.program(1, c, i),
- data: i
- });
- if (b || b === 0) {
- h += b
- }
- h += "</span></div></div>";
- return h
- });
- this["DDG"]["templates"]["hp_onboarding_ed_slide1"] = Handlebars.template(function(e, f, b, a, c) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, e.helpers);
- c = c || {};
- return '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1200" height="460" viewBox="0 0 1200 460" preserveAspectRatio="xMidYMax" class="onboarding-ed__image--animated"><style>.cloud-bottom{fill:#94d2ba;}.cloud-top{fill:#79c6a8;}.st1{fill:#000}.st2{clip-path:url(#SVGID_2_)}.st3{fill:#e1eff5}.st4{fill:#f4bd5d}.st5{fill:#cadfeb}.st6{clip-path:url(#SVGID_4_)}.st7{fill:#2c2c45}.st8{clip-path:url(#SVGID_6_)}.st9{fill:#974c2c}.st10{fill:#783e1f}.st11{fill:#d6e7f0}.st12{clip-path:url(#SVGID_8_)}.st13{fill:#6b6260;stroke:#000;stroke-miterlimit:10}.st14{opacity:.2;fill:#0f2229;enable-background:new}.st15{clip-path:url(#SVGID_10_)}.st16{fill:#e8f3f7}.st17{fill:#fff}.st18{clip-path:url(#SVGID_12_)}.st19{fill:#041624}.st20{clip-path:url(#SVGID_14_)}.st21{fill:#5c2e1b}.st22{fill:#000}.st23{clip-path:url(#SVGID_16_)}.st24{fill:#d9dde0}.st25{fill:#c3c7c9}.st26{fill:#ffe100}.st27{fill:#006e37}.st28{clip-path:url(#SVGID_18_)}.st29{fill:#d5e000}.st30{fill:#b3c700}.st31{fill:#ebdaca}.st32{clip-path:url(#SVGID_20_)}.st33{fill:#00b35c}.st34{fill:#008f48}.st35{fill:#d8e300}.st36{fill:#c7d100}.st37{fill:#00b35a}.st38{clip-path:url(#SVGID_22_)}.st39{fill:#ffff7a}.st40{fill:#ffffc9}.st41{fill:#ffb700}.st42{clip-path:url(#SVGID_24_)}.st43{clip-path:url(#SVGID_26_)}.st44{fill:#6d7375}.st45{clip-path:url(#SVGID_28_)}.st46{fill:#ffc800}.st47{fill:#383835}.st48{opacity:.29;fill:none;stroke:#000;stroke-width:3;stroke-miterlimit:10;enable-background:new}.st49{clip-path:url(#SVGID_30_)}.st50{opacity:.44}.st51{fill:#bdc8cc}.st52{clip-path:url(#SVGID_32_)}.st53{fill:#2a4c63}.st54{fill:#0e1921}.st55{fill:#223b4f}.st56{opacity:.6}.js-onboarding-ed-anim-flame3{fill:#ffe100}</style><g><g><path class="js-onboarding-ed-anim-cloud cloud-top" d="M802.1 122c0-32.1-27.9-58.1-62.2-58.1s-62.2 26-62.2 58.1c0 1.3.1 2.6.2 3.9l-6.7-.2c-47.8 0-86.6 36.2-86.6 80.9s38.8 80.9 86.6 80.9 86.6-36.2 86.6-80.9c0-9.4-1.8-18.8-5.2-27.6 28.3-5.6 49.5-29 49.5-57z"/><path class="js-onboarding-ed-anim-cloud cloud-bottom" d="M604.4 229.4c0-44.7 38.8-80.9 86.6-80.9l6.7.2c-.1-1.3-.2-2.6-.2-3.9 0-32.1 27.9-58.1 62.2-58.1 12.8-.1 25.3 3.7 36 10.7-9.9-19.9-31.4-33.7-56.4-33.7-34.4 0-62.2 26-62.2 58.1 0 1.3.1 2.6.2 3.9l-6.7-.2c-47.8 0-86.6 36.2-86.6 80.9 0 25.1 12.2 47.5 31.4 62.3-7.2-11.9-11-25.4-11-39.3z"/></g><g><path class="js-onboarding-ed-anim-cloud cloud-top" d="M749.9 197.7c0-12.2-10.6-22.2-23.7-22.2s-23.7 9.9-23.7 22.2c0 .5 0 1 .1 1.5H700c-18.2 0-33 13.8-33 30.8s14.8 30.8 33 30.8 33-13.8 33-30.8c0-3.6-.7-7.2-2-10.5 10.8-2.2 18.9-11.1 18.9-21.8z"/><path class="js-onboarding-ed-anim-cloud cloud-bottom" d="M674.6 238.7c0-17 14.8-30.8 33-30.8h2.5c0-.5-.1-1-.1-1.5 0-12.2 10.6-22.2 23.7-22.2 4.9 0 9.6 1.4 13.7 4.1-4.2-8-12.5-12.9-21.5-12.8-13.1 0-23.7 9.9-23.7 22.2 0 .5 0 1 .1 1.5h-2.5c-18.2 0-33 13.8-33 30.8.1 9.4 4.5 18.2 12 23.8-2.8-4.6-4.2-9.8-4.2-15.1z"/></g></g><g><path class="st1" d="M287.3 30.2l16.8 16.1-1.8-14.7-3.8-4.2z"/><defs><path id="SVGID_1_" d="M272.6 229.6s31.3 180.9 52.5 231.4l-34.1 1.5s-37.3-163.8-38.3-169.4c-7.1-41.8 19.9-63.5 19.9-63.5z"/></defs><clipPath id="SVGID_2_"><use xlink:href="#SVGID_1_" overflow="visible"/></clipPath><g class="st2"><path class="st3" d="M227.7 211.9h111.7v257.7H227.7z"/><path class="st4 js-onboarding-ed-anim-glow" d="M273.6 234.6s9.7 108.3 39.2 223.1l14.4-15-53.6-208.1z"/><path class="st5" d="M260.3 241.5s32.1 205.3 38.8 214.8l-17.9 3.9-39.5-186.3s20-33.2 18.6-32.4z"/></g><defs><path id="SVGID_3_" d="M261 131.9s18.3 3 23.1 14.2c7.7 18.2-4.5 40.5-1.5 53s18.3 26.3 27 31.3c0 0-15.8 17.3-36.5-8.5-24.3-30.3-38.2-49-38.2-49l26.1-41z"/></defs><clipPath id="SVGID_4_"><use xlink:href="#SVGID_3_" overflow="visible"/></clipPath><g class="st6"><path class="st1" d="M229.6 114.2H329v147.9h-99.4z"/><path class="st7" d="M252.9 136.6s19.3 6 19.3 33.9 0 58.4 29.6 61.7c7.2.8 14.4-4.8 14.4-4.8s-22.4-94.2-24.7-95.5-38.6-7-38.6-7v11.7z"/></g><path class="st1" d="M219.3 53.6l-35.6 60.6L179 183l62.7-31.3z"/><defs><path id="SVGID_5_" d="M216 169.4l8-32s-6.6-19.1-4-53.3c2.1-26.6 12.7-74.7 54-64s33.3 46.5 29.3 73.9c-2.5 17.1-4.7 24.6-6.1 27.8-.6 1.3-2.1 2.1-3.5 1.7l-9.1-2.4s-6.6 17-23.3 20.3l-6.9 27.8 6.9 22.9-30.7 16-14.6-38.7z"/></defs><clipPath id="SVGID_6_"><use xlink:href="#SVGID_5_" overflow="visible"/></clipPath><g class="st8"><path class="st9" d="M188.5-21.5h134.7V231H188.5z"/><path class="st4 js-onboarding-ed-anim-glow" d="M310.4 48.4c21.3 17.6-8.6 82.3-8.6 82.3l-13.4-3s-2.7 10.8-12.7 13.8-24.5 1.1-28.9.6c-.1 0-.2-.1-.2-.2s.1-.2.2-.2c3-.5 8.7-.9 10.4-1.7 19.3-8.6 25-24.9 25-24.9l11.4 3.2c10.1-26.4 14-73 14-73l2.8 3.1z"/><path class="st10" d="M316.2 60.6s-64.1-27-74.5 27c-8.2 42.2-.1 54.1-.1 54.1l-20.2 74.6S178 144 178 145.1 207.5 37 207.5 37l12-14.6 64.6-16.8 32.1 55z"/><path class="st4" d="M249.5 179.7l7.6-1.7 8.3-36.5H258z"/></g><path class="st11" d="M125.6 396.6c3.7 0 91.2 17.7 91.2 17.7l50-209.4-10.9-40.9-3 4.2-12.9 18.4-22.9-34.8-91.5 244.8z"/><defs><path id="SVGID_7_" d="M172.9 379c15.2 4.9 30.7 8.5 46.5 11l-17.5 121.8-77.5 9.5L172.9 379z"/></defs><clipPath id="SVGID_8_"><use xlink:href="#SVGID_7_" overflow="visible"/></clipPath><g class="st12"><path class="st13" d="M116.9 351.4h121.6v187.7H116.9z"/><path d="M165.9 374.5l-5 15c11 3.4 22.2 6.2 33.5 8.5 10.6 1.8 21.4 2.7 32.2 2.5l1.6-15s-54.2-6.4-62.3-11zM175.2 443.8l-21.8 68.5 7.4 2.5z"/></g><path class="st14" d="M255.8 164.1s-85.4 322.4-84.7 322.4 36-15.1 36-15.1l54.9-299-6.2-8.3z"/><defs><path id="SVGID_9_" d="M181.3 484.2s59-232.7 73.4-278.2c5.3-16.9 1.6-37.3 1.6-37.3l.5-8.7c8.4 9.1 24.7 44.9 20.6 65.4-5.3 26.7-24.5 77.2-31.7 126.7-4.7 32.2-12.9 97.1-8.9 121.7l-55.5 10.4z"/></defs><clipPath id="SVGID_10_"><use xlink:href="#SVGID_9_" overflow="visible"/></clipPath><g class="st15"><path class="st16" d="M170.3 129.7h125.4v371.6H170.3z"/><path class="st4 js-onboarding-ed-anim-glow" d="M276.6 203.5s-32.9 91.6-43.2 148.6-6.9 139.7-6.9 139.7l23.5-5.1 43.5-257.1-16.9-26.1z"/><path class="st5" d="M248.5 169.3s19.8 8.4 28.1 34.2c0 0-.4-40.4-19.8-51.6l-8.3 17.4z"/></g><path class="st17" d="M226.1 310s29.1-85.5 42.3-110.3l-10.7-12.1 9.3-2.1-10.3-25.5-30.6 150z"/><defs><path id="SVGID_11_" d="M299.1 28.2s-5.9 14.3-19.4 22.2-53.6 19.9-59 19.9c0 0-7.5 42.8-27 50.8 0 0 6.4 30.6-14.5 51.5L168.7 183s-10.5-27.5 0-62 23.5-32 23.5-32 7.3-42.2 20.5-55.5 26-19.5 39-19.5 35.4 2.2 47.4 14.2z"/></defs><clipPath id="SVGID_12_"><use xlink:href="#SVGID_11_" overflow="visible"/></clipPath><g class="st18"><path class="st7" d="M130.5-5.6h179.1v204.1H130.5z"/><path class="st19" d="M295.7 22.9s-47.7-7.3-66 20.6S219 79.8 219 79.8s-16.3 35.7-38.8 46.7c7.3 20.8 1.7 56.5 1.7 56.5l-30.3 22.1L144 75.6l64.8-77.8 82.6 14.3 4.3 10.8z"/></g><defs><path id="SVGID_13_" d="M222.7 141.5s-6.1 1-12 8.7c-19.2 3.7-47.2 22-63 64.5-21.3 57.3-97 288.7-97 288.7l98-14s65.7-234.7 80.4-264-2.5-50.9-5.2-63.1-1.2-20.8-1.2-20.8z"/></defs><clipPath id="SVGID_14_"><use xlink:href="#SVGID_13_" overflow="visible"/></clipPath><g class="st20"><path class="st16" d="M39.4 115.1H249v395.4H39.4z"/><path class="st5" d="M210.3 145.3s-11 28.9-12.3 39.3c-.1 1 .6 1.9 1.6 2h.3c3.8-.2 11.6-.5 13.7 0L199 198.3s19.6 29 7.1 88.7 9.5-10.7 9.5-10.7l22.1-72.9-20.1-63.7-7.3 5.6z"/><path class="st17" d="M212.2 141s-10.3 35.8-10.3 43.1c0 0 15.9-1.1 17.7.7l-15 12.5s15.9 26 3.4 85.7 11.6-9.5 11.6-9.5l22.1-72.9-20.1-63.6-9.4 4z"/><path class="st5" d="M234.9 130.8c-1.2 1.2-4.8 9.7-12.7 17.6-7.9.6-11.9 5.5-14.7 9.8-9.3 5.6-21.3 18.8-26.2 29.1-55.7 117.2-89.2 324.9-77.6 322.7l-90.5-1.6 120.4-334.8 101.3-42.8z"/><path class="st5" d="M96.7 398.4c4.1 5.1 16.8 16.6 46.8 13.7.2 0 .3.1.3.2 0 .2-.1.3-.2.3-9.1 2.8-37.3 9.2-47.4-14 0-.2 0-.3.2-.4.1.1.2.1.3.2z"/></g><path class="st9" d="M231.6 70s-4.7-10.4-10.8-6.9-4.6 12.3-4.6 14 1.5 8.2 4.1 11.2c.5.6 1.4.7 2 .3.3-.2.5-.6.5-1 1.5-8 4.1-14.3 8.8-17.6z"/><ellipse transform="rotate(-75.599 185.293 327.591)" class="st5" cx="185.3" cy="327.6" rx="6.1" ry="4.2"/><path class="st21" d="M253.5 107.4l.4.7.9 1.7 1.4 2.3.9 1.2.9 1.2 1 1.2 1 1.1 1 1 1 .8.8.7.7.5.6.5h.1c.3.3.3.7 0 1-.2.2-.4.3-.6.2l-.8-.2c-.7-.2-1.4-.5-2-.8l-1.3-.7-1.3-.9-1.3-1.2-1.2-1.3-1.1-1.4-.9-1.5-.6-1.5c-.2-.5-.3-.9-.4-1.4-.2-.7-.3-1.4-.4-2.1v-.8c-.2-.3-.1-.8.2-1 .3-.2.8-.1 1 .2.1.1.1.3.1.4l-.1.1z"/><path d="M275.5 58.3c.5-.5 1.2-.9 1.8-1.2 1.4-.7 3-1.1 4.6-1.2h2.6l1.2.2 1 .3 1.4.7.5.3c.2.1.2.2.2.4 0 0 0 .1-.1.1l-.4.2h-.6l-.6-.2-.8-.2h-5.5l-1.1.2-2 .5-1.9.6c-.2.1-.3 0-.4-.2-.1-.1-.1-.3 0-.4 0-.1.1-.1.1-.1z"/><ellipse transform="rotate(-75.599 170.181 393.006)" class="st5" cx="170.2" cy="393" rx="6.1" ry="4.2"/><path class="js-onboarding-ed-anim-scientist-eye" d="M276.2 79.8c.2-.6.4-1.1.6-1.7 1-3.3.7-6.4-.7-6.8s-3.5 1.9-4.5 5.2c-.3.8-.5 1.7-.6 2.6 1.8 0 3.5.2 5.2.7zM298.6 63l1.3.2c1 .3 1.9.7 2.7 1.3l1.2 1 .9 1.1.5.9v.3c.1.2 0 .3-.2.4h-.3l-.3-.2-.7-.6-2.1-1.7-2.3-1.5-1.1-.6c-.1-.1-.2-.3-.1-.4l.5-.2zM299.4 88.2c.3-.6.6-1.2.8-1.9.9-2.9.8-5.5-.1-5.8s-2.5 1.8-3.4 4.7l-.3 1c1.1.5 2.1 1.2 3 2z"/><path class="st22" d="M299.4 28.2c0-.1 2.9 26.9 8.6 34.3 0-.1 5-20.7-8.6-34.3z"/><ellipse class="st10" cx="226.7" cy="76.3" rx="4" ry="5.1"/><g><defs><path id="SVGID_15_" d="M165.3 203.7c11.3-12.7 24.3-10.5 35.2-4.1s53.5 46.2 187 46.3l-5 36.5s-57.3-4-107.2-10.2S181 242.4 170 232.7s-12.7-20.1-4.7-29z"/></defs><clipPath id="SVGID_16_"><use xlink:href="#SVGID_15_" overflow="visible"/></clipPath><g class="st23"><path class="st16" d="M349.6 364.1L130.9 237l71.4-121.9 218.7 127z"/><path class="st4 js-onboarding-ed-anim-glow" d="M384.2 270.8c2.9-5.3-65.3 18-180.5-19.1l115.4 33.2 67.5-3.3-2.4-10.8z"/><path class="st5" d="M163.5 229.6s5.8-15.2 12.1-19.8c6.1-4.5 12.6-6 22.2-1.7s42.3 33.7 131.7 41.2 25.8-13.6 25.8-13.6l-186.7-61.6s-35 49.7-33.8 50.7 28.7 4.8 28.7 4.8z"/></g></g><path class="st5" d="M202.9 157.2s-19.2 27.1-6.8 40.2c0 0-25.7-2.5-30.9 6.6.1 0 16.2-36.8 37.7-46.8z"/></g><g id="Table"><path class="st24" d="M-42.3 481.7l941.7-145.3 392.7 145.3z"/><path class="st25" d="M870.1 402.8s26.1 8.8 63.4-.3 0-17.7 0-17.7l-56.3 2.7-7.1 15.3z"/><path class="st25 js-onboarding-ed-anim-shadow" d="M903.3 399.1c-.1 2.9-1.3 5.7-3.4 7.8-10.4 11.5-43 19.9-81.6 19.9-47 0-85.1-12.4-85.1-27.8s38.1-27.8 85.1-27.8 85 12.6 85 27.9zM342.6 459.3c3.3-3.7 5.1-7.6 5.1-11.7 0-8.4-7.6-16.1-20.7-22.7L99.7 460c8.6 8.9 26.1 16.5 49.1 21.7h144c23.7-5.3 41.5-13.2 49.8-22.4z"/></g><g id="Creature"><path class="st26 js-onboarding-ed-anim-flame js-onboarding-ed-anim-flame1" d="M604.5 181.4s6.5 7.7 1.5 19-14.5 21.9-8.2 31.3-16.7-7.6-1.7-32.1c7.3-12.1 7.5-12.8 8.4-18.2z"/><path class="st27" d="M876.9 400.3s-14.1.5-19.4 10.4 3.9 6.2 5.8 4.1c0 0-6.3 12.6 0 10.7s13.7-10.7 13.5-11.2-4.4 11.2.7 8.6 9.3-13.5 9.3-13.5-1.8 8.1 2.1 6.9 7.6-11.3 2.9-15.3-11-2.7-14.9-.7z"/><defs><path id="SVGID_17_" d="M715.4 242.7s40.6 26.3 34.6 63-15 45.5-24.9 55.4c0 0 51.3 61.6 106.2 30s36.7-98.8 36.7-98.8-28.7-44-47.3-49.7-78-20.9-105.3.1z"/></defs><clipPath id="SVGID_18_"><use xlink:href="#SVGID_17_" overflow="visible"/></clipPath><g class="st28"><path class="st29 js-onboarding-ed-anim-monster-mouth" d="M688.7 191.5h202.2v233.2H688.7z"/><path class="st30" d="M731.6 285.1s1.4-22 49.6-19.1 90.7 55.6 90.7 55.6l14.9-145.9s-196.1 13.8-193.5 16.4 38.3 93 38.3 93zM733.1 331s18.6 29.6 58 26.5 70.1-26 70.1-26-17.1 126.2-17.1 122.2-147.6-38.5-144.4-41.7 33.4-81 33.4-81z"/></g><path class="st27" d="M896 369.7s26.9 12.4 42.9 3.2 10.5-31.9-4.9-47.2c0 0 23.4 12.4 23.4 34.4s-20 42.2-65.4 30.9l4-21.3z"/><circle class="st17 js-onboarding-ed-anim-monster-eye onboarding-ed-anim-monster-eye--left" cx="729.5" cy="218.6" r="15.6"/><circle class="st31 js-onboarding-ed-anim-monster-eye onboarding-ed-anim-monster-eye--left" cx="735.5" cy="220.3" r="12.5"/><path class="st26 js-onboarding-ed-anim-monster-eye onboarding-ed-anim-monster-eye--left" d="M719.3 218.6c0-7.6 5.4-14.1 12.9-15.4l-2.7-.2c-8.6 0-15.6 7-15.6 15.6s7 15.6 15.6 15.6l2.7-.2c-7.5-1.3-12.9-7.8-12.9-15.4z"/><path class="st17" d="M705 254.3s2.4 18.3 10.3 25.4c0 0-.6-24.1 7.1-31.7 0 0 .5 16.8 3.9 23.6 0 0 2.9-22.3 8.3-27.8 0 0 2.3 21.8 5.8 25.8 0 0 .6-24.3 8-28.6 0 0-.9 15.3 1.6 22.4 0 0 5.3-19.4 12.6-23.6 0 0 0 15 1.4 20 0 0 1.3-14 11.2-19.7 0 0-1.4 14.7 0 19.7 0 0 4.6-13 13.3-18-.8 6-1.3 12-1.4 18 0 0 6.2-11.6 12.7-15.4 0 0-3.5 10.8-3.5 19 0 0 5.2-10.4 16.4-13.9 0 0-5.8 12.5-4.5 18.6 0 0 6.7-10.6 13.7-12.9.4-.1 1.5 1.6 2 1.5 7.4-1.5 0-8.8 0-8.8l-60.6-16-57.4 15.3-.9 7.1z"/><ellipse class="js-onboarding-ed-anim-monster-eye onboarding-ed-anim-monster-eye--left" cx="719.8" cy="212.2" rx="4.2" ry="3.4"/><path class="st17" d="M731.6 356.6s4.3-7.9 18.3-12.3c0 0-9.9 14.6-6.6 23.7 2.3-4.8 5.4-9.2 9.2-13 0 0-2 13.8 0 19.9 0 0 3.1-10.8 8.8-16.5 0 0-2.3 15.1 2.4 21.2 0 0 .5-7.1 6.4-16-1 6.5 1.2 12.9 3.9 19.4 0 0-1.5-9.6 4.2-15.3 0 0 .9 11.6 4.6 15.3 0 0 .7-12.2 4.8-16.3-1.3 6 3.3 16.6 5.6 16.3-.3-6.4-.6-10.5 1.3-17.6 0 0 3.6 13.7 8.7 16.7 0 0-4.5-9.7-1.5-17.1 3.5 7.3 6.9 12.1 11.4 14.9l-34.7 16.9-45.7-31-1.1-9.2z"/><defs><path id="SVGID_19_" d="M694.6 264.3s-4.8-32.2 37.3-44.7c0 0 8.7-11.8 17.3-11.8 5-.1 9.8 2.3 12.7 6.4 0 0 5.3-6.4 16-6.4s13.3 10.5 13.3 10.5 61.3.7 95.3 52.7 30 70.7 24 92.7-23.1 56.8-82.3 51.7c-46.3-4-87.8-19-109.7-62.3-2.7-5.3-.7-11.7 3.3-9.3s24.9 44.2 70 41.4c32.4-2 46.7-30.7 51.4-58.1 2.2-13.1 10.2-79-66.2-86.5-50.6-5.1-78.1 19.4-82.4 23.7z"/></defs><clipPath id="SVGID_20_"><use xlink:href="#SVGID_19_" overflow="visible"/></clipPath><g class="st32"><path class="st33" d="M664.2 180.7H940v254.7H664.2z"/><path class="st34" d="M791.2 218.3s95.6 22.1 95.6 96c0 68.3-37.3 91.8-70.1 90.5-59.5-2.3-102.8-49.7-102.8-49.7l55.3 60.6 104.1 19.5 55.2-70.1-3.8-169.9-133.5 23.1z"/><path class="st35" d="M729.5 217.3s-30.4 16.6-23.4 44.2l-19 9.4s-5.1-40.7 42.4-53.6z"/><path class="st36" d="M714.6 346.3s73.1 87.3 117.1 13.6c0 0-105-23.3-107-23.3s-10.1 9.7-10.1 9.7zM733 221.8s10-22.9 29-8.6l-.9 4.5c4.3-5 10-8.4 16.4-9.9l24.9-5.9-33.9-12.6-16.3 5.3s-27.5 20.9-26.1 21.7 6.9 5.5 6.9 5.5z"/><ellipse transform="rotate(-69.102 854.938 235.653)" class="st34" cx="855" cy="235.6" rx="20.7" ry="19.3"/><path class="st35" d="M709.5 236.7c.6-.6 9.9-13 23.4-14.9 0 0-3.8-4.2-4.4-4.2s-20.6 7.8-20.6 9.6 1.6 9.5 1.6 9.5z"/><path class="st34" d="M773.2 206.6c.3 0 13.5 1.8 12.4 10.7l5.6 1.1 2.3-11.3-20.3-.5zM743.5 206.4c.3 0 14 2.5 14.6 11l3 .4 2.4-11-20-.4z"/><path class="st36" d="M688 263.3s28.5-23.9 59.6-26.8 59.7 1.7 78 24.3c0 0-137.3 18.2-137.3 16.5s-.3-14-.3-14z"/></g><ellipse class="st31 js-onboarding-ed-monster-eye onboarding-ed-anim-monster-eye--right" cx="845" cy="231.6" rx="20.7" ry="19.3"/><ellipse class="st17 js-onboarding-ed-anim-monster-eye onboarding-ed-anim-monster-eye--right" cx="840.5" cy="231" rx="16.1" ry="15"/><ellipse cx="850.3" cy="229.1" rx="4.2" ry="4.2" class="js-onboarding-ed-anim-monster-eye onboarding-ed-anim-monster-eye--right"/><path class="st37" d="M871.9 270.4s22.6-12.4 28.4 4.5-6.6 20.2-19.7 18.2c0 0 1.9-6.8-8.7-22.7z"/><path class="st34" d="M900.3 274.9c-3.7-10.8-14.2-9.6-21.3-7.4 6.8-1.6 15.8-1.6 19 7.9s-.1 15.7-6 17.8c7.6-1.5 12.3-6.7 8.3-18.3z"/><path class="st34" d="M876.1 275.5s12.1-6.6 15.2 2.4-2.2 9.7-9.6 9.7c-1.5-4.2-3.3-8.3-5.6-12.1z"/><defs><path id="SVGID_21_" d="M843.6 324.4s-96.8-2.7-137.6 24c-57.4 37.6-119.6 7.1-114.8-43.4s26.6-67.9 18.6-88.7c-10.9-28.3 15-51.9 30.2-61.2 0 0-11.4 29.9-5.5 47.7 13.3 39.9 5.6 22.7 5.6 41.8s5.3 43.4 10.7 2.8 12-49.3 16.7-55.3c7.9-10.1 17.7-23.4 5.1-41.1 0 0 33.5 11.7 8.6 58.8-18.1 34.2 3.2 56.1 15.4 63.1s39.1-8.6 51.8-1.3 36.6 29.5 49.6 31.9c15.1 2.8 38.8 5.6 46.3 1.3.8 6.5.6 13.1-.7 19.6z"/></defs><clipPath id="SVGID_22_"><use xlink:href="#SVGID_21_" overflow="visible"/></clipPath><g class="st38"><path class="st26" d="M530.7 110.3H851v288.8H530.7z"/><path class="st39" d="M790.8 306.2c-15.2-2.2-20.8-9.3-41.9-17.6s-39 1.6-48.3.7c-22.1-2.2-31.3-24.8-36.7-37.4 0 0-13.4 33.2 12.4 57.1-12.9-22.2-23.9-45.4-32.8-69.5 0 0-51.3 92.5 14.7 98.3 31.5 2.8 58.3-8.3 81.7-13.5 51.8-11.5 111.7-.5 112.6-1.4 11.3-11.3.3-14.3-1.6-14.3s-44.8-.1-60.1-2.4z"/><path class="st40" d="M851.3 308s-115.9 3.7-157.1-6.2c5.1 5 179.9 32.1 157.3 16 .1 0 7.8 11.6-.2-9.8z"/><path class="st40" d="M822.1 309.9c-1-2.8-47.6.7-146.7 8.2 1.8-1.6 57.1 2.1 155.5 1 0 0-7-6.3-8.8-9.2z"/><path class="st41 js-onboarding-ed-anim-flame" d="M701.6 140.3s-12.6 86.2-22.7 113.9c0 0-18.7-12.1 3.5-74.5 0 0-28.5 27.3-27.5 81.4 0 0-29.4-2.3-33.5-41.8 0 0-15.8 41-15.8 61.1s8.1 84.7 88.8 74.6c-15.4 23.8-140.8 18.5-140.8 18.5l18.3-247 129.7 13.8z"/></g><defs><path id="SVGID_23_" d="M743.6 399.8c1.1-10.6 6.6-16.3 10-18.9-2.4-2.4-6.2-2.9-8.3-5.6-4.9 3.9-10.4 10.1-11.7 22.6-4.2-.5-10-.2-15.1 3.3-10.4 7.1 2.7 6.2 5.4 5.3 0 0-11.4 8.3-4.9 9.5s13.9-3.9 14-4.4-5.6 10.5.1 10.5 11-10.4 11-10.4.3 5.1 3.2 5.6 6.1-4.8 4.5-10.1-4.8-6.4-8.2-7.4z"/></defs><clipPath id="SVGID_24_"><use xlink:href="#SVGID_23_" overflow="visible"/></clipPath><g class="st42"><path class="st33" d="M706 362.1h55.1v67.4H706z"/><path class="st34" d="M754.7 380.3s-12.7 5.9-14 14.9 3 6.2 5.7 8.8 4.5 7 2.7 10.2-3.4 2.2-3.4 2.2-1.1 4.3 4.4 3.5 11.7-18.4 11.7-18.4l-7.1-21.2z"/><path class="st34" d="M742.7 408.3s-2.8 10.5-9.4 12.7c-1.5.5-3.3-1.9-3.3-1.9s-.2 3.8 1 4.3c3.4 1.3 9.4-.4 9.4-.4s6.6-7.5 2.3-14.7zM734.8 408.7s-7.3 5.5-13.3 5.7c-4.5.1-3.7-2.4-3.7-2.4s-4.5 4.8 1.2 5.2 12.7-1.8 15.8-8.5zM717.2 401.7s-2.5 3.2 1.3 3.9c2.1.4 4.2.5 6.3.4-2.2 1.3-4.5 2.2-7 2.8-4.5 1.2-4.9-5.5-4.9-5.5l4.3-1.6z"/></g><g><defs><path id="SVGID_25_" d="M842.5 428.6c-2.4-3.7-6.4-5-10.1-5.1 1-15.9 6.4-22.7 6.6-23 1.7-2.2 1.4-5.3-.8-7-2-1.6-4.9-1.4-6.7.4-.9 1-8 9.5-9.1 29.2-4.7-.1-11.1.7-15.6 5.3-8.8 9 5.3 7 7.7 5.6 0 0-9.6 10.3-3 10.2s12.9-6.5 12.9-7-3.4 11.4 2.1 10.3 8.8-12.3 8.8-12.3.1 4.9 4.2 4.9 6.4-6.3 3-11.5z"/></defs><clipPath id="SVGID_26_"><use xlink:href="#SVGID_25_" overflow="visible"/></clipPath><g class="st43"><path class="st33" d="M797.5 379.6h63.3v75.8h-63.3z"/><path class="st34" d="M841.7 395s-11 6.9-12.7 27.1c-.2 2.4.7 2.9 2.6 3.6 4.6 1.5 9.1 4.2 9.1 9.6s-3.1 7.2-3.1 7.2 6.5 4.2 8.4-1.5.8-17.6-8.2-18.9c0-1.1 6.5-23 5.7-23s-1.8-4.1-1.8-4.1z"/><path class="st34" d="M832.5 430.5s1.3 5.5-6.8 16.8c-3.2 4.5 8.2-2.1 8.2-2.1s4.5-8.8-1.4-14.7zM825.5 433.7s-5.6 6.8-11.3 8.6c-2.4.9-5 .7-7.3-.3 0 0 .3 5.5 5.9 4.3s11.6-5.3 12.7-12.6zM805.5 428.5s-1.7 5.7 3.9 4.5 7.9-2.5 7.9-2.5-1.6 3.1-7.1 7.3-9.7-4.8-9.7-4.8l5-4.5z"/></g></g><path class="st41 js-onboarding-ed-anim-flame js-onboarding-ed-anim-flame2" d="M653.1 162.7s-24.5 10.6-20.5 44.8c3.8 32.1-10.7 30-10.7 30s19.6 8 31.7-8c16-21.3-15.1-44.5-.5-66.8z"/><path class="st26 js-onboarding-ed-anim-monster-eye onboarding-ed-anim-monster-eye--right" d="M842.8 250.5c-10-3.8-14.7-15.5-10.7-26.2 2.6-7.1 8.8-12.2 16.3-13.4-8.9-1.4-18.1 4.1-21.7 13.4s.7 22.4 10.7 26.2c2.9 1.1 6 1.4 9.1 1-1.3-.2-2.5-.5-3.7-1z"/><ellipse class="st34" cx="747.3" cy="217" rx="4.3" ry="2.3"/><ellipse transform="rotate(-79.199 775.38 216.221)" class="st34" cx="775.4" cy="216.2" rx="2.3" ry="4.3"/><path d="M768.2 216.9c.5-.8 1.2-1.5 2-2l1.2-.7 1.4-.6 1.6-.3h1.8c1.2.1 2.4.6 3.4 1.3.8.6 1.5 1.4 2 2.3.3.6.6 1.2.7 1.9.1.3.1.5.1.8 0 .2-.2.4-.4.4h-.3l-.5-.5-1.3-1.2c-1.1-1-2.5-1.8-4-2.1h-2.6l-2.3.5-1.7.6-.6.3c-.2.1-.4 0-.5-.2-.1-.1-.1-.4 0-.5zM739.7 218l.3-.7c.3-.6.7-1.1 1.1-1.6l.9-.9 1.2-.9c1-.6 2.1-.9 3.2-1h1.7l1.6.4c.9.3 1.8.8 2.5 1.4.5.5 1 1 1.3 1.6l.2.5v.2c.1.2 0 .4-.2.5h-.5l-.5-.2-1.6-.6-1.9-.7-1.1-.2h-1.2c-.8 0-1.6.1-2.3.4l-2 1-1.4 1-.5.4c-.2.1-.4 0-.5-.1 0-.1-.1-.2-.1-.3l-.2-.2z"/></g><g id="Documents"><path class="st41 js-onboarding-ed-anim-flame js-onboarding-ed-anim-flame3" d="M634.2 222.6s-19.4-5.5-17.3-32.1c1.7-21.6-8.4-21.8-8.4-21.8s12.8-3.5 21.5 8.8c11.6 16.4-9.6 39.8 4.2 45.1z"/><path class="st44" d="M453.7 247.8c-.5-3.7 99.8-26.8 169.5-37.7v13s-134.7 26.1-170.1 33.6l.6-8.9z"/><defs><path id="SVGID_27_" d="M578 214.3l-10.2 113.2s13.6 1.6 19.2-15.6c3.2-9.9 12.3-7 17.5-7.7s8-7.4 10.7-6.8c5.7 1.4 7.7 13.8 10.7 15.5s7.5 1.8 10.4-1.1 3.1-8.8 6.8-9.6 8 .9 8.4 3.7 1.2 6.8 4.3 7.2c10.4 1.1 20.3-3.8 20.3-3.8l5.7-95H578z"/></defs><clipPath id="SVGID_28_"><use xlink:href="#SVGID_27_" overflow="visible"/></clipPath><g class="st45"><path class="st17" d="M532.3 183.3H713v161H532.3z"/><path class="st46" d="M572.4 309c10-3.1 5.5-18.5 12.7-18.5s6.5 5.4 15.8 0 16.9-11.5 21.9-6.4 2.5 19.5 6.9 16.9 7.8-14 13.7-14 9.4 11.9 15.9 11.9 19.5-19.1 19.5-19.1L682 322l-133.6 11 3.5-36.5s16.7 13.6 20.5 12.5z"/><path class="st47" d="M572.4 315.6c10-3.1 5.5-18.5 12.7-18.5s6.5 5.4 15.8 0 16.9-11.5 21.9-6.4 2.5 19.5 6.9 16.9 7.8-14 13.7-14 9.4 11.9 15.9 11.9 19.5-19.1 19.5-19.1l3.2 42.2-133.7 11 3.5-36.5s16.8 13.6 20.6 12.5z"/></g><path class="st48" d="M635.7 235.2l37 .5M634.5 247.2l37 .5M633.3 259.3l37 .5M632.1 271.1l37 .5"/><defs><path id="SVGID_29_" d="M586.9 231.2l-3.6 40.5 41.6 1 3-41.5z"/></defs><clipPath id="SVGID_30_"><use xlink:href="#SVGID_29_" overflow="visible"/></clipPath><g class="st49"><path class="st24" d="M574.9 219.8h66v77.7h-66z"/><g class="st50"><ellipse cx="603.6" cy="271.8" rx="16.7" ry="14.6"/><ellipse transform="matrix(.07846 -.9969 .9969 .07846 311.32 830.923)" cx="605.1" cy="247.1" rx="12.5" ry="8.7"/></g></g><path class="st51" d="M450.7 247.6l4.2 9.3s90.7-12 171.3-32.9l-1-11.6c-48.6 11.7-109 23.5-174.5 35.2z"/><path class="st26 js-onboarding-ed-anim-flame js-onboarding-ed-anim-flame4" d="M638.5 176.5s-6.5 7.7-1.5 19 14.5 21.9 8.2 31.3 16.7-7.6 1.7-32.1c-7.3-12-7.5-12.7-8.4-18.2z"/><g><defs><path id="SVGID_31_" d="M377.7 242.7s-8.9 11-7.8 28.2 16.4 36.3 16.4 36.3l40.2-20.8c6.6-3.4 14.1-4.4 21.3-3l9.4 1.6c7.8 1.3 16.6.5 19.9-1.2s7.7-3.2 11.4-6c4.2-3.2 7.3-7.7 8.7-12.8l5.2-18.3c.5-1.6-.4-3.3-2-3.8-.6-.2-1.3-.2-1.9.1l-10 3.3c-5.1 2.4-16.3 1.6-18.8.8l-7.7-2.8 14.4-4-16.6-2.6c-3.6-.6-7.3-2.1-12.6 0s-13.4 4.2-13.4 4.2l-56.1.8z"/></defs><clipPath id="SVGID_32_"><use xlink:href="#SVGID_31_" overflow="visible"/></clipPath><g class="st52"><path transform="rotate(-4.8 431.239 263.43)" class="st53" d="M337.6 198.4h187.3v130H337.6z"/><path class="st54" d="M480.8 240.9s-32.4 5.3-43.4 2.5-61.3 6.8-86.2 28.3l52.2-72 77.4 41.2z"/><path class="st4 js-onboarding-ed-anim-glow" d="M496 240c4.2 20.7-7.8 41.2-8.3 40.4s29.2-.1 29-2.6 7-42 7-42L496 240zM364.6 304.6s59-25.4 75.7-21.9.3 8.6.3 8.6l-58.4 30-17.6-16.7z"/><path class="st55" d="M476.7 246.7l-7.4 50.4s-29-9.5-29-10.2 1.8-20.4 2.8-31.2c.4-4.3 2.8-8.1 6.5-10.3h.1c2.6-1.2 5.5-1.8 8.4-1.8l18.6 3.1z"/><path d="M466.9 256.9h6c2 0 4.1-.1 6.1-.3l1.7-.2 1.7-.3 1.7-.4 1.7-.5 3.4-1.2 3.2-1.4 2.9-1.4 2.5-1.5c1.5-.9 2.7-1.8 3.6-2.5l.9-.7.3-.3c.5-.3 1.1-.2 1.4.3.3.4.2.9-.1 1.2l-.4.3-1 .8c-1.2 1-2.4 1.9-3.7 2.7l-2.6 1.6-3 1.5-3.3 1.4-3.5 1.2-1.8.5-1.8.4-1.8.3-1.8.2-3.4.2h-3c-1.5-.1-3-.4-4.5-.8l-1.6-.6c-.2 0-.3-.2-.3-.3 0-.1 0-.1.1-.2s.3-.1.4 0zM460.9 265.8l1.9.2 2.1.2 2.7.2h6.9l3.8-.3 3.9-.7 3.8-1.1 3.6-1.4c2.1-.9 4.1-1.9 6.1-3.1 1.4-.8 2.7-1.7 4-2.7l1-.8.3-.3c.5-.3 1.1-.2 1.4.3.3.4.2.9-.1 1.2l-.4.4-1.1.9c-1.3 1-2.7 2-4.1 2.9-2 1.3-4.1 2.4-6.3 3.3l-3.7 1.5-4 1.2c-1.4.3-2.7.5-4.1.6l-4 .2h-3.7l-3.3-.4-2.8-.5-2.1-.5-1.8-.6c-.2-.1-.3-.3-.2-.5s.3-.3.5-.2h-.3zM465.1 275.5h6.7c2.3-.1 4.6-.3 6.8-.7l3.7-.9 1.9-.6 1.8-.7 1.8-.8 1.8-.9 3.4-1.9 3-2 2.6-2c1.3-1 2.5-2.1 3.6-3.2l.9-1 .3-.3c.4-.4 1-.3 1.4.1.3.3.3.8.1 1.2l-.3.4-1 1.1c-1.2 1.2-2.4 2.3-3.7 3.4l-2.7 2.1-3.1 2.1-3.5 2-3.8 1.8-2 .8-2 .6-4 .9c-2.4.4-4.8.5-7.2.4l-2.8-.3-2.2-.4-1.8-.6c-.2 0-.3-.2-.2-.4 0-.2.2-.3.3-.3.1 0 .2.1.2.1z" class="st56"/></g></g></g></svg>'
- });
- this["DDG"]["templates"]["hp_onboarding_ed_slide2"] = Handlebars.template(function(e, f, b, a, c) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, e.helpers);
- c = c || {};
- return '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1200" height="460" viewBox="0 0 1200 460" preserveAspectRatio="xMidYMax" class="onboarding-ed__image--animated"><style>.st0,.st1{fill: #ec9b33;enable-background:new}.st1{fill:#f7b561;}.st2{fill:#f2e6ce}.st3{fill:#f2e4ce}.st4{fill:#e3dac0}.st5{clip-path:url(#SVGID_2_)}.st6{fill:#f7efe4}.st7{fill:#fff}.st8{fill:#c2aa8e;enable-background:new}.st9{clip-path:url(#SVGID_4_)}.st10{fill:#ffdeb7}.st11{fill:#efc593}.st12{fill:#051a2b}.st13{fill:#3a4da1}.st14{clip-path:url(#SVGID_6_)}.st15{fill:#871299}.st16{fill:#192659}.st17{clip-path:url(#SVGID_8_)}.st18{fill:#2a3879}.st19{fill:#192559}.st20{clip-path:url(#SVGID_10_)}.st21{clip-path:url(#SVGID_12_)}.st22{fill:#e5bd8d}.st23{opacity:.7}.st24{fill:#381d0f}.st25{fill:#422212}.st26{fill:#f7d1a4}.st27{clip-path:url(#SVGID_14_)}.st28{fill:#e4bc8c}.st29{clip-path:url(#SVGID_16_)}.st30{clip-path:url(#SVGID_18_)}.st31{fill:#041624}.st32{clip-path:url(#SVGID_20_)}.st33{fill:#ffe956}.st34{fill:#f7dc21}.st35{fill:#e2c810}.st36{fill:#85aac8}.st37{fill:#ffdeb7}.st38{fill:#f7d2a5}.st39{opacity:.1}</style><g class="js-onboarding-ed-anim-ghost-left-hand-shaking"><path class="st0" d="M51.7 236.8L1228 171v107.4z"/><path class="st1" d="M102.6 257.2l1117 39V391zM111 223L1231.2 53.9v94.7z"/></g><path class="st2 js-onboarding-ed-anim-ghost-left-hand" d="M483.1 116.8l21.8 3c4.9.7 6.2-5.1 14.2-12.4 1.7-1.6 6.1-6 9.7-2.9s-5 15.9-5 15.9 16.8-3.9 17.4 3.9-13.9 6.8-13.9 6.8 16.1 2.2 13.7 9.8c-1.4 4.6-12 2-16.9-.8 0 0 9.5 7.2 5.1 11.9s-13.6-5-21.8-13.2c-2.2-2.2-16.3-3.6-29.5-4.2"/><g class="js-onboarding-ed-anim-ghost-float"><path class="st3" d="M332.3 223.1s-62.4 28.2-48 38c15 10.2 68 3.6 79.7-8.7 19.9-20.9 11-47.3-31.7-29.3z"/><path class="st4" d="M406 219.2s-28.5 60.1-11.6 60.1c9.4.1 53-37.4 58.5-49.3 12.1-26.1-26.3-52.2-46.9-10.8z"/><defs><path id="SVGID_1_" d="M240.7 214c11.2-7 48.1-29.4 65.7-47 45-45 19.4-79.7 43-116.7C367 15.8 409.9-4.6 447.1 5c49.1 12.6 63 88.7 51.3 142.3-19.8 91-43.7 107.3-50.7 114.3s-48.3 34.2-25.3-3.6-20.8 6.3-39 15.2c-15.2 7.5-76.7 29.3-37.3-13.3s-10-23.3-10-23.3-48.8 22.4-87.4 14.4-19.2-30-8-37z"/></defs><clipPath id="SVGID_2_"><use xlink:href="#SVGID_1_" overflow="visible"/></clipPath><g class="st5"><path class="st6" d="M199-33h332v336H199z"/><path class="st7" d="M326.6 96.7s.1-1 .4-2.7c-.3.9-.4 1.8-.4 2.7zM497.6 48.6C513 27.9 527.1-8.4 451-21 351.2-37.5 332.7 66 337.6 86.8c7.6-48 54.6-65.8 98.5-62 27.8 4.3 42.5 19.1 50.2 40.3 20 55.4.2 136.9-33.3 188.9-6.5 10.1-12.1 13.5-12.1 13.5l55.6-15.7 19.1-179.2-18-24zM327.6 137.3c-32.1 63.4-80.3 75.4-80.3 99.5 0 10.2 13.2 16.9 29.4 15.7 14-1-3.7 7.1-3.7 7.1s-62.6 9.2-62.6-13.5S325.5 126 327.6 137.3zM358 245s-21.8 29.2-8.2 33.4c12.4 3.8 36.1-6.2 36.1-6.2l-41.6 34.3L310 273l48-28z"/></g><path class="st8 js-onboarding-ed-anim-ghost-mouth" d="M415.7 131.6c1.9-13.4 9.6-26.9 25.2-26.4 10 .3 10.7 9 9.9 14.4-1 6.4-4.3 8.6-5 15.1s2.4 11.2 1.8 17.6c-.6 5.9-4.9 9.4-14.7 8.4-12.6-1.1-18.9-17.4-17.2-29.1z"/><ellipse class="st8 js-onboarding-ed-anim-ghost-eye onboarding-ed-anim-ghost-eye--left" cx="474.5" cy="87.3" rx="6" ry="11"/><ellipse class="st8 js-onboarding-ed-anim-ghost-eye onboarding-ed-anim-ghost-eye--right" cx="409.8" cy="80.6" rx="6.8" ry="12.3"/><path class="st7 js-onboarding-ed-anim-ghost-right-hand" d="M353.7 123.2c-16.9-5.8-24.8-3.2-30.3-1.6-11.7 3.5-16.1 5.6-18.7 1.7s10-11.6 10-11.6c-5.7 0-15.5-1.6-15.5-6.5S312 100 312 100s-13.9-7.9-9.2-12.5 18.9 4.8 18.9 4.8-2.5-15.9 2.7-17 6.3 5.1 7 7.3c3.4 10.3 3.4 16.6 8 18.5s18.6 4.1 18.6 4.1c3.8 5.6 2.2 15-4.3 18z"/></g><g id="Runner"><g><defs><path id="SVGID_3_" d="M775.3 562.4s47.4-162.5 50.8-183.4c2.9-18-6.8-14.4-11.7-10.7-7.1 5.5-36.6 23.2-36.6 23.2l-15.9-62.4s42.3-17.4 59.5-22.8 39.8-9.6 51.4 0c15.9 13.2 2.2 81.5-57.8 251.3l-39.7 4.8z"/></defs><clipPath id="SVGID_4_"><use xlink:href="#SVGID_3_" overflow="visible"/></clipPath><g class="st9"><path class="st10" d="M740.4 279.4h152.1v298.1H740.4z"/><path class="st11" d="M744.1 371.3s60.1-25.5 68.8-27.4c16.7-3.8 20.8 17.7 12.9 36.8s-81.7 55.5-81.7 55.5v-64.9zM849.7 298s25.6-4.7 17.2 42.9c-9.2 51.8-66.8 224.1-66.8 224.1h31.3l61.1-238s-10.2-29-42.8-29z"/></g></g><path d="M672.7 137.3s23-18.1 23-34.8 23.5-31.1 23.5-31.1-8.2 11.1-8.2 34.9c0 17-22.9 31-38.3 31z"/><path class="st12" d="M714.4 68.5s-8.5-8-17-6.6c-14.7 2.3-18.9 22.1-30 46.5-9.3 20.5-36.3 17.5-36.3 17.5s24.7 8.3 41.7 5 26-17.3 28-30.3 10.7-20.3 14.7-20.3l-1.1-11.8z"/><path class="st13" d="M722 56.7s-16.7.3-13.7 15.8 14.5 17 16 15.5L722 56.7z"/><defs><path id="SVGID_5_" d="M722 56.7s-16.7.3-13.7 15.8 14.5 17 16 15.5L722 56.7z"/></defs><clipPath id="SVGID_6_"><use xlink:href="#SVGID_5_" overflow="visible"/></clipPath><g class="st14"><path class="st15" d="M702.2 49.9h29.5v44.9h-29.5z"/><path class="st16" d="M705.5 66.3s3.1 7.5 7.1 5.2S721 60 721 60l6.3 28.5-21.8 8.2V66.3z"/></g><defs><path id="SVGID_7_" d="M670.1 372.4s-39.1 97.7-89.8 160.8L617 567s114-154 131.3-194.7l-78.2.1z"/></defs><clipPath id="SVGID_8_"><use xlink:href="#SVGID_7_" overflow="visible"/></clipPath><g class="st17"><path class="st18" d="M562 333h204.1v252H562z"/><path class="st19" d="M693.5 392.8l-54 99.9 38.6 7.2 64.4-97.3z"/></g><defs><path id="SVGID_9_" d="M655.3 465c-7.9-4.6-15.5-12.2-20.3-17.8-16.3 29.1-34.8 61.3-54.7 86L617 567s33.7-45.6 67.3-93.7c-8.8-1-20.4-3.3-29-8.3z"/></defs><clipPath id="SVGID_10_"><use xlink:href="#SVGID_9_" overflow="visible"/></clipPath><g class="st20"><path class="st10" d="M566 408.3h142v184H566z"/><path class="st11" d="M667.1 444.3s-54.5 92.5-86.8 122.7l27.4 28 104.6-128.7-45.2-22z"/></g><defs><path id="SVGID_11_" d="M794.3 215s52.4 12.2 69.3 15.8 41-1 57.5-33.4c14.7-28.9 39.9-90.8 44.2-100.8s10.7-14.8 12.6-17c2.6-2.9 4.4-6.3 5.3-10.1 1.2-4.7.6-17.3-5.4-20.4-2.9-1.5-16.9-6-16.9-6-1.6-.5-10.2-.3-13.9 5.4-2.5 3.9-2.6 11.5-2.6 11.5-.8-2-2.4-3.5-4.4-4.1-3.4-1-7.4-1.5-5.9 1.7 3 6.2 10.8 25 6.7 35.4-2 5.1-30.8 67.9-37.1 81.3s-16.2 27.4-42.5 23.1-88.7-21.3-88.7-21.3l21.8 38.9z"/></defs><clipPath id="SVGID_12_"><use xlink:href="#SVGID_11_" overflow="visible"/></clipPath><g class="st21"><path class="st10" d="M729.5-4.3h262.9v250.5H729.5z"/><path class="st22" d="M979.2 57.4l-3.6 4.9c-6.7 2.2-8.5-.7-18.7-4.2-4.9-1.8-9.1-4.9-12.4-9l-.2 11c1.5 2.4 2.8 5 3.9 7.6 0 0 11.9.4 14.4 11.5 0 0 6.2-6.3 13-6.8 2.8-4.3 3.5-8.7 3.6-15z"/><path class="st11" d="M772.5 184.3s65.5 27.1 88.4 32.5c9.6 2.3 25.6 2.6 37.7-7 19.4-15.5 50.3-94.2 53.3-103.5 5.8-17.8 22.7-30.2 29.5-30.2s-68.1 167.1-68.1 167.1l-133.7-23.4-7.1-35.5z"/><g class="st23"><path class="st24" d="M967.9 42.9c-1.7.1-3.4.4-5.1.9-1.7.5-3.3 1.1-4.9 1.9-.9.5-1.7 1-2.5 1.6l-1.1 1-1 1.1-.5.6-.4.6c-.3.4-.5.8-.7 1.3-.3.9-.6 1.8-.8 2.7-.2.9-.3 1.8-.4 2.7-.1.9-.1 1.7-.1 2.4s.1 2.8.1 3.7v1.4c.1.6-.3 1-.9 1.1-.6.1-1-.3-1.1-.9v-1.5c0-.9 0-2.2.1-3.8s.1-1.6.3-2.5c.1-.9.3-1.9.6-2.8.3-1 .6-2 1.1-2.9.2-.5.5-1 .8-1.4l.5-.7.6-.6 1.2-1.1 1.3-.9c.9-.6 1.8-1.1 2.7-1.5 1.6-.7 3.3-1.3 5.1-1.6 1.7-.4 3.4-.7 5.1-.8z"/></g><g class="st23"><path class="st24" d="M972.7 44.8l-1.3.3-1.5.4-1.9.7-2.1 1.1-2.2 1.4c-.7.5-1.4 1.1-2.1 1.8-.7.7-1.3 1.4-1.8 2.2l-.4.6-.3.6c-.2.4-.4.9-.5 1.3-.3.9-.6 1.8-.8 2.7-.2.9-.3 1.8-.4 2.6s-.2 1.6-.2 2.4-.1 2.7-.1 3.5v1.3c0 .6-.4 1-1 1s-1-.4-1-.9c0 0 0-.5.1-1.4s.1-2.2.3-3.7.2-1.6.4-2.4.4-1.8.6-2.7c.3-1 .6-1.9 1-2.8.2-.5.4-.9.7-1.4l.4-.7.4-.6c.6-.8 1.3-1.6 2.1-2.3.7-.7 1.5-1.3 2.3-1.8l2.4-1.3 2.2-1c1.6-.6 3.2-1 4.9-1.2l-.2.3z"/></g><g class="st23"><path class="st24" d="M978.8 46.9l-1.2.4c-1.1.4-2.1.9-3.1 1.4l-2 1.2-2 1.5-1 .9-1 1-.9 1.1-.4.5-.4.6c-.3.4-.5.8-.7 1.2-.2.4-.4.8-.5 1.2-.3.9-.5 1.7-.7 2.6-.2.9-.3 1.7-.4 2.5s-.2 1.5-.2 2.2-.1 2.6-.1 3.4v1.3c0 .6-.4 1-1 1s-1-.4-1-.9v-1.4c0-.9.1-2.1.3-3.5s.2-1.5.4-2.3.4-1.7.6-2.6c.2-.9.5-1.8.9-2.7.2-.4.4-.9.6-1.3l.8-1.3.5-.6.5-.5 1-1 1-1 1.1-.9 2.2-1.4 2.1-1.1c1.4-.7 2.9-1.2 4.5-1.5h.1z"/></g><path class="st25" d="M945.1 58.7c.5 1.2 1.1 2.3 1.9 3.4.7 1 1.8 2 2.8 2 .3 0 .5.1.6.4.2.5.5 1 .8 1.5.3.4.8.8 1.3 1 1.1.4 2.3.5 3.4.3.2 0 .5.1.6.3l.6.8.3.4.3.3.4.3.4.2.8.3c.6.1 1.2.1 1.8-.1l2-.6c.3-.1.7 0 .8.3v.1c.2.6.6 1.2 1.1 1.6.5.4 1.2.5 1.8.4 1.4-.3 2.7-.9 3.8-1.8h-.1l4.9-6.4h.3c.1 0 .2.2.1.3l-4.2 6.8h-.1c-.7.5-1.4.9-2.1 1.3-.7.4-1.6.7-2.4.8-.9.1-1.8-.1-2.6-.6-.7-.5-1.2-1.3-1.5-2.1l.8.4-2.1.6c-.7.2-1.5.3-2.3.2l-1.2-.4-.5-.3-.5-.4-.4-.4-.4-.4-.6-.9.6.3h-2c-.7 0-1.4-.2-2.1-.5l-.9-.6-.8-.8c-.4-.5-.8-1.2-1-1.8l.6.4c-.8-.1-1.6-.4-2.2-.9-.6-.5-1.1-1-1.5-1.6-.8-1.1-1.6-2.4-2.1-3.7-.1-.3 0-.7.3-.8s.7 0 .8.3l-.3.1z"/><path class="st26" d="M930.9 55.7s10.6 6.2 13.2 16.8-8.3 26.6-8.3 26.6l-4.9-43.4z"/></g><defs><path id="SVGID_13_" d="M766.1 174.2l-91.7-26.5s-56.3-14.5-85.7 14.9C565 186.3 524.4 257 524.4 257l-6.5 9.9c-3.2 4.8-6.1 10.5-4.6 17.3 3.1 14.5 7.7 17.2 7.7 17.2 3.7 4 9.4 6.4 14.9 7 12.5 1.3 17.1-4.8 17.1-8.5v-1.5l1-.6c1.5-.9 3.6-3.2 4.7-6.5s1.7-7.8.2-12.8c-1-3.5-2.3-4-1.9-12.8.5-12.3 48.7-75.7 48.7-75.7s21.8-27.5 62.7-11.7c37.8 14.7 39.6 59.5 39.6 59.5l58.1-63.6z"/></defs><clipPath id="SVGID_14_"><use xlink:href="#SVGID_13_" overflow="visible"/></clipPath><g class="st27"><path class="st10" d="M482.1 101.4h303.3v232.8H482.1z"/><path class="st28" d="M501 290.6s36.8 16.4 46.4 2.9c0 0 0 6.5 5.7 4.8 2.3-.7 3.7 10.1 4.7 10.1 3.3 0-42.1 12.6-42.1 12.6L501 290.6z"/><g class="st23"><path class="st24" d="M527.5 289v1.3c.1 1.1.3 2.2.6 3.3.3 1.5.8 3 1.5 4.4.4.8.8 1.5 1.3 2.2l.8 1 .9 1 2 1.7 2.2 1.3c1.3.7 2.7 1.3 4.2 1.6l1.8.3h2.6c.6 0 1 .4 1 1s-.4 1-1 1H544l-1.5-.2-2-.4c-1.6-.4-3.1-1.1-4.5-1.9l-2-1.6c-.7-.6-1.4-1.2-2.1-1.9l-.9-1.1-.9-1.2c-.5-.8-.9-1.6-1.3-2.4-.6-1.5-1.1-3-1.4-4.6-.2-1.1-.3-2.3-.4-3.4v-1.3c0-.2.1-.3.2-.3s.4 0 .3.2z"/></g><g class="st23"><path class="st24" d="M536.1 289.7v1.2c-.1 1 0 1.9.2 2.9.1.6.3 1.2.5 1.8.3.7.6 1.3.9 1.9l.6 1 .7.9c.5.6 1 1.2 1.6 1.8 1.1 1.1 2.4 2 3.8 2.6l2 .7 1.9.3h4c.6-.1 1 .3 1.1.9.1.6-.3 1-.9 1.1h-2.6l-1.8-.2-2.1-.5-2.2-.9c-1.5-.8-2.9-1.8-4.1-3-.6-.6-1.1-1.3-1.6-2s-.9-1.4-1.3-2.1c-.4-.7-.7-1.4-.9-2.1-.2-.7-.4-1.3-.5-2-.1-1-.1-2.1 0-3.1v-1.1c.1-.2.4-.3.5-.2.1 0 .1.1.2.2v-.1z"/></g><g class="st23"><path class="st24" d="M519.5 288.9v1.4c.1 1.2.3 2.4.6 3.5.5 1.6 1.2 3.1 2.1 4.5l.8 1.1.9 1.1 2.1 1.9c1.5 1.2 3.2 2.2 4.9 3 1.5.7 3.1 1.3 4.7 1.8l1.9.5 1.5.2h1.3c.6 0 1 .4 1 1s-.4 1-1 1h-1.5l-1.6-.3-2.1-.6c-1.7-.6-3.3-1.3-4.9-2.1-1.8-.9-3.5-2.1-5-3.4-.8-.7-1.5-1.4-2.2-2.2l-.9-1.2-.8-1.2c-.9-1.5-1.6-3.2-2.1-4.9-.3-1.2-.5-2.5-.5-3.7v-1.4c0-.2.1-.3.2-.3s.3.1.3.2l.3.1z"/></g><g class="st23"><path class="st24" d="M554.5 298.5h-.3l-.8.3c-.9.3-1.9.3-2.9.1l-.9-.2-.9-.4c-.6-.4-1.2-.9-1.6-1.5-.4-.7-.6-1.5-.6-2.3 0-.5.2-.9.4-1.3l.5-1c.7-1.3 1.2-2.6 1.5-4 .1-.6.2-1.3.3-1.9v-1.7c-.1-.9-.3-1.7-.6-2.5l-.4-.9c-.1-.1 0-.2.1-.3h.3l.5.9c.4.9.7 1.8.8 2.7.1.6.1 1.3.1 1.9 0 .7-.1 1.4-.2 2.1-.3 1.5-.8 2.9-1.5 4.2l-.5 1c-.1.3-.2.5-.2.8 0 .6.2 1.2.5 1.7s.8.9 1.3 1.2l.7.4.8.2c.8.2 1.7.2 2.5 0l.7-.2h.2c.2 0 .4.2.4.4 0 .1 0 .1-.1.2l-.1.1z"/></g><path class="st11" d="M730.5 207s-31.7-38.2-73.1-44.4c-25.1-3.7-38.1 0-57.4 16.4-13.5 11.5-45.1 65.1-43 86.7S730.5 207 730.5 207z"/></g><defs><path id="SVGID_15_" d="M728.8 166.8s5.5 21.2-.8 33.8-21.2 19.2-21.2 19.2 8.5 32.7 2.5 51-25.2 73-25.2 73-37.6 54.4-1.1 67.8c34.1 12.5 50.2 4.3 60 0s60.3-35.6 60.3-35.6-19.6-5.1-19.6-31.8 15.4-29.9 15.4-29.9l-25.4 9s13.7-50.8 20-57.1 20.6-20.7 24.6-32.5-22.8-40.4-22.8-49.8l-5-1.5s6.5 26.7-12.8 22.5-34.9-29.2-34.9-34l-14-4.1z"/></defs><clipPath id="SVGID_16_"><use xlink:href="#SVGID_15_" overflow="visible"/></clipPath><g class="st29"><path class="st18" d="M661.7 121.2h184.7V463H661.7z"/><path class="st19" d="M792.6 351.3s-48.3 23.9-80.9 25c-27.5.9-36-2.4-36-21.4L647 393l49 49.3 92.1-24 27.1-41.3-22.6-25.7z"/></g><defs><path id="SVGID_17_" d="M819.1 106h3.6c3.6 0 6.5-2.9 6.5-6.5v-.4c-2-27.4-6.7-66.7-18.1-80.1-15.4-18-45-13.6-53.8-11s-44.2 12-39.7 57 24.2 59.4 26.7 69.5 2.3 25 2.3 40.3c0 0 3.1 32.2 26.8 32.2s13.6-28.2 13.6-28.2l3.6-28.3c7.3-2.6 13.9-6.7 19.4-12.1 8.4-8.5 11.9-20.8 9.1-32.4z"/></defs><clipPath id="SVGID_18_"><use xlink:href="#SVGID_17_" overflow="visible"/></clipPath><g class="st30"><path class="st10" d="M842.2 226.9l-142.5-8.5V-12.7l142.5 8.5z"/><path class="st26" d="M798.1 148.4s-12.4 5.6-28.2 2.5c2.6 25.2 20.5 43.3 20.5 43.3l7.7-45.8zM780.8 17.1s-52.8 66.3-36.5 94.3-10.3 51.2-10.3 51.2L693 60l87.8-42.9z"/><path class="st31" d="M737.5 87.8s22.4-20.5 28.6-41.3c0 0 35.9-14 46.1-29.5 0 0-14.9-19.8-52.7-11.1-30 6.9-52.4 32-48.6 56 5 31.8 19.9 59.3 19.9 59.3s-10.8-34.9-4.6-48.8c2.5-5.6 18.1-8.5 18.1-16.8-1.5 10.9-3.8 21.6-6.8 32.2z"/><path class="st11" d="M832 106.3h-21.9s10.3 3.7 6.2 24.8l15.7-24.8z"/></g><ellipse class="js-onboarding-ed-anim-ghost-girl-eye onboarding-ed-anim-ghost-girl-eye--left" cx="811.1" cy="71.4" rx="3.4" ry="5.6"/><ellipse class="js-onboarding-ed-anim-ghost-girl-eye onboarding-ed-anim-ghost-girl-eye--right" cx="775.9" cy="68.7" rx="3.7" ry="6.6"/><path class="js-onboarding-ed-anim-ghost-girl-face" d="M806.7 119.6s-17.3-11.1-26.7-7.5c-5.2 2-6.8 5.5-6.8 10.4s4.2 8.6 9.8 8.6 17.2-5 23.7-11.5zM773.4 52.6l2.2-1.5 1.1-.7 1.2-.7 2.7-1.5 2.7-1.5 1.2-.7 1.1-.6.9-.5.7-.4.7-.3c.2 0 .3.1.3.3v.1l-.4.6-.5.7-.8.9c-1.4 1.4-3 2.6-4.8 3.6l-2.9 1.3-1.4.5-1.3.4c-.9.2-1.8.4-2.7.5-.1 0-.3-.1-.3-.2 0-.2.1-.3.3-.3zM807.3 45l1.2 2.1 1.2 2.1.7 1.2.7 1.2.8 1.1.8 1.1.8 1 .7.9.6.7.5.5.5.5c.1.1.1.2 0 .3h-.2l-.6-.2-.7-.3-.9-.5-1-.7-1-.9-1-1.1-.9-1.2-.8-1.3-.6-1.3c-.4-.8-.7-1.6-.9-2.4-.2-.8-.4-1.7-.4-2.5 0-.2.1-.3.3-.3h.2z"/><g><defs><path id="SVGID_19_" d="M683.4 344.8c13.4-12.3 36.7-27.4 67.6-25.8 7.8.3 15.5 1.7 22.9 4.3 1.8-6.4 13.9-50.5 19.8-56.3s23.3-20 27.3-31.8-22.9-43.3-22.9-52.7l-10.7-2.5s8.1 25.2-11.2 21-32.3-28.6-32.3-33.4l-17.9-5.1s6.3 23.9 0 36.5-21.7 19.5-21.7 19.5 8.7 33.1 2.7 51.4c-5.1 15.7-19.5 61.5-23.6 74.9z"/></defs><clipPath id="SVGID_20_"><use xlink:href="#SVGID_19_" overflow="visible"/></clipPath><g class="st32"><path class="st33" d="M665.9 125.2h173.4v237.2H665.9z"/><path class="st34" d="M712.4 187.7s31.9 38.3 59.5 44.3 48.5-4.8 48.5-4.8l9 4.8-50 140.5-127.9-3.7 60.9-181.1z"/><path class="st35" d="M818.7 240.6s-13.2 23.9-66.1 23.1c0 0 40.4 14.9 62.6 2.1 22.2-12.8 3.5-25.2 3.5-25.2z"/></g></g><path class="st36" d="M796.8 314.9l1.5-.6-1.5.6z"/><path class="st37" d="M731.7 94.8c0 5-13-2.2-12.5-19 .2-7.8 6.8-8.8 10.8-8.2 2.2.4 3.7 2.4 3.5 4.6-.6 5.7-1.8 16.6-1.8 22.6z"/><ellipse transform="rotate(-85.2 731.828 78.892)" class="st38" cx="731.8" cy="78.9" rx="4.9" ry="4.5"/><g class="st39"><path class="st7" d="M699.9 66.6l-.7.3c-.6.3-1.2.7-1.7 1.1-.8.6-1.5 1.4-2.1 2.2-.8 1.1-1.5 2.2-2 3.4-.6 1.5-1.1 3-1.5 4.5-.4 1.7-.8 3.4-1.1 5.4s-.4 2-.6 3.1-.5 2.1-.8 3.2-1.3 4.2-2 6.3c-1.5 4.1-3.5 8-5.9 11.7-1.1 1.7-2.3 3.4-3.6 4.9-1.2 1.4-2.4 2.7-3.8 3.9-1.2 1-2.4 1.9-3.7 2.7-1 .6-2.1 1.1-3.2 1.6l-1.2.4-.9.3-.8.2c-.2 0-.3-.2-.3-.3 0-.1 0-.1.1-.2l.7-.4 1.8-1.2c.9-.6 1.7-1.3 2.5-2.1 1-1 2-2 2.9-3.1 1.1-1.3 2-2.7 2.9-4.1.9-1.5 1.9-3.1 2.8-4.9 1.8-3.6 3.4-7.4 4.7-11.3.7-2 1.2-4 1.8-6l.7-3c.2-1 .4-1.9.6-2.9.4-2 1-4.1 1.7-6 .7-1.8 1.6-3.5 2.7-5 1-1.4 2.1-2.5 3.5-3.5 1-.8 2.2-1.3 3.4-1.7.8-.2 1.6-.3 2.4-.3h.9c.2 0 .3.2.2.4l-.2.2-.2.2z"/></g><g class="st39"><path class="st7" d="M728.7 38.4l.3-.7 1.1-1.9c3.2-5.3 7.2-10 11.9-14.1 1.6-1.3 3.3-2.6 5-3.7l2.7-1.7 2.9-1.5 3-1.2.4-.2h.4l.7-.2 1.5-.5c2-.6 4-1.1 6-1.5 1.9-.4 3.8-.6 5.7-.8l5.2-.2h2.3l2.1.2 3.3.5 2.1.5.6.2h.2c.6.4.8 1.2.4 1.8-.2.4-.6.6-1 .6h-.8l-2-.3-3.1-.2h-4.1l-4.8.4-5.3.9-5.6 1.4-1.5.5-.7.2h-.7l-2.7 1.1-2.6 1.3-2.5 1.5c-1.6 1-3.2 2.1-4.7 3.3-2.7 2.1-5.2 4.5-7.5 7.1l-2.7 3.1-2 2.5-1.2 1.6-.4.6c-.3.5-1 .6-1.5.3s-.6-.9-.4-1.4v.5z"/></g><g class="st39"><path class="st7" d="M763.1 36.6v1.6c-.1 1.3-.2 2.7-.5 4-.3 1.9-.8 3.7-1.4 5.5-.3 1-.7 2-1.1 3l-1.2 3.1-1.4 3c-.5 1-1 1.9-1.5 2.8l-1.5 2.6-1.4 2.3-1.3 1.9-1.1 1.4-.9 1.2c-.2.2-.5.1-.7-.1-.1-.1-.1-.3-.1-.4l.6-1.4.8-1.5.9-2 1.1-2.4 1.2-2.7 1.2-2.9 1.2-3c.4-1 1.5-4 2.1-5.9l1-2.7.9-2.5.8-2.1.6-1.6.6-1.4c.2-.3.5-.4.8-.2.2.1.3.2.3.4z"/></g></g></svg>'
- });
- this["DDG"]["templates"]["hp_onboarding_ed_slide3"] = Handlebars.template(function(e, f, b, a, c) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, e.helpers);
- c = c || {};
- return '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1200" height="410" viewBox="0 0 1200 410" preserveAspectRatio="xMidYMax" class="onboarding-ed__image--animated"><style>.st0{fill:#fff}.st1{clip-path:url(#SVGID_2_)}.st2{fill:#f0c090}.st3{fill:#d9b17d}.st4{fill:#d1ab78}.st5{clip-path:url(#SVGID_4_)}.st6{fill:#f7d09e}.st7{fill:#f7dbb4}.st8{fill:#f0b890}.st9{fill:#e6be8a}.st10{fill:#cfaa7c}.st11{fill:#876c44}.st12{clip-path:url(#SVGID_6_)}.st13{fill:#e1eff5}.st14{fill:#c9e6f5}.st15{fill:#db9f7e}.st16{fill:#64cf00}.st17{fill:#50a600}.st18{clip-path:url(#SVGID_8_)}.st19{fill:#f5be94}.st20{fill:#c47e59}.st21{opacity:.8;fill:#c77e57;enable-background:new}.st22{fill:#f5cd9d}.st23{clip-path:url(#SVGID_10_)}.st24{fill:#71787d}.st25{fill:#565a5e}.st26{fill:#868d94}.st27{fill:#dec19b}.st28{fill:#868e96}.st29{fill:#cad6e3}.st30{fill:#ced4db}.st31{opacity:.45;fill:none;stroke:#949da6;stroke-width:4;stroke-linecap:round;stroke-miterlimit:10;enable-background:new}.st32{fill:#bad7eb}.st33{fill:none;stroke:#fff;stroke-width:2;stroke-miterlimit:10}.st34{fill:#a1c9db}.st35{fill:#7ba1b5}.st36{fill:#e8f2f7}.st37{fill:none;stroke:#fff;stroke-miterlimit:10}.st38{fill:#e3f2fa}.st39{opacity:.45}.st40{fill:#949da6}.st41,.st42{fill:none;stroke:#fff;stroke-width:4;stroke-linecap:round;stroke-miterlimit:10}.st42{opacity:.15;stroke:#000;stroke-width:2;enable-background:new}.st43{stroke-width:1.5}.st43,.st44{opacity:.15;fill:none;stroke:#000;stroke-linecap:round;stroke-miterlimit:10;enable-background:new}</style><g><circle class="st0" cx="319.7" cy="258" r="16.7"/><g class="js-onboarding-ed-anim-bathtub-arm"><defs><path id="SVGID_1_" d="M461.4 90.4c-1.3-11.5-6.5-22.2-14.8-30.3-15.9-14.8-39.8-16.5-60.4-13.9-25 3.2-49 10.2-72.6 18.7l-1.1.4-19 6.8c-2.8.6-12.9 1.6-22.1 5.5-5.5 2.5-10.3 6.2-14 11-.8 1.1-.9 2.5-.3 3.7l8.7 17.2s12.3.5 21.9-5c5.5-3.1 10.8-6.7 15.8-10.7 0 0 9.9-6.3 16.1-8.4 23.1-8 47.1-15.3 71.6-17.2 10.7-.8 22.1-.6 32.2 3.7 8.4 3.7 14.1 11.7 15 20.8.5 5.8-1.2 12.3-4.1 18.4-3.1 6.2-6.9 12-11.4 17.3-4.2 5-8.7 9.8-13.5 14.3-9.1 8.4-18.8 16.1-29.1 23.1-.7.5-3.2 1.7-3.3 2.5s.5.8.6 1.1c.6 1.1 1.3 2.1 2 3.1l10.4 16.4c1-.6 2-1.2 2.9-1.9 11.8-8 22.9-17 33.1-26.9 5.5-5.2 10.6-10.8 15.4-16.7 5.6-6.9 10.4-14.4 14.2-22.4 4.3-9.4 6.9-20.2 5.8-30.6z"/></defs><clipPath id="SVGID_2_"><use xlink:href="#SVGID_1_" overflow="visible"/></clipPath><g class="st1"><path class="st2" d="M209.8 15.9h265.7v191H209.8z"/><path class="st3" d="M388 166.9s37.9-9.4 62.6-49.8c4.9-8.1 11.6-25.7 9.9-35.7 0 0 12.6 13.3-3.8 53.3-4.1 10-53.5 55.2-53.5 55.2l-15.2-23zM302.5 96.1s4.9-8 2.4-14.7 7.6-10.5 7.6-10.5 8.3-3.7 9.6-10.2 10.6-5.5 10.6-5.5l1 31.3-31.2 9.6zM429.5 45.3s-7.5 17.3.3 30.8c0 0-25.7-.2-26.5-1s7.1-37.1 7.1-37.1l19.1 7.3z"/></g><path class="st4" d="M267.8 85.9s1.9-3.8 8.1-5.9 13.2-.6 13.2-.6l4.5 20.9-22.8 3.4-3-17.8z"/></g><defs><path id="SVGID_3_" d="M410.7 35.7s13.1 44.2 6.9 68.6c-.1.4-.4.6-.8.6l-6.3-.3c-1.5 6.5-3.3 12.9-5.5 19.2-2.3 6.5-13.2 8.4-13.2 8.4s-4.7 5-4.2 16.9 1.6 12.4 6.9 18.5 23.3 36.7 25.5 65.4 3 39.6 3 39.6H319.3s-5.5-48.8 6.3-77.1 13.4-32.4 18.9-42.2 7.5-25.7 3.5-31.5-11.5-16.8-14.4-34.1C331 72.4 331 54.1 331 54.1s45.6-35.3 79.7-18.4z"/></defs><clipPath id="SVGID_4_"><use xlink:href="#SVGID_3_" overflow="visible"/></clipPath><g class="st5"><path class="st6" d="M291.3 3.6h155.1v292.2H291.3z"/><path class="st7" d="M377.9 142.2s28.6 34.8 28.6 135.3h27.7l-22.3-107.7-34-27.6z"/><path class="st8" d="M397.3 130.2c-7.1 3.2-14.6 5.4-22.3 6.5 0 0 13 25.2 21.6 32.9l.5.4c8.5 7.2.2-39.8.2-39.8z"/><path class="st9" d="M380.8 47.5s-31.6 21.1-29.9 59c.1 2.2.5 4.3 1.3 6.4l6 16.4c.6 1.5.8 3.2.6 4.8 0 0 2.1 30-8.1 42.9-2.4 3.1-4.1 17.8-4.2 19.2-2.1 18.5-2 44.1-3.9 78.6h-40.5l12.4-232.9 66.3-7.6v13.2z"/><path class="st10" d="M325.1 69.5s13.2-.2 41.2-10.2c19.9-7.1 51.2-4.5 51.2-4.5l-1.2-13-50.5-.5-40.7 16.8v11.4z"/><path class="st11" d="M326.3 54.9l4.7 52.7s9.5-15.1 9.5-27.2-3.4-11.8 5-14.2c5.2-1.5 1 8.5 4.3 7.7s7.3-8 10.2-10.9c18.3-18.3 23-15.4 22-26.2s-49.4-7.6-55.7 18.1z"/><path class="st7" d="M415.2 54.4s2.8 26.5-2 50.7l7.3 4.2s3.8-37.9-5.3-54.9zM391.7 132.2s7.4-3.2 10.2-9.8c1.9-4.8 3.4-9.8 4.5-14.8l4.1-3v22.7l-13 7.2-7.2-3.2"/></g><ellipse id="open_eye" transform="rotate(-82.6 393.837 74.14)" cx="393.8" cy="74.1" rx="4.8" ry="2.5"/><ellipse id="blinked_eye" transform="rotate(-82.6 393.837 74.14)" cx="393.8" cy="74.1" rx=".5" ry="2.5"/><defs><path id="SVGID_5_" d="M322.5 57.5c.4-5 12-7.8 2.3-11-7.5-2.5-7.1-10.5-5.3-13.9s9.1-14.1 17.2-19.1 19.3-10.4 31.2-5c0 0 15.7-6.3 27.8-4.7s23.6 4.1 25.7 21.7c.9 7.3-.1 13.4-3.6 14.4s-3.7 4.1-3.7 4.1 8.7-1.9 10 2.5c.8 2.9-1.1 3.9-6.6 3.9-2.1 0-6.7.1-9-2.3-4 2.2-8.8 2.3-12.9.2 0 0-5.3 7-14.1 2.1 0 0-4.8 6.7-12.9.7 0 0-7 6-13.4 1.7 0 0-7.7 7.2-15.5 1.5-1.7 2.6-4.2 4.7-7.1 6-3.6 1.6-10.5 2.1-10.1-2.8z"/></defs><clipPath id="SVGID_6_"><use xlink:href="#SVGID_5_" overflow="visible"/></clipPath><g class="st12"><path class="st0" d="M302.9-1.2H441v66H302.9z"/><path class="st13" d="M325.1 12.1s-7.5 29.7 26.1 31h2.3c36.2 0-42.5 7.7-42.5 7.7s-13.7-22.7 14.1-38.7zM425.5 7.6s2.5 34.3-45.7 35.6l34.1.8s39.4-20.4 11.6-36.4z"/><path class="st14" d="M320 54.9c3.4.4 6.9.1 10.2-.8 5.2-1.6 9.6-2.8 15.3-2.8s10.9-2.8 12.6-2.8 2.6 2.5 5.9 1.3 8.3-2.3 10.5-1 4-2 5.2-2 3.4 2.4 7.2 2.4 5.5-3.5 7.7-3.5 6 1.8 7.3 1.8 4.2-1.6 6.8-1.6 4.2 1.6 4.8 1.6 8.7.9 11-2.7l2 7.2-111.3 13.5 4.8-10.6z"/></g><path class="st15" d="M383.7 189.8s5.2 37 2 85h6s3.8-48-8-85z"/><path class="st7" d="M383.7 189.8c-1.4 28.8-4.3 57.5-8.9 85.9h11.1s6.6-47.2-2.2-85.9z"/><circle class="st0" cx="337.8" cy="202.3" r="5.2"/><g class="js-onboarding-ed-anim-bathtub-brush"><path class="st16" d="M333.7 190l-4.6 2.3c-.5.3-1.2.1-1.5-.5l-62.1-126c-.2-.4-.1-.9.2-1.2.7-.8 1.6-1.4 2.5-1.8.9-.4 1.8-.6 2.8-.8.5-.1 1 .2 1.2.6l62.1 126c.2.6-.1 1.2-.6 1.4z"/><path class="st0" d="M350 185.3l-4.9-10.6c-.2-.6-.9-.8-1.4-.6-.2.1-.3.2-.5.4h-.1c-.3.5-1 .6-1.5.3s-.6-.9-.4-1.4c.6-1.7.8-3.4.7-5.2 0-.1 0-.3-.1-.4l-2.6-5.5c-.3-.6-.9-.8-1.5-.5-.1.1-.2.1-.3.2-.8.8-1.7 1.5-2.7 2.1 1.7-1.6 2.6-3.8 2.5-6.1 0-.1 0-.3-.1-.4l-1.4-3c-1.2-2.3-3.9-3.3-6.3-2.4-.3.1-.5.3-.6.5-1.9 3.6-3.6 2.9-8.8 5.8-2.9 1.7-4 5.3-2.6 8.3l15 30.4c1.2 2.5 4.2 3.5 6.7 2.3 12.7-3.7 12.2-11.7 10.9-14.2z"/><path class="st16" d="M340.3 199.1l-9.1 4.5c-2.5 1.2-4.9-.4-6.1-2.9l-15.5-31.3c-1.1-2.2-.4-4.9 1.6-6.3 4.6-2.9 4.1-12.7 5.5-9.9s2.6 5.3 4.6 4.4 5.5.3 6.7 2.7l15 30.5c1.6 3 .4 6.7-2.6 8.2 0 .1-.1.1-.1.1z"/><path class="st17" d="M329.9 191.9l-.8.4c-.5.2-1.1.1-1.4-.4-2.9-4.8-17.1-28.4-16.5-28.7s.5-3.9.4-4.2L266 66.5c-.2-.6 0-1.2.6-1.5h.1l.6-.2c.5-.2 1.1 0 1.4.5l45.6 92.6c.7 1.5 2.3 2.7 3.9 1.8s10.3 25.6 12.3 30.8c.2.6-.1 1.2-.6 1.4z"/><path class="st17" d="M312.2 162.8l5.7-2.8c3-1.5 6.7-.2 8.2 2.8l14.5 29.6c1.5 3 .2 6.7-2.8 8.2l-5.7 2.8c-3 1.5-6.7.2-8.2-2.8L309.4 171c-1.5-3.1-.2-6.7 2.8-8.2z"/><defs><path id="SVGID_7_" d="M264.7 84.7c2.9-1 9.2-2.3 11.5 0s7.9 12.9 8.1 14.7c.4 4.8-2.7 9.3-7.4 10.6-3.6 1.2-7.5 1.2-11.1 0-3.3-1.2-7.4-12.9-9-17.7-.4-1.2 0-2.5 1-3.3 2-1.8 4.4-3.3 6.9-4.3z"/></defs><clipPath id="SVGID_8_"><use xlink:href="#SVGID_7_" overflow="visible"/></clipPath><g class="st18"><path class="st19" d="M245.5 76.1H294v43.8h-48.5z"/><path class="st4" d="M264.8 81.9c-1 13.5 4.7 25.2 18.7 34.9l-27.4-2.8-6.3-21.9 15-10.2z"/><path class="st20" d="M261 93.9h.8l2.2-.2c2.2-.4 4.4-1 6.4-1.9l1.6-.8 1.5-.9 1.3-1 1.1-1 1.5-1.6.5-.6c.1-.2.5-.3.7-.2.2.1.3.5.2.7v.2l-.4.5c-.5.6-1 1.2-1.5 1.7-.8.7-1.6 1.4-2.5 2l-1.6.9-1.7.8-1.8.6-1.7.5c-1.1.3-2.1.4-3.2.5h-3.1c-.1 0-.1-.1-.1-.2h-.2zM263.6 99.1c1.1.2 2.1.2 3.2.1l1.5-.2 1.7-.3 1.7-.5 1.7-.7 1.7-.9 1.5-1c.9-.6 1.7-1.3 2.5-2.1l1.5-1.7.4-.5v-.2c.2-.2.5-.1.7.1.1.1.1.3.1.4v.2l-.4.6c-.5.6-1 1.2-1.6 1.8-.8.8-1.7 1.5-2.6 2.2l-1.6 1-1.8.9-1.9.7-1.8.5c-1.1.2-2.3.3-3.4.3s-2.2-.2-3.2-.5c-.1 0-.1 0-.1-.1v-.1h.2zM266.4 105.3c1.1 0 2.1 0 3.2-.1l3.2-.4c1.2-.2 2.4-.6 3.5-1.1l1.6-.9 1.4-1.1c.8-.7 1.5-1.5 2.2-2.3l1.3-1.8.4-.7c.2-.2.5-.3.7-.1.2.1.3.3.2.5l-.4.8c-.4.7-.8 1.4-1.3 2-.7.9-1.5 1.7-2.4 2.4l-1.6 1.1-1.8.9c-1.2.5-2.4.8-3.7 1l-3.3.3h-3.2c-.1 0-.2-.1-.2-.2v-.1c0-.1.1-.2.2-.2z"/></g><path class="st2" d="M286.6 76.8c-.4-.4-1.1-.4-1.6 0v.1c-1 1.3-2.4 4.6-.5 11.7.7 2.6 2.1 7.8 4.8 10.1.4.4.5.9.2 1.4-2.5 4.1-1 13 1.8 15.7.5.4 1.1.4 1.6-.1.1-.1.1-.1.1-.2 1.1-2.2 3.6-7.5 5.4-11.4s3.8-7.8 4.7-9.7c.2-.4.1-1-.2-1.3l-16.3-16.3z"/></g><path class="st14" d="M334.8 47.5s6.3-10.5 1.8-15-6.3 2.3-2.6 3.6c1.8.6 2.3 7.9.8 11.4zM347.8 45.3s6.3-17.5 1.8-21.9-6.5 2.1-3 3.8 2.6 14.7 1.2 18.1zM406.6 41.8s1.4-7.4 5.3-7.6 2 3.6-.3 2.7-4.3 2.8-5 4.9zM400.5 41.3s-6.3-10.5-1.8-15 6.3 2.3 2.6 3.6c-1.8.7-2.3 8-.8 11.4zM370.4 11.6s-5.2 9.5-4.6 15.9 4.5 14.4 12.4 14.4c0 0-7.2-4.6-8.4-10.8s-.3-19 .6-19.5z"/><ellipse transform="rotate(-5.101 410.786 218.777) scale(.99996)" class="st21" cx="410.8" cy="218.8" rx="1.7" ry="2.8"/><path class="st22" d="M346.6 67.1s-10.1-3.3-10 8.5c.1 9.3 5.9 16.5 7.1 16.5 1.5-.1 2.7-1.5 2.6-3 0-.4-.2-.8-.4-1.2-.9-2.1-1.4-4.3-1.4-6.5-1.1.7-2.6.4-3.3-.7-.7-1.1-.4-2.6.7-3.3.9-.6 2-.5 2.8.1.4-2.8 1-5.5 1.9-8.2.2-.7.2-1.5 0-2.2z"/><circle id="mouth" cx="395.5" cy="113.9" r="1.8"/></g><g class="js-onboarding-ed-anim-bathtub-periscope"><defs><path id="SVGID_9_" d="M754.5 311.3L725 296.6c.2-.4 17.5-36.9 28.2-58.8 4.2-8.6 5.1-15.3 3.5-19-2.9-6.6-14.8-8.7-18.9-9.1l7-39.9c3.6.4 33.5 3.7 47.6 29 6.2 11 3.2 27-10 54.1-10.5 21.7-27.7 58.1-27.9 58.4z"/></defs><clipPath id="SVGID_10_"><use xlink:href="#SVGID_9_" overflow="visible"/></clipPath><g class="st23"><path class="st24" d="M698.2 155.5h115.9v177.7H698.2z"/><path class="st25" d="M729.9 199.9s34.7-.2 38.8 16.4-8.3 36.6-15.9 47.3c-4.8 6.8-9.9-6.6-9.9-6.6s9.5-28.5 3.9-22.9l-15.2-17.6-1.7-16.6z"/><path class="st26" d="M737.1 171.1s-2.8 13.7 19.2 16.5c14.4 1.8 26 9.8 29.6 20.8 7.1 21.7-17.2 62.2-16.3 71.4l43.7-76.4-30.5-41-46.8-7.2 1.1 15.9z"/></g><ellipse transform="rotate(-76.301 741.723 189.573)" class="st24" cx="741.7" cy="189.6" rx="20.4" ry="12"/><ellipse transform="rotate(-76.301 741.723 189.573)" class="st27" cx="741.7" cy="189.6" rx="17" ry="9.9"/><g class="js-onboarding-ed-anim-bathtub-periscope-eye"><path class="st0" d="M738.9 197.9c5.5 1.3 11.6-4.3 11.6-4.3s-2.5-8.5-8-10.2-9 3.2-9 3.2-2.3 9.5 5.4 11.3z"/><ellipse transform="rotate(-76.301 739.107 189.599)" cx="739.1" cy="189.6" rx="4.7" ry="2.9"/></g><ellipse transform="matrix(.04442 -.999 .999 .04442 555.246 918.702)" class="st0" cx="757.9" cy="169.1" rx="6.3" ry="6.3"/><ellipse transform="matrix(.04442 -.999 .999 .04442 575.53 940.91)" class="st0" cx="779.6" cy="169.6" rx="4.4" ry="4.4"/><ellipse transform="matrix(.04442 -.999 .999 .04442 546.065 914.557)" class="st0" cx="751.1" cy="171.8" rx="4.4" ry="6.6"/><path class="onboarding-ed-anim-bathtub--drip1 js-onboarding-ed-anim-bathtub-drip st0" d="M781.1 188.8c-.1 2.5-2.2 4.4-4.7 4.3-2.5-.1-4.4-2.2-4.3-4.7.1-2.4 3-22.2 5.4-22.1s3.7 20 3.6 22.5z"/><ellipse transform="matrix(.04442 -.999 .999 .04442 563.897 937.627)" class="st0" cx="772.1" cy="174" rx="8.3" ry="8.3"/><ellipse transform="matrix(.04442 -.999 .999 .04442 557.146 936.055)" class="st0" cx="767.9" cy="176.8" rx="8.2" ry="17"/><ellipse transform="matrix(.04442 -.999 .999 .04442 566.772 928.702)" class="st0" cx="768.8" cy="168.1" rx="8.6" ry="8.6"/></g><g id="Bath"><path class="st0" d="M871 238.4s-8 25.8-26.6 31.1h37.7s-4.8-8.7 0-28.1l-11.1-3z"/><path class="st28" d="M914.8 201.2h10.1v16.5h-10.1z"/><path class="st29" d="M926.9 279.8l-10.5-.8c-1.3-.1-2.3-1.2-2.3-2.5l-.7-41.3c.3-6-2.7-10-8.6-8.7s-17.3 3.5-21.1 19c-.2.9-.9 1.5-1.7 1.8-4.2 1.4-8.8 1.6-13.1.6-1.4-.4-2.2-1.8-1.8-3.2v-.1c1.5-4.3 5-13.2 9.9-19.6 14.5-19 44.8-14.1 47.8-13.8s5 4.4 4.9 7.9v58.2c0 1.4-1.1 2.5-2.5 2.5h-.3z"/><path class="st30" d="M929.1 207.1h-18.9l-2.5-20.5h23.9z"/><path class="st0" d="M874.4 239.8v-.6c.1-.4.2-1 .4-1.7s.5-1.6.9-2.6l.6-1.6.8-1.7c.6-1.2 1.3-2.4 2.1-3.6l.6-1 .7-.9c.5-.7 1-1.3 1.5-1.9 1.1-1.3 2.4-2.4 3.7-3.5l2.3-1.6 2.3-1.4c.8-.5 1.6-.9 2.4-1.2.8-.4 1.6-.7 2.4-1l2.5-.8 2.4-.6 4.6-.8 4.2-.4c2.1-.1 4.2 0 6.3.3l1.7.4.6.2c.3.2.4.6.2 1-.1.2-.3.3-.5.3h-4.8l-3.3.3-3.9.7-4.3 1-2.3.6-2.2.8c-.8.3-1.5.6-2.2.9l-2.1 1.1-2.1 1.2-1.9 1.4-1.8 1.5c-.6.5-1.1 1.1-1.7 1.6l-1.5 1.6-.7.8-.7.8c-.9 1.1-1.6 2.2-2.3 3.2l-.9 1.5-.8 1.4-1.2 2.3-.7 1.5-.2.6c-.1.3-.4.4-.6.3-.3-.1-.4-.4-.4-.6l-.1.2z"/><path class="st31" d="M925.5 218.7v52.1"/><path class="st32" d="M883.8 410c26.8-35 65.4-95.4 53.3-139.4H253.4c-3.8 54.8 16.7 98.8 45 139.4h585.4z"/><path class="st0 js-onboarding-ed-anim-bathtub-water onboarding-ed-anim-bathtub-water--3" d="M674.2 277.8s4-16.7 23.5-16.7 23.5 13 23.5 13 0-18.8 24-20.8 26.5 22.4 26.5 22.4 3.5-9.6 21-11.6 22.5 13.7 22.5 13.7 9.9-16.8 30-16.8c33.9 0 33.9 16.8 33.9 16.8H674.2z"/><circle class="st0 js-onboarding-ed-anim-bathtub-water onboarding-ed-anim-bathtub-water--2" cx="286.4" cy="267.2" r="20.1"/><circle class="st0" cx="317.5" cy="267.2" r="14.1"/><ellipse class="st0" cx="451.8" cy="265.9" rx="30.4" ry="21.8"/><ellipse class="st0 js-onboarding-ed-anim-bathtub-water onboarding-ed-anim-bathtub-water--1" cx="490.3" cy="274" rx="31.8" ry="22.9"/><circle class="st33 js-onboarding-ed-anim-bathtub-bubble onboarding-ed-anim-bathtub-bubble--3" cx="331.6" cy="224" r="8.3"/><path class="st0" d="M336.6 271.1s11.4-20 31.4-20 25.6 17.7 25.6 17.7 8.4-9.3 15-9.3 16.4 10 16.4 11.6h-88.4zM513 272.9s11.4-20 31.4-20 25.6 17.6 25.6 17.6 8.4-9.3 15-9.3 16.3 10.1 16.3 11.7H513z"/><path class="st34" d="M253.4 271.8c-.7 10.6-.5 21.2.6 31.8h684.3c1.7-11.1 1.6-21.9-1.1-31.8H253.4z"/><path class="st35" d="M253.4 272.7c-.4 6.3-.5 12.4-.3 18.4h686.3c.1-6.2-.7-12.4-2.3-18.4H253.4z"/><path class="st36" d="M244.2 285h724.3s2.3-20.6-16.6-20.6H261.2s-17-1-17 20.6z"/><circle class="st33 js-onboarding-ed-anim-bathtub-bubble onboarding-ed-anim-bathtub-bubble--2" cx="311.8" cy="207.5" r="5.4"/><circle class="st37 js-onboarding-ed-anim-bathtub-bubble onboarding-ed-anim-bathtub-bubble--1" cx="265.1" cy="242.6" r="2.7"/><circle class="st33 js-onboarding-ed-anim-bathtub-bubble onboarding-ed-anim-bathtub-bubble--4" cx="856.3" cy="246.7" r="5.4"/><g class="onboarding-ed-anim-bathtub--drip2 js-onboarding-ed-anim-bathtub-drip"><path class="st38" d="M341.9 370.3c0 9-2.4 11.7-5.4 11.7s-5.4-2.6-5.4-11.7 2.4-21 5.4-21 5.4 11.9 5.4 21z"/><path class="st0" d="M338.9 360.3c0 4.1-1.1 5.3-2.4 5.3s-2.4-1.2-2.4-5.3 1.1-9.5 2.4-9.5 2.4 5.4 2.4 9.5z"/></g><g class="st39"><path class="st40" d="M901 224.8c.9-.7 1.9-1.3 3-1.6l1.6-.4h2.9l1 .2 2 .8h.5l.4.3.8.6.8.7.7.8c.4.5.7 1 1 1.6.2.5.4 1.1.5 1.6.2.8.3 1.7.2 2.5 0 .3-.1.5-.1.7v.3c0 .2-.2.3-.3.3-.2 0-.4-.2-.4-.3v-.8l-.3-.9-.5-1.1c-.4-.9-.9-1.7-1.6-2.4l-.6-.5-.6-.5-.3-.2-.4-.2-.4-.2h-.3l-1.6-.6-1.6-.4c-1-.1-1.9-.2-2.9-.1l-2.2.3h-.8c-.2.1-.4 0-.5-.2-.1-.2 0-.4.1-.5l-.1.2z"/></g><path class="st41" d="M251 274.7h690.3"/><path class="st42" d="M919.4 188.5v16.6"/><path class="st43" d="M924.8 188.5l-.7 16.6M914.5 188.5l.4 16.6"/><path class="st44" d="M910.5 188.5l1.1 16.6M929.1 188.5l-1.5 16.6"/><circle class="st0" cx="333.1" cy="219.9" r="1.9"/><circle class="st0" cx="313.2" cy="205.9" r="1.4"/><circle class="st0" cx="857.2" cy="244.3" r="1.1"/><path class="st38" d="M358.9 267.9c-12.4 8.2-11 70.5-22.4 70.5s-3.3-61.7-18.9-70.5c-7.1-4 9.2-14.8 20.6-14.8s27.5 10.3 20.7 14.8z"/><path class="st0" d="M352.9 263.6c-8.8 5.8-7.8 49.9-15.9 49.9s-2.4-43.7-13.4-49.9c-5-2.9 6.5-10.5 14.6-10.5s19.5 7.3 14.7 10.5z"/></g></svg>'
- });
- this["DDG"]["templates"]["hp_onboarding_ed_slide4"] = Handlebars.template(function(e, f, b, a, c) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, e.helpers);
- c = c || {};
- return '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1200" height="420" viewBox="0 0 1200 420" preserveAspectRatio="xMidYMax" class="onboarding-ed__image--animated"><style>.st0{fill:url(#SVGID_1_)}.st1,.st2{fill:#8ab2db}.st2{opacity:.5;enable-background:new}.st3{clip-path:url(#SVGID_3_)}.st4{fill:#fff}.st5{fill:#c4e0ff}.st6{opacity:.3;fill:#07397a;enable-background:new}.st7{fill:#303c3d}.st8{clip-path:url(#SVGID_5_)}.st9{fill:#5d6063}.st10{fill:#4b4e52}.st11{fill:#6f7478}.st12{fill:#3e474d}.st13{clip-path:url(#SVGID_7_)}.st14{fill:#79a3c9}.st15{opacity:.1}.st15,.st16,.st17{enable-background:new}.st16{fill:#fff;opacity:.1}.st17{opacity:.2}.st18{clip-path:url(#SVGID_9_)}.st19,.st20{enable-background:new}.st19{fill:#fff;opacity:.2}.st20{opacity:.15}.st21{fill:#3e4e4f}.st22{fill:#eb5c00}.st23{clip-path:url(#SVGID_11_)}.st24{fill:#c74e00}.st25{fill:#ffb663}.st26{opacity:.3;fill:#0c3d5e;enable-background:new}.st27{clip-path:url(#SVGID_13_)}.st28{fill:#5e7578}.st29{fill:#7d5b47}.st30{fill:#473429}.st31{clip-path:url(#SVGID_15_)}.st32{fill:#7a9a9c}.st33{opacity:.6}.st34{fill:#222a2b}.st35{clip-path:url(#SVGID_17_)}.st36{fill:#db5600}.st37{fill:#c44d00}.st38{fill:#b53c00}.st39{clip-path:url(#SVGID_19_)}.st40{fill:#5a7073}.st41{fill:#48595c}.st42{clip-path:url(#SVGID_21_)}.st43{fill:#4c5f61}.st44{clip-path:url(#SVGID_23_)}.st45{fill:#506566}.st46{clip-path:url(#SVGID_25_)}.st47{fill:#3a70a3}.st48{fill:#22507d}.st49{fill:#72a0cc}.st50{clip-path:url(#SVGID_27_)}.st51{clip-path:url(#SVGID_29_)}.st52{fill:#ffae57}.st53{clip-path:url(#SVGID_31_)}.st54{fill:#e67a00}.st55{clip-path:url(#SVGID_33_)}.st56{fill:#263030}.st57{clip-path:url(#SVGID_35_)}.st58{clip-path:url(#SVGID_37_)}.st59{clip-path:url(#SVGID_39_)}.st60{fill:#9e552f}.st61{fill:#854521}.st62{fill:#cf8b68}.st63{fill:#2a3636}.st64{clip-path:url(#SVGID_41_)}.st65{fill:#405152}.st66{clip-path:url(#SVGID_43_)}.st67{clip-path:url(#SVGID_45_)}.st68{fill:#465859}.st69{clip-path:url(#SVGID_47_)}.st70{fill:#60787a}.st71{fill:#9e4212}.st72{fill:#717f87}.st73{fill:#e3eeff}.st74{fill:#c7deff}.st75{fill:#d47200}.st76{clip-path:url(#SVGID_49_)}.st77{opacity:.46;fill:#ffb663;enable-background:new}.st78{fill:#85380d}.st79{clip-path:url(#SVGID_51_)}.st80{clip-path:url(#SVGID_53_)}.st81,.st82{opacity:.8;fill:#def4ff;enable-background:new}.st82{opacity:.3;fill:none;stroke:#000;stroke-width:1.42;stroke-linecap:round;stroke-miterlimit:10}.st83{fill:#668082}</style><g id="Summit"><defs><path id="SVGID_2_" d="M891 466.7c.9.5 1.3 1.6.9 2.5-.3.7-1.1 1.1-1.9 1.1l-573.6.7 72.8-52.6c3-2.2 5.6-5 7.4-8.3 1.9-3.5 5-8.1 8.9-10.8 6.9-4.8 17.2-4.8 17.2-4.8s-10.4 2.8.3-.1 29-13.7 29-13.7 1.6-5.7 7.1-11.2 16.8-9.9 16.8-9.9l.7-.2 17.8-10.3c.1-.1-9.7 6.1.3-.2s18.5-23.9 26.7-25.2 35.1 5.5 35.1 5.5 5.6-4.5 11.6-5.1 5.6 3.2 5.6 3.2l3.9 2.3s-24.6-3.3.1.1 32.4 16 41.5 20.6 15.9-1.7 22.2.8c3.8 1.5 6.8 4.5 8.3 8.3.2.2 2.2 5.7 2.2 5.7 13.4 15.3 46.4 17 44.7 15.2h.4l22.8 1.9c.1 0-10.3 3.3.2 0s25.6.4 29.8 2.1 6.1 7.2 6.1 7.2-4-4.9.6.5 40 22.4 40 22.4c8.7 4.1 11.4 16.2 11.4 16.2l83.1 36.1z"/></defs><clipPath id="SVGID_3_"><use xlink:href="#SVGID_2_" overflow="visible"/></clipPath><g class="st3"><path class="st4" d="M285.8 294.1H910v193H285.8z"/><path class="st5" d="M862.6 387.9l-194.2-58.5-23.9 9.2c-4.4-5.5-11.8-10.5-22.9-13.4-9-2.4-54-.1-62.4 5.2-20.4 13-14.2 11.9-20.2 16.5-13.5 10.4-24.2-4.2-33.9 9.6-6.8 9.8 5.1 10.2 15.6 13.5 10.5 3.3 8.5 15.5 18.1 14.8 12.3-.8 27.3 11.1 40.9 7 8.4-2.5 32 1.1 33.2 11.5 2.7 24.1 86.5 34.8 86.5 34.8l73.2 39.6 128.1-3.8-38.1-86zM514.5 382.5c-6 2.4-3.5 9.3-11.4 9.3s-13.9 10.9-1.5 10.9 30.6 1 26.6-6.5-5.6-5.7-6.9-9c-2.3-5.7-4.9-5.5-6.8-4.7zM400.6 403.5c-6 10.4 4.2 2.9 12.1 2.9s12 4.6 3.2 13.4c-13.7 13.7-38.7 9.6-33.8-8 2.3-8.2 10.2-11 11.5-14.2 2.4-5.8 5.1 5.2 7 5.9z"/></g><path class="st6" d="M546 342c-11.5 16.2 23.6 14.8 36.8 26.5 3.3 3 7.3 8.3 14.5 10.7s20-1.8 24.3 2c16.9 14.7-3.5 23 18.2 29.3 15.2 4.4 25.3 13.1 39.9 20.3 8.1 4 14.7 8 24.3 8.5s35.6 6.2 51 13.1c29.9 13.4 87.9 5.1 119.7 7-31.4-14.7-65.6-38-98.1-47.8-11.1-3.3-20.3-.9-33-3.3-15.9-3.1-28.6-17.1-41.2-19.8-18.1-3.9-29.9 6.6-49.3-6.4-11.8-7.9-21.7-22.9-33.7-31.8-22.1-16.4-48.6-36.4-73.4-8.3z"/></g><g id="Rucksack"><path class="st7" d="M749.5 102.3s1.9 13.1 8.8 20l-5.8 5.8s-9.3-10.9-9.3-19.3l6.3-6.5z"/><defs><path id="SVGID_4_" d="M670.2 49s-.3-16.6 25.9-16.6 46.6 11.5 50.9 14.4c8.3 5.7 10.5 16.9 10.5 16.9s-1.7 13.2-3.5 36.9c-3.3 43.4-14.8 101.4-26.9 125.8-5.3 10.7-9.5 16.1-19.2 18.5-1.8.5-19.1 3-19.1 3L632.3 207l37.9-158z"/></defs><clipPath id="SVGID_5_"><use xlink:href="#SVGID_4_" overflow="visible"/></clipPath><g class="st8"><path class="st9" d="M634.1 17.3h132.2v243H634.1z"/><path class="st10" d="M733.6 48.6s-7.6 90.8-16.2 128c-6.7 28.5-15.8 69.2-26.7 71s-83.9-36.2-83.9-36.2l29.3-184.7s66.3 0 97.5 21.9z"/><path class="st11" d="M758.3 102.3c0-1.1-2.9-53.2-26-39.8 0 0-4.9-18-67.4-13.2-.4 0 20.9-24.6 20.9-24.6l71.3 5.3 1.2 72.3z"/><path class="st12" d="M700.5 68.1c-4.6 30.7-12.9 41.3-12.9 41.3s13.3 1.6 21.6 19.2-25.3 96.9-25.3 96.9l-25.6-97.6 2.3-75.5s44.1-12.4 39.9 15.7z"/></g></g><g id="Alpinist"><defs><path id="SVGID_6_" d="M660.1 103.6s-29.3 1-64.8-17.1-40.3-5.2-49.1-3.8-29.8-4.7-29.8-4.7l-.9 24.2s15 4.1 29-.2 75.5 7.9 75.5 7.9l44 .3-3.9-6.6z"/></defs><clipPath id="SVGID_7_"><use xlink:href="#SVGID_6_" overflow="visible"/></clipPath><g class="st13 js-onboarding-ed-anim-scarf-back"><path transform="rotate(-8.899 590.072 93.15)" class="st14" d="M509.9 61.7h160.2v62.9H509.9z"/><path class="st15 js-onboarding-ed-anim-fold" d="M590.1 76.3c1.3 1-9 31.3-9 31.3l91.7 10.6-6.1-19.6-76.6-22.3zM561.4 71.8l-6.5 34.9-19.6.7 4.9-31z"/><path class="st16" d="M564.4 70.5l-5.8 37 11.3-1.8 5.7-33.5z"/><path class="st17" d="M632.1 93.7c-2.2 8.2 1.7 16.1 9.4 24 0 0 32.8 1.5 33.8.3s-7.6-20.4-7.6-20.4l-35.6-3.9z"/><path class="st16" d="M512.8 73.4l11.6 3.3-1.1 31.7-12.6-4z"/></g><defs><path id="SVGID_8_" d="M652.2 104.2s-20.8 1.8-36.6-2.1c-11.7-2.9-35.7-9.1-56-8.5s-21.8 12.6-37.7 18.7c-10.6 3.9-21.6 6.8-32.8 8.5l8.9 15.4c10-1.6 19.7-4.7 28.7-9.3 13.7-7.3 22.5-19 35.3-17 41.6 6.7 89.5 10.7 90.8 8.8l-.6-14.5z"/></defs><clipPath id="SVGID_9_"><use xlink:href="#SVGID_8_" overflow="visible"/></clipPath><g class="st18 js-onboarding-ed-anim-scarf-front"><path transform="rotate(-8.048 573.36 111.054)" class="st14" d="M480.9 79.3h184.7v63.4H480.9z"/><path class="st15 js-onboarding-ed-anim-fold" d="M544.2 92.9l7.3 28.9s-25.6 14.8-25.8 13.6-8.1-27.9-8.1-27.9l26.6-14.6zM604.3 96.4l.3 26.7s53.9 4.3 54.7 3.2-2.2-26.3-2.2-26.3l-52.8-3.6z"/><path class="st19" d="M553 90.1l4.6 27.6 10.7-1.4-3.6-26.2z"/><path class="st20" d="M629.9 101.3c-2.5 8-1.3 15.8 3.2 23.3l26.4 2.7-1.7-28.3-27.9 2.3z"/></g><path class="st21" d="M559.6 143.1s-5 13.9-10.3 18.5-10.9-17-10.9-19.6-4.7-16.7 3.5-23c6.1-4.7 11.1 11.9 14.2 20.2.7 1.7 1.9 3.1 3.5 3.9z"/><path class="st22" d="M556.4 139.5s23.5 20 45.7 16.6c26.8-4 31.8-24.3 34.9-29.4.2-.3 20.1-.4 20 0L637 155s-5.1 17.5-35 20.1-54.9-12.7-54.9-12.7c9.3-6.9 11.6-14.7 9.3-22.9z"/><defs><path id="SVGID_10_" d="M556.4 139.5s23.5 20 45.7 16.6c26.8-4 31.8-24.3 34.9-29.4.2-.3 20.1-.4 20 0L637 155s-5.1 17.5-35 20.1-54.9-12.7-54.9-12.7c9.3-6.9 11.6-14.7 9.3-22.9z"/></defs><clipPath id="SVGID_11_"><use xlink:href="#SVGID_10_" overflow="visible"/></clipPath><g class="st23"><path class="st22" d="M537.3 108.2h129.6v73.5H537.3z"/><path class="st24" d="M549.8 149.1s25.1 19.6 56.3 17.1 45.8-21.7 50.9-24.6l-4.3 32.4-112.6 10.9 9.7-35.8z"/><path class="st25" d="M657 120.5s-31 38.2-61.3 35.9l58.9-38.4 2.4 2.5z"/></g><path class="st26" d="M550.5 124.2l-5.6 1.7 1.8 21.5c1.8-.9 3.9-.9 5.7.1l-1.9-23.3z"/><defs><path id="SVGID_12_" d="M553.6 113s4.8-4.4 4-7.6-4.2-5.3-7.4-2.6-3 5.3-3 5.3 1 5.3 6.4 4.9z"/></defs><clipPath id="SVGID_13_"><use xlink:href="#SVGID_12_" overflow="visible"/></clipPath><g class="st27"><path transform="rotate(-14.798 553.616 109.139)" class="st21" d="M544.2 101h18.7v16.2h-18.7z"/><path class="st28" d="M553.3 113.9c1.2-1.8 1.8-3.9 1.8-6.1-.2-3.3-4.1-6-4.1-6l7.7-3.3 5.3 10.3-9.1 7.4-1.6-2.3z"/></g><path class="st29" d="M565.2 341.7c-1.5 0-2.7-1.1-2.8-2.6L535.6 11.2c-.1-1.6 1-3 2.6-3.1 1.6-.1 3 1 3.1 2.6l26.8 327.9c.2 1.5-.9 2.9-2.5 3.1h-.4z"/><path class="st30" d="M551.3 133.5l-5.6.7.8 9.7c1.1-.7 3.8-2.3 5.5-1.9l-.7-8.5z"/><path class="st30" d="M541.2 10.7c-.1-1.5-1.4-2.7-3-2.6-.5 0-.9.2-1.3.4.8.5 1.3 1.3 1.4 2.2l26.8 328c.1 1.1-.4 2.2-1.4 2.7.5.3 1 .4 1.5.4h.2c1.5-.1 2.7-1.4 2.6-3v-.1l-26.8-328z"/><defs><path id="SVGID_14_" d="M546.5 109c7.8 0 10.9 4.9 11.6 7.6s2.7 11.2.3 17c-.6 1.3-2 2.1-3.4 2l-2.1-.3c-1.4-.2-3.6-1.1-4.7-.2s-4.3 3.1-5.1 6.4.7 13.7 1.9 16.6c.5 1.4 1.3 2.7 2.3 3.7-2.2 4.3-14.1-25.5-9.9-41.4 2.2-8.8 7.2-11.4 9.1-11.4z"/></defs><clipPath id="SVGID_15_"><use xlink:href="#SVGID_14_" overflow="visible"/></clipPath><g class="st31"><path class="st28" d="M527 100.7h40.4v64.8H527z"/><path class="st32" d="M546.6 108.5s-9.3 6-8.2 20.6c.7 10.1-1.9 22.5-1.9 22.5l-5.7 6.8-6.2-42.4 22-7.5z"/><path class="st21" d="M546.8 106.9c5 9.5 3.8 22.2 1.5 28.5 0 0 12.1 5.7 12.1 4.7s.6-27.2.6-27.2l-14.2-6z"/><g class="st33"><path class="st34" d="M543.8 130l.5-.7c.5-.6 1.1-1 1.7-1.4l1.4-.6.8-.2h2.7l1.8.5c1.2.4 2.2 1.1 3.1 1.9.8.7 1.4 1.6 1.9 2.5.4.6.7 1.3.9 2l.2.8c0 .2-.2.4-.5.3-.1 0-.2-.1-.2-.1l-.2-.7c-.2-.7-.5-1.3-.9-1.9-.5-.8-1.1-1.6-1.8-2.3-.8-.8-1.8-1.4-2.8-1.8l-1.7-.5h-1.6l-1.5.2-1.3.5c-.6.3-1.2.7-1.7 1.1l-.6.6h-.2c-.1 0-.1 0-.1-.1s.1-.1.1-.1z"/></g><g class="st33"><path class="st34" d="M544.7 123.2l.6-.6c.6-.5 1.2-.9 1.9-1.2l1.4-.5.8-.2h2.7l1.8.5c1.2.4 2.3 1 3.2 1.9.8.7 1.5 1.6 2 2.5.4.7.7 1.4.9 2.1l.2.8c0 .2-.2.4-.5.3-.1 0-.2-.1-.2-.1l-.2-.8c-.2-.7-.5-1.3-.9-1.9-.5-.8-1.1-1.6-1.8-2.3-.8-.8-1.8-1.4-2.9-1.8l-1.7-.4h-3.2l-1.4.4c-.7.3-1.3.6-1.9 1l-.6.5h-.2c-.1 0-.1 0-.1-.1s.1-.1.1-.1z"/></g><g class="st33"><path class="st34" d="M545.2 116.5l.7-.5c.6-.4 1.3-.7 2-.9 1-.3 2.1-.4 3.1-.3l1.8.2 1.8.5c1.2.4 2.2 1.1 3.1 1.9.8.7 1.4 1.6 1.9 2.5.4.6.7 1.3.9 2l.2.8c0 .2-.2.4-.5.3-.1 0-.2-.1-.2-.1l-.2-.7c-.2-.7-.5-1.3-.9-1.9-.5-.8-1.1-1.6-1.8-2.3-.8-.8-1.8-1.4-2.8-1.8l-1.7-.5-1.7-.2h-1.6l-1.4.2c-.7.2-1.4.4-2 .7l-.7.4h-.2c-.1-.1-.1-.2 0-.3s.2-.1.2 0z"/></g></g><defs><path id="SVGID_16_" d="M541.8 19.4s-37.8-10.8-62.2-.7S442.4 39 419 41.3l6 74.3s43.5-4.3 64.1-18.2c23.4-15.7 58.6-8.1 58.6-8.1l-5.9-69.9z"/></defs><clipPath id="SVGID_17_"><use xlink:href="#SVGID_16_" overflow="visible"/></clipPath><g class="st35 js-onboarding-ed-anim-flag"><path class="st22 js-onboarding-ed-anim-fold" d="M400.4-9.6h157.9v138.7H400.4z"/><path class="st36" d="M507.4 11.3l7.9 82.5 42.3-2.8-6.2-73-20.8-5.5zM389 38.2l7.9 82.6 42.3-2.8-7.3-84.9-19.7 6.4z"/><path class="st37" d="M538.8 15.8l6.1 76.4h7.4l-7.4-76.4z"/></g><path class="st38" d="M626.8 212.1s15.3 26.3 34.3 33.6 28.3 6.3 28.3 6.3-18.6-42.9-62.6-39.9z"/><defs><path id="SVGID_18_" d="M669 410.8c.8 12.3 5.4 21.7 16 21.1s14-9.7 14.4-22-6.4-26-8.1-27.8l-20.6 5c-1.5 7.8-2.1 15.8-1.7 23.7z"/></defs><clipPath id="SVGID_19_"><use xlink:href="#SVGID_18_" overflow="visible"/></clipPath><g class="st39"><path class="st40" d="M664.7 379.4h38.6v55.5h-38.6z"/><path class="st41" d="M680.3 380.9s-6.2 49.3 7.8 51.9c0 0 23.4 1.5 10-51.7l-17.8-.2z"/></g><defs><path id="SVGID_20_" d="M672.2 386.6c-.2-.2-1.3 22.5 1.7 32.7s8.5 9.6 11.9 9.2 10.2-5.2 10.2-16-2.9-26-4.6-28.4l-19.2 2.5z"/></defs><clipPath id="SVGID_21_"><use xlink:href="#SVGID_20_" overflow="visible"/></clipPath><g class="st42"><path class="st7" d="M667.7 374h31.7v58.6h-31.7z"/><path class="st43" d="M674.2 383.6s-2.6 21.4.2 32.4 6.2 11 9.4 11 12.9-12.2-4.2-12.2c-2.9-.1-3.1-23.5-5.4-31.2z"/></g><defs><path id="SVGID_22_" d="M664.6 364.4l4 27s4.1 3.9 13 3.1 12.3-4.2 13.1-6-3-28.7-3-28.7l-27.1 4.6z"/></defs><clipPath id="SVGID_23_"><use xlink:href="#SVGID_22_" overflow="visible"/></clipPath><g class="st44"><path class="st28" d="M658 356h45.9v45.9H658z"/><path class="st45" d="M673.8 358.3l6 47s25.3-9.6 25.3-10.6-5.3-38.3-5.3-38.3l-26 1.9z"/></g><defs><path id="SVGID_24_" d="M656.1 217c-1.9 0-53.9-12.7-69 6.3-16.5 20.9-14.7 64.2-11.5 69.9s2 7.2 2 7.2 13 4 24.5 0c4-1.5 4.4-9.6 4.1-18.3-.4-12.6-4.5-29.2 1.5-37.6 13.9-19.3 50.9 3.4 67.6 3.4L656.1 217z"/></defs><clipPath id="SVGID_25_"><use xlink:href="#SVGID_24_" overflow="visible"/></clipPath><g class="st46"><path class="st47" d="M568 202.6h111.7v117.9H568z"/><path class="st48" d="M667.2 223.7S614.3 216 601 233s-7.1 42.7-7.1 47.3 3.7 14.7-10.2 17.7c-5.7 1.2-6.9-2.2-6.9-2.2l-3.3 18.8 39.9-8.8 26.3-55 44.9-16.7-17.4-10.4z"/><path class="st49" d="M624.4 212.4c0-.2-17.2-1-29.2 8.5s-18 35-17.4 67.1c0 3.5-2.4 6.9-3.4 3.3-3.2-11-21.9-92.7 50-78.9z"/><path class="st48" d="M626.6 212.4s21.8 4.6 27.3 22.2c0 0 .7-18-.1-21.4s-19.7-2.8-27.2-.8z"/></g><defs><path id="SVGID_26_" d="M653.3 216.3s.8 29.3 3.6 63.5c2.6 32.5 4.5 66 4.5 66-.9 3.7-1.4 7.5-1.4 11.3 0 6 5.7 17 18.1 14.9s14.2-6 14.2-6 2.2-4.3 2.2-12.1-4.3-19.9-4.3-24.8-2.5-89.7-4.3-95l-32.6-17.8z"/></defs><clipPath id="SVGID_27_"><use xlink:href="#SVGID_26_" overflow="visible"/></clipPath><g class="st50"><path class="st47" d="M646.3 201.7H706v182.8h-59.7z"/><path class="st48" d="M673.8 218.5l1.4 29.3 4.5 93.9s8.5 9.4 8.5 16.2-9.3 11.3-18.8 11.3-19-5.6-19-5.6l21 18.7 27.2-12.3-5.6-145.2-19.2-6.3z"/></g><defs><path id="SVGID_28_" d="M699.1 127.2c-8.7 38.5-11.6 79.9-9.7 124.8-21.1-29.4-54.5-39.9-62.7-39.9-8.9-29.9 2.7-68.2 5.1-79 1.3-6.3 6-11.3 12.2-13l55.1 7.1z"/></defs><clipPath id="SVGID_29_"><use xlink:href="#SVGID_28_" overflow="visible"/></clipPath><g class="st51"><path class="st22" d="M619.4 99.7h76v150.9h-76z"/><path class="st24" d="M667.7 117.8s-25.6 55-12.8 106.4 42.5 43.4 42.5 43.4l6.1-148.4-35.8-1.4z"/><path class="st52" d="M653.7 120.1s-21.3 32-23.9 49.9-3.2 39.7-.6 49.4l-18.5-6 14.1-98.4 28.9 5.1z"/></g><defs><path id="SVGID_30_" d="M694.5 126.6s65.7 12 59.1 48.7-62.2 49.5-62.2 49.5l-2.4-19.1s40.2-10.6 43.1-27.7c4.2-24.9-41-31.3-41-31.3l3.4-20.1z"/></defs><clipPath id="SVGID_31_"><use xlink:href="#SVGID_30_" overflow="visible"/></clipPath><g class="st53"><path class="st22" d="M673 112.5h90.7V233H673z"/><path class="st24" d="M689.8 137.8c11.2 2 21.9 5.8 31.8 11.4 15.5 9 13.9 26 8.9 31s-47-21.3-47-21.3l6.3-21.1z"/><path class="st54" d="M684.2 214.3c1.5-1.5 48.5-6.9 63.1-31.8 7.6-13 4.8-22.1 4.8-29.6 0 0 10.4 33.6-1.3 45.4s-69.3 35.8-69.3 35.8l2.7-19.8z"/></g><defs><path id="SVGID_32_" d="M710.3 120.6s-.3 1.6-.6 1.7c-3.4 1.5-16.2 3.3-17.8 16.7-1.9 15.3 8.1 33.8 12 38.6.1.5.2 1 .2 1.5l-10 7.4s-18.4-18.8-18.4-41.8 18.5-26.5 18.5-26.5l16.1 2.4z"/></defs><clipPath id="SVGID_33_"><use xlink:href="#SVGID_32_" overflow="visible"/></clipPath><g class="st55"><path class="st7" d="M670.2 114.7h46.6v75.4h-46.6z"/><path class="st56" d="M695.1 144.2s-11.7-4.3-21.4 8.7c0 0 15.2 34.7 20 39.4l16.6-14.4-15.2-33.7z"/></g><path class="st7" d="M650.3 119.8s-22.7 31-26.7 60c.6-8.6 1.7-17.1 3.2-25.6 0 0 11.8-32.7 14.2-33.5s9.3-.9 9.3-.9z"/><defs><path id="SVGID_34_" d="M644.8 119.1l-10.3 2.8s-4.4.9-.5 4.8 19.8 15.4 21.1 18.4 2.3 5.5 1.8 7.3 13.2-23.4 13.2-23.4l-25.3-9.9z"/></defs><clipPath id="SVGID_35_"><use xlink:href="#SVGID_34_" overflow="visible"/></clipPath><g class="st57"><path class="st22" d="M627.4 112.5H673v44.3h-45.6z"/><path class="st25" d="M640.1 120.1s-6.1 1.8-5.2 4.7 15.7 14.2 18 16.5c2.6 2.7 4.1 6.3 4.1 10 0 4.2-29.8-24.4-29.8-24.4s4.5-7.5 12.9-6.8z"/></g><path class="st54" d="M651.9 115.5H638s-6.7-.5-2.6 3.5 18.3 19 19.9 21.9 3.9 6.3 1.7 11.3 12.9-23.4 13.2-23.4l-18.3-13.3z"/><g><defs><path id="SVGID_36_" d="M651.9 115.5H638s-6.7-.5-2.6 3.5 18.3 19 19.9 21.9 3.9 6.3 1.7 11.3 12.9-23.4 13.2-23.4l-18.3-13.3z"/></defs><clipPath id="SVGID_37_"><use xlink:href="#SVGID_36_" overflow="visible"/></clipPath><g class="st58"><path class="st22" d="M630.4 110h40.4v42.3h-40.4z"/><path class="st25" d="M645.1 116.2s-9-1.3-8 1.5 24.8 25.3 20.7 32.7c0 0-27.8-33.7-28.5-34.1s11.6-4.2 11.6-3.7 4.2 3.6 4.2 3.6z"/></g></g><g><defs><path id="SVGID_38_" d="M648.4 78.8l-6.3-.8c-.8-.1-1.3-.8-1.2-1.6v-.1c.8-4.9 3.7-20.6 7.6-28.5 4.7-9.5 13.4-18.2 28.3-14.9s18.9 21.3 18.9 26-8 22.9-12.3 33.1-4.3 15.9-4.3 15.9-16.5 3.1-16.5 1.9 1.2-7.1 1.2-7.1-21 0-15.4-23.9z"/></defs><clipPath id="SVGID_39_"><use xlink:href="#SVGID_38_" overflow="visible"/></clipPath><g class="st59"><path class="st60" d="M637.4 19.3h66.7v104.9h-66.7z"/><path class="st61" d="M682.3 29.7s6.7 20.1-5.2 54.7c-4.6 13.3-13.4 18.3-13.4 18.3l-.5 12.5 18.3.4 25.1-53.1-6-34.5-18.3 1.7z"/><path class="st62" d="M658.5 34.1s-12.2 20.4-14.6 42.7c-.3 3.2 7.3 1.4 7.3 2.3s-5.1 11.8 2.2 22.1c0 0-22.9-5.3-23.3-5.7S641.9 38 641.9 38l16.6-3.9z"/><path class="st26" d="M646 83.4s2.1-4.3 10.7-6.2 15.4 6.1 21.2 6.1 6-10.9 6.3-15.6 1.5-9.3 6-11.9 9.5 11.3 9.5 11.3-7.5-8.3-10.4-4.3 1.6 19.5-7.4 30.2c-4.7 5.2-11.1 8.6-18 9.7-6.1 1-14.1-.4-14.1-.4s-5.1-12.6-5.6-13.2 1.8-5.7 1.8-5.7z"/></g></g><path class="st63" d="M689.8 199.2c-.7-.7-8.1-10.5-9.4-14.3s-5.1 2.3-5.1 4.6 1.6 12.4 3.6 13.5 10.9-3.8 10.9-3.8z"/><g><defs><path id="SVGID_40_" d="M692.4 229.6s-9.1-14.4-11.8-15.9-8.8.5-11.9 2.3-8.6 3.9-10.8 2.3-5-8.8-1.3-12.5 6.7-6.7 10.7-9c6.7-3.9 11.1-3.3 14.6-2s12.9 5.6 12.9 5.6 12.5 15.2-2.4 29.2z"/></defs><clipPath id="SVGID_41_"><use xlink:href="#SVGID_40_" overflow="visible"/></clipPath><g class="st64"><path class="st7" d="M645.3 183.7h59.2V237h-59.2z"/><path class="st65" d="M666.7 192.6c-3.2 4.8-4.3 10.7-3.1 16.4 2.1 9.3 14.1 10.9 14.1 10.9l-23.1 8.1-8-27.8 20.1-7.6z"/><path class="st63" d="M674.6 179.8s17.6 22.5 7 34.7c-14.8 17 18.2 20.9 18.2 20.9l7.5-30.4-32.7-25.2z"/><path d="M654.1 212.3c.8-1.2 1.7-2.3 2.7-3.4 2.1-2.3 4.5-4.4 7-6.3l1.1-.7 1.1-.7 1.1-.6 1.1-.5c1.4-.5 2.8-.9 4.3-1.1l3.1-.3h1.2c.1 0 .2.1.2.2l-.2.2h-1.2l-3 .4-2 .5-2.2.7-2.2 1-1.1.7-1 .7c-2.5 1.9-4.8 4-6.9 6.3l-2 2.3-.7.9c-.1.1-.3.2-.5.1 0-.1 0-.3.1-.4z" class="st33"/><path d="M654.8 216.1c.8-1.2 1.7-2.3 2.6-3.4 2.1-2.4 4.4-4.4 7-6.2l2.2-1.3 2.2-1.1c1.3-.5 2.7-1 4.1-1.3 1.4-.4 2.8-.6 4.2-.7l.2.2-.2.2c-1.4.2-2.8.5-4.1.9-1.4.4-2.7.8-4 1.4l-2.1 1.1-2.1 1.3c-2.5 1.7-4.8 3.8-6.8 6.1-.9 1-1.8 2.1-2.6 3.3-.1.1-.3.2-.5.1s-.2-.4-.1-.6zM656.7 219.7c.6-1.2 1.3-2.4 2.2-3.5.8-1.1 1.8-2.1 2.8-3.1l1.8-1.5 2.1-1.3 2.2-1.1 2.2-.8 4-1.1c1.3-.3 2.7-.5 4-.6l.2.2c0 .1 0 .2-.1.2l-4 .8c-2.9.7-5.6 1.7-8.2 3.1l-2 1.3-1.8 1.5c-1.7 1.6-3.2 3.4-4.4 5.4l-.5 1c-.2.1-.4 0-.5-.1 0 0 0-.1-.1-.2l.1-.2z" class="st33"/></g></g><g><defs><path id="SVGID_42_" d="M646.1 117.8c-1.1-.4 13.3 13.8 12.7 28.9 0 0 6.8-13.5 11.1-17.8 4.2-3.9 8.7-7.6 13.3-11.1 0 0-30.8 2.2-37.1 0z"/></defs><clipPath id="SVGID_43_"><use xlink:href="#SVGID_42_" overflow="visible"/></clipPath><g class="st66"><path class="st14" d="M640.8 112.2h44.1v38.4h-44.1z"/><path class="st15" d="M681.7 121.2l-24.7 5.5s4.1 3.4 2 22.2c0 0-21.3-7.4-21.1-7.5s5.6-25.3 5.6-25.3l43-1.2-4.8 6.3z"/></g></g><ellipse class="js-onboarding-ed-anim-mountaineer-eye onboarding-ed-anim-mountaineer-eye--right" cx="648.2" cy="57.6" rx="1.1" ry="2.6"/><g><defs><path id="SVGID_44_" d="M649.1 46.6s14.9-5.6 31 4.6c10.5 6.7 13 18.7 13 18.7s12.1-28.7-7.3-38.7c-9.7-5-29.2-3.5-36.7 15.4z"/></defs><clipPath id="SVGID_45_"><use xlink:href="#SVGID_44_" overflow="visible"/></clipPath><g class="st67"><path class="st28" d="M646.6 23H701v50.1h-54.4z"/><path class="st68" d="M681.6 29.4c2 4.5 3.2 25.7-.1 36.7-.1.4 12.8 9.1 12.8 8.8s8-36.7 8-36.7l-20.7-8.8z"/></g></g><ellipse class="js-onboarding-ed-anim-mountaineer-eye onboarding-ed-anim-mountaineer-eye--left" cx="664.9" cy="58.8" rx="1.6" ry="3.1"/><path d="M660.1 88.2h1.8l1.8-.2 1.9-.5 1-.3.9-.4.8-.4.7-.4.6-.4.5-.3.4-.2c.1-.1.3 0 .4.1v.3l-.3.4-.4.5-.5.6-.7.6-.9.6-1 .5-1.1.4c-.7.2-1.5.4-2.2.4h-2c-.6-.1-1.2-.2-1.8-.5-.1 0-.2-.2-.1-.3l.2-.5z"/><path class="st7" d="M546.4 346.7l59.5-10-.2 4.9s-1.7 5.4-6.3 7-13.6 1.1-17 1.7-10.8 3.3-15.5 4.4c-13.5 3-19.5-1.9-20.2-3.6l-.3-4.4z"/><path class="st41" d="M548.5 343.3s-2.9 1.5-1.8 4.1 6.7 5.5 15.4 4.3 17.3-4.7 21.1-5.1 10 .3 15-1.6 7-5 7.6-7.7-3.4-4.4-3.4-4.4l-53.9 10.4z"/><path class="st40" d="M551.2 348.1c-1.1-2.7 1.8-4.1 1.8-4.1l51.3-9.9c-.6-.5-1.2-.9-1.9-1.2l-53.9 10.4s-2.9 1.5-1.8 4.1 4.5 4.3 10.2 4.6c-3.1-.9-5-2.4-5.7-3.9z"/><g><defs><path id="SVGID_46_" d="M580 320.2s1.9 8.6-16.2 12.7c-16.2 3.7-16.9 11.8-14.6 14.1s8.3 5.5 22.1 1.2c9.9-3.1 11.8-3.3 11.8-3.3s9.6.7 14.7-1.8c6.8-3.3 6.9-9.4 5.3-13.3s-4-6.5-4-10.2"/></defs><clipPath id="SVGID_47_"><use xlink:href="#SVGID_46_" overflow="visible"/></clipPath><g class="st69"><path class="st7" d="M546 315.3h65.2v42.2H546z"/><path class="st70" d="M578.4 322.8s.8 5.8-5.4 9.4-18.7 5.7-14 8.6 3.8 5.1-.5 5.1c-7 0-10.1-1.6-9.8-3.7.2-2 14.3-18.2 14.3-18.2l14.9-.9"/></g></g><path d="M648.8 49.4c.1-.3.3-.5.5-.7l.7-.5.9-.3c.6-.2 1.1-.2 1.7-.2h.8c.1 0 .2.1.2.2v.1l-.2.2-.7.2-1.6.3-1.5.5-.6.3-.2-.1c0 .1 0 0 0 0zM673.7 52.6c-.3-.5-.6-1-1-1.4l-1.2-1.3c-.5-.5-1-.9-1.6-1.2l-.9-.5-.9-.4-.9-.3-.8-.2h-1.7c-.1 0-.2-.1-.2-.2l.2-.2h2.7l1 .3 1 .4 1 .5c1.1.7 2.1 1.7 2.8 2.8l.6 1.2.2.5c0 .1 0 .2-.1.2l-.2-.2z"/><path class="st7" d="M649.8 44.8c10.1-4.2 32.5-2.9 45.5 16.2l.8-4.3c-6-12.6-26.1-22.5-44.7-16.6l-1.6 4.7z"/><path class="st71" d="M689.3 75.6c3.7.2 5.9-5.6 5.9-9.9s-4.6-4.4-5.4-3 .8 3.4-.1 6-1.4 6.8-.4 6.9z"/><path class="st72" d="M646.8 40.8l1 2.4v.3c.9 1.5 4.4 1.5 8-.1s5.8-3.8 5.7-5.4l-1.4-3.4-13.3 6.2zM665.6 36.3l-1 3.8c.1 1.8 3 3.8 6.9 4.8s7.7.4 8.4-1.3v-.3l.7-2.8-15-4.2z"/><ellipse transform="rotate(-22.701 653.293 38.865)" class="st73" cx="653.3" cy="38.9" rx="7.4" ry="3.3"/><ellipse transform="rotate(-76.301 672.558 38.205)" class="st74" cx="672.5" cy="38.2" rx="3.5" ry="7.9"/><path class="st75" d="M689.7 117.5c-13.3 1.4-29 23.6-32.6 34.8 9.1-11.1 31.6-23.6 33.2-24.2s2.7-1.6 1.3-3.9-1.9-6.7-1.9-6.7z"/><g><defs><path id="SVGID_48_" d="M686.3 115.5c-12.4 1-27.2 26.8-28.4 34.3 8-12.9 26.6-22.4 29-23.7s2.7-1.6 1.3-3.9-1.9-6.7-1.9-6.7z"/></defs><clipPath id="SVGID_49_"><use xlink:href="#SVGID_48_" overflow="visible"/></clipPath><g class="st76"><path class="st22" d="M657 111.6h35.1v38.2H657z"/><path class="st77" d="M686.9 118.4c1 1.4-1.3 5.8-11.6 13.4-4.4 3.2-9.9 5.7-15.7 15.6l31.9-20.8-4.6-8.2z"/></g></g><ellipse class="st78" cx="690" cy="68.2" rx="1.8" ry="2.1"/><g><defs><path id="SVGID_50_" d="M577.6 299.4v24.5s1.1 1.8 12.8 1.8 11.7-3.2 11.7-3.2v-22.2s-14.7 4.8-24.5-.9z"/></defs><clipPath id="SVGID_51_"><use xlink:href="#SVGID_50_" overflow="visible"/></clipPath><g class="st79"><path class="st28" d="M569.6 290.3h45.2v45.2h-45.2z"/><path class="st45" d="M591 298.2l.2 33.3s18.3-2.1 17.6-2.8-.7-33.5-.7-33.5l-17.1 3z"/></g></g><g><defs><path id="SVGID_52_" d="M652.7 103.8s11.1 1.7 20 .9c4.2-.3 8.4-.9 12.5-1.9 2.8.8 4.4 4.9 4.3 8.2.2 3.3-1.6 6.4-4.5 7.9 0 0-23 6.9-37.4.8-7.8-3.2-3.8-16.5 5.1-15.9z"/></defs><clipPath id="SVGID_53_"><use xlink:href="#SVGID_52_" overflow="visible"/></clipPath><g class="st80"><path class="st14" d="M639.5 98H701v31.4h-61.5z"/><path class="st81" d="M659.6 104.3s-11 .8-11.4 8.8 5.8 10 4.3 8.8c0 0-15.8-1.7-14.5-8.4s9.9-14.1 21.6-9.2z"/><path class="st15" d="M669.4 102.3s13.3 5.2.1 22.6l30.1-2.6-3.5-23.9-26.7 3.9z"/></g></g><path class="st82" d="M650.1 151.1s-4.7 9.4-4.7 16.7"/><path class="st83" d="M644.9 168.7l-1.4 6.2h2.9l-.7-6.2z"/></g></svg>'
- });
- this["DDG"]["templates"]["hp_onboarding_education"] = Handlebars.template(function(f, s, q, k, u) {
- this.compilerInfo = [4, ">= 1.0.0"];
- q = this.merge(q, f.helpers);
- u = u || {};
- var r = "",
- h, a, e, o = this,
- c = "function",
- b = this.escapeExpression,
- p = q.helperMissing;
- function n(x, v) {
- return ' <a class="onboarding-ed__arrow-teaser js-onboarding-ed-teaser"><img class="onboarding-ed__arrow-teaser__alpinist" src="/assets/onboarding/bathroomguy/[email protected]" loading="lazy" width="80" height="64" /><div class="onboarding-ed__arrow-teaser__arrow-wrapper"><img class="onboarding-ed__arrow-teaser__arrow" src="/assets/onboarding/arrow.svg" loading="lazy" width="16" height="16" /></div></a>'
- }
- function m(y, x) {
- var v = "";
- v += '<img data-src="/assets/onboarding/bathroomguy/1-monster-v2--pre-animation.svg" class="onboarding-ed__image--placeholder js-hp-lazysvg" width="1200" height="460" loading="lazy" />';
- return v
- }
- function j(y, x) {
- var v;
- v = q["if"].call(y, ((v = (y && y.model)), v == null || v === false ? v : v.isSVGAnimated), {
- hash: {},
- inverse: o.program(6, i, x),
- fn: o.program(3, m, x),
- data: x
- });
- if (v || v === 0) {
- return v
- } else {
- return ""
- }
- }
- function i(x, v) {
- return '<img data-src="/assets/onboarding/bathroomguy/1-monster-v2--no-animation.svg" class="onboarding-ed__image--placeholder js-hp-lazysvg" width="1200" height="460" loading="lazy" />'
- }
- function g(x, v) {
- return '<img data-src="/assets/onboarding/bathroomguy/3-bathtub-v2--pre-animation.svg" class="onboarding-ed__image--placeholder js-hp-lazysvg" width="1200" height="460" loading="lazy" />'
- }
- function t(x, v) {
- return '<img data-src="/assets/onboarding/bathroomguy/3-bathtub-v2--no-animation.svg" class="onboarding-ed__image--placeholder js-hp-lazysvg" width="1200" height="460" loading="lazy" />'
- }
- r += '<div class="onboarding-ed js-onboarding-ed ';
- if (a = q.extraClass) {
- h = a.call(s, {
- hash: {},
- data: u
- })
- } else {
- a = (s && s.extraClass);
- h = typeof a === c ? a.call(s, {
- hash: {},
- data: u
- }) : a
- }
- r += b(h) + '">';
- h = q["if"].call(s, (s && s.doRenderTeaserArrow), {
- hash: {},
- inverse: o.noop,
- fn: o.program(1, n, u),
- data: u
- });
- if (h || h === 0) {
- r += h
- }
- r += '<a class="onboarding-ed__arrow js-onboarding-ed-arrow"><img src="/assets/onboarding/arrow.svg" loading="lazy" width="24" height="24" /></a><div class="onboarding-ed__slide onboarding-ed__slide-1 js-onboarding-ed-slide js-onboarding-ed-slide-1"><div class="onboarding-ed__content"><h1 class="onboarding-ed__title js-onboarding-ed-balance-text">';
- h = (a = q.lp || (s && s.lp), e = {
- hash: {},
- data: u
- }, a ? a.call(s, "homepage onboarding", "We don’t store your personal information. Ever.", e) : p.call(s, "lp", "homepage onboarding", "We don’t store your personal information. Ever.", e));
- if (h || h === 0) {
- r += h
- }
- r += '</h1><p class="onboarding-ed__subtitle js-onboarding-ed-balance-text">';
- h = (a = q.lp || (s && s.lp), e = {
- hash: {},
- data: u
- }, a ? a.call(s, "homepage onboarding", "Our privacy policy is simple: we don’t collect or share any of your personal information.", e) : p.call(s, "lp", "homepage onboarding", "Our privacy policy is simple: we don’t collect or share any of your personal information.", e));
- if (h || h === 0) {
- r += h
- }
- r += '</p><div class="js-onboarding-ed-button-small-1"></div></div><div class="onboarding-ed__image-container js-onboarding-ed-image-container-1">';
- h = q["if"].call(s, (s && s.preventAnimation), {
- hash: {},
- inverse: o.program(5, j, u),
- fn: o.program(3, m, u),
- data: u
- });
- if (h || h === 0) {
- r += h
- }
- r += '</div></div><div class="onboarding-ed__slide onboarding-ed__slide-2 js-onboarding-ed-slide js-onboarding-ed-slide-2"><div class="onboarding-ed__content onboarding-ed__content--more-shadow"><h1 class="onboarding-ed__title js-onboarding-ed-balance-text">';
- h = (a = q.lp || (s && s.lp), e = {
- hash: {},
- data: u
- }, a ? a.call(s, "homepage onboarding", "We don’t follow you around with ads.", e) : p.call(s, "lp", "homepage onboarding", "We don’t follow you around with ads.", e));
- if (h || h === 0) {
- r += h
- }
- r += '</h1><p class="onboarding-ed__subtitle js-onboarding-ed-balance-text">';
- h = (a = q.lp || (s && s.lp), e = {
- hash: {},
- data: u
- }, a ? a.call(s, "homepage onboarding", "We don’t store your search history. We therefore have nothing to sell to advertisers that track you across the Internet.", e) : p.call(s, "lp", "homepage onboarding", "We don’t store your search history. We therefore have nothing to sell to advertisers that track you across the Internet.", e));
- if (h || h === 0) {
- r += h
- }
- r += '</p><div class="js-onboarding-ed-button-small-2"></div></div><div class="onboarding-ed__image-container js-onboarding-ed-image-container-2"><img data-src="/assets/onboarding/bathroomguy/2-ghost-v2.svg" class="onboarding-ed__image--placeholder js-hp-lazysvg" width="1200" height="460" loading="lazy" /></div></div><div class="onboarding-ed__slide onboarding-ed__slide-3 js-onboarding-ed-slide js-onboarding-ed-slide-3"><div class="onboarding-ed__content"><h1 class="onboarding-ed__title js-onboarding-ed-balance-text">';
- h = (a = q.lp || (s && s.lp), e = {
- hash: {},
- data: u
- }, a ? a.call(s, "homepage onboarding", "We don’t track you in or out of private browsing mode.", e) : p.call(s, "lp", "homepage onboarding", "We don’t track you in or out of private browsing mode.", e));
- if (h || h === 0) {
- r += h
- }
- r += '</h1><p class="onboarding-ed__subtitle js-onboarding-ed-balance-text">';
- h = (a = q.lp || (s && s.lp), e = {
- hash: {},
- data: u
- }, a ? a.call(s, "homepage onboarding", "Other search engines track your searches even when you’re in private browsing mode. We don’t track you — period.", e) : p.call(s, "lp", "homepage onboarding", "Other search engines track your searches even when you’re in private browsing mode. We don’t track you — period.", e));
- if (h || h === 0) {
- r += h
- }
- r += '</p><div class="js-onboarding-ed-button-small-3"></div></div><div class="onboarding-ed__image-container js-onboarding-ed-image-container-3">';
- h = q["if"].call(s, ((h = (s && s.model)), h == null || h === false ? h : h.isSVGAnimated), {
- hash: {},
- inverse: o.program(10, t, u),
- fn: o.program(8, g, u),
- data: u
- });
- if (h || h === 0) {
- r += h
- }
- r += '</div></div><div class="onboarding-ed__slide onboarding-ed__slide-4 js-onboarding-ed-slide js-onboarding-ed-slide-4"><div class="onboarding-ed__close"><span class="js-onboarding-ed-dismiss onboarding-ed__close-dismiss">';
- h = (a = q.l || (s && s.l), e = {
- hash: {},
- data: u
- }, a ? a.call(s, "Dismiss forever", e) : p.call(s, "l", "Dismiss forever", e));
- if (h || h === 0) {
- r += h
- }
- r += '</span><span class="ddgsi onboarding-ed__close-divider">|</span> <span class="onboarding-ed__close-back js-onboarding-ed-back-to-search">';
- h = (a = q.lp || (s && s.lp), e = {
- hash: {},
- data: u
- }, a ? a.call(s, "homepage onboarding", "Back to search", e) : p.call(s, "lp", "homepage onboarding", "Back to search", e));
- if (h || h === 0) {
- r += h
- }
- r += '</span> </div><div class="onboarding-ed__content js-onboarding-ed-install"><h1 class="onboarding-ed__title js-onboarding-ed-balance-text">';
- h = (a = q.lp || (s && s.lp), e = {
- hash: {},
- data: u
- }, a ? a.call(s, "homepage onboarding", "Switch to DuckDuckGo and take back your privacy!", e) : p.call(s, "lp", "homepage onboarding", "Switch to DuckDuckGo and take back your privacy!", e));
- if (h || h === 0) {
- r += h
- }
- r += '</h1><p class="onboarding-ed__subtitle js-onboarding-ed-balance-text">';
- h = (a = q.lp || (s && s.lp), e = {
- hash: {},
- data: u
- }, a ? a.call(s, "homepage onboarding", "No tracking, no ad targeting, just searching.", e) : p.call(s, "lp", "homepage onboarding", "No tracking, no ad targeting, just searching.", e));
- if (h || h === 0) {
- r += h
- }
- r += '</p><div class="js-onboarding-ed-button"></div></div><div class="onboarding-ed__content js-onboarding-ed-spread" style="display:none"><h1 class="onboarding-ed__title js-onboarding-ed-balance-text">';
- h = (a = q.lp || (s && s.lp), e = {
- hash: {},
- data: u
- }, a ? a.call(s, "homepage onboarding", "Already a fan?", e) : p.call(s, "lp", "homepage onboarding", "Already a fan?", e));
- if (h || h === 0) {
- r += h
- }
- r += "<br>";
- h = (a = q.lp || (s && s.lp), e = {
- hash: {},
- data: u
- }, a ? a.call(s, "homepage onboarding", "Invite friends to the Duck Side!", e) : p.call(s, "lp", "homepage onboarding", "Invite friends to the Duck Side!", e));
- if (h || h === 0) {
- r += h
- }
- r += '</h1><p class="onboarding-ed__subtitle js-onboarding-ed-balance-text">';
- h = (a = q.lp || (s && s.lp), e = {
- hash: {},
- data: u
- }, a ? a.call(s, "homepage onboarding", "Share DuckDuckGo and help friends take their privacy back!", e) : p.call(s, "lp", "homepage onboarding", "Share DuckDuckGo and help friends take their privacy back!", e));
- if (h || h === 0) {
- r += h
- }
- r += '</p><div><a class="btn onboarding-ed__button onboarding-ed__tweet-button js-onboarding-ed-tweet-button" target="_blank" href="https://twitter.com/?status=DuckDuckGo%20is%20my%20search%20engine%20of%20choice.%20%23ComeToTheDuckSide%20-%20we%20have%20privacy.%20https%3A%2F%2Fduckduckgo.com%2F%231">Tweet #ComeToTheDuckSide</a></div></div><div class="onboarding-ed__image-container js-onboarding-ed-image-container-4"><img data-src="/assets/onboarding/bathroomguy/4-alpinist-v2.svg" class="onboarding-ed__image--placeholder js-hp-lazysvg" width="1200" height="460" loading="lazy" /></div></div></div>';
- return r
- });
- this["DDG"]["templates"]["iframe"] = Handlebars.template(function(f, n, e, m, k) {
- this.compilerInfo = [4, ">= 1.0.0"];
- e = this.merge(e, f.helpers);
- k = k || {};
- var i = "",
- b, g, h = "function",
- j = this.escapeExpression,
- o = this;
- function c(t, s) {
- var p = "",
- q, r;
- p += '<input type="hidden" name="source" value="';
- if (r = e.source) {
- q = r.call(t, {
- hash: {},
- data: s
- })
- } else {
- r = (t && t.source);
- q = typeof r === h ? r.call(t, {
- hash: {},
- data: s
- }) : r
- }
- p += j(q) + '">';
- return p
- }
- function a(t, s) {
- var p = "",
- q, r;
- p += '<input type="hidden" name="p" value="';
- if (r = e.variant) {
- q = r.call(t, {
- hash: {},
- data: s
- })
- } else {
- r = (t && t.variant);
- q = typeof r === h ? r.call(t, {
- hash: {},
- data: s
- }) : r
- }
- p += j(q) + '">';
- return p
- }
- i += '<div class="search--iframe"><form id="search_form_homepage" class="js-search-form search--adv search--home search--focus" name="x" method="GET" action="/" target="_top"><input id="search_form_input_homepage" class="js-search-input search__input--adv" autocomplete="off" name="q" tabindex="1" value="" autocapitalize="off" autocorrect="off" type="text" placeholder="';
- if (g = e.placeholder) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.placeholder);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + '"><input id="search_button_homepage" class="search__button js-search-button" tabindex="2" value="S" type="submit"><input id="search_form_input_clear" class="search__clear empty js-search-clear" tabindex="3" value="X" type="button"><input type="hidden" name="t" value="h';
- if (g = e.atbVariant) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.atbVariant);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + '">';
- b = e["if"].call(n, (n && n.source), {
- hash: {},
- inverse: o.noop,
- fn: o.program(1, c, k),
- data: k
- });
- if (b || b === 0) {
- i += b
- }
- b = e["if"].call(n, (n && n.canInstall), {
- hash: {},
- inverse: o.noop,
- fn: o.program(3, a, k),
- data: k
- });
- if (b || b === 0) {
- i += b
- }
- i += "</div>";
- return i
- });
- this["DDG"]["templates"]["module_image_header_item"] = Handlebars.template(function(f, o, e, m, k) {
- this.compilerInfo = [4, ">= 1.0.0"];
- e = this.merge(e, f.helpers);
- k = k || {};
- var i = "",
- b, g, n = e.helperMissing,
- j = this.escapeExpression,
- h = "function",
- p = this;
- function c(v, u) {
- var q = "",
- s, t, r;
- q += ' style="background-image: url(' + j((t = e.imageProxy || (v && v.imageProxy), r = {
- hash: {},
- data: u
- }, t ? t.call(v, ((s = (v && v.image)), s == null || s === false ? s : s.url), r) : n.call(v, "imageProxy", ((s = (v && v.image)), s == null || s === false ? s : s.url), r))) + ')"';
- return q
- }
- function a(v, u) {
- var q = "",
- s, t, r;
- q += '<img class="module__header__image__img" src="' + j((t = e.imageProxy || (v && v.imageProxy), r = {
- hash: {},
- data: u
- }, t ? t.call(v, ((s = (v && v.image)), s == null || s === false ? s : s.url), r) : n.call(v, "imageProxy", ((s = (v && v.image)), s == null || s === false ? s : s.url), r))) + '" />';
- return q
- }
- i += '<div class="module__header__image ';
- if (g = e.className) {
- b = g.call(o, {
- hash: {},
- data: k
- })
- } else {
- g = (o && o.className);
- b = typeof g === h ? g.call(o, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + '" ';
- b = e["if"].call(o, ((b = (o && o.image)), b == null || b === false ? b : b.url), {
- hash: {},
- inverse: p.noop,
- fn: p.program(1, c, k),
- data: k
- });
- if (b || b === 0) {
- i += b
- }
- i += ">";
- b = e["if"].call(o, ((b = (o && o.image)), b == null || b === false ? b : b.url), {
- hash: {},
- inverse: p.noop,
- fn: p.program(3, a, k),
- data: k
- });
- if (b || b === 0) {
- i += b
- }
- i += "</div>";
- return i
- });
- this["DDG"]["templates"]["multi_step_mobile_onboarding"] = Handlebars.template(function(j, B, z, p, J) {
- this.compilerInfo = [4, ">= 1.0.0"];
- z = this.merge(z, j.helpers);
- J = J || {};
- var A = "",
- m, a, v = this,
- e = "function",
- c = this.escapeExpression;
- function r(M, L) {
- return "multi-step-mobile-onboarding--stateless"
- }
- function q(M, L) {
- return "multi-step-mobile-onboarding--dark"
- }
- function o(M, L) {
- return "Step "
- }
- function n(M, L) {
- return "1"
- }
- function i(M, L) {
- return "0"
- }
- function I(M, L) {
- return " Completed"
- }
- function F(M, L) {
- return "Take Back Your Privacy!"
- }
- function E(M, L) {
- return "Set DuckDuckGo as Your Default Search Engine"
- }
- function D(M, L) {
- return "We don’t store your personal info or track you. Ever."
- }
- function C(M, L) {
- return "Make your web searches in Safari private by default."
- }
- function k(M, L) {
- return "multi-step-mobile-onboarding__step__content__body--list-numbered"
- }
- function h(M, L) {
- return "!"
- }
- function g(M, L) {
- return '<a href="App-prefs://prefs:root=Settings" class="btn btn--cppm-do" data-action="do" target="_blank">Open Settings</a>'
- }
- function f(M, L) {
- return "skip"
- }
- function b(M, L) {
- return "complete"
- }
- function y(N, M) {
- var L;
- L = z["if"].call(N, (N && N.isCppm5), {
- hash: {},
- inverse: v.program(34, u, M),
- fn: v.program(32, x, M),
- data: M
- });
- if (L || L === 0) {
- return L
- } else {
- return ""
- }
- }
- function x(M, L) {
- return "I Did It"
- }
- function u(M, L) {
- return "Next"
- }
- function t(M, L) {
- return '<button class="btn--cppm-skip" data-action="skip">Skip For Now</button>'
- }
- function s(M, L) {
- return "search"
- }
- function K(M, L) {
- return "Start Searching"
- }
- function H(O, N) {
- var L = "",
- M;
- L += '<section class="js-multi-step-mobile-onboarding-step multi-step-mobile-onboarding__step"><div class="js-multi-step-mobile-onboarding-content multi-step-mobile-onboarding__step__content multi-step-mobile-onboarding__step__content--last"><header class="multi-step-mobile-onboarding__step__content__header"><h2 class="js-multi-step-mobile-onboarding-title multi-step-mobile-onboarding__step__content__header__title--final">Setup Complete!</h2><p class="js-multi-step-mobile-onboarding-desc">You\'re ready to search and browse the web privately across your devices.</p> </header><div class="js-multi-step-mobile-onboarding-final multi-step-mobile-onboarding__step__content__body multi-step-mobile-onboarding__step__content__body--final"><img src="/assets/add-to-browser/cppm/party';
- M = z["if"].call(O, (O && O.isDarkTheme), {
- hash: {},
- inverse: v.noop,
- fn: v.program(43, G, N),
- data: N
- });
- if (M || M === 0) {
- L += M
- }
- L += '.svg" alt="image of a celebration party" /></div><div class="js-multi-step-mobile-onboarding-resume multi-step-mobile-onboarding__step__content__body multi-step-mobile-onboarding__step__content__body--resume"><ol class="js-multi-step-mobile-onboarding-remaining multi-step-mobile-onboarding__step__content__body__remaining-items"><li data-checked="false"><a data-action="nav" data-step="0" href="#cppmd"><span class="ddgsi ddgsi-check"><i></i></span>DuckDuckGo Private Search</a></li><li data-checked="false"><a data-action="nav" data-step="1" href="#cppma"><span class="ddgsi ddgsi-check"><i></i></span>DuckDuckGo Privacy Browser App</a></li><li data-checked="false"><a data-action="nav" data-step="2" href="#cppme"><span class="ddgsi ddgsi-check"><i></i></span>DuckDuckGo Browser Extension</a></li></ol><figure><img src="/assets/add-to-browser/cppm/puzzle';
- M = z["if"].call(O, (O && O.isDarkTheme), {
- hash: {},
- inverse: v.noop,
- fn: v.program(43, G, N),
- data: N
- });
- if (M || M === 0) {
- L += M
- }
- L += '.svg" alt="image of a puzzle partially completed" /></figure></div><div class="multi-step-mobile-onboarding__step__controls"><div class="multi-step-mobile-onboarding__step__controls__buttons"><button data-action="search" class="js-multi-step-mobile-onboarding-search btn btn--primary">Start Searching</button></div></div> </div></section>';
- return L
- }
- function G(M, L) {
- return "-dark"
- }
- A += '<div class="js-multi-step-mobile-onboarding multi-step-mobile-onboarding ';
- m = z["if"].call(B, (B && B.isStateless), {
- hash: {},
- inverse: v.noop,
- fn: v.program(1, r, J),
- data: J
- });
- if (m || m === 0) {
- A += m
- }
- A += " ";
- m = z["if"].call(B, (B && B.isCppm4Or5), {
- hash: {},
- inverse: v.noop,
- fn: v.program(3, q, J),
- data: J
- });
- if (m || m === 0) {
- A += m
- }
- A += '"><header class="js-multi-step-mobile-onboarding-header multi-step-mobile-onboarding__header"><div class="multi-step-mobile-onboarding__logo">DuckDuckGo</div><div class="multi-step-mobile-onboarding__progress"><label for="cppm-progress">';
- m = z["if"].call(B, (B && B.isStateless), {
- hash: {},
- inverse: v.noop,
- fn: v.program(5, o, J),
- data: J
- });
- if (m || m === 0) {
- A += m
- }
- A += '<span class="js-multi-step-mobile-onboarding-count">';
- m = z["if"].call(B, (B && B.isStateless), {
- hash: {},
- inverse: v.program(9, i, J),
- fn: v.program(7, n, J),
- data: J
- });
- if (m || m === 0) {
- A += m
- }
- A += "</span> of 3";
- m = z.unless.call(B, (B && B.isStateless), {
- hash: {},
- inverse: v.noop,
- fn: v.program(11, I, J),
- data: J
- });
- if (m || m === 0) {
- A += m
- }
- A += '</label><div class="multi-step-mobile-onboarding__progress-bar"><div class="multi-step-mobile-onboarding__progress__fallback-bar"><div class="multi-step-mobile-onboarding__progress__fallback-value js-multi-step-mobile-onboarding-fallback-progress"></div></div></div></div><button class="js-multi-step-mobile-onboarding-close multi-step-mobile-onboarding__close" aria-label="close"><svg width="27" height="27" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M13.5 11.909l4.773-4.773a1.125 1.125 0 111.59 1.591L15.092 13.5l4.773 4.773a1.125 1.125 0 11-1.591 1.59L13.5 15.092l-4.773 4.773a1.125 1.125 0 11-1.591-1.591l4.773-4.773-4.773-4.773a1.125 1.125 0 111.591-1.591l4.773 4.773z" fill="#353748"/></svg></button></header><article class="js-multi-step-mobile-onboarding-slider multi-step-mobile-onboarding__slider"><section id="cppmd" class="js-multi-step-mobile-onboarding-step multi-step-mobile-onboarding__step"><div class="js-multi-step-mobile-onboarding-content multi-step-mobile-onboarding__step__content"><header class="multi-step-mobile-onboarding__step__content__header"><div class="multi-step-mobile-onboarding__step__content__header__icon"><img src="/assets/add-to-browser/cppm/search.svg" alt="image of a loop"/><div class="multi-step-mobile-onboarding__step__content__header__icon__check-wrapper"><div class="multi-step-mobile-onboarding__step__content__header__icon__check-circle"></div><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 52 52"><path class="multi-step-mobile-onboarding__step__content__header__icon__check-path" fill="none" d="M14.1 27.2l7.1 7.2 16.7-16.8" /></svg></div></div><h2>';
- m = z["if"].call(B, (B && B.isCppm4Or5), {
- hash: {},
- inverse: v.program(15, E, J),
- fn: v.program(13, F, J),
- data: J
- });
- if (m || m === 0) {
- A += m
- }
- A += "</h2><p>";
- m = z["if"].call(B, (B && B.isCppm4Or5), {
- hash: {},
- inverse: v.program(19, C, J),
- fn: v.program(17, D, J),
- data: J
- });
- if (m || m === 0) {
- A += m
- }
- A += '</p></header><ol class="multi-step-mobile-onboarding__step__content__body multi-step-mobile-onboarding__step__content__body--list ';
- m = z["if"].call(B, (B && B.isCppm4Or5), {
- hash: {},
- inverse: v.noop,
- fn: v.program(21, k, J),
- data: J
- });
- if (m || m === 0) {
- A += m
- }
- A += '"><li><img src="/assets/add-to-browser/cppm/settings.svg" alt="settings icon"/><span>Open <b>Settings</b></span></li><li><img src="/assets/add-to-browser/cppm/safari.svg" alt="safari icon"/><span>Select <b>Safari</b>, then <b>Search Engine</b></span></li><li><img src="/assets/add-to-browser/cppm/check.svg" alt="select icon"/><span>Select <b>DuckDuckGo</b>';
- m = z["if"].call(B, (B && B.isCppm4Or5), {
- hash: {},
- inverse: v.noop,
- fn: v.program(23, h, J),
- data: J
- });
- if (m || m === 0) {
- A += m
- }
- A += '</span></li></ol><div class="multi-step-mobile-onboarding__step__controls"><div class="multi-step-mobile-onboarding__step__controls__buttons">';
- m = z.unless.call(B, (B && B.isCppm5), {
- hash: {},
- inverse: v.noop,
- fn: v.program(25, g, J),
- data: J
- });
- if (m || m === 0) {
- A += m
- }
- A += '<button class="btn btn--primary btn--cppm-done" data-action="';
- m = z["if"].call(B, (B && B.isStateless), {
- hash: {},
- inverse: v.program(29, b, J),
- fn: v.program(27, f, J),
- data: J
- });
- if (m || m === 0) {
- A += m
- }
- A += '">';
- m = z["if"].call(B, (B && B.isStateless), {
- hash: {},
- inverse: v.program(32, x, J),
- fn: v.program(31, y, J),
- data: J
- });
- if (m || m === 0) {
- A += m
- }
- A += "</button></div>";
- m = z.unless.call(B, (B && B.isStateless), {
- hash: {},
- inverse: v.noop,
- fn: v.program(36, t, J),
- data: J
- });
- if (m || m === 0) {
- A += m
- }
- A += '</div></div></section><section id="cppma" class="js-multi-step-mobile-onboarding-step multi-step-mobile-onboarding__step"><div class="js-multi-step-mobile-onboarding-content multi-step-mobile-onboarding__step__content"><header class="multi-step-mobile-onboarding__step__content__header"><div class="multi-step-mobile-onboarding__step__content__header__icon"><img src="/assets/add-to-browser/cppm/mobile.svg" alt="image of a mobile device"/><div class="multi-step-mobile-onboarding__step__content__header__icon__check-wrapper"><div class="multi-step-mobile-onboarding__step__content__header__icon__check-circle"></div><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 52 52"><path class="multi-step-mobile-onboarding__step__content__header__icon__check-path" fill="none" d="M14.1 27.2l7.1 7.2 16.7-16.8" /></svg></div></div><h2>Get the DuckDuckGo Privacy Browser App</h2><p>Browse privately on mobile with advanced tracking protection.</p></header><ol class="multi-step-mobile-onboarding__step__content__body multi-step-mobile-onboarding__step__content__body--list ';
- m = z["if"].call(B, (B && B.isCppm4Or5), {
- hash: {},
- inverse: v.noop,
- fn: v.program(21, k, J),
- data: J
- });
- if (m || m === 0) {
- A += m
- }
- A += '"><li><img src="/assets/add-to-browser/cppm/app-store.svg" alt="app store icon"/><span>Launch the <b>App Store</b></span></li><li><img src="/assets/add-to-browser/cppm/ddg-app.svg" alt="DuckDuckGo app icon"/><span>Install the <b>DuckDuckGo Privacy Browser</b> app</span></li></ol><div class="multi-step-mobile-onboarding__step__controls"><div class="multi-step-mobile-onboarding__step__controls__buttons"><a href="https://apps.apple.com/app/apple-store/id663592361?pt=866401&ct=';
- if (a = z.campaign) {
- m = a.call(B, {
- hash: {},
- data: J
- })
- } else {
- a = (B && B.campaign);
- m = typeof a === e ? a.call(B, {
- hash: {},
- data: J
- }) : a
- }
- A += c(m) + '&mt=8" target="_blank" rel="noopener" class="btn btn--cppm-do" data-action="do"><span data-lg="true">Launch </span>App Store</a><button class="btn btn--primary btn--cppm-done" data-action="';
- m = z["if"].call(B, (B && B.isStateless), {
- hash: {},
- inverse: v.program(29, b, J),
- fn: v.program(27, f, J),
- data: J
- });
- if (m || m === 0) {
- A += m
- }
- A += '">';
- m = z["if"].call(B, (B && B.isStateless), {
- hash: {},
- inverse: v.program(32, x, J),
- fn: v.program(34, u, J),
- data: J
- });
- if (m || m === 0) {
- A += m
- }
- A += "</button></div>";
- m = z.unless.call(B, (B && B.isStateless), {
- hash: {},
- inverse: v.noop,
- fn: v.program(36, t, J),
- data: J
- });
- if (m || m === 0) {
- A += m
- }
- A += '</div></div></section><section id="cppme" class="js-multi-step-mobile-onboarding-step multi-step-mobile-onboarding__step"><div class="js-multi-step-mobile-onboarding-content multi-step-mobile-onboarding__step__content"><header class="multi-step-mobile-onboarding__step__content__header"><div class="multi-step-mobile-onboarding__step__content__header__icon"><img src="/assets/add-to-browser/cppm/laptop.svg" alt="image of a laptop"/><div class="multi-step-mobile-onboarding__step__content__header__icon__check-wrapper"><div class="multi-step-mobile-onboarding__step__content__header__icon__check-circle"></div><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 52 52"><path class="multi-step-mobile-onboarding__step__content__header__icon__check-path" fill="none" d="M14.1 27.2l7.1 7.2 16.7-16.8" /></svg></div></div><h2>Get the DuckDuckGo Browser Extension</h2><p>Search privately and browse with advanced tracking protection.</p></header><ol class="multi-step-mobile-onboarding__step__content__body multi-step-mobile-onboarding__step__content__body--list ';
- m = z["if"].call(B, (B && B.isCppm4Or5), {
- hash: {},
- inverse: v.noop,
- fn: v.program(21, k, J),
- data: J
- });
- if (m || m === 0) {
- A += m
- }
- A += '"><li><img src="/assets/add-to-browser/cppm/safari.svg" alt="web browser icon"/><span>Visit <b><a href="mailto:?subject=';
- if (a = z.emailSubject) {
- m = a.call(B, {
- hash: {},
- data: J
- })
- } else {
- a = (B && B.emailSubject);
- m = typeof a === e ? a.call(B, {
- hash: {},
- data: J
- }) : a
- }
- if (m || m === 0) {
- A += m
- }
- A += "&body=";
- if (a = z.emailBody) {
- m = a.call(B, {
- hash: {},
- data: J
- })
- } else {
- a = (B && B.emailBody);
- m = typeof a === e ? a.call(B, {
- hash: {},
- data: J
- }) : a
- }
- if (m || m === 0) {
- A += m
- }
- A += '" target="_blank">duck.com/install</a></b> in your desktop browser</span></li><li><img src="/assets/add-to-browser/cppm/ddg-app.svg" alt="DuckDuckGo extension icon"/><span>Add <b>DuckDuckGo Privacy Essentials</b> to your desktop browser</span></li></ol><div class="multi-step-mobile-onboarding__step__controls"><div class="multi-step-mobile-onboarding__step__controls__buttons"><a class="btn btn--cppm-do" data-action="do" href="mailto:?subject=';
- if (a = z.emailSubject) {
- m = a.call(B, {
- hash: {},
- data: J
- })
- } else {
- a = (B && B.emailSubject);
- m = typeof a === e ? a.call(B, {
- hash: {},
- data: J
- }) : a
- }
- if (m || m === 0) {
- A += m
- }
- A += "&body=";
- if (a = z.emailBody) {
- m = a.call(B, {
- hash: {},
- data: J
- })
- } else {
- a = (B && B.emailBody);
- m = typeof a === e ? a.call(B, {
- hash: {},
- data: J
- }) : a
- }
- if (m || m === 0) {
- A += m
- }
- A += '" target="_blank">Email Link</a><button class="btn btn--primary btn--cppm-done" data-action="';
- m = z["if"].call(B, (B && B.isStateless), {
- hash: {},
- inverse: v.program(29, b, J),
- fn: v.program(38, s, J),
- data: J
- });
- if (m || m === 0) {
- A += m
- }
- A += '">';
- m = z["if"].call(B, (B && B.isStateless), {
- hash: {},
- inverse: v.program(32, x, J),
- fn: v.program(40, K, J),
- data: J
- });
- if (m || m === 0) {
- A += m
- }
- A += "</button></div>";
- m = z.unless.call(B, (B && B.isStateless), {
- hash: {},
- inverse: v.noop,
- fn: v.program(36, t, J),
- data: J
- });
- if (m || m === 0) {
- A += m
- }
- A += "</div></div></section>";
- m = z.unless.call(B, (B && B.isStateless), {
- hash: {},
- inverse: v.noop,
- fn: v.program(42, H, J),
- data: J
- });
- if (m || m === 0) {
- A += m
- }
- A += "</article></div>";
- return A
- });
- this["DDG"]["templates"]["new_user_poll"] = Handlebars.template(function(c, j, b, h, g) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- g = g || {};
- var f = "",
- a, e, k, i = b.helperMissing;
- f += '<div class="js-poll"><div class="atb-extension-overlay__div-thank-you js-poll-thank-you"><h1 class="atb-extension-overlay__headline">';
- a = (e = b.lp || (j && j.lp), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "homepage onboarding", "Thank you.", k) : i.call(j, "lp", "homepage onboarding", "Thank you.", k));
- if (a || a === 0) {
- f += a
- }
- f += '</h1><span class="tx--21">';
- a = (e = b.lp || (j && j.lp), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "homepage onboarding", "Welcome to the Duck Side!", k) : i.call(j, "lp", "homepage onboarding", "Welcome to the Duck Side!", k));
- if (a || a === 0) {
- f += a
- }
- f += '</span><a class="atb-extension-overlay__search-btn btn btn--primary tx--15 js-extension-overlay-search atb-extension-overlay__search-btn-large" data-search-link="start-button" href="https://duckduckgo.com">';
- a = (e = b.l || (j && j.l), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "Start searching!", k) : i.call(j, "l", "Start searching!", k));
- if (a || a === 0) {
- f += a
- }
- f += '</a></div><div class="atb-extension-overlay__div-welcome-back js-poll-welcome-back"><h1 class="atb-extension-overlay__headline">';
- a = (e = b.lp || (j && j.lp), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "homepage onboarding", "Thank you.", k) : i.call(j, "lp", "homepage onboarding", "Thank you.", k));
- if (a || a === 0) {
- f += a
- }
- f += '</h1><span class="tx--21">';
- a = (e = b.lp || (j && j.lp), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "new user poll", "We're honored to have you on the Duck Side", k) : i.call(j, "lp", "new user poll", "We're honored to have you on the Duck Side", k));
- if (a || a === 0) {
- f += a
- }
- f += '</span><a class="atb-extension-overlay__search-btn btn btn--primary tx--15 js-extension-overlay-search atb-extension-overlay__search-btn-large" data-search-link="start-button" href="https://duckduckgo.com">';
- a = (e = b.l || (j && j.l), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "Start searching!", k) : i.call(j, "l", "Start searching!", k));
- if (a || a === 0) {
- f += a
- }
- f += '</a></div><div class="atb-extension-overlay__div-question-new-user js-poll-question-new-user"><h1 class="atb-extension-overlay__headline">';
- a = (e = b.l || (j && j.l), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "Congratulations!", k) : i.call(j, "l", "Congratulations!", k));
- if (a || a === 0) {
- f += a
- }
- f += '<span class="atb-extension-overlay__headline__secondary">';
- a = (e = b.lp || (j && j.lp), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "new user poll", "New to DuckDuckGo?", k) : i.call(j, "lp", "new user poll", "New to DuckDuckGo?", k));
- if (a || a === 0) {
- f += a
- }
- f += '</span></h1><div class="atb-extension-overlay__div atb-extension-overlay__div-left"><a class="atb-extension-overlay__search-btn-large atb-extension-overlay__search-btn btn btn--primary tx--17 js-poll-button-new">';
- a = (e = b.lp || (j && j.lp), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "new user poll", "Yes, new user!", k) : i.call(j, "lp", "new user poll", "Yes, new user!", k));
- if (a || a === 0) {
- f += a
- }
- f += '</a></div><div class="atb-extension-overlay__div atb-extension-overlay__div-right"><a class="atb-extension-overlay__search-btn-large atb-extension-overlay__search-btn btn btn--primary tx--17 js-poll-button-old">';
- a = (e = b.lp || (j && j.lp), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "new user poll", "No, old user!", k) : i.call(j, "lp", "new user poll", "No, old user!", k));
- if (a || a === 0) {
- f += a
- }
- f += '</a></div><div class="clearfix"></div></div><div class="atb-extension-overlay__div-question-referral js-poll-question-referral"><h1 class="atb-extension-overlay__headline">';
- a = (e = b.lp || (j && j.lp), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "new user poll", "What led you to DuckDuckGo?", k) : i.call(j, "lp", "new user poll", "What led you to DuckDuckGo?", k));
- if (a || a === 0) {
- f += a
- }
- f += '</h1><p class="tx--19 atb-extension-overlay__div-question-referral__prompt js-poll-balance-text">';
- a = (e = b.lp || (j && j.lp), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "new user poll", "We don't track you, so we could use your help telling us what convinced you to try us out today:", k) : i.call(j, "lp", "new user poll", "We don't track you, so we could use your help telling us what convinced you to try us out today:", k));
- if (a || a === 0) {
- f += a
- }
- f += '</p><p class="tx--19 atb-extension-overlay__div-question-referral__error js-poll-error">';
- a = (e = b.lp || (j && j.lp), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "new user poll", "Please select one option.", k) : i.call(j, "lp", "new user poll", "Please select one option.", k));
- if (a || a === 0) {
- f += a
- }
- f += '</p><form class="atb-extension-overlay__div-question-referral__form js-poll-form" method="post"><label class="atb-extension-overlay__div-question-referral__label js-poll-radio"><input type="radio" name="ref" value="twitter" class="atb-extension-overlay__div-question-referral__radio"/>';
- a = (e = b.lp || (j && j.lp), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "new user poll", "Following us on Twitter", k) : i.call(j, "lp", "new user poll", "Following us on Twitter", k));
- if (a || a === 0) {
- f += a
- }
- f += '</label><label class="atb-extension-overlay__div-question-referral__label js-poll-radio"><input type="radio" name="ref" value="friend" class="atb-extension-overlay__div-question-referral__radio"/>';
- a = (e = b.lp || (j && j.lp), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "new user poll", "Friend or family", k) : i.call(j, "lp", "new user poll", "Friend or family", k));
- if (a || a === 0) {
- f += a
- }
- f += '</label><label class="atb-extension-overlay__div-question-referral__label js-poll-radio"><input type="radio" name="ref" value="article" class="atb-extension-overlay__div-question-referral__radio"/>';
- a = (e = b.lp || (j && j.lp), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "new user poll", "Online article", k) : i.call(j, "lp", "new user poll", "Online article", k));
- if (a || a === 0) {
- f += a
- }
- f += '</label><label class="atb-extension-overlay__div-question-referral__label js-poll-radio"><input type="radio" name="ref" value="radio" class="atb-extension-overlay__div-question-referral__radio"/>';
- a = (e = b.lp || (j && j.lp), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "new user poll", "Radio or podcast", k) : i.call(j, "lp", "new user poll", "Radio or podcast", k));
- if (a || a === 0) {
- f += a
- }
- f += '</label><label class="atb-extension-overlay__div-question-referral__label"><input type="radio" name="ref" value="other" class="atb-extension-overlay__div-question-referral__radio js-poll-other-radio"/>';
- a = (e = b.lp || (j && j.lp), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "feedback form", "Other", k) : i.call(j, "lp", "feedback form", "Other", k));
- if (a || a === 0) {
- f += a
- }
- f += '<input type="text" name="other_text" class="atb-extension-overlay__div-question-referral__text js-poll-other-text"/></label><button class="atb-extension-overlay__search-btn btn btn--primary tx--15 atb-extension-overlay__search-btn-large" type="submit">';
- a = (e = b.l || (j && j.l), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "Submit", k) : i.call(j, "l", "Submit", k));
- if (a || a === 0) {
- f += a
- }
- f += '</button><p class="atb-extension-overlay__disclaimer tx--15">';
- a = (e = b.lp || (j && j.lp), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "new user poll", "Your response is 100% anonymous.", k) : i.call(j, "lp", "new user poll", "Your response is 100% anonymous.", k));
- if (a || a === 0) {
- f += a
- }
- f += '</p></form><p class="atb-extension-overlay__nope js-poll-close tx--15">';
- a = (e = b.lp || (j && j.lp), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "new user poll", "No thanks.", k) : i.call(j, "lp", "new user poll", "No thanks.", k));
- if (a || a === 0) {
- f += a
- }
- f += '</p></div><div class="atb-extension-overlay__div-question-referral js-poll-question-returning"><h1 class="atb-extension-overlay__headline">';
- a = (e = b.lp || (j && j.lp), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "new user poll", "What brought you back today?", k) : i.call(j, "lp", "new user poll", "What brought you back today?", k));
- if (a || a === 0) {
- f += a
- }
- f += '</h1><p class="tx--19 atb-extension-overlay__div-question-referral__prompt js-poll-balance-text">';
- a = (e = b.lp || (j && j.lp), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "new user poll", "We don't track you, so we could use your help telling us what brought you back today:", k) : i.call(j, "lp", "new user poll", "We don't track you, so we could use your help telling us what brought you back today:", k));
- if (a || a === 0) {
- f += a
- }
- f += '</p><p class="tx--19 atb-extension-overlay__div-question-referral__error js-poll-error-returning">';
- a = (e = b.lp || (j && j.lp), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "new user poll", "Please select one option.", k) : i.call(j, "lp", "new user poll", "Please select one option.", k));
- if (a || a === 0) {
- f += a
- }
- f += '</p><form class="atb-extension-overlay__div-question-referral__form js-poll-form-returning" method="post"><label class="atb-extension-overlay__div-question-referral__label js-poll-radio-returning"><input type="radio" name="ref" value="new_browser" class="atb-extension-overlay__div-question-referral__radio"/>';
- a = (e = b.lp || (j && j.lp), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "new user poll", "New browser or computer", k) : i.call(j, "lp", "new user poll", "New browser or computer", k));
- if (a || a === 0) {
- f += a
- }
- f += '</label><label class="atb-extension-overlay__div-question-referral__label js-poll-radio-returning"><input type="radio" name="ref" value="trying_again" class="atb-extension-overlay__div-question-referral__radio"/>';
- a = (e = b.lp || (j && j.lp), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "new user poll", "Trying DuckDuckGo again", k) : i.call(j, "lp", "new user poll", "Trying DuckDuckGo again", k));
- if (a || a === 0) {
- f += a
- }
- f += '</label><label class="atb-extension-overlay__div-question-referral__label js-poll-radio-returning"><input type="radio" name="ref" value="upgrading" class="atb-extension-overlay__div-question-referral__radio"/>';
- a = (e = b.lp || (j && j.lp), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "new user poll", "Upgrading to full-time user", k) : i.call(j, "lp", "new user poll", "Upgrading to full-time user", k));
- if (a || a === 0) {
- f += a
- }
- f += '</label><label class="atb-extension-overlay__div-question-referral__label"><input type="radio" name="ref" value="other" class="atb-extension-overlay__div-question-referral__radio js-poll-other-radio-returning"/>';
- a = (e = b.lp || (j && j.lp), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "feedback form", "Other", k) : i.call(j, "lp", "feedback form", "Other", k));
- if (a || a === 0) {
- f += a
- }
- f += '<input type="text" name="other_text" class="atb-extension-overlay__div-question-referral__text js-poll-other-text-returning"/></label><button class="atb-extension-overlay__search-btn btn btn--primary tx--15 atb-extension-overlay__search-btn-large" type="submit">';
- a = (e = b.l || (j && j.l), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "Submit", k) : i.call(j, "l", "Submit", k));
- if (a || a === 0) {
- f += a
- }
- f += '</button><p class="atb-extension-overlay__disclaimer tx--15">';
- a = (e = b.lp || (j && j.lp), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "new user poll", "Your response is 100% anonymous.", k) : i.call(j, "lp", "new user poll", "Your response is 100% anonymous.", k));
- if (a || a === 0) {
- f += a
- }
- f += '</p></form><p class="atb-extension-overlay__nope js-poll-close tx--15">';
- a = (e = b.lp || (j && j.lp), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "new user poll", "No thanks.", k) : i.call(j, "lp", "new user poll", "No thanks.", k));
- if (a || a === 0) {
- f += a
- }
- f += "</p></div></div>";
- return f
- });
- this["DDG"]["templates"]["newsletter_form_expand"] = Handlebars.template(function(e, f, b, a, c) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, e.helpers);
- c = c || {};
- return '<div><div class="badge-link-illustration__text-wrapper"><p class="badge-link-illustration__text js-badge-title">Get useful privacy tips to help <br> reduce your online footprint!</p></div><form class="js-badge-form badge-link__form transparent"><div class="frm frm--vrt badge-link__email"><input type="email" placeholder="Your email address" class="frm__input js-badge-email" name="email" required><span class="ddgsi badge-link__lock-icon transparent js-badge-lock">l</span></div><div class="badge-link__btn-group"><input type="submit" class="badge-link__submit btn btn--primary js-badge-link-button" value="Get Privacy Tips from DuckDuckGo!"></div><p class="tx-clr--lt badge-link__disclaimer t-xs">Your email address will not be shared or associated with anonymous searches. [<a href="https://spreadprivacy.com/google-search-history-4bae7619407d">Example message</a>]</p></form></div>'
- });
- this["DDG"]["templates"]["newsletter_form_success"] = Handlebars.template(function(e, f, b, a, c) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, e.helpers);
- c = c || {};
- return '<div> <div class="js-badge-success badge-link--success"><p class="badge-link__title">Thanks for joining!</p><p class="text-center badge-link--newsletter__text tx-clr--dk2">Your first privacy tip from our mascot, <br> Dax the Duck, is on its way!</p></div></div>'
- });
- this["DDG"]["templates"]["notification"] = Handlebars.template(function(e, f, b, a, c) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, e.helpers);
- c = c || {};
- return '<div class="notification"><div class="notification__wrap"><div class="notification__text js-notification-text"></div></div></div>'
- });
- this["DDG"]["templates"]["onoffswitch"] = Handlebars.template(function(c, m, b, j, i) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- i = i || {};
- var g = "",
- a, e, n, f = "function",
- h = this.escapeExpression,
- k = b.helperMissing;
- g += '<div class="frm__switch frm-input"><input id="';
- if (e = b.id) {
- a = e.call(m, {
- hash: {},
- data: i
- })
- } else {
- e = (m && m.id);
- a = typeof e === f ? e.call(m, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + '" class="frm__switch__inp ';
- if (e = b.className) {
- a = e.call(m, {
- hash: {},
- data: i
- })
- } else {
- e = (m && m.className);
- a = typeof e === f ? e.call(m, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + '" type="checkbox" /><label class="frm__switch__label btn" for="';
- if (e = b.id) {
- a = e.call(m, {
- hash: {},
- data: i
- })
- } else {
- e = (m && m.id);
- a = typeof e === f ? e.call(m, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + '"><span class="frm__switch-on">';
- a = (e = b.lp || (m && m.lp), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "setting", "On", n) : k.call(m, "lp", "setting", "On", n));
- if (a || a === 0) {
- g += a
- }
- g += '</span><span class="frm__switch-off">';
- a = (e = b.lp || (m && m.lp), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "setting", "Off", n) : k.call(m, "lp", "setting", "Off", n));
- if (a || a === 0) {
- g += a
- }
- g += "</span></label></div>";
- return g
- });
- this["DDG"]["templates"]["set_as_homepage_chrome"] = Handlebars.template(function(c, j, b, h, g) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- g = g || {};
- var f = "",
- a, e, k, i = b.helperMissing;
- f += '<ol class="add-to-browser__directions"><li>';
- a = (e = b.l || (j && j.l), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "Click %ssettings/hamburger icon %s on the Chrome toolbar (top right).", "<b>", "(≡)</b>", k) : i.call(j, "l", "Click %ssettings/hamburger icon %s on the Chrome toolbar (top right).", "<b>", "(≡)</b>", k));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (j && j.l), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "Select %sSettings%s from the drop-down menu.", "<b>", "</b>", k) : i.call(j, "l", "Select %sSettings%s from the drop-down menu.", "<b>", "</b>", k));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (j && j.l), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "Under %sOn startup%s, click %sOpen a specific page%s then click %sSet Pages%s.", "<b>", "</b>", "<b>", "</b>", "<b>", "</b>", k) : i.call(j, "l", "Under %sOn startup%s, click %sOpen a specific page%s then click %sSet Pages%s.", "<b>", "</b>", "<b>", "</b>", "<b>", "</b>", k));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (j && j.l), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "Click %sUse current pages%s then %sClick OK%s.", "<b>", "</b>", "<b>", "</b>", k) : i.call(j, "l", "Click %sUse current pages%s then %sClick OK%s.", "<b>", "</b>", "<b>", "</b>", k));
- if (a || a === 0) {
- f += a
- }
- f += "</li></ol>";
- return f
- });
- this["DDG"]["templates"]["set_as_homepage_edge"] = Handlebars.template(function(c, k, b, i, h) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- h = h || {};
- var f = "",
- a, e, m, j = b.helperMissing,
- g = this.escapeExpression;
- f += '<ol class="add-to-browser__directions"><li>';
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "Click the %s...%s icon at the top right:", "<b>", "</b>", m) : j.call(k, "l", "Click the %s...%s icon at the top right:", "<b>", "</b>", m));
- if (a || a === 0) {
- f += a
- }
- f += '<img class="add-to-browser__image" style="height:47px;" src="' + g((e = b.imageProxy || (k && k.imageProxy), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "/assets/add-to-browser/edge.jpg", m) : j.call(k, "imageProxy", "/assets/add-to-browser/edge.jpg", m))) + '" /></li><li>';
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "Click %sSettings%s", "<b>", "</b>", m) : j.call(k, "l", "Click %sSettings%s", "<b>", "</b>", m));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "Under %sOpen with%s select %sA specific page or pages%s", "<b>", "</b>", "<b>", "</b>", m) : j.call(k, "l", "Under %sOpen with%s select %sA specific page or pages%s", "<b>", "</b>", "<b>", "</b>", m));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "Select %sCustom%s and enter %shttps://duckduckgo.com%s in the input field", "<b>", "</b>", "<b>", "</b>", m) : j.call(k, "l", "Select %sCustom%s and enter %shttps://duckduckgo.com%s in the input field", "<b>", "</b>", "<b>", "</b>", m));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "Click %s+%s!", "<b>", "</b>", m) : j.call(k, "l", "Click %s+%s!", "<b>", "</b>", m));
- if (a || a === 0) {
- f += a
- }
- f += "</li></ol>";
- return f
- });
- this["DDG"]["templates"]["set_as_homepage_firefox"] = Handlebars.template(function(c, k, b, i, h) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- h = h || {};
- var f = "",
- a, e, m, j = b.helperMissing,
- g = this.escapeExpression;
- f += '<ol class="add-to-browser__directions"><li class="has-btn">';
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "Drag %sThis Button%s on top of the home icon:", '<a class="btn btn--primary btn--inline" style="cursor:move;" href="https://duckduckgo.com">', "</a>", m) : j.call(k, "l", "Drag %sThis Button%s on top of the home icon:", '<a class="btn btn--primary btn--inline" style="cursor:move;" href="https://duckduckgo.com">', "</a>", m));
- if (a || a === 0) {
- f += a
- }
- f += '<img class="add-to-browser__image" style="height:80px;" src="' + g((e = b.retinaImage || (k && k.retinaImage), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "/assets/add-to-browser/firefox_homepage.jpg", m) : j.call(k, "retinaImage", "/assets/add-to-browser/firefox_homepage.jpg", m))) + '" /></li><li>';
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "Click %sYes%s", "<b>", "</b>", m) : j.call(k, "l", "Click %sYes%s", "<b>", "</b>", m));
- if (a || a === 0) {
- f += a
- }
- f += "</li></ol>";
- return f
- });
- this["DDG"]["templates"]["set_as_homepage_ie"] = Handlebars.template(function(c, k, b, i, h) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- h = h || {};
- var f = "",
- a, e, m, j = b.helperMissing,
- g = this.escapeExpression;
- f += '<ol class="add-to-browser__directions"><li>';
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "Click the arrow to the right of the %shome icon%s", "<b>", "</b>", m) : j.call(k, "l", "Click the arrow to the right of the %shome icon%s", "<b>", "</b>", m));
- if (a || a === 0) {
- f += a
- }
- f += '<img class="add-to-browser__image" style="height:121px;" src="' + g((e = b.retinaImage || (k && k.retinaImage), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "/assets/add-to-browser/ie_homepage.jpg", m) : j.call(k, "retinaImage", "/assets/add-to-browser/ie_homepage.jpg", m))) + '" /></li><li>';
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "Click %sAdd or change home page...%s", "<b>", "</b>", m) : j.call(k, "l", "Click %sAdd or change home page...%s", "<b>", "</b>", m));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "Select %sUse this webpage as your only home page%s (or one of the other options if you prefer)", "<b>", "</b>", m) : j.call(k, "l", "Select %sUse this webpage as your only home page%s (or one of the other options if you prefer)", "<b>", "</b>", m));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "Click %sYes%s", "<b>", "</b>", m) : j.call(k, "l", "Click %sYes%s", "<b>", "</b>", m));
- if (a || a === 0) {
- f += a
- }
- f += "</li></ol>";
- return f
- });
- this["DDG"]["templates"]["set_as_homepage_maxthon"] = Handlebars.template(function(c, k, b, i, h) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- h = h || {};
- var f = "",
- a, e, m, j = b.helperMissing,
- g = this.escapeExpression;
- f += '<ol class="add-to-browser__directions"><li>';
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "On Mac, %sClick Maxthon > Preferences%s, On Windows, %sClick the %s icon > Settings%s", "<b>", "</b>", "<b>", "<b>≡</b>", "</b>", m) : j.call(k, "l", "On Mac, %sClick Maxthon > Preferences%s, On Windows, %sClick the %s icon > Settings%s", "<b>", "</b>", "<b>", "<b>≡</b>", "</b>", m));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "Under %sOn startup%s, select %sHomepage%s and enter: https://duckduckgo.com", "<b>", "</b>", "<b>", "</b>", m) : j.call(k, "l", "Under %sOn startup%s, select %sHomepage%s and enter: https://duckduckgo.com", "<b>", "</b>", "<b>", "</b>", m));
- if (a || a === 0) {
- f += a
- }
- f += '</li></ol><img class="add-to-browser__image" style="height:118px;" src="' + g((e = b.retinaImage || (k && k.retinaImage), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "/assets/add-to-browser/maxthon_homepage.jpg", m) : j.call(k, "retinaImage", "/assets/add-to-browser/maxthon_homepage.jpg", m))) + '" />';
- return f
- });
- this["DDG"]["templates"]["set_as_homepage_opera"] = Handlebars.template(function(c, j, b, h, g) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- g = g || {};
- var f = "",
- a, e, k, i = b.helperMissing;
- f += '<ol class="add-to-browser__directions"><li>';
- a = (e = b.l || (j && j.l), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "Select %sOpera > Preferences%s (on Mac) or %sOpera > Options%s (on Windows)", "<b>", "</b>", "<b>", "</b>", k) : i.call(j, "l", "Select %sOpera > Preferences%s (on Mac) or %sOpera > Options%s (on Windows)", "<b>", "</b>", "<b>", "</b>", k));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (j && j.l), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "Under On startup select %sOpen a specific page or set of pages%s", "<b>", "</b>", k) : i.call(j, "l", "Under On startup select %sOpen a specific page or set of pages%s", "<b>", "</b>", k));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (j && j.l), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "Enter %shttps://duckduckgo.com%s", "<b>", "</b>", k) : i.call(j, "l", "Enter %shttps://duckduckgo.com%s", "<b>", "</b>", k));
- if (a || a === 0) {
- f += a
- }
- f += "</li></ol>";
- return f
- });
- this["DDG"]["templates"]["set_as_homepage_safari"] = Handlebars.template(function(c, j, b, h, g) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- g = g || {};
- var f = "",
- a, e, k, i = b.helperMissing;
- f += '<ol class="add-to-browser__directions"><li>';
- a = (e = b.l || (j && j.l), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "Click %sSafari%s in the top menu (On Windows, click the %sgears icon%s in the top right)", "<b>", "</b>", "<b>", "</b>", k) : i.call(j, "l", "Click %sSafari%s in the top menu (On Windows, click the %sgears icon%s in the top right)", "<b>", "</b>", "<b>", "</b>", k));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (j && j.l), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "Select %sPreferences%s.", "<b>", "</b>", k) : i.call(j, "l", "Select %sPreferences%s.", "<b>", "</b>", k));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (j && j.l), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "Click the %sGeneral%s tab.", "<b>", "</b>", k) : i.call(j, "l", "Click the %sGeneral%s tab.", "<b>", "</b>", k));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (j && j.l), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "Where it says Homepage click %sSet to Current Page%s.", "<b>", "</b>", k) : i.call(j, "l", "Where it says Homepage click %sSet to Current Page%s.", "<b>", "</b>", k));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (j && j.l), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "If you want, select Home Page next to New windows and New tabs (open with).", k) : i.call(j, "l", "If you want, select Home Page next to New windows and New tabs (open with).", k));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (j && j.l), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "Close window.", k) : i.call(j, "l", "Close window.", k));
- if (a || a === 0) {
- f += a
- }
- f += "</li></ol>";
- return f
- });
- this["DDG"]["templates"]["set_as_homepage_vivaldi"] = Handlebars.template(function(c, k, b, i, h) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- h = h || {};
- var f = "",
- a, e, m, j = b.helperMissing,
- g = this.escapeExpression;
- f += '<ol class="add-to-browser__directions"><li>';
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "In the menu at the top select %sTools%s > %sSettings%s", "<b>", "</b>", "<b>", "</b>", m) : j.call(k, "l", "In the menu at the top select %sTools%s > %sSettings%s", "<b>", "</b>", "<b>", "</b>", m));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "Under %sSTARTUP > Homepage%s enter: https://duckduckgo.com", "<b>", "</b>", m) : j.call(k, "l", "Under %sSTARTUP > Homepage%s enter: https://duckduckgo.com", "<b>", "</b>", m));
- if (a || a === 0) {
- f += a
- }
- f += '</li></ol><img class="add-to-browser__image" style="height:118px;" src="' + g((e = b.retinaImage || (k && k.retinaImage), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "/assets/add-to-browser/vivaldi_homepage.jpg", m) : j.call(k, "retinaImage", "/assets/add-to-browser/vivaldi_homepage.jpg", m))) + '" />';
- return f
- });
- this["DDG"]["templates"]["settings_dropdown"] = Handlebars.template(function(c, j, b, h, g) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- g = g || {};
- var f = "",
- a, e, k, i = b.helperMissing;
- f += '<li class="zcm__item"><div class="dropdown dropdown--settings"><a class="zcm__link dropdown__button js-dropdown-button">';
- a = (e = b.lp || (j && j.lp), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "feedback form", "Settings", k) : i.call(j, "lp", "feedback form", "Settings", k));
- if (a || a === 0) {
- f += a
- }
- f += "</a></div></li>";
- return f
- });
- this["DDG"]["templates"]["settings_dropdown_cog"] = Handlebars.template(function(e, f, b, a, c) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, e.helpers);
- c = c || {};
- return '<div class="dropdown dropdown--settings dropdown--settings--cog"><a class="dropdown__button js-dropdown-button"></a></div>'
- });
- this["DDG"]["templates"]["settings_dropdown_modal"] = Handlebars.template(function(f, s, q, j, v) {
- this.compilerInfo = [4, ">= 1.0.0"];
- q = this.merge(q, f.helpers);
- v = v || {};
- var r = "",
- h, a, e, c = "function",
- b = this.escapeExpression,
- o = this,
- p = q.helperMissing;
- function n(y, x) {
- return "modal--popover modal--popover--gray"
- }
- function m(A, z) {
- var x = "",
- y;
- x += "modal--popout ";
- y = q["if"].call(A, (A && A.position), {
- hash: {},
- inverse: o.program(6, i, z),
- fn: o.program(4, k, z),
- data: z
- });
- if (y || y === 0) {
- x += y
- }
- return x
- }
- function k(B, A) {
- var x = "",
- y, z;
- x += "modal--popout--";
- if (z = q.position) {
- y = z.call(B, {
- hash: {},
- data: A
- })
- } else {
- z = (B && B.position);
- y = typeof z === c ? z.call(B, {
- hash: {},
- data: A
- }) : z
- }
- x += b(y);
- return x
- }
- function i(y, x) {
- return "modal--popout--bottom"
- }
- function g(y, x) {
- return "has-header"
- }
- function u(B, A) {
- var x = "",
- y, z;
- x += '<div class="modal__header"><span class="modal__header__title">';
- if (z = q.header) {
- y = z.call(B, {
- hash: {},
- data: A
- })
- } else {
- z = (B && B.header);
- y = typeof z === c ? z.call(B, {
- hash: {},
- data: A
- }) : z
- }
- x += b(y) + "</span>";
- y = q["if"].call(B, (B && B.isPopover), {
- hash: {},
- inverse: o.noop,
- fn: o.program(11, t, A),
- data: A
- });
- if (y || y === 0) {
- x += y
- }
- x += "</div>";
- return x
- }
- function t(y, x) {
- return '<a href="#" class="modal__close js-modal-close">X</a>'
- }
- r += '<div class="modal--dropdown modal--dropdown--settings modal ';
- h = q["if"].call(s, (s && s.isPopover), {
- hash: {},
- inverse: o.program(3, m, v),
- fn: o.program(1, n, v),
- data: v
- });
- if (h || h === 0) {
- r += h
- }
- r += " ";
- h = q["if"].call(s, (s && s.header), {
- hash: {},
- inverse: o.noop,
- fn: o.program(8, g, v),
- data: v
- });
- if (h || h === 0) {
- r += h
- }
- r += ' js-dropdown-popout"><div class="modal__overlay js-modal-close"></div><div class="modal__wrap"><div class="modal__box">';
- h = q["if"].call(s, (s && s.header), {
- hash: {},
- inverse: o.noop,
- fn: o.program(10, u, v),
- data: v
- });
- if (h || h === 0) {
- r += h
- }
- r += '<div class="modal__body" class="settings-dropdown js-settings-dropdown"><div class="settings-dropdown--section js-settings-dropdown-appearance"><h3 class="settings-dropdown--header"><span class="settings-dropdown--header--label">';
- h = (a = q.l || (s && s.l), e = {
- hash: {},
- data: v
- }, a ? a.call(s, "Appearance", e) : p.call(s, "l", "Appearance", e));
- if (h || h === 0) {
- r += h
- }
- r += '</span><a href="#" class="settings-dropdown--header--link js-settings-dropdown-reset-appearance">';
- h = (a = q.lp || (s && s.lp), e = {
- hash: {},
- data: v
- }, a ? a.call(s, "settings dropdown", "Reset", e) : p.call(s, "lp", "settings dropdown", "Reset", e));
- if (h || h === 0) {
- r += h
- }
- r += '</a></h3></div><div class="settings-dropdown--section js-settings-dropdown-general"><h3 class="settings-dropdown--header"><span class="settings-dropdown--header--label">';
- h = (a = q.l || (s && s.l), e = {
- hash: {},
- data: v
- }, a ? a.call(s, "General", e) : p.call(s, "l", "General", e));
- if (h || h === 0) {
- r += h
- }
- r += '</span><a href="#" class="settings-dropdown--header--link js-settings-dropdown-reset-general">';
- h = (a = q.lp || (s && s.lp), e = {
- hash: {},
- data: v
- }, a ? a.call(s, "settings dropdown", "Reset", e) : p.call(s, "lp", "settings dropdown", "Reset", e));
- if (h || h === 0) {
- r += h
- }
- r += '</a></h3></div><a href="/settings" class="settings-dropdown--button">';
- h = (a = q.l || (s && s.l), e = {
- hash: {},
- data: v
- }, a ? a.call(s, "Other Settings", e) : p.call(s, "l", "Other Settings", e));
- if (h || h === 0) {
- r += h
- }
- r += "</a></div></div></div></div>";
- return r
- });
- this["DDG"]["templates"]["showcase_dropdown"] = Handlebars.template(function(f, n, e, k, j) {
- this.compilerInfo = [4, ">= 1.0.0"];
- e = this.merge(e, f.helpers);
- j = j || {};
- var h = "",
- a, g = "function",
- i = this.escapeExpression,
- m = e.helperMissing,
- p = this;
- function c(x, v) {
- var r = "",
- t, u, s;
- r += '<div class="header--aside__item showcase header__label"><span class="header__clickable js-hl-button" data-type="showcase">';
- t = e["if"].call(x, (x && x.showSurvey), {
- hash: {},
- inverse: p.program(4, q, v),
- fn: p.program(2, b, v),
- data: v
- });
- if (t || t === 0) {
- r += t
- }
- r += '<span class="popout-trig js-popout"><span class="js-popout-link js-showcase-popout ddgsi ddgsi-down" aria-hidden="true" data-type="showcase"></span><div class="modal modal--popout modal--popout--bottom-left modal--popout--sm js-popout-main" data-type="showcase"><div class="modal__box"><div class="modal__body"><nav aria-labelledby="wedonttrack"><section class="showcase__dropdown-top"><ul aria-label="';
- t = (u = e.lp || (x && x.lp), s = {
- hash: {},
- data: v
- }, u ? u.call(x, "showcase_aria_dropdown", "Here are some things that we made that you might like.", s) : m.call(x, "lp", "showcase_aria_dropdown", "Here are some things that we made that you might like.", s));
- if (t || t === 0) {
- r += t
- }
- r += '"><li class="fix showcase__dropdown__list"><a href="/app" class="eighteen js-hl-item" aria-hidden="true" data-type="showcase" data-id="app"><div class="woman-icon"></div></a><a href="/app" class="text-left showcase__link eighty js-hl-item" data-type="showcase" data-id="app"><h1 class="showcase__heading">';
- t = (u = e.lp || (x && x.lp), s = {
- hash: {},
- data: v
- }, u ? u.call(x, "showcase_app", "Get Our App & Extension", s) : m.call(x, "lp", "showcase_app", "Get Our App & Extension", s));
- if (t || t === 0) {
- r += t
- }
- r += '</h1><p class="showcase__subheading">';
- t = (u = e.lp || (x && x.lp), s = {
- hash: {},
- data: v
- }, u ? u.call(x, "showcase_app", "Protect your data on every device.", s) : m.call(x, "lp", "showcase_app", "Protect your data on every device.", s));
- if (t || t === 0) {
- r += t
- }
- r += '</p></a></li><li class="fix showcase__dropdown__list"><a href="/newsletter" class="eighteen js-hl-item" aria-hidden="true" data-type="showcase" data-id="newsletter"><div class="mailbox-icon"></div></a><a href="/newsletter" class="text-left showcase__link eighty js-hl-item" data-type="showcase" data-id="newsletter"><h1 class="showcase__heading">';
- t = (u = e.lp || (x && x.lp), s = {
- hash: {},
- data: v
- }, u ? u.call(x, "showcase_newsletter", "Privacy in Your Inbox", s) : m.call(x, "lp", "showcase_newsletter", "Privacy in Your Inbox", s));
- if (t || t === 0) {
- r += t
- }
- r += '</h1><p class="showcase__subheading">';
- t = (u = e.lp || (x && x.lp), s = {
- hash: {},
- data: v
- }, u ? u.call(x, "showcase_newsletter", "Stay protected and informed with our privacy newsletters.", s) : m.call(x, "lp", "showcase_newsletter", "Stay protected and informed with our privacy newsletters.", s));
- if (t || t === 0) {
- r += t
- }
- r += '</p></a></li><li class="fix showcase__dropdown__list"><a href="https://spreadprivacy.com/tag/device-privacy-tips/" class="eighteen js-hl-item" aria-hidden="true" data-type="showcase" data-id="blog"><div class="privacy-simplified-icon"></div></a><a href="https://spreadprivacy.com/tag/device-privacy-tips/" class="text-left showcase__link eighty js-hl-item" data-type="showcase" data-id="blog"><h1 class="showcase__heading">';
- t = (u = e.lp || (x && x.lp), s = {
- hash: {},
- data: v
- }, u ? u.call(x, "showcase_privacy", "Protect Your Devices", s) : m.call(x, "lp", "showcase_privacy", "Protect Your Devices", s));
- if (t || t === 0) {
- r += t
- }
- r += '</h1><p class="showcase__subheading">';
- t = (u = e.lp || (x && x.lp), s = {
- hash: {},
- data: v
- }, u ? u.call(x, "showcase_privacy", "Check out our privacy device guides.", s) : m.call(x, "lp", "showcase_privacy", "Check out our privacy device guides.", s));
- if (t || t === 0) {
- r += t
- }
- r += '</p></a></li><li class="fix showcase__dropdown__list"><a href="https://duckduckgo.com/spread" class="eighteen js-hl-item" aria-hidden="true" data-type="showcase" data-id="spread"><div class="spread-icon"></div></a><a href="https://duckduckgo.com/spread" class="text-left showcase__link eighty js-hl-item" data-type="showcase" data-id="spread"><h1 class="showcase__heading">';
- t = (u = e.lp || (x && x.lp), s = {
- hash: {},
- data: v
- }, u ? u.call(x, "showcase_spread", "Spread DuckDuckGo", s) : m.call(x, "lp", "showcase_spread", "Spread DuckDuckGo", s));
- if (t || t === 0) {
- r += t
- }
- r += '</h1><p class="showcase__subheading">';
- t = (u = e.lp || (x && x.lp), s = {
- hash: {},
- data: v
- }, u ? u.call(x, "showcase_spread", "Help your friends and family join the Duck Side!", s) : m.call(x, "lp", "showcase_spread", "Help your friends and family join the Duck Side!", s));
- if (t || t === 0) {
- r += t
- }
- r += '</p></a></li></ul></section><section class="showcase__dropdown-bottom"><ul class="text-left" aria-label="We\'ve got even more things for you."><li class="fix showcase__dropdown__list"><a href="https://duckduckgo.com/donations" class="eighteen showcase__icon js-hl-item" aria-hidden="true" data-type="showcase" data-id="donations"><div class="donations-icon"></div></a><a href="https://duckduckgo.com/donations" class="text-left showcase__link eighty showcase__text js-hl-item" data-type="showcase" data-id="donations">';
- t = (u = e.lp || (x && x.lp), s = {
- hash: {},
- data: v
- }, u ? u.call(x, "showcase_donations", "%s in privacy donations!", (x && x.donationCount), s) : m.call(x, "lp", "showcase_donations", "%s in privacy donations!", (x && x.donationCount), s));
- if (t || t === 0) {
- r += t
- }
- r += '</a></li><li class="fix showcase__dropdown__list"><a href="https://duckduckgo.com/traffic" class="eighteen showcase__icon js-hl-item" aria-hidden="true" data-type="showcase" data-id="traffic"><div class="traffic-icon"></div></a><a href="https://duckduckgo.com/traffic" class="text-left showcase__link eighty showcase__text js-hl-item" data-type="showcase" data-id="traffic">';
- t = (u = e.lp || (x && x.lp), s = {
- hash: {},
- data: v
- }, u ? u.call(x, "showcase_traffic", "Over %s Billion anonymous searches.", (x && x.billionSearchCount), s) : m.call(x, "lp", "showcase_traffic", "Over %s Billion anonymous searches.", (x && x.billionSearchCount), s));
- if (t || t === 0) {
- r += t
- }
- r += '</a></li><li class="fix showcase__dropdown__list"><a href="https://donttrack.us/" class="eighteen showcase__icon js-hl-item" aria-hidden="true" data-type="showcase" data-id="dnt"><div class="privacy-tips-icon"></div></a><a href="https://donttrack.us/" class="text-left showcase__link eighty showcase__text js-hl-item" data-type="showcase" data-id="dnt">';
- t = (u = e.lp || (x && x.lp), s = {
- hash: {},
- data: v
- }, u ? u.call(x, "showcase_tracking", "Learn why reducing tracking is important.", s) : m.call(x, "lp", "showcase_tracking", "Learn why reducing tracking is important.", s));
- if (t || t === 0) {
- r += t
- }
- r += "</a></li></ul></section></nav></div></div></div></span></span></div>";
- return r
- }
- function b(v, u) {
- var r = "",
- s, t;
- r += '<a id="wedonttrack" class="header__link header__clickable" href="';
- if (t = e.surveyURL) {
- s = t.call(v, {
- hash: {},
- data: u
- })
- } else {
- t = (v && v.surveyURL);
- s = typeof t === g ? t.call(v, {
- hash: {},
- data: u
- }) : t
- }
- r += i(s) + '">Take our User Survey!</a>';
- return r
- }
- function q(x, v) {
- var r = "",
- t, u, s;
- r += '<span class="js-popout-trig" aria-haspopup="true" aria-label="';
- t = (u = e.lp || (x && x.lp), s = {
- hash: {},
- data: v
- }, u ? u.call(x, "showcase_aria_label", "Check out the list of things that we've also made.", s) : m.call(x, "lp", "showcase_aria_label", "Check out the list of things that we've also made.", s));
- if (t || t === 0) {
- r += t
- }
- r += '" role="button" aria-pressed="false"><span id="wedonttrack">';
- t = (u = e.l || (x && x.l), s = {
- hash: {},
- data: v
- }, u ? u.call(x, "Privacy, simplified.", s) : m.call(x, "l", "Privacy, simplified.", s));
- if (t || t === 0) {
- r += t
- }
- r += "</span></span>";
- return r
- }
- function o(s, r) {
- return '<span class="header__clickable js-hl-button" data-type="social"><span class="js-popout-trig header--aside__social-icon " aria-haspopup="true" aria-label="Keep in touch" role="button" aria-pressed="false"><span class="ddgsi ddgsi-horn" data-type="social"></span></span><span class="popout-trig js-popout"><span class="js-popout-link ddgsi ddgsi-down" aria-hidden="true" data-type="social"></span><div class="modal modal--popout modal--popout--bottom-left modal--popout--sm js-popout-main" data-type="social"><div class="modal__box"><div class="modal__body"><div class="social__link"><a href="https://twitter.com/duckduckgo" class="js-hl-item social__link__text" data-type="social" data-id="twitter"><img class="social__icon js-lazysvg" data-src="/assets/icons/header/twitter.svg"><span>Twitter</span></a></div><div class="social__link"><a href="https://reddit.com/r/duckduckgo" class="js-hl-item social__link__text" data-type="social" data-id="reddit"><img class="social__icon js-lazysvg" data-src="/assets/icons/header/reddit.svg"><span>Reddit</span></a></div><div class="social__link"><a href="https://spreadprivacy.com" class="js-hl-item social__link__text" data-type="social" data-id="blog"><img class="social__icon js-lazysvg" data-src="/assets/icons/header/blog.svg"><span>Blog</span></a></div><div class="social__link"><a href="https://duckduckgo.com/newsletter" class="js-hl-item social__link__text" data-type="social" data-id="newsletter"><img class="social__icon js-lazysvg" data-src="/assets/icons/header/newsletter.svg"><span>Newsletter</span></a></div></div></div></div></span></span>'
- }
- a = e["if"].call(n, (n && n.showDropdown), {
- hash: {},
- inverse: p.noop,
- fn: p.program(1, c, j),
- data: j
- });
- if (a || a === 0) {
- h += a
- }
- h += '<div class="header--aside__item header--aside__social header__label social">';
- a = e["if"].call(n, (n && n.showSocial), {
- hash: {},
- inverse: p.noop,
- fn: p.program(6, o, j),
- data: j
- });
- if (a || a === 0) {
- h += a
- }
- h += "</div>";
- return h
- });
- this["DDG"]["templates"]["side_menu"] = Handlebars.template(function(f, m, e, j, i) {
- this.compilerInfo = [4, ">= 1.0.0"];
- e = this.merge(e, f.helpers);
- i = i || {};
- var h = "",
- b, g, p, k = e.helperMissing,
- o = this;
- function c(v, u) {
- var q = "",
- s, t, r;
- q += '<ul class="nav-menu--theme"><li class="nav-menu__heading"><span>';
- s = (t = e.lp || (v && v.lp), r = {
- hash: {},
- data: u
- }, t ? t.call(v, "feedback form", "Settings", r) : k.call(v, "lp", "feedback form", "Settings", r));
- if (s || s === 0) {
- q += s
- }
- q += '</span></li><li class="nav-menu__item clear"><a href="/settings#theme" data-settings="1">';
- s = (t = e.l || (v && v.l), r = {
- hash: {},
- data: u
- }, t ? t.call(v, "Themes", r) : k.call(v, "l", "Themes", r));
- if (s || s === 0) {
- q += s
- }
- q += '</a></li><li class="nav-menu__item"><a href="/settings" tabindex="-1" data-settings="1">';
- s = (t = e.l || (v && v.l), r = {
- hash: {},
- data: u
- }, t ? t.call(v, "Other Settings", r) : k.call(v, "l", "Other Settings", r));
- if (s || s === 0) {
- q += s
- }
- q += '</a></li><li class="nav-menu__item"><a href="/bangs">';
- s = (t = e.l || (v && v.l), r = {
- hash: {},
- data: u
- }, t ? t.call(v, "!Bang Search Shortcuts", r) : k.call(v, "l", "!Bang Search Shortcuts", r));
- if (s || s === 0) {
- q += s
- }
- q += "</a></li></ul>";
- return q
- }
- function a(v, u) {
- var q = "",
- s, t, r;
- q += '<ul class="nav-menu--feedback"><li class="nav-menu__heading"><span>';
- s = (t = e.lp || (v && v.lp), r = {
- hash: {},
- data: u
- }, t ? t.call(v, "feedback form", "Send feedback", r) : k.call(v, "lp", "feedback form", "Send feedback", r));
- if (s || s === 0) {
- q += s
- }
- q += '</span></li><li class="nav-menu__feedback"><a href="#" class="nav-menu__feedback__icon nav-menu__feedback__icon--love js-side-menu-love"></a><a href="#" class="nav-menu__feedback__icon nav-menu__feedback__icon--nolove js-side-menu-nolove"></a></li></ul>';
- return q
- }
- function n(v, u) {
- var q = "",
- s, t, r;
- q += '<li class="nav-menu__item"><a href="https://duckduckgo.merchmadeeasy.com/">';
- s = (t = e.l || (v && v.l), r = {
- hash: {},
- data: u
- }, t ? t.call(v, "Store", r) : k.call(v, "l", "Store", r));
- if (s || s === 0) {
- q += s
- }
- q += "</a></li>";
- return q
- }
- h += '<div class="nav-menu--slideout"><ul class="nav-menu__list"><i class="nav-menu__close js-side-menu-close">X</i>';
- b = e["if"].call(m, (m && m.hideThemes), {
- hash: {},
- inverse: o.program(1, c, i),
- fn: o.noop,
- data: i
- });
- if (b || b === 0) {
- h += b
- }
- b = e["if"].call(m, (m && m.showFeedbackIcons), {
- hash: {},
- inverse: o.noop,
- fn: o.program(3, a, i),
- data: i
- });
- if (b || b === 0) {
- h += b
- }
- h += '<ul><li class="nav-menu__heading"><span>';
- b = (g = e.l || (m && m.l), p = {
- hash: {},
- data: i
- }, g ? g.call(m, "Privacy Essentials", p) : k.call(m, "l", "Privacy Essentials", p));
- if (b || b === 0) {
- h += b
- }
- h += '</span></li><li class="nav-menu__item"><a href="https://duckduckgo.com/">';
- b = (g = e.l || (m && m.l), p = {
- hash: {},
- data: i
- }, g ? g.call(m, "Private Search", p) : k.call(m, "l", "Private Search", p));
- if (b || b === 0) {
- h += b
- }
- h += '</a></li><li class="nav-menu__item"><a href="/app">';
- b = (g = e.l || (m && m.l), p = {
- hash: {},
- data: i
- }, g ? g.call(m, "App and Extension", p) : k.call(m, "l", "App and Extension", p));
- if (b || b === 0) {
- h += b
- }
- h += '</a></li></ul><ul><li class="nav-menu__heading"><span>';
- b = (g = e.l || (m && m.l), p = {
- hash: {},
- data: i
- }, g ? g.call(m, "Why Privacy", p) : k.call(m, "l", "Why Privacy", p));
- if (b || b === 0) {
- h += b
- }
- h += '</span></li><li class="nav-menu__item"><a href="https://spreadprivacy.com/">';
- b = (g = e.l || (m && m.l), p = {
- hash: {},
- data: i
- }, g ? g.call(m, "Privacy Blog", p) : k.call(m, "l", "Privacy Blog", p));
- if (b || b === 0) {
- h += b
- }
- h += '</a></li><li class="nav-menu__item"><a href="https://duckduckgo.com/newsletter">';
- b = (g = e.l || (m && m.l), p = {
- hash: {},
- data: i
- }, g ? g.call(m, "Privacy Crash Course", p) : k.call(m, "l", "Privacy Crash Course", p));
- if (b || b === 0) {
- h += b
- }
- h += '</a></li><li class="nav-menu__item"><a href="/spread">';
- b = (g = e.l || (m && m.l), p = {
- hash: {},
- data: i
- }, g ? g.call(m, "Help Spread Privacy", p) : k.call(m, "l", "Help Spread Privacy", p));
- if (b || b === 0) {
- h += b
- }
- h += '</a></li></ul><ul><li class="nav-menu__heading"><span>';
- b = (g = e.l || (m && m.l), p = {
- hash: {},
- data: i
- }, g ? g.call(m, "Who We Are", p) : k.call(m, "l", "Who We Are", p));
- if (b || b === 0) {
- h += b
- }
- h += '</span></li><li class="nav-menu__item"><a href="/about">';
- b = (g = e.l || (m && m.l), p = {
- hash: {},
- data: i
- }, g ? g.call(m, "About Us", p) : k.call(m, "l", "About Us", p));
- if (b || b === 0) {
- h += b
- }
- h += '</a></li><li class="nav-menu__item"><a href="/privacy">';
- b = (g = e.l || (m && m.l), p = {
- hash: {},
- data: i
- }, g ? g.call(m, "Privacy Policy", p) : k.call(m, "l", "Privacy Policy", p));
- if (b || b === 0) {
- h += b
- }
- h += '</a></li><li class="nav-menu__item"><a href="/hiring">';
- b = (g = e.l || (m && m.l), p = {
- hash: {},
- data: i
- }, g ? g.call(m, "Careers", p) : k.call(m, "l", "Careers", p));
- if (b || b === 0) {
- h += b
- }
- h += '</a></li><li class="nav-menu__item"><a href="/press">';
- b = (g = e.l || (m && m.l), p = {
- hash: {},
- data: i
- }, g ? g.call(m, "Press Kit", p) : k.call(m, "l", "Press Kit", p));
- if (b || b === 0) {
- h += b
- }
- h += '</a></li></ul><ul><li class="nav-menu__heading"><span>';
- b = (g = e.l || (m && m.l), p = {
- hash: {},
- data: i
- }, g ? g.call(m, "Keep in Touch", p) : k.call(m, "l", "Keep in Touch", p));
- if (b || b === 0) {
- h += b
- }
- h += '</span></li><li class="nav-menu__item"><a href="https://twitter.com/duckduckgo">';
- b = (g = e.l || (m && m.l), p = {
- hash: {},
- data: i
- }, g ? g.call(m, "Twitter", p) : k.call(m, "l", "Twitter", p));
- if (b || b === 0) {
- h += b
- }
- h += "</a></li>";
- b = e["if"].call(m, (m && m.showStore), {
- hash: {},
- inverse: o.noop,
- fn: o.program(5, n, i),
- data: i
- });
- if (b || b === 0) {
- h += b
- }
- h += '<li class="nav-menu__item"><a href="https://reddit.com/r/duckduckgo">';
- b = (g = e.l || (m && m.l), p = {
- hash: {},
- data: i
- }, g ? g.call(m, "Reddit", p) : k.call(m, "l", "Reddit", p));
- if (b || b === 0) {
- h += b
- }
- h += '</a></li><li class="nav-menu__item"><a href="https://help.duckduckgo.com/">';
- b = (g = e.l || (m && m.l), p = {
- hash: {},
- data: i
- }, g ? g.call(m, "Help", p) : k.call(m, "l", "Help", p));
- if (b || b === 0) {
- h += b
- }
- h += "</a></li></ul></ul></div>";
- return h
- });
- this["DDG"]["templates"]["side_menu_link"] = Handlebars.template(function(e, f, b, a, c) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, e.helpers);
- c = c || {};
- return '<a class="header__button--menu js-side-menu-open" href="#">⇶</a>'
- });
- this["DDG"]["templates"]["spinner"] = Handlebars.template(function(c, k, b, j, i) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- i = i || {};
- var g = "",
- a, e, f = "function",
- h = this.escapeExpression;
- g += '<div class="spinner ';
- if (e = b.className) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.className);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + '"><div class="spinner__spoke spinner__spoke--1"></div><div class="spinner__spoke spinner__spoke--2"></div><div class="spinner__spoke spinner__spoke--3"></div><div class="spinner__spoke spinner__spoke--4"></div><div class="spinner__spoke spinner__spoke--5"></div><div class="spinner__spoke spinner__spoke--6"></div><div class="spinner__spoke spinner__spoke--7"></div><div class="spinner__spoke spinner__spoke--8"></div></div>';
- return g
- });
- this["DDG"]["templates"]["spread_badge"] = Handlebars.template(function(c, j, b, h, g) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- g = g || {};
- var f = "",
- a, e, k, i = b.helperMissing;
- f += '<div class="badge-link badge-link--spread"><img class="badge-link__icon js-lazysvg" data-src="/assets/spread/share" /><span class="badge-link__title">';
- a = (e = b.lp || (j && j.lp), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "spread_badge", "Love DuckDuckGo?", k) : i.call(j, "lp", "spread_badge", "Love DuckDuckGo?", k));
- if (a || a === 0) {
- f += a
- }
- f += '</span><span class="badge-link__text">';
- a = (e = b.lp || (j && j.lp), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "spread_badge", "Get your friends to switch and help us grow!", k) : i.call(j, "lp", "spread_badge", "Get your friends to switch and help us grow!", k));
- if (a || a === 0) {
- f += a
- }
- f += '</span><span class="ddgsi badge-link__close js-badge-link-close">×</span></div>';
- return f
- });
- this["DDG"]["templates"]["subscribe_to_newsletter_badge"] = Handlebars.template(function(e, q, o, i, t) {
- this.compilerInfo = [4, ">= 1.0.0"];
- o = this.merge(o, e.helpers);
- t = t || {};
- var p = "",
- f, a, b, m = this,
- n = o.helperMissing;
- function k(v, u) {
- return "serp"
- }
- function j(v, u) {
- return "top"
- }
- function h(v, u) {
- return "badge-link--fadein"
- }
- function g(v, u) {
- return '<a class="badge-link__wrap js-badge-main-msg">'
- }
- function c(v, u) {
- return '<div class="badge-link__wrap js-badge-main-msg">'
- }
- function s(v, u) {
- return "</a>"
- }
- function r(v, u) {
- return "</div>"
- }
- p += '<div class="badge-link badge-link--';
- f = o["if"].call(q, (q && q.serp), {
- hash: {},
- inverse: m.program(3, j, t),
- fn: m.program(1, k, t),
- data: t
- });
- if (f || f === 0) {
- p += f
- }
- p += " ";
- f = o["if"].call(q, (q && q.fadeIn), {
- hash: {},
- inverse: m.noop,
- fn: m.program(5, h, t),
- data: t
- });
- if (f || f === 0) {
- p += f
- }
- p += ' js-badge-link badge-link--thumbnail badge-link--newsletter">';
- f = o["if"].call(q, (q && q.url), {
- hash: {},
- inverse: m.program(9, c, t),
- fn: m.program(7, g, t),
- data: t
- });
- if (f || f === 0) {
- p += f
- }
- p += '<div class="badge-link__thumb"><img class="badge-link__thumb__img badge-link__thumb__img--newsletter" src="/assets/bathroom.png"></div> <div class="js-badge-form-container badge-link-container"><div class="badge-link-illustration__text-wrapper"><p class="badge-link-illustration__text js-badge-title anim-fadeOut">Worried about who is tracking you online?</p></div><div class="badge-link__btn-group js-badge-expand"><span class="badge-link__btn btn btn--primary">Get Privacy Tips from DuckDuckGo!</span></div></div><span class="ddgsi badge-link__close js-badge-link-dismiss">×</span>';
- f = o["if"].call(q, (q && q.url), {
- hash: {},
- inverse: m.program(13, r, t),
- fn: m.program(11, s, t),
- data: t
- });
- if (f || f === 0) {
- p += f
- }
- p += '<div class="badge-link__wrap badge-link__wrap--hidden js-badge-cookie-msg"><div class="badge-link__cookie-msg"><p>';
- f = (a = o.l || (q && q.l), b = {
- hash: {},
- data: t
- }, a ? a.call(q, "Clear your cookies often?", b) : n.call(q, "l", "Clear your cookies often?", b));
- if (f || f === 0) {
- p += f
- }
- p += "</p><p>";
- f = (a = o.l || (q && q.l), b = {
- hash: {},
- data: t
- }, a ? a.call(q, "Try our homepage that never shows these messages:", b) : n.call(q, "l", "Try our homepage that never shows these messages:", b));
- if (f || f === 0) {
- p += f
- }
- p += '</p><p><b><a href="https://start.duckduckgo.com">start.duckduckgo.com</a></b></p></div><span class="ddgsi badge-link__close badge-link__close--dark js-badge-link-close">×</span></div></div>';
- return p
- });
- this["DDG"]["templates"]["survey_badge"] = Handlebars.template(function(f, n, e, m, k) {
- this.compilerInfo = [4, ">= 1.0.0"];
- e = this.merge(e, f.helpers);
- k = k || {};
- var i = "",
- b, g, o = this,
- h = "function",
- j = this.escapeExpression;
- function c(q, p) {
- return "serp"
- }
- function a(q, p) {
- return "top"
- }
- i += '<div class="badge-link badge-link--';
- b = e["if"].call(n, (n && n.serp), {
- hash: {},
- inverse: o.program(3, a, k),
- fn: o.program(1, c, k),
- data: k
- });
- if (b || b === 0) {
- i += b
- }
- i += ' js-badge-link badge-link--thumbnail badge-link--survey"><a class="badge-link__wrap js-badge-main-msg" href="';
- if (g = e.url) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.url);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + '" target="_blank" rel="noopener"><div class="badge-link__wrap js-badge-main-msg"><div class="badge-link__thumb"><img class="badge-link__thumb__img badge-link__thumb__img--survey" src="/assets/onboarding/survey.svg"></div><span class="badge-link__title">We need your help!</span><span class="badge-link__text">Answer a few anonymous questions to help improve DuckDuckGo</span><div class="badge-link__btn-group"><span class="badge-link__btn btn btn--primary js-badge-link-button">Let\'s Go</span></div><span class="ddgsi badge-link__close js-badge-link-dismiss">×</span></div></a></div>';
- return i
- });
- this["DDG"]["templates"]["survey_banner"] = Handlebars.template(function(c, k, b, j, i) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- i = i || {};
- var g = "",
- a, e, f = "function",
- h = this.escapeExpression;
- g += '<div class="atb-banner"><div class="atb-banner__bottom atb-banner__bottom--survey ms-atb-banner-mainmsg"><span class="ddgsi atb-banner__close js-atb-banner-dismiss">×</span><img class="atb-banner__thumbnail atb-banner__thumbnail--round" src="assets/onboarding/survey.svg" height="75"><div class="atb-banner__content"><div class="atb-banner__title">We need your help!</div><div class="atb-banner__copy">Answer a few anonymous questions to help improve DuckDuckGo</div></div><a class="js-atb-banner-button atb-banner__btn btn btn--primary" href="';
- if (e = b.url) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.url);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + '" target="_blank" rel="noopener">Let\'s Go</a></div></div>';
- return g
- });
- this["DDG"]["templates"]["use_for_search_brave"] = Handlebars.template(function(c, j, b, h, g) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- g = g || {};
- var f = "",
- a, e, k, i = b.helperMissing;
- f += '<ol class="add-to-browser__directions"><li>';
- a = (e = b.l || (j && j.l), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "Copy & paste %sabout:preferences#search%s into the address bar", "<b>", "</b>", k) : i.call(j, "l", "Copy & paste %sabout:preferences#search%s into the address bar", "<b>", "</b>", k));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (j && j.l), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "Under %sSearch Settings%s select %sDuckDuckGo%s", "<b>", "</b>", "<b>", "</b>", k) : i.call(j, "l", "Under %sSearch Settings%s select %sDuckDuckGo%s", "<b>", "</b>", "<b>", "</b>", k));
- if (a || a === 0) {
- f += a
- }
- f += '</li><img class="add-to-browser__image" style="height:118px;width:316px;" src="/assets/add-to-browser/brave.jpg" /></ol>';
- return f
- });
- this["DDG"]["templates"]["use_for_search_brave_ios"] = Handlebars.template(function(c, m, b, j, i) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- i = i || {};
- var g = "",
- a, e, n, f = "function",
- h = this.escapeExpression,
- k = b.helperMissing;
- g += '<div style="height:';
- if (e = b.height) {
- a = e.call(m, {
- hash: {},
- data: i
- })
- } else {
- e = (m && m.height);
- a = typeof e === f ? e.call(m, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + 'px;"><div class="ddgsi badge-link__close atb-overlay__close">×</div><div class="atb-overlay"><div class="atb-overlay__panel"><img class="atb-overlay__image" src="assets/onboarding/[email protected]" height="120"><div class="atb-overlay__title">';
- a = (e = b.l || (m && m.l), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "Take Back Your Privacy!", n) : k.call(m, "l", "Take Back Your Privacy!", n));
- if (a || a === 0) {
- g += a
- }
- g += '</div><div class="atb-overlay__copy">';
- a = (e = b.lp || (m && m.lp), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "homepage onboarding", "We don't store your personal info or track you. Ever.", n) : k.call(m, "lp", "homepage onboarding", "We don't store your personal info or track you. Ever.", n));
- if (a || a === 0) {
- g += a
- }
- g += '</div><div class="atb-overlay__steps"><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">1</div></div><div class="atb-overlay__step-cell"><img src="/assets/brave_ios_menu.png" width="50" height="50" class="atb-overlay__step-cell--bg-gray" /></div><div class="atb-overlay__step-copy">';
- a = (e = b.lp || (m && m.lp), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "mobile homepage banner", "Open %sMenu%s", "<b>", "</b>", n) : k.call(m, "lp", "mobile homepage banner", "Open %sMenu%s", "<b>", "</b>", n));
- if (a || a === 0) {
- g += a
- }
- g += '</div></div><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">2</div></div><div class="atb-overlay__step-cell"><img src="/assets/brave_ios_settings.png" width="50" height="50" class="atb-overlay__step-cell--bg-gray" /></div><div class="atb-overlay__step-copy">';
- a = (e = b.lp || (m && m.lp), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "mobile homepage banner", "Select %sSettings%s, then %sSearch Engine%s", "<b>", "</b>", "<b>", "</b>", n) : k.call(m, "lp", "mobile homepage banner", "Select %sSettings%s, then %sSearch Engine%s", "<b>", "</b>", "<b>", "</b>", n));
- if (a || a === 0) {
- g += a
- }
- g += '</div></div><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">3</div></div><div class="atb-overlay__step-cell"><img src="/assets/dax.png" width="50" height="50" class="atb-overlay__step-cell--bg-dax" /></div><div class="atb-overlay__step-copy">';
- a = (e = b.l || (m && m.l), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "Select %sDuckDuckGo%s!", "<b>", "</b>", n) : k.call(m, "l", "Select %sDuckDuckGo%s!", "<b>", "</b>", n));
- if (a || a === 0) {
- g += a
- }
- g += "</div></div></div></div></div></div>";
- return g
- });
- this["DDG"]["templates"]["use_for_search_chrome"] = Handlebars.template(function(c, k, b, i, h) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- h = h || {};
- var f = "",
- a, e, m, j = b.helperMissing,
- g = this.escapeExpression;
- f += '<ol class="add-to-browser__directions"><li class="has-btn">';
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "Click %sHere%s to add us as a search engine", '<a class="btn btn--primary btn--inline js-btn-nui">', "</a>", m) : j.call(k, "l", "Click %sHere%s to add us as a search engine", '<a class="btn btn--primary btn--inline js-btn-nui">', "</a>", m));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "Click the %s icon in the top toolbar", "<b>≡</b>", m) : j.call(k, "l", "Click the %s icon in the top toolbar", "<b>≡</b>", m));
- if (a || a === 0) {
- f += a
- }
- f += '<img class="add-to-browser__image" style="height:42px;" src="' + g((e = b.retinaImage || (k && k.retinaImage), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "/assets/add-to-browser/chrome.jpg", m) : j.call(k, "retinaImage", "/assets/add-to-browser/chrome.jpg", m))) + '" /></li><li>';
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "Select %sSettings%s", "<b>", "</b>", m) : j.call(k, "l", "Select %sSettings%s", "<b>", "</b>", m));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "Under %sSearch%s section, click %sManage search engines...%s", "<b>", "</b>", "<b>", "</b>", m) : j.call(k, "l", "Under %sSearch%s section, click %sManage search engines...%s", "<b>", "</b>", "<b>", "</b>", m));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "Find DuckDuckGo in the displayed list and click %sMake Default%s", "<b>", "</b>", m) : j.call(k, "l", "Find DuckDuckGo in the displayed list and click %sMake Default%s", "<b>", "</b>", m));
- if (a || a === 0) {
- f += a
- }
- f += "</li></ol>";
- return f
- });
- this["DDG"]["templates"]["use_for_search_chrome_android"] = Handlebars.template(function(c, j, b, h, g) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- g = g || {};
- var f = "",
- a, e, k, i = b.helperMissing;
- f += "<img style='width:90px;height:90px;display:block;margin:0 auto 40px;box-shadow: 0 0 15px -3px rgba(0,0,0,0.35);' class='circle' src='/assets/android-chrome-menu.svg' />";
- a = (e = b.l || (j && j.l), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "Press %sMenu > Add to homescreen > Add%s!", "<b>", "</b>", k) : i.call(j, "l", "Press %sMenu > Add to homescreen > Add%s!", "<b>", "</b>", k));
- if (a || a === 0) {
- f += a
- }
- return f
- });
- this["DDG"]["templates"]["use_for_search_chrome_android_default"] = Handlebars.template(function(c, m, b, j, i) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- i = i || {};
- var g = "",
- a, e, n, f = "function",
- h = this.escapeExpression,
- k = b.helperMissing;
- g += '<div style="height:';
- if (e = b.height) {
- a = e.call(m, {
- hash: {},
- data: i
- })
- } else {
- e = (m && m.height);
- a = typeof e === f ? e.call(m, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + 'px;"><div class="ddgsi badge-link__close atb-overlay__close">×</div><div class="atb-overlay"><div class="atb-overlay__panel"><img class="atb-overlay__image" src="assets/onboarding/[email protected]" height="120"><div class="atb-overlay__title">';
- a = (e = b.l || (m && m.l), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "Take Back Your Privacy!", n) : k.call(m, "l", "Take Back Your Privacy!", n));
- if (a || a === 0) {
- g += a
- }
- g += '</div><div class="atb-overlay__copy">';
- a = (e = b.lp || (m && m.lp), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "homepage onboarding", "We don't store your personal info or track you. Ever.", n) : k.call(m, "lp", "homepage onboarding", "We don't store your personal info or track you. Ever.", n));
- if (a || a === 0) {
- g += a
- }
- g += '</div><div class="atb-overlay__steps"><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">1</div></div><div class="atb-overlay__step-cell"><img src="/assets/chrome-android-menu.png" width="50" height="50" class="atb-overlay__step-cell--bg" /></div><div class="atb-overlay__step-copy">';
- a = (e = b.lp || (m && m.lp), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "mobile homepage banner", "Open %sMenu%s", "<b>", "</b>", n) : k.call(m, "lp", "mobile homepage banner", "Open %sMenu%s", "<b>", "</b>", n));
- if (a || a === 0) {
- g += a
- }
- g += '</div></div><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">2</div></div><div class="atb-overlay__step-cell"><img src="/assets/chrome-android-settings.png" width="50" height="50" class="atb-overlay__step-cell--bg" /></div><div class="atb-overlay__step-copy">';
- a = (e = b.lp || (m && m.lp), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "mobile homepage banner", "Select %sSettings%s, then %sSearch Engine%s", "<b>", "</b>", "<b>", "</b>", n) : k.call(m, "lp", "mobile homepage banner", "Select %sSettings%s, then %sSearch Engine%s", "<b>", "</b>", "<b>", "</b>", n));
- if (a || a === 0) {
- g += a
- }
- g += '</div></div><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">3</div></div><div class="atb-overlay__step-cell"><img src="/assets/chrome-android-select.png" width="50" height="50" class="atb-overlay__step-cell--bg" /></div><div class="atb-overlay__step-copy">';
- a = (e = b.l || (m && m.l), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "Select %sDuckDuckGo%s!", "<b>", "</b>", n) : k.call(m, "l", "Select %sDuckDuckGo%s!", "<b>", "</b>", n));
- if (a || a === 0) {
- g += a
- }
- g += "</div></div></div></div></div></div>";
- return g
- });
- this["DDG"]["templates"]["use_for_search_chrome_ios_default"] = Handlebars.template(function(c, m, b, j, i) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- i = i || {};
- var g = "",
- a, e, n, f = "function",
- h = this.escapeExpression,
- k = b.helperMissing;
- g += '<div style="height:';
- if (e = b.height) {
- a = e.call(m, {
- hash: {},
- data: i
- })
- } else {
- e = (m && m.height);
- a = typeof e === f ? e.call(m, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + 'px;"><div class="ddgsi badge-link__close atb-overlay__close">×</div><div class="atb-overlay"><div class="atb-overlay__panel"><img class="atb-overlay__image" src="assets/onboarding/[email protected]" height="120"><div class="atb-overlay__title">';
- a = (e = b.l || (m && m.l), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "Take Back Your Privacy!", n) : k.call(m, "l", "Take Back Your Privacy!", n));
- if (a || a === 0) {
- g += a
- }
- g += '</div><div class="atb-overlay__copy">';
- a = (e = b.lp || (m && m.lp), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "homepage onboarding", "We don't store your personal info or track you. Ever.", n) : k.call(m, "lp", "homepage onboarding", "We don't store your personal info or track you. Ever.", n));
- if (a || a === 0) {
- g += a
- }
- g += '</div><div class="atb-overlay__steps"><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">1</div></div><div class="atb-overlay__step-cell"><img src="/assets/chrome-ios-menu.svg" width="50" height="50" class="atb-overlay__step-cell--bg" /></div><div class="atb-overlay__step-copy">';
- a = (e = b.lp || (m && m.lp), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "mobile homepage banner", "Open %sMenu%s", "<b>", "</b>", n) : k.call(m, "lp", "mobile homepage banner", "Open %sMenu%s", "<b>", "</b>", n));
- if (a || a === 0) {
- g += a
- }
- g += '</div></div><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">2</div></div><div class="atb-overlay__step-cell"><img src="/assets/chrome-ios-settings.svg" width="50" height="50" class="atb-overlay__step-cell--bg" /></div><div class="atb-overlay__step-copy">';
- a = (e = b.lp || (m && m.lp), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "mobile homepage banner", "Select %sSettings%s", "<b>", "</b>", n) : k.call(m, "lp", "mobile homepage banner", "Select %sSettings%s", "<b>", "</b>", n));
- if (a || a === 0) {
- g += a
- }
- g += '</div></div><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">3</div></div><div class="atb-overlay__step-cell"><img src="/assets/chrome-ios-loupe.svg" width="50" height="50" class="atb-overlay__step-cell--bg-dark" /></div><div class="atb-overlay__step-copy">';
- a = (e = b.lp || (m && m.lp), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "mobile homepage banner", "Select %sSearch Engine%s", "<b>", "</b>", n) : k.call(m, "lp", "mobile homepage banner", "Select %sSearch Engine%s", "<b>", "</b>", n));
- if (a || a === 0) {
- g += a
- }
- g += '</div></div><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">4</div></div><div class="atb-overlay__step-cell"><img src="/assets/chrome-ios-select.svg" width="50" height="50" /></div><div class="atb-overlay__step-copy">';
- a = (e = b.l || (m && m.l), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "Select %sDuckDuckGo%s!", "<b>", "</b>", n) : k.call(m, "l", "Select %sDuckDuckGo%s!", "<b>", "</b>", n));
- if (a || a === 0) {
- g += a
- }
- g += "</div></div></div></div></div></div>";
- return g
- });
- this["DDG"]["templates"]["use_for_search_edge"] = Handlebars.template(function(c, k, b, i, h) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- h = h || {};
- var f = "",
- a, e, m, j = b.helperMissing,
- g = this.escapeExpression;
- f += '<ol class="add-to-browser__directions"><li>';
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "Click the %s...%s icon at the top right:", "<b>", "</b>", m) : j.call(k, "l", "Click the %s...%s icon at the top right:", "<b>", "</b>", m));
- if (a || a === 0) {
- f += a
- }
- f += '<img class="add-to-browser__image" style="height:47px;" src="' + g((e = b.imageProxy || (k && k.imageProxy), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "/assets/add-to-browser/edge.jpg", m) : j.call(k, "imageProxy", "/assets/add-to-browser/edge.jpg", m))) + '" /></li><li>';
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "Click %sSettings%s", "<b>", "</b>", m) : j.call(k, "l", "Click %sSettings%s", "<b>", "</b>", m));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "Scroll down and click %sView advanced settings%s", "<b>", "</b>", m) : j.call(k, "l", "Scroll down and click %sView advanced settings%s", "<b>", "</b>", m));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "Under %sSearch in the address bar with%s select %sAdd New%s", "<b>", "</b>", "<b>", "</b>", m) : j.call(k, "l", "Under %sSearch in the address bar with%s select %sAdd New%s", "<b>", "</b>", "<b>", "</b>", m));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "Select %sDuckDuckGo%s and click %sAdd as default%s!", "<b>", "</b>", "<b>", "</b>", m) : j.call(k, "l", "Select %sDuckDuckGo%s and click %sAdd as default%s!", "<b>", "</b>", "<b>", "</b>", m));
- if (a || a === 0) {
- f += a
- }
- f += "</li></ol>";
- return f
- });
- this["DDG"]["templates"]["use_for_search_edge_android_default"] = Handlebars.template(function(c, m, b, j, i) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- i = i || {};
- var g = "",
- a, e, n, f = "function",
- h = this.escapeExpression,
- k = b.helperMissing;
- g += '<div style="height:';
- if (e = b.height) {
- a = e.call(m, {
- hash: {},
- data: i
- })
- } else {
- e = (m && m.height);
- a = typeof e === f ? e.call(m, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + 'px;"><div class="ddgsi badge-link__close atb-overlay__close">×</div><div class="atb-overlay"><div class="atb-overlay__panel"><img class="atb-overlay__image" src="assets/onboarding/[email protected]" height="120"><div class="atb-overlay__title">';
- a = (e = b.l || (m && m.l), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "Take Back Your Privacy!", n) : k.call(m, "l", "Take Back Your Privacy!", n));
- if (a || a === 0) {
- g += a
- }
- g += '</div><div class="atb-overlay__copy">';
- a = (e = b.lp || (m && m.lp), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "homepage onboarding", "We don't store your personal info or track you. Ever.", n) : k.call(m, "lp", "homepage onboarding", "We don't store your personal info or track you. Ever.", n));
- if (a || a === 0) {
- g += a
- }
- g += '</div><div class="atb-overlay__steps"><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">1</div></div><div class="atb-overlay__step-copy-only">';
- a = (e = b.lp || (m && m.lp), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "mobile homepage banner", "Open %sMenu%s", "<b>", "</b>", n) : k.call(m, "lp", "mobile homepage banner", "Open %sMenu%s", "<b>", "</b>", n));
- if (a || a === 0) {
- g += a
- }
- g += '</div></div><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">2</div></div><div class="atb-overlay__step-copy-only">';
- a = (e = b.lp || (m && m.lp), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "mobile homepage banner", "Select %sSettings%s, then %sDefault search engine%s", "<b>", "</b>", "<b>", "</b>", n) : k.call(m, "lp", "mobile homepage banner", "Select %sSettings%s, then %sDefault search engine%s", "<b>", "</b>", "<b>", "</b>", n));
- if (a || a === 0) {
- g += a
- }
- g += '</div></div><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">3</div></div><div class="atb-overlay__step-copy-only">';
- a = (e = b.l || (m && m.l), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "Select %sDuckDuckGo%s!", "<b>", "</b>", n) : k.call(m, "l", "Select %sDuckDuckGo%s!", "<b>", "</b>", n));
- if (a || a === 0) {
- g += a
- }
- g += "</div></div></div></div></div></div>";
- return g
- });
- this["DDG"]["templates"]["use_for_search_edge_ios_default"] = Handlebars.template(function(c, m, b, j, i) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- i = i || {};
- var g = "",
- a, e, n, f = "function",
- h = this.escapeExpression,
- k = b.helperMissing;
- g += '<div style="height:';
- if (e = b.height) {
- a = e.call(m, {
- hash: {},
- data: i
- })
- } else {
- e = (m && m.height);
- a = typeof e === f ? e.call(m, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + 'px;"><div class="ddgsi badge-link__close atb-overlay__close">×</div><div class="atb-overlay"><div class="atb-overlay__panel"><img class="atb-overlay__image" src="assets/onboarding/[email protected]" height="120"><div class="atb-overlay__title">';
- a = (e = b.l || (m && m.l), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "Take Back Your Privacy!", n) : k.call(m, "l", "Take Back Your Privacy!", n));
- if (a || a === 0) {
- g += a
- }
- g += '</div><div class="atb-overlay__copy">';
- a = (e = b.lp || (m && m.lp), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "homepage onboarding", "We don't store your personal info or track you. Ever.", n) : k.call(m, "lp", "homepage onboarding", "We don't store your personal info or track you. Ever.", n));
- if (a || a === 0) {
- g += a
- }
- g += '</div><div class="atb-overlay__steps"><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">1</div></div><div class="atb-overlay__step-copy-only">';
- a = (e = b.lp || (m && m.lp), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "mobile homepage banner", "Open %sMenu%s", "<b>", "</b>", n) : k.call(m, "lp", "mobile homepage banner", "Open %sMenu%s", "<b>", "</b>", n));
- if (a || a === 0) {
- g += a
- }
- g += '</div></div><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">2</div></div><div class="atb-overlay__step-copy-only">';
- a = (e = b.lp || (m && m.lp), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "mobile homepage banner", "Select %sSettings%s, then %sAdvanced settings%s", "<b>", "</b>", "<b>", "</b>", n) : k.call(m, "lp", "mobile homepage banner", "Select %sSettings%s, then %sAdvanced settings%s", "<b>", "</b>", "<b>", "</b>", n));
- if (a || a === 0) {
- g += a
- }
- g += '</div></div><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">3</div></div><div class="atb-overlay__step-copy-only">';
- a = (e = b.lp || (m && m.lp), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "mobile homepage banner", "Select %sSearch engine%s, then %sOthers...%s", "<b>", "</b>", "<b>", "</b>", n) : k.call(m, "lp", "mobile homepage banner", "Select %sSearch engine%s, then %sOthers...%s", "<b>", "</b>", "<b>", "</b>", n));
- if (a || a === 0) {
- g += a
- }
- g += '</div></div><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">4</div></div><div class="atb-overlay__step-copy-only">';
- a = (e = b.l || (m && m.l), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "Select %sDuckDuckGo%s!", "<b>", "</b>", n) : k.call(m, "l", "Select %sDuckDuckGo%s!", "<b>", "</b>", n));
- if (a || a === 0) {
- g += a
- }
- g += "</div></div></div></div></div></div>";
- return g
- });
- this["DDG"]["templates"]["use_for_search_firefox"] = Handlebars.template(function(c, k, b, i, h) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- h = h || {};
- var f = "",
- a, e, m, j = b.helperMissing,
- g = this.escapeExpression;
- f += '<ol class="add-to-browser__directions"><li>';
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "Click the magnifying glass in the search box (at the top of the browser)", m) : j.call(k, "l", "Click the magnifying glass in the search box (at the top of the browser)", m));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "Click %sChange Search Settings%s in the drop down", "<b>", "</b>", m) : j.call(k, "l", "Click %sChange Search Settings%s in the drop down", "<b>", "</b>", m));
- if (a || a === 0) {
- f += a
- }
- f += '<img class="add-to-browser__image" style="height:202px;" src="' + g((e = b.retinaImage || (k && k.retinaImage), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "/assets/add-to-browser/firefox.jpg?v=2", m) : j.call(k, "retinaImage", "/assets/add-to-browser/firefox.jpg?v=2", m))) + '" /></li><li>';
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "Select %sDuckDuckGo%s in the Default Search Engine drop down", "<b>", "</b>", m) : j.call(k, "l", "Select %sDuckDuckGo%s in the Default Search Engine drop down", "<b>", "</b>", m));
- if (a || a === 0) {
- f += a
- }
- f += "</li></ol>";
- return f
- });
- this["DDG"]["templates"]["use_for_search_firefox_android"] = Handlebars.template(function(c, m, b, j, i) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- i = i || {};
- var g = "",
- a, e, n, f = "function",
- h = this.escapeExpression,
- k = b.helperMissing;
- g += '<div style="height:';
- if (e = b.height) {
- a = e.call(m, {
- hash: {},
- data: i
- })
- } else {
- e = (m && m.height);
- a = typeof e === f ? e.call(m, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + 'px;"><div class="ddgsi badge-link__close atb-overlay__close">×</div><div class="atb-overlay"><div class="atb-overlay__panel"><img class="atb-overlay__image" src="assets/onboarding/[email protected]" height="120"><div class="atb-overlay__title">';
- a = (e = b.l || (m && m.l), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "Take Back Your Privacy!", n) : k.call(m, "l", "Take Back Your Privacy!", n));
- if (a || a === 0) {
- g += a
- }
- g += '</div><div class="atb-overlay__copy">';
- a = (e = b.lp || (m && m.lp), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "homepage onboarding", "We don't store your personal info or track you. Ever.", n) : k.call(m, "lp", "homepage onboarding", "We don't store your personal info or track you. Ever.", n));
- if (a || a === 0) {
- g += a
- }
- g += '</div><div class="atb-overlay__steps"><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">1</div></div><div class="atb-overlay__step-cell"><img src="/assets/chrome-android-menu.png" width="50" height="50" class="atb-overlay__step-cell--bg-dark" /></div><div class="atb-overlay__step-copy">';
- a = (e = b.lp || (m && m.lp), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "mobile homepage banner", "Open %sMenu%s", "<b>", "</b>", n) : k.call(m, "lp", "mobile homepage banner", "Open %sMenu%s", "<b>", "</b>", n));
- if (a || a === 0) {
- g += a
- }
- g += '</div></div><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">2</div></div><div class="atb-overlay__step-cell"><img src="/assets/chrome-android-settings.png" width="50" height="50" class="atb-overlay__step-cell--bg-gray" /></div><div class="atb-overlay__step-copy">';
- a = (e = b.lp || (m && m.lp), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "mobile homepage banner", "Select %sSettings%s, then %sSearch Engine%s", "<b>", "</b>", "<b>", "</b>", n) : k.call(m, "lp", "mobile homepage banner", "Select %sSettings%s, then %sSearch Engine%s", "<b>", "</b>", "<b>", "</b>", n));
- if (a || a === 0) {
- g += a
- }
- g += '</div></div><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">3</div></div><div class="atb-overlay__step-cell"><img src="/assets/dax.png" width="50" height="50" class="atb-overlay__step-cell--bg-dax" /></div><div class="atb-overlay__step-copy">';
- a = (e = b.l || (m && m.l), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "Select %sDuckDuckGo%s!", "<b>", "</b>", n) : k.call(m, "l", "Select %sDuckDuckGo%s!", "<b>", "</b>", n));
- if (a || a === 0) {
- g += a
- }
- g += "</div></div></div></div></div></div>";
- return g
- });
- this["DDG"]["templates"]["use_for_search_firefox_ios"] = Handlebars.template(function(c, m, b, j, i) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- i = i || {};
- var g = "",
- a, e, n, f = "function",
- h = this.escapeExpression,
- k = b.helperMissing;
- g += '<div style="height:';
- if (e = b.height) {
- a = e.call(m, {
- hash: {},
- data: i
- })
- } else {
- e = (m && m.height);
- a = typeof e === f ? e.call(m, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + 'px;"><div class="ddgsi badge-link__close atb-overlay__close">×</div><div class="atb-overlay"><div class="atb-overlay__panel"><img class="atb-overlay__image" src="assets/onboarding/[email protected]" height="120"><div class="atb-overlay__title">';
- a = (e = b.l || (m && m.l), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "Take Back Your Privacy!", n) : k.call(m, "l", "Take Back Your Privacy!", n));
- if (a || a === 0) {
- g += a
- }
- g += '</div><div class="atb-overlay__copy">';
- a = (e = b.lp || (m && m.lp), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "homepage onboarding", "We don't store your personal info or track you. Ever.", n) : k.call(m, "lp", "homepage onboarding", "We don't store your personal info or track you. Ever.", n));
- if (a || a === 0) {
- g += a
- }
- g += '</div><div class="atb-overlay__steps"><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">1</div></div><div class="atb-overlay__step-cell"><img src="/assets/ff_menu.png" width="50" height="50" class="atb-overlay__step-cell--bg-gray" /></div><div class="atb-overlay__step-copy">';
- a = (e = b.lp || (m && m.lp), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "mobile homepage banner", "Open %sMenu%s", "<b>", "</b>", n) : k.call(m, "lp", "mobile homepage banner", "Open %sMenu%s", "<b>", "</b>", n));
- if (a || a === 0) {
- g += a
- }
- g += '</div></div><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">2</div></div><div class="atb-overlay__step-cell"><img src="/assets/ff_settings.png" width="50" height="50" class="atb-overlay__step-cell--bg-gray" /></div><div class="atb-overlay__step-copy">';
- a = (e = b.lp || (m && m.lp), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "mobile homepage banner", "Select %sSettings%s, then %sSearch Engine%s", "<b>", "</b>", "<b>", "</b>", n) : k.call(m, "lp", "mobile homepage banner", "Select %sSettings%s, then %sSearch Engine%s", "<b>", "</b>", "<b>", "</b>", n));
- if (a || a === 0) {
- g += a
- }
- g += '</div></div><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">3</div></div><div class="atb-overlay__step-cell"><img src="/assets/dax.png" width="50" height="50" class="atb-overlay__step-cell--bg-dax" /></div><div class="atb-overlay__step-copy">';
- a = (e = b.l || (m && m.l), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "Select %sDuckDuckGo%s!", "<b>", "</b>", n) : k.call(m, "l", "Select %sDuckDuckGo%s!", "<b>", "</b>", n));
- if (a || a === 0) {
- g += a
- }
- g += "</div></div></div></div></div></div>";
- return g
- });
- this["DDG"]["templates"]["use_for_search_firefox_old"] = Handlebars.template(function(c, k, b, i, h) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- h = h || {};
- var f = "",
- a, e, m, j = b.helperMissing,
- g = this.escapeExpression;
- f += '<ol class="add-to-browser__directions"><li class="has-btn">';
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "Click %sHere%s to add us as a search engine", '<a class="btn btn--primary btn--inline js-btn-nui">', "</a>", m) : j.call(k, "l", "Click %sHere%s to add us as a search engine", '<a class="btn btn--primary btn--inline js-btn-nui">', "</a>", m));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "Check %sMake this the current search engine%s", "<b>", "</b>", m) : j.call(k, "l", "Check %sMake this the current search engine%s", "<b>", "</b>", m));
- if (a || a === 0) {
- f += a
- }
- f += '<img class="add-to-browser__image" style="height:219px;" src="' + g((e = b.retinaImage || (k && k.retinaImage), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "/assets/add-to-browser/firefox_old.jpg", m) : j.call(k, "retinaImage", "/assets/add-to-browser/firefox_old.jpg", m))) + '" /></li><li>';
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "Click %sAdd%s", "<b>", "</b>", m) : j.call(k, "l", "Click %sAdd%s", "<b>", "</b>", m));
- if (a || a === 0) {
- f += a
- }
- f += "</li></ol>";
- return f
- });
- this["DDG"]["templates"]["use_for_search_ie"] = Handlebars.template(function(c, k, b, i, h) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- h = h || {};
- var f = "",
- a, e, m, j = b.helperMissing,
- g = this.escapeExpression;
- f += '<ol class="add-to-browser__directions"><li class="has-btn">';
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "Click %sHere%s to add us as a search engine", '<a class="btn btn--primary btn--inline js-btn-nui">', "</a>", m) : j.call(k, "l", "Click %sHere%s to add us as a search engine", '<a class="btn btn--primary btn--inline js-btn-nui">', "</a>", m));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, 'Make sure to check %s"Make this my default search provider"%s', "<b>", "</b>", m) : j.call(k, "l", 'Make sure to check %s"Make this my default search provider"%s', "<b>", "</b>", m));
- if (a || a === 0) {
- f += a
- }
- f += '<img class="add-to-browser__image" style="height:200.5px;" src="' + g((e = b.retinaImage || (k && k.retinaImage), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "/assets/add-to-browser/ie.jpg", m) : j.call(k, "retinaImage", "/assets/add-to-browser/ie.jpg", m))) + '" /></li><li>';
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "Click %sAdd%s", "<b>", "</b>", m) : j.call(k, "l", "Click %sAdd%s", "<b>", "</b>", m));
- if (a || a === 0) {
- f += a
- }
- f += "</li></ol>";
- return f
- });
- this["DDG"]["templates"]["use_for_search_ios8"] = Handlebars.template(function(c, m, b, j, i) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- i = i || {};
- var g = "",
- a, e, n, f = "function",
- h = this.escapeExpression,
- k = b.helperMissing;
- g += '<div style="height:';
- if (e = b.height) {
- a = e.call(m, {
- hash: {},
- data: i
- })
- } else {
- e = (m && m.height);
- a = typeof e === f ? e.call(m, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + 'px;"><div class="ddgsi badge-link__close atb-overlay__close">×</div><div class="atb-overlay"><div class="atb-overlay__panel"><img class="atb-overlay__image" src="assets/onboarding/[email protected]" height="120"><div class="atb-overlay__title">';
- a = (e = b.l || (m && m.l), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "Take Back Your Privacy!", n) : k.call(m, "l", "Take Back Your Privacy!", n));
- if (a || a === 0) {
- g += a
- }
- g += '</div><div class="atb-overlay__copy">';
- a = (e = b.lp || (m && m.lp), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "homepage onboarding", "We don't store your personal info or track you. Ever.", n) : k.call(m, "lp", "homepage onboarding", "We don't store your personal info or track you. Ever.", n));
- if (a || a === 0) {
- g += a
- }
- g += '</div><div class="atb-overlay__steps"><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">1</div></div><div class="atb-overlay__step-cell"><img src="/assets/ios-settings-icon-small.png" width="50" height="50" /></div><div class="atb-overlay__step-copy">';
- a = (e = b.lp || (m && m.lp), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "mobile homepage banner", "Open %sSettings%s", "<b>", "</b>", n) : k.call(m, "lp", "mobile homepage banner", "Open %sSettings%s", "<b>", "</b>", n));
- if (a || a === 0) {
- g += a
- }
- g += '</div></div><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">2</div></div><div class="atb-overlay__step-cell"><img src="/assets/ios-safari-icon.png" width="50" height="50" /></div><div class="atb-overlay__step-copy">';
- a = (e = b.lp || (m && m.lp), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "mobile homepage banner", "Select %s%s%s, then %sSearch Engine%s", "<b>", (m && m.displayBrowserName), "</b>", "<b>", "</b>", n) : k.call(m, "lp", "mobile homepage banner", "Select %s%s%s, then %sSearch Engine%s", "<b>", (m && m.displayBrowserName), "</b>", "<b>", "</b>", n));
- if (a || a === 0) {
- g += a
- }
- g += '</div></div><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">3</div></div><div class="atb-overlay__step-cell"><img src="/assets/ios-safari-checked.png" width="50" height="50" /></div><div class="atb-overlay__step-copy">';
- a = (e = b.l || (m && m.l), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "Select %sDuckDuckGo%s!", "<b>", "</b>", n) : k.call(m, "l", "Select %sDuckDuckGo%s!", "<b>", "</b>", n));
- if (a || a === 0) {
- g += a
- }
- g += "</div></div></div></div></div></div>";
- return g
- });
- this["DDG"]["templates"]["use_for_search_ios8_cppm"] = Handlebars.template(function(c, k, b, j, i) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- i = i || {};
- var g = "",
- a, e, f = "function",
- h = this.escapeExpression;
- g += '<div class="js-use-for-search-ios8-cppm" style="height:';
- if (e = b.height) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.height);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + 'px;"></div>';
- return g
- });
- this["DDG"]["templates"]["use_for_search_maxthon"] = Handlebars.template(function(c, j, b, h, g) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- g = g || {};
- var f = "",
- a, e, k, i = b.helperMissing;
- f += '<ol class="add-to-browser__directions"><li>';
- a = (e = b.l || (j && j.l), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "Go to Options.", k) : i.call(j, "l", "Go to Options.", k));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (j && j.l), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "Go to Search Engine.", k) : i.call(j, "l", "Go to Search Engine.", k));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (j && j.l), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "Click add.", k) : i.call(j, "l", "Click add.", k));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (j && j.l), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "Enter the following details: %sName%s: DuckDuckGo%s URL%s: %s Alias%s: d%s", "<ol><li><b>", "</b>", "</li><li><b>", "</b>", "https://duckduckgo.com/?q=%s</li><li><b>", "</b>", "</li></ol>", k) : i.call(j, "l", "Enter the following details: %sName%s: DuckDuckGo%s URL%s: %s Alias%s: d%s", "<ol><li><b>", "</b>", "</li><li><b>", "</b>", "https://duckduckgo.com/?q=%s</li><li><b>", "</b>", "</li></ol>", k));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (j && j.l), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "Click OK.", k) : i.call(j, "l", "Click OK.", k));
- if (a || a === 0) {
- f += a
- }
- f += "</li></ol>";
- return f
- });
- this["DDG"]["templates"]["use_for_search_opera"] = Handlebars.template(function(c, k, b, i, h) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- h = h || {};
- var f = "",
- a, e, m, j = b.helperMissing,
- g = this.escapeExpression;
- f += '<ol class="add-to-browser__directions"><li>';
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "Select %sOpera > Preferences%s (on Mac) or %sMenu > Settings%s (on Windows)", "<b>", "</b>", "<b>", "</b>", m) : j.call(k, "l", "Select %sOpera > Preferences%s (on Mac) or %sMenu > Settings%s (on Windows)", "<b>", "</b>", "<b>", "</b>", m));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "Click on %sBrowser%s in the sidebar", "<b>", "</b>", m) : j.call(k, "l", "Click on %sBrowser%s in the sidebar", "<b>", "</b>", m));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "Under Search click the drop down and select %sDuckDuckGo%s", "<b>", "</b>", m) : j.call(k, "l", "Under Search click the drop down and select %sDuckDuckGo%s", "<b>", "</b>", m));
- if (a || a === 0) {
- f += a
- }
- f += '</li></ol><img class="add-to-browser__image" style="height:118px;" src="' + g((e = b.retinaImage || (k && k.retinaImage), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "/assets/add-to-browser/opera.jpg", m) : j.call(k, "retinaImage", "/assets/add-to-browser/opera.jpg", m))) + '" />';
- return f
- });
- this["DDG"]["templates"]["use_for_search_palemoon"] = Handlebars.template(function(c, k, b, i, h) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- h = h || {};
- var f = "",
- a, e, m, j = b.helperMissing,
- g = this.escapeExpression;
- f += '<ol class="add-to-browser__directions"><li class="has-btn">';
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "Click the drop down in the search box", m) : j.call(k, "l", "Click the drop down in the search box", m));
- if (a || a === 0) {
- f += a
- }
- f += '<img class="add-to-browser__image" style="height:137px;" src="' + g((e = b.retinaImage || (k && k.retinaImage), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "/assets/add-to-browser/palemoon.jpg", m) : j.call(k, "retinaImage", "/assets/add-to-browser/palemoon.jpg", m))) + '" /></li><li>';
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "Selected %sDuckDuckGo%s", "<b>", "</b>", m) : j.call(k, "l", "Selected %sDuckDuckGo%s", "<b>", "</b>", m));
- if (a || a === 0) {
- f += a
- }
- f += "</li></ol>";
- return f
- });
- this["DDG"]["templates"]["use_for_search_safari"] = Handlebars.template(function(c, k, b, i, h) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- h = h || {};
- var f = "",
- a, e, m, j = b.helperMissing,
- g = this.escapeExpression;
- f += '<ol class="add-to-browser__directions"><li>';
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "Open a new tab or window", m) : j.call(k, "l", "Open a new tab or window", m));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "Click the magnifying glass in the search bar", m) : j.call(k, "l", "Click the magnifying glass in the search bar", m));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "Select DuckDuckGo!", m) : j.call(k, "l", "Select DuckDuckGo!", m));
- if (a || a === 0) {
- f += a
- }
- f += '</li></ol><img class="add-to-browser__image" style="height:118px;" src="' + g((e = b.retinaImage || (k && k.retinaImage), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "/assets/add-to-browser/safari.jpg", m) : j.call(k, "retinaImage", "/assets/add-to-browser/safari.jpg", m))) + '" />';
- return f
- });
- this["DDG"]["templates"]["use_for_search_safari_old"] = Handlebars.template(function(c, j, b, h, g) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- g = g || {};
- var f = "",
- a, e, k, i = b.helperMissing;
- f += '<ol class="add-to-browser__directions"><li class="has-btn">';
- a = (e = b.l || (j && j.l), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "Click %sHere%s to download the DuckDuckGo extension", '<a class="btn btn--primary btn--inline" href="https://duckduckgo.com/extensions/duckduckgo.safariextz">', "</a>", k) : i.call(j, "l", "Click %sHere%s to download the DuckDuckGo extension", '<a class="btn btn--primary btn--inline" href="https://duckduckgo.com/extensions/duckduckgo.safariextz">', "</a>", k));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (j && j.l), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "After it downloads, locate the extension file and double-click it to install", k) : i.call(j, "l", "After it downloads, locate the extension file and double-click it to install", k));
- if (a || a === 0) {
- f += a
- }
- f += "</li></ol>";
- return f
- });
- this["DDG"]["templates"]["use_for_search_safari_windows"] = Handlebars.template(function(c, j, b, h, g) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- g = g || {};
- var f = "",
- a, e, k, i = b.helperMissing;
- f += '<ol class="add-to-browser__directions"><li class="has-btn">';
- a = (e = b.l || (j && j.l), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "Click %sHere%s to add us as a search engine", '<a class="btn btn--primary btn--inline" href="https://duckduckgo.com/extensions/duckduckgo.safariextz" target="com.duckduckgo.safari-HKE973VLUW">', "</a>", k) : i.call(j, "l", "Click %sHere%s to add us as a search engine", '<a class="btn btn--primary btn--inline" href="https://duckduckgo.com/extensions/duckduckgo.safariextz" target="com.duckduckgo.safari-HKE973VLUW">', "</a>", k));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (j && j.l), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "Click %sOpen%s to download and open the DuckDuckGo Safari extension", "<b>", "</b>", k) : i.call(j, "l", "Click %sOpen%s to download and open the DuckDuckGo Safari extension", "<b>", "</b>", k));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (j && j.l), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "After it downloads and opens, click %sInstall%s", "<b>", "</b>", k) : i.call(j, "l", "After it downloads and opens, click %sInstall%s", "<b>", "</b>", k));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (j && j.l), k = {
- hash: {},
- data: g
- }, e ? e.call(j, "Click the Duck icon at the top of your browser to search!", k) : i.call(j, "l", "Click the Duck icon at the top of your browser to search!", k));
- if (a || a === 0) {
- f += a
- }
- f += "</li></ol>";
- return f
- });
- this["DDG"]["templates"]["use_for_search_seamonkey"] = Handlebars.template(function(c, k, b, i, h) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- h = h || {};
- var f = "",
- a, e, m, j = b.helperMissing,
- g = this.escapeExpression;
- f += '<ol class="add-to-browser__directions"><li>';
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "Click %sEdit > Preferences%s (on Windows) %sSeaMonkey > Preferences%s (on Mac)", "<b>", "</b>", "<b>", "</b>", m) : j.call(k, "l", "Click %sEdit > Preferences%s (on Windows) %sSeaMonkey > Preferences%s (on Mac)", "<b>", "</b>", "<b>", "</b>", m));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "In the side menu select %sInternet Search%s", "<b>", "</b>", m) : j.call(k, "l", "In the side menu select %sInternet Search%s", "<b>", "</b>", m));
- if (a || a === 0) {
- f += a
- }
- f += "</li><li>";
- a = (e = b.l || (k && k.l), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "In the drop down select %sDuckDuckGo%s!", "<b>", "</b>", m) : j.call(k, "l", "In the drop down select %sDuckDuckGo%s!", "<b>", "</b>", m));
- if (a || a === 0) {
- f += a
- }
- f += '</li></ol><img class="add-to-browser__image" style="height:118px;" src="' + g((e = b.retinaImage || (k && k.retinaImage), m = {
- hash: {},
- data: h
- }, e ? e.call(k, "/assets/add-to-browser/seamonkey.jpg", m) : j.call(k, "retinaImage", "/assets/add-to-browser/seamonkey.jpg", m))) + '" />';
- return f
- });
- this["DDG"]["templates"]["use_for_search_uc_browser_mobile"] = Handlebars.template(function(c, m, b, j, i) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- i = i || {};
- var g = "",
- a, e, n, f = "function",
- h = this.escapeExpression,
- k = b.helperMissing;
- g += '<div style="height:';
- if (e = b.height) {
- a = e.call(m, {
- hash: {},
- data: i
- })
- } else {
- e = (m && m.height);
- a = typeof e === f ? e.call(m, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + 'px;"><div class="ddgsi badge-link__close atb-overlay__close">×</div><div class="atb-overlay"><div class="atb-overlay__panel"><img class="atb-overlay__image" src="assets/onboarding/[email protected]" height="120"><div class="atb-overlay__title">';
- a = (e = b.l || (m && m.l), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "Take Back Your Privacy!", n) : k.call(m, "l", "Take Back Your Privacy!", n));
- if (a || a === 0) {
- g += a
- }
- g += '</div><div class="atb-overlay__copy">';
- a = (e = b.lp || (m && m.lp), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "homepage onboarding", "We don't store your personal info or track you. Ever.", n) : k.call(m, "lp", "homepage onboarding", "We don't store your personal info or track you. Ever.", n));
- if (a || a === 0) {
- g += a
- }
- g += '</div><div class="atb-overlay__steps"><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">1</div></div><div class="atb-overlay__step-cell"><img src="/assets/add-to-browser/google.png" width="50" height="50" class="atb-overlay__step-cell--bg" /></div><div class="atb-overlay__step-copy">';
- a = (e = b.l || (m && m.l), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "Click the Search Engine Icon in the Address Bar.", n) : k.call(m, "l", "Click the Search Engine Icon in the Address Bar.", n));
- if (a || a === 0) {
- g += a
- }
- g += '</div></div><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">2</div></div><div class="atb-overlay__step-cell"><img src="/assets/add-to-browser/google-arrow.png" width="50" height="50" class="atb-overlay__step-cell--bg" /></div><div class="atb-overlay__step-copy">';
- a = (e = b.l || (m && m.l), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "Click the Expand Icon.", n) : k.call(m, "l", "Click the Expand Icon.", n));
- if (a || a === 0) {
- g += a
- }
- g += '</div></div><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">3</div></div><div class="atb-overlay__step-cell"><img src="/assets/add-to-browser/ddg-logo.svg" width="50" height="50" class="atb-overlay__step-cell--bg" /></div><div class="atb-overlay__step-copy">';
- a = (e = b.l || (m && m.l), n = {
- hash: {},
- data: i
- }, e ? e.call(m, "Select %sDuckDuckGo%s!", "<b>", "</b>", n) : k.call(m, "l", "Select %sDuckDuckGo%s!", "<b>", "</b>", n));
- if (a || a === 0) {
- g += a
- }
- g += "</div></div></div></div></div></div>";
- return g
- });
- this["DDG"]["templates"]["use_for_search_vivaldi"] = Handlebars.template(function(e, m, c, j, i) {
- this.compilerInfo = [4, ">= 1.0.0"];
- c = this.merge(c, e.helpers);
- i = i || {};
- var g = "",
- a, f, o, k = c.helperMissing,
- n = this,
- h = this.escapeExpression;
- function b(q, p) {
- return '<li><a href="https://chrome.google.com/webstore/detail/duckduckgo-privacy-essent/bkdgflcldnnnapblkhphbgpggdiikppg" target="_blank">Install DuckDuckGo Privacy Essentials</a></li>'
- }
- g += '<ol class="add-to-browser__directions"><li>';
- a = (f = c.l || (m && m.l), o = {
- hash: {},
- data: i
- }, f ? f.call(m, "Click on the magnifying glass in the search box at the top right", o) : k.call(m, "l", "Click on the magnifying glass in the search box at the top right", o));
- if (a || a === 0) {
- g += a
- }
- g += "</li><li>";
- a = (f = c.l || (m && m.l), o = {
- hash: {},
- data: i
- }, f ? f.call(m, "Select %sDuckDuckGo%s!", "<b>", "</b>", o) : k.call(m, "l", "Select %sDuckDuckGo%s!", "<b>", "</b>", o));
- if (a || a === 0) {
- g += a
- }
- g += "</li>";
- a = c["if"].call(m, (m && m.showExtensionLink), {
- hash: {},
- inverse: n.noop,
- fn: n.program(1, b, i),
- data: i
- });
- if (a || a === 0) {
- g += a
- }
- g += '</ol><img class="add-to-browser__image" style="height:145px;" src="' + h((f = c.retinaImage || (m && m.retinaImage), o = {
- hash: {},
- data: i
- }, f ? f.call(m, "/assets/add-to-browser/vivaldi.jpg", o) : k.call(m, "retinaImage", "/assets/add-to-browser/vivaldi.jpg", o))) + '" />';
- return g
- });
- this["DDG"] = this["DDG"] || {};
- this["DDG"]["templates"] = this["DDG"]["templates"] || {};
- this["DDG"]["templates"]["theme_autocomplete"] = Handlebars.template(function(c, k, b, j, i) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- i = i || {};
- var g = "",
- a, e, f = "function",
- h = this.escapeExpression;
- g += ".search__autocomplete {border-color: ";
- if (e = b.bg) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.bg);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";background: ";
- if (e = b.bg) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.bg);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";border-top: 1px solid ";
- if (e = b.border) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.border);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";}.acp-footer {border: 1px solid ";
- if (e = b.bg) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.bg);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";}.acp-wrap, .acp-footer {background-color: ";
- if (e = b.bg) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.bg);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";border-color: ";
- if (e = b.bg) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.bg);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";}.acp-wrap__column.acp-wrap__column--left {border-color: ";
- if (e = b.border) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.border);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";}.acp,.acp--bang,.acp__detail,.acp-footer .acp-footer__instructions {color: ";
- if (e = b.darkText) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.darkText);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";}.acp,.acp--bang,.acp strong,.acp--bang .acp--bang__phrase,.acp--highlight.acp--bang .acp--bang__phrase,.acp--highlight.acp--bang .acp--bang__snippet {color: ";
- if (e = b.lightText) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.lightText);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";}.acp--highlight {background-color: ";
- if (e = b.selectedBg) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.selectedBg);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";}.is-mobile.is-mobile-header-exp .acp-wrap {border: none;}";
- return g
- });
- this["DDG"]["templates"]["theme_background"] = Handlebars.template(function(f, n, e, m, k) {
- this.compilerInfo = [4, ">= 1.0.0"];
- e = this.merge(e, f.helpers);
- k = k || {};
- var i = "",
- b, g, h = "function",
- j = this.escapeExpression,
- p = this;
- function c(u, t) {
- var q = "",
- r, s;
- q += ".is-mobile .results_links_deep, .is-mobile .results_links,.is-mobile .result--news {background: ";
- if (s = e.bgTint2) {
- r = s.call(u, {
- hash: {},
- data: t
- })
- } else {
- s = (u && u.bgTint2);
- r = typeof s === h ? s.call(u, {
- hash: {},
- data: t
- }) : s
- }
- q += j(r) + ";border-color: transparent;border-bottom-color: transparent;box-shadow: 0 1px 3px rgba(0,0,0,0.5);}";
- return q
- }
- function a(r, q) {
- return ".modal--popover.is-showing,.modal--popover--gray.is-showing {background: rgba(0,0,0,0.6); }"
- }
- function o(u, t) {
- var q = "",
- r, s;
- q += ".modal--popover.is-showing,.modal--popover--gray.is-showing {background: rgba(0,0,0,0.6); }.results--powered,.mapboxgl-ctrl.mapboxgl-ctrl-scale,.mapboxgl-ctrl.mapboxgl-ctrl-attrib,.mapkit-static__attribution {background-color: rgba(";
- if (s = e.rgbBg) {
- r = s.call(u, {
- hash: {},
- data: t
- })
- } else {
- s = (u && u.rgbBg);
- r = typeof s === h ? s.call(u, {
- hash: {},
- data: t
- }) : s
- }
- q += j(r) + ",0.85);}";
- return q
- }
- i += "html,body,.body--home,.site-wrapper,.region__body,.badge-link,.module--carousel__image-wrapper,.result__image,.vertical--map__sidebar,.vertical--map__sidebar__header,.page-chrome_newtab,.zci--images:not(.is-fallback).is-expanded,.zci--videos.is-expanded,.zci--images:not(.is-fallback) .metabar:not(.is-stuck),.zci--videos.is-expanded .metabar:not(.is-stuck) {background-color: ";
- if (g = e.bg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.results,.results--powered,.results--ads--rrail,.result__extras__url,.msg,.dropdown .dropdown__button,.dropdown--region.has-inactive-region .dropdown__button,.dir-btn .btn.dir-btn__link:hover,.dropdown--region.has-inactive-region .dropdown__button:after,.dropdown:hover .dropdown__button,.dropdown.is-active:hover .dropdown__button,.dropdown.dropdown--location .dropdown__button,.nav-menu__feedback__icon:hover,.nav-menu__feedback__icon:focus,.feedback-btn__icon:hover,.feedback-btn__send:hover,.feedback-btn__icon:focus,.feedback-btn__send:focus,.address-detail__name,.address-detail__name:hover,.address-detail__name:active,.address-detail__name:focus,.address-detail__name:visited,.address-detail .btn.btn--primary:hover,.vertical--map__sidebar,.set-main .frm__desc,.tag-home,.about-info-box__info-label,.about-info-box__info-value,.modal__box,.place-detail,.review__rating-date,.place-list-item__info__item,.module--carousel-products .module--carousel__footer,.forecast-wrapper .module--forecast .module__weather-warning:visited:not(.module__weather-warning--red) {color: ";
- if (g = e.textTint) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.textTint);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.switch:not(.is-on) .switch__knob,.modal--dropdown--settings .settings-dropdown--section .frm__field:not(.is-checked) .frm__switch .frm__switch__label.btn:after {background: ";
- if (g = e.textTint) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.textTint);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.tag-home__link--newline .add-to-browser-badge--lite,.tag-home__link--newline .add-to-browser-badge--lite:hover,.tag-home__link--newline .add-to-browser-badge--lite:visited,.tag-home__link--newline .add-to-browser-badge--lite:active {color: ";
- if (g = e.textTint) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.textTint);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";border-width: 0px;background: none;}.result__check {color: ";
- if (g = e.bg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.result__check:visited,.feedback-btn,.feedback-btn:hover,.result__pagenum {color: ";
- if (g = e.bgTint) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bgTint);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}a,a:hover,.no-visited,.result__a,.result__a:hover,.result__a:active,.result__a:focus,.badge--ad,.badge--ad:hover,.badge--ad:focus,.highlight .result__a,.highlight .result__a:hover,.result__a:visited,.tag-home__link,.tag-home__link:hover,.tag-home__link:visited,.tag-home__link:active,.tag-home__nav__close:hover,.page-settings,.frm__label,.badge-link__text,.badge-link__cookie-msg,.no-results__link,.no-results__link:visited,.no-results__link:active,.no-results__link:hover,.vertical--map__sidebar__results__inner .no-results__link,.vertical--map__sidebar__results__inner .no-results__link:hover,.modal__header__title,.modal__header__clear:hover,.modal__list__link,.modal__list__link:hover,.modal__list__link:visited,.modal__list__link:focus,.modal__list__link.is-highlighted,.modal--dropdown .modal__list__link.is-selected,.modal--dropdown .modal__list__link.is-selected:hover,.module--carousel__body__title,.module--carousel__body__title:hover,.module--carousel__body__title:active,.module--carousel__body__title:visited,.module--carousel__left,.module--carousel__right,.is-mobile .module--images .module__toggle,.modal select,.dropdown.is-open .dropdown__button,.dropdown .dropdown__button:hover,.dropdown.dropdown--location .dropdown__button:hover,.feedback-prompt__link:hover,.feedback-btn__icon,.feedback-btn__send,.feedback-modal__heading__prompt.has-category,.feedback-modal__heading__prompt,.feedback-modal .frm__label,.forecast-wrapper .module__more-at .zci__more-at:hover,.forecast-wrapper .module--forecast .module__weather-warning:not(.module__weather-warning--red),.forecast-wrapper .module--forecast .module__weather-warning:hover:not(.module__weather-warning--red),.forecast-wrapper .module--forecast .module__weather-warning:active:not(.module__weather-warning--red),.module__title__link,.module__title__link:hover,.module__title__link:visited,.module__title__link:active,.about-info-box__heading,.about-info-box__link-row__link,.about-info-box__link-row__link:hover,.dropdown--region.has-inactive-region .dropdown__button:hover,.dropdown.is-active:not(.has-inactive-region) .dropdown__button,.module__more-at,.module__more-at:hover,.module__more-at:active,.module__more-at:focus,.module__more-at-bottom,.module__more-at-bottom:hover,.module__official-url,.module__official-url:hover,.module__link,.module__link:hover,.module__link:focus,.module__link:active,.module__link a,.module__link a:hover,.module__link a:focus,.module__link a:active,.address-detail__name,.address-detail .btn.btn--primary,.dir-btn .btn.dir-btn__link,.mapboxgl-ctrl,.mapboxgl-ctrl a,.mapkit-static__attribution,.mapkit-static__cta,.module__header.module__header--link,.module__footer,.module__footer:visited,.module__footer:active,.module__footer:hover,.module__toggle__text,.user-loc-cta__title,.user-loc-filter-modal__title,.user-loc-cta__survey,.user-loc-error__fix__step,.user-loc-title,.user-loc-survey,.user-loc-cta__more,.user-loc-error__text,.user-loc-error .user-loc-error__header,.user-loc-cta,.user-loc-subtitle,.place-list-item__title,.result__sitelinks .sponsored__sitelink,.result__sitelinks .sponsored__sitelink b,.result__sitelinks .sponsored__sitelink:active,.result__sitelinks .sponsored__sitelink:focus,.result__sitelinks .sponsored__sitelink:hover,.vertical--map__search-examples__button,.cloudsave__new-suggestion,.cloudsave__new-suggestion:hover,.footer__text,.set-main .frm__section-label,.frm__select select,.modal--dropdown .modal__list__link.is-selected,.modal--dropdown .modal__list__link.is-selected:visited,.modal--dropdown .modal__list__link.is-selected:hover,.place-detail__status,.place-detail__cta-text {color: ";
- if (g = e.text) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.text);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.badge--ad,.badge--ad:hover,.badge--ad:focus {border-color: ";
- if (g = e.text) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.text);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.badge-link__title,.badge-link__bullets {color: ";
- if (g = e.text) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.text);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.faq__title,.faq__question,.faq__answer,.is-atb-fullbleed .badge-link__title,.is-atb-fullbleed .badge-link__subtitle,.is-atb-fullbleed .badge-link__bullet,.is-atb-fullbleed .badge-link__rating,.is-atb-fullbleed .content-info__title,.is-atb-fullbleed .content-info__item,.is-atb-fullbleed .badge-link__rating__star--third::before ,.is-atb-fullbleed .badge-link__rating__star--half::before {color: ";
- if (g = e.text) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.text);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + " !important;}.is-atb-fullbleed.dark-bg .badge-link__rating__star--empty {color: ";
- if (g = e.bgDark) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bgDark);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.is-atb-fullbleed.is-bb-exp.dark-bg .badge-link__rating__star--empty {color: #444 !important;}.is-atb-fullbleed .content-info__item__link {color: #678FFF;}.settings-page-wrapper .set-side a,.settings-page-wrapper .set-side a:hover,.settings-page-wrapper .set-side a:active {color: ";
- if (g = e.text) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.text);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";text-decoration: underline;}.result--sep--hr:before,.result--more.is-loading,.feedback--button.btn--wire,.place-list-item:hover,.footer--mobile .feedback-btn,.module__section.place-list-item:hover {color: ";
- if (g = e.textTint) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.textTint);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";border-color: ";
- if (g = e.bgTint) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bgTint);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";background-color: ";
- if (g = e.bgTint) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bgTint);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.place-hours,.most-visited__separator {border-color: ";
- if (g = e.bgTint) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bgTint);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.feedback--button.btn--wire:hover,.onboarding-ed__arrow-teaser .onboarding-ed__arrow-teaser__arrow-wrapper,.most-visited__site-icon {color: ";
- if (g = e.text) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.text);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";background-color: ";
- if (g = e.bgTint) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bgTint);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.most-visited__site-link-delete {color: ";
- if (g = e.text) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.text);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";background-color: ";
- if (g = e.bgTint2) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bgTint2);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.mapboxgl-ctrl-scale {border-color: ";
- if (g = e.text) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.text);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.set-head,.set-thumbnail__img,.set-main-footer,.region__header__section--current,.badge-link,.frm__color__swatch {border-color: ";
- if (g = e.bgTint) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bgTint);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.modal__list__link:hover,.modal__list__link.is-active,.modal__list__link.is-highlighted,.modal--dropdown--region .modal__list__link.is-highlighted,.highlight .result__image,.switch,.modal--dropdown--settings .settings-dropdown--section .frm__field .frm__switch .frm__switch__label.btn {background-color: ";
- if (g = e.bgTint) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bgTint);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.cloudsave,.set-bookmarklet__detail,.set-reset__detail {background: ";
- if (g = e.bgTint2) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bgTint2);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}code,.set-bookmarklet__input,.set-bookmarklet__data,.btn,.btn:visited,.btn:active,.btn.btn--primary,.btn.btn--secondary,.btn--primary:hover,.btn.is-disabled,.btn.is-disabled:hover,input,textarea,.frm__input,.frm__text,.detail--xd .c-detail__btn,.set-bookmarklet,.set-reset,.frm__select,.frm__select select,.zci--json_validator textarea,.colorpicker,.feedback-modal__submit.is-disabled,.feedback-modal__submit.is-disabled:hover,.feedback-modal__submit.is-disabled:active,.feedback-modal__submit.is-disabled:focus,.most-visited__toggle,.btn.btn--skeleton:hover {background-color: ";
- if (g = e.bgTint) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bgTint);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";border-color: transparent;color: ";
- if (g = e.text) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.text);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";text-shadow: none;}.multi-step-mobile-onboarding .btn--cppm-skip {color: ";
- if (g = e.text) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.text);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.colorpicker .colorpicker__nub {background-color: ";
- if (g = e.bgTint) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bgTint);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";border-color: ";
- if (g = e.bgTint) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bgTint);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.frm__select:hover select,.btn.is-active,.btn:hover,.frm__select:hover,.btn.most-visited__toggle:hover,.btn.most-visited__toggle:active,.btn.most-visited__toggle:focus,.no-touch .tile-nav--sm.can-scroll:hover,.no-touch .tile-nav--sm.can-scroll:active,.no-touch .tile-nav--sm.can-scroll:hover:active,.modal .btn:hover:not(.is-disabled),.modal .btn:hover:not(.is-disabled) {background-color: ";
- if (g = e.btnHoverBg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.btnHoverBg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";color: ";
- if (g = e.text) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.text);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";border-color: ";
- if (g = e.btnHoverBorder) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.btnHoverBorder);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.multi-step-mobile-onboarding .btn.btn--cppm-done[disabled] {background-color: ";
- if (g = e.btnHoverBg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.btnHoverBg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";color: ";
- if (g = e.text) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.text);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";border-color: ";
- if (g = e.btnHoverBorder) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.btnHoverBorder);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.btn.feedback-btn,.btn.feedback-btn a,.feedback-modal__submit.is-disabled,.feedback-modal__submit.is-disabled:hover,.feedback-modal__submit.is-disabled:active,.feedback-modal__submit.is-disabled:focus,.feedback-prompt,.feedback-prompt__link,.feedback-prompt__link:visited,.module--carousel-products.has-grid .module--carousel__main-source a,.module--carousel-products.has-grid .module--carousel__main-source a:visited,.module__more-at-and-feedback .module__more-at a,.btn.btn--skeleton,.btn.btn--skeleton:hover,.btn.is-disabled,.btn.is-disabled:hover {color: ";
- if (g = e.textTint2) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.textTint2);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.btn.feedback-btn,.btn.feedback-btn a,.btn.feedback-btn a:hover {border-radius: 4px;background: ";
- if (g = e.bgTint2) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bgTint2);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.btn.feedback-btn:hover,.btn.feedback-btn a:hover {color: ";
- if (g = e.textTint) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.textTint);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.module__more-at-and-feedback .module__more-at a img {opacity: 0.5;}.module__more-at-and-feedback .module__more-at a:hover img {opacity: 1;}background: ";
- if (g = e.bgTint) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bgTint);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}";
- b = e["if"].call(n, (n && n.isDark), {
- hash: {},
- inverse: p.noop,
- fn: p.program(1, c, k),
- data: k
- });
- if (b || b === 0) {
- i += b
- }
- i += ".modal--dropdown--region .modal__header .frm__input {background-color: ";
- if (g = e.bgTint2) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bgTint2);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.module--carousel__placeholder,.result__image__plc {color: ";
- if (g = e.textTint) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.textTint);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";background-color: ";
- if (g = e.bgTint2) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bgTint2);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.frm__hr {border-color: ";
- if (g = e.bgTint) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bgTint);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.header-atb,.mapkit-static__cta {background-color: ";
- if (g = e.bgDark) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bgDark);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.header-atb,.header-atb:active,.header-atb:hover,.header-atb:visited {color: ";
- if (g = e.textTint) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.textTint);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}";
- b = e["if"].call(n, (n && n.isDark), {
- hash: {},
- inverse: p.noop,
- fn: p.program(3, a, k),
- data: k
- });
- if (b || b === 0) {
- i += b
- }
- i += ".modal__box {border: 1px solid ";
- if (g = e.bgDark) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bgDark);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.modal__header {background-color: ";
- if (g = e.bgDark) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bgDark);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";border-bottom-color: ";
- if (g = e.bgDark) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bgDark);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.modal--popout--bottom.has-header .modal__box:before,.modal--popout--bottom-right.has-header .modal__box:before,.modal--popout--bottom-left.has-header .modal__box:before,.modal--popout--bottom.has-header .modal__box:after,.modal--popout--bottom-right.has-header .modal__box:after,.modal--popout--bottom-left.has-header .modal__box:after,.modal--popout .modal__box:before {color: ";
- if (g = e.bgDark) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bgDark);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.modal--popout .modal__box:after {color: ";
- if (g = e.bg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}";
- b = e["if"].call(n, (n && n.isDark), {
- hash: {},
- inverse: p.noop,
- fn: p.program(5, o, k),
- data: k
- });
- if (b || b === 0) {
- i += b
- }
- i += ".region-flag__wrap--small.has-region:before {border-color: transparent;}.modal__box {border: 1px solid ";
- if (g = e.bgDark) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bgDark);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.modal__header {background-color: ";
- if (g = e.bgDark) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bgDark);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";border-bottom-color: ";
- if (g = e.bgDark) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bgDark);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.modal--popout--bottom.has-header .modal__box:before,.modal--popout--bottom-right.has-header .modal__box:before,.modal--popout--bottom-left.has-header .modal__box:before,.modal--popout--bottom.has-header .modal__box:after,.modal--popout--bottom-right.has-header .modal__box:after,.modal--popout--bottom-left.has-header .modal__box:after,.modal--popout .modal__box:before {color: ";
- if (g = e.bgDark) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bgDark);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.modal--popout .modal__box:after {color: ";
- if (g = e.bg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.search-filters-wrap:before {background-image: linear-gradient(90deg, ";
- if (g = e.bg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ", rgba(";
- if (g = e.rgbBg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.rgbBg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ", 0));}.search-filters-wrap:after {background-image: linear-gradient(90deg, rgba(";
- if (g = e.rgbBg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.rgbBg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ", 0), ";
- if (g = e.bg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ");}.user-loc-cta {border-bottom-color: ";
- if (g = e.bg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.add-to-browser--blurred-cppm {background-color: ";
- if (g = e.bg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}";
- return i
- });
- this["DDG"]["templates"]["theme_custom_font"] = Handlebars.template(function(e, m, c, k, j) {
- this.compilerInfo = [4, ">= 1.0.0"];
- c = this.merge(c, e.helpers);
- j = j || {};
- var h = "",
- a, f, g = "function",
- i = this.escapeExpression,
- n = this;
- function b(p, o) {
- return ".zci b,.zcm b,.zcm__link,.tile--s h1,.tile--s h2,.tile--s h3,.tile--s h4,.tile--s h5,.tile--s h6,.badge--ad {font-weight: 500;}"
- }
- h += "body,input,textarea,.search__input--adv {font-family: ";
- if (f = c.fontStack) {
- a = f.call(m, {
- hash: {},
- data: j
- })
- } else {
- f = (m && m.fontStack);
- a = typeof f === g ? f.call(m, {
- hash: {},
- data: j
- }) : f
- }
- h += i(a) + ";}";
- a = c["if"].call(m, (m && m.lightenWeight), {
- hash: {},
- inverse: n.noop,
- fn: n.program(1, b, j),
- data: j
- });
- if (a || a === 0) {
- h += a
- }
- return h
- });
- this["DDG"]["templates"]["theme_font"] = Handlebars.template(function(c, k, b, j, i) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- i = i || {};
- var g = "",
- a, e, f = "function",
- h = this.escapeExpression;
- g += "@font-face {font-family: 'DDG_ProximaNova";
- if (e = b.name) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.name);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + "';src: url('/font/";
- if (e = b.lang) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.lang);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + "/ProximaNova-Sbold-webfont.eot');src: url('/font/";
- if (e = b.lang) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.lang);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + "/ProximaNova-Sbold-webfont.eot?#iefix') format('embedded-opentype'),url('/font/";
- if (e = b.lang) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.lang);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + "/ProximaNova-Sbold-webfont.woff2') format('woff2'),url('/font/";
- if (e = b.lang) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.lang);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + "/ProximaNova-Sbold-webfont.woff') format('woff'),url('/font/";
- if (e = b.lang) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.lang);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + "/ProximaNova-Sbold-webfont.ttf') format('truetype'),url('/font/";
- if (e = b.lang) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.lang);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + "/ProximaNova-Sbold-webfont.svg#proxima_nova_ltsemibold') format('svg');font-weight: 600;font-style: normal;}@font-face {font-family: 'DDG_ProximaNova";
- if (e = b.name) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.name);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + "';src: url('/font/";
- if (e = b.lang) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.lang);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + "/ProximaNova-Reg-webfont.eot');src: url('/font/";
- if (e = b.lang) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.lang);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + "/ProximaNova-Reg-webfont.eot?#iefix') format('embedded-opentype'),url('/font/";
- if (e = b.lang) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.lang);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + "/ProximaNova-Reg-webfont.woff2') format('woff2'),url('/font/";
- if (e = b.lang) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.lang);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + "/ProximaNova-Reg-webfont.woff') format('woff'),url('/font/";
- if (e = b.lang) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.lang);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + "/ProximaNova-Reg-webfont.ttf') format('truetype'),url('/font/";
- if (e = b.lang) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.lang);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + "/ProximaNova-Reg-webfont.svg#proxima_nova_rgregular') format('svg');font-weight: normal;font-style: normal;}";
- return g
- });
- this["DDG"]["templates"]["theme_header"] = Handlebars.template(function(c, k, b, j, i) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- i = i || {};
- var g = "",
- a, e, f = "function",
- h = this.escapeExpression;
- g += ".header-wrap,.vertical--map--sidebar-left .has-requery .vertical--map__sidebar__header,.map-requery-mobile,.footer,.footer--mobile {border-color: transparent;background-color: ";
- if (e = b.color) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.color);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";box-shadow:0 1px 0 ";
- if (e = b.bottomBorder) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.bottomBorder);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";}.vertical--map--sidebar-left .has-requery .vertical--map__sidebar__header {box-shadow: 0 1px 0 ";
- if (e = b.primary) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.primary);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";}.footer,.footer--mobile {border-top: 1px solid ";
- if (e = b.bottomBorder) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.bottomBorder);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";}.no-touch .header-wrap .zcm__link.is-active {background-color: transparent;}.header-wrap.header-wrap--home {background: none;}.no-touch .site-wrapper .zcm__link, .zcm__link, .zcm__link:visited {color: ";
- if (e = b.link) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.link);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";}.no-touch .zcm__link:hover, .no-touch .zcm__link:hover:active, .no-touch .zcm__link:focus:active, .no-touch .zcm__item.is-open .zcm__link {color: ";
- if (e = b.activeLink) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.activeLink);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";}.no-touch .zcm__link.is-active:hover, .no-touch .zcm__link.is-active:hover:active, .no-touch .zcm__link.is-active:focus:active {color: ";
- if (e = b.activeLink) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.activeLink);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";}.zcm__link:hover,.zcm__link:active,.zcm__link.is-active {background-color: ";
- if (e = b.color) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.color);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";color: ";
- if (e = b.activeLink) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.activeLink);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";border-bottom-color: ";
- if (e = b.activeLink) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.activeLink);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";}.no-touch .header-wrap .zcm__link.is-active {color: ";
- if (e = b.activeLink) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.activeLink);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";}.lt-ie9 .header-wrap {border-bottom-color: ";
- if (e = b.bottomBorder) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.bottomBorder);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";}.set-header--menu.has-zcm.is-mobile .header--aside {background: -moz-linear-gradient(left, rgba(";
- if (e = b.rgb) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.rgb);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ",0) 0%, rgba(";
- if (e = b.rgb) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.rgb);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ",1) 40%, rgba(";
- if (e = b.rgb) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.rgb);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ",1) 100%);background: -webkit-linear-gradient(left, rgba(";
- if (e = b.rgb) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.rgb);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ",0) 0%, rgba(";
- if (e = b.rgb) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.rgb);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ",1) 40%, rgba(";
- if (e = b.rgb) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.rgb);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + "),1) 100%);background: -o-linear-gradient(left, rgba(";
- if (e = b.rgb) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.rgb);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ",0) 0%,rgba(";
- if (e = b.rgb) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.rgb);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ",1) 40%,rgba(";
- if (e = b.rgb) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.rgb);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ",1) 100%);background: -ms-linear-gradient(left, rgba(";
- if (e = b.rgb) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.rgb);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ",0) 0%, rgba(";
- if (e = b.rgb) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.rgb);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ",1) 40%, rgba(";
- if (e = b.rgb) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.rgb);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ",1) 100%);background: linear-gradient(to right, rgba(";
- if (e = b.rgb) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.rgb);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ",0) 0%, rgba(";
- if (e = b.rgb) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.rgb);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ",1) 40%, rgba(";
- if (e = b.rgb) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.rgb);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ",1) 100%);}.vertical--map__mobile-toggle {background-color: ";
- if (e = b.color) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.color);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";}.vertical--map__mobile-toggle-icon--map {background-image: url('assets/maps/map-icon-light.svg');}.is-mobile.is-mobile-header-exp.is-showing-autocomplete .body--home,.is-mobile.is-mobile-header-exp.is-showing-autocomplete .body--home .site-wrapper--home,.is-mobile.is-mobile-header-exp.is-showing-autocomplete .header-wrap {background-color: ";
- if (e = b.color) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.color);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";}";
- return g
- });
- this["DDG"]["templates"]["theme_header_menu_button"] = Handlebars.template(function(c, k, b, j, i) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- i = i || {};
- var g = "",
- a, e, f = "function",
- h = this.escapeExpression;
- g += ".btn--icon,.header__link,.header__link:visited,.header__label,.showcase .social__link__text,.header__button--menu,.is-mobile-header-exp .header__button--menu,.no-touch .btn--icon,.no-touch .header__button,.no-touch .header__button--menu {color: ";
- if (e = b.icon) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.icon);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";}.showcase .showcase__heading,.showcase .social__link__text:hover,.header__link:hover,.header__label:hover,.header__clickable:hover {color: ";
- if (e = b.hoverText) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.hoverText);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";}.no-touch .btn--icon:hover,.no-touch .header__button:hover,.no-touch .header__button--menu:hover,.no-touch .header__button:focus,.no-touch .header__button--menu:focus {color: ";
- if (e = b.hoverColor) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.hoverColor);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";background-color: ";
- if (e = b.hoverBg) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.hoverBg);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";}.metabar__mode, .metabar__grid-btn {color: ";
- if (e = b.hoverText) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.hoverText);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";background-color: ";
- if (e = b.hoverBg) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.hoverBg);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";border-color: ";
- if (e = b.hoverBg) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.hoverBg);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";}.metabar__mode:hover, .metabar__grid-btn:hover {color: ";
- if (e = b.icon) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.icon);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";background-color: ";
- if (e = b.hoverBg) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.hoverBg);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";border-color: ";
- if (e = b.hoverBg) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.hoverBg);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";}.showcase .showcase__dropdown-top .showcase__subheading {color: ";
- if (e = b.link) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.link);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";}.showcase .showcase__dropdown-bottom {background: ";
- if (e = b.background) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.background);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";border-color: ";
- if (e = b.hoverBg) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.hoverBg);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";}";
- return g
- });
- this["DDG"]["templates"]["theme_module"] = Handlebars.template(function(f, n, e, m, k) {
- this.compilerInfo = [4, ">= 1.0.0"];
- e = this.merge(e, f.helpers);
- k = k || {};
- var i = "",
- b, g, h = "function",
- j = this.escapeExpression,
- p = this;
- function c(r, q) {
- return "box-shadow: 0 1px 3px rgba(0,0,0,0.5);"
- }
- function a(r, q) {
- return "box-shadow: 0 1px 3px 0 rgba(0,0,0,0.5);"
- }
- function o(u, t) {
- var q = "",
- r, s;
- q += ".set-themes .set-theme.is-checked {border-color: ";
- if (s = e.border) {
- r = s.call(u, {
- hash: {},
- data: t
- })
- } else {
- s = (u && u.border);
- r = typeof s === h ? s.call(u, {
- hash: {},
- data: t
- }) : s
- }
- q += j(r) + ";}.set-themes .set-theme[for=setting_kae_-1] {border-color: transparent;}";
- return q
- }
- i += ".module:not(.module--carousel):not(.module--placeholder):not(.module--images),.modal--popout .modal__box,.modal__box,.sidebar-modules .module,.results--main .result:not(.result--ad).highlight,.module .module--carousel__item,.user-loc-cta,.address-detail,.modal--dropdown.modal--popout .modal__box,.tile--info,.place-detail,.badge-link,.is-atb-fullbleed .content-info__item,.atb-banner__bottom,.multi-step-mobile-onboarding__step__content,.is-mobile .results_links_deep,.is-mobile .results_links,.is-mobile .result--news,.is-mobile .related-searches,.most-visited__info-tt {border: 1px solid ";
- if (g = e.border) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.border);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";background: ";
- if (g = e.moduleBg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.moduleBg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";";
- b = e["if"].call(n, (n && n.shadows), {
- hash: {},
- inverse: p.noop,
- fn: p.program(1, c, k),
- data: k
- });
- if (b || b === 0) {
- i += b
- }
- i += "color: ";
- if (g = e.secondaryText) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.secondaryText);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.multi-step-mobile-onboarding__step__content {border-width: 0;}.multi-step-mobile-onboarding__progress__fallback-bar {background-color: ";
- if (g = e.moduleBg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.moduleBg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + " !important;}.vertical--map__sidebar__results__inner {border: 1px solid ";
- if (g = e.border) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.border);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";background: ";
- if (g = e.moduleBg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.moduleBg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";color: ";
- if (g = e.secondaryText) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.secondaryText);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.place-detail {border: none;}.most-visited__info-tt--above:before,.most-visited__info-tt:before,.most-visited__info-tt--above:after,.most-visited__info-tt:after {border-top-color: ";
- if (g = e.moduleBg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.moduleBg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";border-bottom-color: ";
- if (g = e.moduleBg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.moduleBg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.address-detail {box-shadow: none;border-color: transparent;}.vertical--map__search-examples,.vertical--map__search-web,.about-info-box__info-row,.is-mobile .related-searches__item,.module--places .module__places-more {border-color: ";
- if (g = e.separator) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.separator);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.module--carousel__left,.module--carousel__right {background-color: ";
- if (g = e.primary) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.primary);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";";
- b = e["if"].call(n, (n && n.shadows), {
- hash: {},
- inverse: p.noop,
- fn: p.program(3, a, k),
- data: k
- });
- if (b || b === 0) {
- i += b
- }
- i += "color: ";
- if (g = e.primaryText) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.primaryText);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";border-color: ";
- if (g = e.separator) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.separator);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.module--carousel__left:hover,.module--carousel__right:hover,.tile__expand:hover {background-color: ";
- if (g = e.btnHoverBg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.btnHoverBg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";";
- b = e["if"].call(n, (n && n.shadows), {
- hash: {},
- inverse: p.noop,
- fn: p.program(3, a, k),
- data: k
- });
- if (b || b === 0) {
- i += b
- }
- i += "border-color: ";
- if (g = e.btnHoverBorder) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.btnHoverBorder);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";color: ";
- if (g = e.primaryText) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.primaryText);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.module__toggle,.tile__expand {background-color: ";
- if (g = e.primary) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.primary);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";color: ";
- if (g = e.primaryText) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.primaryText);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";border-color: ";
- if (g = e.border) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.border);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";box-shadow: none;}.is-not-mobile-device .module__toggle:hover,.place-detail__cta-item:hover .place-detail__cta-icon {background-color: ";
- if (g = e.btnHoverBg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.btnHoverBg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";color: ";
- if (g = e.secondaryText) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.secondaryText);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.module__toggle--more::after {background: linear-gradient(rgba(";
- if (g = e.moduleBgRgb) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.moduleBgRgb);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ", 0), rgba(";
- if (g = e.moduleBgRgb) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.moduleBgRgb);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ", 1));}.is-mobile .module {border-color: transparent;}.module__text,.module--carousel__footer,.user-loc-cta__dismiss,.module__title__sub {color: ";
- if (g = e.secondaryText) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.secondaryText);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.module__link, .module__link:visited, .module__link:hover, .module__link:focus, .module__link:active,.module__link a, .module__link a:visited, .module__link a:hover, .module__link a:focus, .module__link a:active,.modal--dropdown--settings .settings-dropdown--section .settings-dropdown--header .settings-dropdown--header--label,.user-loc-link,.user-loc-link:visited,.user-loc-link:hover,.module__link:visited,.module__link a:visited,.multi-step-mobile-onboarding__step__content h2,.multi-step-mobile-onboarding__step__content__body,.multi-step-mobile-onboarding__progress label,.atb-banner__bottom .atb-banner__title,.atb-banner__bottom .atb-banner__link {color: ";
- if (g = e.primaryText) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.primaryText);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + " !important;}.multi-step-mobile-onboarding__close svg path {fill: ";
- if (g = e.primaryText) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.primaryText);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + " !important;}.multi-step-mobile-onboarding__step__content header p,.multi-step-mobile-onboarding__step__content__body__remaining-items li a {color: ";
- if (g = e.secondaryText) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.secondaryText);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + " !important;}.multi-step-mobile-onboarding__step__content__body__remaining-items li a i {background-color: ";
- if (g = e.separator) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.separator);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + " !important;}.module__nav__item.is-active {border-bottom-color: ";
- if (g = e.secondaryText) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.secondaryText);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ';}.tile {content:"";';
- b = e["if"].call(n, (n && n.shadows), {
- hash: {},
- inverse: p.noop,
- fn: p.program(3, a, k),
- data: k
- });
- if (b || b === 0) {
- i += b
- }
- i += "border-color: ";
- if (g = e.border) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.border);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";background: ";
- if (g = e.moduleBg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.moduleBg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.tile .tile__body {border-color: ";
- if (g = e.border) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.border);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";background: ";
- if (g = e.moduleBg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.moduleBg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.tile .tile__title {color: ";
- if (g = e.primaryText) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.primaryText);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.modal .frm__select {border-color: transparent;}.modal .frm__select,.modal .frm__select select,.modal .frm__text,.modal .frm__input,.modal--dropdown--region .modal__list__divider {resize: none;border-color: transparent;background: ";
- if (g = e.primary) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.primary);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";color: ";
- if (g = e.primaryText) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.primaryText);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.module--carousel__image-wrapper {background: ";
- if (g = e.primary) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.primary);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.modal__header {background: ";
- if (g = e.primary) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.primary);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.modal__header,.module__section,.module__section:first-child.place-detail__section--tab,.module__clickable-header {border-color: ";
- if (g = e.primary) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.primary);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.modal .frm__select:after {color: ";
- if (g = e.primaryText) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.primaryText);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.faq__section,.faq__section:last-child,.modal--dropdown--settings .settings-dropdown--section {border-color: ";
- if (g = e.separator) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.separator);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.modal--dropdown--settings .settings-dropdown--section .frm__field .frm__select select {background: ";
- if (g = e.moduleBg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.moduleBg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.modal--dropdown--settings .settings-dropdown--section .frm__field .frm__select:before {background-image: linear-gradient(to right, rgba(";
- if (g = e.moduleBgRgb) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.moduleBgRgb);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ", 0) 0%, rgba(";
- if (g = e.moduleBgRgb) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.moduleBgRgb);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ", 1) 65%);}.modal--dropdown--settings .settings-dropdown--section .settings-dropdown--header .settings-dropdown--header--link {color: ";
- if (g = e.primaryText) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.primaryText);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.vertical--map__sidebar__wrapper,.is-mobile-device .vertical--map__sidebar--normal .vertical--map__sidebar-mask {background: ";
- if (g = e.moduleBg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.moduleBg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.badge--ad__tooltip {color: ";
- if (g = e.primaryText) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.primaryText);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";border-color: ";
- if (g = e.separator) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.separator);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";background: ";
- if (g = e.moduleBg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.moduleBg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.badge--ad__tooltip--mobile .badge--ad__tooltip__triangle-outer,.badge--ad__tooltip--below .badge--ad__tooltip__triangle-outer {border-bottom-color: ";
- if (g = e.separator) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.separator);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.badge--ad__tooltip--mobile .badge--ad__tooltip__triangle-inner,.badge--ad__tooltip--below .badge--ad__tooltip__triangle-inner {border-bottom-color: ";
- if (g = e.moduleBg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.moduleBg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.badge--ad__tooltip--right .badge--ad__tooltip__triangle-outer {border-right-color: ";
- if (g = e.separator) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.separator);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.badge--ad__tooltip--right .badge--ad__tooltip__triangle-inner {border-right-color: ";
- if (g = e.moduleBg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.moduleBg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}";
- b = e["if"].call(n, (n && n.isDark), {
- hash: {},
- inverse: p.noop,
- fn: p.program(5, o, k),
- data: k
- });
- if (b || b === 0) {
- i += b
- }
- return i
- });
- this["DDG"]["templates"]["theme_result_highlight"] = Handlebars.template(function(c, k, b, j, i) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- i = i || {};
- var g = "",
- a, e, f = "function",
- h = this.escapeExpression;
- g += ".msg--result.highlight,.msg--box,.about-info-box__toggle--hover .about-info-box__toggle__chevron,.about-info-box__toggle--hover .about-info-box__toggle__chevron--collapse {background: ";
- if (e = b.color) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.color);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";}.results--main .result.result--ad.highlight {border: none;}.result.result--ad.highlight {background: none;}.sitelinks_td.highlight {border-left-color: ";
- if (e = b.color) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.color);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";}";
- return g
- });
- this["DDG"]["templates"]["theme_result_message"] = Handlebars.template(function(c, k, b, j, i) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- i = i || {};
- var g = "",
- a, e, f = "function",
- h = this.escapeExpression;
- g += ".msg--bang__bang-name {color: ";
- if (e = b.textColor) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.textColor);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";background-color: ";
- if (e = b.bgColor) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.bgColor);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";border-color: ";
- if (e = b.borderColor) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.borderColor);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";}.msg--bang__bangs-link,.msg--bang__bangs-link:hover,.msg--bang__bangs-link:visited,.msg--bang__bangs-link:active,.msg--spelling a,.msg--spelling a:visited,.msg--spelling a:hover,.msg--spelling a:active,.msg--site a,.msg--site a:visited,.msg--site a:hover,.msg--site a:active {color: ";
- if (e = b.linkColor) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.linkColor);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";}.msg__site,.msg__clear-filter,.msg__clear-filter:hover {color: ";
- if (e = b.textColor) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.textColor);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";}";
- return g
- });
- this["DDG"]["templates"]["theme_result_snippet"] = Handlebars.template(function(c, k, b, j, i) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- i = i || {};
- var g = "",
- a, e, f = "function",
- h = this.escapeExpression;
- g += ".result__snippet,.result__snippet b,.result__snippet .sponsored__sitelink__comma {color: ";
- if (e = b.color) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.color);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + " !important;}.report-ad__start {border-color: ";
- if (e = b.primary) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.primary);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";}.report-ad,.report-ad__link,.report-ad__link:hover,.report-ad__link:visited,.report-ad__link:visited:hover {color: ";
- if (e = b.tertiaryColor) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.tertiaryColor);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + " !important;}.result__date {color: ";
- if (e = b.dateColor) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.dateColor);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + " !important;}";
- return g
- });
- this["DDG"]["templates"]["theme_result_title"] = Handlebars.template(function(c, k, b, j, i) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- i = i || {};
- var g = "",
- a, e, f = "function",
- h = this.escapeExpression;
- g += ".result a.result__a,.result a.result__a:hover,.result a.result__a:active,.result a.badge--ad,.result a.badge--ad:hover,.result a.badge--ad:focus,.sitelinks__title a.result__a,.sitelinks__title a.result__a:hover,.sitelinks__title a.result__a:active,.msg__all,.msg__all:visited,.msg__all:hover,.msg__clear,.msg__clear:active,.msg__clear:hover,.msg__clear:visited,.msg--spelling :link,.msg--spelling a:visited,.msg--spelling a:hover,.module__link,.module__link:hover,.module__link:focus,.module__link:active,.module__link a,.module__link a:hover,.module__link a:focus,.module__link a:active,.module--carousel__body__title,.module--carousel__body__title:active,.module--carousel__body__title:hover,.module--carousel__more,.module--carousel__more:active,.module--carousel__more:hover,.no-results__link,.no-results__link:visited,.no-results__link:active,.no-results__link:hover,.about-info-box__link-row__link:hover,.about-info-box__link-row__link:active {color: ";
- if (e = b.color) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.color);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";}.result a.badge--ad,.result a.badge--ad:hover,.result a.badge--ad:focus {border-color: ";
- if (e = b.color) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.color);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";}.result__sitelinks .sponsored__sitelink b,.result__sitelinks .sponsored__sitelink,.result__sitelinks .sponsored__sitelink:active,.result__sitelinks .sponsored__sitelink:hover {color: ";
- if (e = b.color) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.color);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + " !important;}";
- return g
- });
- this["DDG"]["templates"]["theme_result_web_links"] = Handlebars.template(function(c, k, b, j, i) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- i = i || {};
- var g = "",
- a, e, f = "function",
- h = this.escapeExpression;
- g += ".result__url,.result__url:visited,.result__url:active,.result__url:hover,.result__url:focus,.result__url:visited:focus,.result--ad .result__url,.result--ad .result__url:hover,.result--ad .result__url:active,.result--ad .result__url:visited {color: ";
- if (e = b.color) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.color);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";}.badge--ad--inline,.badge--ad--inline:hover,.badge--ad--inline:focus {color: ";
- if (e = b.color) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.color);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";border-color: ";
- if (e = b.color) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.color);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";}";
- return g
- });
- this["DDG"]["templates"]["theme_search_bar"] = Handlebars.template(function(e, m, c, k, j) {
- this.compilerInfo = [4, ">= 1.0.0"];
- c = this.merge(c, e.helpers);
- j = j || {};
- var h = "",
- a, f, g = "function",
- i = this.escapeExpression,
- n = this;
- function b(s, r) {
- var o = "",
- p, q;
- o += ".search__input--adv {color: ";
- if (q = c.inputText) {
- p = q.call(s, {
- hash: {},
- data: r
- })
- } else {
- q = (s && s.inputText);
- p = typeof q === g ? q.call(s, {
- hash: {},
- data: r
- }) : q
- }
- o += i(p) + ";}";
- return o
- }
- h += ".search--home,.search--header {background-color: ";
- if (f = c.bg) {
- a = f.call(m, {
- hash: {},
- data: j
- })
- } else {
- f = (m && m.bg);
- a = typeof f === g ? f.call(m, {
- hash: {},
- data: j
- }) : f
- }
- h += i(a) + ";border-color: ";
- if (f = c.bg) {
- a = f.call(m, {
- hash: {},
- data: j
- })
- } else {
- f = (m && m.bg);
- a = typeof f === g ? f.call(m, {
- hash: {},
- data: j
- }) : f
- }
- h += i(a) + ";box-shadow: 0 1px 3px rgba(0,0,0,0.5);}.search__clear,.search--home.has-text .search__clear {color: ";
- if (f = c.iconText) {
- a = f.call(m, {
- hash: {},
- data: j
- })
- } else {
- f = (m && m.iconText);
- a = typeof f === g ? f.call(m, {
- hash: {},
- data: j
- }) : f
- }
- h += i(a) + ";}.search__clear:focus,.search__clear:hover,.search__clear:active,.search__clear:active:focus,.search__clear:active:hover {color: ";
- if (f = c.iconHover) {
- a = f.call(m, {
- hash: {},
- data: j
- })
- } else {
- f = (m && m.iconHover);
- a = typeof f === g ? f.call(m, {
- hash: {},
- data: j
- }) : f
- }
- h += i(a) + ";}";
- a = c["if"].call(m, (m && m.inputText), {
- hash: {},
- inverse: n.noop,
- fn: n.program(1, b, j),
- data: j
- });
- if (a || a === 0) {
- h += a
- }
- h += ".search__button:hover,.search__button:focus,.search--hover .search__button,.search--hover .search__button:focus,.search--header.has-text.search--hover .search__button,.search--header.has-text.search--focus .search__button,.search--header.has-text.search--hover .search__button:hover,.search--header.has-text.search--focus .search__button:hover,.search--home.has-text .search__button,.search--home.has-text .search__button:focus,.search--home.has-text .search__button:hover {background-color: ";
- if (f = c.buttonBg) {
- a = f.call(m, {
- hash: {},
- data: j
- })
- } else {
- f = (m && m.buttonBg);
- a = typeof f === g ? f.call(m, {
- hash: {},
- data: j
- }) : f
- }
- h += i(a) + ";color: ";
- if (f = c.iconText) {
- a = f.call(m, {
- hash: {},
- data: j
- })
- } else {
- f = (m && m.iconText);
- a = typeof f === g ? f.call(m, {
- hash: {},
- data: j
- }) : f
- }
- h += i(a) + ";}.search__button:hover,.search--header.has-text.search--hover .search__button:hover,.search--header.has-text.search--focus .search__button:hover,.search--home.has-text .search__button:focus,.search--home.has-text .search__button:hover {color: ";
- if (f = c.iconHover) {
- a = f.call(m, {
- hash: {},
- data: j
- })
- } else {
- f = (m && m.iconHover);
- a = typeof f === g ? f.call(m, {
- hash: {},
- data: j
- }) : f
- }
- h += i(a) + ";}.is-mobile.is-mobile-header-exp .search--mobile-exp {border-color: ";
- if (f = c.bg) {
- a = f.call(m, {
- hash: {},
- data: j
- })
- } else {
- f = (m && m.bg);
- a = typeof f === g ? f.call(m, {
- hash: {},
- data: j
- }) : f
- }
- h += i(a) + ";}.is-mobile.is-mobile-header-exp .search--mobile-exp.has-text:after {background-color: ";
- if (f = c.sepColor) {
- a = f.call(m, {
- hash: {},
- data: j
- })
- } else {
- f = (m && m.sepColor);
- a = typeof f === g ? f.call(m, {
- hash: {},
- data: j
- }) : f
- }
- h += i(a) + ";}.is-mobile .search--adv.search--mobile-exp.has-text .search__button {background-color: transparent;}.is-mobile .search--adv.search--mobile-exp.has-text .search__button:focus,.is-mobile .search--adv.search--mobile-exp.has-text .search__button:hover,.is-mobile .search--adv.search--mobile-exp .search__button:focus,.is-mobile .search--adv.search--mobile-exp .search__button:hover {background-color: transparent;color: ";
- if (f = c.iconHover) {
- a = f.call(m, {
- hash: {},
- data: j
- })
- } else {
- f = (m && m.iconHover);
- a = typeof f === g ? f.call(m, {
- hash: {},
- data: j
- }) : f
- }
- h += i(a) + ";}.is-mobile .search--adv.search--mobile-exp.has-text .search__button,.is-mobile .search--adv.search--mobile-exp .search__back {color: ";
- if (f = c.iconText) {
- a = f.call(m, {
- hash: {},
- data: j
- })
- } else {
- f = (m && m.iconText);
- a = typeof f === g ? f.call(m, {
- hash: {},
- data: j
- }) : f
- }
- h += i(a) + ";}.is-mobile .search--adv.search--mobile-exp .search__back:focus,.is-mobile .search--adv.search--mobile-exp .search__back:hover,.is-mobile .search--adv.search--mobile-exp .acp__search-fill:hover,.is-mobile .search--adv.search--mobile-exp .acp__search-fill:focus {color: ";
- if (f = c.iconHover) {
- a = f.call(m, {
- hash: {},
- data: j
- })
- } else {
- f = (m && m.iconHover);
- a = typeof f === g ? f.call(m, {
- hash: {},
- data: j
- }) : f
- }
- h += i(a) + ";}";
- return h
- });
- this["DDG"]["templates"]["theme_sidemenu"] = Handlebars.template(function(c, k, b, j, i) {
- this.compilerInfo = [4, ">= 1.0.0"];
- b = this.merge(b, c.helpers);
- i = i || {};
- var g = "",
- a, e, f = "function",
- h = this.escapeExpression;
- g += ".nav-menu,.nav-menu--slideout {background-color: ";
- if (e = b.bg) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.bg);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";}.nav-menu--slideout {border-left-color: ";
- if (e = b.border) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.border);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";-webkit-box-shadow: none;-moz-box-shadow: none;box-shadow: none;}.nav-menu__icon,.nav-menu__close,.nav-menu__item,.nav-menu__item--secondary,.nav-menu__item > a,.nav-menu__item--secondary > a,.nav-menu__item > a:visited,.nav-menu__item--secondary > a:visited {color: ";
- if (e = b.link) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.link);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";}.nav-menu__item > a:hover {color: ";
- if (e = b.activeLink) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.activeLink);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";}.nav-menu__heading,.nav-menu__heading--primary {color: ";
- if (e = b.text) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.text);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";}.nav-menu__theme.theme-is-selected {border-color: ";
- if (e = b.text) {
- a = e.call(k, {
- hash: {},
- data: i
- })
- } else {
- e = (k && k.text);
- a = typeof e === f ? e.call(k, {
- hash: {},
- data: i
- }) : e
- }
- g += h(a) + ";}";
- return g
- });
- this["DDG"]["templates"]["theme_zci"] = Handlebars.template(function(f, n, e, m, k) {
- this.compilerInfo = [4, ">= 1.0.0"];
- e = this.merge(e, f.helpers);
- k = k || {};
- var i = "",
- b, g, h = "function",
- j = this.escapeExpression,
- p = this;
- function c(u, t) {
- var q = "",
- r, s;
- q += ".metabar__dropdowns-wrap:before {background-image: linear-gradient(90deg, ";
- if (s = e.fullPageBg) {
- r = s.call(u, {
- hash: {},
- data: t
- })
- } else {
- s = (u && u.fullPageBg);
- r = typeof s === h ? s.call(u, {
- hash: {},
- data: t
- }) : s
- }
- q += j(r) + ",rgba(41,41,41,0));}.metabar__dropdowns-wrap:after {background-image: linear-gradient(90deg, rgba(41,41,41,0),";
- if (s = e.fullPageBg) {
- r = s.call(u, {
- hash: {},
- data: t
- })
- } else {
- s = (u && u.fullPageBg);
- r = typeof s === h ? s.call(u, {
- hash: {},
- data: t
- }) : s
- }
- q += j(r) + ");}";
- return q
- }
- function a(u, t) {
- var q = "",
- r, s;
- q += ".metabar__dropdowns-wrap:before {background-image: linear-gradient(90deg, ";
- if (s = e.bg) {
- r = s.call(u, {
- hash: {},
- data: t
- })
- } else {
- s = (u && u.bg);
- r = typeof s === h ? s.call(u, {
- hash: {},
- data: t
- }) : s
- }
- q += j(r) + ",rgba(242,242,242,0));}.metabar__dropdowns-wrap:after {background-image: linear-gradient(90deg, rgba(242,242,242,0),";
- if (s = e.bg) {
- r = s.call(u, {
- hash: {},
- data: t
- })
- } else {
- s = (u && u.bg);
- r = typeof s === h ? s.call(u, {
- hash: {},
- data: t
- }) : s
- }
- q += j(r) + ");}";
- return q
- }
- function o(u, t) {
- var q = "",
- r, s;
- q += ".tile__rating a:hover,color: ";
- if (s = e.link) {
- r = s.call(u, {
- hash: {},
- data: t
- })
- } else {
- s = (u && u.link);
- r = typeof s === h ? s.call(u, {
- hash: {},
- data: t
- }) : s
- }
- q += j(r) + ";}";
- return q
- }
- i += ".zci, .zci:before,.tileview .metabar--fixed,.tileview--grid .metabar--fixed,.tileview--grid .metabar--fixed.is-stuck {background-color: ";
- if (g = e.bg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";border-bottom-color: ";
- if (g = e.border) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.border);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.zci-wrap {background-color: ";
- if (g = e.bg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.set-header--fixed .tileview--grid .metabar--fixed,.tileview--grid .metabar--fixed.is-stuck {background-color: ";
- if (g = e.bg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";border-top-color: ";
- if (g = e.bg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.zci.is-active {border-bottom-color: ";
- if (g = e.bottomBorder) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bottomBorder);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.zci,.zci__body,.zci__detail,.zci__caption,.zci__body h4, .zci__detail h4,.zci__body h5, .zci__detail h5,.zci__body h6, .zci__detail h6.metabar,.metabar__dropdowns .dropdown .dropdown__button,.c-detail__title,.c-detail__title__sub,.c-detail__desc,.c-detail__filemeta,.c-detail__more,.c-detail__user,.c-detail__count,.c-detail__date,.c-info,.c-info__title,.c-icon,.c-icon__title,.c-icon__content,.c-score,dropdown__selected,dropdown__selected:hover,dropdown__selected:focus,.metabar__primary-text--linked,.overlay--video-privacy__remember,.zcm__link--sub,.zcm__link--sub:visited {color: ";
- if (g = e.text) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.text);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.detail--l .detail__media, .detail--products .detail__media, .detail--qa .detail__media, .detail--about .detail__media,.detail--l .detail__media:after, .detail--products .detail__media:after, .detail--qa .detail__media:after, .detail--about .detail__media:after {background: none;}a,a.no-visited,.zci__body a,.zci__detail a,.zci__body .chomp--link,.metabar .zci__more-at,.zci__body .zci__more-at,.zci__body .c-detail__rating :link,.zci__more-at,.c-info__link,.c-icon__link,.chomp--link__mr,.chomp--link__ls,.overlay__text,.overlay--video-privacy__remember a,.overlay--video-privacy__remember a:hover,.c-detail__more :link:hover,.zci__header,.zci__body h1, .zci__detail h1,.zci__body h2, .zci__detail h2,.zci__body h3, .zci__detail h3,.detail--xd .tile-nav--sm,.zcm__link--sub.is-selected,.tile--img__sub, .tile--img__sub:hover {color: ";
- if (g = e.link) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.link);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}a:visited,.zci__body a:hover,.detail__body a:hover,.zci__body a:active,.zci__body a:active,.zcm__link--sub.is-here,.zcm__item.is-here .zcm__link--sub,.zci__body .chomp--link:hover,.zci__more-at:hover,.c-info__link:hover,.c-icon__link:hover,.zcm__link--sub:hover,.zcm__link--sub.is-highlighted,.chomp--link:hover .chomp--link__mr,.chomp--link:hover .chomp--link__ls,.metabar__dropdowns .dropdown .dropdown__button:hover {color: ";
- if (g = e.activeLink) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.activeLink);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.module__text pre,.zci pre,.zci code,.zci .frm__select,.zci .frm__select select,.zci--shorten input.tag,.zci--conversions .frm__select:after,.zci--conversions .frm--bottom .frm__input,.zci--conversions .frm--bottom .frm__select,.zci--conversions .frm--bottom .frm__select select,.zci--timer .name_input,.zci--timer .time_input input,.zci--timer .corner_btn.add_minute,.metabar__mode,#color_picker_container input,.has-tiles--grid .tile--m--images .tile--m--mob,.has-tiles--grid .tile--m--videos .tile--m--mob {color: ";
- if (g = e.modeText) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.modeText);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";background-color: ";
- if (g = e.modeBg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.modeBg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";border-color: ";
- if (g = e.modeBg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.modeBg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.tile-nav.can-scroll,.tile-nav.can-scroll:after,.tile-nav.can-scroll:hover:after {background-color: ";
- if (g = e.modeBg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.modeBg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";color: #fff;}.zci .frm__select:hover,.zci .frm__select:hover:after,.zci .frm__select:hover select,.tile-nav.can-scroll:hover,.zci--timer .corner_btn.add_minute:hover,.has-tiles--grid .tile--m--images .tile--m--mob:hover,.has-tiles--grid .tile--m--videos .tile--m--mob:hover {border-color: ";
- if (g = e.btnHoverBorder) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.btnHoverBorder);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";background: ";
- if (g = e.btnHoverBg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.btnHoverBg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.forecast-wrapper .module--forecast .module__items-item--selected,.forecast-wrapper .module--forecast .module__items-item:hover {color: ";
- if (g = e.modeText) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.modeText);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";background-color: ";
- if (g = e.modeBg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.modeBg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.forecast-wrapper .module--forecast .module__temperature-unit--on {border-color: ";
- if (g = e.activeLink) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.activeLink);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.zci pre,.zci code,.c-list__items,.record__cell,.forecast-wrapper .module--forecast .module__items-item:not(:last-child),.forecast-wrapper .module--forecast .module__items-item--selected,.forecast-wrapper .module--forecast .module__items-item {border-color: ";
- if (g = e.border) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.border);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.zci .frm__input,.zci--cryptocurrency .frm__input,.zci--cryptocurrency .frm__select,.zci--cryptocurrency .frm__select:after,.zci--currency .frm__select:after {border-color: ";
- if (g = e.border) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.border);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";background: ";
- if (g = e.modeBg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.modeBg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.metabar__mode:not(.is-disabled):hover {border-color: ";
- if (g = e.btnHoverBg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.btnHoverBg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";background-color: ";
- if (g = e.btnHoverBorder) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.btnHoverBorder);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";color: ";
- if (g = e.modeText) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.modeText);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.metabar__mode.is-disabled,.metabar__mode.is-disabled:hover,.metabar__mode.is-disabled:active {color: ";
- if (g = e.modeBg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.modeBg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";background-color: transparent;}";
- b = e["if"].call(n, (n && n.isDark), {
- hash: {},
- inverse: p.program(3, a, k),
- fn: p.program(1, c, k),
- data: k
- });
- if (b || b === 0) {
- i += b
- }
- i += ".detail {background-color: ";
- if (g = e.detail) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.detail);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";border-color: ";
- if (g = e.border) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.border);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.detail__close {color: ";
- if (g = e.accent1) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.accent1);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.detail__close:hover,.detail__close:active{color: ";
- if (g = e.accent2) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.accent2);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.detail__media--pr {border-right-color: ";
- if (g = e.border) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.border);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.tile--img:after {border-bottom-color: ";
- if (g = e.bg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.sep,.sep--small,.sep--before:before,.sep--after:after {border-color: ";
- if (g = e.modeBg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.modeBg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.tileview--grid .metabar--fixed:before {background-color: ";
- if (g = e.bg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.chomp--link__icn,.count__i:after {color: ";
- if (g = e.accent3) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.accent3);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.tile-nav--sm {color: ";
- if (g = e.accentText) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.accentText);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";background-color: ";
- if (g = e.accent1) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.accent1);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.tile-nav--sm:hover,.tile-nav--sm:active {background-color: ";
- if (g = e.accent2) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.accent2);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.star,.count__i,.tileview__message,.tileview__message:before {color: ";
- if (g = e.accent1) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.accent1);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.tile, .tile--s, .tile--info {border-color: ";
- if (g = e.border) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.border);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.highlight.tile, .highlight.tile--s, .highlight.tile--info,.is-selected.tile, .is-selected.tile--s, .is-selected.tile--info,.highlight.tile--f .tile--f__main, .highlight.tile--f .tile--f__alt, .is-selected.tile--f .tile--f__alt,.highlight.tile:active, .highlight.tile--s:active, .highlight.tile--info:active {box-shadow: none;border-color: ";
- if (g = e.outline) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.outline);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";outline-color: ";
- if (g = e.outline) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.outline);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.highlight.tile--no-highlight, .highlight.tile--no-highlight:active, .tile--no-highlight.is-selected {border-color: ";
- if (g = e.outline) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.outline);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";outline: none;}.tile--m {background-color: ";
- if (g = e.color) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.color);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";color: ";
- if (g = e.link) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.link);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.tile--m:hover {background-color: ";
- if (g = e.border) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.border);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";color: ";
- if (g = e.activeLink) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.activeLink);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.tile--m:active,.tile--m.is-loading,.tile--m.is-loading:hover {background-color: ";
- if (g = e.color) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.color);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";color: ";
- if (g = e.color) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.color);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.has-tiles--grid .tile--m--images,.has-tiles--grid .tile--m--images:hover,.has-tiles--grid .tile--m--images.is-loading,.has-tiles--grid .tile--m--videos,.has-tiles--grid .tile--m--videos:hover,.has-tiles--grid .tile--m--videos.is-loading,.is-mobile .has-tiles--grid .tile--m,.is-mobile .has-tiles--grid .tile--m:hover {background-color: ";
- if (g = e.color) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.color);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";border-color: ";
- if (g = e.detail) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.detail);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.bg-clr--dk,.bg-clr--dk2,.bg-clr--slate,.bg-clr--slate-light {background-color: ";
- if (g = e.text) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.text);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.bg-clr--lt,.bg-clr--lt2,.bg-clr--lt3,.bg-clr--grey-dark,.bg-clr--grey-light,.bg-clr--grey,.text--primary,.forecast-wrapper .module--forecast .module__temperature-unit,.forecast-wrapper .module--forecast .module__temperature-unit:hover,.forecast-wrapper .module--forecast .summary-more,.forecast-wrapper .module--forecast .summary-more:hover,.forecast-wrapper .module--forecast .summary-more:focus,.forecast-wrapper .module--forecast .summary-more:visited,.forecast-wrapper .module--forecast .module__items-item--selected .module__items-day,.forecast-wrapper .module--forecast .module__items-item--selected .module__items-unit,.forecast-wrapper .module--forecast .module__temperature-unit--on:hover {color: ";
- if (g = e.accentText) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.accentText);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.tx-clr--dk,.tx-clr--dk2,.tx-clr--slate,.tx-clr--slate-light {color: ";
- if (g = e.text) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.text);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.zci__subheader,.zci__header__sub,.c-info__sub,.c-info__title__sub,.c-icon__sub,.c-score__head,.c-score__foot,.text--secondary,.tx-clr--grey-dark,.tx-clr--grey-light,.tx-clr--grey,.tx-clr--lt,.tx-clr--lt2,.tx-clr--lt3,.place-detail__subtitle,.place-detail__review-count,.place-detail__review-count__link,.place-detail__review-count__link:visited,.place-list-item__rating,.related-searches {color: ";
- if (g = e.text) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.text);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.tile, .tile__title, .tile h4, .tile--m--mob, .at-topic .tile__title, .at-topic .tile.active-topic .tile__title, .at-topic .tile.highlight .tile__title, .is-mobile .c-info__link, .is-mobile .c-info__link:hover, .tile .tile__price b, .tile--pr__price, .tile--pr__brand {color: ";
- if (g = e.text) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.text);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.tile, .tile--s, .bg-tile, .tile--m--mob, .at-topic .tile.active-topic, .at-topic .tile.highlight, .tile__foot--news, .tile--f__main, .tile--f__alt, .tile__num:before, .is-mobile .c-info__link, .is-mobile .c-info__link:hover, .tile__media .tile__media__img {background-color: ";
- if (g = e.color) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.color);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.tile__expand, .tile__expand:hover,.bg-clr--platinum-darker,.bg-clr--platinum-dark,.bg-clr--platinum-light,.bg-clr--platinum,.bg-clr--silver-dark,.bg-clr--silver-light,.bg-clr--silver {background: ";
- if (g = e.accent1) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.accent1);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.at-topic .tile {background: ";
- if (g = e.bg) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bg);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.tile__sub, .tile__sub--2, .tile__title__sub, .tile__foot, .tile__footer, .tile__link, .tile--audio .tile__footer, .tile__count, .tile--b--i .tile__source, .tile__neighborhood, .tile__rating, .tile__more-at, .tile__title a:visited,.tx-clr--platinum-darker, .tx-clr--platinum-dark, .tx-clr--platinum-light, .tx-clr--platinum,.tx-clr--silver-dark, .tx-clr--silver-light, .tx-clr--silver {color: ";
- if (g = e.accentText2) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.accentText2);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.tile--b--i .tile__description, .tile__content, .tile__content--qa, .tile__content--news, .tile__tx, .tile__expand, .tile__expand:hover, .tile__num, .tile__phone, .info__label, .info__value, .tile__foot, .tile__foot--news {color: ";
- if (g = e.accentText) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.accentText);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.tile--info .info, .tile__expand, .tile__expand:hover, .attribution__hr, .c-score__line, .c-score__foot, .has-score .c-score__line__name, .is-mobile .no-score .c-score__line--home, .c-score__line--vs1:before, .c-score__line--vs1:after, .detail {border-color: ";
- if (g = e.bottomBorder) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.bottomBorder);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.tile--f__main, .tile--f__alt, .csstransforms3d .tile--f__main, .csstransforms3d .tile--f__alt, .is-mobile .c-info__link,.zci--maven tr,.c-list__item,.zci--sun_rise_set .sun_rise_set--border-right {border-color: ";
- if (g = e.border) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.border);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.tile .tile__price {color: ";
- if (g = e.detail) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.detail);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}.mapkit-static,.mapkit-map {background: ";
- if (g = e.color) {
- b = g.call(n, {
- hash: {},
- data: k
- })
- } else {
- g = (n && n.color);
- b = typeof g === h ? g.call(n, {
- hash: {},
- data: k
- }) : g
- }
- i += j(b) + ";}";
- b = e["if"].call(n, (n && n.isDark), {
- hash: {},
- inverse: p.noop,
- fn: p.program(5, o, k),
- data: k
- });
- if (b || b === 0) {
- i += b
- }
- return i
- });