PageSourceSearch

https://temporal.io/_app/immutable/chunks/DfQEPfaM.js

js temporal.io collected 2026-09-24 08:31:58 UTC 34,161 bytes, 441 lines download raw bytes

1(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`1328b89a-36be-440b-9014-66ef1c68d1cc`,e._sentryDebugIdIdentifier=`sentry-dbid-1328b89a-36be-440b-9014-66ef1c68d1cc`)}catch{}})();import{a as e,n as t,o as n,t as r}from"./jYEVFyhM.js";var i=`AT.BE.BG.HR.CY.CZ.DK.EE.FI.FR.DE.GR.HU.IE.IT.LV.LT.LU.MT.NL.PL.PT.RO.SK.SI.ES.SE.IS.LI.NO.GB`.split(`.`);new Set(i);var a=[`BR`,`CH`,`CA`];[...i,...a];var o=e=>e===`opt_in`||e===`us_opt_out`||e===`us_basic`||e===`row`,s={row:0,us_basic:0,us_opt_out:1,opt_in:2},c=(e,t)=>e!=null&&s[t]>s[e],l=globalThis,u=l.ShadowRoot&&(l.ShadyCSS===void 0||l.ShadyCSS.nativeShadow)&&`adoptedStyleSheets`in Document.prototype&&`replace`in CSSStyleSheet.prototype,d=Symbol(),f=new WeakMap,ee=class{constructor(e,t,n){if(this._$cssResult$=!0,n!==d)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o,t=this.t;if(u&&e===void 0){let n=t!==void 0&&t.length===1;n&&(e=f.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&f.set(t,e))}return e}toString(){return this.cssText}},te=e=>new ee(typeof e==`string`?e:e+``,void 0,d),ne=(e,...t)=>new ee(e.length===1?e[0]:t.reduce((t,n,r)=>t+(e=>{if(!0===e._$cssResult$)return e.cssText;if(typeof e==`number`)return e;throw Error(`Value passed to 'css' function must be a 'css' function result: `+e+`. Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.`)})(n)+e[r+1],e[0]),e,d),re=(e,t)=>{if(u)e.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(let n of t){let t=document.createElement(`style`),r=l.litNonce;r!==void 0&&t.setAttribute(`nonce`,r),t.textContent=n.cssText,e.appendChild(t)}},ie=u?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t=``;for(let n of e.cssRules)t+=n.cssText;return te(t)})(e):e,{is:ae,defineProperty:oe,getOwnPropertyDescriptor:se,getOwnPropertyNames:ce,getOwnPropertySymbols:le,getPrototypeOf:ue}=Object,p=globalThis,m=p.trustedTypes,de=m?m.emptyScript:``,fe=p.reactiveElementPolyfillSupport,h=(e,t)=>e,g={toAttribute(e,t){switch(t){case Boolean:e=e?de:null;break;case Object:case Array:e=e==null?e:JSON.stringify(e)}return e},fromAttribute(e,t){let n=e;switch(t){case Boolean:n=e!==null;break;case Number:n=e===null?null:Number(e);break;case Object:case Array:try{n=JSON.parse(e)}catch{n=null}}return n}},pe=(e,t)=>!ae(e,t),me={attribute:!0,type:String,converter:g,reflect:!1,useDefault:!1,hasChanged:pe};Symbol.metadata??=Symbol(`metadata`),p.litPropertyMetadata??=new WeakMap;var _=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=me){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){let n=Symbol(),r=this.getPropertyDescriptor(e,n,t);r!==void 0&&oe(this.prototype,e,r)}}static getPropertyDescriptor(e,t,n){let{get:r,set:i}=se(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get:r,set(t){let a=r?.call(this);i?.call(this,t),this.requestUpdate(e,a,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??me}static _$Ei(){if(this.hasOwnProperty(h(`elementProperties`)))return;let e=ue(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(h(`finalized`)))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(h(`properties`))){let e=this.properties,t=[...ce(e),...le(e)];for(let n of t)this.createProperty(n,e[n])}let e=this[Symbol.metadata];if(e!==null){let t=litPropertyMetadata.get(e);if(t!==void 0)for(let[e,n]of t)this.elementProperties.set(e,n)}this._$Eh=new Map;for(let[e,t]of this.elementProperties){let n=this._$Eu(e,t);n!==void 0&&this._$Eh.set(n,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){let t=[];if(Array.isArray(e)){let n=new Set(e.flat(1/0).reverse());for(let e of n)t.unshift(ie(e))}else e!==void 0&&t.push(ie(e));return t}static _$Eu(e,t){let n=t.attribute;return!1===n?void 0:typeof n==`string`?n:typeof e==`string`?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e
vendor: 9,357 bytes, lines 1-2
1=>e(this))}addController(e){(this._$EO??=new Set).add(e),this.renderRoot!==void 0&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){let e=new Map,t=this.constructor.elementProperties;for(let n of t.keys())this.hasOwnProperty(n)&&(e.set(n,this[n]),delete this[n]);e.size>0&&(this._$Ep=e)}createRenderRoot(){let e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return re(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,t,n){this._$AK(e,n)}_$ET(e,t){let n=this.constructor.elementProperties.get(e),r=this.constructor._$Eu(e,n);if(r!==void 0&&!0===n.reflect){let i=(n.converter?.toAttribute===void 0?g:n.converter).toAttribute(t,n.type);this._$Em=e,i==null?this.removeAttribute(r):this.setAttribute(r,i),this._$Em=null}}_$AK(e,t){let n=this.constructor,r=n._$Eh.get(e);if(r!==void 0&&this._$Em!==r){let e=n.getPropertyOptions(r),i=typeof e.converter==`function`?{fromAttribute:e.converter}:e.converter?.fromAttribute===void 0?g:e.converter;this._$Em=r;let a=i.fromAttribute(t,e.type);this[r]=a??this._$Ej?.get(r)??a,this._$Em=null}}requestUpdate(e,t,n,r=!1,i){if(e!==void 0){let a=this.constructor;if(!1===r&&(i=this[e]),n??=a.getPropertyOptions(e),!((n.hasChanged??pe)(i,t)||n.useDefault&&n.reflect&&i===this._$Ej?.get(e)&&!this.hasAttribute(a._$Eu(e,n))))return;this.C(e,t,n)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(e,t,{useDefault:n,reflect:r,wrapped:i},a){n&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,a??t??this[e]),!0!==i||a!==void 0)||(this._$AL.has(e)||(this.hasUpdated||n||(t=void 0),this._$AL.set(e,t)),!0===r&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}let e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[e,t]of this._$Ep)this[e]=t;this._$Ep=void 0}let e=this.constructor.elementProperties;if(e.size>0)for(let[t,n]of e){let{wrapped:e}=n,r=this[t];!0!==e||this._$AL.has(t)||r===void 0||this.C(t,void 0,n,r)}}let e=!1,t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach(e=>e.hostUpdate?.()),this.update(t)):this._$EM()}catch(t){throw e=!1,this._$EM(),t}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach(e=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&=this._$Eq.forEach(e=>this._$ET(e,this[e])),this._$EM()}updated(e){}firstUpdated(e){}};_.elementStyles=[],_.shadowRootOptions={mode:`open`},_[h(`elementProperties`)]=new Map,_[h(`finalized`)]=new Map,fe?.({ReactiveElement:_}),(p.reactiveElementVersions??=[]).push(`2.1.2`);var v=globalThis,he=e=>e,y=v.trustedTypes,b=y?y.createPolicy(`lit-html`,{createHTML:e=>e}):void 0,ge=`$lit$`,x=`lit$${Math.random().toFixed(9).slice(2)}$`,_e=`?`+x,ve=`<${_e}>`,S=document,C=()=>S.createComment(``),w=e=>e===null||typeof e!=`object`&&typeof e!=`function`,T=Array.isArray,ye=e=>T(e)||typeof e?.[Symbol.iterator]==`function`,E=`[ 	
2\f\r]`,D=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,O=/-->/g,k=/>/g,A=RegExp(`>|${E}(?:([^\\s"'>=/]+)(${E}*=${E}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,`g`),j=/'/g,M=/"/g,N=/^(?:script|style|textarea|title)$/i,P=(e=>(t,...n)=>({_$litType$:e,strings:t,values:n}))(1),F=Symbol.for(`lit-noChange`),I=Symbol.for(`lit-nothing`),L=new WeakMap,R=S.createTreeWalker(S,129);function be(e,t){if(!T(e)||!e.hasOwnProperty(`raw`))throw Error(`invalid template strings array`);return b===void 0?t:b.createHTML(t)}var xe=(e,t)=>{let n=e.length-1,r=[],i,a=t===2?`<svg>`:t===3?`<math>`:``,o=D;for(let t=0;t<n;t++){let n=e[t],s,c,l=-1,u=0;for(;u<n.length&&(o.lastIndex=u,c=o.exec(n),c!==null);)u=o.lastIndex,o===D?c[1]===`!--`?o=O:c[1]===void 0?c[2]===void 0?c[3]!==void 0&&(o=A):(N.test(c[2])&&(i=RegExp(`</`+c[2],`g`)),o=A):o=k:o===A?c[0]===`>`?(o=i??D,l=-1):c[1]===void 0?l=-2:(l=o.lastIndex-c[2].length,s=c[1],o=c[3]===void 0?A:c[3]===`"`?M:j):o===M||o===j?o=A:o===O||o===k?o=D:(o=A,i=void 0);let d=o===A&&e[t+1].startsWith(`/>`)?` `:``;a+=o===D?n+ve:l>=0?(r.push(s),n.slice(0,l)+ge+n.slice(l)+x+d):n+x+(l===-2?t:d)}return[be(e,a+(e[n]||`<?>`)+(t===2?`</svg>`:t===3?`</math>`:``)),r]},z=class e{constructor({strings:t,_$litType$:n},r){let i;this.parts=[];let a=0,o=0,s=t.length-1,c=this.parts,[l,u]=xe(t,n);if(this.el=e.createElement(l,r),R.currentNode=this.el.content,n===2||n===3){let e=this.el.content.firstChild;e.replaceWith(...e.childNodes)}for(;(i=R.nextNode())!==null&&c.length<s;){if(i.nodeType===1){if(i.hasAttributes())for(let e of i.getAttributeNames())if(e.endsWith(ge)){let t=u[o++],n=i.getAttribute(e).split(x),r=/([.?@])?(.*)/.exec(t);c.push({type:1,index:a,name:r[2],strings:n,ctor:r[1]===`.`?Ce:r[1]===`?`?we:r[1]===`@`?Te:H}),i.removeAttribute(e)}else e.startsWith(x)&&(c.push({type:6,index:a}),i.removeAttribute(e));if(N.test(i.tagName)){let e=i.textContent.split(x),t=e.length-1;if(t>0){i.textContent=y?y.emptyScript:``;for(let n=0;n<t;n++)i.append(e[n],C()),R.nextNode(),c.push({type:2,index:++a});i.append(e[t],C())}}}else if(i.nodeType===8)if(i.data===_e)c.push({type:2,index:a});else{let e=-1;for(;(e=i.data.indexOf(x,e+1))!==-1;)c.push({type:7,index:a}),e+=x.length-1}a++}}static createElement(e,t){let n=S.createElement(`template`);return n.innerHTML=e,n}};function B(e,t,n=e,r){if(t===F)return t;let i=r===void 0?n._$Cl:n._$Co?.[r],a=w(t)?void 0:t._$litDirective$;return i?.constructor!==a&&(i?._$AO?.(!1),a===void 0?i=void 0:(i=new a(e),i._$AT(e,n,r)),r===void 0?n._$Cl=i:(n._$Co??=[])[r]=i),i!==void 0&&(t=B(e,i._$AS(e,t.values),i,r)),t}var Se=class{constructor(e,t){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=t}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){let{el:{content:t},parts:n}=this._$AD,r=(e?.creationScope??S).importNode(t,!0);R.currentNode=r;let i=R.nextNode(),a=0,o=0,s=n[0];for(;s!==void 0;){if(a===s.index){let t;s.type===2?t=new V(i,i.nextSibling,this,e):s.type===1?t=new s.ctor(i,s.name,s.strings,this,e):s.type===6&&(t=new Ee(i,this,e)),this._$AV.push(t),s=n[++o]}a!==s?.index&&(i=R.nextNode(),a++)}return R.currentNode=S,r}p(e){let t=0;for(let n of this._$AV)n!==void 0&&(n.strings===void 0?n._$AI(e[t]):(n._$AI(e,n,t),t+=n.strings.length-2)),t++}},V=class e{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,t,n,r){this.type=2,this._$AH=I,this._$AN=void 0,this._$AA=e,this._$AB=t,this._$AM=n,this.options=r,this._$Cv=r?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode,t=this._$AM;return t!==void 0&&e?.nodeType===11&&(e=t.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,t=this){e=B(this,e,t),w(e)?e===I||e==null||e===``?(this._$AH!==I&&this._$AR(),this._$AH=I):e!==this._$AH&&e!==F&&this._(e):e._$litType$===void 0?e.nodeType===void 0?ye(e)?this.k(e):this._(e):this.T(e):this.$(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==I&&w(this._$AH)?this._$AA.nextSibling.data=e:this.T(S.createTextNode(e)),this._$AH=e}$(e){let{values:t,_$litType$:n}=e,r=typeof n==`number`?this._$AC(e):(n.el===void 0&&(n.el=z.createElement(be(n.h,n.h[0]),this.options)),n);if(this._$AH?._$AD===r)this._$AH.p(t);else{let e=new Se(r,this),n=e.u(this.options);e.p(t),this.T(n),this._$AH=e}}_$AC(e){let t=L.get(e.strings);return t===void 0&&L.set(e.strings,t=new z(e)),t}k(t){T(this._$AH)||(this._$AH=[],this._$AR());let n=this._$AH,r,i=0;for(let a of t)i===n.length?n.push(r=new e(this.O(C()),this.O(C()),this,this.options)):r=n[i],r._$AI(a),i++;i<n.length&&(this._$AR(r&&r._$AB.nextSibling,i),n.length=i)}_$AR(e=this._$AA.nextSibling,t){for(this._$AP?.(!1,!0,t);e!==this._$AB;){let t=he(e).nextSibling;he(e).remove(),e=t}}setConnected(e){this._$AM===void 0&&(this._$Cv=e,this._$AP?.(e))}},H=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,t,n,r,i){this.type=1,this._$AH=I,this._$AN=void 0,this.element=e,this.name=t,this._$AM=r,this.options=i,n.length>2||n[0]!==``||n[1]!==``?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=I}_$AI(e,t=this,n,r){let i=this.strings,a=!1;if(i===void 0)e=B(this,e,t,0),a=!w(e)||e!==this._$AH&&e!==F,a&&(this._$AH=e);else{let r=e,o,s;for(e=i[0],o=0;o<i.length-1;o++)s=B(this,r[n+o],t,o),s===F&&(s=this._$AH[o]),a||=!w(s)||s!==this._$AH[o],s===I?e=I:e!==I&&(e+=(s??``)+i[o+1]),this._$AH[o]=s}a&&!r&&this.j(e)}j(e){e===I?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??``)}},Ce=class extends H{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===I?void 0:e}},we=class extends H{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==I)}},Te=class extends H{constructor(e,t,n,r,i){super(e,t,n,r,i),this.type=5}
2_$AI(e,t=this){if((e=B(this,e,t,0)??I)===F)return;let n=this._$AH,r=e===I&&n!==I||e.capture!==n.capture||e.once!==n.once||e.passive!==n.passive,i=e!==I&&(n===I||r);r&&this.element.removeEventListener(this.name,this,n),i&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){typeof this._$AH==`function`?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e)}},Ee=class{constructor(e,t,n){this.element=e,this.type=6,this._$AN=void 0,this._$AM=t,this.options=n}get _$AU(){return this._$AM._$AU}_$AI(e){B(this,e)}},De=v.litHtmlPolyfillSupport;De?.(z,V),(v.litHtmlVersions??=[]).push(`3.3.3`);var Oe=(e,t,n)=>{let r=n?.renderBefore??t,i=r._$litPart$;if(i===void 0){let e=n?.renderBefore??null;r._$litPart$=i=new V(t.insertBefore(C(),e),e,void 0,n??{})}return i._$AI(e),i},U=globalThis,W=class extends _{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){let t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=Oe(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return F}};W._$litElement$=!0,W.finalized=!0,U.litElementHydrateSupport?.({LitElement:W});var ke=U.litElementPolyfillSupport;ke?.({LitElement:W}),(U.litElementVersions??=[]).push(`4.2.2`);var Ae=new Map,je=e=>{try{let t=Ae.get(e);return t||(t=new BroadcastChannel(`persist-store-${e}`),Ae.set(e,t)),t}catch{return null}},G=(e,t)=>{try{localStorage.setItem(e,JSON.stringify(t))}catch{}try{je(e)?.postMessage(t)}catch{}},K=e=>G(`consent`,e),q=e=>G(`do-not-sell`,e),J=e=>G(`consent-regime`,e),Y=e=>{let t=window,n=e.analytics?`granted`:`denied`,r=e.advertising&&!e.doNotSell?`granted`:`denied`;t.gtag?.(`consent`,`update`,{analytics_storage:n,ad_storage:r,ad_user_data:r,ad_personalization:r}),e.analytics&&(t.dataLayer??=[]).push({event:`consent_granted`})},X=`temporal:consentchange`,Z=e=>{window.dispatchEvent(new CustomEvent(X,{detail:e}))},Q=`temporal:consent-banner-open`,$=e=>{try{let t=localStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}},Me=e=>{try{return sessionStorage.getItem(e)}catch{return null}},Ne=(e,t)=>{try{sessionStorage.setItem(e,t)}catch{}},Pe=class extends W{static{this.properties={_mounted:{state:!0},_showPreferences:{state:!0},_regime:{state:!0},_geoResolved:{state:!0},_visible:{state:!0},_analytics:{state:!0},_advertising:{state:!0},_doNotSell:{state:!0},_consent:{state:!0},policyUrl:{type:String,attribute:`policy-url`},geoEndpoint:{type:String,attribute:`geo-endpoint`}}}constructor(){super(),this._mounted=!1,this._showPreferences=!1,this._geoResolved=!1,this._visible=!1,this._analytics=!1,this._advertising=!1,this._doNotSell=!1,this._regime=`opt_in`,this._consent=t(),this.policyUrl=`https://temporal.io/temporal-cookie-policy`,this.geoEndpoint=`https://consent.temporal.io/api/geo`,this._committedDoNotSell=!1,this._regimeKnown=!1,this._regimeRequested=!1,this._initialized=!1,this.GEO_FETCH_TIMEOUT_MS=3e3,this.GEO_RECONCILED_KEY=`consent-geo-reconciled`,this._onOpenEvent=()=>this.open(),this.acceptAll=()=>this.applyConsent({analytics:!0,advertising:!0}),this.rejectAll=()=>this.applyConsent({analytics:!1,advertising:!1}),this.savePreferences=()=>this.applyConsent({analytics:this._analytics,advertising:this._advertising});let e=$(`consent`);this._consent=e??t();let n=$(`do-not-sell`)??!1;this._doNotSell=n,this._committedDoNotSell=n;let r=$(`consent-regime`);this._regimeKnown=o(r),this._regime=this._regimeKnown?r:`opt_in`,this._analytics=this._consent?.analytics??!1,this._advertising=this._consent?.advertising??!1}connectedCallback(){super.connectedCallback(),window.addEventListener(Q,this._onOpenEvent),this._initialized||(this._initialized=!0,this.initialize())}disconnectedCallback(){window.removeEventListener(Q,this._onOpenEvent),super.disconnectedCallback()}initialize(){let t=e();if(!this._consent?.decided&&t.decided&&(this._consent=t,K(t)),this._consent?.decided&&n(this._consent),this._mounted=!0,this._consent?.decided){if(Me(this.GEO_RECONCILED_KEY))return;(async()=>{let{regime:e,gpc:t}=await this.fetchGeo();Ne(this.GEO_RECONCILED_KEY,`1`);let n=$(`consent-regime`),r=o(n)?n:null;if(c(r,e)){this.repromptForRegime(e,t);return}this._regime=e,this._regimeKnown=!0,this._geoResolved=!0,r??J(e)})();return}(async()=>{let{regime:e,gpc:t}=await this.fetchGeo();this.applyRegimeFirstLoad(e,t)})()}open(){this.syncLocalToggles(),this._showPreferences=!0,this._visible=!0,!this._regimeKnown&&!this._regimeRequested&&(this._regimeRequested=!0,this.fetchGeo().then(({regime:e})=>{this._regime=e,J(e),this._regimeKnown=!0}))}syncLocalToggles(){this._analytics=this._consent?.analytics??!1,this._advertising=this._consent?.advertising??!1,this._doNotSell=this._committedDoNotSell}togglePreferences(){this._showPreferences?this._showPreferences=!1:(this.syncLocalToggles(),this._showPreferences=!0)}applyConsent(e){let t={decided:!0,necessary:!0,analytics:e.analytics,advertising:e.advertising},r=this._regime===`us_opt_out`?this._doNotSell:!e.advertising,i=this._consent,a=!i||!i.decided||i.analytics!==t.analytics||i.advertising!==t.advertising||this._committedDoNotSell!==r;this._consent=t,K(t),this._committedDoNotSell=r,this._doNotSell=r,q(r),this._visible=!1,this._showPreferences=!1,n(t),Y({analytics:t.analytics,advertising:t.advertising,doNotSell:r}),a&&Z({consent:t,doNotSell:r,regime:this._regime})}applyDefaultGrant(e,t){this._doNotSell=t,this._committedDoNotSell=t,this._analytics=!0,this._advertising=!0;let r={decided:e,necessary:!0,analytics:!0,advertising:!0};this._consent=r,K(r),q(t),Y({analytics:!0,advertising:!0,doNotSell:t}),e&&(n(r),Z({consent:r,doNotSell:t,regime:this._regime}))}async fetchGeo(){let e=new URL(this.geoEndpoint,window.location.origin),t=new URLSearchParams(window.location.search);for(let n of[`country`,`region`,`gpc`]){let r=t.get(n);r&&e.searchParams.set(n,r)}let n=new AbortController,r=setTimeout(()=>n.abort(),this.GEO_FETCH_TIMEOUT_MS);try{let t=await fetch(e.toString(),{signal:n.signal});if(t.ok){let e=await t.json()??{};return{regime:o(e.regime)?e.regime:`opt_in`,gpc:typeof e.gpc==`boolean`&&e.gpc}}}catch{}finally{clearTimeout(r)}return{regime:`opt_in`,gpc:!1}}resetForOptIn(){this._analytics=!1,this._advertising=!1,this._doNotSell=!1,this._committedDoNotSell=!1;let e={decided:!1,necessary:!0,analytics:!1,advertising:!1};this._consent=e,K(e),q(!1),Y({analytics:!1,advertising:!1,doNotSell:!1}),Z({consent:e,doNotSell:!1,regime:`opt_in`})}applyRegimeFirstLoad(e,t){if(this._regime=e,J(e),this._regimeKnown=!0,this._geoResolved=!0,e===`opt_in`){(this._consent?.analytics||this._consent?.advertising)&&this.resetForOptIn();return}this.applyDefaultGrant(e!==`us_opt_out`,t)}repromptForRegime(e,t){if(this._regime=e,J(e),this._regimeKnown=!0,this._geoResolved=!0,r(),e===`opt_in`){this.resetForOptIn();return}this.applyDefaultGrant(!1,t)}renderAcceptDecline(){return P`
3      <div class="actions">
4        <button type="button" class="btn" @click=${this.acceptAll}>
5          Accept
6        </button>
7        <button type="button" class="btn" @click=${this.rejectAll}>
8          Decline
9        </button>
10      </div>
11    `}renderToggle(e,t,n,r=!1){return P`
12      <button
13        type="button"
14        role="switch"
15        class="toggle ${e?`active`:``}"
16        aria-checked=${e?`true`:`false`}
17        aria-label=${t}
18        ?disabled=${r}
19        aria-disabled=${r?`true`:`false`}
20        @click=${r?void 0:n}
21      >
22        <span class="toggle-thumb"></span>
23      </button>
24    `}renderPreferences(){return P`
25      <div
26        id="cookie-preferences-panel"
27        class="preferences"
28        role="group"
29        aria-label="Cookie preferences"
30      >
31        <div class="preference-row">
32          <div class="preference-copy">
33            <span class="preference-title">Strictly Necessary</span>
34            <span class="preference-description">
35              Required for the site to function securely. Always on.
36            </span>
37          </div>
38          ${this.renderToggle(!0,`Strictly necessary cookies (always on)`,()=>{},!0)}
39        </div>
40
41        <div class="preference-row">
42          <div class="preference-copy">
43            <span class="preference-title">Analytics / Performance</span>
44            <span class="preference-description">
45              Help us understand how the site is used so we can improve it.
46            </span>
47          </div>
48          ${this.renderToggle(this._analytics,`Analytics and performance cookies`,()=>this._analytics=!this._analytics)}
49        </div>
50
51        <div class="preference-row">
52          <div class="preference-copy">
53            <span class="preference-title">Advertising / Marketing</span>
54            <span class="preference-description">
55              Used to measure and personalize our marketing.
56            </span>
57          </div>
58          ${this.renderToggle(this._advertising,`Advertising and marketing cookies`,()=>this._advertising=!this._advertising)}
59        </div>
60
61        <button
62          type="button"
63          class="btn btn-secondary"
64          @click=${this.savePreferences}
65        >
66          Save Preferences
67        </button>
68      </div>
69    `}renderRegimeControls(){return this._regime===`opt_in`?P`
70        <div class="regime-optin">
71          <div
72            class="preferences-wrapper ${this._showPreferences?`open`:``}"
73            ?inert=${!this._showPreferences}
74          >
75            <div class="preferences-clip">${this.renderPreferences()}</div>
76          </div>
77          <div class="actions">
78            <button type="button" class="btn" @click=${this.acceptAll}>
79              Accept All
80            </button>
81            <button type="button" class="btn" @click=${this.rejectAll}>
82              Reject All
83            </button>
84            <button
85              type="button"
86              class="btn"
87              aria-expanded=${this._showPreferences?`true`:`false`}
88              aria-controls="cookie-preferences-panel"
89              @click=${()=>this.togglePreferences()}
90            >
91              <span class="customize-label">
92                Customize
93                <svg
94                  class="chevron ${this._showPreferences?`expanded`:``}"
95                  viewBox="0 0 24 24"
96                  width="28"
97                  height="28"
98                  fill="none"
99                  stroke="currentColor"
100                  stroke-width="1.5"
101                  stroke-linecap="round"
102                  stroke-linejoin="round"
103                  aria-hidden="true"
104                >
105                  <path d="M6 15l6-6 6 6" />
106                </svg>
107              </span>
108            </button>
109          </div>
110        </div>
111      `:this._regime===`us_opt_out`?P`
112        <div class="do-not-sell">
113          <span id="do-not-sell-label" class="do-not-sell-label">
114            Do not sell or share my personal information.
115          </span>
116          ${this.renderToggle(this._doNotSell,`Do not sell or share my personal information`,()=>this._doNotSell=!this._doNotSell)}
117        </div>
118        ${this.renderAcceptDecline()}
119      `:this.renderAcceptDecline()}render(){let e=this._consent?.decided??!1,t=this._regime===`opt_in`,n=this._regime===`us_opt_out`;return!(this._mounted&&this._geoResolved&&(t||n)&&!e)&&!this._visible?I:P`
120      <div class="notice" role="dialog" aria-label="Cookie policy and consent">
121        <div class="stack">
122          <div class="copy">
123            <span class="eyebrow">Cookie Policy</span>
124            <p class="body">
125              We use necessary cookies to make our site work. With your
126              permission, we also use optional cookies to analyze site usage and
127              assist in our marketing efforts. Read more in our
128              <a href=${this.policyUrl} class="link">cookie policy</a>.
129            </p>
130          </div>
131          ${this.renderRegimeControls()}
132        </div>
133      </div>
134    `}static{this.styles=ne`
135    :host {
136      /* --- Theming tokens (override from :root / host to reskin per property) --- */
137      --tcb-bg: #07090d;
138      --tcb-text: #92a4c3;
139      --tcb-muted: #93a1b8;
140      --tcb-title: #f5f7fa;
141      --tcb-eyebrow: #7f86f1;
142      --tcb-heading: #a5b4fc;
143      --tcb-accent: #6366f1;
144      --tcb-link: #a5b4fc;
145      --tcb-toggle-off: #3a3f4b;
146      /* Primary buttons mirror the temporal.io "primary / green" button:
147         a green gradient fill with near-black monospace text. */
148      --tcb-btn-bg: linear-gradient(255deg, #1ff1a5 0%, #c3ff62 100%);
149      --tcb-btn-bg-active:
150        linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)),
151        linear-gradient(255deg, #1ff1a5 0%, #c3ff62 100%);
152      --tcb-btn-text: #141414;
153      --tcb-btn-ring: rgba(89, 253, 160, 0.7);
154      /* Secondary buttons mirror "secondary / green": space-black fill with a
155         green gradient border. Hover uses the shared --tcb-btn-ring, identical
156         to the primary buttons. */
157      --tcb-btn-secondary-bg: #141414;
158      --tcb-btn-secondary-text: #ffffff;
159      --tcb-btn-secondary-border: linear-gradient(45deg, #1ff1a5, #c3ff62);
160      --tcb-radius: 0px;
161      --tcb-padding: 1.25rem;
162      --tcb-max-width: 42rem;
163      --tcb-font: inherit;
164      /* Document-level @font-face fonts (e.g. Noto Sans Mono, loaded by
165         temporal.io) are usable inside shadow DOM; the system stack is the
166         self-contained fallback elsewhere. */
167      --tcb-font-mono:
168        "Noto Sans Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
169      --tcb-offset: 1.25rem;
170
171      position: fixed;
172      right: var(--tcb-offset);
173      bottom: var(--tcb-offset);
174      z-index: 2147483000;
175      max-width: var(--tcb-max-width);
176      font-family: var(--tcb-font);
177    }
178
179    .notice {
180      background: var(--tcb-bg);
181      color: var(--tcb-text);
182      border-radius: var(--tcb-radius);
183      padding: var(--tcb-padding);
184    }
185
186    .stack {
187      display: flex;
188      flex-direction: column;
189      gap: 1.5rem;
190    }
191
192    .copy {
193      display: flex;
194      flex-direction: column;
195      gap: 1rem;
196    }
197
198    .eyebrow {
199      font-family: var(--tcb-font-mono);
200      font-size: 0.875rem;
201      font-weight: 300;
202      letter-spacing: 0.05em;
203      text-transform: uppercase;
204      color: var(--tcb-eyebrow);
205    }
206
207    .body {
208      margin: 0;
209      font-size: 0.875rem;
210      font-weight: 300;
211      line-height: 1.5;
212      letter-spacing: 0.01em;
213      color: var(--tcb-text);
214    }
215
216    .link {
217      color: inherit;
218      text-decoration: underline;
219    }
220
221    .actions {
222      display: flex;
223      flex-direction: column;
224      gap: 0.75rem;
225      width: 100%;
226    }
227
228    @media (min-width: 640px) {
229      .actions {
230        flex-direction: row;
231        gap: 1rem;
232      }
233    }
234
235    .btn {
236      display: inline-flex;
237      align-items: center;
238      justify-content: center;
239      gap: 1rem;
240      box-sizing: border-box;
241      height: 2.75rem;
242      padding: 0 1rem;
243      font-family: var(--tcb-font-mono);
244      font-weight: 500;
245      font-size: 0.875rem;
246      line-height: 1;
247      cursor: pointer;
248      border: none;
249      border-radius: var(--tcb-radius);
250      background: var(--tcb-btn-bg);
251      color: var(--tcb-btn-text);
252      transition: box-shadow 0.15s ease-in-out;
253      appearance: none;
254    }
255
256    /* Original Button font: text-sm (14px) on mobile, text-base (16px) at
257       >= 640px. Declared after the base .btn so it wins the equal-specificity
258       cascade at desktop widths. */
259    @media (min-width: 640px) {
260      .btn {
261        font-size: 1rem;
262      }
263    }
264
265    /* Equal-width buttons only within the horizontal actions row. Applying
266       flex-grow to the base .btn would collapse the Save Preferences button's
267       height inside the column-direction .preferences container (flex-basis: 0
268       on the main axis overrides the fixed height). */
269    .actions .btn {
270      flex: 1 1 0;
271    }
272
273    .btn:hover {
274      box-shadow: 0 0 0 4px var(--tcb-btn-ring);
275    }
276
277    .btn:not(.btn-secondary):active {
278      background: var(--tcb-btn-bg-active);
279    }
280
281    .btn-secondary {
282      border: 2px solid transparent;
283      background:
284        linear-gradient(
285            var(--tcb-btn-secondary-bg),
286            var(--tcb-btn-secondary-bg)
287          )
288          padding-box,
289        var(--tcb-btn-secondary-border) border-box;
290      color: var(--tcb-btn-secondary-text);
291    }
292
293    .btn:focus-visible,
294    .toggle:focus-visible {
295      outline: 2px solid var(--tcb-accent);
296      outline-offset: 2px;
297    }
298
299    .customize-label {
300      display: inline-flex;
301      align-items: center;
302      gap: 0.5rem;
303    }
304
305    .chevron {
306      transition: transform 0.2s ease-in-out;
307    }
308
309    .chevron.expanded {
310      transform: rotate(180deg);
311    }
312
313    .regime-optin {
314      display: flex;
315      flex-direction: column;
316    }
317
318    /* Slide the preference center open/closed. The grid 0fr→1fr trick animates
319       to the panel's natural height (the equivalent of Svelte's <slide>); the
320       inner clip element hides the overflow during the transition. */
321    .preferences-wrapper {
322      display: grid;
323      grid-template-rows: 0fr;
324      transition: grid-template-rows 250ms ease;
325    }
326
327    .preferences-wrapper.open {
328      grid-template-rows: 1fr;
329    }
330
331    /* Inline padding + matching negative margin lets the Save Preferences hover
332       ring escape horizontally: overflow: hidden (needed to clip the slide-open
333       animation) would otherwise crop the ring's left/right edges since the
334       button is full-width. The negative margin re-expands the clip into the
335       banner's own padding so nothing shifts visually. */
336    .preferences-clip {
337      overflow: hidden;
338      min-height: 0;
339      padding-inline: 6px;
340      margin-inline: -6px;
341    }
342
343    @media (prefers-reduced-motion: reduce) {
344      .preferences-wrapper {
345        transition: none;
346      }
347    }
348
349    .preferences {
350      display: flex;
351      flex-direction: column;
352      gap: 0.75rem;
353      width: 100%;
354      padding-bottom: 1rem;
355    }
356
357    .preference-row {
358      display: flex;
359      align-items: center;
360      justify-content: space-between;
361      gap: 1rem;
362      width: 100%;
363    }
364
365    .preference-copy {
366      display: flex;
367      flex-direction: column;
368      gap: 0.125rem;
369    }
370
371    .preference-title {
372      font-size: 0.875rem;
373      font-weight: 300;
374      color: var(--tcb-title);
375    }
376
377    .preference-description {
378      font-size: 0.75rem;
379      font-weight: 300;
380      color: var(--tcb-muted);
381    }
382
383    .do-not-sell {
384      display: flex;
385      align-items: center;
386      gap: 0.5rem;
387      width: 100%;
388    }
389
390    @media (min-width: 640px) {
391      .do-not-sell {
392        flex-direction: row-reverse;
393        justify-content: flex-end;
394      }
395    }
396
397    .do-not-sell-label {
398      font-size: 0.75rem;
399      font-weight: 300;
400      color: var(--tcb-muted);
401    }
402
403    .toggle {
404      position: relative;
405      display: inline-flex;
406      flex-shrink: 0;
407      height: 1.25rem;
408      width: 2.25rem;
409      padding: 0;
410      cursor: pointer;
411      border: none;
412      border-radius: 9999px;
413      background: var(--tcb-toggle-off);
414      transition: background-color 0.2s ease-in-out;
415    }
416
417    .toggle.active {
418      background: var(--tcb-accent);
419    }
420
421    .toggle:disabled {
422      cursor: not-allowed;
423      opacity: 0.7;
424    }
425
426    .toggle-thumb {
427      pointer-events: none;
428      display: inline-block;
429      height: 1rem;
430      width: 1rem;
431      transform: translate(0.125rem, 0.125rem);
432      border-radius: 9999px;
433      background: #ffffff;
434      box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
435      transition: transform 0.2s ease-in-out;
436    }
437
438    .toggle.active .toggle-thumb {
439      transform: translate(1.125rem, 0.125rem);
440    }
441  `}};typeof customElements<`u`&&!customElements.get(`temporal-consent-banner`)&&customElements.define(`temporal-consent-banner`,Pe);export{X as n,Q as t};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.