{"version":3,"file":"c_memoize-one.js","sources":["../../../../dropbox/server/domains.public.yaml.ts","../../../../js/domains/compute_domains.ts","../../../../node_modules/memoize-one/dist/memoize-one.esm.js","../../../../js/domains/domains.ts"],"sourcesContent":["export let suffixes = {\"suffix\":{\"dev\":\"-$(hostname).dev.corp.dropbox.com\",\"prod\":\".dropbox.com\"},\"duc_suffix\":{\"dev\":\"-$(hostname).dev.corp.dropboxusercontent.com\",\"prod\":\".dropboxusercontent.com\"},\"static_suffix\":{\"dev\":\"-$(hostname).dev.corp.dropboxstatic.com\",\"prod\":\".dropboxstatic.com\"},\"api_suffix\":{\"dev\":\"-$(hostname).dev.corp.dropboxapi.com\",\"prod\":\".dropboxapi.com\"},\"pp_suffix\":{\"dev\":\"-pp-$(hostname).dev.corp.dropbox.com\",\"prod\":\".pp.dropbox.com\"}};\nexport let domains = {\"DROPBOX_USER_CONTENT_DOMAIN\":{\"dev\":\"dev.corp.dropboxusercontent.com\",\"prod\":\"dropboxusercontent.com\"},\"GLOBAL_COOKIE_DOMAIN\":{\"dev\":\"dev.corp.dropbox.com\",\"prod\":\"dropbox.com\"},\"DROPBOX_STATIC_DOMAIN\":{\"dev\":\"dev.corp.dropboxstatic.com\",\"prod\":\"dropboxstatic.com\"},\"DROPBOX_LEGACY_DOMAIN\":{\"dev\":\"dev.corp.getdropbox.com\",\"prod\":\"getdropbox.com\"},\"WEBSERVER\":{\"dev\":\"meta$(suffix)\",\"prod\":\"www$(suffix)\"},\"CLIENT_WEB_WEBSERVER\":\"client-web$(suffix)\",\"PHOTOS_WEBSERVER\":\"photos$(suffix)\",\"CAROUSEL_WEBSERVER\":{\"dev\":\"caro$(suffix)\",\"prod\":\"carousel$(suffix)\"},\"APISERVER\":\"api$(api_suffix)\",\"APISERVER_V1\":\"api$(suffix)\",\"API_BLOCK_CLUSTER_V1\":\"api-content$(suffix)\",\"BEACON_SERVER\":\"beacon$(suffix)\",\"BOLT_SERVER\":\"bolt$(suffix)\",\"THUNDER_SERVER\":\"thunder$(suffix)\",\"BLOCK_CLUSTER\":{\"dev\":\"block$(suffix)\",\"prod\":\"dl-web$(suffix)\"},\"PUBSERVER\":\"dl$(duc_suffix)\",\"DROPBOX_DASH_PROD\":\"www.dash.ai\",\"DROPBOX_DASH_STAGE\":\"staging.dash.ai\",\"DROPBOX_DASH_LOCAL\":\"localhost:3001\",\"DASH_DROPBOX_SUBDOMAIN\":\"dash.dropbox.com\",\"DROPBOX_DASH_MAIN\":\"dash.ai\",\"DROPBOX_DASH_STAGE_DROPBOX_WEBFLOW\":\"dash-staging.dropbox.com\",\"DROPBOX_DASH_SHORT_TERM_WEBFLOW\":\"dropboxdash.com\",\"DROPBOX_DASH_SHORT_TERM_WEBFLOW_WWW\":\"www.dropboxdash.com\",\"DROPBOX_DASH_DEMO\":\"dropbox-mkt.navattic.com\",\"DROPBOX_DASH_DEMO_NEW\":\"dropbox.navattic.com\",\"DROPBOX_REPLAY_PROD\":\"replay.dropbox.com\",\"DROPBOX_REPLAY_DEV\":\"replay-local.dropbox.com\",\"WEB_STATIC_DROPBOX_HOST\":\"www$(static_suffix)\",\"WEB_STATIC_CLOUDFLARE_CDN_HOST\":\"cfl$(static_suffix)\",\"MARKETING_WEBSERVER\":\"marketing$(suffix)\",\"PDF_EDITOR_FRAME\":\"processing$(duc_suffix)\",\"FILE_IMPORTS_SUBDOMAIN\":\"file-imports$(suffix)\",\"FUNCAPTCHA_SERVER\":{\"dev\":\"captcha$(suffix)\",\"prod\":\"dropboxcaptcha.com\"},\"PAYPAL_SDK_DROPBOX_SERVER\":{\"dev\":\"paypal-sdk-dropbox$(suffix)\",\"prod\":\"paypal-sdk-dropbox.com\"},\"HELP_CENTER_WEBSERVER\":\"help.dropbox.com\",\"HELP_CENTER_WEBSERVER_DEV\":\"help-stg.dropbox.com\",\"APPLE_APP_STORE_DOMAIN\":\"itunes.apple.com\",\"GOOGLE_PLAY_DOMAIN\":\"play.google.com\",\"ADJUST_DOMAIN\":\"app.adjust.com\",\"ADJUST_TRUE_LINK_DOMAIN\":\"dbx.go.link\",\"LINKS_DOMAIN\":\"links$(suffix)\",\"SPRIG_DOMAIN\":\"a.sprig.com\",\"DROPBOX_ENTERPRISE_SLACK\":\"dropbox.enterprise.slack.com\",\"REPLAY_SUBDOMAIN\":\"replay$(suffix)\",\"CAPTURE_SUBDOMAIN\":\"capture$(suffix)\",\"DROPBOX_CAPTURE_PROD\":\"capture.dropbox.com\",\"MEDIA_EDIT_SUBDOMAIN\":\"video$(suffix)\",\"DROPBOX_MEDIA_EDIT_PROD\":\"video.dropbox.com\",\"EXPERIENCE_WEBSERVER\":\"experience.dropbox.com\",\"EXPERIENCE_WEBSERVER_DEV\":\"experience-stg.dropbox.com\",\"DROPBOX_TECH_PROD\":\"dropbox.tech\",\"DROPBOX_TECH_DEV\":\"dropbox-stg.tech\",\"DROPBOX_BLOG_PROD\":\"blog.dropbox.com\",\"DROPBOX_BLOG_DEV\":\"blog-stg.dropbox.com\",\"DROPBOX_LEARN_PROD\":\"learn.dropbox.com\",\"EVENTS_SUBDOMAIN\":\"events.dropbox.com\",\"BRAND_PARTNER_WEBSERVER\":\"brandpartners.dropbox.com\",\"BRAND_PARTNER_WEBSERVER_DEV\":\"brandpartners-stg.dropbox.com\",\"LMS_WEBSERVER\":\"learn.dropbox.com\",\"LMS_WEBSERVER_DEV\":\"learn-stage.dropbox.com\",\"DOCSEND_DOMAIN\":\"docsend.com\",\"DOCSEND_PROD\":\"www.docsend.com\",\"HELLOSIGN_DOMAIN_EN\":\"www.hellosign.com\",\"HELLOSIGN_APP_PROD\":\"app.hellosign.com\",\"HELLOSIGN_DEVELOPERS\":\"developers.hellosign.com\",\"HELLOSIGN_SFDC\":\"sfdc-docs.hellosign.com\",\"HELLOSIGN_FAQ\":\"faq.hellosign.com\",\"HELLOSIGN_EMBEDDED\":\"embedded.hellosign.com\",\"DROPBOX_SIGN_DOMAIN\":\"sign.dropbox.com\",\"REMOTECURIOUS_DOMAIN\":\"www.remotely-curious.com\",\"SEAL_DROPBOXAPI\":\"seal.dropboxapi.com\",\"AMAZON_AWS\":\"aws.amazon.com\",\"USERRESEARCH_MAIN\":\"userresearch.dropbox.com\",\"RECLAIM_PROD\":\"www.reclaim.ai\",\"RECLAIM_MAIN\":\"reclaim.ai\",\"RECLAIM_APP_PROD\":\"app.reclaim.ai\",\"RECLAIM_APP_MAIN\":\"www.app.reclaim.ai\",\"DBTT_SERVER\":{\"dev\":\"short$(suffix)\",\"prod\":\"db.tt\"},\"DROPBOX_OS_DOMAIN\":\"os.dropbox.com\",\"DROPBOX_PULSE_DOMAIN\":\"www.dropboxpulse.com\",\"SERVICES_PP_DOMAIN\":\"services$(pp_suffix)\",\"CUSTOMERLAB_PP_DOMAIN\":{\"dev\":\"customerlab$(pp_suffix):8443\",\"prod\":\"customerlab$(pp_suffix)\"},\"LINUX_SERVER\":\"linux.dropbox.com\",\"NOTES_WEBSERVER_PROD\":\"paper.dropbox.com\",\"NOTES_WEBSERVER_OLD\":\"notes.dropbox.com\",\"NOTES_WEBSERVER_TEST\":\"test.composer.dropbox.com\",\"NOTES_WEBSERVER_DEV\":\"notes.dev.corp.dropbox.com\",\"NOTES_WEBSERVER_LOAD\":\"stage-01.notes.dev.corp.dropbox.com\",\"NOTES_WEBSERVER_STAGE\":\"stage.notes.dev.corp.dropbox.com\",\"NOTES_WEBSERVER_ADMIN_VPN\":\"admin-paper.dropbox.com\",\"NOTES_WEBSERVER_NONPROD_1\":\"nonprod-01-paper.dropbox.com\",\"NOTES_WEBSERVER_NONPROD_2\":\"nonprod-02-paper.dropbox.com\",\"PAPER_WEBSERVER\":\"paper$(suffix)\",\"PAPER_ADMIN_PP\":\"paper-admin$(pp_suffix)\",\"PROF_SHARING_WEBSERVER_PROD\":\"showcase.dropbox.com\",\"PROF_SHARING_WEBSERVER_PROD_ALIAS\":\"collections.dropbox.com\",\"PROF_SHARING_WEBSERVER_DEV\":\"collections.dev.corp.dropbox.com\",\"FORMSWIFT_PROD\":\"formswift.com\",\"DEVBOX_REDIRECT_HOSTNAME\":\"redirect-hbwljog9tgkbi2kgxnaue0a9.dropbox.com\",\"DROPBOX_QUALTRICS_PROD\":\"dropbox.eu.qualtrics.com\",\"RBI_MAIN\":\"www.rbi.org.in\",\"BUISNESSDOMAIN\":\"dropboxbusiness.com\",\"FORUM_DOMAIN\":\"dropboxforum.com\",\"FORUMS_DOMAIN\":\"dropboxforums.com\",\"FORUM_WWW_DOMAIN\":\"www.dropboxforum.com\",\"INSIDER_DOMAIN\":\"dropboxinsiders.com\",\"PARTNER_DOMAIN\":\"dropboxpartners.com\",\"ADDTODOMAIN\":\"addtodropbox.com\",\"ZENDESK_DOMAIN\":\"dropbox.zendesk.com\",\"TEAM_DOMAIN\":\"dropboxteam.com\",\"DNS_DOMAIN\":\"dropbox-dns.com\",\"MAIL_DOMAIN\":\"dropboxmail.com\",\"ARKOSELABS_DOMAIN\":\"dropbox-api.arkoselabs.com\",\"AEM_WEBSERVER\":\"aem.dropbox.com\",\"AEM_ASSETS_WEBSERVER\":\"assets.dropbox.com\"};\nexport let domain_lists = {\"WEB_STATIC_HOSTS\":[\"www$(static_suffix)\",\"cfl$(static_suffix)\"],\"SAFE_ORIGINS\":[{\"dev\":\"meta$(suffix)\",\"prod\":\"www$(suffix)\"},\"api$(api_suffix)\",\"api$(suffix)\",{\"dev\":\"caro$(suffix)\",\"prod\":\"carousel$(suffix)\"},\"photos$(suffix)\",\"client-web$(suffix)\",\"services$(pp_suffix)\",\"docsend.com\",\"linux.dropbox.com\",\"www.dropbox.com\",\"paper.dropbox.com\",\"notes.dropbox.com\",\"test.composer.dropbox.com\",\"showcase.dropbox.com\",\"collections.dropbox.com\",{\"dev\":[\"localhost\"],\"prod\":[]},\"help.dropbox.com\",\"help-stg.dropbox.com\",\"itunes.apple.com\",\"play.google.com\",\"app.adjust.com\",\"dbx.go.link\",\"links$(suffix)\",\"a.sprig.com\",\"dropbox.enterprise.slack.com\",\"replay$(suffix)\",\"capture$(suffix)\",\"video$(suffix)\",\"experience.dropbox.com\",\"experience-stg.dropbox.com\",\"dropbox.tech\",\"dropbox-stg.tech\",\"blog.dropbox.com\",\"blog-stg.dropbox.com\",\"brandpartners.dropbox.com\",\"brandpartners-stg.dropbox.com\",\"learn.dropbox.com\",\"learn-stage.dropbox.com\",\"www.docsend.com\",\"www.hellosign.com\",\"www.remotely-curious.com\",\"capture.dropbox.com\",\"dash.dropbox.com\",\"www.dash.ai\",\"dash.ai\",\"learn.dropbox.com\",\"dash-staging.dropbox.com\",\"dropboxdash.com\",\"www.dropboxdash.com\",\"dropbox-mkt.navattic.com\",\"dropbox.navattic.com\",\"app.hellosign.com\",\"developers.hellosign.com\",\"sfdc-docs.hellosign.com\",\"faq.hellosign.com\",\"embedded.hellosign.com\",\"sign.dropbox.com\",\"seal.dropboxapi.com\",\"aws.amazon.com\",\"userresearch.dropbox.com\",\"www.reclaim.ai\",\"reclaim.ai\",\"app.reclaim.ai\",\"www.app.reclaim.ai\",{\"dev\":\"short$(suffix)\",\"prod\":\"db.tt\"},{\"dev\":\"captcha$(suffix)\",\"prod\":\"dropboxcaptcha.com\"},{\"dev\":\"dev.corp.dropbox.com\",\"prod\":\"dropbox.com\"},\"os.dropbox.com\",\"www.dropboxpulse.com\",\"dropbox.eu.qualtrics.com\",{\"dev\":\"dev.corp.dropboxstatic.com\",\"prod\":\"dropboxstatic.com\"},{\"dev\":\"dev.corp.getdropbox.com\",\"prod\":\"getdropbox.com\"},\"dropboxbusiness.com\",\"formswift.com\",\"dropboxforums.com\",\"dropboxforum.com\",\"www.dropboxforum.com\",\"dropboxinsiders.com\",\"dropboxpartners.com\",\"addtodropbox.com\",\"dropbox.zendesk.com\",\"dropboxteam.com\",\"dropbox-dns.com\",\"dropboxmail.com\",\"dropbox-api.arkoselabs.com\",\"aem.dropbox.com\",\"assets.dropbox.com\",\"replay.dropbox.com\",\"video.dropbox.com\",\"www.rbi.org.in\",\"events.dropbox.com\"],\"ADDITIONAL_SAFE_ORIGINS_DEV_OR_OFFICE_IP_ONLY\":[\"redirect-hbwljog9tgkbi2kgxnaue0a9.dropbox.com\",\"notes.dev.corp.dropbox.com\",\"stage-01.notes.dev.corp.dropbox.com\",\"stage.notes.dev.corp.dropbox.com\",\"admin-paper.dropbox.com\",\"nonprod-01-paper.dropbox.com\",\"nonprod-02-paper.dropbox.com\",\"collections.dev.corp.dropbox.com\",\"paper$(suffix)\",\"paper-admin$(pp_suffix)\"]};\nexport default {suffixes,domains,domain_lists,};\n","import yamlData from 'dropbox/server/domains.public.yaml';\n\n/**\n * Module for computing domains\n *\n * This function accepts isProd and devServerHostname rather than depending on\n * process.env and getting the hostname from the environment somehow. It is in\n * a separate file so that if we ever need to use it without having a dependency\n * on these constants, we can easily do so.\n */\n// updates to this logic should also be made in\n// dropbox/server/compute_domains.py\n// go/src/dropbox/web/config/compute_domains.go\n\ntype DomainConstant = string | string[];\ntype ContextType = Record\u003cstring, string\u003e;\n\ntype YamlType = typeof yamlData;\n\ninterface DomainsConfig\u003c\n SuffixKeys extends string,\n DomainKeys extends string,\n DomainListKeys extends string,\n\u003e {\n suffixes?: Record\u003cSuffixKeys, unknown\u003e;\n domains?: Record\u003cDomainKeys, unknown\u003e;\n // eslint-disable-next-line @typescript-eslint/naming-convention -- this has to match the yaml file\n domain_lists?: Record\u003cDomainListKeys, unknown\u003e;\n}\n\ntype ProcessedDomainsConfig\u003cDomainKeys extends string, DomainListKeys extends string\u003e = [\n Record\u003cDomainKeys, string\u003e,\n Record\u003cDomainListKeys, string[]\u003e,\n];\n\nlet lastDevServerHostname: string | null = null;\nlet DOMAINS: ReturnType\u003ctypeof computeDomainsNoCache\u003e | null = null;\n\nexport function computeDomains(devServerHostname: string) {\n if (lastDevServerHostname !== devServerHostname || !DOMAINS) {\n DOMAINS = computeDomainsNoCache(devServerHostname);\n lastDevServerHostname = devServerHostname;\n }\n return DOMAINS;\n}\n\nfunction computeDomainsNoCache(\n devServerHostname: string\n): ProcessedDomainsConfig\u003ckeyof YamlType['domains'], keyof YamlType['domain_lists']\u003e {\n /**\n * Function that computes a large dict of different domains to use\n * for different services. The domains we use differ between dev and\n * prod so that (a) it's possible to access both at the same time (under\n * different names) and (b) it's possible to have multiple \"remote\" vms\n * running on vm servers, running a dropbox website accessible to everyone\n * on corp for easy bug bashing. This lends itself to several unique use\n * cases like testing mobile web on a real mobile device without having to\n * mess with proxy settings.\n *\n * devServerHostname: the name of the dev server.\n * Usually something ended in *-{user}-coder for coder instances.\n * If this is the empty string, we generate prod domains instead.\n */\n\n const useProdDomains = devServerHostname === '';\n if (!useProdDomains) {\n // Dev vm sanity check. An old configuration mistake was hostname == FQDN\n // so guard against that. .sb is used for sandvillage, as it was easier\n // for them to route all *.sb.dev.corp.dropbox.com and similar to sand village\n // than to have separate routing for each sandvillage instance.\n if (devServerHostname.includes('.') \u0026\u0026 !devServerHostname.endsWith('.sb')) {\n throw new Error(`FQDN host names are not supported. Your hostname is '${devServerHostname}' but we only support barenames like 'dbdev' or 'dima-vm'.\n\nIf you are seeing this in a dropsuite instance, contact #dropsuite as this is likely a problem with instance provisioning.\n\nYou can find instructions on how to change your hostname here: http://askubuntu.com/questions/87665/how-do-i-change-the-hostname-without-a-restart`);\n }\n }\n\n return processDomains(yamlData, useProdDomains, devServerHostname);\n}\n\nfunction processDomains\u003cS extends string, D extends string, DL extends string\u003e(\n data: DomainsConfig\u003cS, D, DL\u003e,\n isProd: boolean,\n devServerHostname?: string\n): ProcessedDomainsConfig\u003cD, DL\u003e {\n /**\n * Processes domains.yaml format.\n *\n * data is a map of labeled sections, which have mappings from\n * keys to values, and values in later sections can reference keys from\n * the 'suffixes' section\n *\n * Returns the 'domains' and 'domainLists' sections.\n */\n const context: ContextType = devServerHostname ? {hostname: devServerHostname} : {};\n if (data.suffixes) {\n const suffixes = processSection(data.suffixes, isProd, context);\n for (const [key, value] of Object.entries(suffixes)) {\n if (typeof value === 'string') {\n context[key] = value;\n } else {\n throw new Error('Lists in suffix section are not supported');\n }\n }\n }\n let domains;\n if (data.domains) {\n domains = processSection\u003cD, string\u003e(data.domains, isProd, context);\n } else {\n domains = {} as Record\u003cD, string\u003e;\n }\n let domainLists;\n if (data.domain_lists) {\n domainLists = processSection\u003cDL, string[]\u003e(data.domain_lists, isProd, context);\n } else {\n domainLists = {} as Record\u003cDL, string[]\u003e;\n }\n\n // check domains, domain lists types\n Object.entries(domains).forEach(([key, value]) =\u003e {\n if (typeof value !== 'string') {\n throw new Error(`Expected string in 'domains', found ${typeof value} for key ${key} instead`);\n }\n });\n Object.entries(domainLists).forEach(([key, value]) =\u003e {\n if (!Array.isArray(value)) {\n throw new Error(\n `Expected list in 'domainLists', found ${typeof value} for key ${key} instead`\n );\n }\n });\n return [domains, domainLists];\n}\n\nfunction processSection\u003cK extends string, V extends string | string[]\u003e(\n data: Record\u003cK, unknown\u003e,\n isProd: boolean,\n context: ContextType\n): Record\u003cK, V\u003e {\n const result = {} as Record\u003cK, V\u003e;\n Object.entries(data).forEach(([key, value]) =\u003e {\n result[key as K] = processValue\u003cV\u003e(key, value, isProd, context) as V;\n });\n return result;\n}\n\nfunction processValue\u003cV extends DomainConstant\u003e(\n key: string,\n value: unknown,\n isProd: boolean,\n context: ContextType\n): V {\n /**\n * Processes a value in domains.yaml.\n *\n * List of lists are flattened\n * $(suffix) references in string values are resolved\n * {dev: ..., prod: ...} are also resolved\n *\n * Returns a list of strings or a single string\n */\n if (value != null \u0026\u0026 typeof value === 'object' \u0026\u0026 !Array.isArray(value)) {\n if ('dev' in value \u0026\u0026 'prod' in value \u0026\u0026 Object.keys(value).sort().join(',') === 'dev,prod') {\n return processValue(key, isProd ? value.prod : value.dev, isProd, context);\n } else {\n throw new Error(`Dict value ${value} in key ${key} must have both dev and prod keys`);\n }\n } else if (Array.isArray(value)) {\n const seq: string[] = [];\n value.forEach((s) =\u003e {\n const processed = processValue(key, s, isProd, context);\n if (typeof processed === 'string') {\n seq.push(processed);\n } else {\n seq.push(...(processed as string[]));\n }\n });\n return seq as V;\n } else if (typeof value === 'string') {\n return processStringReferences(value, context) as V;\n }\n\n throw new Error(`Unknown value type ${typeof value} found within key ${key}`);\n}\n\nfunction processStringReferences(value: string, context: ContextType): string {\n /**\n * Processes $(key) references in value by looking them up\n * in the context.\n */\n return value.replace(/\\$\\(([^)]+)\\)/g, (_, key) =\u003e context[key]);\n}\n","var safeIsNaN = Number.isNaN ||\n function ponyfill(value) {\n return typeof value === 'number' \u0026\u0026 value !== value;\n };\nfunction isEqual(first, second) {\n if (first === second) {\n return true;\n }\n if (safeIsNaN(first) \u0026\u0026 safeIsNaN(second)) {\n return true;\n }\n return false;\n}\nfunction areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n for (var i = 0; i \u003c newInputs.length; i++) {\n if (!isEqual(newInputs[i], lastInputs[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n if (isEqual === void 0) { isEqual = areInputsEqual; }\n var lastThis;\n var lastArgs = [];\n var lastResult;\n var calledOnce = false;\n function memoized() {\n var newArgs = [];\n for (var _i = 0; _i \u003c arguments.length; _i++) {\n newArgs[_i] = arguments[_i];\n }\n if (calledOnce \u0026\u0026 lastThis === this \u0026\u0026 isEqual(newArgs, lastArgs)) {\n return lastResult;\n }\n lastResult = resultFn.apply(this, newArgs);\n calledOnce = true;\n lastThis = this;\n lastArgs = newArgs;\n return lastResult;\n }\n return memoized;\n}\n\nexport default memoizeOne;\n","import {computeDomains} from 'js/domains/compute_domains';\nimport {getDevServerHostname} from 'js/init_data/runtime';\n\nexport function getDomains() {\n const devServerHostname = getDevServerHostname();\n const [domains, _] = computeDomains(devServerHostname);\n\n return domains;\n}\n\nexport function getDomainLists() {\n const devServerHostname = getDevServerHostname();\n const [_, domainLists] = computeDomains(devServerHostname);\n\n return domainLists;\n}\n"],"names":["yamlData","suffixes","suffix","dev","prod","duc_suffix","static_suffix","api_suffix","pp_suffix","domains","DROPBOX_USER_CONTENT_DOMAIN","GLOBAL_COOKIE_DOMAIN","DROPBOX_STATIC_DOMAIN","DROPBOX_LEGACY_DOMAIN","WEBSERVER","CLIENT_WEB_WEBSERVER","PHOTOS_WEBSERVER","CAROUSEL_WEBSERVER","APISERVER","APISERVER_V1","API_BLOCK_CLUSTER_V1","BEACON_SERVER","BOLT_SERVER","THUNDER_SERVER","BLOCK_CLUSTER","PUBSERVER","DROPBOX_DASH_PROD","DROPBOX_DASH_STAGE","DROPBOX_DASH_LOCAL","DASH_DROPBOX_SUBDOMAIN","DROPBOX_DASH_MAIN","DROPBOX_DASH_STAGE_DROPBOX_WEBFLOW","DROPBOX_DASH_SHORT_TERM_WEBFLOW","DROPBOX_DASH_SHORT_TERM_WEBFLOW_WWW","DROPBOX_DASH_DEMO","DROPBOX_DASH_DEMO_NEW","DROPBOX_REPLAY_PROD","DROPBOX_REPLAY_DEV","WEB_STATIC_DROPBOX_HOST","WEB_STATIC_CLOUDFLARE_CDN_HOST","MARKETING_WEBSERVER","PDF_EDITOR_FRAME","FILE_IMPORTS_SUBDOMAIN","FUNCAPTCHA_SERVER","PAYPAL_SDK_DROPBOX_SERVER","HELP_CENTER_WEBSERVER","HELP_CENTER_WEBSERVER_DEV","APPLE_APP_STORE_DOMAIN","GOOGLE_PLAY_DOMAIN","ADJUST_DOMAIN","ADJUST_TRUE_LINK_DOMAIN","LINKS_DOMAIN","SPRIG_DOMAIN","DROPBOX_ENTERPRISE_SLACK","REPLAY_SUBDOMAIN","CAPTURE_SUBDOMAIN","DROPBOX_CAPTURE_PROD","MEDIA_EDIT_SUBDOMAIN","DROPBOX_MEDIA_EDIT_PROD","EXPERIENCE_WEBSERVER","EXPERIENCE_WEBSERVER_DEV","DROPBOX_TECH_PROD","DROPBOX_TECH_DEV","DROPBOX_BLOG_PROD","DROPBOX_BLOG_DEV","DROPBOX_LEARN_PROD","EVENTS_SUBDOMAIN","BRAND_PARTNER_WEBSERVER","BRAND_PARTNER_WEBSERVER_DEV","LMS_WEBSERVER","LMS_WEBSERVER_DEV","DOCSEND_DOMAIN","DOCSEND_PROD","HELLOSIGN_DOMAIN_EN","HELLOSIGN_APP_PROD","HELLOSIGN_DEVELOPERS","HELLOSIGN_SFDC","HELLOSIGN_FAQ","HELLOSIGN_EMBEDDED","DROPBOX_SIGN_DOMAIN","REMOTECURIOUS_DOMAIN","SEAL_DROPBOXAPI","AMAZON_AWS","USERRESEARCH_MAIN","RECLAIM_PROD","RECLAIM_MAIN","RECLAIM_APP_PROD","RECLAIM_APP_MAIN","DBTT_SERVER","DROPBOX_OS_DOMAIN","DROPBOX_PULSE_DOMAIN","SERVICES_PP_DOMAIN","CUSTOMERLAB_PP_DOMAIN","LINUX_SERVER","NOTES_WEBSERVER_PROD","NOTES_WEBSERVER_OLD","NOTES_WEBSERVER_TEST","NOTES_WEBSERVER_DEV","NOTES_WEBSERVER_LOAD","NOTES_WEBSERVER_STAGE","NOTES_WEBSERVER_ADMIN_VPN","NOTES_WEBSERVER_NONPROD_1","NOTES_WEBSERVER_NONPROD_2","PAPER_WEBSERVER","PAPER_ADMIN_PP","PROF_SHARING_WEBSERVER_PROD","PROF_SHARING_WEBSERVER_PROD_ALIAS","PROF_SHARING_WEBSERVER_DEV","FORMSWIFT_PROD","DEVBOX_REDIRECT_HOSTNAME","DROPBOX_QUALTRICS_PROD","RBI_MAIN","BUISNESSDOMAIN","FORUM_DOMAIN","FORUMS_DOMAIN","FORUM_WWW_DOMAIN","INSIDER_DOMAIN","PARTNER_DOMAIN","ADDTODOMAIN","ZENDESK_DOMAIN","TEAM_DOMAIN","DNS_DOMAIN","MAIL_DOMAIN","ARKOSELABS_DOMAIN","AEM_WEBSERVER","AEM_ASSETS_WEBSERVER","domain_lists","WEB_STATIC_HOSTS","SAFE_ORIGINS","ADDITIONAL_SAFE_ORIGINS_DEV_OR_OFFICE_IP_ONLY","lastDevServerHostname","DOMAINS","computeDomains","devServerHostname","useProdDomains","includes","endsWith","Error","data","isProd","context","hostname","processSection","key","value","Object","entries","domainLists","forEach","Array","isArray","processDomains","computeDomainsNoCache","result","processValue","keys","sort","join","seq","s","processed","push","replace","_","processStringReferences","safeIsNaN","Number","isNaN","areInputsEqual","newInputs","lastInputs","length","i","first","second","getDevServerHostname","resultFn","isEqual","lastThis","lastResult","lastArgs","calledOnce","newArgs","_i","arguments","this","apply"],"mappings":"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","x_google_ignoreList":[2],"debugId":"7c288fac-38a2-36e3-9452-39e375e16201","debug_id":"7c288fac-38a2-36e3-9452-39e375e16201"}