Niterói na Reforma Tributária do Consumo – SINDAFIN

Niterói na Reforma Tributária do Consumo

Preparando o futuro da tributação municipal com transparência, colaboração e inovação tecnológica

2026 Início dos Testes
Janeiro Novo Padrão NFSe
IBS Imposto sobre Bens e Serviços
Falar com SINDAFINHO Ver Cronograma
Moeda IBS 2027 Moeda IBS Brilhante

Cronograma da Reforma Tributária

Juntos, contribuintes e auditores fiscais daremos conta desta transformação histórica

2025 – Preparação

Capacitação intensiva e preparação dos sistemas

2026 – Testes

Início dos testes e novo padrão NFSe

2027 – Transição

Implementação gradual do IBS

2033 – Implementação Total

Sistema completamente operacional

Entenda os Processos

Fluxogramas e processos essenciais da Reforma Tributária

Da Operação à Apuração

Da Operação à Apuração

Processo completo desde a operação até a apuração dos tributos no novo sistema.

Fluxograma NFSe

Fluxograma NFSe

Novo fluxo de emissão da NFSe com validação automática e distribuição nacional.

Integração das Administrações

Integração das Administrações

Como as administrações federal, estadual e municipal se integrarão no novo sistema.

SINDAFINHO IA

Converse com o SINDAFINHO

Nossa IA especializada em Reforma Tributária está aqui para esclarecer suas dúvidas

SINDAFINHO

SINDAFINHO

IA Especializada em Reforma Tributária
Olá! Sou o SINDAFINHO, sua IA especializada em Reforma Tributária. Como posso ajudá-lo hoje?
Como funciona o novo IBS? Quando começa a fase de testes? O que muda na NFSe?

Notícias e Atualizações

Fique por dentro das últimas novidades sobre a Reforma Tributária

/js/script-nova.js /js/video-handler.js var __manus_space_editor_info = { spaceId : ‘3dhkilc8vy1o’, patchList : [], }; { var __manus__global_env = { “apiHost”: “https://api.manus.im&#8221;, “host”: “https://manus.im&#8221;, “amplitudeKey”: “46ac3f9abb41dd2d17a5785e052bc6d3” }; (function(){const e=document.createElement(“link”).relList;if(e&&e.supports&&e.supports(“modulepreload”))return;for(const i of document.querySelectorAll(‘link[rel=”modulepreload”]’))l(i);new MutationObserver(i=>{for(const o of i)if(o.type===”childList”)for(const r of o.addedNodes)r.tagName===”LINK”&&r.rel===”modulepreload”&&l(r)}).observe(document,{childList:!0,subtree:!0});function n(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin===”use-credentials”?o.credentials=”include”:i.crossOrigin===”anonymous”?o.credentials=”omit”:o.credentials=”same-origin”,o}function l(i){if(i.ep)return;i.ep=!0;const o=n(i);fetch(i.href,o)}})();/** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause */const tn=globalThis,_n=tn.trustedTypes,to=_n?_n.createPolicy(“lit-html”,{createHTML:t=>t}):void 0,cc=”$lit$”,Zt=`lit$${Math.random().toFixed(9).slice(2)}$`,ac=”?”+Zt,Ld=“,Wt=document,cn=()=>Wt.createComment(“”),an=t=>t===null||typeof t!=”object”&&typeof t!=”function”,ui=Array.isArray,Md=t=>ui(t)||typeof(t==null?void 0:t[Symbol.iterator])==”function”,Sl=`[ \f\r]`,Ot=/\s]*)|(\/?$))/g,no=/–>/g,lo=/>/g,It=RegExp(`>|${Sl}(?:([^\\s”‘>=/]+)(${Sl}*=${Sl}*(?:[^ \f\r”‘\`=]|(“|’)|))|$)`,”g”),io=/’/g,oo=/”/g,dc=/^(?:script|style|textarea|title)$/i,sc=t=>(e,…n)=>({_$litType$:t,strings:e,values:n}),H=sc(1),me=sc(2),vt=Symbol.for(“lit-noChange”),le=Symbol.for(“lit-nothing”),ro=new WeakMap,St=Wt.createTreeWalker(Wt,129);function uc(t,e){if(!ui(t)||!t.hasOwnProperty(“raw”))throw Error(“invalid template strings array”);return to!==void 0?to.createHTML(e):e}const Td=(t,e)=>{const n=t.length-1,l=[];let i,o=e===2?””:e===3?”“:””,r=Ot;for(let c=0;c<n;c++){const a=t[c];let d,s,u=-1,b=0;for(;b<a.length&&(r.lastIndex=b,s=r.exec(a),s!==null);)b=r.lastIndex,r===Ot?s[1]==="!–"?r=no:s[1]!==void 0?r=lo:s[2]!==void 0?(dc.test(s[2])&&(i=RegExp("”?(r=i??Ot,u=-1):s[1]===void 0?u=-2:(u=r.lastIndex-s[2].length,d=s[1],r=s[3]===void 0?It:s[3]===’”‘?oo:io):r===oo||r===io?r=It:r===no||r===lo?r=Ot:(r=It,i=void 0);const g=r===It&&t[c+1].startsWith(“/>”)?” “:””;o+=r===Ot?a+Ld:u>=0?(l.push(d),a.slice(0,u)+cc+a.slice(u)+Zt+g):a+Zt+(u===-2?c:g)}return[uc(t,o+(t[n]||””)+(e===2?””:e===3?”“:””)),l]};class dn{constructor({strings:e,_$litType$:n},l){let i;this.parts=[];let o=0,r=0;const c=e.length-1,a=this.parts,[d,s]=Td(e,n);if(this.el=dn.createElement(d,l),St.currentNode=this.el.content,n===2||n===3){const u=this.el.content.firstChild;u.replaceWith(…u.childNodes)}for(;(i=St.nextNode())!==null&&a.length0){i.textContent=_n?_n.emptyScript:””;for(let g=0;g<b;g++)i.append(u[g],cn()),St.nextNode(),a.push({type:2,index:++o});i.append(u[b],cn())}}}else if(i.nodeType===8)if(i.data===ac)a.push({type:2,index:o});else{let u=-1;for(;(u=i.data.indexOf(Zt,u+1))!==-1;)a.push({type:7,index:o}),u+=Zt.length-1}o++}}static createElement(e,n){const l=Wt.createElement("template");return l.innerHTML=e,l}}function Lt(t,e,n=t,l){var r,c;if(e===vt)return e;let i=l!==void 0?(r=n._$Co)==null?void 0:r[l]:n._$Cl;const o=an(e)?void 0:e._$litDirective$;return(i==null?void 0:i.constructor)!==o&&((c=i==null?void 0:i._$AO)==null||c.call(i,!1),o===void 0?i=void 0:(i=new o(t),i._$AT(t,n,l)),l!==void 0?(n._$Co??(n._$Co=[]))[l]=i:n._$Cl=i),i!==void 0&&(e=Lt(t,i._$AS(t,e.values),i,l)),e}let Hd=class{constructor(e,n){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=n}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){const{el:{content:n},parts:l}=this._$AD,i=((e==null?void 0:e.creationScope)??Wt).importNode(n,!0);St.currentNode=i;let o=St.nextNode(),r=0,c=0,a=l[0];for(;a!==void 0;){if(r===a.index){let d;a.type===2?d=new gi(o,o.nextSibling,this,e):a.type===1?d=new a.ctor(o,a.name,a.strings,this,e):a.type===6&&(d=new Pd(o,this,e)),this._$AV.push(d),a=l[++c]}r!==(a==null?void 0:a.index)&&(o=St.nextNode(),r++)}return St.currentNode=Wt,i}p(e){let n=0;for(const l of this._$AV)l!==void 0&&(l.strings!==void 0?(l._$AI(e,l,n),n+=l.strings.length-2):l._$AI(e[n])),n++}},gi=class gc{get _$AU(){var e;return((e=this._$AM)==null?void 0:e._$AU)??this._$Cv}constructor(e,n,l,i){this.type=2,this._$AH=le,this._$AN=void 0,this._$AA=e,this._$AB=n,this._$AM=l,this.options=i,this._$Cv=(i==null?void 0:i.isConnected)??!0}get parentNode(){let e=this._$AA.parentNode;const n=this._$AM;return n!==void 0&&(e==null?void 0:e.nodeType)===11&&(e=n.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,n=this){e=Lt(this,e,n),an(e)?e===le||e==null||e===""?(this._$AH!==le&&this._$AR(),this._$AH=le):e!==this._$AH&&e!==vt&&this._(e):e._$litType$!==void 0?this.$(e):e.nodeType!==void 0?this.T(e):Md(e)?this.k(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!==le&&an(this._$AH)?this._$AA.nextSibling.data=e:this.T(Wt.createTextNode(e)),this._$AH=e}$(e){var o;const{values:n,_$litType$:l}=e,i=typeof l=="number"?this._$AC(e):(l.el===void 0&&(l.el=dn.createElement(uc(l.h,l.h[0]),this.options)),l);if(((o=this._$AH)==null?void 0:o._$AD)===i)this._$AH.p(n);else{const r=new Hd(i,this),c=r.u(this.options);r.p(n),this.T(c),this._$AH=r}}_$AC(e){let n=ro.get(e.strings);return n===void 0&&ro.set(e.strings,n=new dn(e)),n}k(e){ui(this._$AH)||(this._$AH=[],this._$AR());const n=this._$AH;let l,i=0;for(const o of e)i===n.length?n.push(l=new gc(this.O(cn()),this.O(cn()),this,this.options)):l=n[i],l._$AI(o),i++;i2||l[0]!==””||l[1]!==””?(this._$AH=Array(l.length-1).fill(new String),this.strings=l):this._$AH=le}_$AI(e,n=this,l,i){const o=this.strings;let r=!1;if(o===void 0)e=Lt(this,e,n,0),r=!an(e)||e!==this._$AH&&e!==vt,r&&(this._$AH=e);else{const c=e;let a,d;for(e=o[0],a=0;a{const l=e;let i=l._$litPart$;return i===void 0&&(l._$litPart$=i=new gi(e.insertBefore(cn(),null),null,void 0,{})),i._$AI(t),i};class gl extends HTMLElement{constructor(){super(),this._dialogElement=null,this._isOpen=!1,this._title=”Dialog”,this._isClosable=!0,this._shadowRoot=this.attachShadow({mode:”open”}),this._render()}static get observedAttributes(){return[“open”,”title”,”closable”,”width”]}connectedCallback(){this.hasAttribute(“open”)?this._isOpen=!0:this._isOpen=!1,this._title=this.getAttribute(“title”)||this._title,this.hasAttribute(“closable”)?this._isClosable=this.getAttribute(“closable”)!==”false”:this._isClosable=!0;const e=this.getAttribute(“width”);e?this.style.setProperty(“–dynamic-dialog-width”,e):this.style.removeProperty(“–dynamic-dialog-width”),this._render(),this._dialogElement=this._shadowRoot.querySelector(“dialog”),this._dialogElement&&(this._dialogElement.addEventListener(“click”,n=>{this._isClosable&&n.target===this._dialogElement&&this.close()}),this._dialogElement.addEventListener(“close”,()=>{this._isOpen&&(this._isOpen=!1,this.hasAttribute(“open”)&&this.removeAttribute(“open”),this._dispatchCloseEvent())}),this._isOpen&&!this._dialogElement.open&&(this._dialogElement.showModal(),this._dispatchOpenEvent()))}disconnectedCallback(){}attributeChangedCallback(e,n,l){const i=this._isOpen;let o=!1;if(e===”open”){const r=l!==null;this._isOpen!==r&&(this._isOpen=r),this._dialogElement&&(this._isOpen?this._dialogElement.open||(this._dialogElement.showModal(),i||this._dispatchOpenEvent()):this._dialogElement.open&&this._dialogElement.close())}else if(e===”title”){const r=l||”Dialog”;this._title!==r&&(this._title=r,o=!0)}else if(e===”closable”){const r=l!==”false”;this._isClosable!==r&&(this._isClosable=r,o=!0)}else e===”width”&&(l!==null?this.style.setProperty(“–dynamic-dialog-width”,l):this.style.removeProperty(“–dynamic-dialog-width”));o&&this._render()}show(){this._isOpen?this._dialogElement&&!this._dialogElement.open&&(this._dialogElement.showModal(),this._dispatchOpenEvent()):this.setAttribute(“open”,””)}close(){this._isOpen?this.removeAttribute(“open”):this._dialogElement&&this._dialogElement.open&&this._dialogElement.close()}_handleCloseButtonClick(){this.close()}_dispatchOpenEvent(){this.dispatchEvent(new CustomEvent(“dialog-open”,{bubbles:!0,composed:!0}))}_dispatchCloseEvent(){this.dispatchEvent(new CustomEvent(“dialog-close”,{bubbles:!0,composed:!0}))}_render(){const e=H` :host { /* Default width for the dialog, can be overridden by the ‘width’ attribute */ –lit-html-dialog-default-width: 400px; /* –dynamic-dialog-width will be set on the host instance via JS */ –lit-html-dialog-font-family: ‘SF Pro’, -apple-system, BlinkMacSystemFont, ‘Segoe UI’, Roboto, Helvetica, Arial, sans-serif; –lit-html-dialog-surface-bg: white; –lit-html-dialog-border-main: rgba(0, 0, 0, 0.06); –lit-html-dialog-text-primary: #34322D; –lit-html-dialog-text-tertiary: #858481; –lit-html-dialog-text-white: white; –lit-html-dialog-icon-tertiary: #858481; –lit-html-dialog-border-btn-main: rgba(0, 0, 0, 0.12); –lit-html-dialog-function-error-bg: #F25A5A; –lit-html-dialog-button-default-bg: transparent; –lit-html-dialog-box-shadow: 0px 4px 11px rgba(0, 0, 0, 0.15); –lit-html-dialog-border-radius: 20px; } dialog { /* Use the dynamic width variable, falling back to the default width */ width: var(–dynamic-dialog-width, var(–lit-html-dialog-default-width)); max-width: 90vw; /* Add a max-width to prevent overflow on small screens */ background: var(–lit-html-dialog-surface-bg); box-shadow: var(–lit-html-dialog-box-shadow); border-radius: var(–lit-html-dialog-border-radius); border: 1px var(–lit-html-dialog-border-main) solid; padding: 0; margin: auto; overflow: visible; } dialog::backdrop { background: rgba(0, 0, 0, 0.3); } .dialog-header { display: flex; justify-content: space-between; align-items: flex-start; padding: 20px 16px 10px 20px; gap: 10px; } .dialog-title { flex: 1 1 0; color: var(–lit-html-dialog-text-primary); font-size: 18px; font-family: var(–lit-html-dialog-font-family); font-weight: 600; line-height: 24px; word-wrap: break-word; } .dialog-close-button { background: none; border: none; cursor: pointer; padding: 0; width: 28px; height: 28px; display: flex; justify-content: center; align-items: center; color: var(–lit-html-dialog-icon-tertiary); font-size: 18px; font-family: var(–lit-html-dialog-font-family); font-weight: 500; line-height: 1; } .dialog-close-button:hover { color: var(–lit-html-dialog-text-primary); } .dialog-body { padding: 0px 20px ; color: var(–lit-html-dialog-text-tertiary); font-size: 14px; font-family: var(–lit-html-dialog-font-family); font-weight: 400; line-height: 22px; word-wrap: break-word; } .dialog-footer { display: flex; justify-content: flex-end; align-items: center; gap: 12px; padding: 20px; } .dialog-footer ::slotted(.dialog-button) { min-height: 36px; padding: 8px 12px; border-radius: 10px; font-size: 14px; font-weight: 500; line-height: 20px; border: none; cursor: pointer; display: inline-flex; justify-content: center; align-items: center; font-family: var(–lit-html-dialog-font-family); } .dialog-footer ::slotted(.dialog-button-default) { min-width: 64px; color: var(–lit-html-dialog-text-primary); background-color: var(–lit-html-dialog-button-default-bg); border: 1px solid var(–lit-html-dialog-border-btn-main); } .dialog-footer ::slotted(.dialog-button-default:hover) { background-color: rgba(0,0,0,0.05); } .dialog-footer ::slotted(.dialog-button-error) { min-width: 74px; color: var(–lit-html-dialog-text-white); background-color: var(–lit-html-dialog-function-error-bg); } .dialog-footer ::slotted(.dialog-button-error:hover) { opacity: 0.9; }
${this._title}
${this._isClosable?H` this._handleCloseButtonClick()} > ✕ `:””}
`;pt(e,this._shadowRoot)}}class hi extends HTMLElement{constructor(){super(),this.anchor=null,this.popupContent=null,this.isOpen=!1,this.scrollListener=null,this._ref=null,this._customClass=””,this.mousePosition=null,this.gapSize=10,this.attachShadow({mode:”open”}),this.render()}static get observedAttributes(){return[“open”,”ref”,”class”]}connectedCallback(){this.scrollListener=()=>{this.isOpen&&this.updatePosition()},window.addEventListener(“scroll”,this.scrollListener,!0),this._ref&&this._ref(this)}disconnectedCallback(){this.scrollListener&&window.removeEventListener(“scroll”,this.scrollListener,!0),this.destroy()}attributeChangedCallback(e,n,l){e===”open”?(this.isOpen=l!==null,this.render(),this.isOpen&&setTimeout(()=>this.updatePosition(),0)):e===”ref”||e===”class”&&(this._customClass=l||””,this.render())}set ref(e){this._ref=e,this.isConnected&&e(this)}set customClass(e){this._customClass=e,this.setAttribute(“class”,e),this.render()}get customClass(){return this._customClass}setAnchor(e){this.anchor=e,this.isOpen&&this.updatePosition()}open(e){if(this.isOpen=!0,this.setAttribute(“open”,””),e){this.mousePosition={x:e.clientX,y:e.clientY};const n=e.target;n&&this.setAnchor(n)}else this.mousePosition=null;this.render(),setTimeout(()=>this.updatePosition(),0)}close(){this.isOpen=!1,this.mousePosition=null,this.removeAttribute(“open”),this.render()}updatePosition(){if(!this.popupContent)return;const e=this.popupContent.getBoundingClientRect();let n,l,i=”bottom”;if(this.anchor)n=this.anchor.getBoundingClientRect().bottom+this.gapSize;else if(this.mousePosition)n=this.mousePosition.y+this.gapSize;else{n=window.innerHeight/2-e.height/2,l=window.innerWidth/2-e.width/2,this.updatePopupStyles(n,l,i);return}if(this.mousePosition)l=this.mousePosition.x-e.width/2;else if(this.anchor){const o=this.anchor.getBoundingClientRect();l=o.left+o.width/2-e.width/2}else l=window.innerWidth/2-e.width/2;l+e.width>window.innerWidth&&(l=window.innerWidth-e.width-10),lwindow.innerHeight&&(i=”top”,this.anchor?n=this.anchor.getBoundingClientRect().top-e.height-this.gapSize:this.mousePosition&&(n=this.mousePosition.y-e.height-this.gapSize),n<0&&(n=window.innerHeight/2-e.height/2,i="bottom")),this.updatePopupStyles(n,l,i)}updatePopupStyles(e,n,l){this.popupContent&&(this.popupContent.style.position="fixed",this.popupContent.style.top=`${e}px`,this.popupContent.style.left=`${n}px`,this.popupContent.setAttribute("data-position",l))}render(){const e=H` :host { display: block; } .popup-content { display: ${this.isOpen?”block”:”none”}; position: fixed; z-index: 1000; } /* 底部定位时的连接伪元素 */ .popup-content[data-position=’bottom’]::before { content: ”; position: absolute; left: 0; right: 0; top: -${this.gapSize}px; height: ${this.gapSize}px; /* 调试时可以设置背景色 */ /* background-color: rgba(255, 0, 0, 0.2); */ } /* 顶部定位时的连接伪元素 */ .popup-content[data-position=’top’]::after { content: ”; position: absolute; left: 0; right: 0; bottom: -${this.gapSize}px; height: ${this.gapSize}px; /* 调试时可以设置背景色 */ /* background-color: rgba(0, 255, 0, 0.2); */ } `;pt(e,this.shadowRoot),this.popupContent=this.shadowRoot.querySelector(“.popup-content”)}destroy(){pt(le,this.shadowRoot)}}/** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause */const bi={ATTRIBUTE:1,CHILD:2},Vi=t=>(…e)=>({_$litDirective$:t,values:e});let mi=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,n,l){this._$Ct=e,this._$AM=n,this._$Ci=l}_$AS(e,n){return this.update(e,n)}update(e,n){return this.render(…n)}};/** * @license * Copyright 2018 Google LLC * SPDX-License-Identifier: BSD-3-Clause */const He=Vi(class extends mi{constructor(t){var e;if(super(t),t.type!==bi.ATTRIBUTE||t.name!==”class”||((e=t.strings)==null?void 0:e.length)>2)throw Error(“`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.”)}render(t){return” “+Object.keys(t).filter(e=>t[e]).join(” “)+” “}update(t,[e]){var l,i;if(this.st===void 0){this.st=new Set,t.strings!==void 0&&(this.nt=new Set(t.strings.join(” “).split(/\s/).filter(o=>o!==””)));for(const o in e)e[o]&&!((l=this.nt)!=null&&l.has(o))&&this.st.add(o);return this.render(e)}const n=t.element.classList;for(const o of this.st)o in e||(n.remove(o),this.st.delete(o));for(const o in e){const r=!!e[o];r===this.st.has(o)||(i=this.nt)!=null&&i.has(o)||(r?(n.add(o),this.st.add(o)):(n.remove(o),this.st.delete(o)))}return vt}});/** * @license * Copyright 2020 Google LLC * SPDX-License-Identifier: BSD-3-Clause */const Od=t=>t.strings===void 0;/** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause */const nn=(t,e)=>{var l;const n=t._$AN;if(n===void 0)return!1;for(const i of n)(l=i._$AO)==null||l.call(i,e,!1),nn(i,e);return!0},Pn=t=>{let e,n;do{if((e=t._$AM)===void 0)break;n=e._$AN,n.delete(t),t=e}while((n==null?void 0:n.size)===0)},hc=t=>{for(let e;e=t._$AM;t=e){let n=e._$AN;if(n===void 0)e._$AN=n=new Set;else if(n.has(t))break;n.add(t),es(e)}};function $d(t){this._$AN!==void 0?(Pn(this),this._$AM=t,hc(this)):this._$AM=t}function qd(t,e=!1,n=0){const l=this._$AH,i=this._$AN;if(i!==void 0&&i.size!==0)if(e)if(Array.isArray(l))for(let o=n;o{t.type==bi.CHILD&&(t._$AP??(t._$AP=qd),t._$AQ??(t._$AQ=$d))};let ts=class extends mi{constructor(){super(…arguments),this._$AN=void 0}_$AT(e,n,l){super._$AT(e,n,l),hc(this),this.isConnected=e._$AU}_$AO(e,n=!0){var l,i;e!==this.isConnected&&(this.isConnected=e,e?(l=this.reconnected)==null||l.call(this):(i=this.disconnected)==null||i.call(this)),n&&(nn(this,e),Pn(this))}setValue(e){if(Od(this._$Ct))this._$Ct._$AI(e,this);else{const n=[…this._$Ct._$AH];n[this._$Ci]=e,this._$Ct._$AI(n,this,0)}}disconnected(){}reconnected(){}};/** * @license * Copyright 2020 Google LLC * SPDX-License-Identifier: BSD-3-Clause */const ns=()=>new ls;class ls{}const Wl=new WeakMap,Bt=Vi(class extends ts{render(t){return le}update(t,[e]){var l;const n=e!==this.G;return n&&this.G!==void 0&&this.rt(void 0),(n||this.lt!==this.ct)&&(this.G=e,this.ht=(l=t.options)==null?void 0:l.host,this.rt(this.ct=t.element)),le}rt(t){if(this.isConnected||(t=void 0),typeof this.G==”function”){const e=this.ht??globalThis;let n=Wl.get(e);n===void 0&&(n=new WeakMap,Wl.set(e,n)),n.get(this.G)!==void 0&&this.G.call(this.ht,void 0),n.set(this.G,t),t!==void 0&&this.G.call(this.ht,t)}else this.G.value=t}get lt(){var t,e;return typeof this.G==”function”?(t=Wl.get(this.ht??globalThis))==null?void 0:t.get(this.G):(e=this.G)==null?void 0:e.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}});class is extends HTMLElement{constructor(){super(),this.textareaRef=ns(),this._value=””,this._autoResize=!1,this._autoFocus=!1,this._placeholder=””,this._disabled=!1,this.adjustHeight=()=>{const e=this.textareaRef.value;if(!e||!this._autoResize)return;const n=e.scrollTop,l=window.getComputedStyle(e),i=parseInt(l.borderTopWidth,10)||0,o=parseInt(l.borderBottomWidth,10)||0,r=e.cloneNode(!0);r.style.position=”absolute”,r.style.visibility=”hidden”,r.style.height=”auto”,r.style.width=l.width,r.style.minHeight=l.minHeight,r.style.maxHeight=l.maxHeight,r.style.padding=l.padding,r.style.font=l.font,r.style.lineHeight=l.lineHeight,r.style.letterSpacing=l.letterSpacing,r.style.wordSpacing=l.wordSpacing,r.style.whiteSpace=l.whiteSpace,r.style.wordBreak=l.wordBreak,r.style.boxSizing=l.boxSizing,document.body.appendChild(r);let c=r.scrollHeight;l.boxSizing!==”border-box”&&(c+=i+o),c=r.scrollHeight+i+o,document.body.removeChild(r);const a=parseFloat(l.minHeight)||0,d=parseFloat(l.maxHeight)||1/0;c=Math.max(a,Math.min(c,d)),e.style.height=`${c}px`,e.scrollTop=n},this.handleInput=e=>{const n=e.target;this._value=n.value,this._autoResize&&this.adjustHeight(),this.dispatchEvent(new CustomEvent(“lit-textarea-input”,{detail:{value:this._value},bubbles:!0,composed:!0})),this.dispatchEvent(new Event(“input”,{bubbles:!0,composed:!0}))}}static get observedAttributes(){return[“auto-resize”,”value”,”autofocus”,”class”,”placeholder”,”disabled”,”rows”,”cols”]}connectedCallback(){if(this._render(),this.textareaRef.value&&(this._autoResize&&(this._setupAutoResize(),this.adjustHeight()),this._autoFocus)){this.textareaRef.value.focus();const e=this.textareaRef.value.value.length;this.textareaRef.value.setSelectionRange(e,e)}}disconnectedCallback(){this._teardownAutoResize()}attributeChangedCallback(e,n,l){if(n===l&&e!==”disabled”&&e!==”autofocus”&&e!==”auto-resize”&&(e===”disabled”&&this._disabled===(l!==null)||e===”autofocus”&&this._autoFocus===(l!==null)||e===”auto-resize”&&this._autoResize===(l!==null)||e!==”disabled”&&e!==”auto-focus”&&e!==”auto-resize”))return;let i=!0;switch(e){case”auto-resize”:const o=l!==null;this._autoResize!==o&&(this._autoResize=o,this.textareaRef.value&&(this._autoResize?(this._setupAutoResize(),this.adjustHeight()):(this._teardownAutoResize(),this.textareaRef.value.style.height=””)));break;case”value”:this._value!==(l||””)&&(this._value=l||””,this.textareaRef.value&&this.textareaRef.value.value!==this._value&&(this.textareaRef.value.value=this._value),this._autoResize&&Promise.resolve().then(()=>this.adjustHeight()));break;case”autofocus”:this._autoFocus=l!==null,i=!1;break;case”class”:i=!1;break;case”placeholder”:this._placeholder=l||””;break;case”disabled”:this._disabled=l!==null;break;case”rows”:this._rows=l?parseInt(l,10):void 0;break;case”cols”:this._cols=l?parseInt(l,10):void 0;break;default:i=!1}i&&this._render()}_setupAutoResize(){!this.textareaRef.value||this.resizeObserver||(window.addEventListener(“resize”,this.adjustHeight),this.resizeObserver=new ResizeObserver(this.adjustHeight),this.resizeObserver.observe(this.textareaRef.value))}_teardownAutoResize(){window.removeEventListener(“resize”,this.adjustHeight),this.resizeObserver&&(this.textareaRef.value&&this.resizeObserver.unobserve(this.textareaRef.value),this.resizeObserver.disconnect(),this.resizeObserver=void 0)}getInternalTextareaClasses(){return{“internal-textarea”:!0,”auto-resize-active”:this._autoResize}}_render(){const e=H` .internal-textarea:disabled { cursor: not-allowed; opacity: 0.7; } .internal-textarea { width: 100%; background: transparent; border: none; resize: none; overflow: hidden; } .internal-textarea:focus { outline: none; } this.dispatchEvent(new FocusEvent(“focus”,{bubbles:!1,composed:!0}))} @blur=${()=>this.dispatchEvent(new FocusEvent(“blur”,{bubbles:!1,composed:!0}))} aria-label=${this.getAttribute(“aria-label”)||this._placeholder||”textarea”} > `;pt(e,this),this.textareaRef.value&&this.textareaRef.value.value!==this._value&&(this.textareaRef.value.value=this._value),this._autoFocus&&setTimeout(()=>{var n;(n=this.textareaRef.value)==null||n.focus()},0)}}class hl{constructor(e,n=!0){this.container=e,n&&this.render()}render(){pt(this.template,this.container)}destroy(){pt(le,this.container)}}class os extends hl{constructor(e,n){super(e,!1),this.container=e,this.conf=n,this._destroyPromise=new Promise(l=>{this._resolveDestroyPromise=l})}get template(){const{variant:e,title:n}=this.conf,l=`toast toast–${e}`,i=me` `;return H` /* Base Toast Styles matching the Figma design */ .toast { padding: 10px 16px; background: rgba(0, 0, 0, 0.9); box-shadow: 0px 4px 11px rgba(0, 0, 0, 0.08); overflow: hidden; border-radius: 12px; border: 1px solid rgba(255, 255, 255, 0.04); backdrop-filter: blur(40px); display: inline-flex; justify-content: flex-start; align-items: center; margin-bottom: 10px; opacity: 0; transition: opacity 0.3s ease-in-out; pointer-events: auto; max-width: calc(100vw – 40px); box-sizing: border-box; } .toast.is-visible { opacity: 1; } /* Content wrapper */ .toast__content { display: flex; flex-direction: row; align-items: center; justify-content: flex-start; gap: 10px; flex-shrink: 0; } /* Icon Wrapper */ .toast__icon-wrapper { width: 20px; height: 20px; position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; flex-shrink: 0; } /* Text Style */ .toast__message { color: #ffffff; font-size: 14px; font-family: ‘SF Pro’, sans-serif; font-weight: 400; line-height: 22px; letter-spacing: -0.154px; word-wrap: break-word; white-space: nowrap; } /* Specific variant styles */ .toast–success .toast__icon-wrapper { /* Success icon color is handled by the SVG fill itself */ } .toast–error { /* 假设 error 变体有不同的背景色或边框 */ background: #ffdddd; /* 示例错误背景色 */ outline: 1px rgba(255, 0, 0, 0.2) solid; } .toast–error .toast__icon-wrapper svg path { fill: #f44336; /* 示例错误图标颜色 */ } .toast–error .toast__message { color: #f44336; /* 示例错误文本颜色 */ }
${e===”success”?i:””}
${n}
`}show(){this.render();const e=this.container.querySelector(“.toast”);e&&(requestAnimationFrame(()=>{e.classList.add(“is-visible”)}),setTimeout(()=>{this.destroy()},3e3))}destroy(){const e=this.container.querySelector(“.toast”);e?(e.classList.remove(“is-visible”),e.addEventListener(“transitionend”,()=>{super.destroy(),e.parentNode&&e.parentNode.removeChild(e),this._resolveDestroyPromise()},{once:!0})):(super.destroy(),this._resolveDestroyPromise())}get destroyed(){return this._destroyPromise}}const rs=”toast-manager-container”;class cs{constructor(){this.currentToasts=[]}initRoot(e){this.rootContainer=document.createElement(“div”),this.rootContainer.id=rs,e.appendChild(this.rootContainer),this.rootContainer.style.cssText=` position: fixed; top: 20px; left: 50%; transform: translateX(-50%); display: flex; flex-direction: column-reverse; /* 新的 Toast 在底部,旧的向上推 */ align-items: center; z-index: 1000; pointer-events: none; /* 允许点击穿透 Toast 容器 */ `}showToast(e){const n=document.createElement(“div”);n.style.pointerEvents=”auto”,this.rootContainer.prepend(n);const l=new os(n,e);this.currentToasts.push(l),l.show(),l.destroyed.then(()=>{this.removeToast(l)})}removeToast(e){this.currentToasts=this.currentToasts.filter(n=>n!==e),e.container&&e.container.parentNode&&e.container.parentNode.removeChild(e.container)}clearAllToasts(){this.currentToasts.forEach(e=>e.destroy()),this.currentToasts=[]}}const kn=new cs,as=t=>H` .spinner { width: 20px; height: 20px; border: 2px solid transparent; border-top: 2px solid white; border-radius: 50%; animation: spin 1s linear infinite; transition: opacity 0.3s ease; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } `;class co{constructor(e,n,l,i){this.destroyed=!1,this.event=e,this.handler=n,this.emitter=l,this.listenBy=i}unregister(){this.emitter.off(this.event,this),this._destroy()}_destroy(){return this.destroyed?!1:(this.handler=null,this.emitter=null,this.destroyed=!0,!0)}}class ds{constructor(){this._events={}}on(e,n){var i;if(!n)throw new TypeError(“invalid handler! –EventEmitter”);this._events[e]||(this._events[e]=[]);const l=new co(e,n,this,null);return(i=this._events[e])==null||i.push(l),l}listenBy(e,n,l){var o;if(!l)throw new TypeError(“invalid handler! –EventEmitter”);this._events[n]||(this._events[n]=[]);const i=new co(n,l,this,e);return(o=this._events[n])==null||o.push(i),i}once(e,n){const l=this.on(e,i=>{n(i),l.unregister()});return l}emit(e,n=null){if(!this._events[e])return!1;for(const l of this._events[e])l.destroyed||l.handler.call(this,n);return!0}off(e,n){var l,i;if(!this._events[e])return!1;if(n){for(let o=this._events[e],r=0;ra!==c),((i=this._events[e])==null?void 0:i.length)===0&&delete this._events[e],!0}return console.error(n,this),console.error(`Cannot find listener of ${e} –EventEmitter`),!1}for(let o=this._events[e],r=0;ri.listenBy===e?(i._destroy(),!1):!0)}removeAllListeners(){for(const e in this._events){const n=this._events[e];if(n){for(let l=n,i=0;i{t||(t=!0,e.forEach(({resolve:n})=>n()),e=[])},waitReady:async()=>t?!0:new Promise((l,i)=>{e.push({resolve:l,reject:i})}),onReady(n){this.waitReady().then(n)},clear:()=>{t=!1,e.forEach(({reject:n})=>n()),e=[]},clearWithoutPromise:()=>{t=!1}}}function _l(t,e){if(typeof window>”u”)return;const n=window.location.href,l=new URL(n);t.forEach(i=>{l.searchParams.delete(i)}),window.history.pushState({},””,l.toString())}function bc(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)}function hs(t){document.readyState!==”loading”?t():document.addEventListener(“DOMContentLoaded”,()=>{t()})}function bs(){return[()=>typeof windowdocument.getElementById(“__next”)!==null,()=>document.querySelectorAll(‘script[src*=”_next/”]’).length>0,()=>document.querySelectorAll(‘link[href*=”_next/”]’).length>0].some(e=>e())}async function Vs(){return new Promise(t=>{let e=!1;function n(){var i;(i=window==null?void 0:window.next)!=null&&i.router&&setTimeout(()=>{Promise.resolve().then(()=>{t(!0),e=!0})},200)}const l=setInterval(()=>{n(),e&&clearInterval(l)},100);setTimeout(()=>{clearInterval(l),t(!1)},1e4)})}class ms{get spaceId(){var e;return(e=window.__manus_space_editor_info)==null?void 0:e.spaceId}get apiHost(){var e;return((e=window.__manus__global_env)==null?void 0:e.apiHost)??”https://api.manus.im&#8221;}get host(){var e;return((e=window.__manus__global_env)==null?void 0:e.host)??”https://manus.im&#8221;}get patchList(){var e;return((e=window.__manus_space_editor_info)==null?void 0:e.patchList)??[]}get amplitudeKey(){return window.__manus__global_env.amplitudeKey??””}}const pe=new ms,As={snakeToCamel:t=>t.replace(/(_[a-z])/g,e=>e.toUpperCase().replace(“_”,””)),camelToSnake:t=>t.replace(/([A-Z])/g,e=>`_${e.toLowerCase()}`).replace(/^_/,””)};function Zs(t,e){return As.camelToSnake(e)}function On(t,e){return e&&(Array.isArray(e)?e.map(n=>On(t,n)):typeof e==”object”?Object.keys(e).reduce((n,l)=>{const i=e[l],o=Zs(t,l);return n[o]=On(t,i),n},{}):e)}var Pl=function(t,e){return Pl=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var i in l)Object.prototype.hasOwnProperty.call(l,i)&&(n[i]=l[i])},Pl(t,e)};function Ye(t,e){if(typeof e!=”function”&&e!==null)throw new TypeError(“Class extends value “+String(e)+” is not a constructor or null”);Pl(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}var B=function(){return B=Object.assign||function(e){for(var n,l=1,i=arguments.length;l<i;l++){n=arguments[l];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},B.apply(this,arguments)};function Ol(t,e){var n={};for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&e.indexOf(l)<0&&(n[l]=t[l]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,l=Object.getOwnPropertySymbols(t);i<l.length;i++)e.indexOf(l[i])0&&o[o.length-1])&&(d[0]===6||d[0]===2)){n=0;continue}if(d[0]===3&&(!o||d[1]>o[0]&&d[1]<o[3])){n.label=d[1];break}if(d[0]===6&&n.label<o[1]){n.label=o[1],o=d;break}if(o&&n.label=t.length&&(t=void 0),{value:t&&t[l++],done:!t}}};throw new TypeError(e?”Object is not iterable.”:”Symbol.iterator is not defined.”)}function M(t,e){var n=typeof Symbol==”function”&&t[Symbol.iterator];if(!n)return t;var l=n.call(t),i,o=[],r;try{for(;(e===void 0||e– >0)&&!(i=l.next()).done;)o.push(i.value)}catch(c){r={error:c}}finally{try{i&&!i.done&&(n=l.return)&&n.call(l)}finally{if(r)throw r.error}}return o}function Ge(t,e,n){if(n||arguments.length===2)for(var l=0,i=e.length,o;l1||a(g,p)})},V&&(i[g]=V(i[g])))}function a(g,V){try{d(l[g](V))}catch(p){b(o[0][3],p)}}function d(g){g.value instanceof Qt?Promise.resolve(g.value.v).then(s,u):b(o[0][2],g)}function s(g){a(“next”,g)}function u(g){a(“throw”,g)}function b(g,V){g(V),o.shift(),o.length&&a(o[0][0],o[0][1])}}function ps(t){if(!Symbol.asyncIterator)throw new TypeError(“Symbol.asyncIterator is not defined.”);var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof ae==”function”?ae(t):t[Symbol.iterator](),n={},l(“next”),l(“throw”),l(“return”),n[Symbol.asyncIterator]=function(){return this},n);function l(o){n[o]=t[o]&&function(r){return new Promise(function(c,a){r=t[o](r),i(c,a,r.done,r.value)})}}function i(o,r,c,a){Promise.resolve(a).then(function(d){o({value:d,done:c})},r)}}var kt;(function(t){t.SET=”$set”,t.SET_ONCE=”$setOnce”,t.ADD=”$add”,t.APPEND=”$append”,t.PREPEND=”$prepend”,t.REMOVE=”$remove”,t.PREINSERT=”$preInsert”,t.POSTINSERT=”$postInsert”,t.UNSET=”$unset”,t.CLEAR_ALL=”$clearAll”})(kt||(kt={}));var Nt;(function(t){t.IDENTIFY=”$identify”,t.GROUP_IDENTIFY=”$groupidentify”,t.REVENUE=”revenue_amount”})(Nt||(Nt={}));var ao=”-“,bl=”AMP”,Gs=””.concat(bl,”_unsent”),Vc=”https://api2.amplitude.com/2/httpapi&#8221;,Xs=”https://api.eu.amplitude.com/2/httpapi&#8221;,Is=”https://api2.amplitude.com/batch&#8221;,Rs=”https://api.eu.amplitude.com/batch&#8221;,Es=1e3,$l=function(t){if(Object.keys(t).length>Es)return!1;for(var e in t){var n=t[e];if(!mc(e,n))return!1}return!0},mc=function(t,e){var n,l;if(typeof t!=”string”)return!1;if(Array.isArray(e)){var i=!0;try{for(var o=ae(e),r=o.next();!r.done;r=o.next()){var c=r.value;if(Array.isArray(c))return!1;if(typeof c==”object”)i=i&&$l(c);else if(![“number”,”string”].includes(typeof c))return!1;if(!i)return!1}}catch(a){n={error:a}}finally{try{r&&!r.done&&(l=o.return)&&l.call(o)}finally{if(n)throw n.error}}}else{if(e==null)return!1;if(typeof e==”object”)return $l(e);if(![“number”,”string”,”boolean”].includes(typeof e))return!1}return!0},Mt=function(){function t(){this._propertySet=new Set,this._properties={}}return t.prototype.getUserProperties=function(){return B({},this._properties)},t.prototype.set=function(e,n){return this._safeSet(te.SET,e,n),this},t.prototype.setOnce=function(e,n){return this._safeSet(te.SET_ONCE,e,n),this},t.prototype.append=function(e,n){return this._safeSet(te.APPEND,e,n),this},t.prototype.prepend=function(e,n){return this._safeSet(te.PREPEND,e,n),this},t.prototype.postInsert=function(e,n){return this._safeSet(te.POSTINSERT,e,n),this},t.prototype.preInsert=function(e,n){return this._safeSet(te.PREINSERT,e,n),this},t.prototype.remove=function(e,n){return this._safeSet(te.REMOVE,e,n),this},t.prototype.add=function(e,n){return this._safeSet(te.ADD,e,n),this},t.prototype.unset=function(e){return this._safeSet(te.UNSET,e,ao),this},t.prototype.clearAll=function(){return this._properties={},this._properties[te.CLEAR_ALL]=ao,this},t.prototype._safeSet=function(e,n,l){if(this._validate(e,n,l)){var i=this._properties[e];return i===void 0&&(i={},this._properties[e]=i),i[n]=l,this._propertySet.add(n),!0}return!1},t.prototype._validate=function(e,n,l){return this._properties[te.CLEAR_ALL]!==void 0||this._propertySet.has(n)?!1:e===te.ADD?typeof l==”number”:e!==te.UNSET&&e!==te.REMOVE?mc(n,l):!0},t}(),te;(function(t){t.SET=”$set”,t.SET_ONCE=”$setOnce”,t.ADD=”$add”,t.APPEND=”$append”,t.PREPEND=”$prepend”,t.REMOVE=”$remove”,t.PREINSERT=”$preInsert”,t.POSTINSERT=”$postInsert”,t.UNSET=”$unset”,t.CLEAR_ALL=”$clearAll”})(te||(te={}));var ys=[te.CLEAR_ALL,te.UNSET,te.SET,te.SET_ONCE,te.ADD,te.APPEND,te.PREPEND,te.PREINSERT,te.POSTINSERT,te.REMOVE],Ss=”Event tracked successfully”,Cs=”Unexpected error occurred”,Ws=”Event rejected due to exceeded retry count”,vs=”Event skipped due to optOut config”,Bs=”Event rejected due to missing API key”,Ns=”Invalid API key”,Fs=”Client not initialized”,be;(function(t){t.Unknown=”unknown”,t.Skipped=”skipped”,t.Success=”success”,t.RateLimit=”rate_limit”,t.PayloadTooLarge=”payload_too_large”,t.Invalid=”invalid”,t.Failed=”failed”,t.Timeout=”Timeout”,t.SystemError=”SystemError”})(be||(be={}));var Kt=function(t,e,n){return e===void 0&&(e=0),n===void 0&&(n=be.Unknown),{event:t,code:e,message:n}},We=function(){var t=”ampIntegrationContext”;if(typeof globalThis<"u"&&typeof globalThis[t]<"u")return globalThis[t];if(typeof globalThis<"u")return globalThis;if(typeof window<"u")return window;if(typeof self<"u")return self;if(typeof global>t/4).toString(16):(String(1e7)+String(-1e3)+String(-4e3)+String(-8e3)+String(-1e11)).replace(/[018]/g,Yt)},so=Ge([],M(Array(256).keys()),!1).map(function(t){return t.toString(16).padStart(2,”0″)}),Yt=function(t){var e,n=We();if(!(!((e=n==null?void 0:n.crypto)===null||e===void 0)&&e.getRandomValues))return Ys(t);var l=n.crypto.getRandomValues(new Uint8Array(16));return l[6]=l[6]&15|64,l[8]=l[8]&63|128,Ge([],M(l.entries()),!1).map(function(i){var o=M(i,2),r=o[0],c=o[1];return[4,6,8,10].includes(r)?”-“.concat(so[c]):so[c]}).join(“”)},Us=function(){function t(e){this.client=e,this.queue=[],this.applying=!1,this.plugins=[]}return t.prototype.register=function(e,n){var l,i;return W(this,void 0,void 0,function(){return C(this,function(o){switch(o.label){case 0:return this.plugins.some(function(r){return r.name===e.name})?(n.loggerProvider.warn(“Plugin with name “.concat(e.name,” already exists, skipping registration”)),[2]):(e.name===void 0&&(e.name=Yt(),n.loggerProvider.warn(`Plugin name is undefined. Generating a random UUID for plugin name: `.concat(e.name,`. Set a name for the plugin to prevent it from being added multiple times.`))),e.type=(l=e.type)!==null&&l!==void 0?l:”enrichment”,[4,(i=e.setup)===null||i===void 0?void 0:i.call(e,n,this.client)]);case 1:return o.sent(),this.plugins.push(e),[2]}})})},t.prototype.deregister=function(e,n){var l;return W(this,void 0,void 0,function(){var i,o;return C(this,function(r){switch(r.label){case 0:return i=this.plugins.findIndex(function(c){return c.name===e}),i===-1?(n.loggerProvider.warn(“Plugin with name “.concat(e,” does not exist, skipping deregistration”)),[2]):(o=this.plugins[i],this.plugins.splice(i,1),[4,(l=o.teardown)===null||l===void 0?void 0:l.call(o)]);case 1:return r.sent(),[2]}})})},t.prototype.reset=function(e){this.applying=!1;var n=this.plugins;n.map(function(l){var i;return(i=l.teardown)===null||i===void 0?void 0:i.call(l)}),this.plugins=[],this.client=e},t.prototype.push=function(e){var n=this;return new Promise(function(l){n.queue.push([e,l]),n.scheduleApply(0)})},t.prototype.scheduleApply=function(e){var n=this;this.applying||(this.applying=!0,setTimeout(function(){n.apply(n.queue.shift()).then(function(){n.applying=!1,n.queue.length>0&&n.scheduleApply(0)})},e))},t.prototype.apply=function(e){return W(this,void 0,void 0,function(){var n,l,i,o,r,c,a,g,V,d,s,u,b,g,V,p,X,Z,f,G,y,E;return C(this,function(S){switch(S.label){case 0:if(!e)return[2];n=M(e,1),l=n[0],i=M(e,2),o=i[1],r=this.plugins.filter(function(A){return A.type===”before”}),S.label=1;case 1:S.trys.push([1,6,7,8]),c=ae(r),a=c.next(),S.label=2;case 2:return a.done?[3,5]:(g=a.value,g.execute?[4,g.execute(B({},l))]:[3,4]);case 3:if(V=S.sent(),V===null)return o({event:l,code:0,message:””}),[2];l=V,S.label=4;case 4:return a=c.next(),[3,2];case 5:return[3,8];case 6:return d=S.sent(),f={error:d},[3,8];case 7:try{a&&!a.done&&(G=c.return)&&G.call(c)}finally{if(f)throw f.error}return[7];case 8:s=this.plugins.filter(function(A){return A.type===”enrichment”||A.type===void 0}),S.label=9;case 9:S.trys.push([9,14,15,16]),u=ae(s),b=u.next(),S.label=10;case 10:return b.done?[3,13]:(g=b.value,g.execute?[4,g.execute(B({},l))]:[3,12]);case 11:if(V=S.sent(),V===null)return o({event:l,code:0,message:””}),[2];l=V,S.label=12;case 12:return b=u.next(),[3,10];case 13:return[3,16];case 14:return p=S.sent(),y={error:p},[3,16];case 15:try{b&&!b.done&&(E=u.return)&&E.call(u)}finally{if(y)throw y.error}return[7];case 16:return X=this.plugins.filter(function(A){return A.type===”destination”}),Z=X.map(function(A){var F=B({},l);return A.execute(F).catch(function(w){return Kt(F,0,String(w))})}),Promise.all(Z).then(function(A){var F=M(A,1),w=F[0],P=w||Kt(l,100,”Event not tracked, no destination plugins on the instance”);o(P)}),[2]}})})},t.prototype.flush=function(){return W(this,void 0,void 0,function(){var e,n,l,i=this;return C(this,function(o){switch(o.label){case 0:return e=this.queue,this.queue=[],[4,Promise.all(e.map(function(r){return i.apply(r)}))];case 1:return o.sent(),n=this.plugins.filter(function(r){return r.type===”destination”}),l=n.map(function(r){return r.flush&&r.flush()}),[4,Promise.all(l)];case 2:return o.sent(),[2]}})})},t.prototype.onIdentityChanged=function(e){this.plugins.forEach(function(n){var l;(l=n.onIdentityChanged)===null||l===void 0||l.call(n,e)})},t.prototype.onSessionIdChanged=function(e){this.plugins.forEach(function(n){var l;(l=n.onSessionIdChanged)===null||l===void 0||l.call(n,e)})},t.prototype.onOptOutChanged=function(e){this.plugins.forEach(function(n){var l;(l=n.onOptOutChanged)===null||l===void 0||l.call(n,e)})},t}(),Js=function(t,e,n){var l=typeof t==”string”?{event_type:t}:t;return B(B(B({},l),n),e&&{event_properties:e})},Ac=function(t,e){var n=B(B({},e),{event_type:Nt.IDENTIFY,user_properties:t.getUserProperties()});return n},xs=function(t,e,n,l){var i,o=B(B({},l),{event_type:Nt.GROUP_IDENTIFY,group_properties:n.getUserProperties(),groups:(i={},i[t]=e,i)});return o},ws=function(t,e,n){var l,i=new Mt;i.set(t,e);var o=B(B({},n),{event_type:Nt.IDENTIFY,user_properties:i.getUserProperties(),groups:(l={},l[t]=e,l)});return o},ks=function(t,e){return B(B({},e),{event_type:Nt.REVENUE,event_properties:t.getEventProperties()})},we=function(t){return{promise:t||Promise.resolve()}},zs=function(){function t(e){e===void 0&&(e=”$default”),this.initializing=!1,this.isReady=!1,this.q=[],this.dispatchQ=[],this.logEvent=this.track.bind(this),this.timeline=new Us(this),this.name=e}return t.prototype._init=function(e){return W(this,void 0,void 0,function(){return C(this,function(n){switch(n.label){case 0:return this.config=e,this.timeline.reset(this),[4,this.runQueuedFunctions(“q”)];case 1:return n.sent(),this.isReady=!0,[2]}})})},t.prototype.runQueuedFunctions=function(e){return W(this,void 0,void 0,function(){var n,l,i,o,r,c,a,d;return C(this,function(s){switch(s.label){case 0:n=this[e],this[e]=[],s.label=1;case 1:s.trys.push([1,8,9,10]),l=ae(n),i=l.next(),s.label=2;case 2:return i.done?[3,7]:(o=i.value,r=o(),r&&”promise”in r?[4,r.promise]:[3,4]);case 3:return s.sent(),[3,6];case 4:return[4,r];case 5:s.sent(),s.label=6;case 6:return i=l.next(),[3,2];case 7:return[3,10];case 8:return c=s.sent(),a={error:c},[3,10];case 9:try{i&&!i.done&&(d=l.return)&&d.call(l)}finally{if(a)throw a.error}return[7];case 10:return this[e].length?[4,this.runQueuedFunctions(e)]:[3,12];case 11:s.sent(),s.label=12;case 12:return[2]}})})},t.prototype.track=function(e,n,l){var i=Js(e,n,l);return we(this.dispatch(i))},t.prototype.identify=function(e,n){var l=Ac(e,n);return we(this.dispatch(l))},t.prototype.groupIdentify=function(e,n,l,i){var o=xs(e,n,l,i);return we(this.dispatch(o))},t.prototype.setGroup=function(e,n,l){var i=ws(e,n,l);return we(this.dispatch(i))},t.prototype.revenue=function(e,n){var l=ks(e,n);return we(this.dispatch(l))},t.prototype.add=function(e){return this.isReady?this._addPlugin(e):(this.q.push(this._addPlugin.bind(this,e)),we())},t.prototype._addPlugin=function(e){return we(this.timeline.register(e,this.config))},t.prototype.remove=function(e){return this.isReady?this._removePlugin(e):(this.q.push(this._removePlugin.bind(this,e)),we())},t.prototype._removePlugin=function(e){return we(this.timeline.deregister(e,this.config))},t.prototype.dispatchWithCallback=function(e,n){if(!this.isReady)return n(Kt(e,0,Fs));this.process(e).then(n)},t.prototype.dispatch=function(e){return W(this,void 0,void 0,function(){var n=this;return C(this,function(l){return this.isReady?[2,this.process(e)]:[2,new Promise(function(i){n.dispatchQ.push(n.dispatchWithCallback.bind(n,e,i))})]})})},t.prototype.getOperationAppliedUserProperties=function(e){var n={};if(e===void 0)return n;var l={};return Object.keys(e).forEach(function(i){Object.values(kt).includes(i)||(l[i]=e[i])}),ys.forEach(function(i){if(Object.keys(e).includes(i)){var o=e[i];switch(i){case kt.CLEAR_ALL:Object.keys(n).forEach(function(r){delete n[r]});break;case kt.UNSET:Object.keys(o).forEach(function(r){delete n[r]});break;case kt.SET:Object.assign(n,o);break}}}),Object.assign(n,l),n},t.prototype.process=function(e){return W(this,void 0,void 0,function(){var n,o,l,i,o;return C(this,function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),this.config.optOut?[2,Kt(e,0,vs)]:(e.event_type===Nt.IDENTIFY&&(n=this.getOperationAppliedUserProperties(e.user_properties),this.timeline.onIdentityChanged({userProperties:n})),[4,this.timeline.push(e)]);case 1:return o=r.sent(),o.code===200?this.config.loggerProvider.log(o.message):o.code===100?this.config.loggerProvider.warn(o.message):this.config.loggerProvider.error(o.message),[2,o];case 2:return l=r.sent(),i=String(l),this.config.loggerProvider.error(i),o=Kt(e,0,i),[2,o];case 3:return[2]}})})},t.prototype.setOptOut=function(e){if(!this.isReady){this.q.push(this._setOptOut.bind(this,!!e));return}this._setOptOut(e)},t.prototype._setOptOut=function(e){this.config.optOut!==e&&(this.timeline.onOptOutChanged(e),this.config.optOut=!!e)},t.prototype.flush=function(){return we(this.timeline.flush())},t.prototype.plugin=function(e){var n=this.timeline.plugins.find(function(l){return l.name===e});if(n===void 0){this.config.loggerProvider.debug(“Cannot find plugin with name “.concat(e));return}return n},t.prototype.plugins=function(e){return this.timeline.plugins.filter(function(n){return n instanceof e})},t}(),Qs=function(){function t(){this.productId=””,this.quantity=1,this.price=0}return t.prototype.setProductId=function(e){return this.productId=e,this},t.prototype.setQuantity=function(e){return e>0&&(this.quantity=e),this},t.prototype.setPrice=function(e){return this.price=e,this},t.prototype.setRevenueType=function(e){return this.revenueType=e,this},t.prototype.setCurrency=function(e){return this.currency=e,this},t.prototype.setRevenue=function(e){return this.revenue=e,this},t.prototype.setReceipt=function(e){return this.receipt=e,this},t.prototype.setReceiptSig=function(e){return this.receiptSig=e,this},t.prototype.setEventProperties=function(e){return $l(e)&&(this.properties=e),this},t.prototype.getEventProperties=function(){var e=this.properties?B({},this.properties):{};return e[ct.REVENUE_PRODUCT_ID]=this.productId,e[ct.REVENUE_QUANTITY]=this.quantity,e[ct.REVENUE_PRICE]=this.price,e[ct.REVENUE_TYPE]=this.revenueType,e[ct.REVENUE_CURRENCY]=this.currency,e[ct.REVENUE]=this.revenue,e[ct.RECEIPT]=this.receipt,e[ct.RECEIPT_SIG]=this.receiptSig,e},t}(),ct;(function(t){t.REVENUE_PRODUCT_ID=”$productId”,t.REVENUE_QUANTITY=”$quantity”,t.REVENUE_PRICE=”$price”,t.REVENUE_TYPE=”$revenueType”,t.REVENUE_CURRENCY=”$currency”,t.REVENUE=”$revenue”,t.RECEIPT=”$receipt”,t.RECEIPT_SIG=”$receiptSig”})(ct||(ct={}));var Ks=function(t,e){var n=Math.max(e,1);return t.reduce(function(l,i,o){var r=Math.floor(o/n);return l[r]||(l[r]=[]),l[r].push(i),l},[])},Te;(function(t){t[t.None=0]=”None”,t[t.Error=1]=”Error”,t[t.Warn=2]=”Warn”,t[t.Verbose=3]=”Verbose”,t[t.Debug=4]=”Debug”})(Te||(Te={}));var Sn=”Amplitude Logger “,Zc=function(){function t(){this.logLevel=Te.None}return t.prototype.disable=function(){this.logLevel=Te.None},t.prototype.enable=function(e){e===void 0&&(e=Te.Warn),this.logLevel=e},t.prototype.log=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];this.logLevel<Te.Verbose||console.log("".concat(Sn,"[Log]: ").concat(e.join(" ")))},t.prototype.warn=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];this.logLevel<Te.Warn||console.warn("".concat(Sn,"[Warn]: ").concat(e.join(" ")))},t.prototype.error=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];this.logLevel<Te.Error||console.error("".concat(Sn,"[Error]: ").concat(e.join(" ")))},t.prototype.debug=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];this.logLevel0&&Promise.all(l.map(function(r){return i.execute(r)})).catch(),[2,Promise.resolve(void 0)]}})})},t.prototype.execute=function(e){var n=this;return e.insert_id||(e.insert_id=Yt()),new Promise(function(l){var i={event:e,attempts:0,callback:function(o){return l(o)},timeout:0};n.queue.push(i),n.schedule(n.config.flushIntervalMillis),n.saveEvents()})},t.prototype.removeEventsExceedFlushMaxRetries=function(e){var n=this;return e.filter(function(l){return l.attempts+=1,l.attemptsthis.scheduledTimeout)){this.scheduleId&&clearTimeout(this.scheduleId),this.scheduledTimeout=e,this.scheduleId=setTimeout(function(){n.queue=n.queue.map(function(l){return l.timeout=0,l}),n.flush(!0)},e);return}},t.prototype.resetSchedule=function(){this.scheduleId=null,this.scheduledTimeout=0},t.prototype.flush=function(e){return e===void 0&&(e=!1),W(this,void 0,void 0,function(){var n,l,i,o=this;return C(this,function(r){switch(r.label){case 0:return this.config.offline?(this.resetSchedule(),this.config.loggerProvider.debug(“Skipping flush while offline.”),[2]):this.flushId?(this.resetSchedule(),this.config.loggerProvider.debug(“Skipping flush because previous flush has not resolved.”),[2]):(this.flushId=this.scheduleId,this.resetSchedule(),n=[],l=[],this.queue.forEach(function(c){return c.timeout===0?n.push(c):l.push(c)}),i=Ks(n,this.config.flushQueueSize),[4,i.reduce(function(c,a){return W(o,void 0,void 0,function(){return C(this,function(d){switch(d.label){case 0:return[4,c];case 1:return d.sent(),[4,this.send(a,e)];case 2:return[2,d.sent()]}})})},Promise.resolve())]);case 1:return r.sent(),this.flushId=null,this.scheduleEvents(this.queue),[2]}})})},t.prototype.send=function(e,n){return n===void 0&&(n=!0),W(this,void 0,void 0,function(){var l,i,o,r,c;return C(this,function(a){switch(a.label){case 0:if(!this.config.apiKey)return[2,this.fulfillRequest(e,400,Bs)];l={api_key:this.config.apiKey,events:e.map(function(d){var s=d.event;s.extra;var u=Ol(s,[“extra”]);return u}),options:{min_id_length:this.config.minIdLength},client_upload_time:new Date().toISOString(),request_metadata:this.config.requestMetadata},this.config.requestMetadata=new pc,a.label=1;case 1:return a.trys.push([1,3,,4]),i=fc(this.config.serverUrl,this.config.serverZone,this.config.useBatch).serverUrl,[4,this.config.transportProvider.send(i,l)];case 2:return o=a.sent(),o===null?(this.fulfillRequest(e,0,Cs),[2]):n?(this.handleResponse(o,e),[3,4]):(“body”in o?this.fulfillRequest(e,o.statusCode,””.concat(o.status,”: “).concat(Cn(o))):this.fulfillRequest(e,o.statusCode,o.status),[2]);case 3:return r=a.sent(),c=Ts(r),this.config.loggerProvider.error(c),this.handleResponse({status:be.Failed,statusCode:0},e),[3,4];case 4:return[2]}})})},t.prototype.handleResponse=function(e,n){var l=e.status;switch(l){case be.Success:{this.handleSuccessResponse(e,n);break}case be.Invalid:{this.handleInvalidResponse(e,n);break}case be.PayloadTooLarge:{this.handlePayloadTooLargeResponse(e,n);break}case be.RateLimit:{this.handleRateLimitResponse(e,n);break}default:{this.config.loggerProvider.warn(`{code: 0, error: “Status ‘`.concat(l,”‘ provided for “).concat(n.length,’ events”}’)),this.handleOtherResponse(n);break}}},t.prototype.handleSuccessResponse=function(e,n){this.fulfillRequest(n,e.statusCode,Ss)},t.prototype.handleInvalidResponse=function(e,n){var l=this;if(e.body.missingField||e.body.error.startsWith(Ns)){this.fulfillRequest(n,e.statusCode,e.body.error);return}var i=Ge(Ge(Ge(Ge([],M(Object.values(e.body.eventsWithInvalidFields)),!1),M(Object.values(e.body.eventsWithMissingFields)),!1),M(Object.values(e.body.eventsWithInvalidIdLengths)),!1),M(e.body.silencedEvents),!1).flat(),o=new Set(i),r=n.filter(function(a,d){if(o.has(d)){l.fulfillRequest([a],e.statusCode,e.body.error);return}return!0});r.length>0&&this.config.loggerProvider.warn(Cn(e));var c=this.removeEventsExceedFlushMaxRetries(r);this.scheduleEvents(c)},t.prototype.handlePayloadTooLargeResponse=function(e,n){if(n.length===1){this.fulfillRequest(n,e.statusCode,e.body.error);return}this.config.loggerProvider.warn(Cn(e)),this.config.flushQueueSize/=2;var l=this.removeEventsExceedFlushMaxRetries(n);this.scheduleEvents(l)},t.prototype.handleRateLimitResponse=function(e,n){var l=this,i=Object.keys(e.body.exceededDailyQuotaUsers),o=Object.keys(e.body.exceededDailyQuotaDevices),r=e.body.throttledEvents,c=new Set(i),a=new Set(o),d=new Set(r),s=n.filter(function(b,g){if(b.event.user_id&&c.has(b.event.user_id)||b.event.device_id&&a.has(b.event.device_id)){l.fulfillRequest([b],e.statusCode,e.body.error);return}return d.has(g)&&(b.timeout=l.throttleTimeout),!0});s.length>0&&this.config.loggerProvider.warn(Cn(e));var u=this.removeEventsExceedFlushMaxRetries(s);this.scheduleEvents(u)},t.prototype.handleOtherResponse=function(e){var n=this,l=e.map(function(o){return o.timeout=o.attempts*n.retryTimeout,o}),i=this.removeEventsExceedFlushMaxRetries(l);this.scheduleEvents(i)},t.prototype.fulfillRequest=function(e,n,l){this.removeEvents(e),e.forEach(function(i){return i.callback(Kt(i.event,n,l))})},t.prototype.saveEvents=function(){if(this.config.storageProvider){var e=this.queue.map(function(n){return n.event});this.config.storageProvider.set(this.storageKey,e)}},t.prototype.removeEvents=function(e){this.queue=this.queue.filter(function(n){return!e.some(function(l){return l.event.insert_id===n.event.insert_id})}),this.saveEvents()},t}(),Ds=function(){function t(){}return t.prototype.getApplicationContext=function(){return{versionName:this.versionName,language:js(),platform:”Web”,os:void 0,deviceModel:void 0}},t}(),js=function(){return typeof navigator<"u"&&(navigator.languages&&navigator.languages[0]||navigator.language)||""},_s=function(){function t(){this.queue=[]}return t.prototype.logEvent=function(e){this.receiver?this.receiver(e):this.queue.length0&&(this.queue.forEach(function(n){e(n)}),this.queue=[])},t}(),At=function(){return At=Object.assign||function(e){for(var n,l=1,i=arguments.length;l=t.length&&(t=void 0),{value:t&&t[l++],done:!t}}};throw new TypeError(e?”Object is not iterable.”:”Symbol.iterator is not defined.”)}function uo(t,e){var n=typeof Symbol==”function”&&t[Symbol.iterator];if(!n)return t;var l=n.call(t),i,o=[],r;try{for(;(e===void 0||e– >0)&&!(i=l.next()).done;)o.push(i.value)}catch(c){r={error:c}}finally{try{i&&!i.done&&(n=l.return)&&n.call(l)}finally{if(r)throw r.error}}return o}var Kn=function(t,e){var n,l,i=[“string”,”number”,”boolean”,”undefined”],o=typeof t,r=typeof e;if(o!==r)return!1;try{for(var c=Qn(i),a=c.next();!a.done;a=c.next()){var d=a.value;if(d===o)return t===e}}catch(X){n={error:X}}finally{try{a&&!a.done&&(l=c.return)&&l.call(c)}finally{if(n)throw n.error}}if(t==null&&e==null)return!0;if(t==null||e==null||t.length!==e.length)return!1;var s=Array.isArray(t),u=Array.isArray(e);if(s!==u)return!1;if(s&&u){for(var b=0;b<t.length;b++)if(!Kn(t[b],e[b]))return!1}else{var g=Object.keys(t).sort(),V=Object.keys(e).sort();if(!Kn(g,V))return!1;var p=!0;return Object.keys(t).forEach(function(X){Kn(t[X],e[X])||(p=!1)}),p}return!0},Ps="$set",Os="$unset",$s="$clearAll";Object.entries||(Object.entries=function(t){for(var e=Object.keys(t),n=e.length,l=new Array(n);n–;)l[n]=[e[n],t[e[n]]];return l});var qs=function(){function t(){this.identity={userProperties:{}},this.listeners=new Set}return t.prototype.editIdentity=function(){var e=this,n=At({},this.identity.userProperties),l=At(At({},this.identity),{userProperties:n});return{setUserId:function(i){return l.userId=i,this},setDeviceId:function(i){return l.deviceId=i,this},setUserProperties:function(i){return l.userProperties=i,this},setOptOut:function(i){return l.optOut=i,this},updateUserProperties:function(i){var o,r,c,a,d,s,u=l.userProperties||{};try{for(var b=Qn(Object.entries(i)),g=b.next();!g.done;g=b.next()){var V=uo(g.value,2),p=V[0],X=V[1];switch(p){case Ps:try{for(var Z=(c=void 0,Qn(Object.entries(X))),f=Z.next();!f.done;f=Z.next()){var G=uo(f.value,2),y=G[0],E=G[1];u[y]=E}}catch(F){c={error:F}}finally{try{f&&!f.done&&(a=Z.return)&&a.call(Z)}finally{if(c)throw c.error}}break;case Os:try{for(var S=(d=void 0,Qn(Object.keys(X))),A=S.next();!A.done;A=S.next()){var y=A.value;delete u[y]}}catch(F){d={error:F}}finally{try{A&&!A.done&&(s=S.return)&&s.call(S)}finally{if(d)throw d.error}}break;case $s:u={};break}}}catch(F){o={error:F}}finally{try{g&&!g.done&&(r=b.return)&&r.call(b)}finally{if(o)throw o.error}}return l.userProperties=u,this},commit:function(){return e.setIdentity(l),this}}},t.prototype.getIdentity=function(){return At({},this.identity)},t.prototype.setIdentity=function(e){var n=At({},this.identity);this.identity=At({},e),Kn(n,this.identity)||this.listeners.forEach(function(l){l(e)})},t.prototype.addIdentityListener=function(e){this.listeners.add(e)},t.prototype.removeIdentityListener=function(e){this.listeners.delete(e)},t}(),$t=typeof globalThis<"u"?globalThis:typeof globalt},Xc=function(t,e,n){return e===void 0&&(e=””),n===void 0&&(n=10),[bl,e,t.substring(0,n)].filter(Boolean).join(“_”)},iu=function(t){return””.concat(bl.toLowerCase(),”_”).concat(t.substring(0,6))},ou=function(){var t,e,n,l;if(typeof navigator>”u”)return””;var i=navigator.userLanguage;return(l=(n=(e=(t=navigator.languages)===null||t===void 0?void 0:t[0])!==null&&e!==void 0?e:navigator.language)!==null&&n!==void 0?n:i)!==null&&l!==void 0?l:””},$n=function(){var t,e=We();if(!(!((t=e==null?void 0:e.location)===null||t===void 0)&&t.search))return{};var n=e.location.search.substring(1).split(“&”).filter(Boolean),l=n.reduce(function(i,o){var r=o.split(“=”,2),c=go(r[0]),a=go(r[1]);return a&&(i[c]=a),i},{});return l},go=function(t){t===void 0&&(t=””);try{return decodeURIComponent(t)}catch{return””}},ru=function(t){var e=new Error().stack||””;return e.split(` `).slice(2+t).map(function(n){return n.trim()})},se=function(t){return function(){var e=B({},t.config),n=e.loggerProvider,l=e.logLevel;return{logger:n,logLevel:l}}},cu=function(t,e){var n,l;e=e.replace(/\[(\w+)\]/g,”.$1″),e=e.replace(/^\./,””);try{for(var i=ae(e.split(“.”)),o=i.next();!o.done;o=i.next()){var r=o.value;if(r in t)t=t[r];else return}}catch(c){n={error:c}}finally{try{o&&!o.done&&(l=i.return)&&l.call(i)}finally{if(n)throw n.error}}return t},ue=function(t,e){return function(){var n,l,i={};try{for(var o=ae(e),r=o.next();!r.done;r=o.next()){var c=r.value;i[c]=cu(t,c)}}catch(a){n={error:a}}finally{try{r&&!r.done&&(l=o.return)&&l.call(o)}finally{if(n)throw n.error}}return i}},ge=function(t,e,n,l,i){return i===void 0&&(i=null),function(){for(var o=[],r=0;r<arguments.length;r++)o[r]=arguments[r];var c=n(),a=c.logger,d=c.logLevel;if(d&&d=200&&e=400&&e=500?be.Failed:be.Unknown},t}(),uu=function(t){Ye(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.send=function(n,l){return W(this,void 0,void 0,function(){var i,o,r;return C(this,function(c){switch(c.label){case 0:if(typeof fetch>”u”)throw new Error(“FetchTransport is not supported”);return i={headers:{“Content-Type”:”application/json”,Accept:”*/*”},body:JSON.stringify(l),method:”POST”},[4,fetch(n,i)];case 1:return o=c.sent(),[4,o.text()];case 2:r=c.sent();try{return[2,this.buildResponse(JSON.parse(r))]}catch{return[2,this.buildResponse({code:o.status})]}return[2]}})})},e}(Vl),gu=null,hu=[“a”,”button”,”input”,”select”,”textarea”,”label”,”video”,”audio”,'[contenteditable=”true” i]’,”[data-amp-default-track]”,”.amp-default-track”],bu=”data-amp-track-“,Vu=[“div”,”span”,”h1″,”h2″,”h3″,”h4″,”h5″,”h6″],Ic=100,mu=function(){function t(e){this.request=e}return Object.defineProperty(t.prototype,”headers”,{get:function(){if(this._headers)return this._headers;var e=this.request.headers;if(Array.isArray(e)){var n=e;this._headers=n.reduce(function(o,r){var c=M(r,2),a=c[0],d=c[1];return o[a]=d,o},{})}else if(e instanceof Headers){var l=e,i={};l.forEach(function(o,r){i[r]=o}),this._headers=i}else typeof e==”object”&&(this._headers=e);return this._headers},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,”bodySize”,{get:function(){if(typeof this._bodySize==”number”)return this._bodySize;var e=We();if(e!=null&&e.TextEncoder){var n=this.request.body;return this._bodySize=Rc(n,Ic),this._bodySize}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,”method”,{get:function(){return this.request.method},enumerable:!1,configurable:!0}),t}(),Au=function(){function t(e){this.body=e}return Object.defineProperty(t.prototype,”bodySize”,{get:function(){return Rc(this.body,Ic)},enumerable:!1,configurable:!0}),t}();function Rc(t,e){var n,l,i,o=We(),r=o==null?void 0:o.TextEncoder;if(r){var c;if(typeof t==”string”)c=t,i=new r().encode(c).length;else if(t instanceof Blob)c=t,i=c.size;else if(t instanceof URLSearchParams)c=t,i=new r().encode(c.toString()).length;else if(ArrayBuffer.isView(t))c=t,i=c.byteLength;else if(t instanceof ArrayBuffer)c=t,i=c.byteLength;else if(t instanceof FormData){var a=t,d=0,s=0;try{for(var u=ae(a.entries()),b=u.next();!b.done;b=u.next()){var g=M(b.value,2),V=g[0],p=g[1];if(d+=V.length,typeof p==”string”)d+=new r().encode(p).length;else if(p instanceof Blob)d+=p.size;else return;if(++s>=e)return}}catch(X){n={error:X}}finally{try{b&&!b.done&&(l=u.return)&&l.call(u)}finally{if(n)throw n.error}}i=d}else if(t instanceof ReadableStream){c=t;return}return i}}var Zu=function(){function t(e){this.response=e}return Object.defineProperty(t.prototype,”headers”,{get:function(){var e;if(this._headers)return this._headers;if(this.response.headers instanceof Headers){var n=this.response.headers,l={};return(e=n==null?void 0:n.forEach)===null||e===void 0||e.call(n,function(i,o){l[o]=i}),this._headers=l,l}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,”bodySize”,{get:function(){var e,n;if(this._bodySize!==void 0)return this._bodySize;var l=(n=(e=this.response.headers)===null||e===void 0?void 0:e.get)===null||n===void 0?void 0:n.call(e,”content-length”),i=l?parseInt(l,10):void 0;return this._bodySize=i,i},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,”status”,{get:function(){return this.response.status},enumerable:!1,configurable:!0}),t}(),fu=function(){function t(e,n,l){this.statusCode=e,this.headersString=n,this.size=l}return Object.defineProperty(t.prototype,”bodySize”,{get:function(){return this.size},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,”status”,{get:function(){return this.statusCode},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,”headers”,{get:function(){var e,n;if(this.headersString){var l={},i=this.headersString.split(`\r `);try{for(var o=ae(i),r=o.next();!r.done;r=o.next()){var c=r.value,a=M(c.split(“: “),2),d=a[0],s=a[1];d&&s&&(l[d]=s)}}catch(u){e={error:u}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(e)throw e.error}}return l}},enumerable:!1,configurable:!0}),t}(),pu=function(){function t(e,n,l,i,o,r,c,a,d,s,u){c===void 0&&(c=0),this.type=e,this.method=n,this.timestamp=l,this.startTime=i,this.url=o,this.requestWrapper=r,this.status=c,this.duration=a,this.responseWrapper=d,this.error=s,this.endTime=u}return t.prototype.toSerializable=function(){var e,n,l,i,o={type:this.type,method:this.method,url:this.url,timestamp:this.timestamp,status:this.status,duration:this.duration,error:this.error,startTime:this.startTime,endTime:this.endTime,requestHeaders:(e=this.requestWrapper)===null||e===void 0?void 0:e.headers,requestBodySize:(n=this.requestWrapper)===null||n===void 0?void 0:n.bodySize,responseHeaders:(l=this.responseWrapper)===null||l===void 0?void 0:l.headers,responseBodySize:(i=this.responseWrapper)===null||i===void 0?void 0:i.bodySize};return Object.fromEntries(Object.entries(o).filter(function(r){var c=M(r,2);c[0];var a=c[1];return a!==void 0}))},t}();function Gu(t){return typeof t==”object”&&t!==null&&”url”in t&&”method”in t}var Xu=function(){function t(e,n){n===void 0&&(n=Yt()),this.callback=e,this.id=n}return t}(),Iu=function(){function t(e){this.eventCallbacks=new Map,this.isObserving=!1,this.logger=e;var n=We();t.isSupported()&&(this.globalScope=n)}return t.isSupported=function(){var e=We();return!!e&&!!e.fetch},t.prototype.subscribe=function(e,n){var l,i,o,r,c,a,d;if(this.logger||(this.logger=n),this.eventCallbacks.set(e.id,e),!this.isObserving){var s=(o=(i=(l=this.globalScope)===null||l===void 0?void 0:l.XMLHttpRequest)===null||i===void 0?void 0:i.prototype)===null||o===void 0?void 0:o.open,u=(a=(c=(r=this.globalScope)===null||r===void 0?void 0:r.XMLHttpRequest)===null||c===void 0?void 0:c.prototype)===null||a===void 0?void 0:a.send;s&&u&&this.observeXhr(s,u);var b=(d=this.globalScope)===null||d===void 0?void 0:d.fetch;b&&this.observeFetch(b),this.isObserving=!0}},t.prototype.unsubscribe=function(e){this.eventCallbacks.delete(e.id)},t.prototype.triggerEventCallbacks=function(e){var n=this;this.eventCallbacks.forEach(function(l){var i;try{l.callback(e)}catch(o){(i=n.logger)===null||i===void 0||i.debug(“an unexpected error occurred while triggering event callbacks”,o)}})},t.prototype.handleNetworkRequestEvent=function(e,n,l,i,o,r,c){var a;if(!(r===void 0||c===void 0)){var d,s=”GET”;Gu(n)?(d=n.url,s=n.method):d=(a=n==null?void 0:n.toString)===null||a===void 0?void 0:a.call(n),s=(l==null?void 0:l.method)||s;var u,b;i&&(u=i.status),o&&(b={name:o.name||”UnknownError”,message:o.message||”An unknown error occurred”},u=0);var g=Math.floor(performance.now()-c),V=Math.floor(r+g),p=new pu(e,s,r,r,d,l,u,g,i,b,V);this.triggerEventCallbacks(p)}},t.prototype.getTimestamps=function(){var e,n;return{startTime:(e=Date.now)===null||e===void 0?void 0:e.call(Date),durationStart:(n=performance==null?void 0:performance.now)===null||n===void 0?void 0:n.call(performance)}},t.prototype.observeFetch=function(e){var n=this;!this.globalScope||!e||(this.globalScope.fetch=function(l,i){return W(n,void 0,void 0,function(){var o,r,c,a,d,s;return C(this,function(u){switch(u.label){case 0:try{o=this.getTimestamps()}catch(b){(d=this.logger)===null||d===void 0||d.debug(“an unexpected error occurred while retrieving timestamps”,b)}u.label=1;case 1:return u.trys.push([1,3,,4]),[4,e(l,i)];case 2:return r=u.sent(),[3,4];case 3:return a=u.sent(),c=a,[3,4];case 4:try{this.handleNetworkRequestEvent(“fetch”,l,i?new mu(i):void 0,r?new Zu(r):void 0,c,o==null?void 0:o.startTime,o==null?void 0:o.durationStart)}catch(b){(s=this.logger)===null||s===void 0||s.debug(“an unexpected error occurred while handling fetch”,b)}if(r)return[2,r];throw c}})})})},t.prototype.observeXhr=function(e,n){if(!(!this.globalScope||!e||!n)){var l=this.globalScope.XMLHttpRequest.prototype,i=this;l.open=function(){for(var o,r,c=[],a=0;a<arguments.length;a++)c[a]=arguments[a];var d=this,s=M(c,2),u=s[0],b=s[1];try{d.$$AmplitudeAnalyticsEvent=B({method:u,url:(o=b==null?void 0:b.toString)===null||o===void 0?void 0:o.call(b)},i.getTimestamps())}catch(g){(r=i.logger)===null||r===void 0||r.debug("an unexpected error occurred while calling xhr open",g)}return e.apply(d,c)},l.send=function(){for(var o=[],r=0;r<arguments.length;r++)o[r]=arguments[r];var c=this,a=o[0],d=c.$$AmplitudeAnalyticsEvent;return c.addEventListener("loadend",function(){var s;try{var u=c.getAllResponseHeaders(),b=c.getResponseHeader("content-length"),g=new fu(c.status,u,b?parseInt(b,10):void 0),V=new Au(a);d.status=c.status,i.handleNetworkRequestEvent("xhr",{url:d.url,method:d.method},V,g,void 0,d.startTime,d.durationStart)}catch(p){(s=i.logger)===null||s===void 0||s.debug("an unexpected error occurred while handling xhr send",p)}}),n.apply(c,o)}}},t}(),ho=new Iu,fn=function(t,e){return typeof t=="boolean"?t:(t==null?void 0:t[e])!==!1},Ec=function(t){return fn(t,"attribution")},Ru=function(t){return fn(t,"fileDownloads")},Eu=function(t){return fn(t,"formInteractions")},yc=function(t){return fn(t,"pageViews")},bo=function(t){return fn(t,"sessions")},Sc=function(t){return typeof t=="object"&&(t.networkTracking===!0||typeof t.networkTracking=="object")},Cc=function(t){return typeof t=="boolean"?t:typeof t=="object"&&(t.elementInteractions===!0||typeof t.elementInteractions=="object")},yu=function(t){if(Cc(t.autocapture)&&typeof t.autocapture=="object"&&typeof t.autocapture.elementInteractions=="object")return t.autocapture.elementInteractions},Su=function(t){if(Sc(t.autocapture)){if(typeof t.autocapture=="object"&&typeof t.autocapture.networkTracking=="object")return t.autocapture.networkTracking;if(t.networkTrackingOptions)return t.networkTrackingOptions}},Cu=function(t){var e=function(){return!1},n=void 0,l,i=t.pageCounter,o=yc(t.defaultTracking);return o&&(e=void 0,l=void 0,t.defaultTracking&&typeof t.defaultTracking=="object"&&t.defaultTracking.pageViews&&typeof t.defaultTracking.pageViews=="object"&&("trackOn"in t.defaultTracking.pageViews&&(e=t.defaultTracking.pageViews.trackOn),"trackHistoryChanges"in t.defaultTracking.pageViews&&(n=t.defaultTracking.pageViews.trackHistoryChanges),"eventType"in t.defaultTracking.pageViews&&t.defaultTracking.pageViews.eventType&&(l=t.defaultTracking.pageViews.eventType))),{trackOn:e,trackHistoryChanges:n,eventType:l,pageCounter:i}},Wu=function(t){return Ec(t.defaultTracking)&&t.defaultTracking&&typeof t.defaultTracking=="object"&&t.defaultTracking.attribution&&typeof t.defaultTracking.attribution=="object"?B({},t.defaultTracking.attribution):{}},vl=function(t,e){for(var n=0;n<e.length;n++){var l=e[n],i=l.name,o=l.args,r=l.resolve,c=t&&t[i];if(typeof c=="function"){var a=c.apply(t,o);typeof r=="function"&&r(a==null?void 0:a.promise)}}return t},Bl=function(t){var e=t;return e&&e._q!==void 0},Wc="2.17.8",vu="amplitude-ts",Bu="Web",Nu="$remote",Fu=function(){function t(){this.name="@amplitude/plugin-context-browser",this.type="before",this.library="".concat(vu,"/").concat(Wc),typeof navigatorWn?(o=l.length-Wn,[4,t.prototype.set.call(this,n,l.slice(0,Wn))]):[3,2];case 1:return r.sent(),(i=this.loggerProvider)===null||i===void 0||i.error(“Failed to save “.concat(o,” events because the queue length exceeded “).concat(Wn,”.”)),[3,4];case 2:return[4,t.prototype.set.call(this,n,l)];case 3:r.sent(),r.label=4;case 4:return[2]}})})},e}(vc),Yu=function(t){Ye(e,t);function e(){var n;return t.call(this,(n=We())===null||n===void 0?void 0:n.sessionStorage)||this}return e}(vc),Uu=function(t){Ye(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.state={done:4},n}return e.prototype.send=function(n,l){return W(this,void 0,void 0,function(){var i=this;return C(this,function(o){return[2,new Promise(function(r,c){typeof XMLHttpRequest>”u”&&c(new Error(“XHRTransport is not supported.”));var a=new XMLHttpRequest;a.open(“POST”,n,!0),a.onreadystatechange=function(){if(a.readyState===i.state.done){var d=a.responseText;try{r(i.buildResponse(JSON.parse(d)))}catch{r(i.buildResponse({code:a.status}))}}},a.setRequestHeader(“Content-Type”,”application/json”),a.setRequestHeader(“Accept”,”*/*”),a.send(JSON.stringify(l))})]})})},e}(Vl),Ju=function(t){Ye(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.send=function(n,l){return W(this,void 0,void 0,function(){var i=this;return C(this,function(o){return[2,new Promise(function(r,c){var a=We();if(!(a!=null&&a.navigator.sendBeacon))throw new Error(“SendBeaconTransport is not supported”);try{var d=JSON.stringify(l),s=a.navigator.sendBeacon(n,JSON.stringify(l));return r(s?i.buildResponse({code:200,events_ingested:l.events.length,payload_size_bytes:d.length,server_upload_time:Date.now()}):i.buildResponse({code:500}))}catch(u){c(u)}})]})})},e}(Vl),xu=function(t,e,n){return n===void 0&&(n=!0),W(void 0,void 0,void 0,function(){var l,i,o,r,c,a,d,s,u;return C(this,function(b){switch(b.label){case 0:return l=iu(t),[4,e.getRaw(l)];case 1:return i=b.sent(),i?n?[4,e.remove(l)]:[3,3]:[2,{optOut:!1}];case 2:b.sent(),b.label=3;case 3:return o=M(i.split(“.”),6),r=o[0],c=o[1],a=o[2],d=o[3],s=o[4],u=o[5],[2,{deviceId:r,userId:wu(c),sessionId:Nl(d),lastEventId:Nl(u),lastEventTime:Nl(s),optOut:!!a}]}})})},Nl=function(t){var e=parseInt(t,32);if(!isNaN(e))return e},wu=function(t){if(!(!atob||!escape||!t))try{return decodeURIComponent(escape(atob(t)))}catch{return}},rt=”[Amplitude]”,Vo=””.concat(rt,” Form Started”),ku=””.concat(rt,” Form Submitted”),zu=””.concat(rt,” File Downloaded”),mo=”session_start”,Ao=”session_end”,Qu=””.concat(rt,” File Extension”),Ku=””.concat(rt,” File Name”),Lu=””.concat(rt,” Link ID”),Mu=””.concat(rt,” Link Text”),Tu=””.concat(rt,” Link URL”),Fl=””.concat(rt,” Form ID”),Yl=””.concat(rt,” Form Name”),Ul=””.concat(rt,” Form Destination”),qn=”cookie”,Hu=”US”,Du=function(t){Ye(e,t);function e(n,l,i,o,r,c,a,d,s,u,b,g,V,p,X,Z,f,G,y,E,S,A,F,w,P,j,T,Ae,Ee,ze,Ie,Qe,_e,Je,Ke){i===void 0&&(i=new Ai),o===void 0&&(o={domain:””,expiration:365,sameSite:”Lax”,secure:!1,upgrade:!0}),d===void 0&&(d=1e3),s===void 0&&(s=5),u===void 0&&(u=30),b===void 0&&(b=qn),Z===void 0&&(Z=new Zc),f===void 0&&(f=Te.Warn),y===void 0&&(y=!1),E===void 0&&(E=!1),F===void 0&&(F=””),w===void 0&&(w=Hu),j===void 0&&(j=30*60*1e3),T===void 0&&(T=new Bc({loggerProvider:Z})),Ae===void 0&&(Ae={ipAddress:!0,language:!0,platform:!0}),Ee===void 0&&(Ee=”fetch”),ze===void 0&&(ze=!1),Ie===void 0&&(Ie=!0);var Y=t.call(this,{apiKey:n,storageProvider:T,transportProvider:Nc(Ee)})||this;return Y.apiKey=n,Y.appVersion=l,Y.cookieOptions=o,Y.defaultTracking=r,Y.autocapture=c,Y.flushIntervalMillis=d,Y.flushMaxRetries=s,Y.flushQueueSize=u,Y.identityStorage=b,Y.ingestionMetadata=g,Y.instanceName=V,Y.loggerProvider=Z,Y.logLevel=f,Y.minIdLength=G,Y.offline=y,Y.partnerId=S,Y.plan=A,Y.serverUrl=F,Y.serverZone=w,Y.sessionTimeout=j,Y.storageProvider=T,Y.trackingOptions=Ae,Y.transport=Ee,Y.useBatch=ze,Y.fetchRemoteConfig=Ie,Y.networkTrackingOptions=Ke,Y.version=Wc,Y._optOut=!1,Y._cookieStorage=i,Y.deviceId=a,Y.lastEventId=p,Y.lastEventTime=X,Y.optOut=E,Y.sessionId=P,Y.pageCounter=_e,Y.userId=Qe,Y.debugLogsEnabled=Je,Y.loggerProvider.enable(Je?Te.Debug:Y.logLevel),Y.networkTrackingOptions=Ke,Y}return Object.defineProperty(e.prototype,”cookieStorage”,{get:function(){return this._cookieStorage},set:function(n){this._cookieStorage!==n&&(this._cookieStorage=n,this.updateStorage())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,”deviceId”,{get:function(){return this._deviceId},set:function(n){this._deviceId!==n&&(this._deviceId=n,this.updateStorage())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,”userId”,{get:function(){return this._userId},set:function(n){this._userId!==n&&(this._userId=n,this.updateStorage())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,”sessionId”,{get:function(){return this._sessionId},set:function(n){this._sessionId!==n&&(this._sessionId=n,this.updateStorage())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,”optOut”,{get:function(){return this._optOut},set:function(n){this._optOut!==n&&(this._optOut=n,this.updateStorage())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,”lastEventTime”,{get:function(){return this._lastEventTime},set:function(n){this._lastEventTime!==n&&(this._lastEventTime=n,this.updateStorage())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,”lastEventId”,{get:function(){return this._lastEventId},set:function(n){this._lastEventId!==n&&(this._lastEventId=n,this.updateStorage())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,”pageCounter”,{get:function(){return this._pageCounter},set:function(n){this._pageCounter!==n&&(this._pageCounter=n,this.updateStorage())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,”debugLogsEnabled”,{set:function(n){this._debugLogsEnabled!==n&&(this._debugLogsEnabled=n,this.updateStorage())},enumerable:!1,configurable:!0}),e.prototype.updateStorage=function(){var n={deviceId:this._deviceId,userId:this._userId,sessionId:this._sessionId,optOut:this._optOut,lastEventTime:this._lastEventTime,lastEventId:this._lastEventId,pageCounter:this._pageCounter,debugLogsEnabled:this._debugLogsEnabled};this.cookieStorage.set(Xc(this.apiKey),n)},e}(Ls),ju=function(t,e,n){return e===void 0&&(e={}),W(void 0,void 0,void 0,function(){var l,i,o,r,c,a,d,s,u,b,g,V,p,X,Z,f,G,y,E,S,A,F,w,P,j,T,Ae,Ee,ze,Ie,Qe,_e,Je,Ke,Y,et,Le,tt,gt,ye,$,Be,nt;return C(this,function(Ze){switch(Ze.label){case 0:return l=e.identityStorage||qn,E={},l===qn?[3,1]:(o=””,[3,5]);case 1:return(A=(S=e.cookieOptions)===null||S===void 0?void 0:S.domain)!==null&&A!==void 0?(r=A,[3,4]):[3,2];case 2:return[4,Pu()];case 3:r=Ze.sent(),Ze.label=4;case 4:o=r,Ze.label=5;case 5:return i=B.apply(void 0,[(E.domain=o,E.expiration=365,E.sameSite=”Lax”,E.secure=!1,E.upgrade=!0,E),e.cookieOptions]),c=_u(e.identityStorage,i),[4,xu(t,c,(w=(F=e.cookieOptions)===null||F===void 0?void 0:F.upgrade)!==null&&w!==void 0?w:!0)];case 6:return a=Ze.sent(),[4,c.get(Xc(t))];case 7:return d=Ze.sent(),s=$n(),u=(Ee=(Ae=(T=(j=(P=e.deviceId)!==null&&P!==void 0?P:s.ampDeviceId)!==null&&j!==void 0?j:s.deviceId)!==null&&T!==void 0?T:d==null?void 0:d.deviceId)!==null&&Ae!==void 0?Ae:a.deviceId)!==null&&Ee!==void 0?Ee:Yt(),b=(ze=d==null?void 0:d.lastEventId)!==null&&ze!==void 0?ze:a.lastEventId,g=(Ie=d==null?void 0:d.lastEventTime)!==null&&Ie!==void 0?Ie:a.lastEventTime,V=(_e=(Qe=e.optOut)!==null&&Qe!==void 0?Qe:d==null?void 0:d.optOut)!==null&&_e!==void 0?_e:a.optOut,p=(Je=d==null?void 0:d.sessionId)!==null&&Je!==void 0?Je:a.sessionId,X=(Y=(Ke=e.userId)!==null&&Ke!==void 0?Ke:d==null?void 0:d.userId)!==null&&Y!==void 0?Y:a.userId,n.previousSessionDeviceId=(et=d==null?void 0:d.deviceId)!==null&&et!==void 0?et:a.deviceId,n.previousSessionUserId=(Le=d==null?void 0:d.userId)!==null&&Le!==void 0?Le:a.userId,Z={ipAddress:(gt=(tt=e.trackingOptions)===null||tt===void 0?void 0:tt.ipAddress)!==null&&gt!==void 0?gt:!0,language:($=(ye=e.trackingOptions)===null||ye===void 0?void 0:ye.language)!==null&&$!==void 0?$:!0,platform:(nt=(Be=e.trackingOptions)===null||Be===void 0?void 0:Be.platform)!==null&&nt!==void 0?nt:!0},f=d==null?void 0:d.pageCounter,G=d==null?void 0:d.debugLogsEnabled,e.autocapture!==void 0&&(e.defaultTracking=e.autocapture),y=new Du(t,e.appVersion,c,i,e.defaultTracking,e.autocapture,u,e.flushIntervalMillis,e.flushMaxRetries,e.flushQueueSize,l,e.ingestionMetadata,e.instanceName,b,g,e.loggerProvider,e.logLevel,e.minIdLength,e.offline,V,e.partnerId,e.plan,e.serverUrl,e.serverZone,p,e.sessionTimeout,e.storageProvider,Z,e.transport,e.useBatch,e.fetchRemoteConfig,X,f,G,e.networkTrackingOptions),[4,y.storageProvider.isEnabled()];case 8:return Ze.sent()||(y.loggerProvider.warn(“Storage provider “.concat(y.storageProvider.constructor.name,” is not enabled. Falling back to MemoryStorage.”)),y.storageProvider=new Ai),[2,y]}})})},_u=function(t,e){switch(t===void 0&&(t=qn),e===void 0&&(e={}),t){case”localStorage”:return new Bc;case”sessionStorage”:return new Yu;case”none”:return new Ai;case”cookie”:default:return new ql(B(B({},e),{expirationDays:e.expiration}))}},Nc=function(t){return t===”xhr”?new Uu:t===”beacon”?new Ju:new uu},Pu=function(t){return W(void 0,void 0,void 0,function(){var e,n,l,i,o,o,r,c,a,d;return C(this,function(s){switch(s.label){case 0:return[4,new ql().isEnabled()];case 1:if(!s.sent()||typeof location>”u”||!location.hostname)return[2,””];for(e=location.hostname,n=e.split(“.”),l=[],i=”AMP_TLDTEST”,o=n.length-2;o>=0;–o)l.push(n.slice(o).join(“.”));o=0,s.label=2;case 2:return o<l.length?(r=l[o],c={domain:"."+r},a=new ql(c),[4,a.set(i,1)]):[3,7];case 3:return s.sent(),[4,a.get(i)];case 4:return d=s.sent(),d?[4,a.remove(i)]:[3,6];case 5:return s.sent(),[2,"."+r];case 6:return o++,[3,2];case 7:return[2,""]}})})},Fc=function(){var t="ampIntegrationContext";if(typeof globalThis<"u"&&typeof globalThis[t]<"u")return globalThis[t];if(typeof globalThis<"u")return globalThis;if(typeof window<"u")return window;if(typeof self<"u")return self;if(typeof global<"u")return global},Zo=function(){var t,e=Fc();if(!(!((t=e==null?void 0:e.location)===null||t===void 0)&&t.search))return{};var n=e.location.search.substring(1).split("&").filter(Boolean),l=n.reduce(function(i,o){var r=o.split("=",2),c=fo(r[0]),a=fo(r[1]);return a&&(i[c]=a),i},{});return l},fo=function(t){t===void 0&&(t="");try{return decodeURIComponent(t)}catch{return""}},Ou="utm_campaign",$u="utm_content",qu="utm_id",eg="utm_medium",tg="utm_source",ng="utm_term",po="dclid",Go="fbclid",Xo="gbraid",Io="gclid",Ro="ko_click_id",Eo="li_fat_id",yo="msclkid",So="rtd_cid",Co="ttclid",Wo="twclid",vo="wbraid",Yc={utm_campaign:void 0,utm_content:void 0,utm_id:void 0,utm_medium:void 0,utm_source:void 0,utm_term:void 0,referrer:void 0,referring_domain:void 0,dclid:void 0,gbraid:void 0,gclid:void 0,fbclid:void 0,ko_click_id:void 0,li_fat_id:void 0,msclkid:void 0,rtd_cid:void 0,ttclid:void 0,twclid:void 0,wbraid:void 0},lg=function(){function t(){}return t.prototype.parse=function(){return W(this,void 0,void 0,function(){return C(this,function(e){return[2,B(B(B(B({},Yc),this.getUtmParam()),this.getReferrer()),this.getClickIds())]})})},t.prototype.getUtmParam=function(){var e=Zo(),n=e[Ou],l=e[$u],i=e[qu],o=e[eg],r=e[tg],c=e[ng];return{utm_campaign:n,utm_content:l,utm_id:i,utm_medium:o,utm_source:r,utm_term:c}},t.prototype.getReferrer=function(){var e,n,l={referrer:void 0,referring_domain:void 0};try{l.referrer=document.referrer||void 0,l.referring_domain=(n=(e=l.referrer)===null||e===void 0?void 0:e.split("/")[2])!==null&&n!==void 0?n:void 0}catch{}return l},t.prototype.getClickIds=function(){var e,n=Zo();return e={},e[po]=n[po],e[Go]=n[Go],e[Xo]=n[Xo],e[Io]=n[Io],e[Ro]=n[Ro],e[Eo]=n[Eo],e[yo]=n[yo],e[So]=n[So],e[Co]=n[Co],e[Wo]=n[Wo],e[vo]=n[vo],e},t}(),el;(function(t){t.SET="$set",t.SET_ONCE="$setOnce",t.ADD="$add",t.APPEND="$append",t.PREPEND="$prepend",t.REMOVE="$remove",t.PREINSERT="$preInsert",t.POSTINSERT="$postInsert",t.UNSET="$unset",t.CLEAR_ALL="$clearAll"})(el||(el={}));var Bo;(function(t){t.REVENUE_PRODUCT_ID="$productId",t.REVENUE_QUANTITY="$quantity",t.REVENUE_PRICE="$price",t.REVENUE_TYPE="$revenueType",t.REVENUE_CURRENCY="$currency",t.REVENUE="$revenue"})(Bo||(Bo={}));var No;(function(t){t.IDENTIFY="$identify",t.GROUP_IDENTIFY="$groupidentify",t.REVENUE="revenue_amount"})(No||(No={}));var tl;(function(t){t.US="US",t.EU="EU"})(tl||(tl={}));var nl;(function(t){t.Unknown="unknown",t.Skipped="skipped",t.Success="success",t.RateLimit="rate_limit",t.PayloadTooLarge="payload_too_large",t.Invalid="invalid",t.Failed="failed",t.Timeout="Timeout",t.SystemError="SystemError"})(nl||(nl={}));var ig=function(t){var e={};for(var n in t){var l=t[n];l&&(e[n]=l)}return e},og="[Amplitude] Page Viewed",rg=function(t){t===void 0&&(t={});var e,n=Fc(),l=void 0,i=!1,o,r=t.trackOn,c=t.trackHistoryChanges,a=t.eventType,d=a===void 0?og:a,s=function(Z){var f=Z;try{f=decodeURI(Z)}catch(G){l==null||l.error("Malformed URI sequence: ",G)}return f},u=function(){return W(void 0,void 0,void 0,function(){var Z,f,G;return C(this,function(y){switch(y.label){case 0:return Z=s(typeof location<"u"&&location.href||""),G={event_type:d},f=[{}],[4,cg()];case 1:return[2,(G.event_properties=B.apply(void 0,[B.apply(void 0,f.concat([y.sent()])),{"[Amplitude] Page Domain":typeof location<"u"&&location.hostname||"","[Amplitude] Page Location":Z,"[Amplitude] Page Path":typeof location<"u"&&s(location.pathname)||"","[Amplitude] Page Title":typeof document”u”||typeof r==”function”&&r()},g=typeof location”u”)){var V=function(X){var Z=!1;n(X,”change”,function(){var f,G=Fo(X);Z||s.track(Vo,(f={},f[Fl]=Ut(X.id),f[Yl]=Ut(X.name),f[Ul]=G,f)),Z=!0}),n(X,”submit”,function(){var f,G,y=Fo(X);Z||s.track(Vo,(f={},f[Fl]=Ut(X.id),f[Yl]=Ut(X.name),f[Ul]=y,f)),s.track(ku,(G={},G[Fl]=Ut(X.id),G[Yl]=Ut(X.name),G[Ul]=y,G)),Z=!1})},p=Array.from(document.getElementsByTagName(“form”));p.forEach(V),typeof MutationObserver”u”)){var V=function(Z){var f;try{f=new URL(Z.href,window.location.href)}catch{return}var G=p.exec(f.href),y=G==null?void 0:G[1];y&&n(Z,”click”,function(){var E;y&&s.track(zu,(E={},E[Qu]=y,E[Ku]=f.pathname,E[Lu]=Z.id,E[Mu]=Z.text,E[Tu]=Z.href,E))})},p=/\.(pdf|xlsx?|docx?|txt|rtf|csv|exe|key|pp(s|t|tx)|7z|pkg|rar|gz|zip|avi|mov|mp4|mpe?g|wmv|midi?|mp3|wav|wma)(\?.+)?$/,X=Array.from(document.getElementsByTagName(“a”));X.forEach(V),typeof MutationObserver<"u"&&(t=new MutationObserver(function(Z){Z.forEach(function(f){f.addedNodes.forEach(function(G){G.nodeName==="A"&&V(G),"querySelectorAll"in G&&typeof G.querySelectorAll=="function"&&Array.from(G.querySelectorAll("a")).map(V)})})}),t.observe(document.body,{subtree:!0,childList:!0}))}},document.readyState==="complete"?u():(b=We(),b?b.addEventListener("load",u):d.loggerProvider.debug("File download tracking is not installed because global is undefined.")),[2]})})},c=function(d){return W(void 0,void 0,void 0,function(){return C(this,function(s){return[2,d]})})},a=function(){return W(void 0,void 0,void 0,function(){return C(this,function(d){return t==null||t.disconnect(),l(),[2]})})};return{name:i,type:o,setup:r,execute:c,teardown:a}},Yo=!1,gg=function(t){if(!(Yo||t.defaultTracking!==void 0)){var e=`\`options.defaultTracking\` is set to undefined. This implicitly configures your Amplitude instance to track Page Views, Sessions, File Downloads, and Form Interactions. You can suppress this warning by explicitly setting a value to \`options.defaultTracking\`. The value must either be a boolean, to enable and disable all default events, or an object, for advanced configuration. For example: amplitude.init(, { defaultTracking: true, }); Visit https://www.docs.developers.amplitude.com/data/sdks/browser-2/#tracking-default-events for more details.`;t.loggerProvider.warn(e),Yo=!0}},hg=function(){var t=”@amplitude/plugin-network-checker-browser”,e=”before”,n=We(),l=[],i=function(a,d){n&&(n.addEventListener(a,d),l.push({type:a,handler:d}))},o=function(){l.forEach(function(a){var d=a.type,s=a.handler;n&&n.removeEventListener(d,s)}),l=[]},r=function(a,d){return W(void 0,void 0,void 0,function(){return C(this,function(s){return typeof navigator>”u”?(a.loggerProvider.debug(“Network connectivity checker plugin is disabled because navigator is not available.”),a.offline=!1,[2]):(a.offline=!navigator.onLine,i(“online”,function(){a.loggerProvider.debug(“Network connectivity changed to online.”),a.offline=!1,setTimeout(function(){d.flush()},a.flushIntervalMillis)}),i(“offline”,function(){a.loggerProvider.debug(“Network connectivity changed to offline.”),a.offline=!0}),[2])})})},c=function(){return W(void 0,void 0,void 0,function(){return C(this,function(a){return o(),[2]})})};return{name:t,type:e,setup:r,teardown:c}},bg=”Network error occurred, remote config fetch failed”,Vg=”Remote config successfully fetched”,mg=”Remote config fetch rejected due to exceeded retry count”,Uo=”Remote config fetch rejected due to timeout after 5 seconds”,Jo=”Unexpected error occurred”,Ag=”https://sr-client-cfg.amplitude.com/config&#8221;,Zg=”https://sr-client-cfg.stag2.amplitude.com/config&#8221;,fg=”https://sr-client-cfg.eu.amplitude.com/config&#8221;,pg=function(){function t(e){var n=e.localConfig,l=e.configKeys,i=this;this.retryTimeout=1e3,this.attempts=0,this.sessionTargetingMatch=!1,this.metrics={},this.getRemoteConfig=function(o,r,c){return W(i,void 0,void 0,function(){var a,d,s;return C(this,function(u){switch(u.label){case 0:return a=Date.now(),[4,this.fetchWithTimeout(c)];case 1:return d=u.sent(),d&&(s=d.configs&&d.configs[o],s)?(this.metrics.fetchTimeAPISuccess=Date.now()-a,[2,s[r]]):(this.metrics.fetchTimeAPIFail=Date.now()-a,[2,void 0])}})})},this.fetchWithTimeout=function(o){return W(i,void 0,void 0,function(){var r,c,a;return C(this,function(d){switch(d.label){case 0:return r=new AbortController,c=setTimeout(function(){return r.abort()},5e3),[4,this.fetchRemoteConfig(r.signal,o)];case 1:return a=d.sent(),clearTimeout(c),[2,a]}})})},this.fetchRemoteConfig=function(o,r){return W(i,void 0,void 0,function(){var c,a,d,s,u,b,g,V,p,X,Z,f,G;return C(this,function(y){switch(y.label){case 0:if(r===this.lastFetchedSessionId&&this.attempts>=this.localConfig.flushMaxRetries)return[2,this.completeRequest({err:mg})];if(o.aborted)return[2,this.completeRequest({err:Uo})];r!==this.lastFetchedSessionId&&(this.lastFetchedSessionId=r,this.attempts=0),y.label=1;case 1:y.trys.push([1,3,,4]),c=new URLSearchParams({api_key:this.localConfig.apiKey});try{for(a=ae(this.configKeys),d=a.next();!d.done;d=a.next())s=d.value,c.append(“config_keys”,s)}catch(E){Z={error:E}}finally{try{d&&!d.done&&(f=a.return)&&f.call(a)}finally{if(Z)throw Z.error}}return r&&c.set(“session_id”,String(r)),u={headers:{Accept:”*/*”},method:”GET”},b=””.concat(this.getServerUrl(),”?”).concat(c.toString()),this.attempts+=1,[4,fetch(b,B(B({},u),{signal:o}))];case 2:if(g=y.sent(),g===null)return[2,this.completeRequest({err:Jo})];switch(V=new Vl().buildStatus(g.status),V){case nl.Success:return this.attempts=0,[2,this.parseAndStoreConfig(g)];case nl.Failed:return[2,this.retryFetch(o,r)];default:return[2,this.completeRequest({err:bg})]}case 3:return p=y.sent(),X=p,o.aborted?[2,this.completeRequest({err:Uo})]:[2,this.completeRequest({err:(G=X.message)!==null&&G!==void 0?G:Jo})];case 4:return[2]}})})},this.retryFetch=function(o,r){return W(i,void 0,void 0,function(){var c=this;return C(this,function(a){switch(a.label){case 0:return[4,new Promise(function(d){return setTimeout(d,c.attempts*c.retryTimeout)})];case 1:return a.sent(),[2,this.fetchRemoteConfig(o,r)]}})})},this.parseAndStoreConfig=function(o){return W(i,void 0,void 0,function(){var r;return C(this,function(c){switch(c.label){case 0:return[4,o.json()];case 1:return r=c.sent(),this.completeRequest({success:Vg}),[2,r]}})})},this.localConfig=n,this.configKeys=l}return t.prototype.getServerUrl=function(){return this.localConfig.serverZone===tl.STAGING?Zg:this.localConfig.serverZone===tl.EU?fg:Ag},t.prototype.completeRequest=function(e){var n=e.err,l=e.success;if(n)throw new Error(n);l&&this.localConfig.loggerProvider.log(l)},t}(),Gg=function(t){var e=t.localConfig,n=t.configKeys;return W(void 0,void 0,void 0,function(){return C(this,function(l){return[2,new pg({localConfig:e,configKeys:n})]})})},Xg=Gg,Ig=function(){function t(e){this.config=e,this.config.loggerProvider.debug(“Local configuration before merging with remote config”,JSON.stringify(this.config,null,2))}return t.prototype.initialize=function(){return W(this,void 0,void 0,function(){var e;return C(this,function(n){switch(n.label){case 0:return e=this,[4,Xg({localConfig:this.config,configKeys:[“analyticsSDK”]})];case 1:return e.remoteConfigFetch=n.sent(),[2]}})})},t.prototype.generateJoinedConfig=function(){var e,n,l,i,o,r;return W(this,void 0,void 0,function(){var c,a,d,s,u,b,g,V,p,X,Z,f,G;return C(this,function(y){switch(y.label){case 0:return y.trys.push([0,3,,4]),a=this.remoteConfigFetch,a?[4,this.remoteConfigFetch.getRemoteConfig(“analyticsSDK”,”browserSDK”,this.config.sessionId)]:[3,2];case 1:a=y.sent(),y.label=2;case 2:if(c=a,this.config.loggerProvider.debug(“Remote configuration:”,JSON.stringify(c,null,2)),c&&”autocapture”in c){if(typeof c.autocapture==”boolean”&&(this.config.autocapture=c.autocapture),typeof c.autocapture==”object”){if(d=B({},c.autocapture),this.config.autocapture===void 0&&(this.config.autocapture=c.autocapture),typeof c.autocapture.elementInteractions==”object”&&(!((e=c.autocapture.elementInteractions.pageUrlAllowlistRegex)===null||e===void 0)&&e.length)){d.elementInteractions=B({},c.autocapture.elementInteractions),s=d.elementInteractions,u=(n=s.pageUrlAllowlist)!==null&&n!==void 0?n:[],b=[];try{for(g=ae(c.autocapture.elementInteractions.pageUrlAllowlistRegex),V=g.next();!V.done;V=g.next()){p=V.value;try{b.push(new RegExp(p))}catch(E){this.config.loggerProvider.warn(“Invalid regex pattern: “.concat(p),E)}}}catch(E){f={error:E}}finally{try{V&&!V.done&&(G=g.return)&&G.call(g)}finally{if(f)throw f.error}}X=u.concat(b),s.pageUrlAllowlist=X,delete s.pageUrlAllowlistRegex}typeof this.config.autocapture==”boolean”&&(this.config.autocapture=B({attribution:this.config.autocapture,fileDownloads:this.config.autocapture,formInteractions:this.config.autocapture,pageViews:this.config.autocapture,sessions:this.config.autocapture,elementInteractions:this.config.autocapture},d)),typeof this.config.autocapture==”object”&&(this.config.autocapture=B(B({},this.config.autocapture),d))}this.config.defaultTracking=this.config.autocapture}return this.config.loggerProvider.debug(“Joined configuration: “,JSON.stringify(this.config,null,2)),(l=(r=this.config).requestMetadata)!==null&&l!==void 0||(r.requestMetadata=new pc),!((i=this.remoteConfigFetch)===null||i===void 0)&&i.metrics.fetchTimeAPISuccess&&this.config.requestMetadata.recordHistogram(“remote_config_fetch_time_API_success”,this.remoteConfigFetch.metrics.fetchTimeAPISuccess),!((o=this.remoteConfigFetch)===null||o===void 0)&&o.metrics.fetchTimeAPIFail&&this.config.requestMetadata.recordHistogram(“remote_config_fetch_time_API_fail”,this.remoteConfigFetch.metrics.fetchTimeAPIFail),[3,4];case 3:return Z=y.sent(),this.config.loggerProvider.error(“Failed to fetch remote configuration because of error: “,Z),[3,4];case 4:return[2,this.config]}})})},t}(),Rg=function(t){return W(void 0,void 0,void 0,function(){var e;return C(this,function(n){switch(n.label){case 0:return e=new Ig(t),[4,e.initialize()];case 1:return n.sent(),[2,e]}})})},Eg=”@amplitude/plugin-autocapture-browser”,ei=”[Amplitude] Element Clicked”,yg=”[Amplitude] Element Changed”,Sg=”[Amplitude] Element ID”,Cg=”[Amplitude] Element Class”,Uc=”[Amplitude] Element Tag”,Jc=”[Amplitude] Element Text”,Wg=”[Amplitude] Element Hierarchy”,vg=”[Amplitude] Element Href”,Bg=”[Amplitude] Element Position Left”,Ng=”[Amplitude] Element Position Top”,Fg=”[Amplitude] Element Aria Label”,Yg=”[Amplitude] Element Attributes”,Ug=”[Amplitude] Element Parent Label”,xc=”[Amplitude] Page URL”,Jg=”[Amplitude] Page Title”,xg=”[Amplitude] Viewport Height”,wg=”[Amplitude] Viewport Width”,Ln=”https://app.amplitude.com&#8221;,kg=”https://app.eu.amplitude.com&#8221;,zg=”https://apps.stag2.amplitude.com&#8221;,Qg={US:Ln,EU:kg,STAGING:zg},Kg=”https://cdn.amplitude.com/libs/visual-tagging-selector-1.0.0-alpha.js.gz&#8221;,Lg=”amp-visual-tagging-selector-highlight”;function ne(t){return typeof t==”function”}function Zi(t){var e=function(l){Error.call(l),l.stack=new Error().stack},n=t(e);return n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n}var Jl=Zi(function(t){return function(n){t(this),this.message=n?n.length+` errors occurred during unsubscription: `+n.map(function(l,i){return i+1+”) “+l.toString()}).join(` `):””,this.name=”UnsubscriptionError”,this.errors=n}});function ll(t,e){if(t){var n=t.indexOf(e);0<=n&&t.splice(n,1)}}var pn=function(){function t(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return t.prototype.unsubscribe=function(){var e,n,l,i,o;if(!this.closed){this.closed=!0;var r=this._parentage;if(r)if(this._parentage=null,Array.isArray(r))try{for(var c=ae(r),a=c.next();!a.done;a=c.next()){var d=a.value;d.remove(this)}}catch(p){e={error:p}}finally{try{a&&!a.done&&(n=c.return)&&n.call(c)}finally{if(e)throw e.error}}else r.remove(this);var s=this.initialTeardown;if(ne(s))try{s()}catch(p){o=p instanceof Jl?p.errors:[p]}var u=this._finalizers;if(u){this._finalizers=null;try{for(var b=ae(u),g=b.next();!g.done;g=b.next()){var V=g.value;try{xo(V)}catch(p){o=o??[],p instanceof Jl?o=Ge(Ge([],M(o)),M(p.errors)):o.push(p)}}}catch(p){l={error:p}}finally{try{g&&!g.done&&(i=b.return)&&i.call(b)}finally{if(l)throw l.error}}}if(o)throw new Jl(o)}},t.prototype.add=function(e){var n;if(e&&e!==this)if(this.closed)xo(e);else{if(e instanceof t){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(n=this._finalizers)!==null&&n!==void 0?n:[]).push(e)}},t.prototype._hasParent=function(e){var n=this._parentage;return n===e||Array.isArray(n)&&n.includes(e)},t.prototype._addParent=function(e){var n=this._parentage;this._parentage=Array.isArray(n)?(n.push(e),n):n?[n,e]:e},t.prototype._removeParent=function(e){var n=this._parentage;n===e?this._parentage=null:Array.isArray(n)&&ll(n,e)},t.prototype.remove=function(e){var n=this._finalizers;n&&ll(n,e),e instanceof t&&e._removeParent(this)},t.EMPTY=function(){var e=new t;return e.closed=!0,e}(),t}(),wc=pn.EMPTY;function kc(t){return t instanceof pn||t&&"closed"in t&&ne(t.remove)&&ne(t.add)&&ne(t.unsubscribe)}function xo(t){ne(t)?t():t.unsubscribe()}var Mg={Promise:void 0},Tg={setTimeout:function(t,e){for(var n=[],l=2;l<arguments.length;l++)n[l-2]=arguments[l];return setTimeout.apply(void 0,Ge([t,e],M(n)))},clearTimeout:function(t){return clearTimeout(t)},delegate:void 0};function zc(t){Tg.setTimeout(function(){throw t})}function ti(){}function Mn(t){t()}var fi=function(t){Ye(e,t);function e(n){var l=t.call(this)||this;return l.isStopped=!1,n?(l.destination=n,kc(n)&&n.add(l)):l.destination=jg,l}return e.create=function(n,l,i){return new gn(n,l,i)},e.prototype.next=function(n){this.isStopped||this._next(n)},e.prototype.error=function(n){this.isStopped||(this.isStopped=!0,this._error(n))},e.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,t.prototype.unsubscribe.call(this),this.destination=null)},e.prototype._next=function(n){this.destination.next(n)},e.prototype._error=function(n){try{this.destination.error(n)}finally{this.unsubscribe()}},e.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},e}(pn),Hg=function(){function t(e){this.partialObserver=e}return t.prototype.next=function(e){var n=this.partialObserver;if(n.next)try{n.next(e)}catch(l){vn(l)}},t.prototype.error=function(e){var n=this.partialObserver;if(n.error)try{n.error(e)}catch(l){vn(l)}else vn(e)},t.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(n){vn(n)}},t}(),gn=function(t){Ye(e,t);function e(n,l,i){var o=t.call(this)||this,r;return ne(n)||!n?r={next:n??void 0,error:l??void 0,complete:i??void 0}:r=n,o.destination=new Hg(r),o}return e}(fi);function vn(t){zc(t)}function Dg(t){throw t}var jg={closed:!0,next:ti,error:Dg,complete:ti},pi=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}();function Qc(t){return t}function _g(t){return t.length===0?Qc:t.length===1?t[0]:function(n){return t.reduce(function(l,i){return i(l)},n)}}var ve=function(){function t(e){e&&(this._subscribe=e)}return t.prototype.lift=function(e){var n=new t;return n.source=this,n.operator=e,n},t.prototype.subscribe=function(e,n,l){var i=this,o=Og(e)?e:new gn(e,n,l);return Mn(function(){var r=i,c=r.operator,a=r.source;o.add(c?c.call(o,a):a?i._subscribe(o):i._trySubscribe(o))}),o},t.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(n){e.error(n)}},t.prototype.forEach=function(e,n){var l=this;return n=wo(n),new n(function(i,o){var r=new gn({next:function(c){try{e(c)}catch(a){o(a),r.unsubscribe()}},error:o,complete:i});l.subscribe(r)})},t.prototype._subscribe=function(e){var n;return(n=this.source)===null||n===void 0?void 0:n.subscribe(e)},t.prototype[pi]=function(){return this},t.prototype.pipe=function(){for(var e=[],n=0;n0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(n){return this._throwIfClosed(),t.prototype._trySubscribe.call(this,n)},e.prototype._subscribe=function(n){return this._throwIfClosed(),this._checkFinalizedStatuses(n),this._innerSubscribe(n)},e.prototype._innerSubscribe=function(n){var l=this,i=this,o=i.hasError,r=i.isStopped,c=i.observers;return o||r?wc:(this.currentObservers=null,c.push(n),new pn(function(){l.currentObservers=null,ll(c,n)}))},e.prototype._checkFinalizedStatuses=function(n){var l=this,i=l.hasError,o=l.thrownError,r=l.isStopped;i?n.error(o):r&&n.complete()},e.prototype.asObservable=function(){var n=new ve;return n.source=this,n},e.create=function(n,l){return new ko(n,l)},e}(ve),ko=function(t){Ye(e,t);function e(n,l){var i=t.call(this)||this;return i.destination=n,i.source=l,i}return e.prototype.next=function(n){var l,i;(i=(l=this.destination)===null||l===void 0?void 0:l.next)===null||i===void 0||i.call(l,n)},e.prototype.error=function(n){var l,i;(i=(l=this.destination)===null||l===void 0?void 0:l.error)===null||i===void 0||i.call(l,n)},e.prototype.complete=function(){var n,l;(l=(n=this.destination)===null||n===void 0?void 0:n.complete)===null||l===void 0||l.call(n)},e.prototype._subscribe=function(n){var l,i;return(i=(l=this.source)===null||l===void 0?void 0:l.subscribe(n))!==null&&i!==void 0?i:wc},e}(Kc),th={now:function(){return Date.now()}},nh=function(t){Ye(e,t);function e(n,l){return t.call(this)||this}return e.prototype.schedule=function(n,l){return this},e}(pn),zo={setInterval:function(t,e){for(var n=[],l=2;l<arguments.length;l++)n[l-2]=arguments[l];return setInterval.apply(void 0,Ge([t,e],M(n)))},clearInterval:function(t){return clearInterval(t)},delegate:void 0},lh=function(t){Ye(e,t);function e(n,l){var i=t.call(this,n,l)||this;return i.scheduler=n,i.work=l,i.pending=!1,i}return e.prototype.schedule=function(n,l){var i;if(l===void 0&&(l=0),this.closed)return this;this.state=n;var o=this.id,r=this.scheduler;return o!=null&&(this.id=this.recycleAsyncId(r,o,l)),this.pending=!0,this.delay=l,this.id=(i=this.id)!==null&&i!==void 0?i:this.requestAsyncId(r,this.id,l),this},e.prototype.requestAsyncId=function(n,l,i){return i===void 0&&(i=0),zo.setInterval(n.flush.bind(n,this),i)},e.prototype.recycleAsyncId=function(n,l,i){if(i===void 0&&(i=0),i!=null&&this.delay===i&&this.pending===!1)return l;l!=null&&zo.clearInterval(l)},e.prototype.execute=function(n,l){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var i=this._execute(n,l);if(i)return i;this.pending===!1&&this.id!=null&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(n,l){var i=!1,o;try{this.work(n)}catch(r){i=!0,o=r||new Error("Scheduled action threw falsy error")}if(i)return this.unsubscribe(),o},e.prototype.unsubscribe=function(){if(!this.closed){var n=this,l=n.id,i=n.scheduler,o=i.actions;this.work=this.state=this.scheduler=null,this.pending=!1,ll(o,this),l!=null&&(this.id=this.recycleAsyncId(i,l,null)),this.delay=null,t.prototype.unsubscribe.call(this)}},e}(nh),Qo=function(){function t(e,n){n===void 0&&(n=t.now),this.schedulerActionCtor=e,this.now=n}return t.prototype.schedule=function(e,n,l){return n===void 0&&(n=0),new this.schedulerActionCtor(this,e).schedule(l,n)},t.now=th.now,t}(),ih=function(t){Ye(e,t);function e(n,l){l===void 0&&(l=Qo.now);var i=t.call(this,n,l)||this;return i.actions=[],i._active=!1,i}return e.prototype.flush=function(n){var l=this.actions;if(this._active){l.push(n);return}var i;this._active=!0;do if(i=n.execute(n.state,n.delay))break;while(n=l.shift());if(this._active=!1,i){for(;n=l.shift();)n.unsubscribe();throw i}},e}(Qo),ml=new ih(lh),oh=ml,Gi=new ve(function(t){return t.complete()});function Lc(t){return t&&ne(t.schedule)}function Mc(t){return t[t.length-1]}function rh(t){return Lc(Mc(t))?t.pop():void 0}function ch(t,e){return typeof Mc(t)=="number"?t.pop():e}var Xi=function(t){return t&&typeof t.length=="number"&&typeof t!="function"};function Tc(t){return ne(t==null?void 0:t.then)}function Hc(t){return ne(t[pi])}function Dc(t){return Symbol.asyncIterator&&ne(t==null?void 0:t[Symbol.asyncIterator])}function jc(t){return new TypeError("You provided "+(t!==null&&typeof t=="object"?"an invalid object":"'"+t+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function ah(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var _c=ah();function Pc(t){return ne(t==null?void 0:t[_c])}function Oc(t){return fs(this,arguments,function(){var n,l,i,o;return C(this,function(r){switch(r.label){case 0:n=t.getReader(),r.label=1;case 1:r.trys.push([1,,9,10]),r.label=2;case 2:return[4,Qt(n.read())];case 3:return l=r.sent(),i=l.value,o=l.done,o?[4,Qt(void 0)]:[3,5];case 4:return[2,r.sent()];case 5:return[4,Qt(i)];case 6:return[4,r.sent()];case 7:return r.sent(),[3,2];case 8:return[3,10];case 9:return n.releaseLock(),[7];case 10:return[2]}})})}function $c(t){return ne(t==null?void 0:t.getReader)}function je(t){if(t instanceof ve)return t;if(t!=null){if(Hc(t))return dh(t);if(Xi(t))return sh(t);if(Tc(t))return uh(t);if(Dc(t))return qc(t);if(Pc(t))return gh(t);if($c(t))return hh(t)}throw jc(t)}function dh(t){return new ve(function(e){var n=t[pi]();if(ne(n.subscribe))return n.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function sh(t){return new ve(function(e){for(var n=0;n0&&Z(i)},void 0,void 0,function(){V!=null&&V.closed||V==null||V.unsubscribe(),p=null})),!X&&Z(l!=null?typeof l==”number”?l:+l-a.now():i)})}function Rh(t){throw new Xh(t)}function at(t,e){return $e(function(n,l){var i=0;n.subscribe(De(l,function(o){l.next(t.call(e,o,i++))}))})}var Eh=Array.isArray;function yh(t,e){return Eh(e)?t.apply(void 0,Ge([],M(e))):t(e)}function Sh(t){return at(function(e){return yh(t,e)})}function Ch(t,e,n,l,i,o,r,c){var a=[],d=0,s=0,u=!1,b=function(){u&&!a.length&&!d&&e.complete()},g=function(p){return d<l?V(p):a.push(p)},V=function(p){d++;var X=!1;je(n(p,s++)).subscribe(De(e,function(Z){e.next(Z)},function(){X=!0},void 0,function(){if(X)try{d–;for(var Z=function(){var f=a.shift();r||V(f)};a.length&&d<l;)Z();b()}catch(f){e.error(f)}}))};return t.subscribe(De(e,g,function(){u=!0,b()})),function(){}}function Al(t,e,n){return n===void 0&&(n=1/0),ne(e)?Al(function(l,i){return at(function(o,r){return e(l,o,i,r)})(je(t(l,i)))},n):(typeof e=="number"&&(n=e),$e(function(l,i){return Ch(l,i,t,n)}))}function Wh(t){return t===void 0&&(t=1/0),Al(Qc,t)}var vh=["addListener","removeListener"],Bh=["addEventListener","removeEventListener"],Nh=["on","off"];function ln(t,e,n,l){if(ne(n)&&(l=n,n=void 0),l)return ln(t,e,n).pipe(Sh(l));var i=M(Uh(t)?Bh.map(function(c){return function(a){return t[c](e,a,n)}}):Fh(t)?vh.map(Ko(t,e)):Yh(t)?Nh.map(Ko(t,e)):[],2),o=i[0],r=i[1];if(!o&&Xi(t))return Al(function(c){return ln(c,e,n)})(je(t));if(!o)throw new TypeError("Invalid event target");return new ve(function(c){var a=function(){for(var d=[],s=0;s<arguments.length;s++)d[s]=arguments[s];return c.next(1<d.length?d:d[0])};return o(a),function(){return r(a)}})}function Ko(t,e){return function(n){return function(l){return t[n](e,l)}}}function Fh(t){return ne(t.addListener)&&ne(t.removeListener)}function Yh(t){return ne(t.on)&&ne(t.off)}function Uh(t){return ne(t.addEventListener)&&ne(t.removeEventListener)}function Jh(t,e,n){n===void 0&&(n=oh);var l=-1;return e!=null&&(Lc(e)?n=e:l=e),new ve(function(i){var o=la(t)?0-n.now():t;o<0&&(o=0);var r=0;return n.schedule(function(){i.closed||(i.next(r++),0<=l?this.schedule(void 0,l):i.complete())},o)})}function ia(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=rh(t),l=ch(t,1/0),i=t;return i.length?i.length===1?je(i[0]):Wh(l)(Gh(i,n)):Gi}function Vt(t,e){return $e(function(n,l){var i=0;n.subscribe(De(l,function(o){return t.call(e,o,i++)&&l.next(o)}))})}function xh(t){return $e(function(e,n){var l=[];return e.subscribe(De(n,function(i){return l.push(i)},function(){n.next(l),n.complete()})),je(t).subscribe(De(n,function(){var i=l;l=[],n.next(i)},ti)),function(){l=null}})}function wh(t,e){return e===void 0&&(e=ml),$e(function(n,l){var i=null,o=null,r=null,c=function(){if(i){i.unsubscribe(),i=null;var d=o;o=null,l.next(d)}};function a(){var d=r+t,s=e.now();if(s<d){i=this.schedule(void 0,d-s),l.add(i);return}c()}n.subscribe(De(l,function(d){o=d,r=e.now(),i||(i=e.schedule(a,t),l.add(i))},function(){c(),l.complete()},void 0,function(){o=i=null}))})}function oa(t){return t<=0?function(){return Gi}:$e(function(e,n){var l=0;e.subscribe(De(n,function(i){++l<=t&&(n.next(i),t0&&(s=new gn({next:function(S){return E.next(S)},error:function(S){p=!0,X(),u=xl(Z,i,S),E.error(S)},complete:function(){V=!0,X(),u=xl(Z,r),E.complete()}}),je(G).subscribe(s))})(d)}}function xl(t,e){for(var n=[],l=2;lspan,h1,h2,h3,h4,h5,h6″)}catch{n=null}if(n){var l=n.textContent||””;return ra(l)?l:””}return da(e)},Ri=function(t,e){return t?e.some(function(n){var l;return(l=t==null?void 0:t.matches)===null||l===void 0?void 0:l.call(t,n)})?t:Ri(t==null?void 0:t.parentElement,e):null},_h=function(t){var e,n,l;if(!t)return{};var i=(l=(n=t==null?void 0:t.tagName)===null||n===void 0?void 0:n.toLowerCase)===null||l===void 0?void 0:l.call(n),o=(e={},e[Uc]=i,e[Jc]=Ii(t),e[xc]=window.location.href.split(“?”)[0],e);return aa(o)},Ph=function(t){return new Promise(function(e,n){var l;try{var i=document.createElement(“script”);i.type=”text/javascript”,i.async=!0,i.src=t,i.addEventListener(“load”,function(){e({status:!0})},{once:!0}),i.addEventListener(“error”,function(){n({status:!1,message:”Failed to load the script “.concat(t)})}),(l=document.head)===null||l===void 0||l.appendChild(i)}catch(o){n(o)}})};function Oh(){return””.concat(Date.now(),”-“).concat(Math.random().toString(36).substr(2,9))}var Ei=function(t){return!(t.event.target===null||!t.closestTrackedAncestor)},$h=function(){function t(e){var n=e===void 0?{}:e,l=n.origin,i=l===void 0?Ln:l,o=this;this.endpoint=Ln,this.requestCallbacks={},this.onSelect=function(r){o.notify({action:”element-selected”,data:r})},this.onTrack=function(r,c){r===”selector-mode-changed”?o.notify({action:”track-selector-mode-changed”,data:c}):r===”selector-moved”&&o.notify({action:”track-selector-moved”,data:c})},this.endpoint=i}return t.prototype.notify=function(e){var n,l,i,o;(l=(n=this.logger)===null||n===void 0?void 0:n.debug)===null||l===void 0||l.call(n,”Message sent: “,JSON.stringify(e)),(o=(i=window.opener)===null||i===void 0?void 0:i.postMessage)===null||o===void 0||o.call(i,e,this.endpoint)},t.prototype.sendRequest=function(e,n,l){var i=this;l===void 0&&(l={timeout:15e3});var o=Oh(),r={id:o,action:e,args:n},c=new Promise(function(a,d){i.requestCallbacks[o]={resolve:a,reject:d},i.notify(r),(l==null?void 0:l.timeout)>0&&setTimeout(function(){d(new Error(“”.concat(e,” timed out (id: “).concat(o,”)”))),delete i.requestCallbacks[o]},l.timeout)});return c},t.prototype.handleResponse=function(e){var n;if(!this.requestCallbacks[e.id]){(n=this.logger)===null||n===void 0||n.warn(“No callback found for request id: “.concat(e.id));return}this.requestCallbacks[e.id].resolve(e.responseData),delete this.requestCallbacks[e.id]},t.prototype.setup=function(e){var n=this,l=e===void 0?{}:e,i=l.logger,o=l.endpoint,r=l.isElementSelectable,c=l.cssSelectorAllowlist,a=l.actionClickAllowlist;this.logger=i,o&&this.endpoint===Ln&&(this.endpoint=o);var d=null;window.addEventListener(“message”,function(s){var u,b,g,V,p;if((b=(u=n.logger)===null||u===void 0?void 0:u.debug)===null||b===void 0||b.call(u,”Message received: “,JSON.stringify(s)),n.endpoint===s.origin){var X=s==null?void 0:s.data,Z=X==null?void 0:X.action;if(Z)if(“id”in X)(V=(g=n.logger)===null||g===void 0?void 0:g.debug)===null||V===void 0||V.call(g,”Received Response to previous request: “,JSON.stringify(s)),n.handleResponse(X);else if(Z===”ping”)n.notify({action:”pong”});else if(Z===”initialize-visual-tagging-selector”){var f=X==null?void 0:X.data;Ph(Kg).then(function(){var G;d=(G=window==null?void 0:window.amplitudeVisualTaggingSelector)===null||G===void 0?void 0:G.call(window,{getEventTagProps:_h,isElementSelectable:function(y){return r?r((f==null?void 0:f.actionType)||”click”,y):!0},onTrack:n.onTrack,onSelect:n.onSelect,visualHighlightClass:Lg,messenger:n,cssSelectorAllowlist:c,actionClickAllowlist:a}),n.notify({action:”selector-loaded”})}).catch(function(){var G;(G=n.logger)===null||G===void 0||G.warn(“Failed to initialize visual tagging selector”)})}else Z===”close-visual-tagging-selector”&&((p=d==null?void 0:d.close)===null||p===void 0||p.call(d))}}),this.notify({action:”page-loaded”})},t}(),qh=[“id”,”class”,”style”,”value”,”onclick”,”onchange”,”oninput”,”onblur”,”onsubmit”,”onfocus”,”onkeydown”,”onkeyup”,”onkeypress”,”data-reactid”,”data-react-checksum”,”data-reactroot”],eb=[“type”],tb=[“svg”,”path”,”g”],nb=[“password”,”hidden”],lb=128,ib=1024;function ob(t){var e,n,l,i,o,r;if(t===null)return null;var c=String(t.tagName).toLowerCase(),a={tag:c},d=Array.from((i=(l=t.parentElement)===null||l===void 0?void 0:l.children)!==null&&i!==void 0?i:[]);d.length&&(a.index=d.indexOf(t),a.indexOfType=d.filter(function(y){return y.tagName===t.tagName}).indexOf(t));var s=(r=(o=t.previousElementSibling)===null||o===void 0?void 0:o.tagName)===null||r===void 0?void 0:r.toLowerCase();s&&(a.prevSib=String(s));var u=t.getAttribute(“id”);u&&(a.id=String(u));var b=Array.from(t.classList);b.length&&(a.classes=b);var g={},V=Array.from(t.attributes),p=V.filter(function(y){return!qh.includes(y.name)}),X=!ca(t);if(!nb.includes(String(t.getAttribute(“type”)))&&!tb.includes(c))try{for(var Z=ae(p),f=Z.next();!f.done;f=Z.next()){var G=f.value;X&&!eb.includes(G.name)||(g[G.name]=String(G.value).substring(0,lb))}}catch(y){e={error:y}}finally{try{f&&!f.done&&(n=Z.return)&&n.call(Z)}finally{if(e)throw e.error}}return Object.keys(g).length&&(a.attrs=g),a}function rb(t){var e=[];if(!t)return e;e.push(t);for(var n=t.parentElement;n&&n.tagName!==”HTML”;)e.push(n),n=n.parentElement;return e}var cb=function(t){var e=[];if(!t)return[];var n=rb(t);return e=ab(n.map(function(l){return ob(l)}),ib),e};function ab(t,e){for(var n=0,l=0;le)return t.slice(0,l)}return t}function Tn(t,e){e===void 0&&(e=!1);try{if(t==null)return e?”None”:null;if(typeof t==”string”)return e?(t=t.replace(/\\/g,”\\\\”).replace(/\n/g,”\\n”).replace(/\t/g,”\\t”).replace(/\r/g,”\\r”),t.includes(‘”‘)?”‘”.concat(t,”‘”):t.includes(“‘”)?’”‘.concat(t.replace(/’/g,”\\’”),’”‘):”‘”.concat(t,”‘”)):t;if(typeof t==”boolean”)return t?”True”:”False”;if(Array.isArray(t)){var n=t.map(function(o){return Tn(o,!0)});return”[“.concat(n.join(“, “),”]”)}else if(typeof t==”object”){var l=Object.entries(t).filter(function(o){var r=M(o,1),c=r[0];return c!=null}).map(function(o){var r=M(o,2),c=r[0],a=r[1];return””.concat(String(Tn(c,!0)),”: “).concat(String(Tn(a,!0)))}),i=”{“.concat(l.join(“, “),”}”);return i.includes(“\\’”)&&(i=i.replace(/’/g,”‘”).replace(/’/g,”\\’”)),i}return t.toString()}catch{return null}}var db=5;function sb(t){var e=t.amplitude,n=t.allObservables,l=t.options,i=t.shouldTrackEvent,o=n.clickObservable,r=o.pipe(Kh(),Vt(function(s){var u=M(s,2),b=u[0],g=u[1],V=b.event.target!==g.event.target,p=Math.abs(g.event.screenX-b.event.screenX)<=20&&Math.abs(g.event.screenY-b.event.screenY)=db,ei);try{for(var V=ae(s),p=V.next();!p.done;p=V.next()){var X=p.value;e==null||e.track(g,X.targetElementProperties)}}catch(Z){u={error:Z}}finally{try{p&&!p.done&&(b=V.return)&&b.call(V)}finally{if(u)throw u.error}}})}function ub(t){var e=t.amplitude,n=t.allObservables,l=t.getEventProperties,i=t.shouldTrackEvent,o=n.changeObservable,r=o.pipe(Vt(Ei),Vt(function(c){return i(“change”,c.closestTrackedAncestor)}));return r.subscribe(function(c){e==null||e.track(yg,l(“change”,c.closestTrackedAncestor))})}function gb(t){var e=t.amplitude,n=t.allObservables,l=t.options,i=t.getEventProperties,o=t.shouldTrackEvent,r=t.shouldTrackActionClick,c=n.clickObservable,a=n.mutationObservable,d=n.navigateObservable,s=c.pipe(Vt(function(V){return!o(“click”,V.closestTrackedAncestor)}),at(function(V){var p=Ri(V.event.target,l.actionClickAllowlist);return V.closestTrackedAncestor=p,V.closestTrackedAncestor!==null&&(V.targetElementProperties=i(V.type,V.closestTrackedAncestor)),V}),Vt(Ei),Vt(function(V){return r(“click”,V.closestTrackedAncestor)})),u=[a];d&&u.push(d);var b=ia.apply(void 0,Ge([],M(u),!1)),g=s.pipe(Lh(function(V){return b.pipe(oa(1),Ih({first:500,with:function(){return Gi}}),at(function(){return V}))}));return g.subscribe(function(V){e==null||e.track(ei,i(“click”,V.closestTrackedAncestor))})}var zt;(function(t){t.ClickObservable=”clickObservable”,t.ChangeObservable=”changeObservable”,t.NavigateObservable=”navigateObservable”,t.MutationObservable=”mutationObservable”})(zt||(zt={}));function hb(t){return t.type===”click”||t.type===”change”}var bb=function(t){var e,n,l;t===void 0&&(t={});var i=t.dataAttributePrefix,o=i===void 0?bu:i,r=t.visualTaggingOptions,c=r===void 0?{enabled:!0,messenger:new $h}:r;t.cssSelectorAllowlist=(e=t.cssSelectorAllowlist)!==null&&e!==void 0?e:hu,t.actionClickAllowlist=(n=t.actionClickAllowlist)!==null&&n!==void 0?n:Vu,t.debounceTime=(l=t.debounceTime)!==null&&l!==void 0?l:0;var a=Eg,d=”enrichment”,s=[],u=function(){var Z,f=ln(document,”click”,{capture:!0}).pipe(at(function(S){return g(S,”click”)}),Bn()),G=ln(document,”change”,{capture:!0}).pipe(at(function(S){return g(S,”change”)}),Bn()),y;window.navigation&&(y=ln(window.navigation,”navigate”).pipe(at(function(S){return g(S,”navigate”)}),Bn()));var E=new ve(function(S){var A=new MutationObserver(function(F){S.next(F)});return A.observe(document.body,{childList:!0,attributes:!0,characterData:!0,subtree:!0}),function(){return A.disconnect()}}).pipe(at(function(S){return g(S,”mutation”)}),Bn());return Z={},Z[zt.ClickObservable]=f,Z[zt.ChangeObservable]=G,Z[zt.NavigateObservable]=y,Z[zt.MutationObservable]=E,Z},b=function(Z,f){var G,y,E,S=(E=(y=f==null?void 0:f.tagName)===null||y===void 0?void 0:y.toLowerCase)===null||E===void 0?void 0:E.call(y),A=typeof f.getBoundingClientRect==”function”?f.getBoundingClientRect():{left:null,top:null},F=f.getAttribute(“aria-label”),w=Dh(f,o),P=da(f),j=(G={},G[Sg]=f.getAttribute(“id”)||””,G[Cg]=f.getAttribute(“class”),G[Wg]=cb(f),G[Uc]=S,G[Jc]=Ii(f),G[Bg]=A.left==null?null:Math.round(A.left),G[Ng]=A.top==null?null:Math.round(A.top),G[Fg]=F,G[Yg]=w,G[Ug]=P,G[xc]=window.location.href.split(“?”)[0],G[Jg]=typeof document”u”?[2]:(G=wl(t,t.cssSelectorAllowlist),y=wl(t,t.actionClickAllowlist),E=u(),S=sb({allObservables:E,options:t,amplitude:f,shouldTrackEvent:G}),s.push(S),A=ub({allObservables:E,getEventProperties:b,amplitude:f,shouldTrackEvent:G}),s.push(A),F=gb({allObservables:E,options:t,getEventProperties:b,amplitude:f,shouldTrackEvent:G,shouldTrackActionClick:y}),s.push(F),(j=Z==null?void 0:Z.loggerProvider)===null||j===void 0||j.log(“”.concat(a,” has been successfully added.”)),window.opener&&c.enabled&&(w=t.cssSelectorAllowlist,P=t.actionClickAllowlist,(T=c.messenger)===null||T===void 0||T.setup(B(B({logger:Z==null?void 0:Z.loggerProvider},(Z==null?void 0:Z.serverZone)&&{endpoint:Qg[Z.serverZone]}),{isElementSelectable:wl(t,Ge(Ge([],M(w),!1),M(P),!1)),cssSelectorAllowlist:w,actionClickAllowlist:P}))),[2])})})},p=function(Z){return W(void 0,void 0,void 0,function(){return C(this,function(f){return[2,Z]})})},X=function(){return W(void 0,void 0,void 0,function(){var Z,f,G,y,E;return C(this,function(S){try{for(Z=ae(s),f=Z.next();!f.done;f=Z.next())G=f.value,G.unsubscribe()}catch(A){y={error:A}}finally{try{f&&!f.done&&(E=Z.return)&&E.call(Z)}finally{if(y)throw y.error}}return[2]})})};return{name:a,type:d,setup:V,execute:p,teardown:X}},Vb=”@amplitude/plugin-network-capture-browser”,mb=”[Amplitude] Network Request”,sa=”500-599″;function Hn(t,e){var n=e.replace(/[-[\]{}()+?.,\\^$|#\s]/g,”\\$&”),l=”^”+n.replace(/\*/g,”.*”)+”$”,i=new RegExp(l);return i.test(t)}function ua(t,e){var n,l,i=e.split(“,”);try{for(var o=ae(i),r=o.next();!r.done;r=o.next()){var c=r.value,a=M(c.split(“-“).map(Number),2),d=a[0],s=a[1];if(t===d&&s===void 0||t>=d&&t”u”?[2]:(b=r(),g=fb({allObservables:b,networkTrackingOptions:t,amplitude:u}),i.push(g),l=s==null?void 0:s.loggerProvider,l==null||l.log(“”.concat(e,” has been successfully added.”)),[2])})})},a=function(s){return W(void 0,void 0,void 0,function(){return C(this,function(u){return[2,s]})})},d=function(){return W(void 0,void 0,void 0,function(){var s,u,b,g,V;return C(this,function(p){try{for(s=ae(i),u=s.next();!u.done;u=s.next())b=u.value,b.unsubscribe()}catch(X){g={error:X}}finally{try{u&&!u.done&&(V=s.return)&&V.call(s)}finally{if(g)throw g.error}}return[2]})})};return{name:e,type:n,setup:c,execute:a,teardown:d}},Gb=”utm_campaign”,Xb=”utm_content”,Ib=”utm_id”,Rb=”utm_medium”,Eb=”utm_source”,yb=”utm_term”,Lo=”dclid”,Mo=”fbclid”,To=”gbraid”,Ho=”gclid”,Do=”ko_click_id”,jo=”li_fat_id”,_o=”msclkid”,Po=”rtd_cid”,Oo=”ttclid”,$o=”twclid”,qo=”wbraid”,yi={utm_campaign:void 0,utm_content:void 0,utm_id:void 0,utm_medium:void 0,utm_source:void 0,utm_term:void 0,referrer:void 0,referring_domain:void 0,dclid:void 0,gbraid:void 0,gclid:void 0,fbclid:void 0,ko_click_id:void 0,li_fat_id:void 0,msclkid:void 0,rtd_cid:void 0,ttclid:void 0,twclid:void 0,wbraid:void 0},er=function(t){var e=t.split(“.”);return e.length2?(o=l,r=i):typeof l==”string”?(o=l,r=void 0):(o=l==null?void 0:l.userId,r=l),we(this._init(B(B({},r),{userId:o,apiKey:n})))},e.prototype._init=function(n){var l,i,o;return W(this,void 0,void 0,function(){var r,c,a,d,s,u,b=this;return C(this,function(g){switch(g.label){case 0:return this.initializing?[2]:(this.initializing=!0,[4,ju(n.apiKey,n,this)]);case 1:return r=g.sent(),r.fetchRemoteConfig?[4,Rg(r)]:[3,4];case 2:return c=g.sent(),[4,c.generateJoinedConfig()];case 3:r=g.sent(),g.label=4;case 4:return[4,t.prototype._init.call(this,r)];case 5:return g.sent(),this.logBrowserOptions(r),Ec(this.config.defaultTracking)?(a=Wu(this.config),this.webAttribution=new Fb(a,this.config),[4,this.webAttribution.init()]):[3,7];case 6:g.sent(),g.label=7;case 7:return d=$n(),s=Number.isNaN(Number(d.ampSessionId))?void 0:Number(d.ampSessionId),this.setSessionId((o=(i=(l=n.sessionId)!==null&&l!==void 0?l:s)!==null&&i!==void 0?i:this.config.sessionId)!==null&&o!==void 0?o:Date.now()),u=un(n.instanceName),u.identityStore.setIdentity({userId:this.config.userId,deviceId:this.config.deviceId}),this.config.offline===gu?[3,9]:[4,this.add(hg()).promise];case 8:g.sent(),g.label=9;case 9:return[4,this.add(new Hs).promise];case 10:return g.sent(),[4,this.add(new Fu).promise];case 11:return g.sent(),[4,this.add(new lu).promise];case 12:return g.sent(),gg(this.config),Ru(this.config.defaultTracking)?(this.config.loggerProvider.debug(“Adding file download tracking plugin”),[4,this.add(ug()).promise]):[3,14];case 13:g.sent(),g.label=14;case 14:return Eu(this.config.defaultTracking)?(this.config.loggerProvider.debug(“Adding form interaction plugin”),[4,this.add(sg()).promise]):[3,16];case 15:g.sent(),g.label=16;case 16:return yc(this.config.defaultTracking)?(this.config.loggerProvider.debug(“Adding page view tracking plugin”),[4,this.add(rg(Cu(this.config))).promise]):[3,18];case 17:g.sent(),g.label=18;case 18:return Cc(this.config.autocapture)?(this.config.loggerProvider.debug(“Adding user interactions plugin (autocapture plugin)”),[4,this.add(bb(yu(this.config))).promise]):[3,20];case 19:g.sent(),g.label=20;case 20:return Sc(this.config.autocapture)?(this.config.loggerProvider.debug(“Adding network tracking plugin”),[4,this.add(pb(Su(this.config))).promise]):[3,22];case 21:g.sent(),g.label=22;case 22:return this.initializing=!1,[4,this.runQueuedFunctions(“dispatchQ”)];case 23:return g.sent(),u.eventBridge.setEventReceiver(function(V){b.track(V.eventType,V.eventProperties)}),[2]}})})},e.prototype.getUserId=function(){var n;return(n=this.config)===null||n===void 0?void 0:n.userId},e.prototype.setUserId=function(n){if(!this.config){this.q.push(this.setUserId.bind(this,n));return}this.config.loggerProvider.debug(“function setUserId: “,n),(n!==this.config.userId||n===void 0)&&(this.config.userId=n,this.timeline.onIdentityChanged({userId:n}),tu(n,this.config.instanceName))},e.prototype.getDeviceId=function(){var n;return(n=this.config)===null||n===void 0?void 0:n.deviceId},e.prototype.setDeviceId=function(n){if(!this.config){this.q.push(this.setDeviceId.bind(this,n));return}this.config.loggerProvider.debug(“function setDeviceId: “,n),n!==this.config.deviceId&&(this.config.deviceId=n,this.timeline.onIdentityChanged({deviceId:n}),nu(n,this.config.instanceName))},e.prototype.reset=function(){this.setDeviceId(Yt()),this.setUserId(void 0)},e.prototype.getSessionId=function(){var n;return(n=this.config)===null||n===void 0?void 0:n.sessionId},e.prototype.setSessionId=function(n){var l,i=[];if(!this.config)return this.q.push(this.setSessionId.bind(this,n)),we(Promise.resolve());if(n===this.config.sessionId)return we(Promise.resolve());this.config.loggerProvider.debug(“function setSessionId: “,n);var o=this.getSessionId();o!==n&&this.timeline.onSessionIdChanged(n);var r=this.config.lastEventTime,c=(l=this.config.lastEventId)!==null&&l!==void 0?l:-1;this.config.sessionId=n,this.config.lastEventTime=void 0,this.config.pageCounter=0,bo(this.config.defaultTracking)&&(o&&r&&i.push(this.track(Ao,void 0,{device_id:this.previousSessionDeviceId,event_id:++c,session_id:o,time:r+1,user_id:this.previousSessionUserId}).promise),this.config.lastEventTime=this.config.sessionId);var a=this.trackCampaignEventIfNeeded(++c,i);return bo(this.config.defaultTracking)&&i.push(this.track(mo,void 0,{event_id:a?++c:c,session_id:this.config.sessionId,time:this.config.lastEventTime}).promise),this.previousSessionDeviceId=this.config.deviceId,this.previousSessionUserId=this.config.userId,we(Promise.all(i))},e.prototype.extendSession=function(){if(!this.config){this.q.push(this.extendSession.bind(this));return}this.config.lastEventTime=Date.now()},e.prototype.setTransport=function(n){if(!this.config){this.q.push(this.setTransport.bind(this,n));return}this.config.transportProvider=Nc(n)},e.prototype.identify=function(n,l){if(Bl(n)){var i=n._q;n._q=[],n=vl(new Mt,i)}return l!=null&&l.user_id&&this.setUserId(l.user_id),l!=null&&l.device_id&&this.setDeviceId(l.device_id),t.prototype.identify.call(this,n,l)},e.prototype.groupIdentify=function(n,l,i,o){if(Bl(i)){var r=i._q;i._q=[],i=vl(new Mt,r)}return t.prototype.groupIdentify.call(this,n,l,i,o)},e.prototype.revenue=function(n,l){if(Bl(n)){var i=n._q;n._q=[],n=vl(new Qs,i)}return t.prototype.revenue.call(this,n,l)},e.prototype.trackCampaignEventIfNeeded=function(n,l){if(!this.webAttribution||!this.webAttribution.shouldTrackNewCampaign)return!1;var i=this.webAttribution.generateCampaignEvent(n);return l?l.push(this.track(i).promise):this.track(i),this.config.loggerProvider.log(“Tracking attribution.”),!0},e.prototype.process=function(n){return W(this,void 0,void 0,function(){var l,i,o;return C(this,function(r){return l=Date.now(),i=Gc(this.config.sessionTimeout,this.config.lastEventTime),o=this.webAttribution&&this.webAttribution.shouldSetSessionIdOnNewCampaign(),n.event_type!==mo&&n.event_type!==Ao&&(!n.session_id||n.session_id===this.getSessionId())&&(i||o?(this.setSessionId(l),o&&this.config.loggerProvider.log(“Created a new session for new campaign.”)):i||this.trackCampaignEventIfNeeded()),[2,t.prototype.process.call(this,n)]})})},e.prototype.logBrowserOptions=function(n){try{var l=B(B({},n),{apiKey:n.apiKey.substring(0,10)+”********”});this.config.loggerProvider.debug(“Initialized Amplitude with BrowserConfig:”,JSON.stringify(l))}catch(i){this.config.loggerProvider.error(“Error logging browser config”,i)}},e}(zs),Ub=function(){var t=new Yb;return{init:ge(t.init.bind(t),”init”,se(t),ue(t,[“config”])),add:ge(t.add.bind(t),”add”,se(t),ue(t,[“config.apiKey”,”timeline.plugins”])),remove:ge(t.remove.bind(t),”remove”,se(t),ue(t,[“config.apiKey”,”timeline.plugins”])),track:ge(t.track.bind(t),”track”,se(t),ue(t,[“config.apiKey”,”timeline.queue.length”])),logEvent:ge(t.logEvent.bind(t),”logEvent”,se(t),ue(t,[“config.apiKey”,”timeline.queue.length”])),identify:ge(t.identify.bind(t),”identify”,se(t),ue(t,[“config.apiKey”,”timeline.queue.length”])),groupIdentify:ge(t.groupIdentify.bind(t),”groupIdentify”,se(t),ue(t,[“config.apiKey”,”timeline.queue.length”])),setGroup:ge(t.setGroup.bind(t),”setGroup”,se(t),ue(t,[“config.apiKey”,”timeline.queue.length”])),revenue:ge(t.revenue.bind(t),”revenue”,se(t),ue(t,[“config.apiKey”,”timeline.queue.length”])),flush:ge(t.flush.bind(t),”flush”,se(t),ue(t,[“config.apiKey”,”timeline.queue.length”])),getUserId:ge(t.getUserId.bind(t),”getUserId”,se(t),ue(t,[“config”,”config.userId”])),setUserId:ge(t.setUserId.bind(t),”setUserId”,se(t),ue(t,[“config”,”config.userId”])),getDeviceId:ge(t.getDeviceId.bind(t),”getDeviceId”,se(t),ue(t,[“config”,”config.deviceId”])),setDeviceId:ge(t.setDeviceId.bind(t),”setDeviceId”,se(t),ue(t,[“config”,”config.deviceId”])),reset:ge(t.reset.bind(t),”reset”,se(t),ue(t,[“config”,”config.userId”,”config.deviceId”])),getSessionId:ge(t.getSessionId.bind(t),”getSessionId”,se(t),ue(t,[“config”])),setSessionId:ge(t.setSessionId.bind(t),”setSessionId”,se(t),ue(t,[“config”])),extendSession:ge(t.extendSession.bind(t),”extendSession”,se(t),ue(t,[“config”])),setOptOut:ge(t.setOptOut.bind(t),”setOptOut”,se(t),ue(t,[“config”])),setTransport:ge(t.setTransport.bind(t),”setTransport”,se(t),ue(t,[“config”]))}};const Pt=Ub();var Jb=Pt.add,tr=Pt.identify,xb=Pt.init,wb=Pt.reset,kb=Pt.setUserId,nr=Pt.track;const rn=class rn{constructor(){this.inited=!1,this.storageUserId=null,this.storageUserProperties={},this.experiment=null}static createPageViewTrackingEnrichment(){return{name:”page-view-tracking-enrichment”,type:”enrichment”,setup:async()=>{},execute:async e=>{if(e.event_properties&&typeof e.event_properties==”object”)for(const n of rn.PROPERTIES_TO_REMOVE)delete e.event_properties[n];return e}}}init(){this.inited||pe.amplitudeKey&&(this.inited=!0,Jb(rn.createPageViewTrackingEnrichment()),xb(pe.amplitudeKey,{transport:”beacon”,autocapture:{elementInteractions:!0}}))}reset(){this.inited=!1,this.storageUserId=null,this.storageUserProperties={},wb()}setUserId(e){!e||this.storageUserId===e||(this.inited||this.init(),this.storageUserId=e,kb(e))}trackOnce(e){this.inited||this.init(),nr(e)}batchTrack(e){this.inited||this.init();for(const n of e)nr(n)}customUserProperties(e){if(!e||Object.keys(e).length===0)return;this.inited||this.init();let n;this.storageUserProperties?n=this.extractChangedValues(this.storageUserProperties,e):n=e,this.storageUserProperties=e;const l=new Mt;Object.entries(n).forEach(([i,o])=>{l.set(i,typeof o==”number”?`${o}`:o)}),tr(l)}customUserPropertyOne(e,n){if(!e||(this.inited||this.init(),this.storageUserProperties[e]===n))return;this.storageUserProperties[e]=n;const l=new Mt;l.set(e,n),tr(l)}extractChangedValues(e,n){const l={};return Object.keys(n).forEach(i=>{(!(i in e)||e[i]!==n[i])&&(l[i]=n[i])}),l}formatToAmplitude(e){const{events:n,clientInfo:l}=e;return On(“server”,n.map(i=>{const{eventName:o,extData:r}=i;return{event_type:o,event_properties:{ext_data:r,client_info:l}}}))}};rn.PROPERTIES_TO_REMOVE=[“page_title”,”[Amplitude] Page Title”];let li=rn;const lr=new li;function dt(t,e,n,l){return new(n||(n=Promise))(function(i,o){function r(d){try{a(l.next(d))}catch(s){o(s)}}function c(d){try{a(l.throw(d))}catch(s){o(s)}}function a(d){var s;d.done?i(d.value):(s=d.value,s instanceof n?s:new n(function(u){u(s)})).then(r,c)}a((l=l.apply(t,[])).next())})}function st(t,e){var n,l,i,o,r={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},typeof Symbol==”function”&&(o[Symbol.iterator]=function(){return this}),o;function c(a){return function(d){return function(s){if(n)throw new TypeError(“Generator is already executing.”);for(;o&&(o=0,s[0]&&(r=0)),r;)try{if(n=1,l&&(i=2&s[0]?l.return:s[0]?l.throw||((i=l.return)&&i.call(l),0):l.next)&&!(i=i.call(l,s[1])).done)return i;switch(l=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return r.label++,{value:s[1],done:!1};case 5:r.label++,l=s[1],s=[0];continue;case 7:s=r.ops.pop(),r.trys.pop();continue;default:if(i=r.trys,!((i=i.length>0&&i[i.length-1])||s[0]!==6&&s[0]!==2)){r=0;continue}if(s[0]===3&&(!i||s[1]>i[0]&&s[1]<i[3])){r.label=s[1];break}if(s[0]===6&&r.label<i[1]){r.label=i[1],i=s;break}if(i&&r.label<i[2]){r.label=i[2],r.ops.push(s);break}i[2]&&r.ops.pop(),r.trys.pop();continue}s=e.call(t,r)}catch(u){s=[6,u],l=0}finally{n=i=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([a,d])}}}var Ve={exclude:[],include:[],logging:!0,timeout:1e3};function kl(t,e){if(!["include","exclude","permissions_to_check","retries","timeout","logging"].includes(t))throw new Error("Unknown option "+t);if(["include","exclude","permissions_to_check"].includes(t)&&(!Array.isArray(e)||!e.every(function(n){return typeof n=="string"})))throw new Error("The value of the include, exclude and permissions_to_check must be an array of strings");if(["retries","timeout"].includes(t)&&typeof e!="number")throw new Error("The value of retries must be a number");Ve[t]=e}var ha={},zb={timeout:"true"},lt=function(t,e){typeof window>>16,t=Math.imul(t,2246822507),t^=t>>>13,t=Math.imul(t,3266489909),(t^=t>>>16)>>>0}var Se=new Uint32Array([597399067,2869860233,951274213,2716044179]);function Pe(t,e){return t<>>32-e}function Si(t,e){var n;if(e===void 0&&(e=0),e=e?0|e:0,typeof t==”string”&&(n=t,t=new TextEncoder().encode(n).buffer),!(t instanceof ArrayBuffer))throw new TypeError(“Expected key to be ArrayBuffer or string”);var l=new Uint32Array([e,e,e,e]);(function(o,r){for(var c=o.byteLength/16|0,a=new Uint32Array(o,0,4*c),d=0;d<c;d++){var s=a.subarray(4*d,4*(d+1));s[0]=Math.imul(s[0],Se[0]),s[0]=Pe(s[0],15),s[0]=Math.imul(s[0],Se[1]),r[0]=r[0]^s[0],r[0]=Pe(r[0],19),r[0]=r[0]+r[1],r[0]=Math.imul(r[0],5)+1444728091,s[1]=Math.imul(s[1],Se[1]),s[1]=Pe(s[1],16),s[1]=Math.imul(s[1],Se[2]),r[1]=r[1]^s[1],r[1]=Pe(r[1],17),r[1]=r[1]+r[2],r[1]=Math.imul(r[1],5)+197830471,s[2]=Math.imul(s[2],Se[2]),s[2]=Pe(s[2],17),s[2]=Math.imul(s[2],Se[3]),r[2]=r[2]^s[2],r[2]=Pe(r[2],15),r[2]=r[2]+r[3],r[2]=Math.imul(r[2],5)+2530024501,s[3]=Math.imul(s[3],Se[3]),s[3]=Pe(s[3],18),s[3]=Math.imul(s[3],Se[0]),r[3]=r[3]^s[3],r[3]=Pe(r[3],13),r[3]=r[3]+r[0],r[3]=Math.imul(r[3],5)+850148119}})(t,l),function(o,r){var c=o.byteLength/16|0,a=o.byteLength%16,d=new Uint32Array(4),s=new Uint8Array(o,16*c,a);switch(a){case 15:d[3]=d[3]^s[14]<<16;case 14:d[3]=d[3]^s[13]<<8;case 13:d[3]=d[3]^s[12],d[3]=Math.imul(d[3],Se[3]),d[3]=Pe(d[3],18),d[3]=Math.imul(d[3],Se[0]),r[3]=r[3]^d[3];case 12:d[2]=d[2]^s[11]<<24;case 11:d[2]=d[2]^s[10]<<16;case 10:d[2]=d[2]^s[9]<<8;case 9:d[2]=d[2]^s[8],d[2]=Math.imul(d[2],Se[2]),d[2]=Pe(d[2],17),d[2]=Math.imul(d[2],Se[3]),r[2]=r[2]^d[2];case 8:d[1]=d[1]^s[7]<<24;case 7:d[1]=d[1]^s[6]<<16;case 6:d[1]=d[1]^s[5]<<8;case 5:d[1]=d[1]^s[4],d[1]=Math.imul(d[1],Se[1]),d[1]=Pe(d[1],16),d[1]=Math.imul(d[1],Se[2]),r[1]=r[1]^d[1];case 4:d[0]=d[0]^s[3]<<24;case 3:d[0]=d[0]^s[2]<<16;case 2:d[0]=d[0]^s[1]<0&&(i[d]=V)}},r=0,c=Object.entries(t);r<c.length;r++){var a=c[r];o(a[0],a[1])}return i}function Mb(t){return dt(this,void 0,void 0,function(){var e,n;return st(this,function(l){switch(l.label){case 0:return l.trys.push([0,2,,3]),[4,ba()];case 1:return e=l.sent(),n=Si(JSON.stringify(e)),Math.random()”u”)return{name:”unknown”,version:”unknown”};for(var t=navigator.userAgent,e={edg:”Edge”,opr:”Opera”,samsung:”SamsungBrowser”},n=0,l=[/(?Edge|Edg)\/(?\d+(?:\.\d+)?)/,/(?(?:Chrome|Chromium|OPR|Opera|Vivaldi|Brave))\/(?\d+(?:\.\d+)?)/,/(?(?:Firefox|Waterfox|Iceweasel|IceCat))\/(?\d+(?:\.\d+)?)/,/(?Safari)\/(?\d+(?:\.\d+)?)/,/(?MSIE|Trident|IEMobile).+?(?\d+(?:\.\d+)?)/,/(?[A-Za-z]+)\/(?\d+(?:\.\d+)?)/,/(?SamsungBrowser)\/(?\d+(?:\.\d+)?)/,/(?samsung).*Version\/(?\d+(?:\.\d+)?)/i];n<l.length;n++){var i=l[n],o=t.match(i);if(o&&o.groups)return{name:e[o.groups.name.toLowerCase()]||o.groups.name,version:o.groups.version}}return{name:"unknown",version:"unknown"}}function Tb(t){for(var e=0,n=0;n<t.length;++n)e+=Math.abs(t[n]);return e}var Hb=Tt();function ma(t,e,n){for(var l=[],i=0;i<t[0].data.length;i++){for(var o=[],r=0;r<t.length;r++)o.push(t[r].data[i]);l.push(Db(o))}var c=new Uint8ClampedArray(l);return new ImageData(c,e,n)}function Db(t){if(t.length===0)return 0;for(var e={},n=0,l=t;ne[i]&&(i=parseInt(o,10));return i}[“SamsungBrowser”,”Safari”].includes(Hb.name)||lt(“audio”,function(){return dt(this,void 0,void 0,function(){return st(this,function(t){return[2,new Promise(function(e,n){try{var l=new(window.OfflineAudioContext||window.webkitOfflineAudioContext)(1,5e3,44100),i=l.createBufferSource(),o=l.createOscillator();o.frequency.value=1e3;var r,c=l.createDynamicsCompressor();c.threshold.value=-50,c.knee.value=40,c.ratio.value=12,c.attack.value=0,c.release.value=.2,o.connect(c),c.connect(l.destination),o.start(),l.oncomplete=function(a){r=a.renderedBuffer.getChannelData(0),e({sampleHash:Tb(r),oscillator:o.type,maxChannels:l.destination.maxChannelCount,channelCountMode:i.channelCountMode})},l.startRendering()}catch(a){console.error(“Error creating audio fingerprint:”,a),n(a)}})]})})});var jb=Tt().name!==”SamsungBrowser”?1:3;Tt().name!=”Firefox”&&lt(“canvas”,function(){return document.createElement(“canvas”).getContext(“2d”),new Promise(function(t){var e=Array.from({length:jb},function(){return function(){var n=document.createElement(“canvas”),l=n.getContext(“2d”);if(!l)return new ImageData(1,1);n.width=280,n.height=20;var i=l.createLinearGradient(0,0,n.width,n.height);i.addColorStop(0,”red”),i.addColorStop(.16666666666666666,”orange”),i.addColorStop(.3333333333333333,”yellow”),i.addColorStop(.5,”green”),i.addColorStop(.6666666666666666,”blue”),i.addColorStop(.8333333333333334,”indigo”),i.addColorStop(1,”violet”),l.fillStyle=i,l.fillRect(0,0,n.width,n.height);var o=”Random Text WMwmil10Oo”;l.font=”23.123px Arial”,l.fillStyle=”black”,l.fillText(o,-5,15),l.fillStyle=”rgba(0, 0, 255, 0.5)”,l.fillText(o,-3.3,17.7),l.beginPath(),l.moveTo(0,0),l.lineTo(2*n.width/7,n.height),l.strokeStyle=”white”,l.lineWidth=2,l.stroke();var r=l.getImageData(0,0,n.width,n.height);return r}()});t({commonImageDataHash:Si(ma(e,280,20).data.toString()).toString()})})});var zl,_b=[“Arial”,”Arial Black”,”Arial Narrow”,”Arial Rounded MT”,”Arimo”,”Archivo”,”Barlow”,”Bebas Neue”,”Bitter”,”Bookman”,”Calibri”,”Cabin”,”Candara”,”Century”,”Century Gothic”,”Comic Sans MS”,”Constantia”,”Courier”,”Courier New”,”Crimson Text”,”DM Mono”,”DM Sans”,”DM Serif Display”,”DM Serif Text”,”Dosis”,”Droid Sans”,”Exo”,”Fira Code”,”Fira Sans”,”Franklin Gothic Medium”,”Garamond”,”Geneva”,”Georgia”,”Gill Sans”,”Helvetica”,”Impact”,”Inconsolata”,”Indie Flower”,”Inter”,”Josefin Sans”,”Karla”,”Lato”,”Lexend”,”Lucida Bright”,”Lucida Console”,”Lucida Sans Unicode”,”Manrope”,”Merriweather”,”Merriweather Sans”,”Montserrat”,”Myriad”,”Noto Sans”,”Nunito”,”Nunito Sans”,”Open Sans”,”Optima”,”Orbitron”,”Oswald”,”Pacifico”,”Palatino”,”Perpetua”,”PT Sans”,”PT Serif”,”Poppins”,”Prompt”,”Public Sans”,”Quicksand”,”Rajdhani”,”Recursive”,”Roboto”,”Roboto Condensed”,”Rockwell”,”Rubik”,”Segoe Print”,”Segoe Script”,”Segoe UI”,”Sora”,”Source Sans Pro”,”Space Mono”,”Tahoma”,”Taviraj”,”Times”,”Times New Roman”,”Titillium Web”,”Trebuchet MS”,”Ubuntu”,”Varela Round”,”Verdana”,”Work Sans”],Pb=[“monospace”,”sans-serif”,”serif”];function ir(t,e){if(!t)throw new Error(“Canvas context not supported”);return t.font,t.font=”72px “.concat(e),t.measureText(“WwMmLli0Oo”).width}function Ob(){var t,e=document.createElement(“canvas”),n=(t=e.getContext(“webgl”))!==null&&t!==void 0?t:e.getContext(“experimental-webgl”);if(n&&”getParameter”in n)try{var l=(n.getParameter(n.VENDOR)||””).toString(),i=(n.getParameter(n.RENDERER)||””).toString(),o={vendor:l,renderer:i,version:(n.getParameter(n.VERSION)||””).toString(),shadingLanguageVersion:(n.getParameter(n.SHADING_LANGUAGE_VERSION)||””).toString()};if(!i.length||!l.length){var r=n.getExtension(“WEBGL_debug_renderer_info”);if(r){var c=(n.getParameter(r.UNMASKED_VENDOR_WEBGL)||””).toString(),a=(n.getParameter(r.UNMASKED_RENDERER_WEBGL)||””).toString();c&&(o.vendorUnmasked=c),a&&(o.rendererUnmasked=a)}}return o}catch{}return”undefined”}function $b(){var t=new Float32Array(1),e=new Uint8Array(t.buffer);return t[0]=1/0,t[0]=t[0]-t[0],e[3]}function qb(t,e){var n={};return e.forEach(function(l){var i=function(o){if(o.length===0)return null;var r={};o.forEach(function(d){var s=String(d);r[s]=(r[s]||0)+1});var c=o[0],a=1;return Object.keys(r).forEach(function(d){r[d]>a&&(c=d,a=r[d])}),c}(t.map(function(o){return l in o?o[l]:void 0}).filter(function(o){return o!==void 0}));i&&(n[l]=i)}),n}function eV(){var t=[],e={“prefers-contrast”:[“high”,”more”,”low”,”less”,”forced”,”no-preference”],”any-hover”:[“hover”,”none”],”any-pointer”:[“none”,”coarse”,”fine”],pointer:[“none”,”coarse”,”fine”],hover:[“hover”,”none”],update:[“fast”,”slow”],”inverted-colors”:[“inverted”,”none”],”prefers-reduced-motion”:[“reduce”,”no-preference”],”prefers-reduced-transparency”:[“reduce”,”no-preference”],scripting:[“none”,”initial-only”,”enabled”],”forced-colors”:[“active”,”none”]};return Object.keys(e).forEach(function(n){e[n].forEach(function(l){matchMedia(“(“.concat(n,”: “).concat(l,”)”)).matches&&t.push(“”.concat(n,”: “).concat(l))})}),t}function tV(){if(window.location.protocol===”https:”&&typeof window.ApplePaySession==”function”)try{for(var t=window.ApplePaySession.supportsVersion,e=15;e>0;e–)if(t(e))return e}catch{return 0}return 0}Tt().name!=”Firefox”&&lt(“fonts”,function(){var t=this;return new Promise(function(e,n){try{(function(l){var i;dt(this,void 0,void 0,function(){var o,r,c;return st(this,function(a){switch(a.label){case 0:return document.body?[3,2]:[4,(d=50,new Promise(function(u){return setTimeout(u,d,s)}))];case 1:return a.sent(),[3,0];case 2:if((o=document.createElement(“iframe”)).setAttribute(“frameBorder”,”0″),(r=o.style).setProperty(“position”,”fixed”),r.setProperty(“display”,”block”,”important”),r.setProperty(“visibility”,”visible”),r.setProperty(“border”,”0″),r.setProperty(“opacity”,”0″),o.src=”about:blank”,document.body.appendChild(o),!(c=o.contentDocument||((i=o.contentWindow)===null||i===void 0?void 0:i.document)))throw new Error(“Iframe document is not accessible”);return l({iframe:c}),setTimeout(function(){document.body.removeChild(o)},0),[2]}var d,s})})})(function(l){var i=l.iframe;return dt(t,void 0,void 0,function(){var o,r,c,a;return st(this,function(d){return o=i.createElement(“canvas”),r=o.getContext(“2d”),c=Pb.map(function(s){return ir(r,s)}),a={},_b.forEach(function(s){var u=ir(r,s);c.includes(u)||(a[s]=u)}),e(a),[2]})})})}catch{n({error:”unsupported”})}})}),lt(“hardware”,function(){return new Promise(function(t,e){var n=navigator.deviceMemory!==void 0?navigator.deviceMemory:0,l=window.performance&&window.performance.memory?window.performance.memory:0;t({videocard:Ob(),architecture:$b(),deviceMemory:n.toString()||”undefined”,jsHeapSizeLimit:l.jsHeapSizeLimit||0})})}),lt(“locales”,function(){return new Promise(function(t){t({languages:navigator.language,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone})})}),lt(“permissions”,function(){return dt(this,void 0,void 0,function(){var t;return st(this,function(e){return zl=(Ve==null?void 0:Ve.permissions_to_check)||[“accelerometer”,”accessibility”,”accessibility-events”,”ambient-light-sensor”,”background-fetch”,”background-sync”,”bluetooth”,”camera”,”clipboard-read”,”clipboard-write”,”device-info”,”display-capture”,”gyroscope”,”geolocation”,”local-fonts”,”magnetometer”,”microphone”,”midi”,”nfc”,”notifications”,”payment-handler”,”persistent-storage”,”push”,”speaker”,”storage-access”,”top-level-storage-access”,”window-management”,”query”],t=Array.from({length:(Ve==null?void 0:Ve.retries)||3},function(){return function(){return dt(this,void 0,void 0,function(){var n,l,i,o,r;return st(this,function(c){switch(c.label){case 0:n={},l=0,i=zl,c.label=1;case 1:if(!(l<i.length))return[3,6];o=i[l],c.label=2;case 2:return c.trys.push([2,4,,5]),[4,navigator.permissions.query({name:o})];case 3:return r=c.sent(),n[o]=r.state.toString(),[3,5];case 4:return c.sent(),[3,5];case 5:return l++,[3,1];case 6:return[2,n]}})})}()}),[2,Promise.all(t).then(function(n){return qb(n,zl)})]})})}),lt("plugins",function(){var t=[];if(navigator.plugins)for(var e=0;e0,maxTouchPoints:navigator.maxTouchPoints,colorDepth:screen.colorDepth,mediaMatches:eV()})})}),lt(“system”,function(){return new Promise(function(t){var e=Tt();t({platform:window.navigator.platform,cookieEnabled:window.navigator.cookieEnabled,productSub:navigator.productSub,product:navigator.product,useragent:navigator.userAgent,hardwareConcurrency:navigator.hardwareConcurrency,browser:{name:e.name,version:e.version},applePayVersion:tV()})})});var Fe,nV=Tt().name!==”SamsungBrowser”?1:3,U=null;lt(“webgl”,function(){return dt(this,void 0,void 0,function(){var t;return st(this,function(e){typeof document<"u"&&((Fe=document.createElement("canvas")).width=200,Fe.height=100,U=Fe.getContext("webgl"));try{if(!U)throw new Error("WebGL not supported");return t=Array.from({length:nV},function(){return function(){try{if(!U)throw new Error("WebGL not supported");var n=` attribute vec2 position; void main() { gl_Position = vec4(position, 0.0, 1.0); } `,l=` precision mediump float; void main() { gl_FragColor = vec4(0.812, 0.195, 0.553, 0.921); // Set line color } `,i=U.createShader(U.VERTEX_SHADER),o=U.createShader(U.FRAGMENT_SHADER);if(!i||!o)throw new Error("Failed to create shaders");if(U.shaderSource(i,n),U.shaderSource(o,l),U.compileShader(i),!U.getShaderParameter(i,U.COMPILE_STATUS))throw new Error("Vertex shader compilation failed: "+U.getShaderInfoLog(i));if(U.compileShader(o),!U.getShaderParameter(o,U.COMPILE_STATUS))throw new Error("Fragment shader compilation failed: "+U.getShaderInfoLog(o));var r=U.createProgram();if(!r)throw new Error("Failed to create shader program");if(U.attachShader(r,i),U.attachShader(r,o),U.linkProgram(r),!U.getProgramParameter(r,U.LINK_STATUS))throw new Error("Shader program linking failed: "+U.getProgramInfoLog(r));U.useProgram(r);for(var c=137,a=new Float32Array(4*c),d=2*Math.PI/c,s=0;s<c;s++){var u=s*d;a[4*s]=0,a[4*s+1]=0,a[4*s+2]=Math.cos(u)*(Fe.width/2),a[4*s+3]=Math.sin(u)*(Fe.height/2)}var b=U.createBuffer();U.bindBuffer(U.ARRAY_BUFFER,b),U.bufferData(U.ARRAY_BUFFER,a,U.STATIC_DRAW);var g=U.getAttribLocation(r,"position");U.enableVertexAttribArray(g),U.vertexAttribPointer(g,2,U.FLOAT,!1,0,0),U.viewport(0,0,Fe.width,Fe.height),U.clearColor(0,0,0,1),U.clear(U.COLOR_BUFFER_BIT),U.drawArrays(U.LINES,0,2*c);var V=new Uint8ClampedArray(Fe.width*Fe.height*4);return U.readPixels(0,0,Fe.width,Fe.height,U.RGBA,U.UNSIGNED_BYTE,V),new ImageData(V,Fe.width,Fe.height)}catch{return new ImageData(1,1)}finally{U&&(U.bindBuffer(U.ARRAY_BUFFER,null),U.useProgram(null),U.viewport(0,0,U.drawingBufferWidth,U.drawingBufferHeight),U.clearColor(0,0,0,0))}}()}),[2,{commonImageHash:Si(ma(t,Fe.width,Fe.height).data.toString()).toString()}]}catch{return[2,{webgl:"unsupported"}]}return[2]})})});var Rt=function(t,e,n,l){for(var i=(n-e)/l,o=0,r=0;rn!==e):[…this.currentIncludeOption,e],kl(“include”,this.currentIncludeOption)):(this.currentIncludeOption=[…e],kl(“include”,this.currentIncludeOption))}}const iV=new lV;class oV{constructor(e,n){this.interval=e,this.getClientInfo=n,this.events=[],this.timer=null}push(e){e.extData||(e.extData={}),e.extData.url=window.location.href,this.events.push(e),this.doChecking()}doChecking(){this.timer&&this.clearTimer(),this.timer=setTimeout(()=>{this.send(),this.clearTimer()},this.interval)}clearTimer(){clearTimeout(this.timer),this.timer=null}async send(){var i;const e={…this.getClientInfo(),tmToken:await iV.getId()},n={events:this.events,clientInfo:e},l=lr.formatToAmplitude(n);lr.batchTrack(l),(i=navigator==null?void 0:navigator.sendBeacon)==null||i.call(navigator,`${pe.apiHost}/api/user_behavior/batch_create_event_v2`,JSON.stringify(On(“server”,n))),this.events=[]}}function rV(){const t=new Date;return{clientType:”web”,clientVersion:””,productName:”Manus”,timezone:(()=>{try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{return}})(),timezoneOffset:t.getTimezoneOffset()}}const cV=new oV(200,rV);function Ct(t){(Array.isArray(t)?t:[t]).map(n=>({…n,extData:{…n.extData},eventAt:new Date().toISOString()})).forEach(n=>{cV.push(n)})}class aV{getCookie(e){if(typeof document>”u”)return console.warn(“CookieHelper: Cannot get cookie in a non-browser environment.”),null;const n=e+”=”,l=document.cookie.split(“;”);for(let i=0;i”u”){console.warn(“CookieHelper: Cannot set cookie in a non-browser environment.”);return}let i=””;if(l.daysToExpire){const d=new Date;d.setTime(d.getTime()+l.daysToExpire*24*60*60*1e3),i=”; expires=”+d.toUTCString()}const o=l.path?”; path=”+l.path:”; path=/”,r=l.domain?”; domain=”+l.domain:””,c=l.secure?”; secure”:””,a=l.sameSite?”; samesite=”+l.sameSite:””;document.cookie=e+”=”+(n||””)+i+o+r+c+a}deleteCookie(e,n={}){if(typeof document>”u”){console.warn(“CookieHelper: Cannot delete cookie in a non-browser environment.”);return}this.setCookie(e,””,{daysToExpire:-1,path:n.path,domain:n.domain})}}const Fn=new aV,x={spaceEditorHighlight:”__manus__-space-editor-highlight”,virtualTextNode:”__manus__virtual-text-node”,onlyTextNode:”__manus__only-text-node”,textNodeActive:”__manus__text-node-active”,editModeActive:”__manus__edit-mode-active”,spaceControlView:”__manus__space-editor-control-panel”,textEditorPanelView:”__manus__space-editor-text-editor-modal”,elementEditorPanelView:”__manus__space-editor-element-editor-modal”,footerToolbarView:”__manus__space-footer-toolbar”,colorPicker:”clr-picker”,copyNode:”__manus__copy-node”,hidden:”__manus__hidden”},en={accessToken:”access_token”};var D;(function(t){t[t.Canceled=1]=”Canceled”,t[t.Unknown=2]=”Unknown”,t[t.InvalidArgument=3]=”InvalidArgument”,t[t.DeadlineExceeded=4]=”DeadlineExceeded”,t[t.NotFound=5]=”NotFound”,t[t.AlreadyExists=6]=”AlreadyExists”,t[t.PermissionDenied=7]=”PermissionDenied”,t[t.ResourceExhausted=8]=”ResourceExhausted”,t[t.FailedPrecondition=9]=”FailedPrecondition”,t[t.Aborted=10]=”Aborted”,t[t.OutOfRange=11]=”OutOfRange”,t[t.Unimplemented=12]=”Unimplemented”,t[t.Internal=13]=”Internal”,t[t.Unavailable=14]=”Unavailable”,t[t.DataLoss=15]=”DataLoss”,t[t.Unauthenticated=16]=”Unauthenticated”})(D||(D={}));function Ci(t,e){return t!==null&&typeof t==”object”&&”$typeName”in t&&typeof t.$typeName==”string”?e===void 0?!0:e.typeName===t.$typeName:!1}var m;(function(t){t[t.DOUBLE=1]=”DOUBLE”,t[t.FLOAT=2]=”FLOAT”,t[t.INT64=3]=”INT64″,t[t.UINT64=4]=”UINT64″,t[t.INT32=5]=”INT32″,t[t.FIXED64=6]=”FIXED64″,t[t.FIXED32=7]=”FIXED32″,t[t.BOOL=8]=”BOOL”,t[t.STRING=9]=”STRING”,t[t.BYTES=12]=”BYTES”,t[t.UINT32=13]=”UINT32″,t[t.SFIXED32=15]=”SFIXED32″,t[t.SFIXED64=16]=”SFIXED64″,t[t.SINT32=17]=”SINT32″,t[t.SINT64=18]=”SINT64″})(m||(m={}));function dV(){let t=0,e=0;for(let l=0;l<28;l+=7){let i=this.buf[this.pos++];if(t|=(i&127)<<l,(i&128)==0)return this.assertBounds(),[t,e]}let n=this.buf[this.pos++];if(t|=(n&15)<>4,(n&128)==0)return this.assertBounds(),[t,e];for(let l=3;l<=31;l+=7){let i=this.buf[this.pos++];if(e|=(i&127)<<l,(i&128)==0)return this.assertBounds(),[t,e]}throw new Error("invalid varint")}function Ql(t,e,n){for(let o=0;o>>o,c=!(!(r>>>7)&&e==0),a=(c?r|128:r)&255;if(n.push(a),!c)return}const l=t>>>28&15|(e&7)<>3!=0;if(n.push((i?l|128:l)&255),!!i){for(let o=3;o>>o,c=!!(r>>>7),a=(c?r|128:r)&255;if(n.push(a),!c)return}n.push(e>>>31&1)}}const Dn=4294967296;function or(t){const e=t[0]===”-“;e&&(t=t.slice(1));const n=1e6;let l=0,i=0;function o(r,c){const a=Number(t.slice(r,c));i*=n,l=l*n+a,l>=Dn&&(i=i+(l/Dn|0),l=l%Dn)}return o(-24,-18),o(-18,-12),o(-12,-6),o(-6),e?Za(l,i):Wi(l,i)}function sV(t,e){let n=Wi(t,e);const l=n.hi&2147483648;l&&(n=Za(n.lo,n.hi));const i=Aa(n.lo,n.hi);return l?”-“+i:i}function Aa(t,e){if({lo:t,hi:e}=uV(t,e),e>>24|e<>16&65535;let o=n+l*6777216+i*6710656,r=l+i*8147497,c=i*2;const a=1e7;return o>=a&&(r+=Math.floor(o/a),o%=a),r>=a&&(c+=Math.floor(r/a),r%=a),c.toString()+rr(r)+rr(o)}function uV(t,e){return{lo:t>>>0,hi:e>>>0}}function Wi(t,e){return{lo:t|0,hi:e|0}}function Za(t,e){return e=~e,t?t=~t+1:e+=1,Wi(t,e)}const rr=t=>{const e=String(t);return”0000000”.slice(e.length)+e};function cr(t,e){if(t>=0){for(;t>127;)e.push(t&127|128),t=t>>>7;e.push(t)}else{for(let n=0;n>7;e.push(1)}}function gV(){let t=this.buf[this.pos++],e=t&127;if((t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<7,(t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<14,(t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<21,(t&128)==0)return this.assertBounds(),e;t=this.buf[this.pos++],e|=(t&15)<<28;for(let n=5;(t&128)!==0&&n>>0}var ar={};const ie=hV();function hV(){const t=new DataView(new ArrayBuffer(8));if(typeof BigInt==”function”&&typeof t.getBigInt64==”function”&&typeof t.getBigUint64==”function”&&typeof t.setBigInt64==”function”&&typeof t.setBigUint64==”function”&&(typeof process!=”object”||typeof ar!=”object”||ar.BUF_BIGINT_DISABLE!==”1″)){const n=BigInt(“-9223372036854775808”),l=BigInt(“9223372036854775807”),i=BigInt(“0”),o=BigInt(“18446744073709551615″);return{zero:BigInt(0),supported:!0,parse(r){const c=typeof r==”bigint”?r:BigInt(r);if(c>l||co||cl.localName===n)}function VV(t,e){const n=e.localName;if(e.oneof)return t[e.oneof.localName].case===n;if(e.presence!=fa)return t[n]!==void 0&&Object.prototype.hasOwnProperty.call(t,n);switch(e.fieldKind){case”list”:return t[n].length>0;case”map”:return Object.keys(t[n]).length>0;case”scalar”:return!bV(e.scalar,t[n]);case”enum”:return t[n]!==e.enum.values[0].number}throw new Error(“message field with implicit presence”)}function hn(t,e){return Object.prototype.hasOwnProperty.call(t,e)&&t[e]!==void 0}function Ga(t,e){if(e.oneof){const n=t[e.oneof.localName];return n.case===e.localName?n.value:void 0}return t[e.localName]}function Xa(t,e,n){e.oneof?t[e.oneof.localName]={case:e.localName,value:n}:t[e.localName]=n}function mV(t,e){const n=e.localName;if(e.oneof){const l=e.oneof.localName;t[l].case===n&&(t[l]={case:void 0})}else if(e.presence!=fa)delete t[n];else switch(e.fieldKind){case”map”:t[n]={};break;case”list”:t[n]=[];break;case”enum”:t[n]=e.enum.values[0].number;break;case”scalar”:t[n]=Ft(e.scalar,e.longAsString);break}}function Gt(t){return t!==null&&typeof t==”object”&&!Array.isArray(t)}function vi(t,e){var n,l,i,o;if(Gt(t)&&bt in t&&”add”in t&&”field”in t&&typeof t.field==”function”){if(e!==void 0){const r=e,c=t.field();return r.listKind==c.listKind&&r.scalar===c.scalar&&((n=r.message)===null||n===void 0?void 0:n.typeName)===((l=c.message)===null||l===void 0?void 0:l.typeName)&&((i=r.enum)===null||i===void 0?void 0:i.typeName)===((o=c.enum)===null||o===void 0?void 0:o.typeName)}return!0}return!1}function Bi(t,e){var n,l,i,o;if(Gt(t)&&bt in t&&”has”in t&&”field”in t&&typeof t.field==”function”){if(e!==void 0){const r=e,c=t.field();return r.mapKey===c.mapKey&&r.mapKind==c.mapKind&&r.scalar===c.scalar&&((n=r.message)===null||n===void 0?void 0:n.typeName)===((l=c.message)===null||l===void 0?void 0:l.typeName)&&((i=r.enum)===null||i===void 0?void 0:i.typeName)===((o=c.enum)===null||o===void 0?void 0:o.typeName)}return!0}return!1}function Ni(t,e){return Gt(t)&&bt in t&&”desc”in t&&Gt(t.desc)&&t.desc.kind===”message”&&(e===void 0||t.desc.typeName==e.typeName)}function AV(t){return Ia(t.$typeName)}function Gn(t){const e=t.fields[0];return Ia(t.typeName)&&e!==void 0&&e.fieldKind==”scalar”&&e.name==”value”&&e.number==1}function Ia(t){return t.startsWith(“google.protobuf.”)&&[“DoubleValue”,”FloatValue”,”Int64Value”,”UInt64Value”,”Int32Value”,”UInt32Value”,”BoolValue”,”StringValue”,”BytesValue”].includes(t.substring(16))}const ZV=999,fV=998,jn=2;function ot(t,e){if(Ci(e,t))return e;const n=RV(t);return e!==void 0&&pV(t,n,e),n}function pV(t,e,n){for(const l of t.members){let i=n[l.localName];if(i==null)continue;let o;if(l.kind==”oneof”){const r=pa(n,l);if(!r)continue;o=r,i=Ga(n,r)}else o=l;switch(o.fieldKind){case”message”:i=Fi(o,i);break;case”scalar”:i=Ra(o,i);break;case”list”:i=XV(o,i);break;case”map”:i=GV(o,i);break}Xa(e,o,i)}return e}function Ra(t,e){return t.scalar==m.BYTES?Yi(e):e}function GV(t,e){if(Gt(e)){if(t.scalar==m.BYTES)return ur(e,Yi);if(t.mapKind==”message”)return ur(e,n=>Fi(t,n))}return e}function XV(t,e){if(Array.isArray(e)){if(t.scalar==m.BYTES)return e.map(Yi);if(t.listKind==”message”)return e.map(n=>Fi(t,n))}return e}function Fi(t,e){if(t.fieldKind==”message”&&!t.oneof&&Gn(t.message))return Ra(t.message.fields[0],e);if(Gt(e)){if(t.message.typeName==”google.protobuf.Struct”&&t.parent.typeName!==”google.protobuf.Value”)return e;if(!Ci(e,t.message))return ot(t.message,e)}return e}function Yi(t){return Array.isArray(t)?new Uint8Array(t):t}function ur(t,e){const n={};for(const l of Object.entries(t))n[l[0]]=e(l[1]);return n}const IV=Symbol(),gr=new WeakMap;function RV(t){let e;if(EV(t)){const n=gr.get(t);let l,i;if(n)({prototype:l,members:i}=n);else{l={},i=new Set;for(const o of t.members)o.kind!=”oneof”&&(o.fieldKind!=”scalar”&&o.fieldKind!=”enum”||o.presence!=jn&&(i.add(o),l[o.localName]=Kl(o)));gr.set(t,{prototype:l,members:i})}e=Object.create(l),e.$typeName=t.typeName;for(const o of t.members)i.has(o)||o.kind==”field”&&(o.fieldKind==”message”||(o.fieldKind==”scalar”||o.fieldKind==”enum”)&&o.presence!=jn)||(e[o.localName]=Kl(o))}else{e={$typeName:t.typeName};for(const n of t.members)(n.kind==”oneof”||n.presence==jn)&&(e[n.localName]=Kl(n))}return e}function EV(t){switch(t.file.edition){case ZV:return!1;case fV:return!0;default:return t.fields.some(e=>e.presence!=jn&&e.fieldKind!=”message”&&!e.oneof)}}function Kl(t){if(t.kind==”oneof”)return{case:void 0};if(t.fieldKind==”list”)return[];if(t.fieldKind==”map”)return{};if(t.fieldKind==”message”)return IV;const e=t.getDefaultValue();return e!==void 0?t.fieldKind==”scalar”&&t.longAsString?e.toString():e:t.fieldKind==”scalar”?Ft(t.scalar,t.longAsString):t.enum.values[0].number}const yV=[“FieldValueInvalidError”,”FieldListRangeError”,”ForeignFieldError”];class ke extends Error{constructor(e,n,l=”FieldValueInvalidError”){super(n),this.name=l,this.field=()=>e}}function SV(t){return t instanceof Error&&yV.includes(t.name)&&”field”in t&&typeof t.field==”function”}const Ll=Symbol.for(“@bufbuild/protobuf/text-encoding”);function Ui(){if(globalThis[Ll]==null){const t=new globalThis.TextEncoder,e=new globalThis.TextDecoder;globalThis[Ll]={encodeUtf8(n){return t.encode(n)},decodeUtf8(n){return e.decode(n)},checkUtf8(n){try{return encodeURIComponent(n),!0}catch{return!1}}}}return globalThis[Ll]}var ce;(function(t){t[t.Varint=0]=”Varint”,t[t.Bit64=1]=”Bit64″,t[t.LengthDelimited=2]=”LengthDelimited”,t[t.StartGroup=3]=”StartGroup”,t[t.EndGroup=4]=”EndGroup”,t[t.Bit32=5]=”Bit32″})(ce||(ce={}));const Ea=34028234663852886e22,ya=-34028234663852886e22,Sa=4294967295,Ca=2147483647,Wa=-2147483648;class va{constructor(e=Ui().encodeUtf8){this.encodeUtf8=e,this.stack=[],this.chunks=[],this.buf=[]}finish(){this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]);let e=0;for(let i=0;i<this.chunks.length;i++)e+=this.chunks[i].length;let n=new Uint8Array(e),l=0;for(let i=0;i<this.chunks.length;i++)n.set(this.chunks[i],l),l+=this.chunks[i].length;return this.chunks=[],n}fork(){return this.stack.push({chunks:this.chunks,buf:this.buf}),this.chunks=[],this.buf=[],this}join(){let e=this.finish(),n=this.stack.pop();if(!n)throw new Error("invalid state, fork stack empty");return this.chunks=n.chunks,this.buf=n.buf,this.uint32(e.byteLength),this.raw(e)}tag(e,n){return this.uint32((e<>>0)}raw(e){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(e),this}uint32(e){for(hr(e);e>127;)this.buf.push(e&127|128),e=e>>>7;return this.buf.push(e),this}int32(e){return Ml(e),cr(e,this.buf),this}bool(e){return this.buf.push(e?1:0),this}bytes(e){return this.uint32(e.byteLength),this.raw(e)}string(e){let n=this.encodeUtf8(e);return this.uint32(n.byteLength),this.raw(n)}float(e){CV(e);let n=new Uint8Array(4);return new DataView(n.buffer).setFloat32(0,e,!0),this.raw(n)}double(e){let n=new Uint8Array(8);return new DataView(n.buffer).setFloat64(0,e,!0),this.raw(n)}fixed32(e){hr(e);let n=new Uint8Array(4);return new DataView(n.buffer).setUint32(0,e,!0),this.raw(n)}sfixed32(e){Ml(e);let n=new Uint8Array(4);return new DataView(n.buffer).setInt32(0,e,!0),this.raw(n)}sint32(e){return Ml(e),e=(e<>31)>>>0,cr(e,this.buf),this}sfixed64(e){let n=new Uint8Array(8),l=new DataView(n.buffer),i=ie.enc(e);return l.setInt32(0,i.lo,!0),l.setInt32(4,i.hi,!0),this.raw(n)}fixed64(e){let n=new Uint8Array(8),l=new DataView(n.buffer),i=ie.uEnc(e);return l.setInt32(0,i.lo,!0),l.setInt32(4,i.hi,!0),this.raw(n)}int64(e){let n=ie.enc(e);return Ql(n.lo,n.hi,this.buf),this}sint64(e){const n=ie.enc(e),l=n.hi>>31,i=n.lo<<1^l,o=(n.hi<>>31)^l;return Ql(i,o,this.buf),this}uint64(e){const n=ie.uEnc(e);return Ql(n.lo,n.hi,this.buf),this}}class Ji{constructor(e,n=Ui().decodeUtf8){this.decodeUtf8=n,this.varint64=dV,this.uint32=gV,this.buf=e,this.len=e.length,this.pos=0,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength)}tag(){let e=this.uint32(),n=e>>>3,l=e&7;if(n<=0||l5)throw new Error(“illegal tag: field no “+n+” wire type “+l);return[n,l]}skip(e,n){let l=this.pos;switch(e){case ce.Varint:for(;this.buf[this.pos++]&128;);break;case ce.Bit64:this.pos+=4;case ce.Bit32:this.pos+=4;break;case ce.LengthDelimited:let i=this.uint32();this.pos+=i;break;case ce.StartGroup:for(;;){const[o,r]=this.tag();if(r===ce.EndGroup){if(n!==void 0&&o!==n)throw new Error(“invalid end group tag”);break}this.skip(r,o)}break;default:throw new Error(“cant skip wire type “+e)}return this.assertBounds(),this.buf.subarray(l,this.pos)}assertBounds(){if(this.pos>this.len)throw new RangeError(“premature EOF”)}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)}int64(){return ie.dec(…this.varint64())}uint64(){return ie.uDec(…this.varint64())}sint64(){let[e,n]=this.varint64(),l=-(e&1);return e=(e>>>1|(n&1)<>>1^l,ie.dec(e,n)}bool(){let[e,n]=this.varint64();return e!==0||n!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return ie.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return ie.dec(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let e=this.uint32(),n=this.pos;return this.pos+=e,this.assertBounds(),this.buf.subarray(n,n+e)}string(){return this.decodeUtf8(this.bytes())}}function Ml(t){if(typeof t==”string”)t=Number(t);else if(typeof t!=”number”)throw new Error(“invalid int32: “+typeof t);if(!Number.isInteger(t)||t>Ca||tSa||tEa||tn.number===e):Ni(e,t.message)}function Ba(t,e){switch(e){case m.DOUBLE:return typeof t==”number”;case m.FLOAT:return typeof t!=”number”?!1:Number.isNaN(t)||!Number.isFinite(t)?!0:t>Ea||tCa||tSa||t0)try{return ie.parse(t),!0}catch{return`${t} out of range`}return!1;case m.FIXED64:case m.UINT64:if(typeof t==”bigint”||typeof t==”number”||typeof t==”string”&&t.length>0)try{return ie.uParse(t),!0}catch{return`${t} out of range`}return!1}}function il(t,e,n){return n=typeof n==”string”?`: ${n}`:`, got ${Xe(e)}`,t.scalar!==void 0?`expected ${vV(t.scalar)}`+n:t.enum!==void 0?`expected ${t.enum.toString()}`+n:`expected ${Na(t.message)}`+n}function Xe(t){switch(typeof t){case”object”:return t===null?”null”:t instanceof Uint8Array?`Uint8Array(${t.length})`:Array.isArray(t)?`Array(${t.length})`:vi(t)?Fa(t.field()):Bi(t)?Ya(t.field()):Ni(t)?Na(t.desc):Ci(t)?`message ${t.$typeName}`:”object”;case”string”:return t.length>30?”string”:`”${t.split(‘”‘).join(‘\\”‘)}”`;case”boolean”:return String(t);case”number”:return String(t);case”bigint”:return String(t)+”n”;default:return typeof t}}function Na(t){return`ReflectMessage (${t.typeName})`}function Fa(t){switch(t.listKind){case”message”:return`ReflectList (${t.message.toString()})`;case”enum”:return`ReflectList (${t.enum.toString()})`;case”scalar”:return`ReflectList (${m[t.scalar]})`}}function Ya(t){switch(t.mapKind){case”message”:return`ReflectMap (${m[t.mapKey]}, ${t.message.toString()})`;case”enum”:return`ReflectMap (${m[t.mapKey]}, ${t.enum.toString()})`;case”scalar”:return`ReflectMap (${m[t.mapKey]}, ${m[t.scalar]})`}}function vV(t){switch(t){case m.STRING:return”string”;case m.BOOL:return”boolean”;case m.INT64:case m.SINT64:case m.SFIXED64:return”bigint (int64)”;case m.UINT64:case m.FIXED64:return”bigint (uint64)”;case m.BYTES:return”Uint8Array”;case m.DOUBLE:return”number (float64)”;case m.FLOAT:return”number (float32)”;case m.FIXED32:case m.UINT32:return”number (uint32)”;case m.INT32:case m.SFIXED32:case m.SINT32:return”number (int32)”}}function qe(t,e,n=!0){return new Ua(t,e,n)}class Ua{get sortedFields(){var e;return(e=this._sortedFields)!==null&&e!==void 0?e:this._sortedFields=this.desc.fields.concat().sort((n,l)=>n.number-l.number)}constructor(e,n,l=!0){this.lists=new Map,this.maps=new Map,this.check=l,this.desc=e,this.message=this[bt]=n??ot(e),this.fields=e.fields,this.oneofs=e.oneofs,this.members=e.members}findNumber(e){return this._fieldsByNumber||(this._fieldsByNumber=new Map(this.desc.fields.map(n=>[n.number,n]))),this._fieldsByNumber.get(e)}oneofCase(e){return qt(this.message,e),pa(this.message,e)}isSet(e){return qt(this.message,e),VV(this.message,e)}clear(e){qt(this.message,e),mV(this.message,e)}get(e){qt(this.message,e);const n=Ga(this.message,e);switch(e.fieldKind){case”list”:let l=this.lists.get(e);return(!l||l[bt]!==n)&&this.lists.set(e,l=new BV(e,n,this.check)),l;case”map”:let i=this.maps.get(e);return(!i||i[bt]!==n)&&this.maps.set(e,i=new NV(e,n,this.check)),i;case”message”:return ki(e,n,this.check);case”scalar”:return n===void 0?Ft(e.scalar,!1):zi(e,n);case”enum”:return n??e.enum.values[0].number}}set(e,n){if(qt(this.message,e),this.check){const i=Et(e,n);if(i)throw i}let l;e.fieldKind==”message”?l=wi(e,n):Bi(n)||vi(n)?l=n[bt]:l=Qi(e,n),Xa(this.message,e,l)}getUnknown(){return this.message.$unknown}setUnknown(e){this.message.$unknown=e}}function qt(t,e){if(e.parent.typeName!==t.$typeName)throw new ke(e,`cannot use ${e.toString()} with message ${t.$typeName}`,”ForeignFieldError”)}class BV{field(){return this._field}get size(){return this._arr.length}constructor(e,n,l){this._field=e,this._arr=this[bt]=n,this.check=l}get(e){const n=this._arr[e];return n===void 0?void 0:Tl(this._field,n,this.check)}set(e,n){if(e=this._arr.length)throw new ke(this._field,`list item #${e+1}: out of range`);if(this.check){const l=br(this._field,e,n);if(l)throw l}this._arr[e]=Vr(this._field,n)}add(e){if(this.check){const n=br(this._field,this._arr.length,e);if(n)throw n}this._arr.push(Vr(this._field,e))}clear(){this._arr.splice(0,this._arr.length)}[Symbol.iterator](){return this.values()}keys(){return this._arr.keys()}*values(){for(const e of this._arr)yield Tl(this._field,e,this.check)}*entries(){for(let e=0;e<this._arr.length;e++)yield[e,Tl(this._field,this._arr[e],this.check)]}}class NV{constructor(e,n,l=!0){this.obj=this[bt]=n??{},this.check=l,this._field=e}field(){return this._field}set(e,n){if(this.check){const l=WV(this._field,e,n);if(l)throw l}return this.obj[Yn(e)]=FV(this._field,n),this}delete(e){const n=Yn(e),l=Object.prototype.hasOwnProperty.call(this.obj,n);return l&&delete this.obj[n],l}clear(){for(const e of Object.keys(this.obj))delete this.obj[e]}get(e){let n=this.obj[Yn(e)];return n!==void 0&&(n=Hl(this._field,n,this.check)),n}has(e){return Object.prototype.hasOwnProperty.call(this.obj,Yn(e))}*keys(){for(const e of Object.keys(this.obj))yield mr(e,this._field.mapKey)}*entries(){for(const e of Object.entries(this.obj))yield[mr(e[0],this._field.mapKey),Hl(this._field,e[1],this.check)]}[Symbol.iterator](){return this.entries()}get size(){return Object.keys(this.obj).length}*values(){for(const e of Object.values(this.obj))yield Hl(this._field,e,this.check)}forEach(e,n){for(const l of this.entries())e.call(n,l[1],l[0],this)}}function wi(t,e){return Ni(e)?AV(e.message)&&!t.oneof&&t.fieldKind=="message"?e.message.value:e.desc.typeName=="google.protobuf.Struct"&&t.parent.typeName!="google.protobuf.Value"?xa(e.message):e.message:e}function ki(t,e,n){return e!==void 0&&(Gn(t.message)&&!t.oneof&&t.fieldKind=="message"?e={$typeName:t.message.typeName,value:zi(t.message.fields[0],e)}:t.message.typeName=="google.protobuf.Struct"&&t.parent.typeName!="google.protobuf.Value"&&Gt(e)&&(e=Ja(e))),new Ua(t.message,e,n)}function Vr(t,e){return t.listKind=="message"?wi(t,e):Qi(t,e)}function Tl(t,e,n){return t.listKind=="message"?ki(t,e,n):zi(t,e)}function FV(t,e){return t.mapKind=="message"?wi(t,e):Qi(t,e)}function Hl(t,e,n){return t.mapKind=="message"?ki(t,e,n):e}function Yn(t){return typeof t=="string"||typeof t=="number"?t:String(t)}function mr(t,e){switch(e){case m.STRING:return t;case m.INT32:case m.FIXED32:case m.UINT32:case m.SFIXED32:case m.SINT32:{const n=Number.parseInt(t);if(Number.isFinite(n))return n;break}case m.BOOL:switch(t){case"true":return!0;case"false":return!1}break;case m.UINT64:case m.FIXED64:try{return ie.uParse(t)}catch{}break;default:try{return ie.parse(t)}catch{}break}return t}function zi(t,e){switch(t.scalar){case m.INT64:case m.SFIXED64:case m.SINT64:"longAsString"in t&&t.longAsString&&typeof e=="string"&&(e=ie.parse(e));break;case m.FIXED64:case m.UINT64:"longAsString"in t&&t.longAsString&&typeof e=="string"&&(e=ie.uParse(e));break}return e}function Qi(t,e){switch(t.scalar){case m.INT64:case m.SFIXED64:case m.SINT64:"longAsString"in t&&t.longAsString?e=String(e):(typeof e=="string"||typeof e=="number")&&(e=ie.parse(e));break;case m.FIXED64:case m.UINT64:"longAsString"in t&&t.longAsString?e=String(e):(typeof e=="string"||typeof e=="number")&&(e=ie.uParse(e));break}return e}function Ja(t){const e={$typeName:"google.protobuf.Struct",fields:{}};if(Gt(t))for(const[n,l]of Object.entries(t))e.fields[n]=ka(l);return e}function xa(t){const e={};for(const[n,l]of Object.entries(t.fields))e[n]=wa(l);return e}function wa(t){switch(t.kind.case){case"structValue":return xa(t.kind.value);case"listValue":return t.kind.value.values.map(wa);case"nullValue":case void 0:return null;default:return t.kind.value}}function ka(t){const e={$typeName:"google.protobuf.Value",kind:{case:void 0}};switch(typeof t){case"number":e.kind={case:"numberValue",value:t};break;case"string":e.kind={case:"stringValue",value:t};break;case"boolean":e.kind={case:"boolValue",value:t};break;case"object":if(t===null)e.kind={case:"nullValue",value:0};else if(Array.isArray(t)){const n={$typeName:"google.protobuf.ListValue",values:[]};if(Array.isArray(t))for(const l of t)n.values.push(ka(l));e.kind={case:"listValue",value:n}}else e.kind={case:"structValue",value:Ja(t)};break}return e}function Ki(t){const e=YV();let n=t.length*3/4;t[t.length-2]=="="?n-=2:t[t.length-1]=="="&&(n-=1);let l=new Uint8Array(n),i=0,o=0,r,c=0;for(let a=0;a<t.length;a++){if(r=e[t.charCodeAt(a)],r===void 0)switch(t[a]){case"=":o=0;case` `:case"\r":case" ":case" ":continue;default:throw Error("invalid base64 string")}switch(o){case 0:c=r,o=1;break;case 1:l[i++]=c<>4,c=r,o=2;break;case 2:l[i++]=(c&15)<>2,c=r,o=3;break;case 3:l[i++]=(c&3)<<6|r,o=0;break}}if(o==1)throw Error("invalid base64 string");return l.subarray(0,i)}function za(t,e="std"){const n=Qa(e),l=e=="std";let i="",o=0,r,c=0;for(let a=0;a>2],c=(r&3)<>4],c=(r&15)<>6],i+=n[r&63],o=0;break}return o&&(i+=n[c],l&&(i+=”=”,o==1&&(i+=”=”))),i}let Un,Ar,Jt;function Qa(t){return Un||(Un=”ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/”.split(“”),Ar=Un.slice(0,-2).concat(“-“,”_”)),t==”url”?Ar:Un}function YV(){if(!Jt){Jt=[];const t=Qa(“std”);for(let e=0;e<t.length;e++)Jt[t[e].charCodeAt(0)]=e;Jt[45]=t.indexOf("+"),Jt[95]=t.indexOf("/")}return Jt}function bn(t){let e=!1;const n=[];for(let l=0;ll.name===e);if(!n)throw new Error(`cannot parse ${t} default value: ${e}`);return n.number}function xV(t,e){switch(t){case m.STRING:return e;case m.BYTES:{const n=wV(e);if(n===!1)throw new Error(`cannot parse ${m[t]} default value: ${e}`);return n}case m.INT64:case m.SFIXED64:case m.SINT64:return ie.parse(e);case m.UINT64:case m.FIXED64:return ie.uParse(e);case m.DOUBLE:case m.FLOAT:switch(e){case”inf”:return Number.POSITIVE_INFINITY;case”-inf”:return Number.NEGATIVE_INFINITY;case”nan”:return Number.NaN;default:return parseFloat(e)}case m.BOOL:return e===”true”;case m.INT32:case m.UINT32:case m.SINT32:case m.FIXED32:case m.SFIXED32:return parseInt(e,10)}}function wV(t){const e=[],n={tail:t,c:””,next(){return this.tail.length==0?!1:(this.c=this.tail[0],this.tail=this.tail.substring(1),!0)},take(l){if(this.tail.length>=l){const i=this.tail.substring(0,l);return this.tail=this.tail.substring(l),i}return!1}};for(;n.next();)switch(n.c){case”\\”:if(n.next())switch(n.c){case”\\”:e.push(n.c.charCodeAt(0));break;case”b”:e.push(8);break;case”f”:e.push(12);break;case”n”:e.push(10);break;case”r”:e.push(13);break;case”t”:e.push(9);break;case”v”:e.push(11);break;case”0″:case”1″:case”2″:case”3″:case”4″:case”5″:case”6″:case”7″:{const l=n.c,i=n.take(2);if(i===!1)return!1;const o=parseInt(l+i,8);if(Number.isNaN(o))return!1;e.push(o);break}case”x”:{const l=n.c,i=n.take(2);if(i===!1)return!1;const o=parseInt(l+i,16);if(Number.isNaN(o))return!1;e.push(o);break}case”u”:{const l=n.c,i=n.take(4);if(i===!1)return!1;const o=parseInt(l+i,16);if(Number.isNaN(o))return!1;const r=new Uint8Array(4);new DataView(r.buffer).setInt32(0,o,!0),e.push(r[0],r[1],r[2],r[3]);break}case”U”:{const l=n.c,i=n.take(8);if(i===!1)return!1;const o=ie.uEnc(l+i),r=new Uint8Array(8),c=new DataView(r.buffer);c.setInt32(0,o.lo,!0),c.setInt32(4,o.hi,!0),e.push(r[0],r[1],r[2],r[3],r[4],r[5],r[6],r[7]);break}}break;default:e.push(n.c.charCodeAt(0))}return new Uint8Array(e)}function*ii(t){switch(t.kind){case”file”:for(const e of t.messages)yield e,yield*ii(e);yield*t.enums,yield*t.services,yield*t.extensions;break;case”message”:for(const e of t.nestedMessages)yield e,yield*ii(e);yield*t.nestedEnums,yield*t.nestedExtensions;break}}function Ka(…t){const e=kV();if(!t.length)return e;if(“$typeName”in t[0]&&t[0].$typeName==”google.protobuf.FileDescriptorSet”){for(const l of t[0].file)Gr(l,e);return e}if(“$typeName”in t[0]){let r=function(c){const a=[];for(const d of c.dependency){if(e.getFile(d)!=null||o.has(d))continue;const s=i(d);if(!s)throw new Error(`Unable to resolve ${d}, imported by ${c.name}`);”kind”in s?e.addFile(s,!1,!0):(o.add(s.name),a.push(s))}return a.concat(…a.map(r))};var n=r;const l=t[0],i=t[1],o=new Set;for(const c of[l,…r(l)].reverse())Gr(c,e)}else for(const l of t)for(const i of l.files)e.addFile(i);return e}function kV(){const t=new Map,e=new Map,n=new Map;return{kind:”registry”,types:t,extendees:e,[Symbol.iterator](){return t.values()},get files(){return n.values()},addFile(l,i,o){if(n.set(l.proto.name,l),!i)for(const r of ii(l))this.add(r);if(o)for(const r of l.dependencies)this.addFile(r,i,o)},add(l){if(l.kind==”extension”){let i=e.get(l.extendee.typeName);i||e.set(l.extendee.typeName,i=new Map),i.set(l.number,l)}t.set(l.typeName,l)},get(l){return t.get(l)},getFile(l){return n.get(l)},getMessage(l){const i=t.get(l);return(i==null?void 0:i.kind)==”message”?i:void 0},getEnum(l){const i=t.get(l);return(i==null?void 0:i.kind)==”enum”?i:void 0},getExtension(l){const i=t.get(l);return(i==null?void 0:i.kind)==”extension”?i:void 0},getExtensionFor(l,i){var o;return(o=e.get(l.typeName))===null||o===void 0?void 0:o.get(i)},getService(l){const i=t.get(l);return(i==null?void 0:i.kind)==”service”?i:void 0}}}const zV=998,QV=999,KV=9,mn=10,on=11,LV=12,Zr=14,Mi=3,MV=2,fr=1,TV=0,Dl=1,pr=2,HV=3,DV=1,jV=2,_V=1,La={998:{fieldPresence:1,enumType:2,repeatedFieldEncoding:2,utf8Validation:3,messageEncoding:1,jsonFormat:2,enforceNamingStyle:2},999:{fieldPresence:2,enumType:1,repeatedFieldEncoding:1,utf8Validation:2,messageEncoding:1,jsonFormat:1,enforceNamingStyle:2},1e3:{fieldPresence:1,enumType:1,repeatedFieldEncoding:1,utf8Validation:2,messageEncoding:1,jsonFormat:1,enforceNamingStyle:2}};function Gr(t,e){var n,l;const i={kind:”file”,proto:t,deprecated:(l=(n=t.options)===null||n===void 0?void 0:n.deprecated)!==null&&l!==void 0?l:!1,edition:qV(t),name:t.name.replace(/\.proto$/,””),dependencies:e0(t,e),enums:[],messages:[],extensions:[],services:[],toString(){return`file ${t.name}`}},o=new Map,r={get(c){return o.get(c)},add(c){var a;it(((a=c.proto.options)===null||a===void 0?void 0:a.mapEntry)===!0),o.set(c.typeName,c)}};for(const c of t.enumType)Ma(c,i,void 0,e);for(const c of t.messageType)Ta(c,i,void 0,e,r);for(const c of t.service)PV(c,i,e);oi(i,e);for(const c of o.values())ri(c,e,r);for(const c of i.messages)ri(c,e,r),oi(c,e);e.addFile(i,!0)}function oi(t,e){switch(t.kind){case”file”:for(const n of t.proto.extension){const l=ci(n,t,e);t.extensions.push(l),e.add(l)}break;case”message”:for(const n of t.proto.extension){const l=ci(n,t,e);t.nestedExtensions.push(l),e.add(l)}for(const n of t.nestedMessages)oi(n,e);break}}function ri(t,e,n){const l=t.proto.oneofDecl.map(o=>$V(o,t)),i=new Set;for(const o of t.proto.field){const r=l0(o,l),c=ci(o,t,e,r,n);t.fields.push(c),t.field[c.localName]=c,r===void 0?t.members.push(c):(r.fields.push(c),i.has(r)||(i.add(r),t.members.push(r)))}for(const o of l.filter(r=>i.has(r)))t.oneofs.push(o);for(const o of t.nestedMessages)ri(o,e,n)}function Ma(t,e,n,l){var i,o,r,c,a;const d=t0(t.name,t.value),s={kind:”enum”,proto:t,deprecated:(o=(i=t.options)===null||i===void 0?void 0:i.deprecated)!==null&&o!==void 0?o:!1,file:e,parent:n,open:!0,name:t.name,typeName:Zl(t,n,e),value:{},values:[],sharedPrefix:d,toString(){return`enum ${this.typeName}`}};s.open=c0(s),l.add(s);for(const u of t.value){const b=u.name;s.values.push(s.value[u.number]={kind:”enum_value”,proto:u,deprecated:(c=(r=u.options)===null||r===void 0?void 0:r.deprecated)!==null&&c!==void 0?c:!1,parent:s,name:b,localName:Vn(d==null?b:b.substring(d.length)),number:u.number,toString(){return`enum value ${s.typeName}.${b}`}})}((a=n==null?void 0:n.nestedEnums)!==null&&a!==void 0?a:e.enums).push(s)}function Ta(t,e,n,l,i){var o,r,c,a;const d={kind:”message”,proto:t,deprecated:(r=(o=t.options)===null||o===void 0?void 0:o.deprecated)!==null&&r!==void 0?r:!1,file:e,parent:n,name:t.name,typeName:Zl(t,n,e),fields:[],field:{},oneofs:[],members:[],nestedEnums:[],nestedMessages:[],nestedExtensions:[],toString(){return`message ${this.typeName}`}};((c=t.options)===null||c===void 0?void 0:c.mapEntry)===!0?i.add(d):(((a=n==null?void 0:n.nestedMessages)!==null&&a!==void 0?a:e.messages).push(d),l.add(d));for(const s of t.enumType)Ma(s,e,d,l);for(const s of t.nestedType)Ta(s,e,d,l,i)}function PV(t,e,n){var l,i;const o={kind:”service”,proto:t,deprecated:(i=(l=t.options)===null||l===void 0?void 0:l.deprecated)!==null&&i!==void 0?i:!1,file:e,name:t.name,typeName:Zl(t,void 0,e),methods:[],method:{},toString(){return`service ${this.typeName}`}};e.services.push(o),n.add(o);for(const r of t.method){const c=OV(r,o,n);o.methods.push(c),o.method[c.localName]=c}}function OV(t,e,n){var l,i,o,r;let c;t.clientStreaming&&t.serverStreaming?c=”bidi_streaming”:t.clientStreaming?c=”client_streaming”:t.serverStreaming?c=”server_streaming”:c=”unary”;const a=n.getMessage(ht(t.inputType)),d=n.getMessage(ht(t.outputType));it(a,`invalid MethodDescriptorProto: input_type ${t.inputType} not found`),it(d,`invalid MethodDescriptorProto: output_type ${t.inputType} not found`);const s=t.name;return{kind:”rpc”,proto:t,deprecated:(i=(l=t.options)===null||l===void 0?void 0:l.deprecated)!==null&&i!==void 0?i:!1,parent:e,name:s,localName:Vn(s.length?Vn(s[0].toLowerCase()+s.substring(1)):s),methodKind:c,input:a,output:d,idempotency:(r=(o=t.options)===null||o===void 0?void 0:o.idempotencyLevel)!==null&&r!==void 0?r:TV,toString(){return`rpc ${e.typeName}.${s}`}}}function $V(t,e){return{kind:”oneof”,proto:t,deprecated:!1,parent:e,fields:[],name:t.name,localName:Vn(bn(t.name)),toString(){return`oneof ${e.typeName}.${this.name}`}}}function ci(t,e,n,l,i){var o,r,c;const a=i===void 0,d={kind:”field”,proto:t,deprecated:(r=(o=t.options)===null||o===void 0?void 0:o.deprecated)!==null&&r!==void 0?r:!1,name:t.name,number:t.number,scalar:void 0,message:void 0,enum:void 0,presence:i0(t,l,a,e),listKind:void 0,mapKind:void 0,mapKey:void 0,delimitedEncoding:void 0,packed:void 0,longAsString:!1,getDefaultValue:void 0};if(a){const g=e.kind==”file”?e:e.file,V=e.kind==”file”?void 0:e,p=Zl(t,V,g);d.kind=”extension”,d.file=g,d.parent=V,d.oneof=void 0,d.typeName=p,d.jsonName=`[${p}]`,d.toString=()=>`extension ${p}`;const X=n.getMessage(ht(t.extendee));it(X,`invalid FieldDescriptorProto: extendee ${t.extendee} not found`),d.extendee=X}else{const g=e;it(g.kind==”message”),d.parent=g,d.oneof=l,d.localName=l?bn(t.name):Vn(bn(t.name)),d.jsonName=t.jsonName,d.toString=()=>`field ${g.typeName}.${t.name}`}const s=t.label,u=t.type,b=(c=t.options)===null||c===void 0?void 0:c.jstype;if(s===Mi){const g=u==on?i==null?void 0:i.get(ht(t.typeName)):void 0;if(g){d.fieldKind=”map”;const{key:V,value:p}=r0(g);return d.mapKey=V.scalar,d.mapKind=p.fieldKind,d.message=p.message,d.delimitedEncoding=!1,d.enum=p.enum,d.scalar=p.scalar,d}switch(d.fieldKind=”list”,u){case on:case mn:d.listKind=”message”,d.message=n.getMessage(ht(t.typeName)),it(d.message),d.delimitedEncoding=Xr(t,e);break;case Zr:d.listKind=”enum”,d.enum=n.getEnum(ht(t.typeName)),it(d.enum);break;default:d.listKind=”scalar”,d.scalar=u,d.longAsString=b==fr;break}return d.packed=o0(t,e),d}switch(u){case on:case mn:d.fieldKind=”message”,d.message=n.getMessage(ht(t.typeName)),it(d.message,`invalid FieldDescriptorProto: type_name ${t.typeName} not found`),d.delimitedEncoding=Xr(t,e),d.getDefaultValue=()=>{};break;case Zr:{const g=n.getEnum(ht(t.typeName));it(g!==void 0,`invalid FieldDescriptorProto: type_name ${t.typeName} not found`),d.fieldKind=”enum”,d.enum=n.getEnum(ht(t.typeName)),d.getDefaultValue=()=>hn(t,”defaultValue”)?JV(g,t.defaultValue):void 0;break}default:{d.fieldKind=”scalar”,d.scalar=u,d.longAsString=b==fr,d.getDefaultValue=()=>hn(t,”defaultValue”)?xV(u,t.defaultValue):void 0;break}}return d}function qV(t){switch(t.syntax){case””:case”proto2″:return zV;case”proto3″:return QV;case”editions”:if(t.edition in La)return t.edition;throw new Error(`${t.name}: unsupported edition`);default:throw new Error(`${t.name}: unsupported syntax “${t.syntax}”`)}}function e0(t,e){return t.dependency.map(n=>{const l=e.getFile(n);if(!l)throw new Error(`Cannot find ${n}, imported by ${t.name}`);return l})}function t0(t,e){const n=n0(t)+”_”;for(const l of e){if(!l.name.toLowerCase().startsWith(n))return;const i=l.name.substring(n.length);if(i.length==0||/^\d/.test(i))return}return n}function n0(t){return(t.substring(0,1)+t.substring(1).replace(/[A-Z]/g,e=>”_”+e)).toLowerCase()}function Zl(t,e,n){let l;return e?l=`${e.typeName}.${t.name}`:n.proto.package.length>0?l=`${n.proto.package}.${t.name}`:l=`${t.name}`,l}function ht(t){return t.startsWith(“.”)?t.substring(1):t}function l0(t,e){if(!hn(t,”oneofIndex”)||t.proto3Optional)return;const n=e[t.oneofIndex];return it(n,`invalid FieldDescriptorProto: oneof #${t.oneofIndex} for field #${t.number} not found`),n}function i0(t,e,n,l){if(t.label==MV)return HV;if(t.label==Mi)return pr;if(e||t.proto3Optional||n)return Dl;const i=Ht(“fieldPresence”,{proto:t,parent:l});return i==pr&&(t.type==on||t.type==mn)?Dl:i}function o0(t,e){if(t.label!=Mi)return!1;switch(t.type){case KV:case LV:case mn:case on:return!1}const n=t.options;return n&&hn(n,”packed”)?n.packed:DV==Ht(“repeatedFieldEncoding”,{proto:t,parent:e})}function r0(t){const e=t.fields.find(l=>l.number===1),n=t.fields.find(l=>l.number===2);return it(e&&e.fieldKind==”scalar”&&e.scalar!=m.BYTES&&e.scalar!=m.FLOAT&&e.scalar!=m.DOUBLE&&n&&n.fieldKind!=”list”&&n.fieldKind!=”map”),{key:e,value:n}}function c0(t){var e;return _V==Ht(“enumType”,{proto:t.proto,parent:(e=t.parent)!==null&&e!==void 0?e:t.file})}function Xr(t,e){return t.type==mn?!0:jV==Ht(“messageEncoding”,{proto:t,parent:e})}function Ht(t,e){var n,l;const i=(n=e.proto.options)===null||n===void 0?void 0:n.features;if(i){const o=i[t];if(o!=0)return o}if(“kind”in e){if(e.kind==”message”)return Ht(t,(l=e.parent)!==null&&l!==void 0?l:e.file);const o=La[e.edition];if(!o)throw new Error(`feature default for edition ${e.edition} not found`);return o[t]}return Ht(t,e.parent)}function it(t,e){if(!t)throw new Error(e)}function a0(t){const e=d0(t);return e.messageType.forEach(Li),Ka(e,()=>{}).getFile(e.name)}function d0(t){return Object.assign(Object.create({syntax:””,edition:0}),Object.assign(Object.assign({$typeName:”google.protobuf.FileDescriptorProto”,dependency:[],publicDependency:[],weakDependency:[],service:[],extension:[]},t),{messageType:t.messageType.map(Ha),enumType:t.enumType.map(Da)}))}function Ha(t){var e,n,l,i,o,r,c,a;return{$typeName:”google.protobuf.DescriptorProto”,name:t.name,field:(n=(e=t.field)===null||e===void 0?void 0:e.map(s0))!==null&&n!==void 0?n:[],extension:[],nestedType:(i=(l=t.nestedType)===null||l===void 0?void 0:l.map(Ha))!==null&&i!==void 0?i:[],enumType:(r=(o=t.enumType)===null||o===void 0?void 0:o.map(Da))!==null&&r!==void 0?r:[],extensionRange:(a=(c=t.extensionRange)===null||c===void 0?void 0:c.map(d=>Object.assign({$typeName:”google.protobuf.DescriptorProto.ExtensionRange”},d)))!==null&&a!==void 0?a:[],oneofDecl:[],reservedRange:[],reservedName:[]}}function s0(t){return Object.assign(Object.create({label:1,typeName:””,extendee:””,defaultValue:””,oneofIndex:0,jsonName:””,proto3Optional:!1}),Object.assign(Object.assign({$typeName:”google.protobuf.FieldDescriptorProto”},t),{options:t.options?u0(t.options):void 0}))}function u0(t){var e,n,l;return Object.assign(Object.create({ctype:0,packed:!1,jstype:0,lazy:!1,unverifiedLazy:!1,deprecated:!1,weak:!1,debugRedact:!1,retention:0}),Object.assign(Object.assign({$typeName:”google.protobuf.FieldOptions”},t),{targets:(e=t.targets)!==null&&e!==void 0?e:[],editionDefaults:(l=(n=t.editionDefaults)===null||n===void 0?void 0:n.map(o=>Object.assign({$typeName:”google.protobuf.FieldOptions.EditionDefault”},o)))!==null&&l!==void 0?l:[],uninterpretedOption:[]}))}function Da(t){return{$typeName:”google.protobuf.EnumDescriptorProto”,name:t.name,reservedName:[],reservedRange:[],value:t.value.map(e=>Object.assign({$typeName:”google.protobuf.EnumValueDescriptorProto”},e))}}function Xn(t,e,…n){return n.reduce((l,i)=>l.nestedMessages[i],t.messages[e])}const ja=a0({name:”google/protobuf/descriptor.proto”,package:”google.protobuf”,messageType:[{name:”FileDescriptorSet”,field:[{name:”file”,number:1,type:11,label:3,typeName:”.google.protobuf.FileDescriptorProto”}],extensionRange:[{start:536e6,end:536000001}]},{name:”FileDescriptorProto”,field:[{name:”name”,number:1,type:9,label:1},{name:”package”,number:2,type:9,label:1},{name:”dependency”,number:3,type:9,label:3},{name:”public_dependency”,number:10,type:5,label:3},{name:”weak_dependency”,number:11,type:5,label:3},{name:”message_type”,number:4,type:11,label:3,typeName:”.google.protobuf.DescriptorProto”},{name:”enum_type”,number:5,type:11,label:3,typeName:”.google.protobuf.EnumDescriptorProto”},{name:”service”,number:6,type:11,label:3,typeName:”.google.protobuf.ServiceDescriptorProto”},{name:”extension”,number:7,type:11,label:3,typeName:”.google.protobuf.FieldDescriptorProto”},{name:”options”,number:8,type:11,label:1,typeName:”.google.protobuf.FileOptions”},{name:”source_code_info”,number:9,type:11,label:1,typeName:”.google.protobuf.SourceCodeInfo”},{name:”syntax”,number:12,type:9,label:1},{name:”edition”,number:14,type:14,label:1,typeName:”.google.protobuf.Edition”}]},{name:”DescriptorProto”,field:[{name:”name”,number:1,type:9,label:1},{name:”field”,number:2,type:11,label:3,typeName:”.google.protobuf.FieldDescriptorProto”},{name:”extension”,number:6,type:11,label:3,typeName:”.google.protobuf.FieldDescriptorProto”},{name:”nested_type”,number:3,type:11,label:3,typeName:”.google.protobuf.DescriptorProto”},{name:”enum_type”,number:4,type:11,label:3,typeName:”.google.protobuf.EnumDescriptorProto”},{name:”extension_range”,number:5,type:11,label:3,typeName:”.google.protobuf.DescriptorProto.ExtensionRange”},{name:”oneof_decl”,number:8,type:11,label:3,typeName:”.google.protobuf.OneofDescriptorProto”},{name:”options”,number:7,type:11,label:1,typeName:”.google.protobuf.MessageOptions”},{name:”reserved_range”,number:9,type:11,label:3,typeName:”.google.protobuf.DescriptorProto.ReservedRange”},{name:”reserved_name”,number:10,type:9,label:3}],nestedType:[{name:”ExtensionRange”,field:[{name:”start”,number:1,type:5,label:1},{name:”end”,number:2,type:5,label:1},{name:”options”,number:3,type:11,label:1,typeName:”.google.protobuf.ExtensionRangeOptions”}]},{name:”ReservedRange”,field:[{name:”start”,number:1,type:5,label:1},{name:”end”,number:2,type:5,label:1}]}]},{name:”ExtensionRangeOptions”,field:[{name:”uninterpreted_option”,number:999,type:11,label:3,typeName:”.google.protobuf.UninterpretedOption”},{name:”declaration”,number:2,type:11,label:3,typeName:”.google.protobuf.ExtensionRangeOptions.Declaration”,options:{retention:2}},{name:”features”,number:50,type:11,label:1,typeName:”.google.protobuf.FeatureSet”},{name:”verification”,number:3,type:14,label:1,typeName:”.google.protobuf.ExtensionRangeOptions.VerificationState”,defaultValue:”UNVERIFIED”,options:{retention:2}}],nestedType:[{name:”Declaration”,field:[{name:”number”,number:1,type:5,label:1},{name:”full_name”,number:2,type:9,label:1},{name:”type”,number:3,type:9,label:1},{name:”reserved”,number:5,type:8,label:1},{name:”repeated”,number:6,type:8,label:1}]}],enumType:[{name:”VerificationState”,value:[{name:”DECLARATION”,number:0},{name:”UNVERIFIED”,number:1}]}],extensionRange:[{start:1e3,end:536870912}]},{name:”FieldDescriptorProto”,field:[{name:”name”,number:1,type:9,label:1},{name:”number”,number:3,type:5,label:1},{name:”label”,number:4,type:14,label:1,typeName:”.google.protobuf.FieldDescriptorProto.Label”},{name:”type”,number:5,type:14,label:1,typeName:”.google.protobuf.FieldDescriptorProto.Type”},{name:”type_name”,number:6,type:9,label:1},{name:”extendee”,number:2,type:9,label:1},{name:”default_value”,number:7,type:9,label:1},{name:”oneof_index”,number:9,type:5,label:1},{name:”json_name”,number:10,type:9,label:1},{name:”options”,number:8,type:11,label:1,typeName:”.google.protobuf.FieldOptions”},{name:”proto3_optional”,number:17,type:8,label:1}],enumType:[{name:”Type”,value:[{name:”TYPE_DOUBLE”,number:1},{name:”TYPE_FLOAT”,number:2},{name:”TYPE_INT64″,number:3},{name:”TYPE_UINT64″,number:4},{name:”TYPE_INT32″,number:5},{name:”TYPE_FIXED64″,number:6},{name:”TYPE_FIXED32″,number:7},{name:”TYPE_BOOL”,number:8},{name:”TYPE_STRING”,number:9},{name:”TYPE_GROUP”,number:10},{name:”TYPE_MESSAGE”,number:11},{name:”TYPE_BYTES”,number:12},{name:”TYPE_UINT32″,number:13},{name:”TYPE_ENUM”,number:14},{name:”TYPE_SFIXED32″,number:15},{name:”TYPE_SFIXED64″,number:16},{name:”TYPE_SINT32″,number:17},{name:”TYPE_SINT64″,number:18}]},{name:”Label”,value:[{name:”LABEL_OPTIONAL”,number:1},{name:”LABEL_REPEATED”,number:3},{name:”LABEL_REQUIRED”,number:2}]}]},{name:”OneofDescriptorProto”,field:[{name:”name”,number:1,type:9,label:1},{name:”options”,number:2,type:11,label:1,typeName:”.google.protobuf.OneofOptions”}]},{name:”EnumDescriptorProto”,field:[{name:”name”,number:1,type:9,label:1},{name:”value”,number:2,type:11,label:3,typeName:”.google.protobuf.EnumValueDescriptorProto”},{name:”options”,number:3,type:11,label:1,typeName:”.google.protobuf.EnumOptions”},{name:”reserved_range”,number:4,type:11,label:3,typeName:”.google.protobuf.EnumDescriptorProto.EnumReservedRange”},{name:”reserved_name”,number:5,type:9,label:3}],nestedType:[{name:”EnumReservedRange”,field:[{name:”start”,number:1,type:5,label:1},{name:”end”,number:2,type:5,label:1}]}]},{name:”EnumValueDescriptorProto”,field:[{name:”name”,number:1,type:9,label:1},{name:”number”,number:2,type:5,label:1},{name:”options”,number:3,type:11,label:1,typeName:”.google.protobuf.EnumValueOptions”}]},{name:”ServiceDescriptorProto”,field:[{name:”name”,number:1,type:9,label:1},{name:”method”,number:2,type:11,label:3,typeName:”.google.protobuf.MethodDescriptorProto”},{name:”options”,number:3,type:11,label:1,typeName:”.google.protobuf.ServiceOptions”}]},{name:”MethodDescriptorProto”,field:[{name:”name”,number:1,type:9,label:1},{name:”input_type”,number:2,type:9,label:1},{name:”output_type”,number:3,type:9,label:1},{name:”options”,number:4,type:11,label:1,typeName:”.google.protobuf.MethodOptions”},{name:”client_streaming”,number:5,type:8,label:1,defaultValue:”false”},{name:”server_streaming”,number:6,type:8,label:1,defaultValue:”false”}]},{name:”FileOptions”,field:[{name:”java_package”,number:1,type:9,label:1},{name:”java_outer_classname”,number:8,type:9,label:1},{name:”java_multiple_files”,number:10,type:8,label:1,defaultValue:”false”},{name:”java_generate_equals_and_hash”,number:20,type:8,label:1,options:{deprecated:!0}},{name:”java_string_check_utf8″,number:27,type:8,label:1,defaultValue:”false”},{name:”optimize_for”,number:9,type:14,label:1,typeName:”.google.protobuf.FileOptions.OptimizeMode”,defaultValue:”SPEED”},{name:”go_package”,number:11,type:9,label:1},{name:”cc_generic_services”,number:16,type:8,label:1,defaultValue:”false”},{name:”java_generic_services”,number:17,type:8,label:1,defaultValue:”false”},{name:”py_generic_services”,number:18,type:8,label:1,defaultValue:”false”},{name:”deprecated”,number:23,type:8,label:1,defaultValue:”false”},{name:”cc_enable_arenas”,number:31,type:8,label:1,defaultValue:”true”},{name:”objc_class_prefix”,number:36,type:9,label:1},{name:”csharp_namespace”,number:37,type:9,label:1},{name:”swift_prefix”,number:39,type:9,label:1},{name:”php_class_prefix”,number:40,type:9,label:1},{name:”php_namespace”,number:41,type:9,label:1},{name:”php_metadata_namespace”,number:44,type:9,label:1},{name:”ruby_package”,number:45,type:9,label:1},{name:”features”,number:50,type:11,label:1,typeName:”.google.protobuf.FeatureSet”},{name:”uninterpreted_option”,number:999,type:11,label:3,typeName:”.google.protobuf.UninterpretedOption”}],enumType:[{name:”OptimizeMode”,value:[{name:”SPEED”,number:1},{name:”CODE_SIZE”,number:2},{name:”LITE_RUNTIME”,number:3}]}],extensionRange:[{start:1e3,end:536870912}]},{name:”MessageOptions”,field:[{name:”message_set_wire_format”,number:1,type:8,label:1,defaultValue:”false”},{name:”no_standard_descriptor_accessor”,number:2,type:8,label:1,defaultValue:”false”},{name:”deprecated”,number:3,type:8,label:1,defaultValue:”false”},{name:”map_entry”,number:7,type:8,label:1},{name:”deprecated_legacy_json_field_conflicts”,number:11,type:8,label:1,options:{deprecated:!0}},{name:”features”,number:12,type:11,label:1,typeName:”.google.protobuf.FeatureSet”},{name:”uninterpreted_option”,number:999,type:11,label:3,typeName:”.google.protobuf.UninterpretedOption”}],extensionRange:[{start:1e3,end:536870912}]},{name:”FieldOptions”,field:[{name:”ctype”,number:1,type:14,label:1,typeName:”.google.protobuf.FieldOptions.CType”,defaultValue:”STRING”},{name:”packed”,number:2,type:8,label:1},{name:”jstype”,number:6,type:14,label:1,typeName:”.google.protobuf.FieldOptions.JSType”,defaultValue:”JS_NORMAL”},{name:”lazy”,number:5,type:8,label:1,defaultValue:”false”},{name:”unverified_lazy”,number:15,type:8,label:1,defaultValue:”false”},{name:”deprecated”,number:3,type:8,label:1,defaultValue:”false”},{name:”weak”,number:10,type:8,label:1,defaultValue:”false”},{name:”debug_redact”,number:16,type:8,label:1,defaultValue:”false”},{name:”retention”,number:17,type:14,label:1,typeName:”.google.protobuf.FieldOptions.OptionRetention”},{name:”targets”,number:19,type:14,label:3,typeName:”.google.protobuf.FieldOptions.OptionTargetType”},{name:”edition_defaults”,number:20,type:11,label:3,typeName:”.google.protobuf.FieldOptions.EditionDefault”},{name:”features”,number:21,type:11,label:1,typeName:”.google.protobuf.FeatureSet”},{name:”feature_support”,number:22,type:11,label:1,typeName:”.google.protobuf.FieldOptions.FeatureSupport”},{name:”uninterpreted_option”,number:999,type:11,label:3,typeName:”.google.protobuf.UninterpretedOption”}],nestedType:[{name:”EditionDefault”,field:[{name:”edition”,number:3,type:14,label:1,typeName:”.google.protobuf.Edition”},{name:”value”,number:2,type:9,label:1}]},{name:”FeatureSupport”,field:[{name:”edition_introduced”,number:1,type:14,label:1,typeName:”.google.protobuf.Edition”},{name:”edition_deprecated”,number:2,type:14,label:1,typeName:”.google.protobuf.Edition”},{name:”deprecation_warning”,number:3,type:9,label:1},{name:”edition_removed”,number:4,type:14,label:1,typeName:”.google.protobuf.Edition”}]}],enumType:[{name:”CType”,value:[{name:”STRING”,number:0},{name:”CORD”,number:1},{name:”STRING_PIECE”,number:2}]},{name:”JSType”,value:[{name:”JS_NORMAL”,number:0},{name:”JS_STRING”,number:1},{name:”JS_NUMBER”,number:2}]},{name:”OptionRetention”,value:[{name:”RETENTION_UNKNOWN”,number:0},{name:”RETENTION_RUNTIME”,number:1},{name:”RETENTION_SOURCE”,number:2}]},{name:”OptionTargetType”,value:[{name:”TARGET_TYPE_UNKNOWN”,number:0},{name:”TARGET_TYPE_FILE”,number:1},{name:”TARGET_TYPE_EXTENSION_RANGE”,number:2},{name:”TARGET_TYPE_MESSAGE”,number:3},{name:”TARGET_TYPE_FIELD”,number:4},{name:”TARGET_TYPE_ONEOF”,number:5},{name:”TARGET_TYPE_ENUM”,number:6},{name:”TARGET_TYPE_ENUM_ENTRY”,number:7},{name:”TARGET_TYPE_SERVICE”,number:8},{name:”TARGET_TYPE_METHOD”,number:9}]}],extensionRange:[{start:1e3,end:536870912}]},{name:”OneofOptions”,field:[{name:”features”,number:1,type:11,label:1,typeName:”.google.protobuf.FeatureSet”},{name:”uninterpreted_option”,number:999,type:11,label:3,typeName:”.google.protobuf.UninterpretedOption”}],extensionRange:[{start:1e3,end:536870912}]},{name:”EnumOptions”,field:[{name:”allow_alias”,number:2,type:8,label:1},{name:”deprecated”,number:3,type:8,label:1,defaultValue:”false”},{name:”deprecated_legacy_json_field_conflicts”,number:6,type:8,label:1,options:{deprecated:!0}},{name:”features”,number:7,type:11,label:1,typeName:”.google.protobuf.FeatureSet”},{name:”uninterpreted_option”,number:999,type:11,label:3,typeName:”.google.protobuf.UninterpretedOption”}],extensionRange:[{start:1e3,end:536870912}]},{name:”EnumValueOptions”,field:[{name:”deprecated”,number:1,type:8,label:1,defaultValue:”false”},{name:”features”,number:2,type:11,label:1,typeName:”.google.protobuf.FeatureSet”},{name:”debug_redact”,number:3,type:8,label:1,defaultValue:”false”},{name:”feature_support”,number:4,type:11,label:1,typeName:”.google.protobuf.FieldOptions.FeatureSupport”},{name:”uninterpreted_option”,number:999,type:11,label:3,typeName:”.google.protobuf.UninterpretedOption”}],extensionRange:[{start:1e3,end:536870912}]},{name:”ServiceOptions”,field:[{name:”features”,number:34,type:11,label:1,typeName:”.google.protobuf.FeatureSet”},{name:”deprecated”,number:33,type:8,label:1,defaultValue:”false”},{name:”uninterpreted_option”,number:999,type:11,label:3,typeName:”.google.protobuf.UninterpretedOption”}],extensionRange:[{start:1e3,end:536870912}]},{name:”MethodOptions”,field:[{name:”deprecated”,number:33,type:8,label:1,defaultValue:”false”},{name:”idempotency_level”,number:34,type:14,label:1,typeName:”.google.protobuf.MethodOptions.IdempotencyLevel”,defaultValue:”IDEMPOTENCY_UNKNOWN”},{name:”features”,number:35,type:11,label:1,typeName:”.google.protobuf.FeatureSet”},{name:”uninterpreted_option”,number:999,type:11,label:3,typeName:”.google.protobuf.UninterpretedOption”}],enumType:[{name:”IdempotencyLevel”,value:[{name:”IDEMPOTENCY_UNKNOWN”,number:0},{name:”NO_SIDE_EFFECTS”,number:1},{name:”IDEMPOTENT”,number:2}]}],extensionRange:[{start:1e3,end:536870912}]},{name:”UninterpretedOption”,field:[{name:”name”,number:2,type:11,label:3,typeName:”.google.protobuf.UninterpretedOption.NamePart”},{name:”identifier_value”,number:3,type:9,label:1},{name:”positive_int_value”,number:4,type:4,label:1},{name:”negative_int_value”,number:5,type:3,label:1},{name:”double_value”,number:6,type:1,label:1},{name:”string_value”,number:7,type:12,label:1},{name:”aggregate_value”,number:8,type:9,label:1}],nestedType:[{name:”NamePart”,field:[{name:”name_part”,number:1,type:9,label:2},{name:”is_extension”,number:2,type:8,label:2}]}]},{name:”FeatureSet”,field:[{name:”field_presence”,number:1,type:14,label:1,typeName:”.google.protobuf.FeatureSet.FieldPresence”,options:{retention:1,targets:[4,1],editionDefaults:[{value:”EXPLICIT”,edition:900},{value:”IMPLICIT”,edition:999},{value:”EXPLICIT”,edition:1e3}]}},{name:”enum_type”,number:2,type:14,label:1,typeName:”.google.protobuf.FeatureSet.EnumType”,options:{retention:1,targets:[6,1],editionDefaults:[{value:”CLOSED”,edition:900},{value:”OPEN”,edition:999}]}},{name:”repeated_field_encoding”,number:3,type:14,label:1,typeName:”.google.protobuf.FeatureSet.RepeatedFieldEncoding”,options:{retention:1,targets:[4,1],editionDefaults:[{value:”EXPANDED”,edition:900},{value:”PACKED”,edition:999}]}},{name:”utf8_validation”,number:4,type:14,label:1,typeName:”.google.protobuf.FeatureSet.Utf8Validation”,options:{retention:1,targets:[4,1],editionDefaults:[{value:”NONE”,edition:900},{value:”VERIFY”,edition:999}]}},{name:”message_encoding”,number:5,type:14,label:1,typeName:”.google.protobuf.FeatureSet.MessageEncoding”,options:{retention:1,targets:[4,1],editionDefaults:[{value:”LENGTH_PREFIXED”,edition:900}]}},{name:”json_format”,number:6,type:14,label:1,typeName:”.google.protobuf.FeatureSet.JsonFormat”,options:{retention:1,targets:[3,6,1],editionDefaults:[{value:”LEGACY_BEST_EFFORT”,edition:900},{value:”ALLOW”,edition:999}]}},{name:”enforce_naming_style”,number:7,type:14,label:1,typeName:”.google.protobuf.FeatureSet.EnforceNamingStyle”,options:{retention:2,targets:[1,2,3,4,5,6,7,8,9],editionDefaults:[{value:”STYLE_LEGACY”,edition:900},{value:”STYLE2024″,edition:1001}]}}],enumType:[{name:”FieldPresence”,value:[{name:”FIELD_PRESENCE_UNKNOWN”,number:0},{name:”EXPLICIT”,number:1},{name:”IMPLICIT”,number:2},{name:”LEGACY_REQUIRED”,number:3}]},{name:”EnumType”,value:[{name:”ENUM_TYPE_UNKNOWN”,number:0},{name:”OPEN”,number:1},{name:”CLOSED”,number:2}]},{name:”RepeatedFieldEncoding”,value:[{name:”REPEATED_FIELD_ENCODING_UNKNOWN”,number:0},{name:”PACKED”,number:1},{name:”EXPANDED”,number:2}]},{name:”Utf8Validation”,value:[{name:”UTF8_VALIDATION_UNKNOWN”,number:0},{name:”VERIFY”,number:2},{name:”NONE”,number:3}]},{name:”MessageEncoding”,value:[{name:”MESSAGE_ENCODING_UNKNOWN”,number:0},{name:”LENGTH_PREFIXED”,number:1},{name:”DELIMITED”,number:2}]},{name:”JsonFormat”,value:[{name:”JSON_FORMAT_UNKNOWN”,number:0},{name:”ALLOW”,number:1},{name:”LEGACY_BEST_EFFORT”,number:2}]},{name:”EnforceNamingStyle”,value:[{name:”ENFORCE_NAMING_STYLE_UNKNOWN”,number:0},{name:”STYLE2024″,number:1},{name:”STYLE_LEGACY”,number:2}]}],extensionRange:[{start:1e3,end:9995},{start:9995,end:1e4},{start:1e4,end:10001}]},{name:”FeatureSetDefaults”,field:[{name:”defaults”,number:1,type:11,label:3,typeName:”.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault”},{name:”minimum_edition”,number:4,type:14,label:1,typeName:”.google.protobuf.Edition”},{name:”maximum_edition”,number:5,type:14,label:1,typeName:”.google.protobuf.Edition”}],nestedType:[{name:”FeatureSetEditionDefault”,field:[{name:”edition”,number:3,type:14,label:1,typeName:”.google.protobuf.Edition”},{name:”overridable_features”,number:4,type:11,label:1,typeName:”.google.protobuf.FeatureSet”},{name:”fixed_features”,number:5,type:11,label:1,typeName:”.google.protobuf.FeatureSet”}]}]},{name:”SourceCodeInfo”,field:[{name:”location”,number:1,type:11,label:3,typeName:”.google.protobuf.SourceCodeInfo.Location”}],nestedType:[{name:”Location”,field:[{name:”path”,number:1,type:5,label:3,options:{packed:!0}},{name:”span”,number:2,type:5,label:3,options:{packed:!0}},{name:”leading_comments”,number:3,type:9,label:1},{name:”trailing_comments”,number:4,type:9,label:1},{name:”leading_detached_comments”,number:6,type:9,label:3}]}],extensionRange:[{start:536e6,end:536000001}]},{name:”GeneratedCodeInfo”,field:[{name:”annotation”,number:1,type:11,label:3,typeName:”.google.protobuf.GeneratedCodeInfo.Annotation”}],nestedType:[{name:”Annotation”,field:[{name:”path”,number:1,type:5,label:3,options:{packed:!0}},{name:”source_file”,number:2,type:9,label:1},{name:”begin”,number:3,type:5,label:1},{name:”end”,number:4,type:5,label:1},{name:”semantic”,number:5,type:14,label:1,typeName:”.google.protobuf.GeneratedCodeInfo.Annotation.Semantic”}],enumType:[{name:”Semantic”,value:[{name:”NONE”,number:0},{name:”SET”,number:1},{name:”ALIAS”,number:2}]}]}]}],enumType:[{name:”Edition”,value:[{name:”EDITION_UNKNOWN”,number:0},{name:”EDITION_LEGACY”,number:900},{name:”EDITION_PROTO2″,number:998},{name:”EDITION_PROTO3″,number:999},{name:”EDITION_2023″,number:1e3},{name:”EDITION_2024″,number:1001},{name:”EDITION_1_TEST_ONLY”,number:1},{name:”EDITION_2_TEST_ONLY”,number:2},{name:”EDITION_99997_TEST_ONLY”,number:99997},{name:”EDITION_99998_TEST_ONLY”,number:99998},{name:”EDITION_99999_TEST_ONLY”,number:99999},{name:”EDITION_MAX”,number:2147483647}]}]}),g0=Xn(ja,1);var Ir;(function(t){t[t.DECLARATION=0]=”DECLARATION”,t[t.UNVERIFIED=1]=”UNVERIFIED”})(Ir||(Ir={}));var Rr;(function(t){t[t.DOUBLE=1]=”DOUBLE”,t[t.FLOAT=2]=”FLOAT”,t[t.INT64=3]=”INT64″,t[t.UINT64=4]=”UINT64″,t[t.INT32=5]=”INT32″,t[t.FIXED64=6]=”FIXED64″,t[t.FIXED32=7]=”FIXED32″,t[t.BOOL=8]=”BOOL”,t[t.STRING=9]=”STRING”,t[t.GROUP=10]=”GROUP”,t[t.MESSAGE=11]=”MESSAGE”,t[t.BYTES=12]=”BYTES”,t[t.UINT32=13]=”UINT32″,t[t.ENUM=14]=”ENUM”,t[t.SFIXED32=15]=”SFIXED32″,t[t.SFIXED64=16]=”SFIXED64″,t[t.SINT32=17]=”SINT32″,t[t.SINT64=18]=”SINT64″})(Rr||(Rr={}));var Er;(function(t){t[t.OPTIONAL=1]=”OPTIONAL”,t[t.REPEATED=3]=”REPEATED”,t[t.REQUIRED=2]=”REQUIRED”})(Er||(Er={}));var yr;(function(t){t[t.SPEED=1]=”SPEED”,t[t.CODE_SIZE=2]=”CODE_SIZE”,t[t.LITE_RUNTIME=3]=”LITE_RUNTIME”})(yr||(yr={}));var Sr;(function(t){t[t.STRING=0]=”STRING”,t[t.CORD=1]=”CORD”,t[t.STRING_PIECE=2]=”STRING_PIECE”})(Sr||(Sr={}));var Cr;(function(t){t[t.JS_NORMAL=0]=”JS_NORMAL”,t[t.JS_STRING=1]=”JS_STRING”,t[t.JS_NUMBER=2]=”JS_NUMBER”})(Cr||(Cr={}));var Wr;(function(t){t[t.RETENTION_UNKNOWN=0]=”RETENTION_UNKNOWN”,t[t.RETENTION_RUNTIME=1]=”RETENTION_RUNTIME”,t[t.RETENTION_SOURCE=2]=”RETENTION_SOURCE”})(Wr||(Wr={}));var vr;(function(t){t[t.TARGET_TYPE_UNKNOWN=0]=”TARGET_TYPE_UNKNOWN”,t[t.TARGET_TYPE_FILE=1]=”TARGET_TYPE_FILE”,t[t.TARGET_TYPE_EXTENSION_RANGE=2]=”TARGET_TYPE_EXTENSION_RANGE”,t[t.TARGET_TYPE_MESSAGE=3]=”TARGET_TYPE_MESSAGE”,t[t.TARGET_TYPE_FIELD=4]=”TARGET_TYPE_FIELD”,t[t.TARGET_TYPE_ONEOF=5]=”TARGET_TYPE_ONEOF”,t[t.TARGET_TYPE_ENUM=6]=”TARGET_TYPE_ENUM”,t[t.TARGET_TYPE_ENUM_ENTRY=7]=”TARGET_TYPE_ENUM_ENTRY”,t[t.TARGET_TYPE_SERVICE=8]=”TARGET_TYPE_SERVICE”,t[t.TARGET_TYPE_METHOD=9]=”TARGET_TYPE_METHOD”})(vr||(vr={}));var ai;(function(t){t[t.IDEMPOTENCY_UNKNOWN=0]=”IDEMPOTENCY_UNKNOWN”,t[t.NO_SIDE_EFFECTS=1]=”NO_SIDE_EFFECTS”,t[t.IDEMPOTENT=2]=”IDEMPOTENT”})(ai||(ai={}));var Br;(function(t){t[t.FIELD_PRESENCE_UNKNOWN=0]=”FIELD_PRESENCE_UNKNOWN”,t[t.EXPLICIT=1]=”EXPLICIT”,t[t.IMPLICIT=2]=”IMPLICIT”,t[t.LEGACY_REQUIRED=3]=”LEGACY_REQUIRED”})(Br||(Br={}));var Nr;(function(t){t[t.ENUM_TYPE_UNKNOWN=0]=”ENUM_TYPE_UNKNOWN”,t[t.OPEN=1]=”OPEN”,t[t.CLOSED=2]=”CLOSED”})(Nr||(Nr={}));var Fr;(function(t){t[t.REPEATED_FIELD_ENCODING_UNKNOWN=0]=”REPEATED_FIELD_ENCODING_UNKNOWN”,t[t.PACKED=1]=”PACKED”,t[t.EXPANDED=2]=”EXPANDED”})(Fr||(Fr={}));var Yr;(function(t){t[t.UTF8_VALIDATION_UNKNOWN=0]=”UTF8_VALIDATION_UNKNOWN”,t[t.VERIFY=2]=”VERIFY”,t[t.NONE=3]=”NONE”})(Yr||(Yr={}));var Ur;(function(t){t[t.MESSAGE_ENCODING_UNKNOWN=0]=”MESSAGE_ENCODING_UNKNOWN”,t[t.LENGTH_PREFIXED=1]=”LENGTH_PREFIXED”,t[t.DELIMITED=2]=”DELIMITED”})(Ur||(Ur={}));var Jr;(function(t){t[t.JSON_FORMAT_UNKNOWN=0]=”JSON_FORMAT_UNKNOWN”,t[t.ALLOW=1]=”ALLOW”,t[t.LEGACY_BEST_EFFORT=2]=”LEGACY_BEST_EFFORT”})(Jr||(Jr={}));var xr;(function(t){t[t.ENFORCE_NAMING_STYLE_UNKNOWN=0]=”ENFORCE_NAMING_STYLE_UNKNOWN”,t[t.STYLE2024=1]=”STYLE2024″,t[t.STYLE_LEGACY=2]=”STYLE_LEGACY”})(xr||(xr={}));var wr;(function(t){t[t.NONE=0]=”NONE”,t[t.SET=1]=”SET”,t[t.ALIAS=2]=”ALIAS”})(wr||(wr={}));var kr;(function(t){t[t.EDITION_UNKNOWN=0]=”EDITION_UNKNOWN”,t[t.EDITION_LEGACY=900]=”EDITION_LEGACY”,t[t.EDITION_PROTO2=998]=”EDITION_PROTO2″,t[t.EDITION_PROTO3=999]=”EDITION_PROTO3″,t[t.EDITION_2023=1e3]=”EDITION_2023″,t[t.EDITION_2024=1001]=”EDITION_2024″,t[t.EDITION_1_TEST_ONLY=1]=”EDITION_1_TEST_ONLY”,t[t.EDITION_2_TEST_ONLY=2]=”EDITION_2_TEST_ONLY”,t[t.EDITION_99997_TEST_ONLY=99997]=”EDITION_99997_TEST_ONLY”,t[t.EDITION_99998_TEST_ONLY=99998]=”EDITION_99998_TEST_ONLY”,t[t.EDITION_99999_TEST_ONLY=99999]=”EDITION_99999_TEST_ONLY”,t[t.EDITION_MAX=2147483647]=”EDITION_MAX”})(kr||(kr={}));const zr={readUnknownFields:!0};function h0(t){return t?Object.assign(Object.assign({},zr),t):zr}function fl(t,e,n){const l=qe(t,void 0,!1);return _a(l,new Ji(e),h0(n),!1,e.byteLength),l.message}function _a(t,e,n,l,i){var o;const r=l?e.len:e.pos+i;let c,a;const d=(o=t.getUnknown())!==null&&o!==void 0?o:[];for(;e.pos0&&t.setUnknown(d)}function Pa(t,e,n,l,i){switch(n.fieldKind){case”scalar”:t.set(n,Dt(e,n.scalar));break;case”enum”:t.set(n,Dt(e,m.INT32));break;case”message”:t.set(n,Ti(e,i,n,t.get(n)));break;case”list”:V0(e,l,t.get(n),i);break;case”map”:b0(e,t.get(n),i);break}}function b0(t,e,n){const l=e.field();let i,o;const r=t.pos+t.uint32();for(;t.pos<r;){const[c]=t.tag();switch(c){case 1:i=Dt(t,l.mapKey);break;case 2:switch(l.mapKind){case"scalar":o=Dt(t,l.scalar);break;case"enum":o=t.int32();break;case"message":o=Ti(t,n,l);break}break}}if(i===void 0&&(i=Ft(l.mapKey,!1)),o===void 0)switch(l.mapKind){case"scalar":o=Ft(l.scalar,!1);break;case"enum":o=l.enum.values[0].number;break;case"message":o=qe(l.message,void 0,!1);break}e.set(i,o)}function V0(t,e,n,l){var i;const o=n.field();if(o.listKind==="message"){n.add(Ti(t,l,o));return}const r=(i=o.scalar)!==null&&i!==void 0?i:m.INT32;if(!(e==ce.LengthDelimited&&r!=m.STRING&&r!=m.BYTES)){n.add(Dt(t,r));return}const a=t.uint32()+t.pos;for(;t.poso.proto.name))!==null&&n!==void 0?n:[],Ka(l,o=>e==null?void 0:e.find(r=>r.proto.name===o)).getFile(l.name)}const _=J(“Ch9nb29nbGUvcHJvdG9idWYvdGltZXN0YW1wLnByb3RvEg9nb29nbGUucHJvdG9idWYiKwoJVGltZXN0YW1wEg8KB3NlY29uZHMYASABKAMSDQoFbmFub3MYAiABKAVChQEKE2NvbS5nb29nbGUucHJvdG9idWZCDlRpbWVzdGFtcFByb3RvUAFaMmdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3RpbWVzdGFtcHBi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzM”),Oa=J(“Chlnb29nbGUvcHJvdG9idWYvYW55LnByb3RvEg9nb29nbGUucHJvdG9idWYiJgoDQW55EhAKCHR5cGVfdXJsGAEgASgJEg0KBXZhbHVlGAIgASgMQnYKE2NvbS5nb29nbGUucHJvdG9idWZCCEFueVByb3RvUAFaLGdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL2FueXBiogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzM”),m0=Xn(Oa,0),A0=3,Qr={writeUnknownFields:!0};function Z0(t){return t?Object.assign(Object.assign({},Qr),t):Qr}function $a(t,e,n){return ol(new va,Z0(n),qe(t,e)).finish()}function ol(t,e,n){var l;for(const i of n.sortedFields){if(!n.isSet(i)){if(i.presence==A0)throw new Error(`cannot encode ${i} to binary: required field not set`);continue}qa(t,e,n,i)}if(e.writeUnknownFields)for(const{no:i,wireType:o,data:r}of(l=n.getUnknown())!==null&&l!==void 0?l:[])t.tag(i,o).raw(r);return t}function qa(t,e,n,l){var i;switch(l.fieldKind){case”scalar”:case”enum”:rl(t,n.desc.typeName,l.name,(i=l.scalar)!==null&&i!==void 0?i:m.INT32,l.number,n.get(l));break;case”list”:f0(t,e,l,n.get(l));break;case”message”:ed(t,e,l,n.get(l));break;case”map”:for(const[o,r]of n.get(l))p0(t,e,l,o,r);break}}function rl(t,e,n,l,i,o){td(t.tag(i,G0(l)),e,n,l,o)}function ed(t,e,n,l){n.delimitedEncoding?ol(t.tag(n.number,ce.StartGroup),e,l).tag(n.number,ce.EndGroup):ol(t.tag(n.number,ce.LengthDelimited).fork(),e,l).join()}function f0(t,e,n,l){var i;if(n.listKind==”message”){for(const r of l)ed(t,e,n,r);return}const o=(i=n.scalar)!==null&&i!==void 0?i:m.INT32;if(n.packed){if(!l.size)return;t.tag(n.number,ce.LengthDelimited).fork();for(const r of l)td(t,n.parent.typeName,n.name,o,r);t.join();return}for(const r of l)rl(t,n.parent.typeName,n.name,o,n.number,r)}function p0(t,e,n,l,i){var o;switch(t.tag(n.number,ce.LengthDelimited).fork(),rl(t,n.parent.typeName,n.name,n.mapKey,1,l),n.mapKind){case”scalar”:case”enum”:rl(t,n.parent.typeName,n.name,(o=n.scalar)!==null&&o!==void 0?o:m.INT32,2,i);break;case”message”:ol(t.tag(2,ce.LengthDelimited).fork(),e,i).join();break}t.join()}function td(t,e,n,l,i){try{switch(l){case m.STRING:t.string(i);break;case m.BOOL:t.bool(i);break;case m.DOUBLE:t.double(i);break;case m.FLOAT:t.float(i);break;case m.INT32:t.int32(i);break;case m.INT64:t.int64(i);break;case m.UINT64:t.uint64(i);break;case m.FIXED64:t.fixed64(i);break;case m.BYTES:t.bytes(i);break;case m.FIXED32:t.fixed32(i);break;case m.SFIXED32:t.sfixed32(i);break;case m.SFIXED64:t.sfixed64(i);break;case m.SINT64:t.sint64(i);break;case m.UINT32:t.uint32(i);break;case m.SINT32:t.sint32(i);break}}catch(o){throw o instanceof Error?new Error(`cannot encode field ${e}.${n} to binary: ${o.message}`):o}}function G0(t){switch(t){case m.BYTES:case m.STRING:return ce.LengthDelimited;case m.DOUBLE:case m.FIXED64:case m.SFIXED64:return ce.Bit64;case m.FIXED32:case m.SFIXED32:case m.FLOAT:return ce.Bit32;default:return ce.Varint}}function X0(t,e,n){let l=!1;return n||(n=ot(m0),l=!0),n.value=$a(t,e),n.typeUrl=E0(e.$typeName),l?n:void 0}function I0(t,e){if(t.typeUrl===””)return!1;const n=typeof e==”string”?e:e.typeName,l=nd(t.typeUrl);return n===l}function R0(t,e){if(t.typeUrl===””)return;const n=e.kind==”message”?e:e.getMessage(nd(t.typeUrl));if(!(!n||!I0(t,n)))return fl(n,t.value)}function E0(t){return`type.googleapis.com/${t}`}function nd(t){const e=t.lastIndexOf(“/”),n=e>=0?t.substring(e+1):t;if(!n.length)throw new Error(`invalid type url: ${t}`);return n}const y0=J(“Ch5nb29nbGUvcHJvdG9idWYvZHVyYXRpb24ucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiIqCghEdXJhdGlvbhIPCgdzZWNvbmRzGAEgASgDEg0KBW5hbm9zGAIgASgFQoMBChNjb20uZ29vZ2xlLnByb3RvYnVmQg1EdXJhdGlvblByb3RvUAFaMWdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL2R1cmF0aW9ucGL4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNiBnByb3RvMw”),S0=J(“Chtnb29nbGUvcHJvdG9idWYvZW1wdHkucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiIHCgVFbXB0eUJ9ChNjb20uZ29vZ2xlLnByb3RvYnVmQgpFbXB0eVByb3RvUAFaLmdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL2VtcHR5cGL4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNiBnByb3RvMw”),Ue=J(“Chxnb29nbGUvcHJvdG9idWYvc3RydWN0LnByb3RvEg9nb29nbGUucHJvdG9idWYihAEKBlN0cnVjdBIzCgZmaWVsZHMYASADKAsyIy5nb29nbGUucHJvdG9idWYuU3RydWN0LkZpZWxkc0VudHJ5GkUKC0ZpZWxkc0VudHJ5EgsKA2tleRgBIAEoCRIlCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZToCOAEi6gEKBVZhbHVlEjAKCm51bGxfdmFsdWUYASABKA4yGi5nb29nbGUucHJvdG9idWYuTnVsbFZhbHVlSAASFgoMbnVtYmVyX3ZhbHVlGAIgASgBSAASFgoMc3RyaW5nX3ZhbHVlGAMgASgJSAASFAoKYm9vbF92YWx1ZRgEIAEoCEgAEi8KDHN0cnVjdF92YWx1ZRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIABIwCgpsaXN0X3ZhbHVlGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLkxpc3RWYWx1ZUgAQgYKBGtpbmQiMwoJTGlzdFZhbHVlEiYKBnZhbHVlcxgBIAMoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZSobCglOdWxsVmFsdWUSDgoKTlVMTF9WQUxVRRAAQn8KE2NvbS5nb29nbGUucHJvdG9idWZCC1N0cnVjdFByb3RvUAFaL2dvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3N0cnVjdHBi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzM”),C0=Xn(Ue,0),ld=Xn(Ue,1),W0=Xn(Ue,2);var di;(function(t){t[t.NULL_VALUE=0]=”NULL_VALUE”})(di||(di={}));function v0(t,e){id(e,t);const n=N0(t.$unknown,e),[l,i,o]=pl(e);for(const r of n)Pa(l,new Ji(r.data),i,r.wireType,{readUnknownFields:!0});return o()}function B0(t,e,n){var l;id(e,t);const i=((l=t.$unknown)!==null&&l!==void 0?l:[]).filter(d=>d.no!==e.number),[o,r]=pl(e,n),c=new va;qa(c,{writeUnknownFields:!0},o,r);const a=new Ji(c.finish());for(;a.pos=0;–n)if(t[n].no==e.number)return[t[n]];return[]}return t.filter(n=>n.no===e.number)}function pl(t,e){const n=t.typeName,l=Object.assign(Object.assign({},t),{kind:”field”,parent:t.extendee,localName:n}),i=Object.assign(Object.assign({},t.extendee),{fields:[l],members:[l],oneofs:[]}),o=ot(i,e!==void 0?{[n]:e}:void 0);return[qe(i,o),l,()=>{const r=o[n];if(r===void 0){const c=t.message;return Gn(c)?Ft(c.fields[0].scalar,c.fields[0].longAsString):ot(c)}return r}]}function id(t,e){if(t.extendee.typeName!=e.$typeName)throw new Error(`extension ${t.typeName} can only be applied to message ${t.extendee.typeName}`)}const F0=3,Y0=2,Kr={alwaysEmitImplicit:!1,enumAsInteger:!1,useProtoFieldName:!1};function U0(t){return t?Object.assign(Object.assign({},Kr),t):Kr}function J0(t,e,n){return In(qe(t,e),U0(n))}function x0(t,e,n){var l;const i=J0(t,e,n);return JSON.stringify(i,null,(l=n==null?void 0:n.prettySpaces)!==null&&l!==void 0?l:0)}function In(t,e){var n;const l=Q0(t,e);if(l!==void 0)return l;const i={};for(const o of t.sortedFields){if(!t.isSet(o)){if(o.presence==F0)throw new Error(`cannot encode ${o} to JSON: required field not set`);if(!e.alwaysEmitImplicit||o.presence!==Y0)continue}const r=Lr(o,t.get(o),e);r!==void 0&&(i[z0(o,e)]=r)}if(e.registry){const o=new Set;for(const{no:r}of(n=t.getUnknown())!==null&&n!==void 0?n:[])if(!o.has(r)){o.add(r);const c=e.registry.getExtensionFor(t.desc,r);if(!c)continue;const a=v0(t.message,c),[d,s]=pl(c,a),u=Lr(s,d.get(s),e);u!==void 0&&(i[c.jsonName]=u)}}return i}function Lr(t,e,n){switch(t.fieldKind){case”scalar”:return Gl(t,e);case”message”:return In(e,n);case”enum”:return Hi(t.enum,e,n.enumAsInteger);case”list”:return k0(e,n);case”map”:return w0(e,n)}}function w0(t,e){const n=t.field(),l={};switch(n.mapKind){case”scalar”:for(const[i,o]of t)l[i]=Gl(n,o);break;case”message”:for(const[i,o]of t)l[i]=In(o,e);break;case”enum”:for(const[i,o]of t)l[i]=Hi(n.enum,o,e.enumAsInteger);break}return e.alwaysEmitImplicit||t.size>0?l:void 0}function k0(t,e){const n=t.field(),l=[];switch(n.listKind){case”scalar”:for(const i of t)l.push(Gl(n,i));break;case”enum”:for(const i of t)l.push(Hi(n.enum,i,e.enumAsInteger));break;case”message”:for(const i of t)l.push(In(i,e));break}return e.alwaysEmitImplicit||l.length>0?l:void 0}function Hi(t,e,n){var l;if(typeof e!=”number”)throw new Error(`cannot encode ${t} to JSON: expected number, got ${Xe(e)}`);if(t.typeName==”google.protobuf.NullValue”)return null;if(n)return e;const i=t.value[e];return(l=i==null?void 0:i.name)!==null&&l!==void 0?l:e}function Gl(t,e){var n,l,i,o,r,c;switch(t.scalar){case m.INT32:case m.SFIXED32:case m.SINT32:case m.FIXED32:case m.UINT32:if(typeof e!=”number”)throw new Error(`cannot encode ${t} to JSON: ${(n=Et(t,e))===null||n===void 0?void 0:n.message}`);return e;case m.FLOAT:case m.DOUBLE:if(typeof e!=”number”)throw new Error(`cannot encode ${t} to JSON: ${(l=Et(t,e))===null||l===void 0?void 0:l.message}`);return Number.isNaN(e)?”NaN”:e===Number.POSITIVE_INFINITY?”Infinity”:e===Number.NEGATIVE_INFINITY?”-Infinity”:e;case m.STRING:if(typeof e!=”string”)throw new Error(`cannot encode ${t} to JSON: ${(i=Et(t,e))===null||i===void 0?void 0:i.message}`);return e;case m.BOOL:if(typeof e!=”boolean”)throw new Error(`cannot encode ${t} to JSON: ${(o=Et(t,e))===null||o===void 0?void 0:o.message}`);return e;case m.UINT64:case m.FIXED64:case m.INT64:case m.SFIXED64:case m.SINT64:if(typeof e!=”bigint”&&typeof e!=”string”)throw new Error(`cannot encode ${t} to JSON: ${(r=Et(t,e))===null||r===void 0?void 0:r.message}`);return e.toString();case m.BYTES:if(e instanceof Uint8Array)return za(e);throw new Error(`cannot encode ${t} to JSON: ${(c=Et(t,e))===null||c===void 0?void 0:c.message}`)}}function z0(t,e){return e.useProtoFieldName?t.name:t.jsonName}function Q0(t,e){if(t.desc.typeName.startsWith(“google.protobuf.”))switch(t.desc.typeName){case”google.protobuf.Any”:return K0(t.message,e);case”google.protobuf.Timestamp”:return T0(t.message);case”google.protobuf.Duration”:return L0(t.message);case”google.protobuf.FieldMask”:return M0(t.message);case”google.protobuf.Struct”:return od(t.message);case”google.protobuf.Value”:return Di(t.message);case”google.protobuf.ListValue”:return rd(t.message);default:if(Gn(t.desc)){const n=t.desc.fields[0];return Gl(n,t.get(n))}return}}function K0(t,e){if(t.typeUrl===””)return{};const{registry:n}=e;let l,i;if(n&&(l=R0(t,n),l&&(i=n.getMessage(l.$typeName))),!i||!l)throw new Error(`cannot encode message ${t.$typeName} to JSON: “${t.typeUrl}” is not in the type registry`);let o=In(qe(i,l),e);return(i.typeName.startsWith(“google.protobuf.”)||o===null||Array.isArray(o)||typeof o!=”object”)&&(o={value:o}),o[“@type”]=t.typeUrl,o}function L0(t){if(Number(t.seconds)>315576e6||Number(t.seconds)<-315576e6)throw new Error(`cannot encode message ${t.$typeName} to JSON: value out of range`);let e=t.seconds.toString();if(t.nanos!==0){let n=Math.abs(t.nanos).toString();n="0".repeat(9-n.length)+n,n.substring(3)==="000000"?n=n.substring(0,3):n.substring(6)==="000"&&(n=n.substring(0,6)),e+="."+n,t.nanos{if(e.match(/_[0-9]?_/g)||e.match(/[A-Z]/g))throw new Error(`cannot encode message ${t.$typeName} to JSON: lowerCamelCase of path name “`+e+’” is irreversible’);return bn(e)}).join(“,”)}function od(t){const e={};for(const[n,l]of Object.entries(t.fields))e[n]=Di(l);return e}function Di(t){switch(t.kind.case){case”nullValue”:return null;case”numberValue”:if(!Number.isFinite(t.kind.value))throw new Error(`${t.$typeName} cannot be NaN or Infinity`);return t.kind.value;case”boolValue”:return t.kind.value;case”stringValue”:return t.kind.value;case”structValue”:return od(t.kind.value);case”listValue”:return rd(t.kind.value);default:throw new Error(`${t.$typeName} must have a value`)}}function rd(t){return t.values.map(Di)}function T0(t){const e=Number(t.seconds)*1e3;if(eDate.parse(“9999-12-31T23:59:59Z”))throw new Error(`cannot encode message ${t.$typeName} to JSON: must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive`);if(t.nanos0){const l=(t.nanos+1e9).toString().substring(1);l.substring(3)===”000000″?n=”.”+l.substring(0,3)+”Z”:l.substring(6)===”000″?n=”.”+l.substring(0,6)+”Z”:n=”.”+l+”Z”}return new Date(e).toISOString().replace(“.000Z”,n)}const Mr={ignoreUnknownFields:!1};function H0(t){return t?Object.assign(Object.assign({},Mr),t):Mr}function D0(t,e,n){return cd(t,em(e,t.typeName),n)}function cd(t,e,n){const l=qe(t);try{jt(l,e,H0(n))}catch(i){throw SV(i)?new Error(`cannot decode ${i.field()} from JSON: ${i.message}`,{cause:i}):i}return l.message}function jt(t,e,n){var l;if(tm(t,e,n))return;if(e==null||Array.isArray(e)||typeof e!=”object”)throw new Error(`cannot decode ${t.desc} from JSON: ${Xe(e)}`);const i=new Map,o=new Map;for(const r of t.desc.fields)o.set(r.name,r).set(r.jsonName,r);for(const[r,c]of Object.entries(e)){const a=o.get(r);if(a){if(a.oneof){if(c===null&&a.fieldKind==”scalar”)continue;const d=i.get(a.oneof);if(d!==void 0)throw new ke(a.oneof,`oneof set multiple times by ${d.name} and ${a.name}`);i.set(a.oneof,a)}Tr(t,a,c,n)}else{let d;if(r.startsWith(“[“)&&r.endsWith(“]”)&&(d=(l=n.registry)===null||l===void 0?void 0:l.getExtension(r.substring(1,r.length-1)))&&d.extendee.typeName===t.desc.typeName){const[s,u,b]=pl(d);Tr(s,u,c,n),B0(t.message,d,b())}if(!d&&!n.ignoreUnknownFields)throw new Error(`cannot decode ${t.desc} from JSON: key “${r}” is unknown`)}}}function Tr(t,e,n,l){switch(e.fieldKind){case”scalar”:$0(t,e,n);break;case”enum”:O0(t,e,n,l);break;case”message”:P0(t,e,n,l);break;case”list”:_0(t.get(e),n,l);break;case”map”:j0(t.get(e),n,l);break}}function j0(t,e,n){if(e===null)return;const l=t.field();if(typeof e!=”object”||Array.isArray(e))throw new ke(l,”expected object, got “+Xe(e));for(const[i,o]of Object.entries(e)){if(o===null)throw new ke(l,”map value must not be null”);let r;switch(l.mapKind){case”message”:const a=qe(l.message);jt(a,o,n),r=a;break;case”enum”:if(r=ji(l.enum,o,n.ignoreUnknownFields,!0),r===Xl)return;break;case”scalar”:r=Rl(l,o,!0);break}const c=q0(l.mapKey,i);t.set(c,r)}}function _0(t,e,n){if(e===null)return;const l=t.field();if(!Array.isArray(e))throw new ke(l,”expected Array, got “+Xe(e));for(const i of e){if(i===null)throw new ke(l,”list item must not be null”);switch(l.listKind){case”message”:const o=qe(l.message);jt(o,i,n),t.add(o);break;case”enum”:const r=ji(l.enum,i,n.ignoreUnknownFields,!0);r!==Xl&&t.add(r);break;case”scalar”:t.add(Rl(l,i,!0));break}}}function P0(t,e,n,l){if(n===null&&e.message.typeName!=”google.protobuf.Value”){t.clear(e);return}const i=t.isSet(e)?t.get(e):qe(e.message);jt(i,n,l),t.set(e,i)}function O0(t,e,n,l){const i=ji(e.enum,n,l.ignoreUnknownFields,!1);i===Il?t.clear(e):i!==Xl&&t.set(e,i)}function $0(t,e,n){const l=Rl(e,n,!1);l===Il?t.clear(e):t.set(e,l)}const Xl=Symbol();function ji(t,e,n,l){if(e===null)return t.typeName==”google.protobuf.NullValue”?0:l?t.values[0].number:Il;switch(typeof e){case”number”:if(Number.isInteger(e))return e;break;case”string”:const i=t.values.find(o=>o.name===e);if(i!==void 0)return i.number;if(n)return Xl;break}throw new Error(`cannot decode ${t} from JSON: ${Xe(e)}`)}const Il=Symbol();function Rl(t,e,n){if(e===null)return n?Ft(t.scalar,!1):Il;switch(t.scalar){case m.DOUBLE:case m.FLOAT:if(e===”NaN”)return NaN;if(e===”Infinity”)return Number.POSITIVE_INFINITY;if(e===”-Infinity”)return Number.NEGATIVE_INFINITY;if(typeof e==”number”){if(Number.isNaN(e))throw new ke(t,”unexpected NaN number”);if(!Number.isFinite(e))throw new ke(t,”unexpected infinite number”);break}if(typeof e==”string”){if(e===””||e.trim().length!==e.length)break;const l=Number(e);if(!Number.isFinite(l))break;return l}break;case m.INT32:case m.FIXED32:case m.SFIXED32:case m.SINT32:case m.UINT32:return ad(e);case m.BYTES:if(typeof e==”string”){if(e===””)return new Uint8Array(0);try{return Ki(e)}catch(l){const i=l instanceof Error?l.message:String(l);throw new ke(t,i)}}break}return e}function q0(t,e){switch(t){case m.BOOL:switch(e){case”true”:return!0;case”false”:return!1}return e;case m.INT32:case m.FIXED32:case m.UINT32:case m.SFIXED32:case m.SINT32:return ad(e);default:return e}}function ad(t){if(typeof t==”string”){if(t===””||t.trim().length!==t.length)return t;const e=Number(t);return Number.isNaN(e)?t:e}return t}function em(t,e){try{return JSON.parse(t)}catch(n){const l=n instanceof Error?n.message:String(n);throw new Error(`cannot decode message ${e} from JSON: ${l}`,{cause:n})}}function tm(t,e,n){if(!t.desc.typeName.startsWith(“google.protobuf.”))return!1;switch(t.desc.typeName){case”google.protobuf.Any”:return nm(t.message,e,n),!0;case”google.protobuf.Timestamp”:return lm(t.message,e),!0;case”google.protobuf.Duration”:return im(t.message,e),!0;case”google.protobuf.FieldMask”:return om(t.message,e),!0;case”google.protobuf.Struct”:return dd(t.message,e),!0;case”google.protobuf.Value”:return _i(t.message,e),!0;case”google.protobuf.ListValue”:return sd(t.message,e),!0;default:if(Gn(t.desc)){const l=t.desc.fields[0];return e===null?t.clear(l):t.set(l,Rl(l,e,!0)),!0}return!1}}function nm(t,e,n){var l;if(e===null||Array.isArray(e)||typeof e!=”object”)throw new Error(`cannot decode message ${t.$typeName} from JSON: expected object but got ${Xe(e)}`);if(Object.keys(e).length==0)return;const i=e[“@type”];if(typeof i!=”string”||i==””)throw new Error(`cannot decode message ${t.$typeName} from JSON: “@type” is empty`);const o=i.includes(“/”)?i.substring(i.lastIndexOf(“/”)+1):i;if(!o.length)throw new Error(`cannot decode message ${t.$typeName} from JSON: “@type” is invalid`);const r=(l=n.registry)===null||l===void 0?void 0:l.getMessage(o);if(!r)throw new Error(`cannot decode message ${t.$typeName} from JSON: ${i} is not in the type registry`);const c=qe(r);if(o.startsWith(“google.protobuf.”)&&Object.prototype.hasOwnProperty.call(e,”value”)){const a=e.value;jt(c,a,n)}else{const a=Object.assign({},e);delete a[“@type”],jt(c,a,n)}X0(c.desc,c.message,t)}function lm(t,e){if(typeof e!=”string”)throw new Error(`cannot decode message ${t.$typeName} from JSON: ${Xe(e)}`);const n=e.match(/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(?:\.([0-9]{1,9}))?(?:Z|([+-][0-9][0-9]:[0-9][0-9]))$/);if(!n)throw new Error(`cannot decode message ${t.$typeName} from JSON: invalid RFC 3339 string`);const l=Date.parse(n[1]+”-“+n[2]+”-“+n[3]+”T”+n[4]+”:”+n[5]+”:”+n[6]+(n[8]?n[8]:”Z”));if(Number.isNaN(l))throw new Error(`cannot decode message ${t.$typeName} from JSON: invalid RFC 3339 string`);if(lDate.parse(“9999-12-31T23:59:59Z”))throw new Error(`cannot decode message ${t.$typeName} from JSON: must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive`);t.seconds=ie.parse(l/1e3),t.nanos=0,n[7]&&(t.nanos=parseInt(“1″+n[7]+”0″.repeat(9-n[7].length))-1e9)}function im(t,e){if(typeof e!=”string”)throw new Error(`cannot decode message ${t.$typeName} from JSON: ${Xe(e)}`);const n=e.match(/^(-?[0-9]+)(?:\.([0-9]+))?s/);if(n===null)throw new Error(`cannot decode message ${t.$typeName} from JSON: ${Xe(e)}`);const l=Number(n[1]);if(l>315576e6||l<-315576e6)throw new Error(`cannot decode message ${t.$typeName} from JSON: ${Xe(e)}`);if(t.seconds=ie.parse(l),typeof n[2]!="string")return;const i=n[2]+"0".repeat(9-n[2].length);t.nanos=parseInt(i),(l”_”+o.toLowerCase());return i[0]===”_”?i.substring(1):i}t.paths=e.split(“,”).map(n)}function dd(t,e){if(typeof e!=”object”||e==null||Array.isArray(e))throw new Error(`cannot decode message ${t.$typeName} from JSON ${Xe(e)}`);for(const[n,l]of Object.entries(e)){const i=ot(ld);_i(i,l),t.fields[n]=i}}function _i(t,e){switch(typeof e){case”number”:t.kind={case:”numberValue”,value:e};break;case”string”:t.kind={case:”stringValue”,value:e};break;case”boolean”:t.kind={case:”boolValue”,value:e};break;case”object”:if(e===null)t.kind={case:”nullValue”,value:di.NULL_VALUE};else if(Array.isArray(e)){const n=ot(W0);sd(n,e),t.kind={case:”listValue”,value:n}}else{const n=ot(C0);dd(n,e),t.kind={case:”structValue”,value:n}}break;default:throw new Error(`cannot decode message ${t.$typeName} from JSON ${Xe(e)}`)}return t}function sd(t,e){if(!Array.isArray(e))throw new Error(`cannot decode message ${t.$typeName} from JSON ${Xe(e)}`);for(const n of e){const l=ot(ld);_i(l,n),t.values.push(l)}}function si(t){const e=D[t];return typeof e!=”string”?t.toString():e[0].toLowerCase()+e.substring(1).replace(/[A-Z]/g,n=>”_”+n.toLowerCase())}let Jn;function rm(t){if(!Jn){Jn={};for(const e of Object.values(D))typeof e!=”string”&&(Jn[si(e)]=e)}return Jn[t]}class re extends Error{constructor(e,n=D.Unknown,l,i,o){super(cm(e,n)),this.name=”ConnectError”,Object.setPrototypeOf(this,new.target.prototype),this.rawMessage=e,this.code=n,this.metadata=new Headers(l??{}),this.details=i??[],this.cause=o}static from(e,n=D.Unknown){return e instanceof re?e:e instanceof Error?e.name==”AbortError”?new re(e.message,D.Canceled):new re(e.message,n,void 0,void 0,e):new re(String(e),n,void 0,void 0,e)}static[Symbol.hasInstance](e){return e instanceof Error?Object.getPrototypeOf(e)===re.prototype?!0:e.name===”ConnectError”&&”code”in e&&typeof e.code==”number”&&”metadata”in e&&”details”in e&&Array.isArray(e.details)&&”rawMessage”in e&&typeof e.rawMessage==”string”&&”cause”in e:!1}findDetails(e){const n=e.kind===”message”?{getMessage:i=>i===e.typeName?e:void 0}:e,l=[];for(const i of this.details){if(“desc”in i){n.getMessage(i.desc.typeName)&&l.push(ot(i.desc,i.value));continue}const o=n.getMessage(i.type);if(o)try{l.push(fl(o,i.value))}catch{}}return l}}function cm(t,e){return t.length?`[${si(e)}] ${t}`:`[${si(e)}]`}function am(…t){const e=new Headers;for(const n of t)n.forEach((l,i)=>{e.append(i,l)});return e}function dm(t,e){const n={};for(const l of t.methods){const i=e(l);i!=null&&(n[l.localName]=i)}return n}const Hr=1;function sm(t){let e,n=new Uint8Array(0);function l(i){const o=new Uint8Array(n.length+i.length);o.set(n),o.set(i,n.length),n=o}return new ReadableStream({start(){e=t.getReader()},async pull(i){let o;for(;;){if(o===void 0&&n.byteLength>=5){let a=0;for(let d=1;d<5;d++)a=(a<=o.length+5)break;const c=await e.read();if(c.done)break;l(c.value)}if(o===void 0){if(n.byteLength==0){i.close();return}i.error(new re(“premature end of stream”,D.DataLoss));return}const r=n.subarray(5,5+o.length);n=n.subarray(5+o.length),i.enqueue({flags:o.flags,data:r})}})}function um(t,e){const n=new Uint8Array(e.length+5);n.set(e,5);const l=new DataView(n.buffer,n.byteOffset,n.byteLength);return l.setUint8(0,t),l.setUint32(1,e.length),n}var gm=function(t){if(!Symbol.asyncIterator)throw new TypeError(“Symbol.asyncIterator is not defined.”);var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof __values==”function”?__values(t):t[Symbol.iterator](),n={},l(“next”),l(“throw”),l(“return”),n[Symbol.asyncIterator]=function(){return this},n);function l(o){n[o]=t[o]&&function(r){return new Promise(function(c,a){r=t[o](r),i(c,a,r.done,r.value)})}}function i(o,r,c,a){Promise.resolve(a).then(function(d){o({value:d,done:c})},r)}},An=function(t){return this instanceof An?(this.v=t,this):new An(t)},hm=function(t,e,n){if(!Symbol.asyncIterator)throw new TypeError(“Symbol.asyncIterator is not defined.”);var l=n.apply(t,e||[]),i,o=[];return i=Object.create((typeof AsyncIterator==”function”?AsyncIterator:Object).prototype),c(“next”),c(“throw”),c(“return”,r),i[Symbol.asyncIterator]=function(){return this},i;function r(g){return function(V){return Promise.resolve(V).then(g,u)}}function c(g,V){l[g]&&(i[g]=function(p){return new Promise(function(X,Z){o.push([g,p,X,Z])>1||a(g,p)})},V&&(i[g]=V(i[g])))}function a(g,V){try{d(l[g](V))}catch(p){b(o[0][3],p)}}function d(g){g.value instanceof An?Promise.resolve(g.value.v).then(s,u):b(o[0][2],g)}function s(g){a(“next”,g)}function u(g){a(“throw”,g)}function b(g,V){g(V),o.shift(),o.length&&a(o[0][0],o[0][1])}},bm=function(t){var e,n;return e={},l(“next”),l(“throw”,function(i){throw i}),l(“return”),e[Symbol.iterator]=function(){return this},e;function l(i,o){e[i]=t[i]?function(r){return(n=!n)?{value:An(t[i](r)),done:!1}:o?o(r):r}:o}};function Vm(t){return hm(this,arguments,function*(){yield An(yield*bm(gm(t)))})}var ud=function(t){if(!Symbol.asyncIterator)throw new TypeError(“Symbol.asyncIterator is not defined.”);var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof __values==”function”?__values(t):t[Symbol.iterator](),n={},l(“next”),l(“throw”),l(“return”),n[Symbol.asyncIterator]=function(){return this},n);function l(o){n[o]=t[o]&&function(r){return new Promise(function(c,a){r=t[o](r),i(c,a,r.done,r.value)})}}function i(o,r,c,a){Promise.resolve(a).then(function(d){o({value:d,done:c})},r)}},_t=function(t){return this instanceof _t?(this.v=t,this):new _t(t)},mm=function(t){var e,n;return e={},l(“next”),l(“throw”,function(i){throw i}),l(“return”),e[Symbol.iterator]=function(){return this},e;function l(i,o){e[i]=t[i]?function(r){return(n=!n)?{value:_t(t[i](r)),done:!1}:o?o(r):r}:o}},Am=function(t,e,n){if(!Symbol.asyncIterator)throw new TypeError(“Symbol.asyncIterator is not defined.”);var l=n.apply(t,e||[]),i,o=[];return i=Object.create((typeof AsyncIterator==”function”?AsyncIterator:Object).prototype),c(“next”),c(“throw”),c(“return”,r),i[Symbol.asyncIterator]=function(){return this},i;function r(g){return function(V){return Promise.resolve(V).then(g,u)}}function c(g,V){l[g]&&(i[g]=function(p){return new Promise(function(X,Z){o.push([g,p,X,Z])>1||a(g,p)})},V&&(i[g]=V(i[g])))}function a(g,V){try{d(l[g](V))}catch(p){b(o[0][3],p)}}function d(g){g.value instanceof _t?Promise.resolve(g.value.v).then(s,u):b(o[0][2],g)}function s(g){a(“next”,g)}function u(g){a(“throw”,g)}function b(g,V){g(V),o.shift(),o.length&&a(o[0][0],o[0][1])}};function k(t,e){return dm(t,n=>{switch(n.methodKind){case”unary”:return Zm(e,n);case”server_streaming”:return fm(e,n);case”client_streaming”:return pm(e,n);case”bidi_streaming”:return Gm(e,n);default:return null}})}function Zm(t,e){return async function(n,l){var i,o;const r=await t.unary(e,l==null?void 0:l.signal,l==null?void 0:l.timeoutMs,l==null?void 0:l.headers,n,l==null?void 0:l.contextValues);return(i=l==null?void 0:l.onHeader)===null||i===void 0||i.call(l,r.header),(o=l==null?void 0:l.onTrailer)===null||o===void 0||o.call(l,r.trailer),r.message}}function fm(t,e){return function(n,l){return gd(t.stream(e,l==null?void 0:l.signal,l==null?void 0:l.timeoutMs,l==null?void 0:l.headers,Vm([n]),l==null?void 0:l.contextValues),l)}}function pm(t,e){return async function(n,l){var i,o,r,c,a,d;const s=await t.stream(e,l==null?void 0:l.signal,l==null?void 0:l.timeoutMs,l==null?void 0:l.headers,n,l==null?void 0:l.contextValues);(a=l==null?void 0:l.onHeader)===null||a===void 0||a.call(l,s.header);let u,b=0;try{for(var g=!0,V=ud(s.message),p;p=await V.next(),i=p.done,!i;g=!0)c=p.value,g=!1,u=c,b++}catch(X){o={error:X}}finally{try{!g&&!i&&(r=V.return)&&await r.call(V)}finally{if(o)throw o.error}}if(!u)throw new re(“protocol error: missing response message”,D.Unimplemented);if(b>1)throw new re(“protocol error: received extra messages for client streaming method”,D.Unimplemented);return(d=l==null?void 0:l.onTrailer)===null||d===void 0||d.call(l,s.trailer),u}}function Gm(t,e){return function(n,l){return gd(t.stream(e,l==null?void 0:l.signal,l==null?void 0:l.timeoutMs,l==null?void 0:l.headers,n,l==null?void 0:l.contextValues),l)}}function gd(t,e){const n=function(){return Am(this,arguments,function*(){var l,i;const o=yield _t(t);(l=e==null?void 0:e.onHeader)===null||l===void 0||l.call(e,o.header),yield _t(yield*mm(ud(o.message))),(i=e==null?void 0:e.onTrailer)===null||i===void 0||i.call(e,o.trailer)})}()[Symbol.asyncIterator]();return{[Symbol.asyncIterator]:()=>({next:()=>n.next()})}}function Xm(…t){const e=new AbortController,n=t.filter(i=>i!==void 0).concat(e.signal);for(const i of n){if(i.aborted){l.apply(i);break}i.addEventListener(“abort”,l)}function l(){e.signal.aborted||e.abort(hd(this));for(const i of n)i.removeEventListener(“abort”,l)}return e}function Im(t){const e=new AbortController,n=()=>{e.abort(new re(“the operation timed out”,D.DeadlineExceeded))};let l;return t!==void 0&&(tclearTimeout(l)}}function hd(t){if(!t.aborted)return;if(t.reason!==void 0)return t.reason;const e=new Error(“This operation was aborted”);return e.name=”AbortError”,e}function Dr(){return{get(t){return t.id in this?this[t.id]:t.defaultValue},set(t,e){return this[t.id]=e,this},delete(t){return delete this[t.id],this}}}function Q(t,e,…n){if(n.length>0)throw new Error;return t.services[e]}function jr(t,e){return t.toString().replace(/\/?$/,`/${e.parent.typeName}/${e.name}`)}function bd(t,e){return ot(t,e)}function Rm(t,e){function n(l){return l.done===!0?l:{done:l.done,value:bd(t,l.value)}}return{[Symbol.asyncIterator](){const l=e[Symbol.asyncIterator](),i={next:()=>l.next().then(n)};return l.throw!==void 0&&(i.throw=o=>l.throw(o).then(n)),l.return!==void 0&&(i.return=o=>l.return(o).then(n)),i}}}function Vd(t,e){var n;return(n=e==null?void 0:e.concat().reverse().reduce((l,i)=>i(l),t))!==null&&n!==void 0?n:t}function md(t){var e;const n=Object.assign({},t);return(e=n.ignoreUnknownFields)!==null&&e!==void 0||(n.ignoreUnknownFields=!0),n}function _r(t,e,n,l){const i=e?Pr(t.input,l):Or(t.input,n);return{parse:(e?Pr(t.output,l):Or(t.output,n)).parse,serialize:i.serialize}}function Pr(t,e){return{parse(n){try{return fl(t,n,e)}catch(l){const i=l instanceof Error?l.message:String(l);throw new re(`parse binary: ${i}`,D.Internal)}},serialize(n){try{return $a(t,n,e)}catch(l){const i=l instanceof Error?l.message:String(l);throw new re(`serialize binary: ${i}`,D.Internal)}}}}function Or(t,e){var n,l;const i=(n=e==null?void 0:e.textEncoder)!==null&&n!==void 0?n:new TextEncoder,o=(l=e==null?void 0:e.textDecoder)!==null&&l!==void 0?l:new TextDecoder,r=md(e);return{parse(c){try{const a=o.decode(c);return D0(t,a,r)}catch(a){throw re.from(a,D.InvalidArgument)}},serialize(c){try{const a=x0(t,c,r);return i.encode(a)}catch(a){throw re.from(a,D.Internal)}}}}const Em=/^application\/(connect\+)?(?:(json)(?:; ?charset=utf-?8)?|(proto))$/i,ym=”application/proto”,Sm=”application/json”,Cm=”application/connect+proto”,Wm=”application/connect+json”;function vm(t){const e=t==null?void 0:t.match(Em);if(!e)return;const n=!!e[1],l=!!e[3];return{stream:n,binary:l}}function Ad(t,e,n){var l;if(e&&new Headers(e).forEach((c,a)=>n.metadata.append(a,c)),typeof t!=”object”||t==null||Array.isArray(t))throw n;let i=n.code;”code”in t&&typeof t.code==”string”&&(i=(l=rm(t.code))!==null&&l!==void 0?l:i);const o=t.message;if(o!=null&&typeof o!=”string”)throw n;const r=new re(o??””,i,e);if(“details”in t&&Array.isArray(t.details))for(const c of t.details){if(c===null||typeof c!=”object”||Array.isArray(c)||typeof c.type!=”string”||typeof c.value!=”string”)throw n;try{r.details.push({type:c.type,value:Ki(c.value),debug:c.debug})}catch{throw n}}return r}const $r=2;function Bm(t){const e=new re(“invalid end stream”,D.Unknown);let n;try{n=JSON.parse(typeof t==”string”?t:new TextDecoder().decode(t))}catch{throw e}if(typeof n!=”object”||n==null||Array.isArray(n))throw e;const l=new Headers;if(“metadata”in n){if(typeof n.metadata!=”object”||n.metadata==null||Array.isArray(n.metadata))throw e;for(const[o,r]of Object.entries(n.metadata)){if(!Array.isArray(r)||r.some(c=>typeof c!=”string”))throw e;for(const c of r)l.append(o,c)}}const i=”error”in n&&n.error!=null?Ad(n.error,l,e):void 0;return{metadata:l,error:i}}const cl=”Content-Type”,Nm=”Content-Length”,qr=”Content-Encoding”,Fm=”Accept-Encoding”,Ym=”Connect-Timeout-Ms”,Zd=”Connect-Protocol-Version”,Um=”User-Agent”;function Jm(t){switch(t){case 400:return D.Internal;case 401:return D.Unauthenticated;case 403:return D.PermissionDenied;case 404:return D.Unimplemented;case 429:return D.Unavailable;case 502:return D.Unavailable;case 503:return D.Unavailable;case 504:return D.Unavailable;default:return D.Unknown}}function ec(t){const e=new Headers,n=new Headers;return t.forEach((l,i)=>{i.toLowerCase().startsWith(“trailer-“)?n.append(i.substring(8),l):e.append(i,l)}),[e,n]}const fd=”1″;function tc(t,e,n,l,i){const o=new Headers(l??{});return n!==void 0&&o.set(Ym,`${n}`),o.set(cl,t==”unary”?e?ym:Sm:e?Cm:Wm),o.set(Zd,fd),o.has(Um),o}function nc(t,e,n,l){const i=l.get(cl),o=vm(i);if(n!==200){const c=new re(`HTTP ${n}`,Jm(n),l);if(t==”unary”&&o&&!o.binary)return{isUnaryError:!0,unaryError:c};throw c}const r={binary:e,stream:t!==”unary”};if((o==null?void 0:o.binary)!==r.binary||o.stream!==r.stream)throw new re(`unsupported content type ${i}`,o===void 0?D.Unknown:D.Internal,l);return{isUnaryError:!1}}const lc=”application/”;function xm(t,e){return e?za(t,”url”):encodeURIComponent(new TextDecoder().decode(t))}function wm(t,e,n){let l=`?connect=v${fd}`;const i=t.header.get(cl);(i==null?void 0:i.indexOf(lc))===0&&(l+=”&encoding=”+encodeURIComponent(i.slice(lc.length)));const o=t.header.get(qr);o!==null&&o!==”identity”&&(l+=”&compression=”+encodeURIComponent(o),n=!0),n&&(l+=”&base64=1″),l+=”&message=”+xm(e,n);const r=t.url+l,c=new Headers(t.header);return[Zd,cl,Nm,qr,Fm].forEach(a=>c.delete(a)),Object.assign(Object.assign({},t),{requestMethod:”GET”,url:r,header:c})}function km(t){const e=Vd(t.next,t.interceptors),[n,l,i]=pd(t),o=Object.assign(Object.assign({},t.req),{message:bd(t.req.method.input,t.req.message),signal:n});return e(o).then(r=>(i(),r),l)}function zm(t){const e=Vd(t.next,t.interceptors),[n,l,i]=pd(t),o=Object.assign(Object.assign({},t.req),{message:Rm(t.req.method.input,t.req.message),signal:n});let r=!1;return n.addEventListener(“abort”,function(){var c,a;const d=t.req.message[Symbol.asyncIterator]();r||(c=d.throw)===null||c===void 0||c.call(d,this.reason).catch(()=>{}),(a=d.return)===null||a===void 0||a.call(d).catch(()=>{})}),e(o).then(c=>Object.assign(Object.assign({},c),{message:{[Symbol.asyncIterator](){const a=c.message[Symbol.asyncIterator]();return{next(){return a.next().then(d=>(d.done==!0&&(r=!0,i()),d),l)}}}}}),l)}function pd(t){const{signal:e,cleanup:n}=Im(t.timeoutMs),l=Xm(t.signal,e);return[l.signal,function(o){const r=re.from(e.aborted?hd(e):o);return l.abort(r),n(),Promise.reject(r)},function(){n(),l.abort()}]}function Qm(){try{new Headers}catch{throw new Error(“connect-web requires the fetch API. Are you running on an old version of Node.js? Node.js is not supported in Connect for Web – please stay tuned for Connect for Node.”)}}var Zn=function(t){return this instanceof Zn?(this.v=t,this):new Zn(t)},Km=function(t,e,n){if(!Symbol.asyncIterator)throw new TypeError(“Symbol.asyncIterator is not defined.”);var l=n.apply(t,e||[]),i,o=[];return i=Object.create((typeof AsyncIterator==”function”?AsyncIterator:Object).prototype),c(“next”),c(“throw”),c(“return”,r),i[Symbol.asyncIterator]=function(){return this},i;function r(g){return function(V){return Promise.resolve(V).then(g,u)}}function c(g,V){l[g]&&(i[g]=function(p){return new Promise(function(X,Z){o.push([g,p,X,Z])>1||a(g,p)})},V&&(i[g]=V(i[g])))}function a(g,V){try{d(l[g](V))}catch(p){b(o[0][3],p)}}function d(g){g.value instanceof Zn?Promise.resolve(g.value.v).then(s,u):b(o[0][2],g)}function s(g){a(“next”,g)}function u(g){a(“throw”,g)}function b(g,V){g(V),o.shift(),o.length&&a(o[0][0],o[0][1])}};const ic={redirect:”error”};function Lm(t){var e;Qm();const n=(e=t.useBinaryFormat)!==null&&e!==void 0?e:!1;return{async unary(l,i,o,r,c,a){const{serialize:d,parse:s}=_r(l,n,t.jsonOptions,t.binaryOptions);return o=o===void 0?t.defaultTimeoutMs:o{var b;const g=t.useHttpGet===!0&&l.idempotency===ai.NO_SIDE_EFFECTS;let V=null;g?u=wm(u,d(u.message),n):V=d(u.message);const X=await((b=t.fetch)!==null&&b!==void 0?b:globalThis.fetch)(u.url,Object.assign(Object.assign({},ic),{method:u.requestMethod,headers:u.header,signal:u.signal,body:V})),{isUnaryError:Z,unaryError:f}=nc(l.methodKind,n,X.status,X.headers);if(Z)throw Ad(await X.json(),am(…ec(X.headers)),f);const[G,y]=ec(X.headers);return{stream:!1,service:l.parent,method:l,header:G,message:n?s(new Uint8Array(await X.arrayBuffer())):cd(l.output,await X.json(),md(t.jsonOptions)),trailer:y}}})},async stream(l,i,o,r,c,a){const{serialize:d,parse:s}=_r(l,n,t.jsonOptions,t.binaryOptions);function u(g,V,p,X){return Km(this,arguments,function*(){const f=sm(g).getReader();let G=!1;for(;;){const y=yield Zn(f.read());if(y.done)break;const{flags:E,data:S}=y.value;if((E&Hr)===Hr)throw new re(“protocol error: received unsupported compressed output”,D.Internal);if((E&$r)===$r){G=!0;const A=Bm(S);if(A.error){const F=A.error;throw p.forEach((w,P)=>{F.metadata.append(P,w)}),F}A.metadata.forEach((F,w)=>V.set(w,F));continue}yield yield Zn(s(S))}if(“throwIfAborted”in X&&X.throwIfAborted(),!G)throw”missing EndStreamResponse”})}async function b(g){if(l.methodKind!=”server_streaming”)throw”The fetch API does not support streaming request bodies”;const V=await g[Symbol.asyncIterator]().next();if(V.done==!0)throw”missing request message”;return um(0,d(V.value))}return o=o===void 0?t.defaultTimeoutMs:o{var V;const X=await((V=t.fetch)!==null&&V!==void 0?V:globalThis.fetch)(g.url,Object.assign(Object.assign({},ic),{method:g.requestMethod,headers:g.header,signal:g.signal,body:await b(g.message)}));if(nc(l.methodKind,n,X.status,X.headers),X.body===null)throw”missing response body”;const Z=new Headers;return Object.assign(Object.assign({},g),{header:X.headers,trailer:Z,message:u(X.body,Z,X.headers,g.signal)})}})}}}const Gd=J(“ChxvcGVyYXRpb24vdjEvcGxheV9jYXJkLnByb3RvEgxvcGVyYXRpb24udjEiOAoVR2V0Q3VyUGxheUNhcmRSZXF1ZXN0Eg8KB3VzZXJfaWQYASABKAkSDgoGbG9jYWxlGAIgASgJIkwKFkdldEN1clBsYXlDYXJkUmVzcG9uc2USMgoOcGxheV9jYXJkX2luZm8YASABKAsyGi5vcGVyYXRpb24udjEuUGxheUNhcmRJbmZvIroDCgxQbGF5Q2FyZEluZm8SCgoCaWQYASABKAMSDAoEbmFtZRgCIAEoCRINCgV0aXRsZRgDIAEoCRIMCgRkZXNjGAQgASgJEi4KC2FjdGlvbl90eXBlGAUgASgOMhkub3BlcmF0aW9uLnYxLkFDVElPTl9UWVBFEhIKCmV4dHJhX2RhdGEYBiABKAkSLgoKY3JlYXRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoGc3RhdHVzGAkgASgOMh4ub3BlcmF0aW9uLnYxLlBMQVlfQ0FSRF9TVEFUVVMSLQoIcGxhdGZvcm0YCiABKA4yGy5vcGVyYXRpb24udjEuUExBVEZPUk1fVFlQRRI0CgVpbWFnZRgLIAMoCzIlLm9wZXJhdGlvbi52MS5QbGF5Q2FyZEluZm8uSW1hZ2VFbnRyeRIMCgRJMThuGAwgASgJGiwKCkltYWdlRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASp2Cg1QTEFURk9STV9UWVBFEh0KGVBMQVRGT1JNX1RZUEVfVU5TUEVDSUZJRUQQABIVChFQTEFURk9STV9UWVBFX0FMTBABEhgKFFBMQVRGT1JNX1RZUEVfTU9CSUxFEAISFQoRUExBVEZPUk1fVFlQRV9XRUIQAypWCgtBQ1RJT05fVFlQRRIbChdBQ1RJT05fVFlQRV9VTlNQRUNJRklFRBAAEhUKEUFDVElPTl9UWVBFX1BPUFVQEAESEwoPQUNUSU9OX1RZUEVfVVJMEAIqZwoQUExBWV9DQVJEX1NUQVRVUxIgChxQTEFZX0NBUkRfU1RBVFVTX1VOU1BFQ0lGSUVEEAASFwoTUExBWV9DQVJEX1NUQVRVU19PThABEhgKFFBMQVlfQ0FSRF9TVEFUVVNfT0ZGEAIyaQoIUGxheUNhcmQSXQoOR2V0Q3VyUGxheUNhcmQSIy5vcGVyYXRpb24udjEuR2V0Q3VyUGxheUNhcmRSZXF1ZXN0GiQub3BlcmF0aW9uLnYxLkdldEN1clBsYXlDYXJkUmVzcG9uc2UiAEK3AQoQY29tLm9wZXJhdGlvbi52MUINUGxheUNhcmRQcm90b1ABWkNnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvb3BlcmF0aW9uL3YxO29wZXJhdGlvbnYxogIDT1hYqgIMT3BlcmF0aW9uLlYxygIMT3BlcmF0aW9uXFYx4gIYT3BlcmF0aW9uXFYxXEdQQk1ldGFkYXRh6gINT3BlcmF0aW9uOjpWMWIGcHJvdG8z”,[_]),Mm=Q(Gd,0),Tm=J(“CiJvcGVyYXRpb24vdjEvcGxheV9jYXJkX2FkbWluLnByb3RvEgxvcGVyYXRpb24udjEi6gIKFUNyZWF0ZVBsYXlDYXJkUmVxdWVzdBIMCgRuYW1lGAEgASgJEg0KBXRpdGxlGAIgASgJEgwKBGRlc2MYAyABKAkSLgoLYWN0aW9uX3R5cGUYBCABKA4yGS5vcGVyYXRpb24udjEuQUNUSU9OX1RZUEUSEgoKZXh0cmFfZGF0YRgFIAEoCRIuCgZzdGF0dXMYBiABKA4yHi5vcGVyYXRpb24udjEuUExBWV9DQVJEX1NUQVRVUxItCghwbGF0Zm9ybRgIIAEoDjIbLm9wZXJhdGlvbi52MS5QTEFURk9STV9UWVBFEj0KBWltYWdlGAkgAygLMi4ub3BlcmF0aW9uLnYxLkNyZWF0ZVBsYXlDYXJkUmVxdWVzdC5JbWFnZUVudHJ5EhYKDnRyYW5zbGF0ZV9qc29uGAogASgJGiwKCkltYWdlRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASI2ChZDcmVhdGVQbGF5Q2FyZFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSCwoDbXNnGAIgASgJIoQEChVVcGRhdGVQbGF5Q2FyZFJlcXVlc3QSCgoCaWQYASABKAMSEQoEbmFtZRgCIAEoCUgAiAEBEhIKBXRpdGxlGAMgASgJSAGIAQESEQoEZGVzYxgEIAEoCUgCiAEBEjMKC2FjdGlvbl90eXBlGAUgASgOMhkub3BlcmF0aW9uLnYxLkFDVElPTl9UWVBFSAOIAQESFwoKZXh0cmFfZGF0YRgHIAEoCUgEiAEBEjMKBnN0YXR1cxgIIAEoDjIeLm9wZXJhdGlvbi52MS5QTEFZX0NBUkRfU1RBVFVTSAWIAQESMgoIcGxhdGZvcm0YCiABKA4yGy5vcGVyYXRpb24udjEuUExBVEZPUk1fVFlQRUgGiAEBEj0KBWltYWdlGAsgAygLMi4ub3BlcmF0aW9uLnYxLlVwZGF0ZVBsYXlDYXJkUmVxdWVzdC5JbWFnZUVudHJ5EhsKDnRyYW5zbGF0ZV9qc29uGAwgASgJSAeIAQEaLAoKSW1hZ2VFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBQgcKBV9uYW1lQggKBl90aXRsZUIHCgVfZGVzY0IOCgxfYWN0aW9uX3R5cGVCDQoLX2V4dHJhX2RhdGFCCQoHX3N0YXR1c0ILCglfcGxhdGZvcm1CEQoPX3RyYW5zbGF0ZV9qc29uIjYKFlVwZGF0ZVBsYXlDYXJkUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBILCgNtc2cYAiABKAkiIwoVRGVsZXRlUGxheUNhcmRSZXF1ZXN0EgoKAmlkGAEgASgDIjYKFkRlbGV0ZVBsYXlDYXJkUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBILCgNtc2cYAiABKAki/gEKE0xpc3RQbGF5Q2FyZFJlcXVlc3QSDAoEcGFnZRgBIAEoBRIRCglwYWdlX3NpemUYAiABKAUSFAoHa2V5d29yZBgDIAEoCUgAiAEBEhMKBmxvY2FsZRgEIAEoCUgBiAEBEjIKCHBsYXRmb3JtGAUgASgOMhsub3BlcmF0aW9uLnYxLlBMQVRGT1JNX1RZUEVIAogBARIzCgthY3Rpb25fdHlwZRgGIAEoDjIZLm9wZXJhdGlvbi52MS5BQ1RJT05fVFlQRUgDiAEBQgoKCF9rZXl3b3JkQgkKB19sb2NhbGVCCwoJX3BsYXRmb3JtQg4KDF9hY3Rpb25fdHlwZSJzChRMaXN0UGxheUNhcmRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEgsKA21zZxgCIAEoCRIuCgpwbGF5X2NhcmRzGAMgAygLMhoub3BlcmF0aW9uLnYxLlBsYXlDYXJkSW5mbxINCgV0b3RhbBgEIAEoAzKFAwoNUGxheUNhcmRBZG1pbhJdCg5DcmVhdGVQbGF5Q2FyZBIjLm9wZXJhdGlvbi52MS5DcmVhdGVQbGF5Q2FyZFJlcXVlc3QaJC5vcGVyYXRpb24udjEuQ3JlYXRlUGxheUNhcmRSZXNwb25zZSIAEl0KDlVwZGF0ZVBsYXlDYXJkEiMub3BlcmF0aW9uLnYxLlVwZGF0ZVBsYXlDYXJkUmVxdWVzdBokLm9wZXJhdGlvbi52MS5VcGRhdGVQbGF5Q2FyZFJlc3BvbnNlIgASXQoORGVsZXRlUGxheUNhcmQSIy5vcGVyYXRpb24udjEuRGVsZXRlUGxheUNhcmRSZXF1ZXN0GiQub3BlcmF0aW9uLnYxLkRlbGV0ZVBsYXlDYXJkUmVzcG9uc2UiABJXCgxMaXN0UGxheUNhcmQSIS5vcGVyYXRpb24udjEuTGlzdFBsYXlDYXJkUmVxdWVzdBoiLm9wZXJhdGlvbi52MS5MaXN0UGxheUNhcmRSZXNwb25zZSIAQrwBChBjb20ub3BlcmF0aW9uLnYxQhJQbGF5Q2FyZEFkbWluUHJvdG9QAVpDZ2l0bGFiLm1vbmljYS5jbi92aWRhL3Nkay9iaXpzZXJ2ZXItZ28uZ2l0L29wZXJhdGlvbi92MTtvcGVyYXRpb252MaICA09YWKoCDE9wZXJhdGlvbi5WMcoCDE9wZXJhdGlvblxWMeICGE9wZXJhdGlvblxWMVxHUEJNZXRhZGF0YeoCDU9wZXJhdGlvbjo6VjFiBnByb3RvMw”,[_,Gd]),Hm=Q(Tm,0),Re=J(“ChtidWYvdmFsaWRhdGUvdmFsaWRhdGUucHJvdG8SDGJ1Zi52YWxpZGF0ZSI9CgpDb25zdHJhaW50EgoKAmlkGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSEgoKZXhwcmVzc2lvbhgDIAEoCSJNChJNZXNzYWdlQ29uc3RyYWludHMSEAoIZGlzYWJsZWQYASABKAgSJQoDY2VsGAMgAygLMhguYnVmLnZhbGlkYXRlLkNvbnN0cmFpbnQiJAoQT25lb2ZDb25zdHJhaW50cxIQCghyZXF1aXJlZBgBIAEoCCLXCAoQRmllbGRDb25zdHJhaW50cxIlCgNjZWwYFyADKAsyGC5idWYudmFsaWRhdGUuQ29uc3RyYWludBIQCghyZXF1aXJlZBgZIAEoCBIkCgZpZ25vcmUYGyABKA4yFC5idWYudmFsaWRhdGUuSWdub3JlEikKBWZsb2F0GAEgASgLMhguYnVmLnZhbGlkYXRlLkZsb2F0UnVsZXNIABIrCgZkb3VibGUYAiABKAsyGS5idWYudmFsaWRhdGUuRG91YmxlUnVsZXNIABIpCgVpbnQzMhgDIAEoCzIYLmJ1Zi52YWxpZGF0ZS5JbnQzMlJ1bGVzSAASKQoFaW50NjQYBCABKAsyGC5idWYudmFsaWRhdGUuSW50NjRSdWxlc0gAEisKBnVpbnQzMhgFIAEoCzIZLmJ1Zi52YWxpZGF0ZS5VSW50MzJSdWxlc0gAEisKBnVpbnQ2NBgGIAEoCzIZLmJ1Zi52YWxpZGF0ZS5VSW50NjRSdWxlc0gAEisKBnNpbnQzMhgHIAEoCzIZLmJ1Zi52YWxpZGF0ZS5TSW50MzJSdWxlc0gAEisKBnNpbnQ2NBgIIAEoCzIZLmJ1Zi52YWxpZGF0ZS5TSW50NjRSdWxlc0gAEi0KB2ZpeGVkMzIYCSABKAsyGi5idWYudmFsaWRhdGUuRml4ZWQzMlJ1bGVzSAASLQoHZml4ZWQ2NBgKIAEoCzIaLmJ1Zi52YWxpZGF0ZS5GaXhlZDY0UnVsZXNIABIvCghzZml4ZWQzMhgLIAEoCzIbLmJ1Zi52YWxpZGF0ZS5TRml4ZWQzMlJ1bGVzSAASLwoIc2ZpeGVkNjQYDCABKAsyGy5idWYudmFsaWRhdGUuU0ZpeGVkNjRSdWxlc0gAEicKBGJvb2wYDSABKAsyFy5idWYudmFsaWRhdGUuQm9vbFJ1bGVzSAASKwoGc3RyaW5nGA4gASgLMhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzSAASKQoFYnl0ZXMYDyABKAsyGC5idWYudmFsaWRhdGUuQnl0ZXNSdWxlc0gAEicKBGVudW0YECABKAsyFy5idWYudmFsaWRhdGUuRW51bVJ1bGVzSAASLwoIcmVwZWF0ZWQYEiABKAsyGy5idWYudmFsaWRhdGUuUmVwZWF0ZWRSdWxlc0gAEiUKA21hcBgTIAEoCzIWLmJ1Zi52YWxpZGF0ZS5NYXBSdWxlc0gAEiUKA2FueRgUIAEoCzIWLmJ1Zi52YWxpZGF0ZS5BbnlSdWxlc0gAEi8KCGR1cmF0aW9uGBUgASgLMhsuYnVmLnZhbGlkYXRlLkR1cmF0aW9uUnVsZXNIABIxCgl0aW1lc3RhbXAYFiABKAsyHC5idWYudmFsaWRhdGUuVGltZXN0YW1wUnVsZXNIABITCgdza2lwcGVkGBggASgIQgIYARIYCgxpZ25vcmVfZW1wdHkYGiABKAhCAhgBQgYKBHR5cGUiPgoVUHJlZGVmaW5lZENvbnN0cmFpbnRzEiUKA2NlbBgBIAMoCzIYLmJ1Zi52YWxpZGF0ZS5Db25zdHJhaW50IrUXCgpGbG9hdFJ1bGVzEmkKBWNvbnN0GAEgASgCQlrCSFcKVQoLZmxvYXQuY29uc3QaRnRoaXMgIT0gcnVsZXMuY29uc3QgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtydWxlcy5jb25zdF0pIDogJycSnwEKAmx0GAIgASgCQpABwkiMAQqJAQoIZmxvYXQubHQafSFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPj0gcnVsZXMubHQpPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASrwEKA2x0ZRgDIAEoAkKfAcJImwEKmAEKCWZsb2F0Lmx0ZRqKASFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPiBydWxlcy5sdGUpPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEu8HCgJndBgEIAEoAkLgB8JI3AcKjQEKCGZsb2F0Lmd0GoABIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKwwEKC2Zsb2F0Lmd0X2x0GrMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKzQEKFWZsb2F0Lmd0X2x0X2V4Y2x1c2l2ZRqzAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCtMBCgxmbG9hdC5ndF9sdGUawgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrdAQoWZmxvYXQuZ3RfbHRlX2V4Y2x1c2l2ZRrCAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmICh0aGlzLmlzTmFuKCkgfHwgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCkpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAESuggKA2d0ZRgFIAEoAkKqCMJIpggKmwEKCWZsb2F0Lmd0ZRqNASFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrSAQoMZmxvYXQuZ3RlX2x0GsEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrcAQoWZmxvYXQuZ3RlX2x0X2V4Y2x1c2l2ZRrBAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK4gEKDWZsb2F0Lmd0ZV9sdGUa0AFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCuwBChdmbG9hdC5ndGVfbHRlX2V4Y2x1c2l2ZRrQAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ1CgJpbhgGIAMoAkJpwkhmCmQKCGZsb2F0LmluGlghKHRoaXMgaW4gZHluKHJ1bGVzKVsnaW4nXSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2R5bihydWxlcylbJ2luJ11dKSA6ICcnEnYKBm5vdF9pbhgHIAMoAkJmwkhjCmEKDGZsb2F0Lm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEnUKBmZpbml0ZRgIIAEoCEJlwkhiCmAKDGZsb2F0LmZpbml0ZRpQcnVsZXMuZmluaXRlID8gKHRoaXMuaXNOYW4oKSB8fCB0aGlzLmlzSW5mKCkgPyAndmFsdWUgbXVzdCBiZSBmaW5pdGUnIDogJycpIDogJycSKwoHZXhhbXBsZRgJIAMoAkIawkgXChUKDWZsb2F0LmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIscXCgtEb3VibGVSdWxlcxJqCgVjb25zdBgBIAEoAUJbwkhYClYKDGRvdWJsZS5jb25zdBpGdGhpcyAhPSBydWxlcy5jb25zdCA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW3J1bGVzLmNvbnN0XSkgOiAnJxKgAQoCbHQYAiABKAFCkQHCSI0BCooBCglkb3VibGUubHQafSFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPj0gcnVsZXMubHQpPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASsAEKA2x0ZRgDIAEoAUKgAcJInAEKmQEKCmRvdWJsZS5sdGUaigEhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID4gcnVsZXMubHRlKT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABL0BwoCZ3QYBCABKAFC5QfCSOEHCo4BCglkb3VibGUuZ3QagAEhaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwrEAQoMZG91YmxlLmd0X2x0GrMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKzgEKFmRvdWJsZS5ndF9sdF9leGNsdXNpdmUaswFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrUAQoNZG91YmxlLmd0X2x0ZRrCAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCt4BChdkb3VibGUuZ3RfbHRlX2V4Y2x1c2l2ZRrCAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmICh0aGlzLmlzTmFuKCkgfHwgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCkpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAESvwgKA2d0ZRgFIAEoAUKvCMJIqwgKnAEKCmRvdWJsZS5ndGUajQEhaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycK0wEKDWRvdWJsZS5ndGVfbHQawQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCt0BChdkb3VibGUuZ3RlX2x0X2V4Y2x1c2l2ZRrBAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK4wEKDmRvdWJsZS5ndGVfbHRlGtABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrtAQoYZG91YmxlLmd0ZV9sdGVfZXhjbHVzaXZlGtABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSkpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEnYKAmluGAYgAygBQmrCSGcKZQoJZG91YmxlLmluGlghKHRoaXMgaW4gZHluKHJ1bGVzKVsnaW4nXSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2R5bihydWxlcylbJ2luJ11dKSA6ICcnEncKBm5vdF9pbhgHIAMoAUJnwkhkCmIKDWRvdWJsZS5ub3RfaW4aUXRoaXMgaW4gcnVsZXMubm90X2luID8gJ3ZhbHVlIG11c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxJ2CgZmaW5pdGUYCCABKAhCZsJIYwphCg1kb3VibGUuZmluaXRlGlBydWxlcy5maW5pdGUgPyAodGhpcy5pc05hbigpIHx8IHRoaXMuaXNJbmYoKSA/ICd2YWx1ZSBtdXN0IGJlIGZpbml0ZScgOiAnJykgOiAnJxIsCgdleGFtcGxlGAkgAygBQhvCSBgKFgoOZG91YmxlLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIucUCgpJbnQzMlJ1bGVzEmkKBWNvbnN0GAEgASgFQlrCSFcKVQoLaW50MzIuY29uc3QaRnRoaXMgIT0gcnVsZXMuY29uc3QgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtydWxlcy5jb25zdF0pIDogJycSigEKAmx0GAIgASgFQnzCSHkKdwoIaW50MzIubHQaayFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASnAEKA2x0ZRgDIAEoBUKMAcJIiAEKhQEKCWludDMyLmx0ZRp4IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASlwcKAmd0GAQgASgFQogHwkiEBwp6CghpbnQzMi5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKswEKC2ludDMyLmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq7AQoVaW50MzIuZ3RfbHRfZXhjbHVzaXZlGqEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKwwEKDGludDMyLmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKywEKFmludDMyLmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEuMHCgNndGUYBSABKAVC0wfCSM8HCogBCglpbnQzMi5ndGUaeyFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrCAQoMaW50MzIuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCsoBChZpbnQzMi5ndGVfbHRfZXhjbHVzaXZlGq8BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrSAQoNaW50MzIuZ3RlX2x0ZRrAAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwraAQoXaW50MzIuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESdQoCaW4YBiADKAVCacJIZgpkCghpbnQzMi5pbhpYISh0aGlzIGluIGR5bihydWxlcylbJ2luJ10pID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtkeW4ocnVsZXMpWydpbiddXSkgOiAnJxJ2CgZub3RfaW4YByADKAVCZsJIYwphCgxpbnQzMi5ub3RfaW4aUXRoaXMgaW4gcnVsZXMubm90X2luID8gJ3ZhbHVlIG11c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxIrCgdleGFtcGxlGAggAygFQhrCSBcKFQoNaW50MzIuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4i5xQKCkludDY0UnVsZXMSaQoFY29uc3QYASABKANCWsJIVwpVCgtpbnQ2NC5jb25zdBpGdGhpcyAhPSBydWxlcy5jb25zdCA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW3J1bGVzLmNvbnN0XSkgOiAnJxKKAQoCbHQYAiABKANCfMJIeQp3CghpbnQ2NC5sdBprIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKcAQoDbHRlGAMgASgDQowBwkiIAQqFAQoJaW50NjQubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKXBwoCZ3QYBCABKANCiAfCSIQHCnoKCGludDY0Lmd0Gm4haGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwqzAQoLaW50NjQuZ3RfbHQaowFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCrsBChVpbnQ2NC5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrDAQoMaW50NjQuZ3RfbHRlGrIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrLAQoWaW50NjQuZ3RfbHRlX2V4Y2x1c2l2ZRqwAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAES4wcKA2d0ZRgFIAEoA0LTB8JIzwcKiAEKCWludDY0Lmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsIBCgxpbnQ2NC5ndGVfbHQasQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKygEKFmludDY0Lmd0ZV9sdF9leGNsdXNpdmUarwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCtIBCg1pbnQ2NC5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtoBChdpbnQ2NC5ndGVfbHRlX2V4Y2x1c2l2ZRq+AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ1CgJpbhgGIAMoA0JpwkhmCmQKCGludDY0LmluGlghKHRoaXMgaW4gZHluKHJ1bGVzKVsnaW4nXSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2R5bihydWxlcylbJ2luJ11dKSA6ICcnEnYKBm5vdF9pbhgHIAMoA0JmwkhjCmEKDGludDY0Lm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEisKB2V4YW1wbGUYCSADKANCGsJIFwoVCg1pbnQ2NC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiL4FAoLVUludDMyUnVsZXMSagoFY29uc3QYASABKA1CW8JIWApWCgx1aW50MzIuY29uc3QaRnRoaXMgIT0gcnVsZXMuY29uc3QgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtydWxlcy5jb25zdF0pIDogJycSiwEKAmx0GAIgASgNQn3CSHoKeAoJdWludDMyLmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp0BCgNsdGUYAyABKA1CjQHCSIkBCoYBCgp1aW50MzIubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKcBwoCZ3QYBCABKA1CjQfCSIkHCnsKCXVpbnQzMi5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtAEKDHVpbnQzMi5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvAEKFnVpbnQzMi5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrEAQoNdWludDMyLmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzAEKF3VpbnQzMi5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLoBwoDZ3RlGAUgASgNQtgHwkjUBwqJAQoKdWludDMyLmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsMBCg11aW50MzIuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCssBChd1aW50MzIuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0wEKDnVpbnQzMi5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtsBChh1aW50MzIuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESdgoCaW4YBiADKA1CasJIZwplCgl1aW50MzIuaW4aWCEodGhpcyBpbiBkeW4ocnVsZXMpWydpbiddKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZHluKHJ1bGVzKVsnaW4nXV0pIDogJycSdwoGbm90X2luGAcgAygNQmfCSGQKYgoNdWludDMyLm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEiwKB2V4YW1wbGUYCCADKA1CG8JIGAoWCg51aW50MzIuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4i+BQKC1VJbnQ2NFJ1bGVzEmoKBWNvbnN0GAEgASgEQlvCSFgKVgoMdWludDY0LmNvbnN0GkZ0aGlzICE9IHJ1bGVzLmNvbnN0ID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbcnVsZXMuY29uc3RdKSA6ICcnEosBCgJsdBgCIAEoBEJ9wkh6CngKCXVpbnQ2NC5sdBprIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKdAQoDbHRlGAMgASgEQo0BwkiJAQqGAQoKdWludDY0Lmx0ZRp4IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASnAcKAmd0GAQgASgEQo0HwkiJBwp7Cgl1aW50NjQuZ3QabiFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCrQBCgx1aW50NjQuZ3RfbHQaowFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCrwBChZ1aW50NjQuZ3RfbHRfZXhjbHVzaXZlGqEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKxAEKDXVpbnQ2NC5ndF9sdGUasgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCswBChd1aW50NjQuZ3RfbHRlX2V4Y2x1c2l2ZRqwAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAES6AcKA2d0ZRgFIAEoBELYB8JI1AcKiQEKCnVpbnQ2NC5ndGUaeyFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrDAQoNdWludDY0Lmd0ZV9sdBqxAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrLAQoXdWludDY0Lmd0ZV9sdF9leGNsdXNpdmUarwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCtMBCg51aW50NjQuZ3RlX2x0ZRrAAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrbAQoYdWludDY0Lmd0ZV9sdGVfZXhjbHVzaXZlGr4BaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEnYKAmluGAYgAygEQmrCSGcKZQoJdWludDY0LmluGlghKHRoaXMgaW4gZHluKHJ1bGVzKVsnaW4nXSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2R5bihydWxlcylbJ2luJ11dKSA6ICcnEncKBm5vdF9pbhgHIAMoBEJnwkhkCmIKDXVpbnQ2NC5ub3RfaW4aUXRoaXMgaW4gcnVsZXMubm90X2luID8gJ3ZhbHVlIG11c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxIsCgdleGFtcGxlGAggAygEQhvCSBgKFgoOdWludDY0LmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIvgUCgtTSW50MzJSdWxlcxJqCgVjb25zdBgBIAEoEUJbwkhYClYKDHNpbnQzMi5jb25zdBpGdGhpcyAhPSBydWxlcy5jb25zdCA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW3J1bGVzLmNvbnN0XSkgOiAnJxKLAQoCbHQYAiABKBFCfcJIegp4CglzaW50MzIubHQaayFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASnQEKA2x0ZRgDIAEoEUKNAcJIiQEKhgEKCnNpbnQzMi5sdGUaeCFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEpwHCgJndBgEIAEoEUKNB8JIiQcKewoJc2ludDMyLmd0Gm4haGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwq0AQoMc2ludDMyLmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq8AQoWc2ludDMyLmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCsQBCg1zaW50MzIuZ3RfbHRlGrIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrMAQoXc2ludDMyLmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEugHCgNndGUYBSABKBFC2AfCSNQHCokBCgpzaW50MzIuZ3RlGnshaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKwwEKDXNpbnQzMi5ndGVfbHQasQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKywEKF3NpbnQzMi5ndGVfbHRfZXhjbHVzaXZlGq8BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrTAQoOc2ludDMyLmd0ZV9sdGUawAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK2wEKGHNpbnQzMi5ndGVfbHRlX2V4Y2x1c2l2ZRq+AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ2CgJpbhgGIAMoEUJqwkhnCmUKCXNpbnQzMi5pbhpYISh0aGlzIGluIGR5bihydWxlcylbJ2luJ10pID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtkeW4ocnVsZXMpWydpbiddXSkgOiAnJxJ3CgZub3RfaW4YByADKBFCZ8JIZApiCg1zaW50MzIubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLAoHZXhhbXBsZRgIIAMoEUIbwkgYChYKDnNpbnQzMi5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiL4FAoLU0ludDY0UnVsZXMSagoFY29uc3QYASABKBJCW8JIWApWCgxzaW50NjQuY29uc3QaRnRoaXMgIT0gcnVsZXMuY29uc3QgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtydWxlcy5jb25zdF0pIDogJycSiwEKAmx0GAIgASgSQn3CSHoKeAoJc2ludDY0Lmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp0BCgNsdGUYAyABKBJCjQHCSIkBCoYBCgpzaW50NjQubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKcBwoCZ3QYBCABKBJCjQfCSIkHCnsKCXNpbnQ2NC5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtAEKDHNpbnQ2NC5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvAEKFnNpbnQ2NC5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrEAQoNc2ludDY0Lmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzAEKF3NpbnQ2NC5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLoBwoDZ3RlGAUgASgSQtgHwkjUBwqJAQoKc2ludDY0Lmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsMBCg1zaW50NjQuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCssBChdzaW50NjQuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0wEKDnNpbnQ2NC5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtsBChhzaW50NjQuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESdgoCaW4YBiADKBJCasJIZwplCglzaW50NjQuaW4aWCEodGhpcyBpbiBkeW4ocnVsZXMpWydpbiddKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZHluKHJ1bGVzKVsnaW4nXV0pIDogJycSdwoGbm90X2luGAcgAygSQmfCSGQKYgoNc2ludDY0Lm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEiwKB2V4YW1wbGUYCCADKBJCG8JIGAoWCg5zaW50NjQuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4iiRUKDEZpeGVkMzJSdWxlcxJrCgVjb25zdBgBIAEoB0JcwkhZClcKDWZpeGVkMzIuY29uc3QaRnRoaXMgIT0gcnVsZXMuY29uc3QgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtydWxlcy5jb25zdF0pIDogJycSjAEKAmx0GAIgASgHQn7CSHsKeQoKZml4ZWQzMi5sdBprIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKeAQoDbHRlGAMgASgHQo4BwkiKAQqHAQoLZml4ZWQzMi5sdGUaeCFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEqEHCgJndBgEIAEoB0KSB8JIjgcKfAoKZml4ZWQzMi5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtQEKDWZpeGVkMzIuZ3RfbHQaowFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCr0BChdmaXhlZDMyLmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCsUBCg5maXhlZDMyLmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzQEKGGZpeGVkMzIuZ3RfbHRlX2V4Y2x1c2l2ZRqwAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAES7QcKA2d0ZRgFIAEoB0LdB8JI2QcKigEKC2ZpeGVkMzIuZ3RlGnshaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKxAEKDmZpeGVkMzIuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCswBChhmaXhlZDMyLmd0ZV9sdF9leGNsdXNpdmUarwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCtQBCg9maXhlZDMyLmd0ZV9sdGUawAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK3AEKGWZpeGVkMzIuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESdwoCaW4YBiADKAdCa8JIaApmCgpmaXhlZDMyLmluGlghKHRoaXMgaW4gZHluKHJ1bGVzKVsnaW4nXSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2R5bihydWxlcylbJ2luJ11dKSA6ICcnEngKBm5vdF9pbhgHIAMoB0JowkhlCmMKDmZpeGVkMzIubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLQoHZXhhbXBsZRgIIAMoB0IcwkgZChcKD2ZpeGVkMzIuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4iiRUKDEZpeGVkNjRSdWxlcxJrCgVjb25zdBgBIAEoBkJcwkhZClcKDWZpeGVkNjQuY29uc3QaRnRoaXMgIT0gcnVsZXMuY29uc3QgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtydWxlcy5jb25zdF0pIDogJycSjAEKAmx0GAIgASgGQn7CSHsKeQoKZml4ZWQ2NC5sdBprIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKeAQoDbHRlGAMgASgGQo4BwkiKAQqHAQoLZml4ZWQ2NC5sdGUaeCFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEqEHCgJndBgEIAEoBkKSB8JIjgcKfAoKZml4ZWQ2NC5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtQEKDWZpeGVkNjQuZ3RfbHQaowFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCr0BChdmaXhlZDY0Lmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCsUBCg5maXhlZDY0Lmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzQEKGGZpeGVkNjQuZ3RfbHRlX2V4Y2x1c2l2ZRqwAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAES7QcKA2d0ZRgFIAEoBkLdB8JI2QcKigEKC2ZpeGVkNjQuZ3RlGnshaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKxAEKDmZpeGVkNjQuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCswBChhmaXhlZDY0Lmd0ZV9sdF9leGNsdXNpdmUarwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCtQBCg9maXhlZDY0Lmd0ZV9sdGUawAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK3AEKGWZpeGVkNjQuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESdwoCaW4YBiADKAZCa8JIaApmCgpmaXhlZDY0LmluGlghKHRoaXMgaW4gZHluKHJ1bGVzKVsnaW4nXSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2R5bihydWxlcylbJ2luJ11dKSA6ICcnEngKBm5vdF9pbhgHIAMoBkJowkhlCmMKDmZpeGVkNjQubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLQoHZXhhbXBsZRgIIAMoBkIcwkgZChcKD2ZpeGVkNjQuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4imhUKDVNGaXhlZDMyUnVsZXMSbAoFY29uc3QYASABKA9CXcJIWgpYCg5zZml4ZWQzMi5jb25zdBpGdGhpcyAhPSBydWxlcy5jb25zdCA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW3J1bGVzLmNvbnN0XSkgOiAnJxKNAQoCbHQYAiABKA9Cf8JIfAp6CgtzZml4ZWQzMi5sdBprIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKfAQoDbHRlGAMgASgPQo8BwkiLAQqIAQoMc2ZpeGVkMzIubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKmBwoCZ3QYBCABKA9ClwfCSJMHCn0KC3NmaXhlZDMyLmd0Gm4haGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwq2AQoOc2ZpeGVkMzIuZ3RfbHQaowFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCr4BChhzZml4ZWQzMi5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrGAQoPc2ZpeGVkMzIuZ3RfbHRlGrIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrOAQoZc2ZpeGVkMzIuZ3RfbHRlX2V4Y2x1c2l2ZRqwAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAES8gcKA2d0ZRgFIAEoD0LiB8JI3gcKiwEKDHNmaXhlZDMyLmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsUBCg9zZml4ZWQzMi5ndGVfbHQasQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKzQEKGXNmaXhlZDMyLmd0ZV9sdF9leGNsdXNpdmUarwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCtUBChBzZml4ZWQzMi5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCt0BChpzZml4ZWQzMi5ndGVfbHRlX2V4Y2x1c2l2ZRq+AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ4CgJpbhgGIAMoD0JswkhpCmcKC3NmaXhlZDMyLmluGlghKHRoaXMgaW4gZHluKHJ1bGVzKVsnaW4nXSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2R5bihydWxlcylbJ2luJ11dKSA6ICcnEnkKBm5vdF9pbhgHIAMoD0JpwkhmCmQKD3NmaXhlZDMyLm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEi4KB2V4YW1wbGUYCCADKA9CHcJIGgoYChBzZml4ZWQzMi5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKaFQoNU0ZpeGVkNjRSdWxlcxJsCgVjb25zdBgBIAEoEEJdwkhaClgKDnNmaXhlZDY0LmNvbnN0GkZ0aGlzICE9IHJ1bGVzLmNvbnN0ID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbcnVsZXMuY29uc3RdKSA6ICcnEo0BCgJsdBgCIAEoEEJ/wkh8CnoKC3NmaXhlZDY0Lmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp8BCgNsdGUYAyABKBBCjwHCSIsBCogBCgxzZml4ZWQ2NC5sdGUaeCFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEqYHCgJndBgEIAEoEEKXB8JIkwcKfQoLc2ZpeGVkNjQuZ3QabiFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCrYBCg5zZml4ZWQ2NC5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvgEKGHNmaXhlZDY0Lmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCsYBCg9zZml4ZWQ2NC5ndF9sdGUasgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCs4BChlzZml4ZWQ2NC5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLyBwoDZ3RlGAUgASgQQuIHwkjeBwqLAQoMc2ZpeGVkNjQuZ3RlGnshaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKxQEKD3NmaXhlZDY0Lmd0ZV9sdBqxAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrNAQoZc2ZpeGVkNjQuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK1QEKEHNmaXhlZDY0Lmd0ZV9sdGUawAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK3QEKGnNmaXhlZDY0Lmd0ZV9sdGVfZXhjbHVzaXZlGr4BaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEngKAmluGAYgAygQQmzCSGkKZwoLc2ZpeGVkNjQuaW4aWCEodGhpcyBpbiBkeW4ocnVsZXMpWydpbiddKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZHluKHJ1bGVzKVsnaW4nXV0pIDogJycSeQoGbm90X2luGAcgAygQQmnCSGYKZAoPc2ZpeGVkNjQubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLgoHZXhhbXBsZRgIIAMoEEIdwkgaChgKEHNmaXhlZDY0LmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIqwBCglCb29sUnVsZXMSaAoFY29uc3QYASABKAhCWcJIVgpUCgpib29sLmNvbnN0GkZ0aGlzICE9IHJ1bGVzLmNvbnN0ID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbcnVsZXMuY29uc3RdKSA6ICcnEioKB2V4YW1wbGUYAiADKAhCGcJIFgoUCgxib29sLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAiLgNgoLU3RyaW5nUnVsZXMSbAoFY29uc3QYASABKAlCXcJIWgpYCgxzdHJpbmcuY29uc3QaSHRoaXMgIT0gcnVsZXMuY29uc3QgPyAndmFsdWUgbXVzdCBlcXVhbCBgJXNgJy5mb3JtYXQoW3J1bGVzLmNvbnN0XSkgOiAnJxJ+CgNsZW4YEyABKARCccJIbgpsCgpzdHJpbmcubGVuGl51aW50KHRoaXMuc2l6ZSgpKSAhPSBydWxlcy5sZW4gPyAndmFsdWUgbGVuZ3RoIG11c3QgYmUgJXMgY2hhcmFjdGVycycuZm9ybWF0KFtydWxlcy5sZW5dKSA6ICcnEpkBCgdtaW5fbGVuGAIgASgEQocBwkiDAQqAAQoOc3RyaW5nLm1pbl9sZW4abnVpbnQodGhpcy5zaXplKCkpIDwgcnVsZXMubWluX2xlbiA/ICd2YWx1ZSBsZW5ndGggbXVzdCBiZSBhdCBsZWFzdCAlcyBjaGFyYWN0ZXJzJy5mb3JtYXQoW3J1bGVzLm1pbl9sZW5dKSA6ICcnEpcBCgdtYXhfbGVuGAMgASgEQoUBwkiBAQp/Cg5zdHJpbmcubWF4X2xlbhptdWludCh0aGlzLnNpemUoKSkgPiBydWxlcy5tYXhfbGVuID8gJ3ZhbHVlIGxlbmd0aCBtdXN0IGJlIGF0IG1vc3QgJXMgY2hhcmFjdGVycycuZm9ybWF0KFtydWxlcy5tYXhfbGVuXSkgOiAnJxKbAQoJbGVuX2J5dGVzGBQgASgEQocBwkiDAQqAAQoQc3RyaW5nLmxlbl9ieXRlcxpsdWludChieXRlcyh0aGlzKS5zaXplKCkpICE9IHJ1bGVzLmxlbl9ieXRlcyA/ICd2YWx1ZSBsZW5ndGggbXVzdCBiZSAlcyBieXRlcycuZm9ybWF0KFtydWxlcy5sZW5fYnl0ZXNdKSA6ICcnEqMBCgltaW5fYnl0ZXMYBCABKARCjwHCSIsBCogBChBzdHJpbmcubWluX2J5dGVzGnR1aW50KGJ5dGVzKHRoaXMpLnNpemUoKSkgPCBydWxlcy5taW5fYnl0ZXMgPyAndmFsdWUgbGVuZ3RoIG11c3QgYmUgYXQgbGVhc3QgJXMgYnl0ZXMnLmZvcm1hdChbcnVsZXMubWluX2J5dGVzXSkgOiAnJxKiAQoJbWF4X2J5dGVzGAUgASgEQo4BwkiKAQqHAQoQc3RyaW5nLm1heF9ieXRlcxpzdWludChieXRlcyh0aGlzKS5zaXplKCkpID4gcnVsZXMubWF4X2J5dGVzID8gJ3ZhbHVlIGxlbmd0aCBtdXN0IGJlIGF0IG1vc3QgJXMgYnl0ZXMnLmZvcm1hdChbcnVsZXMubWF4X2J5dGVzXSkgOiAnJxKNAQoHcGF0dGVybhgGIAEoCUJ8wkh5CncKDnN0cmluZy5wYXR0ZXJuGmUhdGhpcy5tYXRjaGVzKHJ1bGVzLnBhdHRlcm4pID8gJ3ZhbHVlIGRvZXMgbm90IG1hdGNoIHJlZ2V4IHBhdHRlcm4gYCVzYCcuZm9ybWF0KFtydWxlcy5wYXR0ZXJuXSkgOiAnJxKEAQoGcHJlZml4GAcgASgJQnTCSHEKbwoNc3RyaW5nLnByZWZpeBpeIXRoaXMuc3RhcnRzV2l0aChydWxlcy5wcmVmaXgpID8gJ3ZhbHVlIGRvZXMgbm90IGhhdmUgcHJlZml4IGAlc2AnLmZvcm1hdChbcnVsZXMucHJlZml4XSkgOiAnJxKCAQoGc3VmZml4GAggASgJQnLCSG8KbQoNc3RyaW5nLnN1ZmZpeBpcIXRoaXMuZW5kc1dpdGgocnVsZXMuc3VmZml4KSA/ICd2YWx1ZSBkb2VzIG5vdCBoYXZlIHN1ZmZpeCBgJXNgJy5mb3JtYXQoW3J1bGVzLnN1ZmZpeF0pIDogJycSkAEKCGNvbnRhaW5zGAkgASgJQn7CSHsKeQoPc3RyaW5nLmNvbnRhaW5zGmYhdGhpcy5jb250YWlucyhydWxlcy5jb250YWlucykgPyAndmFsdWUgZG9lcyBub3QgY29udGFpbiBzdWJzdHJpbmcgYCVzYCcuZm9ybWF0KFtydWxlcy5jb250YWluc10pIDogJycSmAEKDG5vdF9jb250YWlucxgXIAEoCUKBAcJIfgp8ChNzdHJpbmcubm90X2NvbnRhaW5zGmV0aGlzLmNvbnRhaW5zKHJ1bGVzLm5vdF9jb250YWlucykgPyAndmFsdWUgY29udGFpbnMgc3Vic3RyaW5nIGAlc2AnLmZvcm1hdChbcnVsZXMubm90X2NvbnRhaW5zXSkgOiAnJxJ2CgJpbhgKIAMoCUJqwkhnCmUKCXN0cmluZy5pbhpYISh0aGlzIGluIGR5bihydWxlcylbJ2luJ10pID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtkeW4ocnVsZXMpWydpbiddXSkgOiAnJxJ3CgZub3RfaW4YCyADKAlCZ8JIZApiCg1zdHJpbmcubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycS3wEKBWVtYWlsGAwgASgIQs0BwkjJAQphCgxzdHJpbmcuZW1haWwSI3ZhbHVlIG11c3QgYmUgYSB2YWxpZCBlbWFpbCBhZGRyZXNzGiwhcnVsZXMuZW1haWwgfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzRW1haWwoKQpkChJzdHJpbmcuZW1haWxfZW1wdHkSMnZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBlbWFpbCBhZGRyZXNzGhohcnVsZXMuZW1haWwgfHwgdGhpcyAhPSAnJ0gAEucBCghob3N0bmFtZRgNIAEoCELSAcJIzgEKZQoPc3RyaW5nLmhvc3RuYW1lEh52YWx1ZSBtdXN0IGJlIGEgdmFsaWQgaG9zdG5hbWUaMiFydWxlcy5ob3N0bmFtZSB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNIb3N0bmFtZSgpCmUKFXN0cmluZy5ob3N0bmFtZV9lbXB0eRItdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIGhvc3RuYW1lGh0hcnVsZXMuaG9zdG5hbWUgfHwgdGhpcyAhPSAnJ0gAEscBCgJpcBgOIAEoCEK4AcJItAEKVQoJc3RyaW5nLmlwEiB2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSVAgYWRkcmVzcxomIXJ1bGVzLmlwIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwKCkKWwoPc3RyaW5nLmlwX2VtcHR5Ei92YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVAgYWRkcmVzcxoXIXJ1bGVzLmlwIHx8IHRoaXMgIT0gJydIABLWAQoEaXB2NBgPIAEoCELFAcJIwQEKXAoLc3RyaW5nLmlwdjQSInZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY0IGFkZHJlc3MaKSFydWxlcy5pcHY0IHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwKDQpCmEKEXN0cmluZy5pcHY0X2VtcHR5EjF2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBhZGRyZXNzGhkhcnVsZXMuaXB2NCB8fCB0aGlzICE9ICcnSAAS1gEKBGlwdjYYECABKAhCxQHCSMEBClwKC3N0cmluZy5pcHY2EiJ2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSVB2NiBhZGRyZXNzGikhcnVsZXMuaXB2NiB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcCg2KQphChFzdHJpbmcuaXB2Nl9lbXB0eRIxdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjYgYWRkcmVzcxoZIXJ1bGVzLmlwdjYgfHwgdGhpcyAhPSAnJ0gAEr8BCgN1cmkYESABKAhCrwHCSKsBClEKCnN0cmluZy51cmkSGXZhbHVlIG11c3QgYmUgYSB2YWxpZCBVUkkaKCFydWxlcy51cmkgfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzVXJpKCkKVgoQc3RyaW5nLnVyaV9lbXB0eRIodmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIFVSSRoYIXJ1bGVzLnVyaSB8fCB0aGlzICE9ICcnSAASZgoHdXJpX3JlZhgSIAEoCEJTwkhQCk4KDnN0cmluZy51cmlfcmVmEhl2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgVVJJGiEhcnVsZXMudXJpX3JlZiB8fCB0aGlzLmlzVXJpUmVmKClIABKQAgoHYWRkcmVzcxgVIAEoCEL8AcJI+AEKgQEKDnN0cmluZy5hZGRyZXNzEi12YWx1ZSBtdXN0IGJlIGEgdmFsaWQgaG9zdG5hbWUsIG9yIGlwIGFkZHJlc3MaQCFydWxlcy5hZGRyZXNzIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0hvc3RuYW1lKCkgfHwgdGhpcy5pc0lwKCkKcgoUc3RyaW5nLmFkZHJlc3NfZW1wdHkSPHZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBob3N0bmFtZSwgb3IgaXAgYWRkcmVzcxocIXJ1bGVzLmFkZHJlc3MgfHwgdGhpcyAhPSAnJ0gAEpgCCgR1dWlkGBYgASgIQocCwkiDAgqlAQoLc3RyaW5nLnV1aWQSGnZhbHVlIG11c3QgYmUgYSB2YWxpZCBVVUlEGnohcnVsZXMudXVpZCB8fCB0aGlzID09ICcnIHx8IHRoaXMubWF0Y2hlcygnXlswLTlhLWZBLUZdezh9LVswLTlhLWZBLUZdezR9LVswLTlhLWZBLUZdezR9LVswLTlhLWZBLUZdezR9LVswLTlhLWZBLUZdezEyfSQnKQpZChFzdHJpbmcudXVpZF9lbXB0eRIpdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIFVVSUQaGSFydWxlcy51dWlkIHx8IHRoaXMgIT0gJydIABLwAQoFdHV1aWQYISABKAhC3gHCSNoBCnMKDHN0cmluZy50dXVpZBIidmFsdWUgbXVzdCBiZSBhIHZhbGlkIHRyaW1tZWQgVVVJRBo/IXJ1bGVzLnR1dWlkIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5tYXRjaGVzKCdeWzAtOWEtZkEtRl17MzJ9JCcpCmMKEnN0cmluZy50dXVpZF9lbXB0eRIxdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIHRyaW1tZWQgVVVJRBoaIXJ1bGVzLnR1dWlkIHx8IHRoaXMgIT0gJydIABKWAgoRaXBfd2l0aF9wcmVmaXhsZW4YGiABKAhC+AHCSPQBCngKGHN0cmluZy5pcF93aXRoX3ByZWZpeGxlbhIfdmFsdWUgbXVzdCBiZSBhIHZhbGlkIElQIHByZWZpeBo7IXJ1bGVzLmlwX3dpdGhfcHJlZml4bGVuIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwUHJlZml4KCkKeAoec3RyaW5nLmlwX3dpdGhfcHJlZml4bGVuX2VtcHR5Ei52YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVAgcHJlZml4GiYhcnVsZXMuaXBfd2l0aF9wcmVmaXhsZW4gfHwgdGhpcyAhPSAnJ0gAEs8CChNpcHY0X3dpdGhfcHJlZml4bGVuGBsgASgIQq8CwkirAgqTAQoac3RyaW5nLmlwdjRfd2l0aF9wcmVmaXhsZW4SNXZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY0IGFkZHJlc3Mgd2l0aCBwcmVmaXggbGVuZ3RoGj4hcnVsZXMuaXB2NF93aXRoX3ByZWZpeGxlbiB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCg0KQqSAQogc3RyaW5nLmlwdjRfd2l0aF9wcmVmaXhsZW5fZW1wdHkSRHZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBJUHY0IGFkZHJlc3Mgd2l0aCBwcmVmaXggbGVuZ3RoGighcnVsZXMuaXB2NF93aXRoX3ByZWZpeGxlbiB8fCB0aGlzICE9ICcnSAASzwIKE2lwdjZfd2l0aF9wcmVmaXhsZW4YHCABKAhCrwLCSKsCCpMBChpzdHJpbmcuaXB2Nl93aXRoX3ByZWZpeGxlbhI1dmFsdWUgbXVzdCBiZSBhIHZhbGlkIElQdjYgYWRkcmVzcyB3aXRoIHByZWZpeCBsZW5ndGgaPiFydWxlcy5pcHY2X3dpdGhfcHJlZml4bGVuIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwUHJlZml4KDYpCpIBCiBzdHJpbmcuaXB2Nl93aXRoX3ByZWZpeGxlbl9lbXB0eRJEdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjYgYWRkcmVzcyB3aXRoIHByZWZpeCBsZW5ndGgaKCFydWxlcy5pcHY2X3dpdGhfcHJlZml4bGVuIHx8IHRoaXMgIT0gJydIABLyAQoJaXBfcHJlZml4GB0gASgIQtwBwkjYAQpsChBzdHJpbmcuaXBfcHJlZml4Eh92YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSVAgcHJlZml4GjchcnVsZXMuaXBfcHJlZml4IHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwUHJlZml4KHRydWUpCmgKFnN0cmluZy5pcF9wcmVmaXhfZW1wdHkSLnZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBJUCBwcmVmaXgaHiFydWxlcy5pcF9wcmVmaXggfHwgdGhpcyAhPSAnJ0gAEoMCCgtpcHY0X3ByZWZpeBgeIAEoCELrAcJI5wEKdQoSc3RyaW5nLmlwdjRfcHJlZml4EiF2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSVB2NCBwcmVmaXgaPCFydWxlcy5pcHY0X3ByZWZpeCB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCg0LCB0cnVlKQpuChhzdHJpbmcuaXB2NF9wcmVmaXhfZW1wdHkSMHZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBJUHY0IHByZWZpeBogIXJ1bGVzLmlwdjRfcHJlZml4IHx8IHRoaXMgIT0gJydIABKDAgoLaXB2Nl9wcmVmaXgYHyABKAhC6wHCSOcBCnUKEnN0cmluZy5pcHY2X3ByZWZpeBIhdmFsdWUgbXVzdCBiZSBhIHZhbGlkIElQdjYgcHJlZml4GjwhcnVsZXMuaXB2Nl9wcmVmaXggfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzSXBQcmVmaXgoNiwgdHJ1ZSkKbgoYc3RyaW5nLmlwdjZfcHJlZml4X2VtcHR5EjB2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NiBwcmVmaXgaICFydWxlcy5pcHY2X3ByZWZpeCB8fCB0aGlzICE9ICcnSAAStQIKDWhvc3RfYW5kX3BvcnQYICABKAhCmwLCSJcCCpkBChRzdHJpbmcuaG9zdF9hbmRfcG9ydBJBdmFsdWUgbXVzdCBiZSBhIHZhbGlkIGhvc3QgKGhvc3RuYW1lIG9yIElQIGFkZHJlc3MpIGFuZCBwb3J0IHBhaXIaPiFydWxlcy5ob3N0X2FuZF9wb3J0IHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0hvc3RBbmRQb3J0KHRydWUpCnkKGnN0cmluZy5ob3N0X2FuZF9wb3J0X2VtcHR5Ejd2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgaG9zdCBhbmQgcG9ydCBwYWlyGiIhcnVsZXMuaG9zdF9hbmRfcG9ydCB8fCB0aGlzICE9ICcnSAASqAUKEHdlbGxfa25vd25fcmVnZXgYGCABKA4yGC5idWYudmFsaWRhdGUuS25vd25SZWdleELxBMJI7QQK8AEKI3N0cmluZy53ZWxsX2tub3duX3JlZ2V4LmhlYWRlcl9uYW1lEiZ2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSFRUUCBoZWFkZXIgbmFtZRqgAXJ1bGVzLndlbGxfa25vd25fcmVnZXggIT0gMSB8fCB0aGlzID09ICcnIHx8IHRoaXMubWF0Y2hlcyghaGFzKHJ1bGVzLnN0cmljdCkgfHwgcnVsZXMuc3RyaWN0ID8nXjo/WzAtOWEtekEtWiEjJCUmXCcqKy0uXl98flx4NjBdKyQnIDonXlteXHUwMDAwXHUwMDBBXHUwMDBEXSskJykKjQEKKXN0cmluZy53ZWxsX2tub3duX3JlZ2V4LmhlYWRlcl9uYW1lX2VtcHR5EjV2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSFRUUCBoZWFkZXIgbmFtZRopcnVsZXMud2VsbF9rbm93bl9yZWdleCAhPSAxIHx8IHRoaXMgIT0gJycK5wEKJHN0cmluZy53ZWxsX2tub3duX3JlZ2V4LmhlYWRlcl92YWx1ZRIndmFsdWUgbXVzdCBiZSBhIHZhbGlkIEhUVFAgaGVhZGVyIHZhbHVlGpUBcnVsZXMud2VsbF9rbm93bl9yZWdleCAhPSAyIHx8IHRoaXMubWF0Y2hlcyghaGFzKHJ1bGVzLnN0cmljdCkgfHwgcnVsZXMuc3RyaWN0ID8nXlteXHUwMDAwLVx1MDAwOFx1MDAwQS1cdTAwMUZcdTAwN0ZdKiQnIDonXlteXHUwMDAwXHUwMDBBXHUwMDBEXSokJylIABIOCgZzdHJpY3QYGSABKAgSLAoHZXhhbXBsZRgiIAMoCUIbwkgYChYKDnN0cmluZy5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCDAoKd2VsbF9rbm93biK/EAoKQnl0ZXNSdWxlcxJmCgVjb25zdBgBIAEoDEJXwkhUClIKC2J5dGVzLmNvbnN0GkN0aGlzICE9IHJ1bGVzLmNvbnN0ID8gJ3ZhbHVlIG11c3QgYmUgJXgnLmZvcm1hdChbcnVsZXMuY29uc3RdKSA6ICcnEngKA2xlbhgNIAEoBEJrwkhoCmYKCWJ5dGVzLmxlbhpZdWludCh0aGlzLnNpemUoKSkgIT0gcnVsZXMubGVuID8gJ3ZhbHVlIGxlbmd0aCBtdXN0IGJlICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLmxlbl0pIDogJycSkAEKB21pbl9sZW4YAiABKARCf8JIfAp6Cg1ieXRlcy5taW5fbGVuGml1aW50KHRoaXMuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9sZW4gPyAndmFsdWUgbGVuZ3RoIG11c3QgYmUgYXQgbGVhc3QgJXMgYnl0ZXMnLmZvcm1hdChbcnVsZXMubWluX2xlbl0pIDogJycSiAEKB21heF9sZW4YAyABKARCd8JIdApyCg1ieXRlcy5tYXhfbGVuGmF1aW50KHRoaXMuc2l6ZSgpKSA+IHJ1bGVzLm1heF9sZW4gPyAndmFsdWUgbXVzdCBiZSBhdCBtb3N0ICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLm1heF9sZW5dKSA6ICcnEpABCgdwYXR0ZXJuGAQgASgJQn/CSHwKegoNYnl0ZXMucGF0dGVybhppIXN0cmluZyh0aGlzKS5tYXRjaGVzKHJ1bGVzLnBhdHRlcm4pID8gJ3ZhbHVlIG11c3QgbWF0Y2ggcmVnZXggcGF0dGVybiBgJXNgJy5mb3JtYXQoW3J1bGVzLnBhdHRlcm5dKSA6ICcnEoEBCgZwcmVmaXgYBSABKAxCccJIbgpsCgxieXRlcy5wcmVmaXgaXCF0aGlzLnN0YXJ0c1dpdGgocnVsZXMucHJlZml4KSA/ICd2YWx1ZSBkb2VzIG5vdCBoYXZlIHByZWZpeCAleCcuZm9ybWF0KFtydWxlcy5wcmVmaXhdKSA6ICcnEn8KBnN1ZmZpeBgGIAEoDEJvwkhsCmoKDGJ5dGVzLnN1ZmZpeBpaIXRoaXMuZW5kc1dpdGgocnVsZXMuc3VmZml4KSA/ICd2YWx1ZSBkb2VzIG5vdCBoYXZlIHN1ZmZpeCAleCcuZm9ybWF0KFtydWxlcy5zdWZmaXhdKSA6ICcnEoMBCghjb250YWlucxgHIAEoDEJxwkhuCmwKDmJ5dGVzLmNvbnRhaW5zGlohdGhpcy5jb250YWlucyhydWxlcy5jb250YWlucykgPyAndmFsdWUgZG9lcyBub3QgY29udGFpbiAleCcuZm9ybWF0KFtydWxlcy5jb250YWluc10pIDogJycSlwEKAmluGAggAygMQooBwkiGAQqDAQoIYnl0ZXMuaW4ad2R5bihydWxlcylbJ2luJ10uc2l6ZSgpID4gMCAmJiAhKHRoaXMgaW4gZHluKHJ1bGVzKVsnaW4nXSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2R5bihydWxlcylbJ2luJ11dKSA6ICcnEnYKBm5vdF9pbhgJIAMoDEJmwkhjCmEKDGJ5dGVzLm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEusBCgJpcBgKIAEoCELcAcJI2AEKdAoIYnl0ZXMuaXASIHZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUCBhZGRyZXNzGkYhcnVsZXMuaXAgfHwgdGhpcy5zaXplKCkgPT0gMCB8fCB0aGlzLnNpemUoKSA9PSA0IHx8IHRoaXMuc2l6ZSgpID09IDE2CmAKDmJ5dGVzLmlwX2VtcHR5Ei92YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVAgYWRkcmVzcxodIXJ1bGVzLmlwIHx8IHRoaXMuc2l6ZSgpICE9IDBIABLkAQoEaXB2NBgLIAEoCELTAcJIzwEKZQoKYnl0ZXMuaXB2NBIidmFsdWUgbXVzdCBiZSBhIHZhbGlkIElQdjQgYWRkcmVzcxozIXJ1bGVzLmlwdjQgfHwgdGhpcy5zaXplKCkgPT0gMCB8fCB0aGlzLnNpemUoKSA9PSA0CmYKEGJ5dGVzLmlwdjRfZW1wdHkSMXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBJUHY0IGFkZHJlc3MaHyFydWxlcy5pcHY0IHx8IHRoaXMuc2l6ZSgpICE9IDBIABLlAQoEaXB2NhgMIAEoCELUAcJI0AEKZgoKYnl0ZXMuaXB2NhIidmFsdWUgbXVzdCBiZSBhIHZhbGlkIElQdjYgYWRkcmVzcxo0IXJ1bGVzLmlwdjYgfHwgdGhpcy5zaXplKCkgPT0gMCB8fCB0aGlzLnNpemUoKSA9PSAxNgpmChBieXRlcy5pcHY2X2VtcHR5EjF2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NiBhZGRyZXNzGh8hcnVsZXMuaXB2NiB8fCB0aGlzLnNpemUoKSAhPSAwSAASKwoHZXhhbXBsZRgOIAMoDEIawkgXChUKDWJ5dGVzLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkIMCgp3ZWxsX2tub3duIq8DCglFbnVtUnVsZXMSaAoFY29uc3QYASABKAVCWcJIVgpUCgplbnVtLmNvbnN0GkZ0aGlzICE9IHJ1bGVzLmNvbnN0ID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbcnVsZXMuY29uc3RdKSA6ICcnEhQKDGRlZmluZWRfb25seRgCIAEoCBJ0CgJpbhgDIAMoBUJowkhlCmMKB2VudW0uaW4aWCEodGhpcyBpbiBkeW4ocnVsZXMpWydpbiddKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZHluKHJ1bGVzKVsnaW4nXV0pIDogJycSdQoGbm90X2luGAQgAygFQmXCSGIKYAoLZW51bS5ub3RfaW4aUXRoaXMgaW4gcnVsZXMubm90X2luID8gJ3ZhbHVlIG11c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxIqCgdleGFtcGxlGAUgAygFQhnCSBYKFAoMZW51bS5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAIigQQKDVJlcGVhdGVkUnVsZXMSngEKCW1pbl9pdGVtcxgBIAEoBEKKAcJIhgEKgwEKEnJlcGVhdGVkLm1pbl9pdGVtcxptdWludCh0aGlzLnNpemUoKSkgPCBydWxlcy5taW5faXRlbXMgPyAndmFsdWUgbXVzdCBjb250YWluIGF0IGxlYXN0ICVkIGl0ZW0ocyknLmZvcm1hdChbcnVsZXMubWluX2l0ZW1zXSkgOiAnJxKiAQoJbWF4X2l0ZW1zGAIgASgEQo4BwkiKAQqHAQoScmVwZWF0ZWQubWF4X2l0ZW1zGnF1aW50KHRoaXMuc2l6ZSgpKSA+IHJ1bGVzLm1heF9pdGVtcyA/ICd2YWx1ZSBtdXN0IGNvbnRhaW4gbm8gbW9yZSB0aGFuICVzIGl0ZW0ocyknLmZvcm1hdChbcnVsZXMubWF4X2l0ZW1zXSkgOiAnJxJwCgZ1bmlxdWUYAyABKAhCYMJIXQpbCg9yZXBlYXRlZC51bmlxdWUSKHJlcGVhdGVkIHZhbHVlIG11c3QgY29udGFpbiB1bmlxdWUgaXRlbXMaHiFydWxlcy51bmlxdWUgfHwgdGhpcy51bmlxdWUoKRItCgVpdGVtcxgEIAEoCzIeLmJ1Zi52YWxpZGF0ZS5GaWVsZENvbnN0cmFpbnRzKgkI6AcQgICAgAIilgMKCE1hcFJ1bGVzEo8BCgltaW5fcGFpcnMYASABKARCfMJIeQp3Cg1tYXAubWluX3BhaXJzGmZ1aW50KHRoaXMuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9wYWlycyA/ICdtYXAgbXVzdCBiZSBhdCBsZWFzdCAlZCBlbnRyaWVzJy5mb3JtYXQoW3J1bGVzLm1pbl9wYWlyc10pIDogJycSjgEKCW1heF9wYWlycxgCIAEoBEJ7wkh4CnYKDW1hcC5tYXhfcGFpcnMaZXVpbnQodGhpcy5zaXplKCkpID4gcnVsZXMubWF4X3BhaXJzID8gJ21hcCBtdXN0IGJlIGF0IG1vc3QgJWQgZW50cmllcycuZm9ybWF0KFtydWxlcy5tYXhfcGFpcnNdKSA6ICcnEiwKBGtleXMYBCABKAsyHi5idWYudmFsaWRhdGUuRmllbGRDb25zdHJhaW50cxIuCgZ2YWx1ZXMYBSABKAsyHi5idWYudmFsaWRhdGUuRmllbGRDb25zdHJhaW50cyoJCOgHEICAgIACIiYKCEFueVJ1bGVzEgoKAmluGAIgAygJEg4KBm5vdF9pbhgDIAMoCSL1FgoNRHVyYXRpb25SdWxlcxKHAQoFY29uc3QYAiABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25CXcJIWgpYCg5kdXJhdGlvbi5jb25zdBpGdGhpcyAhPSBydWxlcy5jb25zdCA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW3J1bGVzLmNvbnN0XSkgOiAnJxKoAQoCbHQYAyABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25Cf8JIfAp6CgtkdXJhdGlvbi5sdBprIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABK6AQoDbHRlGAQgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQo8BwkiLAQqIAQoMZHVyYXRpb24ubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABLBBwoCZ3QYBSABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25ClwfCSJMHCn0KC2R1cmF0aW9uLmd0Gm4haGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwq2AQoOZHVyYXRpb24uZ3RfbHQaowFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCr4BChhkdXJhdGlvbi5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrGAQoPZHVyYXRpb24uZ3RfbHRlGrIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrOAQoZZHVyYXRpb24uZ3RfbHRlX2V4Y2x1c2l2ZRqwAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAESjQgKA2d0ZRgGIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkLiB8JI3gcKiwEKDGR1cmF0aW9uLmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsUBCg9kdXJhdGlvbi5ndGVfbHQasQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKzQEKGWR1cmF0aW9uLmd0ZV9sdF9leGNsdXNpdmUarwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCtUBChBkdXJhdGlvbi5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCt0BChpkdXJhdGlvbi5ndGVfbHRlX2V4Y2x1c2l2ZRq+AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARKTAQoCaW4YByADKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25CbMJIaQpnCgtkdXJhdGlvbi5pbhpYISh0aGlzIGluIGR5bihydWxlcylbJ2luJ10pID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtkeW4ocnVsZXMpWydpbiddXSkgOiAnJxKUAQoGbm90X2luGAggAygLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQmnCSGYKZAoPZHVyYXRpb24ubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSSQoHZXhhbXBsZRgJIAMoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkIdwkgaChgKEGR1cmF0aW9uLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIvgXCg5UaW1lc3RhbXBSdWxlcxKJAQoFY29uc3QYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQl7CSFsKWQoPdGltZXN0YW1wLmNvbnN0GkZ0aGlzICE9IHJ1bGVzLmNvbnN0ID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbcnVsZXMuY29uc3RdKSA6ICcnEqsBCgJsdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCgAHCSH0KewoMdGltZXN0YW1wLmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAErwBCgNsdGUYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQpABwkiMAQqJAQoNdGltZXN0YW1wLmx0ZRp4IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASbAoGbHRfbm93GAcgASgIQlrCSFcKVQoQdGltZXN0YW1wLmx0X25vdxpBKHJ1bGVzLmx0X25vdyAmJiB0aGlzID4gbm93KSA/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiBub3cnIDogJydIABLHBwoCZ3QYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQpwHwkiYBwp+Cgx0aW1lc3RhbXAuZ3QabiFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCrcBCg90aW1lc3RhbXAuZ3RfbHQaowFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCr8BChl0aW1lc3RhbXAuZ3RfbHRfZXhjbHVzaXZlGqEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKxwEKEHRpbWVzdGFtcC5ndF9sdGUasgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCs8BChp0aW1lc3RhbXAuZ3RfbHRlX2V4Y2x1c2l2ZRqwAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAESkwgKA2d0ZRgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBC5wfCSOMHCowBCg10aW1lc3RhbXAuZ3RlGnshaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKxgEKEHRpbWVzdGFtcC5ndGVfbHQasQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKzgEKGnRpbWVzdGFtcC5ndGVfbHRfZXhjbHVzaXZlGq8BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrWAQoRdGltZXN0YW1wLmd0ZV9sdGUawAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK3gEKG3RpbWVzdGFtcC5ndGVfbHRlX2V4Y2x1c2l2ZRq+AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJvCgZndF9ub3cYCCABKAhCXcJIWgpYChB0aW1lc3RhbXAuZ3Rfbm93GkQocnVsZXMuZ3Rfbm93ICYmIHRoaXMgPCBub3cpID8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG5vdycgOiAnJ0gBErgBCgZ3aXRoaW4YCSABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25CjAHCSIgBCoUBChB0aW1lc3RhbXAud2l0aGluGnF0aGlzIDwgbm93LXJ1bGVzLndpdGhpbiB8fCB0aGlzID4gbm93K3J1bGVzLndpdGhpbiA/ICd2YWx1ZSBtdXN0IGJlIHdpdGhpbiAlcyBvZiBub3cnLmZvcm1hdChbcnVsZXMud2l0aGluXSkgOiAnJxJLCgdleGFtcGxlGAogAygLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIewkgbChkKEXRpbWVzdGFtcC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiI5CgpWaW9sYXRpb25zEisKCnZpb2xhdGlvbnMYASADKAsyFy5idWYudmFsaWRhdGUuVmlvbGF0aW9uIqsBCglWaW9sYXRpb24SJgoFZmllbGQYBSABKAsyFy5idWYudmFsaWRhdGUuRmllbGRQYXRoEiUKBHJ1bGUYBiABKAsyFy5idWYudmFsaWRhdGUuRmllbGRQYXRoEhYKCmZpZWxkX3BhdGgYASABKAlCAhgBEhUKDWNvbnN0cmFpbnRfaWQYAiABKAkSDwoHbWVzc2FnZRgDIAEoCRIPCgdmb3Jfa2V5GAQgASgIIj0KCUZpZWxkUGF0aBIwCghlbGVtZW50cxgBIAMoCzIeLmJ1Zi52YWxpZGF0ZS5GaWVsZFBhdGhFbGVtZW50IukCChBGaWVsZFBhdGhFbGVtZW50EhQKDGZpZWxkX251bWJlchgBIAEoBRISCgpmaWVsZF9uYW1lGAIgASgJEj4KCmZpZWxkX3R5cGUYAyABKA4yKi5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG8uVHlwZRI8CghrZXlfdHlwZRgEIAEoDjIqLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90by5UeXBlEj4KCnZhbHVlX3R5cGUYBSABKA4yKi5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG8uVHlwZRIPCgVpbmRleBgGIAEoBEgAEhIKCGJvb2xfa2V5GAcgASgISAASEQoHaW50X2tleRgIIAEoA0gAEhIKCHVpbnRfa2V5GAkgASgESAASFAoKc3RyaW5nX2tleRgKIAEoCUgAQgsKCXN1YnNjcmlwdCqdAQoGSWdub3JlEhYKEklHTk9SRV9VTlNQRUNJRklFRBAAEhkKFUlHTk9SRV9JRl9VTlBPUFVMQVRFRBABEhsKF0lHTk9SRV9JRl9ERUZBVUxUX1ZBTFVFEAISEQoNSUdOT1JFX0FMV0FZUxADEhQKDElHTk9SRV9FTVBUWRABGgIIARIWCg5JR05PUkVfREVGQVVMVBACGgIIARoCEAEqbgoKS25vd25SZWdleBIbChdLTk9XTl9SRUdFWF9VTlNQRUNJRklFRBAAEiAKHEtOT1dOX1JFR0VYX0hUVFBfSEVBREVSX05BTUUQARIhCh1LTk9XTl9SRUdFWF9IVFRQX0hFQURFUl9WQUxVRRACOlwKB21lc3NhZ2USHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMYhwkgASgLMiAuYnVmLnZhbGlkYXRlLk1lc3NhZ2VDb25zdHJhaW50c1IHbWVzc2FnZTpUCgVvbmVvZhIdLmdvb2dsZS5wcm90b2J1Zi5PbmVvZk9wdGlvbnMYhwkgASgLMh4uYnVmLnZhbGlkYXRlLk9uZW9mQ29uc3RyYWludHNSBW9uZW9mOlQKBWZpZWxkEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxiHCSABKAsyHi5idWYudmFsaWRhdGUuRmllbGRDb25zdHJhaW50c1IFZmllbGQ6YwoKcHJlZGVmaW5lZBIdLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMYiAkgASgLMiMuYnVmLnZhbGlkYXRlLlByZWRlZmluZWRDb25zdHJhaW50c1IKcHJlZGVmaW5lZEJuChJidWlsZC5idWYudmFsaWRhdGVCDVZhbGlkYXRlUHJvdG9QAVpHYnVmLmJ1aWxkL2dlbi9nby9idWZidWlsZC9wcm90b3ZhbGlkYXRlL3Byb3RvY29sYnVmZmVycy9nby9idWYvdmFsaWRhdGU”,[ja,y0,_]),Dm=J(“CippMThuX3RlbXBsYXRlL3YxL2kxOG5fdGVtcGxhdGVfYWRtaW4ucHJvdG8SEGkxOG5fdGVtcGxhdGUudjEiHQobR2V0VGVtcGxhdGVGaWVsZEluZm9SZXF1ZXN0IlcKHEdldFRlbXBsYXRlRmllbGRJbmZvUmVzcG9uc2USNwoOdGFza190ZW1wbGF0ZXMYASADKAsyHy5pMThuX3RlbXBsYXRlLnYxLlRhc2tUZW1wbGF0ZXMicAoNVGFza1RlbXBsYXRlcxIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEjAKC2ZpZWxkX2luZm9zGAQgAygLMhsuaTE4bl90ZW1wbGF0ZS52MS5GaWVsZEluZm8icwoJRmllbGRJbmZvEhAKCGkxOG5fa2V5GAEgASgJEhIKCmkxOG5fdmFsdWUYAiABKAkSDAoEZGVzYxgDIAEoCRIWCg5uZWVkX3RyYW5zbGF0ZRgEIAEoCRIMCgR0eXBlGAUgASgJEgwKBGVudW0YBiABKAkiIgoRTWFya2V0aW5nQ2FyZExpbmsSDQoFdGl0bGUYASABKAkiigMKFk1hcmtldGluZ0NhcmRQb3B1cEZpdmUSDQoFdGl0bGUYASABKAkSEwoLcG9wdXBfdGl0bGUYAiABKAkSFAoMcGFnZV8xX3RpdGxlGAMgASgJEhoKEnBhZ2VfMV9kZXNjcmlwdGlvbhgEIAEoCRIUCgxwYWdlXzJfdGl0bGUYBSABKAkSGgoScGFnZV8yX2Rlc2NyaXB0aW9uGAYgASgJEhQKDHBhZ2VfM190aXRsZRgHIAEoCRIaChJwYWdlXzNfZGVzY3JpcHRpb24YCCABKAkSFAoMcGFnZV80X3RpdGxlGAkgASgJEhoKEnBhZ2VfNF9kZXNjcmlwdGlvbhgKIAEoCRIUCgxwYWdlXzVfdGl0bGUYCyABKAkSGgoScGFnZV81X2Rlc2NyaXB0aW9uGAwgASgJEhIKCmJ0bl8xX3RleHQYDSABKAkSFAoMYnRuXzFfcHJvbXB0GA4gASgJEhIKCmJ0bl8yX3RleHQYDyABKAkSFAoMYnRuXzJfcHJvbXB0GBAgASgJMpEBChhJMThuVGVtcGxhdGVBZG1pblNlcnZpY2USdQoUR2V0VGVtcGxhdGVGaWVsZEluZm8SLS5pMThuX3RlbXBsYXRlLnYxLkdldFRlbXBsYXRlRmllbGRJbmZvUmVxdWVzdBouLmkxOG5fdGVtcGxhdGUudjEuR2V0VGVtcGxhdGVGaWVsZEluZm9SZXNwb25zZULYAQoUY29tLmkxOG5fdGVtcGxhdGUudjFCFkkxOG5UZW1wbGF0ZUFkbWluUHJvdG9QAVpLZ2l0bGFiLm1vbmljYS5jbi92aWRhL3Nkay9iaXpzZXJ2ZXItZ28uZ2l0L2kxOG5fdGVtcGxhdGUvdjE7aTE4bl90ZW1wbGF0ZXYxogIDSVhYqgIPSTE4blRlbXBsYXRlLlYxygIPSTE4blRlbXBsYXRlXFYx4gIbSTE4blRlbXBsYXRlXFYxXEdQQk1ldGFkYXRh6gIQSTE4blRlbXBsYXRlOjpWMWIGcHJvdG8z”,[Re,Oa,Ue,_]),jm=Q(Dm,0),_m=J(“ChJmaWxlL3YxL2ZpbGUucHJvdG8SB2ZpbGUudjEiSgoOU2lnblVybFJlcXVlc3QSEAoIZmlsZW5hbWUYASABKAkSJgoGbW9kdWxlGAIgASgOMhYuZmlsZS52MS5QcmVTaWduTW9kdWxlIl4KD1NpZ25VcmxSZXNwb25zZRIUCgxwcmVfc2lnbl91cmwYASABKAkSEgoKb2JqZWN0X3VybBgCIAEoCRIPCgdjZG5fdXJsGAMgASgJEhAKCGZpbGVuYW1lGAQgASgJIjwKE0JhdGNoU2lnblVybFJlcXVlc3QSJQoEdXJscxgBIAMoCzIXLmZpbGUudjEuU2lnblVybFJlcXVlc3QiRwoUQmF0Y2hTaWduVXJsUmVzcG9uc2USLwoNc2lnbl91cmxfbGlzdBgBIAMoCzIYLmZpbGUudjEuU2lnblVybFJlc3BvbnNlKpYBCg1QcmVTaWduTW9kdWxlEh8KG1BSRV9TSUdOX01PRFVMRV9VTlNQRUNJRklFRBAAEiAKHFBSRV9TSUdOX01PRFVMRV9TRVNTSU9OX0ZJTEUQARIkCiBQUkVfU0lHTl9NT0RVTEVfU0VTU0lPTl9GRUVEQkFDSxACEhwKGFBSRV9TSUdOX01PRFVMRV9NQVJLRE9XThADMpgBCgtGaWxlU2VydmljZRI8CgdTaWduVXJsEhcuZmlsZS52MS5TaWduVXJsUmVxdWVzdBoYLmZpbGUudjEuU2lnblVybFJlc3BvbnNlEksKDEJhdGNoU2lnblVybBIcLmZpbGUudjEuQmF0Y2hTaWduVXJsUmVxdWVzdBodLmZpbGUudjEuQmF0Y2hTaWduVXJsUmVzcG9uc2VCkAEKC2NvbS5maWxlLnYxQglGaWxlUHJvdG9QAVo5Z2l0bGFiLm1vbmljYS5jbi92aWRhL3Nkay9iaXpzZXJ2ZXItZ28uZ2l0L2ZpbGUvdjE7ZmlsZXYxogIDRlhYqgIHRmlsZS5WMcoCB0ZpbGVcVjHiAhNGaWxlXFYxXEdQQk1ldGFkYXRh6gIIRmlsZTo6VjFiBnByb3RvMw”),Pm=Q(_m,0),Om=J(“ChhmaWxlL3YxL2FkbWluX2ZpbGUucHJvdG8SB2ZpbGUudjEiVAoTQWRtaW5TaWduVXJsUmVxdWVzdBIQCghmaWxlbmFtZRgBIAEoCRIrCgZtb2R1bGUYAiABKA4yGy5maWxlLnYxLkFkbWluUHJlU2lnbk1vZHVsZSJjChRBZG1pblNpZ25VcmxSZXNwb25zZRIUCgxwcmVfc2lnbl91cmwYASABKAkSEgoKb2JqZWN0X3VybBgCIAEoCRIPCgdjZG5fdXJsGAMgASgJEhAKCGZpbGVuYW1lGAQgASgJIkYKGEFkbWluQmF0Y2hTaWduVXJsUmVxdWVzdBIqCgR1cmxzGAEgAygLMhwuZmlsZS52MS5BZG1pblNpZ25VcmxSZXF1ZXN0IlEKGUFkbWluQmF0Y2hTaWduVXJsUmVzcG9uc2USNAoNc2lnbl91cmxfbGlzdBgBIAMoCzIdLmZpbGUudjEuQWRtaW5TaWduVXJsUmVzcG9uc2UqmAEKEkFkbWluUHJlU2lnbk1vZHVsZRIlCiFBRE1JTl9QUkVfU0lHTl9NT0RVTEVfVU5TUEVDSUZJRUQQABIuCipBRE1JTl9QUkVfU0lHTl9NT0RVTEVfQVBQX0hPTUVfUkVDT01NRU5ERUQQARIrCidBRE1JTl9QUkVfU0lHTl9NT0RVTEVfTk9USUZJQ0FUSU9OX0ZJTEUQAjK7AQoQQWRtaW5GaWxlU2VydmljZRJLCgxBZG1pblNpZ25VcmwSHC5maWxlLnYxLkFkbWluU2lnblVybFJlcXVlc3QaHS5maWxlLnYxLkFkbWluU2lnblVybFJlc3BvbnNlEloKEUFkbWluQmF0Y2hTaWduVXJsEiEuZmlsZS52MS5BZG1pbkJhdGNoU2lnblVybFJlcXVlc3QaIi5maWxlLnYxLkFkbWluQmF0Y2hTaWduVXJsUmVzcG9uc2VClQEKC2NvbS5maWxlLnYxQg5BZG1pbkZpbGVQcm90b1ABWjlnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvZmlsZS92MTtmaWxldjGiAgNGWFiqAgdGaWxlLlYxygIHRmlsZVxWMeICE0ZpbGVcVjFcR1BCTWV0YWRhdGHqAghGaWxlOjpWMWIGcHJvdG8z”),$m=Q(Om,0),qm=J(“Chpub3RpZmllci92MS9ub3RpZmllci5wcm90bxILbm90aWZpZXIudjEiKwoNTG9nb3V0UmVxdWVzdBIaCglkZXZpY2VfaWQYASABKAlCB7pIBHICEAEiEAoOTG9nb3V0UmVzcG9uc2UijAIKFVJlZ2lzdGVyRGV2aWNlUmVxdWVzdBIYCgd1c2VyX2lkGAEgASgJQge6SARyAhABEhoKCWRldmljZV9pZBgCIAEoCUIHukgEcgIQARIxCgtkZXZpY2VfdHlwZRgDIAEoCUIcukgZchdSB0JST1dTRVJSB0FORFJPSURSA0lPUxIYCgdvc190eXBlGAQgASgJQge6SARyAhABEhwKC2NsaWVudF90eXBlGAUgASgJQge6SARyAhABEh8KDmNsaWVudF92ZXJzaW9uGAYgASgJQge6SARyAhABEh4KDWNsaWVudF9sb2NhbGUYByABKAlCB7pIBHICEAESEQoJZmNtX3Rva2VuGAggASgJIhgKFlJlZ2lzdGVyRGV2aWNlUmVzcG9uc2UiNQoXRGVyZWdpc3RlckRldmljZVJlcXVlc3QSGgoJZGV2aWNlX2lkGAEgASgJQge6SARyAhABIhoKGERlcmVnaXN0ZXJEZXZpY2VSZXNwb25zZTKWAgoPTm90aWZpZXJTZXJ2aWNlElsKDlJlZ2lzdGVyRGV2aWNlEiIubm90aWZpZXIudjEuUmVnaXN0ZXJEZXZpY2VSZXF1ZXN0GiMubm90aWZpZXIudjEuUmVnaXN0ZXJEZXZpY2VSZXNwb25zZSIAEmEKEERlcmVnaXN0ZXJEZXZpY2USJC5ub3RpZmllci52MS5EZXJlZ2lzdGVyRGV2aWNlUmVxdWVzdBolLm5vdGlmaWVyLnYxLkRlcmVnaXN0ZXJEZXZpY2VSZXNwb25zZSIAEkMKBkxvZ291dBIaLm5vdGlmaWVyLnYxLkxvZ291dFJlcXVlc3QaGy5ub3RpZmllci52MS5Mb2dvdXRSZXNwb25zZSIAQrABCg9jb20ubm90aWZpZXIudjFCDU5vdGlmaWVyUHJvdG9QAVpBZ2l0bGFiLm1vbmljYS5jbi92aWRhL3Nkay9iaXpzZXJ2ZXItZ28uZ2l0L25vdGlmaWVyL3YxO25vdGlmaWVydjGiAgNOWFiqAgtOb3RpZmllci5WMcoCC05vdGlmaWVyXFYx4gIXTm90aWZpZXJcVjFcR1BCTWV0YWRhdGHqAgxOb3RpZmllcjo6VjFiBnByb3RvMw”,[Re]),eA=Q(qm,0),Xd=J(“Ch5ub3RpZmllci92MS9ub3RpZmljYXRpb24ucHJvdG8SC25vdGlmaWVyLnYxIuUBChBOb3RpZmljYXRpb25JdGVtEgsKA3VpZBgBIAEoCRI5CgZkZXRhaWwYAyADKAsyKS5ub3RpZmllci52MS5Ob3RpZmljYXRpb25JdGVtLkRldGFpbEVudHJ5EisKBHR5cGUYBCABKA4yHS5ub3RpZmllci52MS5Ob3RpZmljYXRpb25UeXBlEi0KCWNyZWF0ZV9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAaLQoLRGV0YWlsRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJeChpHZXROb3RpZmljYXRpb25MaXN0UmVxdWVzdBIXCgpsYXRlc3RfdWlkGAEgASgJSACIAQESGAoFbGltaXQYAiABKAVCCbpIBhoEGAooAUINCgtfbGF0ZXN0X3VpZCJ8ChtHZXROb3RpZmljYXRpb25MaXN0UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIrCgRkYXRhGAIgAygLMh0ubm90aWZpZXIudjEuTm90aWZpY2F0aW9uSXRlbRINCgV0b3RhbBgDIAEoAxIQCghoYXNfbmV4dBgEIAEoCCLxAQoWTm90aWZpY2F0aW9uSXRlbURldGFpbBINCgV0aXRsZRgBIAEoCRIPCgdjb250ZW50GAIgASgJEicKBmJ1dHRvbhgDIAEoCzIXLm5vdGlmaWVyLnYxLkJ1dHRvbkluZm8SJQoFbWVkaWEYBCABKAsyFi5ub3RpZmllci52MS5NZWRpYUluZm8SMQoMbW9iaWxlX21lZGlhGAUgASgLMhYubm90aWZpZXIudjEuTWVkaWFJbmZvSACIAQESIwoEZGF0YRgGIAMoCzIVLm5vdGlmaWVyLnYxLlBhZ2VEYXRhQg8KDV9tb2JpbGVfbWVkaWEiJgoIUGFnZURhdGESCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJIj8KCkJ1dHRvbkluZm8SEwoLYnV0dG9uX3RleHQYASABKAkSDAoEdHlwZRgCIAEoCRIOCgZ0YXJnZXQYAyABKAkiTAoJTWVkaWFJbmZvEgwKBHR5cGUYASABKAkSCwoDdXJsGAIgASgJEhYKCWNvdmVyX3VybBgDIAEoCUgAiAEBQgwKCl9jb3Zlcl91cmwisgEKEk5vdGlmaWNhdGlvbkl0ZW1WMhILCgN1aWQYASABKAkSMwoGZGV0YWlsGAMgASgLMiMubm90aWZpZXIudjEuTm90aWZpY2F0aW9uSXRlbURldGFpbBIrCgR0eXBlGAQgASgOMh0ubm90aWZpZXIudjEuTm90aWZpY2F0aW9uVHlwZRItCgljcmVhdGVfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIoABCh1HZXROb3RpZmljYXRpb25MaXN0UmVzcG9uc2VWMhIPCgdzdWNjZXNzGAEgASgIEi0KBGRhdGEYAiADKAsyHy5ub3RpZmllci52MS5Ob3RpZmljYXRpb25JdGVtVjISDQoFdG90YWwYAyABKAMSEAoIaGFzX25leHQYBCABKAgqgQEKEk5vdGlmaWNhdGlvblN0YXR1cxIjCh9OT1RJRklDQVRJT05fU1RBVFVTX1VOU1BFQ0lGSUVEEAASIQodTk9USUZJQ0FUSU9OX1NUQVRVU19QVUJMSVNIRUQQARIjCh9OT1RJRklDQVRJT05fU1RBVFVTX1VOUFVCTElTSEVEEAIqkgEKEE5vdGlmaWNhdGlvblR5cGUSIQodTk9USUZJQ0FUSU9OX1RZUEVfVU5TUEVDSUZJRUQQABIcChhOT1RJRklDQVRJT05fVFlQRV9TWVNURU0QARIaChZOT1RJRklDQVRJT05fVFlQRV9VU0VSEAISIQodTk9USUZJQ0FUSU9OX1RZUEVfTkVXX1ZFUlNJT04QAzLtAQoTTm90aWZpY2F0aW9uU2VydmljZRJoChNHZXROb3RpZmljYXRpb25MaXN0Eicubm90aWZpZXIudjEuR2V0Tm90aWZpY2F0aW9uTGlzdFJlcXVlc3QaKC5ub3RpZmllci52MS5HZXROb3RpZmljYXRpb25MaXN0UmVzcG9uc2USbAoVR2V0Tm90aWZpY2F0aW9uTGlzdFYyEicubm90aWZpZXIudjEuR2V0Tm90aWZpY2F0aW9uTGlzdFJlcXVlc3QaKi5ub3RpZmllci52MS5HZXROb3RpZmljYXRpb25MaXN0UmVzcG9uc2VWMkK0AQoPY29tLm5vdGlmaWVyLnYxQhFOb3RpZmljYXRpb25Qcm90b1ABWkFnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvbm90aWZpZXIvdjE7bm90aWZpZXJ2MaICA05YWKoCC05vdGlmaWVyLlYxygILTm90aWZpZXJcVjHiAhdOb3RpZmllclxWMVxHUEJNZXRhZGF0YeoCDE5vdGlmaWVyOjpWMWIGcHJvdG8z”,[Re,_]),tA=Q(Xd,0),nA=J(“CiRub3RpZmllci92MS9ub3RpZmljYXRpb25fYWRtaW4ucHJvdG8SC25vdGlmaWVyLnYxItwBCiBBZGROZXdWZXJzaW9uTm90aWZpY2F0aW9uUmVxdWVzdBINCgV0aXRsZRgBIAEoCRITCgt0ZW1wbGF0ZV9pZBgDIAEoCRJcChBwbGFjZWhvbGRlcl9kYXRhGAQgAygLMkIubm90aWZpZXIudjEuQWRkTmV3VmVyc2lvbk5vdGlmaWNhdGlvblJlcXVlc3QuUGxhY2Vob2xkZXJEYXRhRW50cnkaNgoUUGxhY2Vob2xkZXJEYXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASI0CiFBZGROZXdWZXJzaW9uTm90aWZpY2F0aW9uUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCKaAQofVXBkYXRlU3lzdGVtTm90aWZpY2F0aW9uUmVxdWVzdBIYChBub3RpZmljYXRpb25fdWlkGAEgASgJEjQKBnN0YXR1cxgCIAEoDjIfLm5vdGlmaWVyLnYxLk5vdGlmaWNhdGlvblN0YXR1c0gAiAEBEhIKBXRpdGxlGAMgASgJSAGIAQFCCQoHX3N0YXR1c0IICgZfdGl0bGUiMwogVXBkYXRlU3lzdGVtTm90aWZpY2F0aW9uUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCL3AQoVQWRtaW5Ob3RpZmljYXRpb25JdGVtEgsKA3VpZBgBIAEoCRINCgV0aXRsZRgCIAEoCRIMCgRkZXNjGAMgASgJEicKBmRldGFpbBgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSKwoEdHlwZRgFIAEoDjIdLm5vdGlmaWVyLnYxLk5vdGlmaWNhdGlvblR5cGUSLwoGc3RhdHVzGAYgASgOMh8ubm90aWZpZXIudjEuTm90aWZpY2F0aW9uU3RhdHVzEi0KCWNyZWF0ZV9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAi7gIKG1BhZ2VOb3RpZmljYXRpb25MaXN0UmVxdWVzdBIVCgRwYWdlGAEgASgFQge6SAQaAigBEhwKCXBhZ2Vfc2l6ZRgCIAEoBUIJukgGGgQYZCgBEj0KEW5vdGlmaWNhdGlvbl90eXBlGAMgASgOMh0ubm90aWZpZXIudjEuTm90aWZpY2F0aW9uVHlwZUgAiAEBEkEKE25vdGlmaWNhdGlvbl9zdGF0dXMYBCABKA4yHy5ub3RpZmllci52MS5Ob3RpZmljYXRpb25TdGF0dXNIAYgBARIdChBub3RpZmljYXRpb25fdWlkGAUgASgJSAKIAQESHwoSbm90aWZpY2F0aW9uX3RpdGxlGAYgASgJSAOIAQFCFAoSX25vdGlmaWNhdGlvbl90eXBlQhYKFF9ub3RpZmljYXRpb25fc3RhdHVzQhMKEV9ub3RpZmljYXRpb25fdWlkQhUKE19ub3RpZmljYXRpb25fdGl0bGUicAocUGFnZU5vdGlmaWNhdGlvbkxpc3RSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEjAKBGRhdGEYAiADKAsyIi5ub3RpZmllci52MS5BZG1pbk5vdGlmaWNhdGlvbkl0ZW0SDQoFdG90YWwYAyABKAMi1AEKHEFkZFN5c3RlbU5vdGlmaWNhdGlvblJlcXVlc3QSDQoFdGl0bGUYASABKAkSEwoLdGVtcGxhdGVfaWQYAyABKAkSWAoQcGxhY2Vob2xkZXJfZGF0YRgEIAMoCzI+Lm5vdGlmaWVyLnYxLkFkZFN5c3RlbU5vdGlmaWNhdGlvblJlcXVlc3QuUGxhY2Vob2xkZXJEYXRhRW50cnkaNgoUUGxhY2Vob2xkZXJEYXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASIwCh1BZGRTeXN0ZW1Ob3RpZmljYXRpb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIikKEkdldFRlbXBsYXRlUmVxdWVzdBITCgt0ZW1wbGF0ZV9pZBgBIAEoCSKJAQoTR2V0VGVtcGxhdGVSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEioKCWkxOG5fZGF0YRgCIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSNQoIdGVtcGxhdGUYBSABKAsyIy5ub3RpZmllci52MS5Ob3RpZmljYXRpb25JdGVtRGV0YWlsItkBChJBZGRUZW1wbGF0ZVJlcXVlc3QSDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRIqCglpMThuX2RhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EgsKA3VpZBgEIAEoCRI1Cgh0ZW1wbGF0ZRgFIAEoCzIjLm5vdGlmaWVyLnYxLk5vdGlmaWNhdGlvbkl0ZW1EZXRhaWwSMAoNdGVtcGxhdGVfdHlwZRgGIAEoDjIZLm5vdGlmaWVyLnYxLlRlbXBsYXRlVHlwZSKzAQoeQWRkTm90aWZpY2F0aW9uVGVtcGxhdGVSZXF1ZXN0EgwKBG5hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSKgoJaTE4bl9kYXRhGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBILCgN1aWQYBCABKAkSNQoIdGVtcGxhdGUYBSABKAsyIy5ub3RpZmllci52MS5Ob3RpZmljYXRpb25JdGVtRGV0YWlsIjsKE0FkZFRlbXBsYXRlUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBITCgt0ZW1wbGF0ZV9pZBgCIAEoCSKhAQoMVGVtcGxhdGVJdGVtEgsKA3VpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEioKCWkxOG5fZGF0YRgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSNQoIdGVtcGxhdGUYBSABKAsyIy5ub3RpZmllci52MS5Ob3RpZmljYXRpb25JdGVtRGV0YWlsIpsBChZHZXRUZW1wbGF0ZUxpc3RSZXF1ZXN0EhUKBHBhZ2UYASABKAVCB7pIBBoCKAESHAoJcGFnZV9zaXplGAIgASgFQgm6SAYaBBhkKAESEQoEbmFtZRgDIAEoCUgAiAEBEjAKDXRlbXBsYXRlX3R5cGUYBCABKA4yGS5ub3RpZmllci52MS5UZW1wbGF0ZVR5cGVCBwoFX25hbWUiYgoXR2V0VGVtcGxhdGVMaXN0UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBInCgRkYXRhGAIgAygLMhkubm90aWZpZXIudjEuVGVtcGxhdGVJdGVtEg0KBXRvdGFsGAMgASgDIu0SChBUZW1wbGF0ZUkxOG5EYXRhEjEKAmFyGAEgAygLMiUubm90aWZpZXIudjEuVGVtcGxhdGVJMThuRGF0YS5BckVudHJ5EjEKAmNzGAIgAygLMiUubm90aWZpZXIudjEuVGVtcGxhdGVJMThuRGF0YS5Dc0VudHJ5EjEKAmRlGAMgAygLMiUubm90aWZpZXIudjEuVGVtcGxhdGVJMThuRGF0YS5EZUVudHJ5EjEKAmVuGAQgAygLMiUubm90aWZpZXIudjEuVGVtcGxhdGVJMThuRGF0YS5FbkVudHJ5EjEKAmVzGAUgAygLMiUubm90aWZpZXIudjEuVGVtcGxhdGVJMThuRGF0YS5Fc0VudHJ5EjgKBmVzXzQxORgGIAMoCzIoLm5vdGlmaWVyLnYxLlRlbXBsYXRlSTE4bkRhdGEuRXM0MTlFbnRyeRIxCgJmYRgHIAMoCzIlLm5vdGlmaWVyLnYxLlRlbXBsYXRlSTE4bkRhdGEuRmFFbnRyeRIxCgJmchgIIAMoCzIlLm5vdGlmaWVyLnYxLlRlbXBsYXRlSTE4bkRhdGEuRnJFbnRyeRIxCgJoaRgJIAMoCzIlLm5vdGlmaWVyLnYxLlRlbXBsYXRlSTE4bkRhdGEuSGlFbnRyeRIxCgJpZBgKIAMoCzIlLm5vdGlmaWVyLnYxLlRlbXBsYXRlSTE4bkRhdGEuSWRFbnRyeRIxCgJpdBgLIAMoCzIlLm5vdGlmaWVyLnYxLlRlbXBsYXRlSTE4bkRhdGEuSXRFbnRyeRIxCgJqYRgMIAMoCzIlLm5vdGlmaWVyLnYxLlRlbXBsYXRlSTE4bkRhdGEuSmFFbnRyeRIxCgJrbxgNIAMoCzIlLm5vdGlmaWVyLnYxLlRlbXBsYXRlSTE4bkRhdGEuS29FbnRyeRIxCgJubBgOIAMoCzIlLm5vdGlmaWVyLnYxLlRlbXBsYXRlSTE4bkRhdGEuTmxFbnRyeRIxCgJwbBgPIAMoCzIlLm5vdGlmaWVyLnYxLlRlbXBsYXRlSTE4bkRhdGEuUGxFbnRyeRI2CgVwdF9CUhgQIAMoCzInLm5vdGlmaWVyLnYxLlRlbXBsYXRlSTE4bkRhdGEuUHRCUkVudHJ5EjYKBXB0X1BUGBEgAygLMicubm90aWZpZXIudjEuVGVtcGxhdGVJMThuRGF0YS5QdFBURW50cnkSMQoCcnUYEiADKAsyJS5ub3RpZmllci52MS5UZW1wbGF0ZUkxOG5EYXRhLlJ1RW50cnkSMQoCdGgYEyADKAsyJS5ub3RpZmllci52MS5UZW1wbGF0ZUkxOG5EYXRhLlRoRW50cnkSMQoCdHIYFCADKAsyJS5ub3RpZmllci52MS5UZW1wbGF0ZUkxOG5EYXRhLlRyRW50cnkSMQoCdWsYFSADKAsyJS5ub3RpZmllci52MS5UZW1wbGF0ZUkxOG5EYXRhLlVrRW50cnkSMQoCdmkYFiADKAsyJS5ub3RpZmllci52MS5UZW1wbGF0ZUkxOG5EYXRhLlZpRW50cnkSNgoFemhfQ04YFyADKAsyJy5ub3RpZmllci52MS5UZW1wbGF0ZUkxOG5EYXRhLlpoQ05FbnRyeRI2CgV6aF9ISxgYIAMoCzInLm5vdGlmaWVyLnYxLlRlbXBsYXRlSTE4bkRhdGEuWmhIS0VudHJ5EjYKBXpoX1RXGBkgAygLMicubm90aWZpZXIudjEuVGVtcGxhdGVJMThuRGF0YS5aaFRXRW50cnkaKQoHQXJFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGikKB0NzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARopCgdEZUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaKQoHRW5FbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGikKB0VzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARosCgpFczQxOUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaKQoHRmFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGikKB0ZyRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARopCgdIaUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaKQoHSWRFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGikKB0l0RW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARopCgdKYUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaKQoHS29FbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGikKB05sRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARopCgdQbEVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaKwoJUHRCUkVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaKwoJUHRQVEVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaKQoHUnVFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGikKB1RoRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARopCgdUckVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaKQoHVWtFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGikKB1ZpRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARorCglaaENORW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARorCglaaEhLRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARorCglaaFRXRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJECiREZWxldGVOb3RpZmljYXRpb25BbmRUZW1wbGF0ZVJlcXVlc3QSHAoLdGVtcGxhdGVfaWQYASABKAlCB7pIBHICEAEiOAolRGVsZXRlTm90aWZpY2F0aW9uQW5kVGVtcGxhdGVSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIKlsKDFRlbXBsYXRlVHlwZRIZChVURU1QTEFURV9UWVBFX1VOS05PV04QABIYChRURU1QTEFURV9UWVBFX1NZU1RFTRABEhYKElRFTVBMQVRFX1RZUEVfVVNFUhACMvYGChhOb3RpZmljYXRpb25BZG1pblNlcnZpY2USbgoVQWRkU3lzdGVtTm90aWZpY2F0aW9uEikubm90aWZpZXIudjEuQWRkU3lzdGVtTm90aWZpY2F0aW9uUmVxdWVzdBoqLm5vdGlmaWVyLnYxLkFkZFN5c3RlbU5vdGlmaWNhdGlvblJlc3BvbnNlEmoKE0dldE5vdGlmaWNhdGlvbkxpc3QSKC5ub3RpZmllci52MS5QYWdlTm90aWZpY2F0aW9uTGlzdFJlcXVlc3QaKS5ub3RpZmllci52MS5QYWdlTm90aWZpY2F0aW9uTGlzdFJlc3BvbnNlEncKGFVwZGF0ZVN5c3RlbU5vdGlmaWNhdGlvbhIsLm5vdGlmaWVyLnYxLlVwZGF0ZVN5c3RlbU5vdGlmaWNhdGlvblJlcXVlc3QaLS5ub3RpZmllci52MS5VcGRhdGVTeXN0ZW1Ob3RpZmljYXRpb25SZXNwb25zZRJ6ChlBZGROZXdWZXJzaW9uTm90aWZpY2F0aW9uEi0ubm90aWZpZXIudjEuQWRkTmV3VmVyc2lvbk5vdGlmaWNhdGlvblJlcXVlc3QaLi5ub3RpZmllci52MS5BZGROZXdWZXJzaW9uTm90aWZpY2F0aW9uUmVzcG9uc2USUAoLQWRkVGVtcGxhdGUSHy5ub3RpZmllci52MS5BZGRUZW1wbGF0ZVJlcXVlc3QaIC5ub3RpZmllci52MS5BZGRUZW1wbGF0ZVJlc3BvbnNlElwKD0dldFRlbXBsYXRlTGlzdBIjLm5vdGlmaWVyLnYxLkdldFRlbXBsYXRlTGlzdFJlcXVlc3QaJC5ub3RpZmllci52MS5HZXRUZW1wbGF0ZUxpc3RSZXNwb25zZRJQCgtHZXRUZW1wbGF0ZRIfLm5vdGlmaWVyLnYxLkdldFRlbXBsYXRlUmVxdWVzdBogLm5vdGlmaWVyLnYxLkdldFRlbXBsYXRlUmVzcG9uc2UShgEKHURlbGV0ZU5vdGlmaWNhdGlvbkFuZFRlbXBsYXRlEjEubm90aWZpZXIudjEuRGVsZXRlTm90aWZpY2F0aW9uQW5kVGVtcGxhdGVSZXF1ZXN0GjIubm90aWZpZXIudjEuRGVsZXRlTm90aWZpY2F0aW9uQW5kVGVtcGxhdGVSZXNwb25zZUK5AQoPY29tLm5vdGlmaWVyLnYxQhZOb3RpZmljYXRpb25BZG1pblByb3RvUAFaQWdpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC9ub3RpZmllci92MTtub3RpZmllcnYxogIDTlhYqgILTm90aWZpZXIuVjHKAgtOb3RpZmllclxWMeICF05vdGlmaWVyXFYxXEdQQk1ldGFkYXRh6gIMTm90aWZpZXI6OlYxYgZwcm90bzM”,[Re,_,Ue,Xd]),lA=Q(nA,0),iA=J(“ChZjb25maWcvdjEvY29uZmlnLnByb3RvEgljb25maWcudjEidAoJRTJCQ29uZmlnEhIKCmNsdXN0ZXJfaWQYASABKAkSEwoLZTJiX2FwaV9rZXkYAiABKAkSEgoKZTJiX2RvbWFpbhgDIAEoCRIOCgZ3ZWlnaHQYBSABKA0SGgoSbm9ybWFsX3VzZXJfd2VpZ2h0GAYgASgNIisKFUdldEJ5Q2x1c3RlcklEUmVxdWVzdBISCgpjbHVzdGVyX2lkGAEgASgJImoKFkdldEJ5Q2x1c3RlcklEUmVzcG9uc2USKAoKZTJiX2NvbmZpZxgBIAEoCzIULmNvbmZpZy52MS5FMkJDb25maWcSDwoHc3VjY2VzcxgCIAEoCBIVCg1lcnJvcl9tZXNzYWdlGAMgASgJIiwKE0dldEF2YWlsYWJsZVJlcXVlc3QSFQoNaXNfbWVtYmVyc2hpcBgBIAEoCCJoChRHZXRBdmFpbGFibGVSZXNwb25zZRIoCgplMmJfY29uZmlnGAEgASgLMhQuY29uZmlnLnYxLkUyQkNvbmZpZxIPCgdzdWNjZXNzGAIgASgIEhUKDWVycm9yX21lc3NhZ2UYAyABKAkiEAoOTGlzdEFsbFJlcXVlc3QiZAoPTGlzdEFsbFJlc3BvbnNlEikKC2UyYl9jb25maWdzGAEgAygLMhQuY29uZmlnLnYxLkUyQkNvbmZpZxIPCgdzdWNjZXNzGAIgASgIEhUKDWVycm9yX21lc3NhZ2UYAyABKAky/AEKEEUyQkNvbmZpZ1NlcnZpY2USVQoOR2V0QnlDbHVzdGVySUQSIC5jb25maWcudjEuR2V0QnlDbHVzdGVySURSZXF1ZXN0GiEuY29uZmlnLnYxLkdldEJ5Q2x1c3RlcklEUmVzcG9uc2USTwoMR2V0QXZhaWxhYmxlEh4uY29uZmlnLnYxLkdldEF2YWlsYWJsZVJlcXVlc3QaHy5jb25maWcudjEuR2V0QXZhaWxhYmxlUmVzcG9uc2USQAoHTGlzdEFsbBIZLmNvbmZpZy52MS5MaXN0QWxsUmVxdWVzdBoaLmNvbmZpZy52MS5MaXN0QWxsUmVzcG9uc2VCoAEKDWNvbS5jb25maWcudjFCC0NvbmZpZ1Byb3RvUAFaPWdpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC9jb25maWcvdjE7Y29uZmlndjGiAgNDWFiqAglDb25maWcuVjHKAglDb25maWdcVjHiAhVDb25maWdcVjFcR1BCTWV0YWRhdGHqAgpDb25maWc6OlYxYgZwcm90bzM”),oA=Q(iA,0),Id=J(“Ch9hY3Rpdml0eS92MS9hY3Rpdml0eV9iYXNlLnByb3RvEgthY3Rpdml0eS52MSKsAQoNVXNlckNvdW50SW5mbxINCgV0b3RhbBgBIAEoAxJBCgxkb21haW5fY291bnQYAiADKAsyKy5hY3Rpdml0eS52MS5Vc2VyQ291bnRJbmZvLkRvbWFpbkNvdW50RW50cnkSFQoNYmxvY2tlZF9jb3VudBgDIAEoAxoyChBEb21haW5Db3VudEVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoAzoCOAEixwQKFEFjdGl2aXR5T3JnYW5pemF0aW9uEgoKAmlkGAEgASgDEgsKA3VpZBgCIAEoCRIMCgRuYW1lGAMgASgJEg4KBmF2YXRhchgEIAEoCRINCgV0aXRsZRgFIAEoCRITCgtkZXNjcmlwdGlvbhgGIAEoCRIvCghvcmdfdHlwZRgHIAEoDjIdLmFjdGl2aXR5LnYxLk9yZ2FuaXphdGlvblR5cGUSIwoGc3RhdHVzGAggASgOMhMuYWN0aXZpdHkudjEuU3RhdHVzEh4KFnJlY29tbWVuZF91c2VjYXNlX2xpc3QYCSADKAkSGQoRZW1haWxfZG9tYWluX2xpc3QYCiADKAkSDgoGbG9jYWxlGAsgASgJEhIKCmV4dHJhX2RhdGEYDSABKAkSEwoLdW5pcXVlX25hbWUYDiABKAkSLgoKY3JlYXRlZF9hdBgPIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgQIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKZGVsZXRlZF9hdBgRIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEgoKdXNlcl90b3RhbBgSIAEoAxIZChFyZWNvbW1lbmRfY3JlZGl0cxgTIAEoBRIYChByZWdpc3Rlcl9jcmVkaXRzGBQgASgFEg8KB2NvdW50cnkYFSABKAkSDAoEY2l0eRgWIAEoCRISCgphbGlhc19saXN0GBcgAygJItgBChNBY3Rpdml0eUVtYWlsRG9tYWluEgoKAmlkGAEgASgDEg8KB29yZ191aWQYAiABKAkSFAoMZW1haWxfZG9tYWluGAMgASgJEi4KCmNyZWF0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCmRlbGV0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIv4BCgxBY3Rpdml0eVVzZXISCgoCaWQYASABKAMSDwoHb3JnX3VpZBgCIAEoCRIPCgd1c2VyX2lkGAMgASgJEjAKDWFjdGl2aXR5X3R5cGUYBCABKA4yGS5hY3Rpdml0eS52MS5BY3Rpdml0eVR5cGUSLgoKY3JlYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKZGVsZXRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAigwQKEEFjdGl2aXR5VXNlckluZm8SDwoHdXNlcl9pZBgBIAEoCRINCgVlbWFpbBgCIAEoCRIRCglmaXJzdG5hbWUYAyABKAkSEAoIbGFzdG5hbWUYBCABKAkSEwoLZGlzcGxheW5hbWUYBSABKAkSEAoIbmlja25hbWUYBiABKAkSDgoGYXZhdGFyGAcgASgJEhAKCGlzX2FscGhhGAggASgIEhMKC2luX3dhaXRsaXN0GAkgASgIEhMKC3ZpcF92ZXJzaW9uGAogASgJEhQKDHZpcF9pbnRlcnZhbBgLIAEoCRIaChJjdXJyZW50X3BlcmlvZF9lbmQYDCABKAMSHAoUY2FuY2VsX2F0X3BlcmlvZF9lbmQYDSABKAgSDwoHaXNfYmV0YRgOIAEoCBIYChBwYXltZW50X3BsYXRmb3JtGA8gASgJEgsKA3VpZBgQIAEoCRIbChNjb25jdXJyZW50X3Nlc3Npb25zGBEgASgFEhUKDXBsYXRmb3JtX2xpc3QYEiADKAkSGgoSbWVtYmVyc2hpcF92ZXJzaW9uGB4gASgJEhsKE21lbWJlcnNoaXBfaW50ZXJ2YWwYHyABKAkSEgoKaXNfYmxvY2tlZBggIAEoCBIuCgpjcmVhdGVkX2F0GCMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKXAQobTGlzdE9yZ2FuaXphdGlvblVzZXJSZXF1ZXN0EgwKBHBhZ2UYASABKAUSEQoJcGFnZV9zaXplGAIgASgFEhQKB29yZ191aWQYAyABKAlIAIgBARIRCgR1c2VyGAQgASgJSAGIAQESGQoRZW1haWxfZG9tYWluX2xpc3QYBSADKAlCCgoIX29yZ191aWRCBwoFX3VzZXIiWgocTGlzdE9yZ2FuaXphdGlvblVzZXJSZXNwb25zZRINCgV0b3RhbBgBIAEoBRIrCgRsaXN0GAIgAygLMh0uYWN0aXZpdHkudjEuQWN0aXZpdHlVc2VySW5mbyKgAwofTGlzdEFjdGl2aXR5T3JnYW5pemF0aW9uUmVxdWVzdBIMCgRwYWdlGAEgASgFEhEKCXBhZ2Vfc2l6ZRgCIAEoBRIPCgJpZBgDIAEoA0gAiAEBEhAKA3VpZBgEIAEoCUgBiAEBEhEKBG5hbWUYBSABKAlIAogBARI0CghvcmdfdHlwZRgGIAEoDjIdLmFjdGl2aXR5LnYxLk9yZ2FuaXphdGlvblR5cGVIA4gBARITCgZsb2NhbGUYByABKAlIBIgBARIZCgxlbWFpbF9kb21haW4YCCABKAlIBYgBARIoCgZzdGF0dXMYCSABKA4yEy5hY3Rpdml0eS52MS5TdGF0dXNIBogBARIUCgdrZXl3b3JkGAogASgJSAeIAQESGAoLdW5pcXVlX25hbWUYCyABKAlICIgBAUIFCgNfaWRCBgoEX3VpZEIHCgVfbmFtZUILCglfb3JnX3R5cGVCCQoHX2xvY2FsZUIPCg1fZW1haWxfZG9tYWluQgkKB19zdGF0dXNCCgoIX2tleXdvcmRCDgoMX3VuaXF1ZV9uYW1lImIKIExpc3RBY3Rpdml0eU9yZ2FuaXphdGlvblJlc3BvbnNlEg0KBXRvdGFsGAEgASgFEi8KBGRhdGEYAiADKAsyIS5hY3Rpdml0eS52MS5BY3Rpdml0eU9yZ2FuaXphdGlvbipNCgxBY3Rpdml0eVR5cGUSHQoZQUNUSVZJVFlfVFlQRV9VTlNQRUNJRklFRBAAEh4KGkFDVElWSVRZX1RZUEVfT1JHQU5JWkFUSU9OEAEqkwEKEE9yZ2FuaXphdGlvblR5cGUSIQodT1JHQU5JWkFUSU9OX1RZUEVfVU5TUEVDSUZJRUQQABIdChlPUkdBTklaQVRJT05fVFlQRV9DT01QQU5ZEAESHAoYT1JHQU5JWkFUSU9OX1RZUEVfU0NIT09MEAISHwobT1JHQU5JWkFUSU9OX1RZUEVfQ09NTVVOSVRZEAMqSAoGU3RhdHVzEhYKElNUQVRVU19VTlNQRUNJRklFRBAAEhEKDVNUQVRVU19BQ1RJVkUQARITCg9TVEFUVVNfSU5BQ1RJVkUQAipiCg9Vc2VyQmxvY2tlZFR5cGUSHAoYQkxPQ0tFRF9UWVBFX1VOU1BFQ0lGSUVEEAASGAoUQkxPQ0tFRF9UWVBFX0FDQ09VTlQQARIXChNCTE9DS0VEX1RZUEVfU0hVVFVQEAJCtAEKD2NvbS5hY3Rpdml0eS52MUIRQWN0aXZpdHlCYXNlUHJvdG9QAVpBZ2l0bGFiLm1vbmljYS5jbi92aWRhL3Nkay9iaXpzZXJ2ZXItZ28uZ2l0L2FjdGl2aXR5L3YxO2FjdGl2aXR5djGiAgNBWFiqAgtBY3Rpdml0eS5WMcoCC0FjdGl2aXR5XFYx4gIXQWN0aXZpdHlcVjFcR1BCTWV0YWRhdGHqAgxBY3Rpdml0eTo6VjFiBnByb3RvMw”,[Ue,_]),rA=J(“ChphY3Rpdml0eS92MS9hY3Rpdml0eS5wcm90bxILYWN0aXZpdHkudjEiMgofR2V0T3JnYW5pemF0aW9uSW5mb0J5VUlEUmVxdWVzdBIPCgdvcmdfdWlkGAEgASgJIlcKIEdldE9yZ2FuaXphdGlvbkluZm9CeVVJRFJlc3BvbnNlEjMKCG9yZ19pbmZvGAEgASgLMiEuYWN0aXZpdHkudjEuQWN0aXZpdHlPcmdhbml6YXRpb24iMgohR2V0T3JnYW5pemF0aW9uSW5mb0J5RW1haWxSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJIlkKIkdldE9yZ2FuaXphdGlvbkluZm9CeUVtYWlsUmVzcG9uc2USMwoIb3JnX2luZm8YASABKAsyIS5hY3Rpdml0eS52MS5BY3Rpdml0eU9yZ2FuaXphdGlvbiI9CiZHZXRPcmdhbml6YXRpb25JbmZvQnlVbmlxdWVOYW1lUmVxdWVzdBITCgt1bmlxdWVfbmFtZRgBIAEoCSJeCidHZXRPcmdhbml6YXRpb25JbmZvQnlVbmlxdWVOYW1lUmVzcG9uc2USMwoIb3JnX2luZm8YASABKAsyIS5hY3Rpdml0eS52MS5BY3Rpdml0eU9yZ2FuaXphdGlvbjKXBAoVUHVibGljQWN0aXZpdHlTZXJ2aWNlEncKGEdldE9yZ2FuaXphdGlvbkluZm9CeVVJRBIsLmFjdGl2aXR5LnYxLkdldE9yZ2FuaXphdGlvbkluZm9CeVVJRFJlcXVlc3QaLS5hY3Rpdml0eS52MS5HZXRPcmdhbml6YXRpb25JbmZvQnlVSURSZXNwb25zZRJ3ChhMaXN0QWN0aXZpdHlPcmdhbml6YXRpb24SLC5hY3Rpdml0eS52MS5MaXN0QWN0aXZpdHlPcmdhbml6YXRpb25SZXF1ZXN0Gi0uYWN0aXZpdHkudjEuTGlzdEFjdGl2aXR5T3JnYW5pemF0aW9uUmVzcG9uc2USfQoaR2V0T3JnYW5pemF0aW9uSW5mb0J5RW1haWwSLi5hY3Rpdml0eS52MS5HZXRPcmdhbml6YXRpb25JbmZvQnlFbWFpbFJlcXVlc3QaLy5hY3Rpdml0eS52MS5HZXRPcmdhbml6YXRpb25JbmZvQnlFbWFpbFJlc3BvbnNlEowBCh9HZXRPcmdhbml6YXRpb25JbmZvQnlVbmlxdWVOYW1lEjMuYWN0aXZpdHkudjEuR2V0T3JnYW5pemF0aW9uSW5mb0J5VW5pcXVlTmFtZVJlcXVlc3QaNC5hY3Rpdml0eS52MS5HZXRPcmdhbml6YXRpb25JbmZvQnlVbmlxdWVOYW1lUmVzcG9uc2VCsAEKD2NvbS5hY3Rpdml0eS52MUINQWN0aXZpdHlQcm90b1ABWkFnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvYWN0aXZpdHkvdjE7YWN0aXZpdHl2MaICA0FYWKoCC0FjdGl2aXR5LlYxygILQWN0aXZpdHlcVjHiAhdBY3Rpdml0eVxWMVxHUEJNZXRhZGF0YeoCDEFjdGl2aXR5OjpWMWIGcHJvdG8z”,[Id,Ue,_]),cA=Q(rA,0),aA=J(“CiBhY3Rpdml0eS92MS9hY3Rpdml0eV9hZG1pbi5wcm90bxILYWN0aXZpdHkudjEilAUKIVVwZGF0ZUFjdGl2aXR5T3JnYW5pemF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoAxIYCgt1bmlxdWVfbmFtZRgCIAEoCUgAiAEBEhEKBG5hbWUYAyABKAlIAYgBARI0CghvcmdfdHlwZRgEIAEoDjIdLmFjdGl2aXR5LnYxLk9yZ2FuaXphdGlvblR5cGVIAogBARITCgZsb2NhbGUYBSABKAlIA4gBARISCgV0aXRsZRgGIAEoCUgEiAEBEhgKC2Rlc2NyaXB0aW9uGAcgASgJSAWIAQESEwoGYXZhdGFyGAggASgJSAaIAQESGQoRZW1haWxfZG9tYWluX2xpc3QYCSADKAkSKAoGc3RhdHVzGAogASgOMhMuYWN0aXZpdHkudjEuU3RhdHVzSAeIAQESHgoWcmVjb21tZW5kX3VzZWNhc2VfbGlzdBgLIAMoCRIXCgpleHRyYV9kYXRhGAwgASgJSAiIAQESHgoRcmVjb21tZW5kX2NyZWRpdHMYDSABKAVICYgBARIdChByZWdpc3Rlcl9jcmVkaXRzGA4gASgFSAqIAQESFAoHY291bnRyeRgPIAEoCUgLiAEBEhEKBGNpdHkYECABKAlIDIgBARISCgphbGlhc19saXN0GBEgAygJQg4KDF91bmlxdWVfbmFtZUIHCgVfbmFtZUILCglfb3JnX3R5cGVCCQoHX2xvY2FsZUIICgZfdGl0bGVCDgoMX2Rlc2NyaXB0aW9uQgkKB19hdmF0YXJCCQoHX3N0YXR1c0INCgtfZXh0cmFfZGF0YUIUChJfcmVjb21tZW5kX2NyZWRpdHNCEwoRX3JlZ2lzdGVyX2NyZWRpdHNCCgoIX2NvdW50cnlCBwoFX2NpdHkiRgoiVXBkYXRlQWN0aXZpdHlPcmdhbml6YXRpb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkipwMKIUNyZWF0ZUFjdGl2aXR5T3JnYW5pemF0aW9uUmVxdWVzdBITCgt1bmlxdWVfbmFtZRgBIAEoCRIMCgRuYW1lGAIgASgJEhMKBmF2YXRhchgDIAEoCUgAiAEBEg0KBXRpdGxlGAQgASgJEhMKC2Rlc2NyaXB0aW9uGAUgASgJEi8KCG9yZ190eXBlGAYgASgOMh0uYWN0aXZpdHkudjEuT3JnYW5pemF0aW9uVHlwZRIjCgZzdGF0dXMYByABKA4yEy5hY3Rpdml0eS52MS5TdGF0dXMSHgoWcmVjb21tZW5kX3VzZWNhc2VfbGlzdBgIIAMoCRIZChFlbWFpbF9kb21haW5fbGlzdBgJIAMoCRIOCgZsb2NhbGUYCiABKAkSEgoKZXh0cmFfZGF0YRgLIAEoCRIZChFyZWNvbW1lbmRfY3JlZGl0cxgMIAEoBRIYChByZWdpc3Rlcl9jcmVkaXRzGA0gASgFEg8KB2NvdW50cnkYDiABKAkSDAoEY2l0eRgPIAEoCRISCgphbGlhc19saXN0GBAgAygJQgkKB19hdmF0YXIidwoiQ3JlYXRlQWN0aXZpdHlPcmdhbml6YXRpb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSLwoEZGF0YRgDIAEoCzIhLmFjdGl2aXR5LnYxLkFjdGl2aXR5T3JnYW5pemF0aW9uIh4KEERlbGV0ZU9yZ1JlcXVlc3QSCgoCaWQYASABKAMiNAoQRGVsZXRlT3JnUmVzb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkiLQoaR2V0T3JnVXNlckNvdW50SW5mb1JlcXVlc3QSDwoHb3JnX3VpZBgBIAEoCSLeAQobR2V0T3JnVXNlckNvdW50SW5mb1Jlc3BvbnNlEg0KBXRvdGFsGAEgASgDEk8KDGRvbWFpbl9jb3VudBgCIAMoCzI5LmFjdGl2aXR5LnYxLkdldE9yZ1VzZXJDb3VudEluZm9SZXNwb25zZS5Eb21haW5Db3VudEVudHJ5EhUKDWJsb2NrZWRfY291bnQYAyABKAMSFAoMYWN0aXZlX2NvdW50GAQgASgDGjIKEERvbWFpbkNvdW50RW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgDOgI4ASIpChZJbXBvcnREYXRhQnlDc3ZSZXF1ZXN0Eg8KB2Nzdl9zdHIYASABKAkifQoXSW1wb3J0RGF0YUJ5Q3N2UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEhUKDXN1Y2Nlc3NfY291bnQYBCABKAMSFAoMZmFpbGVkX2NvdW50GAUgASgDEhMKC2ZhaWxlZF9saXN0GAYgAygJMo0GChRBY3Rpdml0eUFkbWluU2VydmljZRJ3ChhMaXN0QWN0aXZpdHlPcmdhbml6YXRpb24SLC5hY3Rpdml0eS52MS5MaXN0QWN0aXZpdHlPcmdhbml6YXRpb25SZXF1ZXN0Gi0uYWN0aXZpdHkudjEuTGlzdEFjdGl2aXR5T3JnYW5pemF0aW9uUmVzcG9uc2USfQoaVXBkYXRlQWN0aXZpdHlPcmdhbml6YXRpb24SLi5hY3Rpdml0eS52MS5VcGRhdGVBY3Rpdml0eU9yZ2FuaXphdGlvblJlcXVlc3QaLy5hY3Rpdml0eS52MS5VcGRhdGVBY3Rpdml0eU9yZ2FuaXphdGlvblJlc3BvbnNlEn0KGkNyZWF0ZUFjdGl2aXR5T3JnYW5pemF0aW9uEi4uYWN0aXZpdHkudjEuQ3JlYXRlQWN0aXZpdHlPcmdhbml6YXRpb25SZXF1ZXN0Gi8uYWN0aXZpdHkudjEuQ3JlYXRlQWN0aXZpdHlPcmdhbml6YXRpb25SZXNwb25zZRJrChRMaXN0T3JnYW5pemF0aW9uVXNlchIoLmFjdGl2aXR5LnYxLkxpc3RPcmdhbml6YXRpb25Vc2VyUmVxdWVzdBopLmFjdGl2aXR5LnYxLkxpc3RPcmdhbml6YXRpb25Vc2VyUmVzcG9uc2USaAoTR2V0T3JnVXNlckNvdW50SW5mbxInLmFjdGl2aXR5LnYxLkdldE9yZ1VzZXJDb3VudEluZm9SZXF1ZXN0GiguYWN0aXZpdHkudjEuR2V0T3JnVXNlckNvdW50SW5mb1Jlc3BvbnNlEkkKCURlbGV0ZU9yZxIdLmFjdGl2aXR5LnYxLkRlbGV0ZU9yZ1JlcXVlc3QaHS5hY3Rpdml0eS52MS5EZWxldGVPcmdSZXNvbnNlElwKD0ltcG9ydERhdGFCeUNzdhIjLmFjdGl2aXR5LnYxLkltcG9ydERhdGFCeUNzdlJlcXVlc3QaJC5hY3Rpdml0eS52MS5JbXBvcnREYXRhQnlDc3ZSZXNwb25zZUK1AQoPY29tLmFjdGl2aXR5LnYxQhJBY3Rpdml0eUFkbWluUHJvdG9QAVpBZ2l0bGFiLm1vbmljYS5jbi92aWRhL3Nkay9iaXpzZXJ2ZXItZ28uZ2l0L2FjdGl2aXR5L3YxO2FjdGl2aXR5djGiAgNBWFiqAgtBY3Rpdml0eS5WMcoCC0FjdGl2aXR5XFYx4gIXQWN0aXZpdHlcVjFcR1BCTWV0YWRhdGHqAgxBY3Rpdml0eTo6VjFiBnByb3RvMw”,[Id,Ue,_]),dA=Q(aA,0),Rd=J(“CiNsaXZlX2V2ZW50L3YxL2xpdmVfZXZlbnRfYmFzZS5wcm90bxINbGl2ZV9ldmVudC52MSptCg1QdWJsaXNoU3RhdHVzEh4KGlBVQkxJU0hfU1RBVFVTX1VOU1BFQ0lGSUVEEAASHgoaUFVCTElTSF9TVEFUVVNfVU5QVUJMSVNIRUQQARIcChhQVUJMSVNIX1NUQVRVU19QVUJMSVNIRUQQAkK/AQoRY29tLmxpdmVfZXZlbnQudjFCEkxpdmVFdmVudEJhc2VQcm90b1ABWkVnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvbGl2ZV9ldmVudC92MTtsaXZlX2V2ZW50djGiAgNMWFiqAgxMaXZlRXZlbnQuVjHKAgxMaXZlRXZlbnRcVjHiAhhMaXZlRXZlbnRcVjFcR1BCTWV0YWRhdGHqAg1MaXZlRXZlbnQ6OlYxYgZwcm90bzM”),sA=J(“CiRsaXZlX2V2ZW50L3YxL2xpdmVfZXZlbnRfYWRtaW4ucHJvdG8SDWxpdmVfZXZlbnQudjEirAMKEkNyZWF0ZUV2ZW50UmVxdWVzdBIQCghldmVudF9pZBgBIAEoCRISCgpldmVudF9uYW1lGAIgASgJEgwKBGhvc3QYAyABKAkSLgoKc3RhcnRfdGltZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLAoIZW5kX3RpbWUYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg8KB2NvdW50cnkYBiABKAkSDgoGcmVnaW9uGAcgASgJEg8KB2FkZHJlc3MYCCABKAkSHwoXYWxsb3dfZnJlZV9yZWdpc3RyYXRpb24YCSABKAgSIQoZZ2l2ZV90ZW1wb3JhcnlfbWVtYmVyc2hpcBgKIAEoCBIUCgxmcmVlX2NyZWRpdHMYCyABKAUSFQoNZXZlbnRfY3JlZGl0cxgMIAEoBRIYChBtYXhfcGFydGljaXBhbnRzGA0gASgFEhgKEGdpZnRfaW52aXRlX2NvZGUYDiABKAUSFwoPY291bnRyeV9kaXNwbGF5GA8gASgJEhQKDGNpdHlfZGlzcGxheRgQIAEoCSIVChNDcmVhdGVFdmVudFJlc3BvbnNlIu4DChJVcGRhdGVFdmVudFJlcXVlc3QSCgoCaWQYASABKAUSEAoIZXZlbnRfaWQYAiABKAkSEgoKZXZlbnRfbmFtZRgDIAEoCRIMCgRob3N0GAQgASgJEi4KCnN0YXJ0X3RpbWUYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiwKCGVuZF90aW1lGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIPCgdjb3VudHJ5GAcgASgJEg4KBnJlZ2lvbhgIIAEoCRIPCgdhZGRyZXNzGAkgASgJEh8KF2FsbG93X2ZyZWVfcmVnaXN0cmF0aW9uGAogASgIEiEKGWdpdmVfdGVtcG9yYXJ5X21lbWJlcnNoaXAYCyABKAgSFAoMZnJlZV9jcmVkaXRzGAwgASgFEhUKDWV2ZW50X2NyZWRpdHMYDSABKAUSGAoQbWF4X3BhcnRpY2lwYW50cxgOIAEoBRI0Cg5wdWJsaXNoX3N0YXR1cxgPIAEoDjIcLmxpdmVfZXZlbnQudjEuUHVibGlzaFN0YXR1cxIYChBnaWZ0X2ludml0ZV9jb2RlGBAgASgFEhcKD2NvdW50cnlfZGlzcGxheRgRIAEoCRIUCgxjaXR5X2Rpc3BsYXkYEiABKAkiFQoTVXBkYXRlRXZlbnRSZXNwb25zZSJyChFMaXN0RXZlbnRzUmVxdWVzdBIQCghldmVudF9pZBgBIAEoCRIqCgZzdGF0dXMYAiABKA4yGi5saXZlX2V2ZW50LnYxLkV2ZW50U3RhdHVzEgwKBHBhZ2UYAyABKAUSEQoJcGFnZV9zaXplGAQgASgFIk0KEkxpc3RFdmVudHNSZXNwb25zZRIoCgZldmVudHMYASADKAsyGC5saXZlX2V2ZW50LnYxLkV2ZW50SW5mbxINCgV0b3RhbBgCIAEoBSImChJEZWxldGVFdmVudFJlcXVlc3QSEAoIZXZlbnRfaWQYASABKAkiJgoTRGVsZXRlRXZlbnRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIisKF0dldEV2ZW50T3ZlcnZpZXdSZXF1ZXN0EhAKCGV2ZW50X2lkGAEgASgJIpoBChhHZXRFdmVudE92ZXJ2aWV3UmVzcG9uc2USGgoSdG90YWxfcGFydGljaXBhbnRzGAEgASgFEhYKDm5ld191c2VyX2NvdW50GAIgASgFEhsKE2V4aXN0aW5nX3VzZXJfY291bnQYAyABKAUSFQoNc2Vzc2lvbl9jb3VudBgEIAEoBRIWCg5jcmVkaXRzX2Nvc3RlZBgFIAEoBSJsChVMaXN0RXZlbnRVc2Vyc1JlcXVlc3QSEAoIZXZlbnRfaWQYASABKAkSFAoHdXNlcl9pZBgCIAEoCUgAiAEBEgwKBHBhZ2UYAyABKAUSEQoJcGFnZV9zaXplGAQgASgFQgoKCF91c2VyX2lkIlAKFkxpc3RFdmVudFVzZXJzUmVzcG9uc2USJwoFdXNlcnMYASADKAsyGC5saXZlX2V2ZW50LnYxLkV2ZW50VXNlchINCgV0b3RhbBgCIAEoBSKRAQoYTGlzdEV2ZW50U2Vzc2lvbnNSZXF1ZXN0EhAKCGV2ZW50X2lkGAEgASgJEhcKCnNlc3Npb25faWQYAiABKAlIAIgBARIMCgRwYWdlGAMgASgFEhEKCXBhZ2Vfc2l6ZRgEIAEoBRIRCgR1c2VyGAUgASgJSAGIAQFCDQoLX3Nlc3Npb25faWRCBwoFX3VzZXIiWQoZTGlzdEV2ZW50U2Vzc2lvbnNSZXNwb25zZRItCghzZXNzaW9ucxgBIAMoCzIbLmxpdmVfZXZlbnQudjEuRXZlbnRTZXNzaW9uEg0KBXRvdGFsGAIgASgFIp8FCglFdmVudEluZm8SCgoCaWQYASABKAUSEAoIZXZlbnRfaWQYAiABKAkSEgoKZXZlbnRfbmFtZRgDIAEoCRIMCgRob3N0GAQgASgJEi4KCnN0YXJ0X3RpbWUYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiwKCGVuZF90aW1lGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIPCgdjb3VudHJ5GAcgASgJEg4KBnJlZ2lvbhgIIAEoCRIPCgdhZGRyZXNzGAkgASgJEh8KF2FsbG93X2ZyZWVfcmVnaXN0cmF0aW9uGAogASgIEiEKGWdpdmVfdGVtcG9yYXJ5X21lbWJlcnNoaXAYCyABKAgSFAoMZnJlZV9jcmVkaXRzGAwgASgFEhUKDWV2ZW50X2NyZWRpdHMYDSABKAUSGAoQbWF4X3BhcnRpY2lwYW50cxgOIAEoBRIcChRjdXJyZW50X3BhcnRpY2lwYW50cxgPIAEoBRIqCgZzdGF0dXMYECABKA4yGi5saXZlX2V2ZW50LnYxLkV2ZW50U3RhdHVzEjQKDnB1Ymxpc2hfc3RhdHVzGBEgASgOMhwubGl2ZV9ldmVudC52MS5QdWJsaXNoU3RhdHVzEi4KCmNyZWF0ZWRfYXQYEiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYEyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg4KBnFyY29kZRgUIAEoCRIYChBnaWZ0X2ludml0ZV9jb2RlGBUgASgFEhcKD2NvdW50cnlfZGlzcGxheRgWIAEoCRIUCgxjaXR5X2Rpc3BsYXkYFyABKAkigAEKCUV2ZW50VXNlchIPCgd1c2VyX2lkGAEgASgJEg0KBWVtYWlsGAIgASgJEhAKCHVzZXJuYW1lGAMgASgJEjEKDXJlZ2lzdGVyX3RpbWUYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg4KBmlzX25ldxgFIAEoCCKdAQoMRXZlbnRTZXNzaW9uEhIKCnNlc3Npb25faWQYASABKAkSDQoFdGl0bGUYAiABKAkSFgoOY3JlZGl0c19jb3N0ZWQYAyABKAUSLgoKY3JlYXRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEQoJaXNfc2hhcmVkGAUgASgIEg8KB3VzZXJfaWQYBiABKAkqeAoLRXZlbnRTdGF0dXMSHAoYRVZFTlRfU1RBVFVTX1VOU1BFQ0lGSUVEEAASGQoVRVZFTlRfU1RBVFVTX1VQQ09NSU5HEAESGAoURVZFTlRfU1RBVFVTX09OR09JTkcQAhIWChJFVkVOVF9TVEFUVVNfRU5ERUQQAzKmBQoVTGl2ZUV2ZW50QWRtaW5TZXJ2aWNlElYKC0NyZWF0ZUV2ZW50EiEubGl2ZV9ldmVudC52MS5DcmVhdGVFdmVudFJlcXVlc3QaIi5saXZlX2V2ZW50LnYxLkNyZWF0ZUV2ZW50UmVzcG9uc2UiABJWCgtVcGRhdGVFdmVudBIhLmxpdmVfZXZlbnQudjEuVXBkYXRlRXZlbnRSZXF1ZXN0GiIubGl2ZV9ldmVudC52MS5VcGRhdGVFdmVudFJlc3BvbnNlIgASUwoKTGlzdEV2ZW50cxIgLmxpdmVfZXZlbnQudjEuTGlzdEV2ZW50c1JlcXVlc3QaIS5saXZlX2V2ZW50LnYxLkxpc3RFdmVudHNSZXNwb25zZSIAElYKC0RlbGV0ZUV2ZW50EiEubGl2ZV9ldmVudC52MS5EZWxldGVFdmVudFJlcXVlc3QaIi5saXZlX2V2ZW50LnYxLkRlbGV0ZUV2ZW50UmVzcG9uc2UiABJlChBHZXRFdmVudE92ZXJ2aWV3EiYubGl2ZV9ldmVudC52MS5HZXRFdmVudE92ZXJ2aWV3UmVxdWVzdBonLmxpdmVfZXZlbnQudjEuR2V0RXZlbnRPdmVydmlld1Jlc3BvbnNlIgASXwoOTGlzdEV2ZW50VXNlcnMSJC5saXZlX2V2ZW50LnYxLkxpc3RFdmVudFVzZXJzUmVxdWVzdBolLmxpdmVfZXZlbnQudjEuTGlzdEV2ZW50VXNlcnNSZXNwb25zZSIAEmgKEUxpc3RFdmVudFNlc3Npb25zEicubGl2ZV9ldmVudC52MS5MaXN0RXZlbnRTZXNzaW9uc1JlcXVlc3QaKC5saXZlX2V2ZW50LnYxLkxpc3RFdmVudFNlc3Npb25zUmVzcG9uc2UiAELAAQoRY29tLmxpdmVfZXZlbnQudjFCE0xpdmVFdmVudEFkbWluUHJvdG9QAVpFZ2l0bGFiLm1vbmljYS5jbi92aWRhL3Nkay9iaXpzZXJ2ZXItZ28uZ2l0L2xpdmVfZXZlbnQvdjE7bGl2ZV9ldmVudHYxogIDTFhYqgIMTGl2ZUV2ZW50LlYxygIMTGl2ZUV2ZW50XFYx4gIYTGl2ZUV2ZW50XFYxXEdQQk1ldGFkYXRh6gINTGl2ZUV2ZW50OjpWMWIGcHJvdG8z”,[_,Rd]),uA=Q(sA,0),gA=J(“Ch5saXZlX2V2ZW50L3YxL2xpdmVfZXZlbnQucHJvdG8SDWxpdmVfZXZlbnQudjEiQQoVQ2hlY2tMaXZlRXZlbnRSZXF1ZXN0EhUKDWxpdmVfZXZlbnRfaWQYASABKAkSEQoJZGV2aWNlX2lkGAIgASgJIhgKFkNoZWNrTGl2ZUV2ZW50UmVzcG9uc2UycwoQTGl2ZUV2ZW50U2VydmljZRJfCg5DaGVja0xpdmVFdmVudBIkLmxpdmVfZXZlbnQudjEuQ2hlY2tMaXZlRXZlbnRSZXF1ZXN0GiUubGl2ZV9ldmVudC52MS5DaGVja0xpdmVFdmVudFJlc3BvbnNlIgBCuwEKEWNvbS5saXZlX2V2ZW50LnYxQg5MaXZlRXZlbnRQcm90b1ABWkVnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvbGl2ZV9ldmVudC92MTtsaXZlX2V2ZW50djGiAgNMWFiqAgxMaXZlRXZlbnQuVjHKAgxMaXZlRXZlbnRcVjHiAhhMaXZlRXZlbnRcVjFcR1BCTWV0YWRhdGHqAg1MaXZlRXZlbnQ6OlYxYgZwcm90bzM”),hA=Q(gA,0),bA=J(“CiVsaXZlX2V2ZW50L3YxL2xpdmVfZXZlbnRfcHVibGljLnByb3RvEg1saXZlX2V2ZW50LnYxIicKE0dldExpdmVFdmVudFJlcXVlc3QSEAoIZXZlbnRfaWQYASABKAkiqQMKFEdldExpdmVFdmVudFJlc3BvbnNlEhAKCGV2ZW50X2lkGAEgASgJEhIKCmV2ZW50X25hbWUYAiABKAkSDAoEaG9zdBgDIAEoCRIuCgpzdGFydF90aW1lGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIsCghlbmRfdGltZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDwoHYWRkcmVzcxgGIAEoCRIfChdhbGxvd19mcmVlX3JlZ2lzdHJhdGlvbhgHIAEoCBIhChlnaXZlX3RlbXBvcmFyeV9tZW1iZXJzaGlwGAggASgIEhQKDGZyZWVfY3JlZGl0cxgJIAEoBRIVCg1ldmVudF9jcmVkaXRzGAogASgFEhgKEG1heF9wYXJ0aWNpcGFudHMYCyABKAUSNAoOcHVibGlzaF9zdGF0dXMYDCABKA4yHC5saXZlX2V2ZW50LnYxLlB1Ymxpc2hTdGF0dXMSFwoPY291bnRyeV9kaXNwbGF5GA0gASgJEhQKDGNpdHlfZGlzcGxheRgOIAEoCTJzChZMaXZlRXZlbnRQdWJsaWNTZXJ2aWNlElkKDEdldExpdmVFdmVudBIiLmxpdmVfZXZlbnQudjEuR2V0TGl2ZUV2ZW50UmVxdWVzdBojLmxpdmVfZXZlbnQudjEuR2V0TGl2ZUV2ZW50UmVzcG9uc2UiAELBAQoRY29tLmxpdmVfZXZlbnQudjFCFExpdmVFdmVudFB1YmxpY1Byb3RvUAFaRWdpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC9saXZlX2V2ZW50L3YxO2xpdmVfZXZlbnR2MaICA0xYWKoCDExpdmVFdmVudC5WMcoCDExpdmVFdmVudFxWMeICGExpdmVFdmVudFxWMVxHUEJNZXRhZGF0YeoCDUxpdmVFdmVudDo6VjFiBnByb3RvMw”,[_,Rd]),VA=Q(bA,0),Ed=J(“Chd1c2VyL3YxL3VzZXJfYXV0aC5wcm90bxIHdXNlci52MSJDChVVcGRhdGVQYXNzd29yZFJlcXVlc3QSFAoMb2xkX3Bhc3N3b3JkGAEgASgJEhQKDG5ld19wYXNzd29yZBgCIAEoCSIYChZVcGRhdGVQYXNzd29yZFJlc3BvbnNlIg8KDUxvZ291dFJlcXVlc3QiEAoOTG9nb3V0UmVzcG9uc2UiKAoRRGVsZXRlVXNlclJlcXVlc3QSEwoLdmVyaWZ5X2NvZGUYASABKAkiFAoSRGVsZXRlVXNlclJlc3BvbnNlIk4KIlNlbmRFbWFpbFZlcmlmeUNvZGVXaXRoQXV0aFJlcXVlc3QSKAoGYWN0aW9uGAEgASgOMhgudXNlci52MS5TZW5kRW1haWxBY3Rpb24iJQojU2VuZEVtYWlsVmVyaWZ5Q29kZVdpdGhBdXRoUmVzcG9uc2UiRQocUmVzZXRQYXNzd29yZFdpdGhBdXRoUmVxdWVzdBITCgt2ZXJpZnlfY29kZRgBIAEoCRIQCghwYXNzd29yZBgCIAEoCSIfCh1SZXNldFBhc3N3b3JkV2l0aEF1dGhSZXNwb25zZSIdChtHZW5lcmF0ZVRlbXBBdXRoQ29kZVJlcXVlc3QiLQocR2VuZXJhdGVUZW1wQXV0aENvZGVSZXNwb25zZRINCgV0b2tlbhgBIAEoCSq8AQoPU2VuZEVtYWlsQWN0aW9uEiEKHVNFTkRfRU1BSUxfQUNUSU9OX1VOU1BFQ0lGSUVEEAASHgoaU0VORF9FTUFJTF9BQ1RJT05fUkVHSVNURVIQARIkCiBTRU5EX0VNQUlMX0FDVElPTl9SRVNFVF9QQVNTV09SRBACEhwKGFNFTkRfRU1BSUxfQUNUSU9OX0xPR09GRhADEiIKHlNFTkRfRU1BSUxfQUNUSU9OX0RJU01JU1NfVEVBTRAEMtoDCg9Vc2VyQXV0aFNlcnZpY2USOQoGTG9nb3V0EhYudXNlci52MS5Mb2dvdXRSZXF1ZXN0GhcudXNlci52MS5Mb2dvdXRSZXNwb25zZRJFCgpEZWxldGVVc2VyEhoudXNlci52MS5EZWxldGVVc2VyUmVxdWVzdBobLnVzZXIudjEuRGVsZXRlVXNlclJlc3BvbnNlEngKG1NlbmRFbWFpbFZlcmlmeUNvZGVXaXRoQXV0aBIrLnVzZXIudjEuU2VuZEVtYWlsVmVyaWZ5Q29kZVdpdGhBdXRoUmVxdWVzdBosLnVzZXIudjEuU2VuZEVtYWlsVmVyaWZ5Q29kZVdpdGhBdXRoUmVzcG9uc2USZgoVUmVzZXRQYXNzd29yZFdpdGhBdXRoEiUudXNlci52MS5SZXNldFBhc3N3b3JkV2l0aEF1dGhSZXF1ZXN0GiYudXNlci52MS5SZXNldFBhc3N3b3JkV2l0aEF1dGhSZXNwb25zZRJjChRHZW5lcmF0ZVRlbXBBdXRoQ29kZRIkLnVzZXIudjEuR2VuZXJhdGVUZW1wQXV0aENvZGVSZXF1ZXN0GiUudXNlci52MS5HZW5lcmF0ZVRlbXBBdXRoQ29kZVJlc3BvbnNlQpQBCgtjb20udXNlci52MUINVXNlckF1dGhQcm90b1ABWjlnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvdXNlci92MTt1c2VydjGiAgNVWFiqAgdVc2VyLlYxygIHVXNlclxWMeICE1VzZXJcVjFcR1BCTWV0YWRhdGHqAghVc2VyOjpWMWIGcHJvdG8z”),mA=Q(Ed,0),Pi=J(“Chd1c2VyL3YxL3VzZXJfYmFzZS5wcm90bxIHdXNlci52MSqJAQoPTWFudXNWaXBWZXJzaW9uEiEKHU1BTlVTX1ZJUF9WRVJTSU9OX1VOU1BFQ0lGSUVEEAASGgoWTUFOVVNfVklQX1ZFUlNJT05fRlJFRRABEhwKGE1BTlVTX1ZJUF9WRVJTSU9OX0NBU1VBTBACEhkKFU1BTlVTX1ZJUF9WRVJTSU9OX1BSTxADKuUCChJJbnZpdGF0aW9uQ29kZUtpbmQSJAogSU5WSVRBVElPTl9DT0RFX0tJTkRfVU5TUEVDSUZJRUQQABIgChxJTlZJVEFUSU9OX0NPREVfS0lORF9CVUlMVElOEAESHQoZSU5WSVRBVElPTl9DT0RFX0tJTkRfVVNFUhACEiIKHklOVklUQVRJT05fQ09ERV9LSU5EX0xJTktfRk9STRADEiIKHklOVklUQVRJT05fQ09ERV9LSU5EX0xJTktfVVNFUhAEEiUKIUlOVklUQVRJT05fQ09ERV9LSU5EX0xJTktfQ0hBTk5FTBAFEiYKIklOVklUQVRJT05fQ09ERV9LSU5EX0xJTktfV0FJVExJU1QQBhIkCiBJTlZJVEFUSU9OX0NPREVfS0lORF9GSVNTSU9OQUJMRRAHEisKJ0lOVklUQVRJT05fQ09ERV9LSU5EX0NBTVBVU19GSVNTSU9OQUJMRRAIKl4KC0Jsb2NrZWRUeXBlEhwKGEJMT0NLRURfVFlQRV9VTlNQRUNJRklFRBAAEhgKFEJMT0NLRURfVFlQRV9BQ0NPVU5UEAESFwoTQkxPQ0tFRF9UWVBFX1NIVVRVUBACKqYECg9CbG9ja1JlYXNvblR5cGUSIQodQkxPQ0tfUkVBU09OX1RZUEVfVU5TUEVDSUZJRUQQABIbChdCTE9DS19SRUFTT05fVFlQRV9PVEhFUhABEiEKHUJMT0NLX1JFQVNPTl9UWVBFX1BPUk5PR1JBUEhZEAISHgoaQkxPQ0tfUkVBU09OX1RZUEVfUE9MSVRJQ1MQAxIfChtCTE9DS19SRUFTT05fVFlQRV9URVJST1JJU00QBBIbChdCTE9DS19SRUFTT05fVFlQRV9EUlVHUxAFEiMKH0JMT0NLX1JFQVNPTl9UWVBFX0FUVEFDS19TWVNURU0QBhIhCh1CTE9DS19SRUFTT05fVFlQRV9SRVBPUlRfTUFOWRAHEiIKHkJMT0NLX1JFQVNPTl9UWVBFX1NFTExfQUNDT1VOVBAIEhsKF0JMT0NLX1JFQVNPTl9UWVBFX0ZSQVVEEAkSGgoWQkxPQ0tfUkVBU09OX1RZUEVfU1BBTRAKEiQKIEJMT0NLX1JFQVNPTl9UWVBFX0lMTEVHQUxfUkVHSU9OEAsSJwojQkxPQ0tfUkVBU09OX1RZUEVfSUxMRUdBTF9USU1FX1pPTkUQDBIgChxCTE9DS19SRUFTT05fVFlQRV9JTExFR0FMX1VBEA0SIAocQkxPQ0tfUkVBU09OX1RZUEVfSUxMRUdBTF9JUBAOEhoKFkJMT0NLX1JFQVNPTl9UWVBFX1JJU0sQDyqmAwoOTGlzdFJlY29yZFR5cGUSIAocTElTVF9SRUNPUkRfVFlQRV9VTlNQRUNJRklFRBAAEhkKFUxJU1RfUkVDT1JEX1RZUEVfR0lGVBABEhsKF0xJU1RfUkVDT1JEX1RZUEVfREVEVUNUEAISGwoXTElTVF9SRUNPUkRfVFlQRV9DSEFSR0UQAxIhCh1MSVNUX1JFQ09SRF9UWVBFX1VTRVJfRElTUExBWRAEEiIKHkxJU1RfUkVDT1JEX1RZUEVfQURNSU5fRElTUExBWRAFEhkKFUxJU1RfUkVDT1JEX1RZUEVfQ09TVBAGEh0KGUxJU1RfUkVDT1JEX1RZUEVfUk9MTEJBQ0sQBxIeChpMSVNUX1JFQ09SRF9UWVBFX1JBVEVfR0lGVBAIEhsKF0xJU1RfUkVDT1JEX1RZUEVfUkVGVU5EEAkSIAocTElTVF9SRUNPUkRfVFlQRV9JTlZJVEVfR0lGVBAKEh8KG0xJU1RfUkVDT1JEX1RZUEVfTElWRV9FVkVOVBALEhwKGExJU1RfUkVDT1JEX1RZUEVfUkVGUkVTSBAMKqABCgpDcmVkaXRUeXBlEhsKF0NSRURJVF9UWVBFX1VOU1BFQ0lGSUVEEAASFAoQQ1JFRElUX1RZUEVfRlJFRRABEhgKFENSRURJVF9UWVBFX1BFUklPRElDEAISFQoRQ1JFRElUX1RZUEVfQURET04QAxIVChFDUkVESVRfVFlQRV9FVkVOVBAEEhcKE0NSRURJVF9UWVBFX1JFRlJFU0gQBSrzAgoNQ3JlZGl0TG9nVHlwZRIfChtDUkVESVRfTE9HX1RZUEVfVU5TUEVDSUZJRUQQABIYChRDUkVESVRfTE9HX1RZUEVfQ09TVBABEhwKGENSRURJVF9MT0dfVFlQRV9ST0xMQkFDSxACEiQKIENSRURJVF9MT0dfVFlQRV9TVUJTQ1JJQkVfQ0FTVUFMEAMSIQodQ1JFRElUX0xPR19UWVBFX1NVQlNDUklCRV9QUk8QBBIfChtDUkVESVRfTE9HX1RZUEVfVVBHUkFERV9QUk8QBRIeChpDUkVESVRfTE9HX1RZUEVfQURET05fMTkwMBAGEh4KGkNSRURJVF9MT0dfVFlQRV9BRERPTl85OTAwEAcSHQoZQ1JFRElUX0xPR19UWVBFX0FETUlOX0FERBAIEiAKHENSRURJVF9MT0dfVFlQRV9BRE1JTl9ERURVQ1QQCRIeChpDUkVESVRfTE9HX1RZUEVfQ1JFRElUX0FMTBAKKkYKDEFjdGl2aXR5VHlwZRIdChlBQ1RJVklUWV9UWVBFX1VOU1BFQ0lGSUVEEAASFwoTQUNUSVZJVFlfVFlQRV9QRVJLUxABKlUKDFVzZXJUeXBlRW51bRIZChVVU0VSX1RZUEVfVU5TUEVDSUZJRUQQABIWChJVU0VSX1RZUEVfUEVSU09OQUwQARISCg5VU0VSX1RZUEVfVEVBTRACQpQBCgtjb20udXNlci52MUINVXNlckJhc2VQcm90b1ABWjlnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvdXNlci92MTt1c2VydjGiAgNVWFiqAgdVc2VyLlYxygIHVXNlclxWMeICE1VzZXJcVjFcR1BCTWV0YWRhdGHqAghVc2VyOjpWMWIGcHJvdG8z”),AA=J(“Chh1c2VyL3YxL3VzZXJfYWRtaW4ucHJvdG8SB3VzZXIudjEiiQEKIkxvb3BVcGRhdGVVc2VyQ3JlZGl0U3RhdHVzUmVzcG9uc2USDQoFY291bnQYASABKAUSDQoFdG90YWwYAiABKAUSLwoGc3RhdHVzGAMgASgOMh8udXNlci52MS5VcGRhdGVVc2VyQ3JlZGl0U3RhdHVzEhQKDGZhaWxlZF91c2VycxgEIAMoCSI0CiFMb29wVXBkYXRlVXNlckNyZWRpdFN0YXR1c1JlcXVlc3QSDwoHdGFza19pZBgBIAEoCSJJChVMaXN0VXNlclZpcExvZ1JlcXVlc3QSDwoHdXNlcl9pZBgBIAEoCRIMCgRwYWdlGAIgASgFEhEKCXBhZ2Vfc2l6ZRgDIAEoBSJGChZMaXN0VXNlclZpcExvZ1Jlc3BvbnNlEh0KBGxvZ3MYASADKAsyDy51c2VyLnYxLlZpcExvZxINCgV0b3RhbBgCIAEoBSJ6CgZWaXBMb2cSDwoHdXNlcl9pZBgBIAEoCRITCgt2aXBfdmVyc2lvbhgCIAEoCRIUCgxwZXJpb2Rfc3RhcnQYAyABKAUSEgoKcGVyaW9kX2VuZBgEIAEoBRIQCghvcGVyYXRvchgFIAEoCRIOCgZyZWFzb24YBiABKAkicgoEVXNlchIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEg0KBWVtYWlsGAMgASgJEhMKC3ZpcF92ZXJzaW9uGAQgASgJEhoKEmN1cnJlbnRfcGVyaW9kX2VuZBgFIAEoAxIQCghpc190cmlhbBgGIAEoCCI/ChBMaXN0VXNlclJlc3BvbnNlEhwKBXVzZXJzGAEgAygLMg0udXNlci52MS5Vc2VyEg0KBXRvdGFsGAIgASgFIkMKD0xpc3RVc2VyUmVxdWVzdBIPCgd1c2VyX2lkGAEgASgJEgwKBHBhZ2UYAiABKAUSEQoJcGFnZV9zaXplGAMgASgFIhYKFEFkbWluR2lmdFZpcFJlc3BvbnNlIoEBChNBZG1pbkdpZnRWaXBSZXF1ZXN0Eg8KB3VzZXJfaWQYASABKAkSLQoLdmlwX3ZlcnNpb24YAiABKA4yGC51c2VyLnYxLk1hbnVzVmlwVmVyc2lvbhIaChJjdXJyZW50X3BlcmlvZF9lbmQYAyABKAMSDgoGcmVhc29uGAQgASgJIjcKFEdldFVzZXJRdW90YVJlc3BvbnNlEhIKCmxlZnRfcXVvdGEYASABKAUSCwoDdHRsGAIgASgDIiYKE0dldFVzZXJRdW90YVJlcXVlc3QSDwoHdXNlcl9pZBgBIAEoCSJZChxMaXN0VXNlckNyZWRpdFJlY29yZFJlc3BvbnNlEioKB3JlY29yZHMYASADKAsyGS51c2VyLnYxLlVzZXJDcmVkaXRSZWNvcmQSDQoFdG90YWwYAiABKAUi4wIKEFVzZXJDcmVkaXRSZWNvcmQSDwoHdXNlcl9pZBgBIAEoCRIMCgRuYW1lGAIgASgJEg8KB2NyZWRpdHMYBSABKAUSKAoLY3JlZGl0X3R5cGUYBiABKA4yEy51c2VyLnYxLkNyZWRpdFR5cGUSDQoFZW1haWwYByABKAkSEAoIb3BlcmF0b3IYCCABKAkSLgoKY3JlYXRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASKgoEdHlwZRgKIAEoDjIcLnVzZXIudjEuVXBkYXRlQ3JlZGl0T3BlcmF0ZRIOCgZyZWFzb24YCyABKAkSFAoMc2Vzc2lvblRpdGxlGAwgASgJEhEKCXNlc3Npb25JZBgNIAEoCRIfChdzeXN0ZW1fcm9sbGJhY2tfY3JlZGl0cxgOIAEoBRIeChZhZG1pbl9yb2xsYmFja19jcmVkaXRzGA8gASgFIpQBChtMaXN0VXNlckNyZWRpdFJlY29yZFJlcXVlc3QSFAoHdXNlcl9pZBgBIAEoCUgAiAEBEjIKDHJlY29yZF90eXBlcxgCIAMoDjIcLnVzZXIudjEuVXBkYXRlQ3JlZGl0T3BlcmF0ZRIMCgRwYWdlGAMgASgFEhEKCXBhZ2Vfc2l6ZRgEIAEoBUIKCghfdXNlcl9pZCI4ChhVcGRhdGVVc2VyQ3JlZGl0UmVzcG9uc2USCwoDbXNnGAEgASgJEg8KB3Rhc2tfaWQYAiABKAkiuwEKF1VwZGF0ZVVzZXJDcmVkaXRSZXF1ZXN0Eg8KB3VzZXJfaWQYASABKAkSDwoHY3JlZGl0cxgCIAEoBRIhCgR0eXBlGAMgASgOMhMudXNlci52MS5DcmVkaXRUeXBlEg4KBnJlYXNvbhgEIAEoCRItCgdvcGVyYXRlGAUgASgOMhwudXNlci52MS5VcGRhdGVDcmVkaXRPcGVyYXRlEg0KBXVzZXJzGAYgAygJEg0KBWVtYWlsGAsgASgJIlYKFkxpc3RVc2VyQ3JlZGl0UmVzcG9uc2USLQoMdXNlcl9jcmVkaXRzGAEgAygLMhcudXNlci52MS5Vc2VyQ3JlZGl0SW5mbxINCgV0b3RhbBgCIAEoBSLKAQoOVXNlckNyZWRpdEluZm8SDwoHdXNlcl9pZBgBIAEoCRIMCgRuYW1lGAIgASgJEhQKDGZyZWVfY3JlZGl0cxgDIAEoBRIYChBwZXJpb2RpY19jcmVkaXRzGAQgASgFEhUKDWFkZG9uX2NyZWRpdHMYBSABKAUSFQoNdG90YWxfY3JlZGl0cxgGIAEoBRINCgVlbWFpbBgHIAEoCRITCgt2aXBfdmVyc2lvbhgIIAEoCRIXCg9yZWZyZXNoX2NyZWRpdHMYCSABKAUiewoVTGlzdFVzZXJDcmVkaXRSZXF1ZXN0EhQKB3VzZXJfaWQYASABKAlIAIgBARIRCgRwYWdlGAIgASgFSAGIAQESFgoJcGFnZV9zaXplGAMgASgFSAKIAQFCCgoIX3VzZXJfaWRCBwoFX3BhZ2VCDAoKX3BhZ2Vfc2l6ZSK6AgobQ3JlYXRlSW52aXRhdGlvbkNvZGVSZXF1ZXN0Ei4KBGtpbmQYASABKA4yGy51c2VyLnYxLkludml0YXRpb25Db2RlS2luZEgAiAEBEhAKCG1heF91c2VzGAIgASgFEhgKBWNvdW50GAMgASgFQgm6SAYaBBhkKAESGQoFdXNlcnMYBCADKAlCCrpIB5IBBBDQhgMSFAoDdGFnGAUgASgJQge6SARyAhhAEiMKC2ludml0ZV9jb2RlGAYgASgJQgm6SAZyBBAGGCBIAYgBARIOCgZyZW1hcmsYCCABKAkSHgoNZmlzc2lvbl9jb3VudBgJIAEoBUIHukgEGgIYZBIUCgdjcmVkaXRzGAogASgFSAKIAQFCBwoFX2tpbmRCDgoMX2ludml0ZV9jb2RlQgoKCF9jcmVkaXRzIlUKHENyZWF0ZUludml0YXRpb25Db2RlUmVzcG9uc2USNQoQaW52aXRhdGlvbl9jb2RlcxgBIAMoCzIbLnVzZXIudjEuSW52aXRhdGlvbkNvZGVJbmZvIrYCChJJbnZpdGF0aW9uQ29kZUluZm8SCgoCaWQYASABKAMSDwoHdXNlcl9pZBgCIAEoCRITCgtpbnZpdGVfY29kZRgDIAEoCRIpCgRraW5kGAQgASgOMhsudXNlci52MS5JbnZpdGF0aW9uQ29kZUtpbmQSFAoMaXNfYWN0aXZhdGVkGAUgASgIEhAKCG1heF91c2VzGAYgASgFEhIKCnVzZWRfY291bnQYByABKAUSEgoKY3JlYXRlZF9ieRgIIAEoCRIuCgpjcmVhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBILCgN0YWcYCiABKAkSDgoGcmVtYXJrGAsgASgJEhUKDWZpc3Npb25fY291bnQYDCABKAUSDwoHY3JlZGl0cxgNIAEoBSKwAQoaTGlzdEludml0YXRpb25Db2Rlc1JlcXVlc3QSFQoEcGFnZRgBIAEoBUIHukgEGgIgABIcCglwYWdlX3NpemUYAiABKAVCCbpIBhoEGGQgABIqCgVraW5kcxgDIAMoDjIbLnVzZXIudjEuSW52aXRhdGlvbkNvZGVLaW5kEg8KB3VzZXJfaWQYBCABKAkSEwoLaW52aXRlX2NvZGUYBSABKAkSCwoDdGFnGAYgASgJImMKG0xpc3RJbnZpdGF0aW9uQ29kZXNSZXNwb25zZRI1ChBpbnZpdGF0aW9uX2NvZGVzGAEgAygLMhsudXNlci52MS5JbnZpdGF0aW9uQ29kZUluZm8SDQoFdG90YWwYAiABKAMiNwodR2V0SW52aXRhdGlvbkNvZGVVc2FnZVJlcXVlc3QSFgoOaW52aXRlX2NvZGVfaWQYAiABKAMikQEKFkludml0YXRpb25SZWxhdGlvbkluZm8SCgoCaWQYASABKAMSEgoKaW52aXRlcl9pZBgCIAEoCRISCgppbnZpdGVlX2lkGAMgASgJEhMKC2ludml0ZV9jb2RlGAQgASgJEi4KCmNyZWF0ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIooBCh5HZXRJbnZpdGF0aW9uQ29kZVVzYWdlUmVzcG9uc2USNAoPaW52aXRhdGlvbl9jb2RlGAEgASgLMhsudXNlci52MS5JbnZpdGF0aW9uQ29kZUluZm8SMgoJcmVsYXRpb25zGAIgAygLMh8udXNlci52MS5JbnZpdGF0aW9uUmVsYXRpb25JbmZvItwCChtVcGRhdGVJbnZpdGF0aW9uQ29kZVJlcXVlc3QSMgoGc3RhdHVzGAIgASgOMh0udXNlci52MS5JbnZpdGF0aW9uQ29kZVN0YXR1c0gAiAEBEiIKCG1heF91c2VzGAMgASgFQgu6SAgaBhigjQYoAEgBiAEBEhYKDmludml0ZV9jb2RlX2lkGAQgASgDEg4KBnJlbWFyaxgFIAEoCRIlCg1maXNzaW9uX2NvdW50GAYgASgFQgm6SAYaBBhkIABIAogBARIuCgRraW5kGAcgASgOMhsudXNlci52MS5JbnZpdGF0aW9uQ29kZUtpbmRIA4gBARIUCgdjcmVkaXRzGAggASgFSASIAQFCCQoHX3N0YXR1c0ILCglfbWF4X3VzZXNCEAoOX2Zpc3Npb25fY291bnRCBwoFX2tpbmRCCgoIX2NyZWRpdHNKBAgBEAJSC2ludml0ZV9jb2RlIh4KHFVwZGF0ZUludml0YXRpb25Db2RlUmVzcG9uc2UizAIKHkdldEludml0YXRpb25TdGF0aXN0aWNzUmVxdWVzdBIuCgpzdGFydF90aW1lGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIsCghlbmRfdGltZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFAoMaW52aXRlX2NvZGVzGAMgAygJEkwKC2dyYW51bGFyaXR5GAQgASgOMjcudXNlci52MS5HZXRJbnZpdGF0aW9uU3RhdGlzdGljc1JlcXVlc3QuVGltZUdyYW51bGFyaXR5ImgKD1RpbWVHcmFudWxhcml0eRIgChxUSU1FX0dSQU5VTEFSSVRZX1VOU1BFQ0lGSUVEEAASGAoUVElNRV9HUkFOVUxBUklUWV9EQVkQARIZChVUSU1FX0dSQU5VTEFSSVRZX0hPVVIQAiLMAQoUSW52aXRhdGlvblN0YXRpc3RpY3MSEwoLdG90YWxfY29kZXMYASABKAMSEgoKdXNlZF9jb2RlcxgCIAEoAxIUCgx1bnVzZWRfY29kZXMYAyABKAMSFgoOdG90YWxfaW52aXRlZXMYBCABKAMSMQoLZGFpbHlfc3RhdHMYBSADKAsyHC51c2VyLnYxLkRhaWx5SW52aXRhdGlvblN0YXQSKgoMdG9wX2ludml0ZXJzGAYgAygLMhQudXNlci52MS5JbnZpdGVyU3RhdCJrChNEYWlseUludml0YXRpb25TdGF0EgwKBGRhdGUYASABKAkSFQoNaW52aXRlZV9jb3VudBgCIAEoBRIaChJjb2RlX2NyZWF0ZWRfY291bnQYAyABKAUSEwoLaW52aXRlX2NvZGUYBCABKAkiSgoLSW52aXRlclN0YXQSEgoKaW52aXRlcl9pZBgBIAEoCRIQCghuaWNrbmFtZRgCIAEoCRIVCg1pbnZpdGVlX2NvdW50GAMgASgFIlQKH0dldEludml0YXRpb25TdGF0aXN0aWNzUmVzcG9uc2USMQoKc3RhdGlzdGljcxgBIAEoCzIdLnVzZXIudjEuSW52aXRhdGlvblN0YXRpc3RpY3MimwQKDFdhaXRsaXN0SW5mbxIKCgJpZBgBIAEoAxIUCgxjb250YWN0X3R5cGUYAiABKAkSFQoNY29udGFjdF92YWx1ZRgDIAEoCRIOCgZyZWFzb24YBCABKAkSKwoKZXh0cmFfZGF0YRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSJwoGc3RhdHVzGAYgASgOMhcudXNlci52MS5XYWl0bGlzdFN0YXR1cxIPCgd1c2VyX2lkGAcgASgJEi4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKD2FwcHJvdmVfdXNlcl9pZBgKIAEoCRITCgtjb3VudHJ5X2lzbxgLIAEoCRIvCgthcHByb3ZlZF9hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEgoKd29ya19lbWFpbBgNIAEoCRISCgpwcm9mZXNzaW9uGA4gASgJEhwKFHNvY2lhbF9tZWRpYV9hY2NvdW50GA8gASgJEhAKCGluZHVzdHJ5GBAgASgJEhcKD2ludml0YXRpb25fY29kZRgRIAEoCRIRCgl0aW1lX3pvbmUYEiABKAkSGAoQdGltZV96b25lX29mZnNldBgTIAEoCSKAAwoTTGlzdFdhaXRsaXN0UmVxdWVzdBIVCgRwYWdlGAEgASgFQge6SAQaAigBEhwKCXBhZ2Vfc2l6ZRgCIAEoBUIJukgGGgQYZCgBEiwKBnN0YXR1cxgDIAEoDjIXLnVzZXIudjEuV2FpdGxpc3RTdGF0dXNIAIgBARIVCg1jb250YWN0X3ZhbHVlGAQgASgJEhUKDWxhbmd1YWdlX2xpc3QYBSADKAkSIAoTZXhjbHVkZV96aF9jbl91c2VycxgGIAEoCEgBiAEBEhkKEWVtYWlsX2RvbWFpbl9saXN0GAcgAygJEhgKEGNvdW50cnlfaXNvX2xpc3QYCCADKAkSHgoWd29ya19lbWFpbF9kb21haW5fbGlzdBgJIAMoCRIjChZleGNsdWRlX2NoaW5lc2VfcmVhc29uGAogASgISAKIAQFCCQoHX3N0YXR1c0IWChRfZXhjbHVkZV96aF9jbl91c2Vyc0IZChdfZXhjbHVkZV9jaGluZXNlX3JlYXNvbiJUChRMaXN0V2FpdGxpc3RSZXNwb25zZRItCg53YWl0bGlzdF9pdGVtcxgBIAMoCzIVLnVzZXIudjEuV2FpdGxpc3RJbmZvEg0KBXRvdGFsGAIgASgDInIKG1VwZGF0ZVdhaXRsaXN0U3RhdHVzUmVxdWVzdBIzCgZzdGF0dXMYAiABKA4yFy51c2VyLnYxLldhaXRsaXN0U3RhdHVzQgq6SAeCAQQQASAAEh4KDHdhaXRsaXN0X2lkcxgDIAMoA0IIukgFkgECEGQiHgocVXBkYXRlV2FpdGxpc3RTdGF0dXNSZXNwb25zZSI5ChNHZXRBZG1pbkluZm9SZXF1ZXN0EhUKCGFkbWluX2lkGAEgASgJSACIAQFCCwoJX2FkbWluX2lkIpgCCglBZG1pbkluZm8SDwoHdXNlcl9pZBgBIAEoCRIMCgRuYW1lGAIgASgJEg0KBWVtYWlsGAMgASgJEhEKCXJvbGVfa2V5cxgEIAMoCRIOCgZhdmF0YXIYBSABKAkSMwoPbGFzdF9sb2dpbl90aW1lGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgpjcmVhdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIrCgpleHRyYV9kYXRhGAggASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIoCgtwZXJtaXNzaW9ucxgJIAMoCzITLnVzZXIudjEuUGVybWlzc2lvbiKqAQoKUGVybWlzc2lvbhImCgRyb2xlGAEgASgOMhgudXNlci52MS5QZXJtaXNzaW9uLlJvbGUSFAoMcHJvZHVjdF9uYW1lGAIgASgJEg4KBm1vZHVsZRgDIAEoCSJOCgRSb2xlEhQKEFJPTEVfVU5TUEVDSUZJRUQQABIOCgpST0xFX0FETUlOEAESDwoLUk9MRV9FRElUT1IQAhIPCgtST0xFX1ZJRVdFUhADIj4KFEdldEFkbWluSW5mb1Jlc3BvbnNlEiYKCmFkbWluX2luZm8YASABKAsyEi51c2VyLnYxLkFkbWluSW5mbyKmAQoMV2FpdGxpc3RSdWxlEicKBHR5cGUYASABKA4yGS51c2VyLnYxLldhaXRsaXN0UnVsZVR5cGUSFQoNc3RyaW5nX3ZhbHVlcxgCIAMoCRIRCglpbnRfdmFsdWUYAyABKAUSLgoKdGltZV92YWx1ZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEwoLZmxvYXRfdmFsdWUYBSABKAEirwIKHUNyZWF0ZVdhaXRsaXN0QXV0b1Rhc2tSZXF1ZXN0Eg8KAmlkGAEgASgDSACIAQESFwoEbmFtZRgCIAEoCUIJukgGcgQQARhAEiQKBXJ1bGVzGAMgAygLMhUudXNlci52MS5XYWl0bGlzdFJ1bGUSKwoGYWN0aW9uGAQgASgOMhsudXNlci52MS5XYWl0bGlzdEF1dG9BY3Rpb24SLwoGc3RhdHVzGAUgASgOMh8udXNlci52MS5XYWl0bGlzdEF1dG9UYXNrU3RhdHVzEhUKDWFwcHJvdmFsX3JhdGUYBiABKAUSIQoZYXBwcm92YWxfaW50ZXJ2YWxfbWludXRlcxgHIAEoBRIfChdvcmRlcl9ieV9jcmVhdGVkX2F0X2FzYxgIIAEoCEIFCgNfaWQiLAoeQ3JlYXRlV2FpdGxpc3RBdXRvVGFza1Jlc3BvbnNlEgoKAmlkGAEgASgDIpwDChRXYWl0bGlzdEF1dG9UYXNrSW5mbxIKCgJpZBgBIAEoAxIMCgRuYW1lGAIgASgJEiQKBXJ1bGVzGAMgAygLMhUudXNlci52MS5XYWl0bGlzdFJ1bGUSKwoGYWN0aW9uGAQgASgOMhsudXNlci52MS5XYWl0bGlzdEF1dG9BY3Rpb24SLwoGc3RhdHVzGAUgASgOMh8udXNlci52MS5XYWl0bGlzdEF1dG9UYXNrU3RhdHVzEhUKDWFwcHJvdmFsX3JhdGUYBiABKAUSIQoZYXBwcm92YWxfaW50ZXJ2YWxfbWludXRlcxgHIAEoBRISCgpjcmVhdGVkX2J5GAggASgJEi4KCmNyZWF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKD3Byb2Nlc3NlZF9jb3VudBgLIAEoAxIfChdvcmRlcl9ieV9jcmVhdGVkX2F0X2FzYxgMIAEoCCLQAQobTGlzdFdhaXRsaXN0QXV0b1Rhc2tSZXF1ZXN0EhUKBHBhZ2UYASABKAVCB7pIBBoCKAESHAoJcGFnZV9zaXplGAIgASgFQgm6SAYaBBhkKAESNAoGc3RhdHVzGAMgASgOMh8udXNlci52MS5XYWl0bGlzdEF1dG9UYXNrU3RhdHVzSACIAQESMAoGYWN0aW9uGAQgASgOMhsudXNlci52MS5XYWl0bGlzdEF1dG9BY3Rpb25IAYgBAUIJCgdfc3RhdHVzQgkKB19hY3Rpb24iWwocTGlzdFdhaXRsaXN0QXV0b1Rhc2tSZXNwb25zZRIsCgV0YXNrcxgBIAMoCzIdLnVzZXIudjEuV2FpdGxpc3RBdXRvVGFza0luZm8SDQoFdG90YWwYAiABKAMiwwIKEVF1ZXN0aW9ubmFpcmVJbmZvEgoKAmlkGAEgASgDEg8KB3VzZXJfaWQYAiABKAkSDQoFZW1haWwYAyABKAkSDgoGcmVhc29uGAQgASgJEhIKCnByb2Zlc3Npb24YBSABKAkSHAoUc29jaWFsX21lZGlhX2FjY291bnQYBiABKAkSEAoIaW5kdXN0cnkYByABKAkSDAoEbmFtZRgIIAEoCRITCgtjb3VudHJ5X2lzbxgJIAEoCRIrCgpleHRyYV9kYXRhGAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCgpjcmVhdGVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKVAgoYTGlzdFF1ZXN0aW9ubmFpcmVSZXF1ZXN0EhUKBHBhZ2UYASABKAVCB7pIBBoCKAESHAoJcGFnZV9zaXplGAIgASgFQgm6SAYaBBhkKAESFAoHdXNlcl9pZBgDIAEoCUgAiAEBEhIKBWVtYWlsGAQgASgJSAGIAQESGQoRZW1haWxfZG9tYWluX2xpc3QYBSADKAkSFQoNbGFuZ3VhZ2VfbGlzdBgGIAMoCRIgChNleGNsdWRlX3poX2NuX3VzZXJzGAcgASgISAKIAQESGAoQY291bnRyeV9pc29fbGlzdBgIIAMoCUIKCghfdXNlcl9pZEIICgZfZW1haWxCFgoUX2V4Y2x1ZGVfemhfY25fdXNlcnMiVQoZTGlzdFF1ZXN0aW9ubmFpcmVSZXNwb25zZRIpCgVpdGVtcxgBIAMoCzIaLnVzZXIudjEuUXVlc3Rpb25uYWlyZUluZm8SDQoFdG90YWwYAiABKAMiHgocR2V0U3lzdGVtTm90aWZpY2F0aW9uUmVxdWVzdCK7AQodR2V0U3lzdGVtTm90aWZpY2F0aW9uUmVzcG9uc2USCgoCaWQYASABKAUSDwoHdmVyc2lvbhgCIAEoBRITCgthbGxvd19jbG9zZRgDIAEoCBIsCghzdGFydF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASKgoGZW5kX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIOCgZlbmFibGUYBiABKAgioQIKH1VwZGF0ZVN5c3RlbU5vdGlmaWNhdGlvblJlcXVlc3QSDwoCaWQYASABKAVIAIgBARIUCgd2ZXJzaW9uGAIgASgFSAGIAQESGAoLYWxsb3dfY2xvc2UYAyABKAhIAogBARIxCghzdGFydF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIA4gBARIvCgZlbmRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSASIAQESEwoGZW5hYmxlGAYgASgISAWIAQFCBQoDX2lkQgoKCF92ZXJzaW9uQg4KDF9hbGxvd19jbG9zZUILCglfc3RhcnRfYXRCCQoHX2VuZF9hdEIJCgdfZW5hYmxlIiIKIFVwZGF0ZVN5c3RlbU5vdGlmaWNhdGlvblJlc3BvbnNlIhsKGUdldFBheW1lbnRTZXR0aW5nc1JlcXVlc3QiOAoaR2V0UGF5bWVudFNldHRpbmdzUmVzcG9uc2USGgoSZGlzYWJsaW5nX3BheW1lbnRzGAEgASgIIjoKHFVwZGF0ZVBheW1lbnRTZXR0aW5nc1JlcXVlc3QSGgoSZGlzYWJsaW5nX3BheW1lbnRzGAEgASgIIh8KHVVwZGF0ZVBheW1lbnRTZXR0aW5nc1Jlc3BvbnNlIhoKGEdldENOVGltZVpvbmVMaXN0UmVxdWVzdCJSChlHZXRDTlRpbWVab25lTGlzdFJlc3BvbnNlEhoKEmRlZmF1bHRfdGltZV96b25lcxgBIAMoCRIZChFlZGl0ZWRfdGltZV96b25lcxgCIAMoCSIxChtVcGRhdGVDTlRpbWVab25lTGlzdFJlcXVlc3QSEgoKdGltZV96b25lcxgBIAMoCSIeChxVcGRhdGVDTlRpbWVab25lTGlzdFJlc3BvbnNlIkIKHUJhbkludml0YXRpb25Db2Rlc0J5SVBSZXF1ZXN0EiEKDGlwX2FkZHJlc3NlcxgBIAMoCUILukgIkgEFCAEQ6AciTAoeQmFuSW52aXRhdGlvbkNvZGVzQnlJUFJlc3BvbnNlEhQKDGJhbm5lZF9jb2RlcxgBIAMoCRIUCgxiYW5uZWRfY291bnQYAiABKAUiFwoVR2V0SVBCbGFja2xpc3RSZXF1ZXN0Ii4KFkdldElQQmxhY2tsaXN0UmVzcG9uc2USFAoMaXBfYWRkcmVzc2VzGAEgAygJIjsKGFVwZGF0ZUlQQmxhY2tsaXN0UmVxdWVzdBIfCgxpcF9hZGRyZXNzZXMYASADKAlCCbpIBpIBAxDoByIbChlVcGRhdGVJUEJsYWNrbGlzdFJlc3BvbnNlIvwCCg9CbG9ja2VkVXNlckluZm8SCgoCaWQYASABKAMSDwoHdXNlcl9pZBgCIAEoCRIOCgZyZWFzb24YAyABKAkSDQoFZW1haWwYBCABKAkSFwoPYXBwcm92ZV91c2VyX2lkGAUgASgJEi4KCmNyZWF0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEioKDGJsb2NrZWRfdHlwZRgIIAEoDjIULnVzZXIudjEuQmxvY2tlZFR5cGUSMwoRYmxvY2tfcmVhc29uX3R5cGUYCSABKA4yGC51c2VyLnYxLkJsb2NrUmVhc29uVHlwZRImCgZzdGF0dXMYCiABKA4yFi51c2VyLnYxLkJsb2NrZWRTdGF0dXMSKwoKZXh0cmFfZGF0YRgLIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3Qi5QEKIENyZWF0ZU9yVXBkYXRlQmxvY2tlZFVzZXJSZXF1ZXN0EhgKBXVzZXJzGAEgAygJQgm6SAaSAQMQiCcSJgoGc3RhdHVzGAIgASgOMhYudXNlci52MS5CbG9ja2VkU3RhdHVzEhMKBnJlYXNvbhgDIAEoCUgAiAEBEioKDGJsb2NrZWRfdHlwZRgEIAEoDjIULnVzZXIudjEuQmxvY2tlZFR5cGUSMwoRYmxvY2tfcmVhc29uX3R5cGUYBSABKA4yGC51c2VyLnYxLkJsb2NrUmVhc29uVHlwZUIJCgdfcmVhc29uIkkKIUNyZWF0ZU9yVXBkYXRlQmxvY2tlZFVzZXJSZXNwb25zZRIVCg1zdWNjZXNzX3VzZXJzGAEgAygJEg0KBXRvdGFsGAIgASgFIqgBChdMaXN0QmxvY2tlZFVzZXJzUmVxdWVzdBIVCgRwYWdlGAEgASgFQge6SAQaAigBEhwKCXBhZ2Vfc2l6ZRgCIAEoBUIJukgGGgQYZCgBEhQKB3VzZXJfaWQYAyABKAlIAIgBARIrCgZzdGF0dXMYBCABKA4yFi51c2VyLnYxLkJsb2NrZWRTdGF0dXNIAYgBAUIKCghfdXNlcl9pZEIJCgdfc3RhdHVzIloKGExpc3RCbG9ja2VkVXNlcnNSZXNwb25zZRIvCg1ibG9ja2VkX3VzZXJzGAEgAygLMhgudXNlci52MS5CbG9ja2VkVXNlckluZm8SDQoFdG90YWwYAiABKAMiKgoXQWRtaW5HZXRVc2VySW5mb1JlcXVlc3QSDwoHdXNlcl9pZBgBIAEoCSKOAwoYQWRtaW5HZXRVc2VySW5mb1Jlc3BvbnNlEg8KB3VzZXJfaWQYASABKAkSDQoFZW1haWwYAiABKAkSEQoJZmlyc3RuYW1lGAMgASgJEhAKCGxhc3RuYW1lGAQgASgJEhMKC2Rpc3BsYXluYW1lGAUgASgJEhAKCG5pY2tuYW1lGAYgASgJEg4KBmF2YXRhchgHIAEoCRIQCghpc19hbHBoYRgIIAEoCBITCgtpbl93YWl0bGlzdBgJIAEoCBITCgt2aXBfdmVyc2lvbhgKIAEoCRIUCgx2aXBfaW50ZXJ2YWwYCyABKAkSGgoSY3VycmVudF9wZXJpb2RfZW5kGAwgASgDEhwKFGNhbmNlbF9hdF9wZXJpb2RfZW5kGA0gASgIEg8KB2lzX2JldGEYDiABKAgSGAoQcGF5bWVudF9wbGF0Zm9ybRgPIAEoCRILCgN1aWQYECABKAkSGwoTY29uY3VycmVudF9zZXNzaW9ucxgRIAEoBRIVCg1wbGF0Zm9ybV9saXN0GBIgAygJIkoKGkdldFVzZXJMb2dvZmZTdGF0dXNSZXF1ZXN0EgsKA2lkcxgBIAMoCRIMCgRwYWdlGAIgASgFEhEKCXBhZ2Vfc2l6ZRgDIAEoBSKBAQoQVXNlckxvZ29mZlN0YXR1cxIKCgJpZBgBIAEoCRINCgVlbWFpbBgCIAEoCRIjCgZzdGF0dXMYAyABKA4yEy51c2VyLnYxLlVzZXJTdGF0dXMSLQoJdXBkYXRlX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJWChtHZXRVc2VyTG9nb2ZmU3RhdHVzUmVzcG9uc2USKAoFdXNlcnMYASADKAsyGS51c2VyLnYxLlVzZXJMb2dvZmZTdGF0dXMSDQoFdG90YWwYAiABKAUibQouQmF0Y2hBZGRBY3Rpdml0eVF1ZXN0aW9ubmFpcmVQZXJtaXNzaW9uUmVxdWVzdBIsCg1hY3Rpdml0eV90eXBlGAEgASgOMhUudXNlci52MS5BY3Rpdml0eVR5cGUSDQoFdXNlcnMYAiADKAkiXgovQmF0Y2hBZGRBY3Rpdml0eVF1ZXN0aW9ubmFpcmVQZXJtaXNzaW9uUmVzcG9uc2USFgoOYWRkZWRfdXNlcl9pZHMYASADKAkSEwoLYWRkZWRfY291bnQYAiABKAUi9AEKEFJpc2tJbnRlbGxpZ2VuY2USCgoCaWQYASABKAMSDwoHdXNlcl9pZBgCIAEoCRIxCgppbnRlbF90eXBlGAMgASgOMh0udXNlci52MS5SaXNrSW50ZWxsaWdlbmNlVHlwZRISCgppbnRlbF9kYXRhGAQgASgJEi8KBnN0YXR1cxgFIAEoDjIfLnVzZXIudjEuUmlza0ludGVsbGlnZW5jZVN0YXR1cxIOCgZzb3VyY2UYBiABKAkSCwoDdGFnGAcgASgJEi4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIrEBChpBZGRSaXNrSW50ZWxsaWdlbmNlUmVxdWVzdBIxCgppbnRlbF90eXBlGAEgASgOMh0udXNlci52MS5SaXNrSW50ZWxsaWdlbmNlVHlwZRISCgppbnRlbF9kYXRhGAIgAygJEi8KBnN0YXR1cxgDIAEoDjIfLnVzZXIudjEuUmlza0ludGVsbGlnZW5jZVN0YXR1cxIOCgZzb3VyY2UYBCABKAkSCwoDdGFnGAUgASgJIh0KG0FkZFJpc2tJbnRlbGxpZ2VuY2VSZXNwb25zZSLeAgobTGlzdFJpc2tJbnRlbGxpZ2VuY2VSZXF1ZXN0EjYKCmludGVsX3R5cGUYASABKA4yHS51c2VyLnYxLlJpc2tJbnRlbGxpZ2VuY2VUeXBlSACIAQESNAoGc3RhdHVzGAIgASgOMh8udXNlci52MS5SaXNrSW50ZWxsaWdlbmNlU3RhdHVzSAGIAQESEwoGc291cmNlGAMgASgJSAKIAQESFAoHdXNlcl9pZBgEIAEoCUgDiAEBEhAKA3RhZxgFIAEoCUgEiAEBEhcKCmludGVsX2RhdGEYBiABKAlIBYgBARIVCgRwYWdlGAcgASgFQge6SAQaAigBEhwKCXBhZ2Vfc2l6ZRgIIAEoBUIJukgGGgQYZCgBQg0KC19pbnRlbF90eXBlQgkKB19zdGF0dXNCCQoHX3NvdXJjZUIKCghfdXNlcl9pZEIGCgRfdGFnQg0KC19pbnRlbF9kYXRhIl4KHExpc3RSaXNrSW50ZWxsaWdlbmNlUmVzcG9uc2USLwoMaW50ZWxsaWdlbmNlGAEgAygLMhkudXNlci52MS5SaXNrSW50ZWxsaWdlbmNlEg0KBXRvdGFsGAIgASgFIqUCCh1VcGRhdGVSaXNrSW50ZWxsaWdlbmNlUmVxdWVzdBIKCgJpZBgBIAEoAxI0CgZzdGF0dXMYAiABKA4yHy51c2VyLnYxLlJpc2tJbnRlbGxpZ2VuY2VTdGF0dXNIAIgBARIQCgN0YWcYAyABKAlIAYgBARITCgZzb3VyY2UYBCABKAlIAogBARIXCgppbnRlbF9kYXRhGAUgASgJSAOIAQESNgoKaW50ZWxfdHlwZRgGIAEoDjIdLnVzZXIudjEuUmlza0ludGVsbGlnZW5jZVR5cGVIBIgBARIOCgZyZWFzb24YByABKAlCCQoHX3N0YXR1c0IGCgRfdGFnQgkKB19zb3VyY2VCDQoLX2ludGVsX2RhdGFCDQoLX2ludGVsX3R5cGUiIAoeVXBkYXRlUmlza0ludGVsbGlnZW5jZVJlc3BvbnNlIjIKI0Rpc2FibGVSaXNrSW50ZWxsaWdlbmNlQnlUYWdSZXF1ZXN0EgsKA3RhZxgBIAEoCSImCiREaXNhYmxlUmlza0ludGVsbGlnZW5jZUJ5VGFnUmVzcG9uc2UqiAEKFlVwZGF0ZVVzZXJDcmVkaXRTdGF0dXMSIgoeVXBkYXRlVXNlckNyZWRpdFN0YXR1c19Vbmtub3duEAASJQohVXBkYXRlVXNlckNyZWRpdFN0YXR1c19Qcm9jZXNzaW5nEAESIwofVXBkYXRlVXNlckNyZWRpdFN0YXR1c19GaW5pc2hlZBACKpsDChNVcGRhdGVDcmVkaXRPcGVyYXRlEiUKIVVQREFURV9DUkVESVRfT1BFUkFURV9VTlNQRUNJRklFRBAAEh4KGlVQREFURV9DUkVESVRfT1BFUkFURV9HSUZUEAESIAocVVBEQVRFX0NSRURJVF9PUEVSQVRFX0RFRFVDVBACEiAKHFVQREFURV9DUkVESVRfT1BFUkFURV9DSEFSR0UQAxIeChpVUERBVEVfQ1JFRElUX09QRVJBVEVfQ09TVBAEEiIKHlVQREFURV9DUkVESVRfT1BFUkFURV9ST0xMQkFDSxAFEiMKH1VQREFURV9DUkVESVRfT1BFUkFURV9SQVRFX0dJRlQQBhIgChxVUERBVEVfQ1JFRElUX09QRVJBVEVfUkVGVU5EEAcSJQohVVBEQVRFX0NSRURJVF9PUEVSQVRFX0lOVklURV9HSUZUEAgSJAogVVBEQVRFX0NSRURJVF9PUEVSQVRFX0xJVkVfRVZFTlQQCRIhCh1VUERBVEVfQ1JFRElUX09QRVJBVEVfUkVGUkVTSBAKKoYBChRJbnZpdGF0aW9uQ29kZVN0YXR1cxImCiJJTlZJVEFUSU9OX0NPREVfU1RBVFVTX1VOU1BFQ0lGSUVEEAASIQodSU5WSVRBVElPTl9DT0RFX1NUQVRVU19BQ1RJVkUQARIjCh9JTlZJVEFUSU9OX0NPREVfU1RBVFVTX0RJU0FCTEVEEAIqigEKDldhaXRsaXN0U3RhdHVzEh8KG1dBSVRMSVNUX1NUQVRVU19VTlNQRUNJRklFRBAAEhsKF1dBSVRMSVNUX1NUQVRVU19QRU5ESU5HEAESHAoYV0FJVExJU1RfU1RBVFVTX0FQUFJPVkVEEAISHAoYV0FJVExJU1RfU1RBVFVTX1JFSkVDVEVEEAMqmgMKEFdhaXRsaXN0UnVsZVR5cGUSIgoeV0FJVExJU1RfUlVMRV9UWVBFX1VOU1BFQ0lGSUVEEAASIwofV0FJVExJU1RfUlVMRV9UWVBFX0JST1dTRVJfTEFORxABEiMKH1dBSVRMSVNUX1JVTEVfVFlQRV9FTUFJTF9ET01BSU4QAhIiCh5XQUlUTElTVF9SVUxFX1RZUEVfQ09VTlRSWV9JU08QAxIkCiBXQUlUTElTVF9SVUxFX1RZUEVfUkVBU09OX0xFTkdUSBAEEi0KKVdBSVRMSVNUX1JVTEVfVFlQRV9FWENMVURFX0NISU5FU0VfUkVBU09OEAUSKAokV0FJVExJU1RfUlVMRV9UWVBFX0VYQ0xVREVfVElNRV9aT05FEAYSJwojV0FJVExJU1RfUlVMRV9UWVBFX1JFUVVFU1RfVElNRV9HVEUQBxInCiNXQUlUTElTVF9SVUxFX1RZUEVfUkVRVUVTVF9USU1FX0xURRAIEiMKH1dBSVRMSVNUX1JVTEVfVFlQRV9BSV9TQ09SRV9HVEUQCSp9ChJXYWl0bGlzdEF1dG9BY3Rpb24SJAogV0FJVExJU1RfQVVUT19BQ1RJT05fVU5TUEVDSUZJRUQQABIgChxXQUlUTElTVF9BVVRPX0FDVElPTl9BUFBST1ZFEAESHwobV0FJVExJU1RfQVVUT19BQ1RJT05fUkVKRUNUEAIqkgEKFldhaXRsaXN0QXV0b1Rhc2tTdGF0dXMSKQolV0FJVExJU1RfQVVUT19UQVNLX1NUQVRVU19VTlNQRUNJRklFRBAAEiUKIVdBSVRMSVNUX0FVVE9fVEFTS19TVEFUVVNfRU5BQkxFRBABEiYKIldBSVRMSVNUX0FVVE9fVEFTS19TVEFUVVNfRElTQUJMRUQQAippCg1CbG9ja2VkU3RhdHVzEh4KGkJMT0NLRURfU1RBVFVTX1VOU1BFQ0lGSUVEEAASGgoWQkxPQ0tFRF9TVEFUVVNfQkxPQ0tFRBABEhwKGEJMT0NLRURfU1RBVFVTX1VOQkxPQ0tFRBACKnEKClVzZXJTdGF0dXMSGwoXVVNFUl9TVEFUVVNfVU5TUEVDSUZJRUQQABIWChJVU0VSX1NUQVRVU19BQ1RJVkUQARIWChJVU0VSX1NUQVRVU19CQU5ORUQQAhIWChJVU0VSX1NUQVRVU19MT0dPRkYQAyrTAQoUUmlza0ludGVsbGlnZW5jZVR5cGUSJgoiVVNFUl9JTlRFTExJR0VOQ0VfVFlQRV9VTlNQRUNJRklFRBAAEh0KGVVTRVJfSU5URUxMSUdFTkNFX1RZUEVfSVAQARIpCiVVU0VSX0lOVEVMTElHRU5DRV9UWVBFX0VNQUlMX1BST1ZJREVSEAISJwojVVNFUl9JTlRFTExJR0VOQ0VfVFlQRV9FTUFJTF9TVUZGSVgQAxIgChxVU0VSX0lOVEVMTElHRU5DRV9UWVBFX1BIT05FEAQqkAEKFlJpc2tJbnRlbGxpZ2VuY2VTdGF0dXMSKAokVVNFUl9JTlRFTExJR0VOQ0VfU1RBVFVTX1VOU1BFQ0lGSUVEEAASJgoiVVNFUl9JTlRFTExJR0VOQ0VfU1RBVFVTX0VGRkVDVElWRRABEiQKIFVTRVJfSU5URUxMSUdFTkNFX1NUQVRVU19JTlZBTElEEAIyjhwKEFVzZXJBZG1pblNlcnZpY2USYwoUQ3JlYXRlSW52aXRhdGlvbkNvZGUSJC51c2VyLnYxLkNyZWF0ZUludml0YXRpb25Db2RlUmVxdWVzdBolLnVzZXIudjEuQ3JlYXRlSW52aXRhdGlvbkNvZGVSZXNwb25zZRJgChNMaXN0SW52aXRhdGlvbkNvZGVzEiMudXNlci52MS5MaXN0SW52aXRhdGlvbkNvZGVzUmVxdWVzdBokLnVzZXIudjEuTGlzdEludml0YXRpb25Db2Rlc1Jlc3BvbnNlEmkKFkdldEludml0YXRpb25Db2RlVXNhZ2USJi51c2VyLnYxLkdldEludml0YXRpb25Db2RlVXNhZ2VSZXF1ZXN0GicudXNlci52MS5HZXRJbnZpdGF0aW9uQ29kZVVzYWdlUmVzcG9uc2USYwoUVXBkYXRlSW52aXRhdGlvbkNvZGUSJC51c2VyLnYxLlVwZGF0ZUludml0YXRpb25Db2RlUmVxdWVzdBolLnVzZXIudjEuVXBkYXRlSW52aXRhdGlvbkNvZGVSZXNwb25zZRJsChdHZXRJbnZpdGF0aW9uU3RhdGlzdGljcxInLnVzZXIudjEuR2V0SW52aXRhdGlvblN0YXRpc3RpY3NSZXF1ZXN0GigudXNlci52MS5HZXRJbnZpdGF0aW9uU3RhdGlzdGljc1Jlc3BvbnNlEksKDExpc3RXYWl0bGlzdBIcLnVzZXIudjEuTGlzdFdhaXRsaXN0UmVxdWVzdBodLnVzZXIudjEuTGlzdFdhaXRsaXN0UmVzcG9uc2USYwoUVXBkYXRlV2FpdGxpc3RTdGF0dXMSJC51c2VyLnYxLlVwZGF0ZVdhaXRsaXN0U3RhdHVzUmVxdWVzdBolLnVzZXIudjEuVXBkYXRlV2FpdGxpc3RTdGF0dXNSZXNwb25zZRJpChZDcmVhdGVXYWl0bGlzdEF1dG9UYXNrEiYudXNlci52MS5DcmVhdGVXYWl0bGlzdEF1dG9UYXNrUmVxdWVzdBonLnVzZXIudjEuQ3JlYXRlV2FpdGxpc3RBdXRvVGFza1Jlc3BvbnNlEmMKFExpc3RXYWl0bGlzdEF1dG9UYXNrEiQudXNlci52MS5MaXN0V2FpdGxpc3RBdXRvVGFza1JlcXVlc3QaJS51c2VyLnYxLkxpc3RXYWl0bGlzdEF1dG9UYXNrUmVzcG9uc2USWgoRTGlzdFF1ZXN0aW9ubmFpcmUSIS51c2VyLnYxLkxpc3RRdWVzdGlvbm5haXJlUmVxdWVzdBoiLnVzZXIudjEuTGlzdFF1ZXN0aW9ubmFpcmVSZXNwb25zZRJmChVHZXRTeXN0ZW1Ob3RpZmljYXRpb24SJS51c2VyLnYxLkdldFN5c3RlbU5vdGlmaWNhdGlvblJlcXVlc3QaJi51c2VyLnYxLkdldFN5c3RlbU5vdGlmaWNhdGlvblJlc3BvbnNlEm8KGFVwZGF0ZVN5c3RlbU5vdGlmaWNhdGlvbhIoLnVzZXIudjEuVXBkYXRlU3lzdGVtTm90aWZpY2F0aW9uUmVxdWVzdBopLnVzZXIudjEuVXBkYXRlU3lzdGVtTm90aWZpY2F0aW9uUmVzcG9uc2USXQoSR2V0UGF5bWVudFNldHRpbmdzEiIudXNlci52MS5HZXRQYXltZW50U2V0dGluZ3NSZXF1ZXN0GiMudXNlci52MS5HZXRQYXltZW50U2V0dGluZ3NSZXNwb25zZRJmChVVcGRhdGVQYXltZW50U2V0dGluZ3MSJS51c2VyLnYxLlVwZGF0ZVBheW1lbnRTZXR0aW5nc1JlcXVlc3QaJi51c2VyLnYxLlVwZGF0ZVBheW1lbnRTZXR0aW5nc1Jlc3BvbnNlEloKEUdldENOVGltZVpvbmVMaXN0EiEudXNlci52MS5HZXRDTlRpbWVab25lTGlzdFJlcXVlc3QaIi51c2VyLnYxLkdldENOVGltZVpvbmVMaXN0UmVzcG9uc2USYwoUVXBkYXRlQ05UaW1lWm9uZUxpc3QSJC51c2VyLnYxLlVwZGF0ZUNOVGltZVpvbmVMaXN0UmVxdWVzdBolLnVzZXIudjEuVXBkYXRlQ05UaW1lWm9uZUxpc3RSZXNwb25zZRJpChZCYW5JbnZpdGF0aW9uQ29kZXNCeUlQEiYudXNlci52MS5CYW5JbnZpdGF0aW9uQ29kZXNCeUlQUmVxdWVzdBonLnVzZXIudjEuQmFuSW52aXRhdGlvbkNvZGVzQnlJUFJlc3BvbnNlElEKDkdldElQQmxhY2tsaXN0Eh4udXNlci52MS5HZXRJUEJsYWNrbGlzdFJlcXVlc3QaHy51c2VyLnYxLkdldElQQmxhY2tsaXN0UmVzcG9uc2USWgoRVXBkYXRlSVBCbGFja2xpc3QSIS51c2VyLnYxLlVwZGF0ZUlQQmxhY2tsaXN0UmVxdWVzdBoiLnVzZXIudjEuVXBkYXRlSVBCbGFja2xpc3RSZXNwb25zZRJRCg5MaXN0VXNlckNyZWRpdBIeLnVzZXIudjEuTGlzdFVzZXJDcmVkaXRSZXF1ZXN0Gh8udXNlci52MS5MaXN0VXNlckNyZWRpdFJlc3BvbnNlElcKEFVwZGF0ZVVzZXJDcmVkaXQSIC51c2VyLnYxLlVwZGF0ZVVzZXJDcmVkaXRSZXF1ZXN0GiEudXNlci52MS5VcGRhdGVVc2VyQ3JlZGl0UmVzcG9uc2USdQoaTG9vcFVwZGF0ZVVzZXJDcmVkaXRTdGF0dXMSKi51c2VyLnYxLkxvb3BVcGRhdGVVc2VyQ3JlZGl0U3RhdHVzUmVxdWVzdBorLnVzZXIudjEuTG9vcFVwZGF0ZVVzZXJDcmVkaXRTdGF0dXNSZXNwb25zZRJjChRMaXN0VXNlckNyZWRpdFJlY29yZBIkLnVzZXIudjEuTGlzdFVzZXJDcmVkaXRSZWNvcmRSZXF1ZXN0GiUudXNlci52MS5MaXN0VXNlckNyZWRpdFJlY29yZFJlc3BvbnNlElcKEExpc3RCbG9ja2VkVXNlcnMSIC51c2VyLnYxLkxpc3RCbG9ja2VkVXNlcnNSZXF1ZXN0GiEudXNlci52MS5MaXN0QmxvY2tlZFVzZXJzUmVzcG9uc2UScgoZQ3JlYXRlT3JVcGRhdGVCbG9ja2VkVXNlchIpLnVzZXIudjEuQ3JlYXRlT3JVcGRhdGVCbG9ja2VkVXNlclJlcXVlc3QaKi51c2VyLnYxLkNyZWF0ZU9yVXBkYXRlQmxvY2tlZFVzZXJSZXNwb25zZRJLCgxHZXRVc2VyUXVvdGESHC51c2VyLnYxLkdldFVzZXJRdW90YVJlcXVlc3QaHS51c2VyLnYxLkdldFVzZXJRdW90YVJlc3BvbnNlElkKEEFkbWluR2V0VXNlckluZm8SIC51c2VyLnYxLkFkbWluR2V0VXNlckluZm9SZXF1ZXN0GiEudXNlci52MS5BZG1pbkdldFVzZXJJbmZvUmVzcG9uc2UiABJgChNHZXRVc2VyTG9nb2ZmU3RhdHVzEiMudXNlci52MS5HZXRVc2VyTG9nb2ZmU3RhdHVzUmVxdWVzdBokLnVzZXIudjEuR2V0VXNlckxvZ29mZlN0YXR1c1Jlc3BvbnNlEkEKCExpc3RVc2VyEhgudXNlci52MS5MaXN0VXNlclJlcXVlc3QaGS51c2VyLnYxLkxpc3RVc2VyUmVzcG9uc2UiABJTCg5MaXN0VXNlclZpcExvZxIeLnVzZXIudjEuTGlzdFVzZXJWaXBMb2dSZXF1ZXN0Gh8udXNlci52MS5MaXN0VXNlclZpcExvZ1Jlc3BvbnNlIgASTQoMQWRtaW5HaWZ0VmlwEhwudXNlci52MS5BZG1pbkdpZnRWaXBSZXF1ZXN0Gh0udXNlci52MS5BZG1pbkdpZnRWaXBSZXNwb25zZSIAEp4BCidCYXRjaEFkZEFjdGl2aXR5UXVlc3Rpb25uYWlyZVBlcm1pc3Npb24SNy51c2VyLnYxLkJhdGNoQWRkQWN0aXZpdHlRdWVzdGlvbm5haXJlUGVybWlzc2lvblJlcXVlc3QaOC51c2VyLnYxLkJhdGNoQWRkQWN0aXZpdHlRdWVzdGlvbm5haXJlUGVybWlzc2lvblJlc3BvbnNlIgASYgoTQWRkUmlza0ludGVsbGlnZW5jZRIjLnVzZXIudjEuQWRkUmlza0ludGVsbGlnZW5jZVJlcXVlc3QaJC51c2VyLnYxLkFkZFJpc2tJbnRlbGxpZ2VuY2VSZXNwb25zZSIAEmUKFExpc3RSaXNrSW50ZWxsaWdlbmNlEiQudXNlci52MS5MaXN0Umlza0ludGVsbGlnZW5jZVJlcXVlc3QaJS51c2VyLnYxLkxpc3RSaXNrSW50ZWxsaWdlbmNlUmVzcG9uc2UiABJrChZVcGRhdGVSaXNrSW50ZWxsaWdlbmNlEiYudXNlci52MS5VcGRhdGVSaXNrSW50ZWxsaWdlbmNlUmVxdWVzdBonLnVzZXIudjEuVXBkYXRlUmlza0ludGVsbGlnZW5jZVJlc3BvbnNlIgASfQocRGlzYWJsZVJpc2tJbnRlbGxpZ2VuY2VCeVRhZxIsLnVzZXIudjEuRGlzYWJsZVJpc2tJbnRlbGxpZ2VuY2VCeVRhZ1JlcXVlc3QaLS51c2VyLnYxLkRpc2FibGVSaXNrSW50ZWxsaWdlbmNlQnlUYWdSZXNwb25zZSIAQpUBCgtjb20udXNlci52MUIOVXNlckFkbWluUHJvdG9QAVo5Z2l0bGFiLm1vbmljYS5jbi92aWRhL3Nkay9iaXpzZXJ2ZXItZ28uZ2l0L3VzZXIvdjE7dXNlcnYxogIDVVhYqgIHVXNlci5WMcoCB1VzZXJcVjHiAhNVc2VyXFYxXEdQQk1ldGFkYXRh6gIIVXNlcjo6VjFiBnByb3RvMw”,[Re,Ue,_,Pi]),ZA=Q(AA,0),yd=J(“Chp1c2VyL3YxL3N1YnNjcmlwdGlvbi5wcm90bxIHdXNlci52MSJECh1Mb29wVGVhbVVwZ3JhZGVTdGF0dXNSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yEy51c2VyLnYxLkxvb3BTdGF0dXMiRAocTG9vcFRlYW1VcGdyYWRlU3RhdHVzUmVxdWVzdBIQCgh0ZWFtX3VpZBgBIAEoCRISCgppbnZvaWNlX2lkGAIgASgJIkAKD1ByZXZpZXdSZXNwb25zZRIRCglzdWJfdG90YWwYASABKAkSCwoDdGF4GAIgASgJEg0KBXRvdGFsGAMgASgJIjUKDlByZXZpZXdSZXF1ZXN0EiMKCHBsYW5fa2V5GAEgASgOMhEudXNlci52MS5QbGFuX0tleSIQCg5VcGRhdGVSZXNwb25zZSI0Cg1VcGRhdGVSZXF1ZXN0EiMKCHBsYW5fa2V5GAEgASgOMhEudXNlci52MS5QbGFuX0tleSJWCh1UZWFtU3Vic2NyaXB0aW9uVXBkYXRlUmVxdWVzdBIjCghwbGFuX2tleRgBIAEoDjIRLnVzZXIudjEuUGxhbl9LZXkSEAoIcXVhbnRpdHkYAiABKAUiSAoeVGVhbVN1YnNjcmlwdGlvblVwZGF0ZVJlc3BvbnNlEhIKCklzX3VwZ3JhZGUYASABKAgSEgoKaW52b2ljZV9pZBgCIAEoCSJXCh5UZWFtU3Vic2NyaXB0aW9uUHJldmlld1JlcXVlc3QSIwoIcGxhbl9rZXkYASABKA4yES51c2VyLnYxLlBsYW5fS2V5EhAKCHF1YW50aXR5GAIgASgFIqwBCh9UZWFtU3Vic2NyaXB0aW9uUHJldmlld1Jlc3BvbnNlEhEKCXN1Yl90b3RhbBgBIAEoCRILCgN0YXgYAiABKAkSDQoFdG90YWwYAyABKAkSHAoUbmV4dF9wYXltZW50X2F0dGVtcHQYBCABKAMSFgoObmV4dF9zdWJfdG90YWwYBSABKAkSEAoIbmV4dF90YXgYBiABKAkSEgoKbmV4dF90b3RhbBgHIAEoCSJzCg9DaGVja291dFJlcXVlc3QSIwoIcGxhbl9rZXkYASABKA4yES51c2VyLnYxLlBsYW5fS2V5EhIKCmNhbmNlbF91cmwYAiABKAkSEwoLc3VjY2Vzc191cmwYAyABKAkSEgoKbW90aXZhdGlvbhgEIAEoCSI8ChBDaGVja291dFJlc3BvbnNlEhIKCnNlc3Npb25faWQYASABKAkSFAoMY2hlY2tvdXRfdXJsGAIgASgJIpMBCh9UZWFtU3Vic2NyaXB0aW9uQ2hlY2tvdXRSZXF1ZXN0EhAKCHRlYW1fdWlkGAEgASgJEiMKCHBsYW5fa2V5GAIgASgOMhEudXNlci52MS5QbGFuX0tleRIQCghxdWFudGl0eRgDIAEoBRISCgpjYW5jZWxfdXJsGAQgASgJEhMKC3N1Y2Nlc3NfdXJsGAUgASgJIkwKIFRlYW1TdWJzY3JpcHRpb25DaGVja291dFJlc3BvbnNlEhIKCnNlc3Npb25faWQYASABKAkSFAoMY2hlY2tvdXRfdXJsGAIgASgJIk4KDUNhbmNlbFJlcXVlc3QSLAoNY2FuY2VsX3JlYXNvbhgBIAEoDjIVLnVzZXIudjEuQ2FuY2VsUmVhc29uEg8KB2NvbW1lbnQYAiABKAkiEAoOQ2FuY2VsUmVzcG9uc2UiDwoNUmVzdW1lUmVxdWVzdCIQCg5SZXN1bWVSZXNwb25zZSIiCgxRdWVyeVJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCSI6Cg1RdWVyeVJlc3BvbnNlEhcKD3N1YnNjcmlwdGlvbl9pZBgBIAEoCRIQCgh0ZWFtX3VpZBgCIAEoCSIUChJCaWxsaW5nUGFnZVJlcXVlc3QiIgoTQmlsbGluZ1BhZ2VSZXNwb25zZRILCgN1cmwYASABKAkiIAoeUmV2ZW51ZWNhdFN5bmNDdXN0b21lclJlcXVlc3RfIiEKH1JldmVudWVjYXRTeW5jQ3VzdG9tZXJSZXNwb25zZV8qbgoKTG9vcFN0YXR1cxIWChJMb29wU3RhdHVzX1Vua25vd24QABIZChVMb29wU3RhdHVzX1Byb2Nlc3NpbmcQARIWChJMb29wU3RhdHVzX1N1Y2Nlc3MQAhIVChFMb29wU3RhdHVzX0ZhaWxlZBADKoUCCghQbGFuX0tleRILCgdVTktOT1dOEAASDwoLUFJPX01PTlRITFkQARISCg5DQVNVQUxfTU9OVEhMWRACEg4KClBST19ZRUFSTFkQAxIRCg1DQVNVQUxfWUVBUkxZEAQSEAoMTElURV9NT05USExZEAUSDwoLTElURV9ZRUFSTFkQBhIQCgxDUkVESVRTXzIwMDAQZRIRCg1DUkVESVRTXzEwMDAwEGYSEQoNQ1JFRElUU18xOTkwMBBnEhEKDFRFQU1fTU9OVEhMWRDJARIQCgtURUFNX1lFQVJMWRDKARIPCgpURUFNX0FERE9OEMsBEhMKDlRFQU1fREVEVUNUSU9OEMwBKsoCCgxDYW5jZWxSZWFzb24SGAoUQ2FuY2VsUmVhc29uX1Vua25vd24QABIdChlDYW5jZWxSZWFzb25fVG9vRXhwZW5zaXZlEAESHwobQ2FuY2VsUmVhc29uX05vTG9uZ2VyTmVlZEl0EAISIwofQ2FuY2VsUmVhc29uX0ZvdW5kQW5BbHRlcm5hdGl2ZRADEh8KG0NhbmNlbFJlYXNvbl9EaWZmaWN1bHRUb1VzZRAEEiYKIkNhbmNlbFJlYXNvbl9EaWRudE1lZXRFeHBlY3RhdGlvbnMQBRIcChhDYW5jZWxSZWFzb25fT3RoZXJSZWFzb24QBhIvCitDYW5jZWxSZWFzb25fU3RpbGxEZWNpZGluZ0F2b2lkaW5nQXV0b1JlbmV3EAcSIwofQ2FuY2VsUmVhc29uX0RhdGFQcml2YWN5Q29uY2VybhAIMv4HChNTdWJzY3JpcHRpb25TZXJ2aWNlEjgKBVF1ZXJ5EhUudXNlci52MS5RdWVyeVJlcXVlc3QaFi51c2VyLnYxLlF1ZXJ5UmVzcG9uc2UiABI7CgZVcGRhdGUSFi51c2VyLnYxLlVwZGF0ZVJlcXVlc3QaFy51c2VyLnYxLlVwZGF0ZVJlc3BvbnNlIgASPgoHUHJldmlldxIXLnVzZXIudjEuUHJldmlld1JlcXVlc3QaGC51c2VyLnYxLlByZXZpZXdSZXNwb25zZSIAEkEKCENoZWNrb3V0EhgudXNlci52MS5DaGVja291dFJlcXVlc3QaGS51c2VyLnYxLkNoZWNrb3V0UmVzcG9uc2UiABJxChhUZWFtU3Vic2NyaXB0aW9uQ2hlY2tvdXQSKC51c2VyLnYxLlRlYW1TdWJzY3JpcHRpb25DaGVja291dFJlcXVlc3QaKS51c2VyLnYxLlRlYW1TdWJzY3JpcHRpb25DaGVja291dFJlc3BvbnNlIgASawoWVGVhbVN1YnNjcmlwdGlvblVwZGF0ZRImLnVzZXIudjEuVGVhbVN1YnNjcmlwdGlvblVwZGF0ZVJlcXVlc3QaJy51c2VyLnYxLlRlYW1TdWJzY3JpcHRpb25VcGRhdGVSZXNwb25zZSIAEm4KF1RlYW1TdWJzY3JpcHRpb25QcmV2aWV3EicudXNlci52MS5UZWFtU3Vic2NyaXB0aW9uUHJldmlld1JlcXVlc3QaKC51c2VyLnYxLlRlYW1TdWJzY3JpcHRpb25QcmV2aWV3UmVzcG9uc2UiABI7CgZDYW5jZWwSFi51c2VyLnYxLkNhbmNlbFJlcXVlc3QaFy51c2VyLnYxLkNhbmNlbFJlc3BvbnNlIgASOwoGUmVzdW1lEhYudXNlci52MS5SZXN1bWVSZXF1ZXN0GhcudXNlci52MS5SZXN1bWVSZXNwb25zZSIAEkoKC0JpbGxpbmdQYWdlEhsudXNlci52MS5CaWxsaW5nUGFnZVJlcXVlc3QaHC51c2VyLnYxLkJpbGxpbmdQYWdlUmVzcG9uc2UiABJtChZSZXZlbnVlY2F0U3luY0N1c3RvbWVyEicudXNlci52MS5SZXZlbnVlY2F0U3luY0N1c3RvbWVyUmVxdWVzdF8aKC51c2VyLnYxLlJldmVudWVjYXRTeW5jQ3VzdG9tZXJSZXNwb25zZV8iABJoChVMb29wVGVhbVVwZ3JhZGVTdGF0dXMSJS51c2VyLnYxLkxvb3BUZWFtVXBncmFkZVN0YXR1c1JlcXVlc3QaJi51c2VyLnYxLkxvb3BUZWFtVXBncmFkZVN0YXR1c1Jlc3BvbnNlIgBCmAEKC2NvbS51c2VyLnYxQhFTdWJzY3JpcHRpb25Qcm90b1ABWjlnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvdXNlci92MTt1c2VydjGiAgNVWFiqAgdVc2VyLlYxygIHVXNlclxWMeICE1VzZXJcVjFcR1BCTWV0YWRhdGHqAghVc2VyOjpWMWIGcHJvdG8z”),fA=Q(yd,0),pA=J(“Chl1c2VyL3YxL3VzZXJfcHVibGljLnByb3RvEgd1c2VyLnYxInwKF0dldEV4Y2hhbmdlSW5mb1Jlc3BvbnNlEi8KDWFkZG9uX2NyZWRpdHMYASADKAsyGC51c2VyLnYxLkFkZG9uQ3JlZGl0SW5mbxIwCg1zdWJzY3JpcHRpb25zGAIgAygLMhkudXNlci52MS5TdWJzY3JpcHRpb25JbmZvImsKEFN1YnNjcmlwdGlvbkluZm8SHwoEcGxhbhgBIAEoDjIRLnVzZXIudjEuUGxhbl9LZXkSDQoFcHJpY2UYAiABKAUSFgoOZGlzY291bnRfcHJpY2UYAyABKAUSDwoHY3JlZGl0cxgEIAEoBSJSCg9BZGRvbkNyZWRpdEluZm8SHwoEcGxhbhgBIAEoDjIRLnVzZXIudjEuUGxhbl9LZXkSDQoFcHJpY2UYAiABKAUSDwoHY3JlZGl0cxgDIAEoBSIYChZHZXRFeGNoYW5nZUluZm9SZXF1ZXN0IvICChNKb2luV2FpdGxpc3RSZXF1ZXN0EioKBWVtYWlsGAEgASgJQhu6SBhyFjIUXlteQF0rQFteQF0rXC5bXkBdKyQSDgoGcmVhc29uGAIgASgJEisKCmV4dHJhX2RhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eh0KFWNmX2NoYWxsZW5nZV9yZXNwb25zZRgEIAEoCRIjChtoY2FwdGNoYV9jaGFsbGVuZ2VfcmVzcG9uc2UYBSABKAkSFwoKd29ya19lbWFpbBgGIAEoCUgAiAEBEhcKCnByb2Zlc3Npb24YByABKAlIAYgBARIhChRzb2NpYWxfbWVkaWFfYWNjb3VudBgIIAEoCUgCiAEBEhUKCGluZHVzdHJ5GAkgASgJSAOIAQFCDQoLX3dvcmtfZW1haWxCDQoLX3Byb2Zlc3Npb25CFwoVX3NvY2lhbF9tZWRpYV9hY2NvdW50QgsKCV9pbmR1c3RyeSJPChRKb2luV2FpdGxpc3RSZXNwb25zZRIVCg1hdXRvX2FwcHJvdmVkGAEgASgIEhQKB29yZ191aWQYAiABKAlIAIgBAUIKCghfb3JnX3VpZCJtChFTdGFydE9hdXRoUmVxdWVzdBIZCgZpZHBfaWQYAiABKAlCCbpIBnIEEAEYIBIfCgtzdWNjZXNzX3VybBgDIAEoCUIKukgHcgUQARiACBIcCghmYWlsX3VybBgEIAEoCUIKukgHcgUQARiACCIhChJTdGFydE9hdXRoUmVzcG9uc2USCwoDdXJsGAEgASgJInMKE09hdXRoU3VjY2Vzc1JlcXVlc3QSCgoCaWQYASABKAkSDQoFdG9rZW4YAiABKAkSDwoHdXNlcl9pZBgDIAEoCRIcCg9hdXRoX3JlcXVlc3RfaWQYBCABKAlIAIgBAUISChBfYXV0aF9yZXF1ZXN0X2lkIiUKFE9hdXRoU3VjY2Vzc1Jlc3BvbnNlEg0KBXRva2VuGAEgASgJIkAKCkF0dGFjaG1lbnQSEQoJZmlsZV9uYW1lGAEgASgJEhEKCW1pbWVfdHlwZRgCIAEoCRIMCgRkYXRhGAMgASgJIpECChVTdWJtaXRGZWVkYmFja1JlcXVlc3QSIwoEdHlwZRgBIAEoDjIVLnVzZXIudjEuRmVlZGJhY2tUeXBlEg0KBXRpdGxlGAIgASgJEhsKB2NvbnRlbnQYAyABKAlCCrpIB3IFEAEYkE4SKgoFZW1haWwYBCABKAlCG7pIGHIWMhReW15AXStAW15AXStcLlteQF0rJBINCgVyZWZlchgFIAEoCRIVCg1vcmlnaW5fZG9tYWluGAYgASgJEisKCmV4dHJhX2RhdGEYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EigKC2F0dGFjaG1lbnRzGAggAygLMhMudXNlci52MS5BdHRhY2htZW50Ii0KFlN1Ym1pdEZlZWRiYWNrUmVzcG9uc2USEwoLZmVlZGJhY2tfaWQYASABKAMifAodUHJlQ2hlY2tJbnZpdGF0aW9uQ29kZVJlcXVlc3QSFwoEY29kZRgBIAEoCUIJukgGcgQQBhggEh0KFWNmX2NoYWxsZW5nZV9yZXNwb25zZRgCIAEoCRIjChtoY2FwdGNoYV9jaGFsbGVuZ2VfcmVzcG9uc2UYAyABKAkiIAoeUHJlQ2hlY2tJbnZpdGF0aW9uQ29kZVJlc3BvbnNlIhQKEkNoZWNrUmVnaW9uUmVxdWVzdCJjChNDaGVja1JlZ2lvblJlc3BvbnNlEhYKDmlzX3Vuc3VwcG9ydGVkGAEgASgIEhkKEWlzX3Vuc3VwcG9ydGVkX3YyGAIgASgIEgsKA2lzbxgDIAEoCRIMCgRjb2RlGAQgASgJIjsKIUNoZWNrSW52aXRhdGlvbkNvZGVSZW1haW5zUmVxdWVzdBIWCg5pbnZpdGVfY29kZV9pZBgBIAEoCSLwAQoiQ2hlY2tJbnZpdGF0aW9uQ29kZVJlbWFpbnNSZXNwb25zZRIQCghtYXhfdXNlcxgBIAEoAxIPCgdyZW1haW5zGAIgASgDEg4KBnJlbWFyaxgDIAEoCRIMCgRraW5kGAQgASgFEhEKCXVzZXJfbmFtZRgFIAEoCRIWCg5lZHVfZW1haWxfbGlzdBgHIAMoCRIQCghlZHVfbmFtZRgIIAEoCRIXCg9lZHVfdW5pcXVlX25hbWUYCSABKAkSGQoRcmVjb21tZW5kX2NyZWRpdHMYCiABKAUSGAoQcmVnaXN0ZXJfY3JlZGl0cxgLIAEoBSIaChhHZXRHbG9iYWxTZXR0aW5nc1JlcXVlc3QinQEKD0dsb2JhbEVycm9ySW5mbxIKCgJpZBgBIAEoBRIPCgd2ZXJzaW9uGAIgASgFEhMKC2FsbG93X2Nsb3NlGAMgASgIEiwKCHN0YXJ0X2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIqCgZlbmRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wImcKGUdldEdsb2JhbFNldHRpbmdzUmVzcG9uc2USGgoSZGlzYWJsaW5nX3BheW1lbnRzGAEgASgIEi4KDGdsb2JhbF9lcnJvchgCIAEoCzIYLnVzZXIudjEuR2xvYmFsRXJyb3JJbmZvIloKHlZlcmlmeU9yZ2FuaXphdGlvbkVtYWlsUmVxdWVzdBISCgVlbWFpbBgCIAEoCUgAiAEBEhEKBGNvZGUYAyABKAlIAYgBAUIICgZfZW1haWxCBwoFX2NvZGUiXgofVmVyaWZ5T3JnYW5pemF0aW9uRW1haWxSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEgsKA21zZxgCIAEoCRIPCgdvcmdfdWlkGAMgASgJEgwKBGNvZGUYBCABKAUiVAojR2V0Q2FtcHVzSW52aXRhdGlvbkNvZGVVc2FnZVJlcXVlc3QSDAoEcGFnZRgBIAEoBRIRCglwYWdlX3NpemUYAiABKAUSDAoEY29kZRgDIAEoCSK2AQokR2V0Q2FtcHVzSW52aXRhdGlvbkNvZGVVc2FnZVJlc3BvbnNlEi8KBGNvZGUYASABKAsyIS51c2VyLnYxLkNhbXB1c0ludml0YXRpb25Db2RlSW5mbxI4CglyZWxhdGlvbnMYAiADKAsyJS51c2VyLnYxLkNhbXB1c0ludml0YXRpb25SZWxhdGlvbkluZm8SDQoFdG90YWwYAyABKAUSFAoMdG90YWxfZWFybmVkGAQgASgFIqsCChhDYW1wdXNJbnZpdGF0aW9uQ29kZUluZm8SCgoCaWQYASABKAMSDwoHdXNlcl9pZBgCIAEoCRITCgtpbnZpdGVfY29kZRgDIAEoCRIpCgRraW5kGAQgASgOMhsudXNlci52MS5JbnZpdGF0aW9uQ29kZUtpbmQSFAoMaXNfYWN0aXZhdGVkGAUgASgIEhAKCG1heF91c2VzGAYgASgFEhIKCnVzZWRfY291bnQYByABKAUSEgoKY3JlYXRlZF9ieRgIIAEoCRIuCgpjcmVhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBILCgN0YWcYCiABKAkSDgoGcmVtYXJrGAsgASgJEhUKDWZpc3Npb25fY291bnQYDCABKAUihAIKHENhbXB1c0ludml0YXRpb25SZWxhdGlvbkluZm8SCgoCaWQYASABKAMSEgoKaW52aXRlcl9pZBgCIAEoCRIVCg1pbnZpdGVlX2VtYWlsGAMgASgJEhMKC2ludml0ZV9jb2RlGAQgASgJEjcKBnN0YXR1cxgFIAEoDjInLnVzZXIudjEuQ2FtcHVzSW52aXRhdGlvblJlbGF0aW9uU3RhdHVzEi4KCmNyZWF0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi8KC2FjY2VwdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCI5CihTZW5kQ2FtcHVzRW1haWxWZXJpZnlDb2RlV2l0aEF1dGhSZXF1ZXN0Eg0KBWVtYWlsGAIgASgJIkkKKVNlbmRDYW1wdXNFbWFpbFZlcmlmeUNvZGVXaXRoQXV0aFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSCwoDbXNnGAIgASgJKqYCCgxGZWVkYmFja1R5cGUSHQoZRkVFREJBQ0tfVFlQRV9VTlNQRUNJRklFRBAAEhUKEUZFRURCQUNLX1RZUEVfQlVHEAESKAokRkVFREJBQ0tfVFlQRV9GRUFUVVJFX1ZJUF9PUl9QQVlNRU5UEAISHwobRkVFREJBQ0tfVFlQRV9BQ0NPVU5UX0lTU1VFEAMSHAoYRkVFREJBQ0tfVFlQRV9URUFNX0lTU1VFEAQSIgoeRkVFREJBQ0tfVFlQRV9TTVNfVkVSSUZJQ0FUSU9OEAUSIQodRkVFREJBQ0tfVFlQRV9GRUFUVVJFX1JFUVVFU1QQBhIXChNGRUVEQkFDS19UWVBFX09USEVSEAcSFwoTRkVFREJBQ0tfVFlQRV9FTUFJTBAIKjsKHkNhbXB1c0ludml0YXRpb25SZWxhdGlvblN0YXR1cxILCgdQRU5ESU5HEAASDAoIQWNjZXB0ZWQQATKXCQoRVXNlclB1YmxpY1NlcnZpY2USSwoMSm9pbldhaXRsaXN0EhwudXNlci52MS5Kb2luV2FpdGxpc3RSZXF1ZXN0Gh0udXNlci52MS5Kb2luV2FpdGxpc3RSZXNwb25zZRJFCgpTdGFydE9hdXRoEhoudXNlci52MS5TdGFydE9hdXRoUmVxdWVzdBobLnVzZXIudjEuU3RhcnRPYXV0aFJlc3BvbnNlEksKDE9hdXRoU3VjY2VzcxIcLnVzZXIudjEuT2F1dGhTdWNjZXNzUmVxdWVzdBodLnVzZXIudjEuT2F1dGhTdWNjZXNzUmVzcG9uc2USUQoOU3VibWl0RmVlZGJhY2sSHi51c2VyLnYxLlN1Ym1pdEZlZWRiYWNrUmVxdWVzdBofLnVzZXIudjEuU3VibWl0RmVlZGJhY2tSZXNwb25zZRJpChZQcmVDaGVja0ludml0YXRpb25Db2RlEiYudXNlci52MS5QcmVDaGVja0ludml0YXRpb25Db2RlUmVxdWVzdBonLnVzZXIudjEuUHJlQ2hlY2tJbnZpdGF0aW9uQ29kZVJlc3BvbnNlEkgKC0NoZWNrUmVnaW9uEhsudXNlci52MS5DaGVja1JlZ2lvblJlcXVlc3QaHC51c2VyLnYxLkNoZWNrUmVnaW9uUmVzcG9uc2USdQoaQ2hlY2tJbnZpdGF0aW9uQ29kZVJlbWFpbnMSKi51c2VyLnYxLkNoZWNrSW52aXRhdGlvbkNvZGVSZW1haW5zUmVxdWVzdBorLnVzZXIudjEuQ2hlY2tJbnZpdGF0aW9uQ29kZVJlbWFpbnNSZXNwb25zZRJaChFHZXRHbG9iYWxTZXR0aW5ncxIhLnVzZXIudjEuR2V0R2xvYmFsU2V0dGluZ3NSZXF1ZXN0GiIudXNlci52MS5HZXRHbG9iYWxTZXR0aW5nc1Jlc3BvbnNlElQKD0dldEV4Y2hhbmdlSW5mbxIfLnVzZXIudjEuR2V0RXhjaGFuZ2VJbmZvUmVxdWVzdBogLnVzZXIudjEuR2V0RXhjaGFuZ2VJbmZvUmVzcG9uc2USZgoRVmVyaWZ5Q2FtcHVzRW1haWwSJy51c2VyLnYxLlZlcmlmeU9yZ2FuaXphdGlvbkVtYWlsUmVxdWVzdBooLnVzZXIudjEuVmVyaWZ5T3JnYW5pemF0aW9uRW1haWxSZXNwb25zZRJ7ChxHZXRDYW1wdXNJbnZpdGF0aW9uQ29kZVVzYWdlEiwudXNlci52MS5HZXRDYW1wdXNJbnZpdGF0aW9uQ29kZVVzYWdlUmVxdWVzdBotLnVzZXIudjEuR2V0Q2FtcHVzSW52aXRhdGlvbkNvZGVVc2FnZVJlc3BvbnNlEooBCiFTZW5kQ2FtcHVzRW1haWxWZXJpZnlDb2RlV2l0aEF1dGgSMS51c2VyLnYxLlNlbmRDYW1wdXNFbWFpbFZlcmlmeUNvZGVXaXRoQXV0aFJlcXVlc3QaMi51c2VyLnYxLlNlbmRDYW1wdXNFbWFpbFZlcmlmeUNvZGVXaXRoQXV0aFJlc3BvbnNlQpYBCgtjb20udXNlci52MUIPVXNlclB1YmxpY1Byb3RvUAFaOWdpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC91c2VyL3YxO3VzZXJ2MaICA1VYWKoCB1VzZXIuVjHKAgdVc2VyXFYx4gITVXNlclxWMVxHUEJNZXRhZGF0YeoCCFVzZXI6OlYxYgZwcm90bzM”,[Pi,Re,Ue,_,yd]),GA=Q(pA,0),XA=J(“CiF1c2VyL3YxL3VzZXJfZmVlZGJhY2tfYWRtaW4ucHJvdG8SB3VzZXIudjEixwEKGkxpc3RVc2VyRmVlZEJhY2tUYWdSZXF1ZXN0EhQKB2tleXdvcmQYASABKAlIAIgBARIUCgdpc19wdXNoGAIgASgISAGIAQESEwoGc3RhdHVzGAMgASgISAKIAQESDAoEcGFnZRgEIAEoBRIRCglwYWdlX3NpemUYBSABKAUSFgoJb25seV9yb290GAYgASgISAOIAQFCCgoIX2tleXdvcmRCCgoIX2lzX3B1c2hCCQoHX3N0YXR1c0IMCgpfb25seV9yb290IlQKG0xpc3RVc2VyRmVlZEJhY2tUYWdSZXNwb25zZRImCgR0YWdzGAEgAygLMhgudXNlci52MS5Vc2VyRmVlZEJhY2tUYWcSDQoFdG90YWwYAiABKAUiYAoaTGlzdEZlaXNodUdyb3VwSW5mb1JlcXVlc3QSFAoHY2hhdF9pZBgBIAEoCUgAiAEBEhQKB2tleXdvcmQYAiABKAlIAYgBAUIKCghfY2hhdF9pZEIKCghfa2V5d29yZCJHChtMaXN0RmVpc2h1R3JvdXBJbmZvUmVzcG9uc2USKAoGZ3JvdXBzGAEgAygLMhgudXNlci52MS5GZWlzaHVHcm91cEluZm8iTAoQQXV0b1JlcGx5Q29udGVudBIQCgh1c2Vfd2hlbhgBIAEoCRISCgplbl9jb250ZW50GAIgASgJEhIKCmNuX2NvbnRlbnQYAyABKAkizwIKGUFkZFVzZXJGZWVkQmFja1RhZ1JlcXVlc3QSFwoPdG9waWNfZ3JvdXBfdWlkGAUgASgJEg8KB2lzX3B1c2gYBiABKAgSEAoIcHJpb3JpdHkYByABKAUSDgoGc3RhdHVzGAggASgIEhEKCXBhcmVudF9pZBgJIAEoAxIZChFlbmFibGVfYXV0b19yZXBseRgKIAEoCBI1ChJhdXRvX3JlcGx5X2NvbnRlbnQYCyADKAsyGS51c2VyLnYxLkF1dG9SZXBseUNvbnRlbnQSGAoQZW5hYmxlX2F1dG9fbm90ZRgMIAEoCBIYChBhdXRvX25vdGVfZmllbGRzGA0gAygJEg4KBnByb21wdBgOIAEoCRIXCgRuYW1lGA8gASgJQgm6SAZyBBADGB4SEwoLZGVzY3JpcHRpb24YECABKAkSDwoHaXNfcm9vdBgRIAEoCCI+ChpBZGRVc2VyRmVlZEJhY2tUYWdSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkiZQocRGVsZXRlVXNlckZlZWRCYWNrVGFnUmVxdWVzdBIKCgJpZBgBIAEoAxIRCglmaXJzdF90YWcYAiABKAkSFwoKc2Vjb25kX3RhZxgDIAEoCUgAiAEBQg0KC19zZWNvbmRfdGFnIkEKHURlbGV0ZVVzZXJGZWVkQmFja1RhZ1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCSKGBAocVXBkYXRlVXNlckZlZWRCYWNrVGFnUmVxdWVzdBIKCgJpZBgBIAEoAxIcCg90b3BpY19ncm91cF91aWQYBiABKAlIAIgBARIUCgdpc19wdXNoGAcgASgISAGIAQESFQoIcHJpb3JpdHkYCCABKAVIAogBARITCgZzdGF0dXMYCSABKAhIA4gBARIWCglwYXJlbnRfaWQYCiABKANIBIgBARIeChFlbmFibGVfYXV0b19yZXBseRgLIAEoCEgFiAEBEjUKEmF1dG9fcmVwbHlfY29udGVudBgMIAMoCzIZLnVzZXIudjEuQXV0b1JlcGx5Q29udGVudBIdChBlbmFibGVfYXV0b19ub3RlGA0gASgISAaIAQESGAoQYXV0b19ub3RlX2ZpZWxkcxgOIAMoCRITCgZwcm9tcHQYDyABKAlIB4gBARIXCgRuYW1lGBAgASgJQgm6SAZyBBADGB4SGAoLZGVzY3JpcHRpb24YESABKAlICIgBAUISChBfdG9waWNfZ3JvdXBfdWlkQgoKCF9pc19wdXNoQgsKCV9wcmlvcml0eUIJCgdfc3RhdHVzQgwKCl9wYXJlbnRfaWRCFAoSX2VuYWJsZV9hdXRvX3JlcGx5QhMKEV9lbmFibGVfYXV0b19ub3RlQgkKB19wcm9tcHRCDgoMX2Rlc2NyaXB0aW9uIkEKHVVwZGF0ZVVzZXJGZWVkQmFja1RhZ1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCSJjChlBZGRGZWlzaHVHcm91cEluZm9SZXF1ZXN0EhIKCmdyb3VwX3R5cGUYASABKAUSEgoKZ3JvdXBfbmFtZRgCIAEoCRINCgVvd25lchgDIAEoCRIPCgdjaGF0X2lkGAQgASgJIj4KGkFkZEZlaXNodUdyb3VwSW5mb1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCSK6AQocVXBkYXRlRmVpc2h1R3JvdXBJbmZvUmVxdWVzdBIKCgJpZBgBIAEoAxIXCgpncm91cF90eXBlGAMgASgFSACIAQESFwoKZ3JvdXBfbmFtZRgEIAEoCUgBiAEBEhIKBW93bmVyGAUgASgJSAKIAQESFAoHY2hhdF9pZBgGIAEoCUgDiAEBQg0KC19ncm91cF90eXBlQg0KC19ncm91cF9uYW1lQggKBl9vd25lckIKCghfY2hhdF9pZCJBCh1VcGRhdGVGZWlzaHVHcm91cEluZm9SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkiKgocRGVsZXRlRmVpc2h1R3JvdXBJbmZvUmVxdWVzdBIKCgJpZBgBIAEoAyJBCh1EZWxldGVGZWlzaHVHcm91cEluZm9SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAki9wMKD1VzZXJGZWVkQmFja1RhZxIKCgJpZBgBIAEoAxIXCg90b3BpY19ncm91cF91aWQYBiABKAkSDwoHaXNfcHVzaBgHIAEoCBIQCghwcmlvcml0eRgIIAEoBRIuCgpjcmVhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIOCgZzdGF0dXMYCyABKAgSEgoKZ3JvdXBfbmFtZRgMIAEoCRIPCgdjaGF0X2lkGA0gASgJEhEKCXBhcmVudF9pZBgOIAEoAxIPCgdpc19yb290GA8gASgIEhkKEWVuYWJsZV9hdXRvX3JlcGx5GBAgASgIEjUKEmF1dG9fcmVwbHlfY29udGVudBgRIAMoCzIZLnVzZXIudjEuQXV0b1JlcGx5Q29udGVudBIYChBlbmFibGVfYXV0b19ub3RlGBIgASgIEhgKEGF1dG9fbm90ZV9maWVsZHMYEyADKAkSDgoGcHJvbXB0GBQgASgJEioKCGNoaWxkcmVuGBUgAygLMhgudXNlci52MS5Vc2VyRmVlZEJhY2tUYWcSDAoEbmFtZRgWIAEoCRITCgtkZXNjcmlwdGlvbhgXIAEoCSLSAQoPRmVpc2h1R3JvdXBJbmZvEgoKAmlkGAEgASgDEi4KCmNyZWF0ZWRfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEgsKA3VpZBgFIAEoCRISCgpncm91cF90eXBlGAYgASgFEhIKCmdyb3VwX25hbWUYByABKAkSDQoFb3duZXIYCCABKAkSDwoHY2hhdF9pZBgJIAEoCSI3ChNMaXN0Rmlyc3RUYWdSZXF1ZXN0EhQKB2tleXdvcmQYAyABKAlIAIgBAUIKCghfa2V5d29yZCIzChRMaXN0Rmlyc3RUYWdSZXNwb25zZRIMCgR0YWdzGAEgAygJEg0KBXRvdGFsGAIgASgFIj4KFExpc3RSb290VGFnc1Jlc3BvbnNlEiYKBHRhZ3MYASADKAsyGC51c2VyLnYxLlVzZXJGZWVkQmFja1RhZyItCh9HZXRVc2VyRmVlZEJhY2tUYWdEZXRhaWxSZXF1ZXN0EgoKAmlkGAEgASgDIkkKIEdldFVzZXJGZWVkQmFja1RhZ0RldGFpbFJlc3BvbnNlEiUKA3RhZxgBIAEoCzIYLnVzZXIudjEuVXNlckZlZWRCYWNrVGFnMtMIChRVc2VyRmVlZEJhY2tUYWdBZG1pbhJiChNMaXN0VXNlckZlZWRCYWNrVGFnEiMudXNlci52MS5MaXN0VXNlckZlZWRCYWNrVGFnUmVxdWVzdBokLnVzZXIudjEuTGlzdFVzZXJGZWVkQmFja1RhZ1Jlc3BvbnNlIgASYgoTTGlzdEZlaXNodUdyb3VwSW5mbxIjLnVzZXIudjEuTGlzdEZlaXNodUdyb3VwSW5mb1JlcXVlc3QaJC51c2VyLnYxLkxpc3RGZWlzaHVHcm91cEluZm9SZXNwb25zZSIAEl8KEkFkZFVzZXJGZWVkQmFja1RhZxIiLnVzZXIudjEuQWRkVXNlckZlZWRCYWNrVGFnUmVxdWVzdBojLnVzZXIudjEuQWRkVXNlckZlZWRCYWNrVGFnUmVzcG9uc2UiABJoChVVcGRhdGVVc2VyRmVlZEJhY2tUYWcSJS51c2VyLnYxLlVwZGF0ZVVzZXJGZWVkQmFja1RhZ1JlcXVlc3QaJi51c2VyLnYxLlVwZGF0ZVVzZXJGZWVkQmFja1RhZ1Jlc3BvbnNlIgASaAoVRGVsZXRlVXNlckZlZWRCYWNrVGFnEiUudXNlci52MS5EZWxldGVVc2VyRmVlZEJhY2tUYWdSZXF1ZXN0GiYudXNlci52MS5EZWxldGVVc2VyRmVlZEJhY2tUYWdSZXNwb25zZSIAEl8KEkFkZEZlaXNodUdyb3VwSW5mbxIiLnVzZXIudjEuQWRkRmVpc2h1R3JvdXBJbmZvUmVxdWVzdBojLnVzZXIudjEuQWRkRmVpc2h1R3JvdXBJbmZvUmVzcG9uc2UiABJoChVVcGRhdGVGZWlzaHVHcm91cEluZm8SJS51c2VyLnYxLlVwZGF0ZUZlaXNodUdyb3VwSW5mb1JlcXVlc3QaJi51c2VyLnYxLlVwZGF0ZUZlaXNodUdyb3VwSW5mb1Jlc3BvbnNlIgASaAoVRGVsZXRlRmVpc2h1R3JvdXBJbmZvEiUudXNlci52MS5EZWxldGVGZWlzaHVHcm91cEluZm9SZXF1ZXN0GiYudXNlci52MS5EZWxldGVGZWlzaHVHcm91cEluZm9SZXNwb25zZSIAEk0KDExpc3RGaXJzdFRhZxIcLnVzZXIudjEuTGlzdEZpcnN0VGFnUmVxdWVzdBodLnVzZXIudjEuTGlzdEZpcnN0VGFnUmVzcG9uc2UiABJHCgxMaXN0Um9vdFRhZ3MSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaHS51c2VyLnYxLkxpc3RSb290VGFnc1Jlc3BvbnNlIgAScQoYR2V0VXNlckZlZWRCYWNrVGFnRGV0YWlsEigudXNlci52MS5HZXRVc2VyRmVlZEJhY2tUYWdEZXRhaWxSZXF1ZXN0GikudXNlci52MS5HZXRVc2VyRmVlZEJhY2tUYWdEZXRhaWxSZXNwb25zZSIAQp0BCgtjb20udXNlci52MUIWVXNlckZlZWRiYWNrQWRtaW5Qcm90b1ABWjlnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvdXNlci92MTt1c2VydjGiAgNVWFiqAgdVc2VyLlYxygIHVXNlclxWMeICE1VzZXJcVjFcR1BCTWV0YWRhdGHqAghVc2VyOjpWMWIGcHJvdG8z”,[Re,S0,_]),IA=Q(XA,0),RA=J(“ChJ1c2VyL3YxL3VzZXIucHJvdG8SB3VzZXIudjEiWAoaTGlzdFVzZXJDcmVkaXRzTG9nUmVzcG9uc2USKwoEbG9ncxgBIAMoCzIdLnVzZXIudjEuVXNlclNlc3Npb25DcmVkaXRMb2cSDQoFdG90YWwYAiABKAUivgEKFFVzZXJTZXNzaW9uQ3JlZGl0TG9nEhIKCnNlc3Npb25faWQYASABKAkSDQoFdGl0bGUYAiABKAkSEQoJY3JlYXRlX2F0GAMgASgFEg8KB2NyZWRpdHMYBCABKAUSJAoEdHlwZRgFIAEoDjIWLnVzZXIudjEuQ3JlZGl0TG9nVHlwZRI5ChFjb2xsYWJvcmF0ZV9pbmZvcxgGIAMoCzIeLnVzZXIudjEuQ3JlZGl0Q29sbGFib3JhdGVJbmZvImEKFUNyZWRpdENvbGxhYm9yYXRlSW5mbxIPCgd1c2VyX2lkGAEgASgJEhEKCXVzZXJfbmFtZRgCIAEoCRITCgt1c2VyX2F2YXRhchgDIAEoCRIPCgdjcmVkaXRzGAQgASgFIjwKGUxpc3RVc2VyQ3JlZGl0c0xvZ1JlcXVlc3QSDAoEcGFnZRgBIAEoBRIRCglwYWdlX3NpemUYAiABKAUiFQoTR2V0RnJlZVF1b3RhUmVxdWVzdCI3ChRHZXRGcmVlUXVvdGFSZXNwb25zZRISCgpsZWZ0X3F1b3RhGAEgASgFEgsKA3R0bBgCIAEoAyJyCghUZWFtSW5mbxINCgVjb3VudBgBIAEoBRIVCgh0ZWFtX3VpZBgCIAEoCUgAiAEBEhgKEG9yaWdpbmFsX3VzZXJfaWQYAyABKAkSGQoRb3JpZ2luYWxfdXNlcl91aWQYBCABKAlCCwoJX3RlYW1fdWlkIhEKD1VzZXJJbmZvUmVxdWVzdCLgBgoQVXNlckluZm9SZXNwb25zZRIPCgd1c2VyX2lkGAEgASgJEg0KBWVtYWlsGAIgASgJEhEKCWZpcnN0bmFtZRgDIAEoCRIQCghsYXN0bmFtZRgEIAEoCRITCgtkaXNwbGF5bmFtZRgFIAEoCRIQCghuaWNrbmFtZRgGIAEoCRIOCgZhdmF0YXIYByABKAkSEAoIaXNfYWxwaGEYCCABKAgSEwoLaW5fd2FpdGxpc3QYCSABKAgSGgoSY3VycmVudF9wZXJpb2RfZW5kGAwgASgDEhwKFGNhbmNlbF9hdF9wZXJpb2RfZW5kGA0gASgIEg8KB2lzX2JldGEYDiABKAgSGAoQcGF5bWVudF9wbGF0Zm9ybRgPIAEoCRILCgN1aWQYECABKAkSGwoTY29uY3VycmVudF9zZXNzaW9ucxgRIAEoBRIVCg1wbGF0Zm9ybV9saXN0GBIgAygJEi8KJ2Nhbl9yZWNlaXZlX2V4dHJhX2NyZWRpdHNfZm9yX3N1YnNjcmliZRgTIAEoCBItCiVjYW5fcmVjZWl2ZV9leHRyYV9jcmVkaXRzX2Zvcl91cGdyYWRlGBQgASgIEjgKE3N1YnNjcmlwdGlvbl9zdGF0dXMYFSABKA4yGy51c2VyLnYxLlN1YnNjcmlwdGlvblN0YXR1cxIaChJtZW1iZXJzaGlwX3ZlcnNpb24YHiABKAkSGwoTbWVtYmVyc2hpcF9pbnRlcnZhbBgfIAEoCRIfChduZXh0X21lbWJlcnNoaXBfdmVyc2lvbhggIAEoCRIoCgl1c2VyX3R5cGUYKCABKA4yFS51c2VyLnYxLlVzZXJUeXBlRW51bRIkCgl0ZWFtX2luZm8YKSABKAsyES51c2VyLnYxLlRlYW1JbmZvEhsKE2lzX21lbWJlcnNoaXBfdHJpYWwYISABKAgSJwoIZWR1X2luZm8YIiABKAsyEC51c2VyLnYxLkVkdUluZm9IAIgBARIUCgxzbXNfdmVyaWZpZWQYIyABKAgSIAoYbmV4dF9tZW1iZXJzaGlwX2ludGVydmFsGCQgASgJEg0KBXBlcmtzGCUgASgIQgsKCV9lZHVfaW5mb0oECAoQC0oECAsQDFILdmlwX3ZlcnNpb25SDHZpcF9pbnRlcnZhbCKWAQoHRWR1SW5mbxILCgN1aWQYASABKAkSDAoEbmFtZRgCIAEoCRIRCgllZHVfZW1haWwYAyABKAkSGQoRcmVjb21tZW5kX2NyZWRpdHMYBCABKAUSGAoQcmVnaXN0ZXJfY3JlZGl0cxgFIAEoBRITCgtlZHVfZG9tYWlucxgGIAMoCRITCgt1bmlxdWVfbmFtZRgHIAEoCSJ/ChpDaGVja0ludml0YXRpb25Db2RlUmVxdWVzdBIXCgRjb2RlGAEgASgJQgm6SAZyBBAGGCASKAobaGNhcHRjaGFfY2hhbGxlbmdlX3Jlc3BvbnNlGAIgASgJSACIAQFCHgocX2hjYXB0Y2hhX2NoYWxsZW5nZV9yZXNwb25zZSIdChtDaGVja0ludml0YXRpb25Db2RlUmVzcG9uc2UiPAoGQXZhdGFyEhEKCWZpbGVfbmFtZRgBIAEoCRIRCgltaW1lX3R5cGUYAiABKAkSDAoEZGF0YRgDIAEoCSJ2ChhVcGRhdGVVc2VyUHJvZmlsZVJlcXVlc3QSJAoMbmV3X25pY2tuYW1lGAIgASgJQgm6SAZyBBABGCBIAIgBARIjCgpuZXdfYXZhdGFyGAMgASgLMg8udXNlci52MS5BdmF0YXJCDwoNX25ld19uaWNrbmFtZSIbChlVcGRhdGVVc2VyUHJvZmlsZVJlc3BvbnNlIuEBChpDcmVhdGVRdWVzdGlvbm5haXJlUmVxdWVzdBIOCgZyZWFzb24YASABKAkSKwoKZXh0cmFfZGF0YRgCIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSFwoKcHJvZmVzc2lvbhgDIAEoCUgAiAEBEiEKFHNvY2lhbF9tZWRpYV9hY2NvdW50GAQgASgJSAGIAQESFQoIaW5kdXN0cnkYBSABKAlIAogBAUINCgtfcHJvZmVzc2lvbkIXChVfc29jaWFsX21lZGlhX2FjY291bnRCCwoJX2luZHVzdHJ5Ih0KG0NyZWF0ZVF1ZXN0aW9ubmFpcmVSZXNwb25zZSJPChpHZXRVc2VyQ2xpZW50Q29uZmlnUmVxdWVzdBIxCgtjb25maWdfa2V5cxgBIAMoDjIcLnVzZXIudjEuVXNlckNsaWVudENvbmZpZ0tleSLoAgobR2V0VXNlckNsaWVudENvbmZpZ1Jlc3BvbnNlEiEKFHJlY3ZfbWFya2V0aW5nX2VtYWlsGAEgASgISACIAQESGQoMaGFzX2ludGVyZXN0GAIgASgISAGIAQESJAoXc2Vzc2lvbl93YWl0X2RvbmVfZW1haWwYByABKAhIAogBARI6ChJhZ2VudF9kZXBsb3lfc3BhY2UYCiABKA4yGS51c2VyLnYxLkFnZW50RGVwbG95U3BhY2VIA4gBARIqCh1oYXNfc2hvd25fZWR1X3RlYW1fam9pbl9wb3B1cBgPIAEoCEgEiAEBQhcKFV9yZWN2X21hcmtldGluZ19lbWFpbEIPCg1faGFzX2ludGVyZXN0QhoKGF9zZXNzaW9uX3dhaXRfZG9uZV9lbWFpbEIVChNfYWdlbnRfZGVwbG95X3NwYWNlQiAKHl9oYXNfc2hvd25fZWR1X3RlYW1fam9pbl9wb3B1cCLnAgoaU2V0VXNlckNsaWVudENvbmZpZ1JlcXVlc3QSIQoUcmVjdl9tYXJrZXRpbmdfZW1haWwYASABKAhIAIgBARIZCgxoYXNfaW50ZXJlc3QYAiABKAhIAYgBARIkChdzZXNzaW9uX3dhaXRfZG9uZV9lbWFpbBgHIAEoCEgCiAEBEjoKEmFnZW50X2RlcGxveV9zcGFjZRgKIAEoDjIZLnVzZXIudjEuQWdlbnREZXBsb3lTcGFjZUgDiAEBEioKHWhhc19zaG93bl9lZHVfdGVhbV9qb2luX3BvcHVwGA8gASgISASIAQFCFwoVX3JlY3ZfbWFya2V0aW5nX2VtYWlsQg8KDV9oYXNfaW50ZXJlc3RCGgoYX3Nlc3Npb25fd2FpdF9kb25lX2VtYWlsQhUKE19hZ2VudF9kZXBsb3lfc3BhY2VCIAoeX2hhc19zaG93bl9lZHVfdGVhbV9qb2luX3BvcHVwIh0KG1NldFVzZXJDbGllbnRDb25maWdSZXNwb25zZSIeChxHZXRVc2VyR2xvYmFsU2V0dGluZ3NSZXF1ZXN0IjMKHUdldFVzZXJHbG9iYWxTZXR0aW5nc1Jlc3BvbnNlEhIKCnN1YnNjcmliZWQYASABKAgiHAoaR2V0QXZhaWxhYmxlQ3JlZGl0c1JlcXVlc3QitgIKG0dldEF2YWlsYWJsZUNyZWRpdHNSZXNwb25zZRIVCg10b3RhbF9jcmVkaXRzGAEgASgFEhQKDGZyZWVfY3JlZGl0cxgCIAEoBRIYChBwZXJpb2RpY19jcmVkaXRzGAMgASgFEhUKDWFkZG9uX2NyZWRpdHMYBCABKAUSGwoTcHJvX21vbnRobHlfY3JlZGl0cxgFIAEoBRIVCg1ldmVudF9jcmVkaXRzGAYgASgFEhcKD3JlZnJlc2hfY3JlZGl0cxgUIAEoBRIbChNtYXhfcmVmcmVzaF9jcmVkaXRzGBUgASgFEjUKEW5leHRfcmVmcmVzaF90aW1lGBYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIYChByZWZyZXNoX2ludGVydmFsGBcgASgJIs8BChpQZXJzb25hbEludml0YXRpb25Db2RlSW5mbxIKCgJpZBgBIAEoAxIpCgRraW5kGAIgASgOMhsudXNlci52MS5JbnZpdGF0aW9uQ29kZUtpbmQSEwoLaW52aXRlX2NvZGUYAyABKAkSEAoIbWF4X3VzZXMYBCABKAUSEgoKdXNlZF9jb3VudBgFIAEoBRIuCgpjcmVhdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIPCgdwZW5kaW5nGAggASgIIiMKIUdldFBlcnNvbmFsSW52aXRhdGlvbkNvZGVzUmVxdWVzdCJjCiJHZXRQZXJzb25hbEludml0YXRpb25Db2Rlc1Jlc3BvbnNlEj0KEGludml0YXRpb25fY29kZXMYASADKAsyIy51c2VyLnYxLlBlcnNvbmFsSW52aXRhdGlvbkNvZGVJbmZvIlAKF1NldFVzZXJJbnRlcmVzdHNSZXF1ZXN0EiMKBHRhZ3MYASADKA4yFS51c2VyLnYxLlVzZXJJbnRlcmVzdBIQCghmZWVkYmFjaxgCIAEoCSIaChhTZXRVc2VySW50ZXJlc3RzUmVzcG9uc2UiEgoQR2V0Q29ubmVjdEFQUFJlcSJvCgtDb25uZWN0SW5mbxINCgV0b2tlbhgBIAEoCRIvCgtleHBpcmVfdGltZRgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFAoHd2ViX3VybBgEIAEoCUgAiAEBQgoKCF93ZWJfdXJsIm8KCkNvbm5lY3RBUFASDAoEdHlwZRgBIAEoCRIRCgljb25uZWN0ZWQYAiABKAgSLwoMY29ubmVjdF9pbmZvGAMgASgLMhQudXNlci52MS5Db25uZWN0SW5mb0gAiAEBQg8KDV9jb25uZWN0X2luZm8iPgoSQ29ubmVjdEFQUFJlc3BvbnNlEigKC2Nvbm5lY3RfYXBwGAEgAygLMhMudXNlci52MS5Db25uZWN0QVBQIjUKGEdldEdvb2dsZURyaXZlQXV0aFVybFJlcRIZChFjYWxsYmFja19yZWRpcmVjdBgBIAEoCSIsCh1HZXRHb29nbGVEcml2ZUF1dGhVcmxSZXNwb25zZRILCgN1cmwYASABKAkiIAoQRGlzY29ubmVjdEFQUFJlcRIMCgR0eXBlGAEgASgJIhcKFURpc2Nvbm5lY3RBUFBSZXNwb25zZSKRAQogU2VuZFBob25lVmVyaWZpY2F0aW9uQ29kZVJlcXVlc3QSFAoMcGhvbmVfbnVtYmVyGAEgASgJEhMKC3JlZ2lvbl9jb2RlGAIgASgJEg4KBmxvY2FsZRgDIAEoCRIyCgdjaGFubmVsGAQgASgOMiEudXNlci52MS5QaG9uZVZlcmlmaWNhdGlvbkNoYW5uZWwiIwohU2VuZFBob25lVmVyaWZpY2F0aW9uQ29kZVJlc3BvbnNlIl0KFUJpbmRQaG9uZVRyYWl0UmVxdWVzdBIUCgxwaG9uZV9udW1iZXIYASABKAkSEwoLcmVnaW9uX2NvZGUYAiABKAkSGQoRcGhvbmVfdmVyaWZ5X2NvZGUYAyABKAkiGAoWQmluZFBob25lVHJhaXRSZXNwb25zZSIXChVMaXN0UmVnaW9uQ29kZVJlcXVlc3QiJwoKUmVnaW9uQ29kZRILCgNpc28YASABKAkSDAoEY29kZRgCIAEoCSJDChZMaXN0UmVnaW9uQ29kZVJlc3BvbnNlEikKDHJlZ2lvbl9jb2RlcxgBIAMoCzITLnVzZXIudjEuUmVnaW9uQ29kZSLiAQoVQWN0aXZpdHlUeXBlUGVya3NEYXRhEhEKCWZ1bGxfbmFtZRgBIAEoCRINCgVwaG9uZRgCIAEoCRINCgVlbWFpbBgDIAEoCRIPCgdhZGRyZXNzGAQgASgJEh0KEGFkZHJlc3Nfb3B0aW9uYWwYBSABKAlIAIgBARITCgtjb3VudHJ5X2lzbxgHIAEoCRIMCgRjaXR5GAggASgJEg0KBXN0YXRlGAkgASgJEgsKA3ppcBgKIAEoCRIUCgx0X3NoaXJ0X3NpemUYCyABKAlCEwoRX2FkZHJlc3Nfb3B0aW9uYWwiWworQ2hlY2tBY3Rpdml0eVF1ZXN0aW9ubmFpcmVQZXJtaXNzaW9uUmVxdWVzdBIsCg1hY3Rpdml0eV90eXBlGAEgASgOMhUudXNlci52MS5BY3Rpdml0eVR5cGUiRgosQ2hlY2tBY3Rpdml0eVF1ZXN0aW9ubmFpcmVQZXJtaXNzaW9uUmVzcG9uc2USFgoOaGFzX3Blcm1pc3Npb24YASABKAgimAEKKkNyZWF0ZU9yVXBkYXRlQWN0aXZpdHlRdWVzdGlvbm5haXJlUmVxdWVzdBIsCg1hY3Rpdml0eV90eXBlGAEgASgOMhUudXNlci52MS5BY3Rpdml0eVR5cGUSNAoKcGVya3NfZGF0YRgCIAEoCzIeLnVzZXIudjEuQWN0aXZpdHlUeXBlUGVya3NEYXRhSABCBgoEZGF0YSI6CitDcmVhdGVPclVwZGF0ZUFjdGl2aXR5UXVlc3Rpb25uYWlyZVJlc3BvbnNlEgsKA3VpZBgBIAEoCSJPCh9HZXRBY3Rpdml0eVF1ZXN0aW9ubmFpcmVSZXF1ZXN0EiwKDWFjdGl2aXR5X3R5cGUYASABKA4yFS51c2VyLnYxLkFjdGl2aXR5VHlwZSKdAQogR2V0QWN0aXZpdHlRdWVzdGlvbm5haXJlUmVzcG9uc2USDQoFdmFsaWQYASABKAgSLAoNYWN0aXZpdHlfdHlwZRgCIAEoDjIVLnVzZXIudjEuQWN0aXZpdHlUeXBlEjQKCnBlcmtzX2RhdGEYAyABKAsyHi51c2VyLnYxLkFjdGl2aXR5VHlwZVBlcmtzRGF0YUgAQgYKBGRhdGEiOQoaU2VuZEludml0YXRpb25FbWFpbFJlcXVlc3QSDQoFZW1haWwYASABKAkSDAoEY29kZRgCIAEoCSIuChtTZW5kSW52aXRhdGlvbkVtYWlsUmVzcG9uc2USDwoHcGVuZGluZxgBIAEoCCI6Ch1HZXRPbmVEcml2ZVBlcnNvbmFsQXV0aFVybFJlcRIZChFjYWxsYmFja19yZWRpcmVjdBgBIAEoCSIxCiJHZXRPbmVEcml2ZVBlcnNvbmFsQXV0aFVybFJlc3BvbnNlEgsKA3VybBgBIAEoCSI6Ch1HZXRPbmVEcml2ZUJ1c2luZXNzQXV0aFVybFJlcRIZChFjYWxsYmFja19yZWRpcmVjdBgBIAEoCSIxCiJHZXRPbmVEcml2ZUJ1c2luZXNzQXV0aFVybFJlc3BvbnNlEgsKA3VybBgBIAEoCSJMChhJbkV4cGVyaW1lbnRHcm91cFJlcXVlc3QSMAoPZXhwZXJpbWVudF90eXBlGAEgASgOMhcudXNlci52MS5FeHBlcmltZW50VHlwZSI4ChlJbkV4cGVyaW1lbnRHcm91cFJlc3BvbnNlEhsKE2luX2V4cGVyaW1lbnRfZ3JvdXAYASABKAgiMgohR2V0T25lRHJpdmVCdXNpbmVzc1Njb3BlZFRva2VuUmVxEg0KBXNjb3BlGAEgASgJIksKJkdldE9uZURyaXZlQnVzaW5lc3NTY29wZWRUb2tlblJlc3BvbnNlEg0KBXRva2VuGAEgASgJEhIKCmV4cGlyZXNfaW4YAiABKAUq0wEKElN1YnNjcmlwdGlvblN0YXR1cxIbChdPdGhlclN1YnNjcmlwdGlvblN0YXR1cxAAEhoKFkluaXRTdWJzY3JpcHRpb25TdGF0dXMQARIcChhBY3RpdmVTdWJzY3JpcHRpb25TdGF0dXMQAhIdChlQYXN0RHVlU3Vic2NyaXB0aW9uU3RhdHVzEAMSJwojSW5jb21wbGV0ZUV4cGlyZWRTdWJzY3JpcHRpb25TdGF0dXMQBBIeChpDYW5jZWxlZFN1YnNjcmlwdGlvblN0YXR1cxAFKocEChNVc2VyQ2xpZW50Q29uZmlnS2V5EiYKIlVTRVJfQ0xJRU5UX0NPTkZJR19LRVlfVU5TUEVDSUZJRUQQABIvCitVU0VSX0NMSUVOVF9DT05GSUdfS0VZX1JFQ1ZfTUFSS0VUSU5HX0VNQUlMEAESJwojVVNFUl9DTElFTlRfQ09ORklHX0tFWV9IQVNfSU5URVJFU1QQAhIuCipVU0VSX0NMSUVOVF9DT05GSUdfS0VZX09QRVJBVElPTl9QTEFZX0NBUkQQAxInCiNVU0VSX0NMSUVOVF9DT05GSUdfS0VZX1ZFUklGWV9QSE9ORRAEEiQKIFVTRVJfQ0xJRU5UX0NPTkZJR19LRVlfVElNRV9aT05FEAUSKwonVVNFUl9DTElFTlRfQ09ORklHX0tFWV9USU1FX1pPTkVfT0ZGU0VUEAYSMgouVVNFUl9DTElFTlRfQ09ORklHX0tFWV9TRVNTSU9OX1dBSVRfRE9ORV9FTUFJTBAHEiUKIVVTRVJfQ0xJRU5UX0NPTkZJR19LRVlfT05CT0FSRElORxAIEi0KKVVTRVJfQ0xJRU5UX0NPTkZJR19LRVlfQUdFTlRfREVQTE9ZX1NQQUNFEAoSOAo0VVNFUl9DTElFTlRfQ09ORklHX0tFWV9IQVNfU0hPV05fRURVX1RFQU1fSk9JTl9QT1BVUBAPKoIBChBBZ2VudERlcGxveVNwYWNlEiIKHkFHRU5UX0RFUExPWV9TUEFDRV9VTlNQRUNJRklFRBAAEiUKIUFHRU5UX0RFUExPWV9TUEFDRV9BU0tfRVZFUllfVElNRRABEiMKH0FHRU5UX0RFUExPWV9TUEFDRV9BTFdBWVNfQUxMT1cQAir+BgoMVXNlckludGVyZXN0Eh0KGVVTRVJfSU5URVJFU1RfVU5TUEVDSUZJRUQQABIjCh9VU0VSX0lOVEVSRVNUX0lORFVTVFJZX0FOQUxZU0lTEAESIQodVVNFUl9JTlRFUkVTVF9QT0xJQ1lfUkVTRUFSQ0gQAhIkCiBVU0VSX0lOVEVSRVNUX1BFUlNPTkFfUFJPRklMTElORxADEh8KG1VTRVJfSU5URVJFU1RfREFUQV9JTlNJR0hUUxAEEiUKIVVTRVJfSU5URVJFU1RfV0VCU0lURV9QUk9UT1RZUElORxAKEiIKHlVTRVJfSU5URVJFU1RfR0FNRV9ERVZFTE9QTUVOVBALEhwKGFVTRVJfSU5URVJFU1RfQVBQX0RFU0lHThAMEiMKH1VTRVJfSU5URVJFU1RfSU5URVJBQ1RJVkVfUEFHRVMQDRIgChxVU0VSX0lOVEVSRVNUX0FHRU5UX0JVSUxESU5HEBQSIgoeVVNFUl9JTlRFUkVTVF9UT09MX1BST1RPVFlQSU5HEBUSIQodVVNFUl9JTlRFUkVTVF9BVVRPTUFUSU9OX0ZMT1cQFhIgChxVU0VSX0lOVEVSRVNUX0FJX0lOVEVHUkFUSU9OEBcSIQodVVNFUl9JTlRFUkVTVF9DT1VSU0VfQ1JFQVRJT04QHhIgChxVU0VSX0lOVEVSRVNUX0xFQVJOSU5HX1RPT0xTEB8SIwofVVNFUl9JTlRFUkVTVF9LTk9XTEVER0VfTUFQUElORxAgEiIKHlVTRVJfSU5URVJFU1RfVEVBQ0hJTkdfQ09OVEVOVBAhEiAKHFVTRVJfSU5URVJFU1RfUkVQT1JUX1dSSVRJTkcQKBIgChxVU0VSX0lOVEVSRVNUX1NUT1JZX0NSRUFUSU9OECkSIQodVVNFUl9JTlRFUkVTVF9WSURFT19TQ1JJUFRJTkcQKhIgChxVU0VSX0lOVEVSRVNUX01FRElBX1BMQU5OSU5HECsSIQodVVNFUl9JTlRFUkVTVF9NQVJLRVRfUkVTRUFSQ0gQMhIlCiFVU0VSX0lOVEVSRVNUX0lOVkVTVE1FTlRfQU5BTFlTSVMQMxIkCiBVU0VSX0lOVEVSRVNUX0ZJTkFOQ0lBTF9NT0RFTElORxA0EiAKHFVTRVJfSU5URVJFU1RfREFUQV9SRVBPUlRJTkcQNSq5AQoYUGhvbmVWZXJpZmljYXRpb25DaGFubmVsEioKJlBIT05FX1ZFUklGSUNBVElPTl9DSEFOTkVMX1VOU1BFQ0lGSUVEEAASIgoeUEhPTkVfVkVSSUZJQ0FUSU9OX0NIQU5ORUxfU01TEAESJwojUEhPTkVfVkVSSUZJQ0FUSU9OX0NIQU5ORUxfV0hBVFNBUFAQAhIkCiBQSE9ORV9WRVJJRklDQVRJT05fQ0hBTk5FTF9WT0lDRRADKlEKDkV4cGVyaW1lbnRUeXBlEh8KG0VYUEVSSU1FTlRfVFlQRV9VTlNQRUNJRklFRBAAEh4KGkVYUEVSSU1FTlRfVFlQRV9PTkJPQVJESU5HEAEyzBQKC1VzZXJTZXJ2aWNlEkEKCFVzZXJJbmZvEhgudXNlci52MS5Vc2VySW5mb1JlcXVlc3QaGS51c2VyLnYxLlVzZXJJbmZvUmVzcG9uc2UiABJgChNDaGVja0ludml0YXRpb25Db2RlEiMudXNlci52MS5DaGVja0ludml0YXRpb25Db2RlUmVxdWVzdBokLnVzZXIudjEuQ2hlY2tJbnZpdGF0aW9uQ29kZVJlc3BvbnNlEloKEVVwZGF0ZVVzZXJQcm9maWxlEiEudXNlci52MS5VcGRhdGVVc2VyUHJvZmlsZVJlcXVlc3QaIi51c2VyLnYxLlVwZGF0ZVVzZXJQcm9maWxlUmVzcG9uc2USYAoTQ3JlYXRlUXVlc3Rpb25uYWlyZRIjLnVzZXIudjEuQ3JlYXRlUXVlc3Rpb25uYWlyZVJlcXVlc3QaJC51c2VyLnYxLkNyZWF0ZVF1ZXN0aW9ubmFpcmVSZXNwb25zZRJLCgxHZXRGcmVlUXVvdGESHC51c2VyLnYxLkdldEZyZWVRdW90YVJlcXVlc3QaHS51c2VyLnYxLkdldEZyZWVRdW90YVJlc3BvbnNlEmAKE0dldFVzZXJDbGllbnRDb25maWcSIy51c2VyLnYxLkdldFVzZXJDbGllbnRDb25maWdSZXF1ZXN0GiQudXNlci52MS5HZXRVc2VyQ2xpZW50Q29uZmlnUmVzcG9uc2USYAoTU2V0VXNlckNsaWVudENvbmZpZxIjLnVzZXIudjEuU2V0VXNlckNsaWVudENvbmZpZ1JlcXVlc3QaJC51c2VyLnYxLlNldFVzZXJDbGllbnRDb25maWdSZXNwb25zZRJdChJMaXN0VXNlckNyZWRpdHNMb2cSIi51c2VyLnYxLkxpc3RVc2VyQ3JlZGl0c0xvZ1JlcXVlc3QaIy51c2VyLnYxLkxpc3RVc2VyQ3JlZGl0c0xvZ1Jlc3BvbnNlEmYKFUdldFVzZXJHbG9iYWxTZXR0aW5ncxIlLnVzZXIudjEuR2V0VXNlckdsb2JhbFNldHRpbmdzUmVxdWVzdBomLnVzZXIudjEuR2V0VXNlckdsb2JhbFNldHRpbmdzUmVzcG9uc2USYAoTR2V0QXZhaWxhYmxlQ3JlZGl0cxIjLnVzZXIudjEuR2V0QXZhaWxhYmxlQ3JlZGl0c1JlcXVlc3QaJC51c2VyLnYxLkdldEF2YWlsYWJsZUNyZWRpdHNSZXNwb25zZRJ1ChpHZXRQZXJzb25hbEludml0YXRpb25Db2RlcxIqLnVzZXIudjEuR2V0UGVyc29uYWxJbnZpdGF0aW9uQ29kZXNSZXF1ZXN0GisudXNlci52MS5HZXRQZXJzb25hbEludml0YXRpb25Db2Rlc1Jlc3BvbnNlElcKEFNldFVzZXJJbnRlcmVzdHMSIC51c2VyLnYxLlNldFVzZXJJbnRlcmVzdHNSZXF1ZXN0GiEudXNlci52MS5TZXRVc2VySW50ZXJlc3RzUmVzcG9uc2USRwoNR2V0Q29ubmVjdEFQUBIZLnVzZXIudjEuR2V0Q29ubmVjdEFQUFJlcRobLnVzZXIudjEuQ29ubmVjdEFQUFJlc3BvbnNlEkoKDURpc2Nvbm5lY3RBUFASGS51c2VyLnYxLkRpc2Nvbm5lY3RBUFBSZXEaHi51c2VyLnYxLkRpc2Nvbm5lY3RBUFBSZXNwb25zZRJiChVHZXRHb29nbGVEcml2ZUF1dGhVcmwSIS51c2VyLnYxLkdldEdvb2dsZURyaXZlQXV0aFVybFJlcRomLnVzZXIudjEuR2V0R29vZ2xlRHJpdmVBdXRoVXJsUmVzcG9uc2UScQoaR2V0T25lRHJpdmVQZXJzb25hbEF1dGhVcmwSJi51c2VyLnYxLkdldE9uZURyaXZlUGVyc29uYWxBdXRoVXJsUmVxGisudXNlci52MS5HZXRPbmVEcml2ZVBlcnNvbmFsQXV0aFVybFJlc3BvbnNlEnEKGkdldE9uZURyaXZlQnVzaW5lc3NBdXRoVXJsEiYudXNlci52MS5HZXRPbmVEcml2ZUJ1c2luZXNzQXV0aFVybFJlcRorLnVzZXIudjEuR2V0T25lRHJpdmVCdXNpbmVzc0F1dGhVcmxSZXNwb25zZRJ9Ch5HZXRPbmVEcml2ZUJ1c2luZXNzU2NvcGVkVG9rZW4SKi51c2VyLnYxLkdldE9uZURyaXZlQnVzaW5lc3NTY29wZWRUb2tlblJlcRovLnVzZXIudjEuR2V0T25lRHJpdmVCdXNpbmVzc1Njb3BlZFRva2VuUmVzcG9uc2USYAoTU2VuZEludml0YXRpb25FbWFpbBIjLnVzZXIudjEuU2VuZEludml0YXRpb25FbWFpbFJlcXVlc3QaJC51c2VyLnYxLlNlbmRJbnZpdGF0aW9uRW1haWxSZXNwb25zZRKTAQokQ2hlY2tBY3Rpdml0eVF1ZXN0aW9ubmFpcmVQZXJtaXNzaW9uEjQudXNlci52MS5DaGVja0FjdGl2aXR5UXVlc3Rpb25uYWlyZVBlcm1pc3Npb25SZXF1ZXN0GjUudXNlci52MS5DaGVja0FjdGl2aXR5UXVlc3Rpb25uYWlyZVBlcm1pc3Npb25SZXNwb25zZRKQAQojQ3JlYXRlT3JVcGRhdGVBY3Rpdml0eVF1ZXN0aW9ubmFpcmUSMy51c2VyLnYxLkNyZWF0ZU9yVXBkYXRlQWN0aXZpdHlRdWVzdGlvbm5haXJlUmVxdWVzdBo0LnVzZXIudjEuQ3JlYXRlT3JVcGRhdGVBY3Rpdml0eVF1ZXN0aW9ubmFpcmVSZXNwb25zZRJvChhHZXRBY3Rpdml0eVF1ZXN0aW9ubmFpcmUSKC51c2VyLnYxLkdldEFjdGl2aXR5UXVlc3Rpb25uYWlyZVJlcXVlc3QaKS51c2VyLnYxLkdldEFjdGl2aXR5UXVlc3Rpb25uYWlyZVJlc3BvbnNlEnIKGVNlbmRQaG9uZVZlcmlmaWNhdGlvbkNvZGUSKS51c2VyLnYxLlNlbmRQaG9uZVZlcmlmaWNhdGlvbkNvZGVSZXF1ZXN0GioudXNlci52MS5TZW5kUGhvbmVWZXJpZmljYXRpb25Db2RlUmVzcG9uc2USUQoOQmluZFBob25lVHJhaXQSHi51c2VyLnYxLkJpbmRQaG9uZVRyYWl0UmVxdWVzdBofLnVzZXIudjEuQmluZFBob25lVHJhaXRSZXNwb25zZRJRCg5MaXN0UmVnaW9uQ29kZRIeLnVzZXIudjEuTGlzdFJlZ2lvbkNvZGVSZXF1ZXN0Gh8udXNlci52MS5MaXN0UmVnaW9uQ29kZVJlc3BvbnNlElwKEUluRXhwZXJpbWVudEdyb3VwEiEudXNlci52MS5JbkV4cGVyaW1lbnRHcm91cFJlcXVlc3QaIi51c2VyLnYxLkluRXhwZXJpbWVudEdyb3VwUmVzcG9uc2UiAEKQAQoLY29tLnVzZXIudjFCCVVzZXJQcm90b1ABWjlnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvdXNlci92MTt1c2VydjGiAgNVWFiqAgdVc2VyLlYxygIHVXNlclxWMeICE1VzZXJcVjFcR1BCTWV0YWRhdGHqAghVc2VyOjpWMWIGcHJvdG8z”,[Re,Ue,_,Pi]),EA=Q(RA,0),yA=J(“Ch51c2VyL3YxL3VzZXJfYXV0aF9wdWJsaWMucHJvdG8SB3VzZXIudjEi5wMKC0F1dGhDb21tYW5kEhAKA3V0bRgBIAEoCUgAiAEBEhIKBXJlZmVyGAIgASgJSAGIAQESGAoLZmlyc3RfZW50cnkYAyABKAlIAogBARIgChNmaXJzdF9mcm9tX3BsYXRmb3JtGAQgASgJSAOIAQESGQoMaW5zdGFsbF9mcm9tGAUgASgJSASIAQESEwoGbG9jYWxlGAYgASgJSAWIAQESFgoJZ3BzX2FkX2lkGAcgASgJSAaIAQESEQoEaWRmYRgIIAEoCUgHiAEBEhIKBWFkX2lkGAkgASgJSAiIAQESFwoKdXRtX3NvdXJjZRgKIAEoCUgJiAEBEhkKDHV0bV9jYW1wYWlnbhgLIAEoCUgKiAEBEg8KAnR6GAwgASgJSAuIAQESFgoJdHpfb2Zmc2V0GA0gASgJSAyIAQFCBgoEX3V0bUIICgZfcmVmZXJCDgoMX2ZpcnN0X2VudHJ5QhYKFF9maXJzdF9mcm9tX3BsYXRmb3JtQg8KDV9pbnN0YWxsX2Zyb21CCQoHX2xvY2FsZUIMCgpfZ3BzX2FkX2lkQgcKBV9pZGZhQggKBl9hZF9pZEINCgtfdXRtX3NvdXJjZUIPCg1fdXRtX2NhbXBhaWduQgUKA190ekIMCgpfdHpfb2Zmc2V0IrsBChZSZWdpc3RlckJ5RW1haWxSZXF1ZXN0EjMKEGF1dGhfY29tbWFuZF9jbWQYASABKAsyFC51c2VyLnYxLkF1dGhDb21tYW5kSACIAQESDQoFZW1haWwYAiABKAkSEwoLdmVyaWZ5X2NvZGUYAyABKAkSDAoEbmFtZRgEIAEoCRIQCghwYXNzd29yZBgFIAEoCRITCgtpbnZpdGVfY29kZRgGIAEoCUITChFfYXV0aF9jb21tYW5kX2NtZCIoChdSZWdpc3RlckJ5RW1haWxSZXNwb25zZRINCgV0b2tlbhgBIAEoCSKoAQoWT2F1dGgyQXV0aG9yaXplUmVxdWVzdBIvCgxhdXRoX2NvbW1hbmQYASABKAsyFC51c2VyLnYxLkF1dGhDb21tYW5kSACIAQESFAoMcmVkaXJlY3RfdXJsGAIgASgJEhMKC2ludml0ZV9jb2RlGAMgASgJEiEKBHR5cGUYBCABKA4yEy51c2VyLnYxLk9BdXRoMlR5cGVCDwoNX2F1dGhfY29tbWFuZCIvChdPYXV0aDJBdXRob3JpemVSZXNwb25zZRIUCgxyZWRpcmVjdF91cmwYASABKAkiTAoTTG9naW5CeUVtYWlsUmVxdWVzdBINCgVlbWFpbBgBIAEoCRIQCghwYXNzd29yZBgCIAEoCRIUCgxjYXB0Y2hhX2NvZGUYAyABKAkiJQoUTG9naW5CeUVtYWlsUmVzcG9uc2USDQoFdG9rZW4YASABKAkibQofUmVzZXRQYXNzd29yZFdpdGhDYXB0Y2hhUmVxdWVzdBINCgVlbWFpbBgBIAEoCRITCgt2ZXJpZnlfY29kZRgCIAEoCRIQCghwYXNzd29yZBgDIAEoCRIUCgxjYXB0Y2hhX2NvZGUYBCABKAkiIgogUmVzZXRQYXNzd29yZFdpdGhDYXB0Y2hhUmVzcG9uc2UiLgodSW50ZXJuYWxHZXRVc2VyQnlFbWFpbFJlcXVlc3QSDQoFZW1haWwYASABKAkiMQoeSW50ZXJuYWxHZXRVc2VyQnlFbWFpbFJlc3BvbnNlEg8KB3VzZXJfaWQYASABKAkidgolU2VuZEVtYWlsVmVyaWZ5Q29kZVdpdGhDYXB0Y2hhUmVxdWVzdBIUCgxjYXB0Y2hhX2NvZGUYASABKAkSDQoFZW1haWwYAiABKAkSKAoGYWN0aW9uGAMgASgOMhgudXNlci52MS5TZW5kRW1haWxBY3Rpb24iSgomU2VuZEVtYWlsVmVyaWZ5Q29kZVdpdGhDYXB0Y2hhUmVzcG9uc2USIAoYcmVnaXN0ZXJlZF9wbGF0Zm9ybV9saXN0GAEgAygJIooBCh1Hb29nbGVBcHBPYXV0aENhbGxiYWNrUmVxdWVzdBIRCglnb29nbGVfaWQYASABKAkSFAoMYWNjZXNzX3Rva2VuGAIgASgJEi8KDGF1dGhfY29tbWFuZBgDIAEoCzIULnVzZXIudjEuQXV0aENvbW1hbmRIAIgBAUIPCg1fYXV0aF9jb21tYW5kIi8KHkdvb2dsZUFwcE9hdXRoQ2FsbGJhY2tSZXNwb25zZRINCgV0b2tlbhgBIAEoCSItChdBcHBsZVNwZWNpYWxBdXRoUmVxdWVzdBISCgpzcGVjaWFsX2lkGAEgASgJIikKGEFwcGxlU3BlY2lhbEF1dGhSZXNwb25zZRINCgV0b2tlbhgBIAEoCSKQAQoNQXBwbGVVc2VySW5mbxIpCgRuYW1lGAEgASgLMhsudXNlci52MS5BcHBsZVVzZXJJbmZvLk5hbWUSDQoFZW1haWwYAiABKAkSFgoOaWRlbnRpdHlfdG9rZW4YAyABKAkaLQoETmFtZRISCgpmaXJzdF9uYW1lGAEgASgJEhEKCWxhc3RfbmFtZRgCIAEoCSJwCh1XZWJBcHBsZU9hdXRoMkNhbGxiYWNrUmVxdWVzdBIMCgRjb2RlGAEgASgJEg0KBXN0YXRlGAIgASgJEikKBHVzZXIYAyABKAsyFi51c2VyLnYxLkFwcGxlVXNlckluZm9IAIgBAUIHCgVfdXNlciJJCh5XZWJBcHBsZU9hdXRoMkNhbGxiYWNrUmVzcG9uc2USFAoMcmVkaXJlY3RfdXJsGAEgASgJEhEKCWp3dF90b2tlbhgCIAEoCSLKAQocSW9zQXBwbGVPYXV0aENhbGxiYWNrUmVxdWVzdBIzChBhdXRoX2NvbW1hbmRfY21kGAEgASgLMhQudXNlci52MS5BdXRoQ29tbWFuZEgAiAEBEg0KBWVtYWlsGAIgASgJEhIKCmdpdmVuX25hbWUYAyABKAkSEwoLZmFtaWx5X25hbWUYBCABKAkSFQoNYXV0aF9hcHBsZV9pZBgFIAEoCRIRCglhdXRoX2NvZGUYBiABKAlCEwoRX2F1dGhfY29tbWFuZF9jbWQiLgodSW9zQXBwbGVPYXV0aENhbGxiYWNrUmVzcG9uc2USDQoFdG9rZW4YASABKAkiJAoRU3dpdGNoVXNlclJlcXVlc3QSDwoHdXNlcl9pZBgBIAEoCSIjChJTd2l0Y2hVc2VyUmVzcG9uc2USDQoFdG9rZW4YASABKAkiKwoaRXhjaGFuZ2VUb2tlbkJ5Q29kZVJlcXVlc3QSDQoFdG9rZW4YASABKAkiHQobRXhjaGFuZ2VUb2tlbkJ5Q29kZVJlc3BvbnNlKlsKCk9BdXRoMlR5cGUSHAoYT19BVVRIMl9UWVBFX1VOU1BFQ0lGSUVEEAASFwoTT19BVVRIMl9UWVBFX0dPT0dMRRABEhYKEk9fQVVUSDJfVFlQRV9BUFBMRRACMuwHChVVc2VyQXV0aFB1YmxpY1NlcnZpY2USVAoPUmVnaXN0ZXJCeUVtYWlsEh8udXNlci52MS5SZWdpc3RlckJ5RW1haWxSZXF1ZXN0GiAudXNlci52MS5SZWdpc3RlckJ5RW1haWxSZXNwb25zZRJUCg9PYXV0aDJBdXRob3JpemUSHy51c2VyLnYxLk9hdXRoMkF1dGhvcml6ZVJlcXVlc3QaIC51c2VyLnYxLk9hdXRoMkF1dGhvcml6ZVJlc3BvbnNlEksKDExvZ2luQnlFbWFpbBIcLnVzZXIudjEuTG9naW5CeUVtYWlsUmVxdWVzdBodLnVzZXIudjEuTG9naW5CeUVtYWlsUmVzcG9uc2USbwoYUmVzZXRQYXNzd29yZFdpdGhDYXB0Y2hhEigudXNlci52MS5SZXNldFBhc3N3b3JkV2l0aENhcHRjaGFSZXF1ZXN0GikudXNlci52MS5SZXNldFBhc3N3b3JkV2l0aENhcHRjaGFSZXNwb25zZRKBAQoeU2VuZEVtYWlsVmVyaWZ5Q29kZVdpdGhDYXB0Y2hhEi4udXNlci52MS5TZW5kRW1haWxWZXJpZnlDb2RlV2l0aENhcHRjaGFSZXF1ZXN0Gi8udXNlci52MS5TZW5kRW1haWxWZXJpZnlDb2RlV2l0aENhcHRjaGFSZXNwb25zZRJpChZHb29nbGVBcHBPYXV0aENhbGxiYWNrEiYudXNlci52MS5Hb29nbGVBcHBPYXV0aENhbGxiYWNrUmVxdWVzdBonLnVzZXIudjEuR29vZ2xlQXBwT2F1dGhDYWxsYmFja1Jlc3BvbnNlEmkKFldlYkFwcGxlT2F1dGgyQ2FsbGJhY2sSJi51c2VyLnYxLldlYkFwcGxlT2F1dGgyQ2FsbGJhY2tSZXF1ZXN0GicudXNlci52MS5XZWJBcHBsZU9hdXRoMkNhbGxiYWNrUmVzcG9uc2USZgoVSW9zQXBwbGVPYXV0aENhbGxiYWNrEiUudXNlci52MS5Jb3NBcHBsZU9hdXRoQ2FsbGJhY2tSZXF1ZXN0GiYudXNlci52MS5Jb3NBcHBsZU9hdXRoQ2FsbGJhY2tSZXNwb25zZRJFCgpTd2l0Y2hVc2VyEhoudXNlci52MS5Td2l0Y2hVc2VyUmVxdWVzdBobLnVzZXIudjEuU3dpdGNoVXNlclJlc3BvbnNlEmAKE0V4Y2hhbmdlVG9rZW5CeUNvZGUSIy51c2VyLnYxLkV4Y2hhbmdlVG9rZW5CeUNvZGVSZXF1ZXN0GiQudXNlci52MS5FeGNoYW5nZVRva2VuQnlDb2RlUmVzcG9uc2VCmgEKC2NvbS51c2VyLnYxQhNVc2VyQXV0aFB1YmxpY1Byb3RvUAFaOWdpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC91c2VyL3YxO3VzZXJ2MaICA1VYWKoCB1VzZXIuVjHKAgdVc2VyXFYx4gITVXNlclxWMVxHUEJNZXRhZGF0YeoCCFVzZXI6OlYxYgZwcm90bzM”,[Ed]),SA=Q(yA,0),CA=J(“CidkYXNoYm9hcmRfdG9vbHMvdjEvZGFzaGJvYXJkX3Rvb2wucHJvdG8SEmRhc2hib2FyZF90b29scy52MSKSAQoiQ3JlYXRlT3JVcGRhdGVUcmFuc2xhdGVUYXNrUmVxdWVzdBIUCgd0YXNrX2lkGAEgASgDSACIAQESDgoGbW9kdWxlGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEiUKBGRhdGEYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0QgoKCF90YXNrX2lkIiUKI0NyZWF0ZU9yVXBkYXRlVHJhbnNsYXRlVGFza1Jlc3BvbnNlIl8KFFRyYW5zbGF0ZVRhc2tSZXF1ZXN0EhQKB3Rhc2tfaWQYASABKANIAIgBARIlCgRkYXRhGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEIKCghfdGFza19pZCI+ChVUcmFuc2xhdGVUYXNrUmVzcG9uc2USJQoEZGF0YRgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiYQoZTGlzdFRyYW5zbGF0ZVRhc2tzUmVxdWVzdBIPCgdtb2R1bGVzGAEgAygJEhUKBHBhZ2UYAiABKAVCB7pIBBoCKAESHAoJcGFnZV9zaXplGAMgASgFQgm6SAYaBBhkKAEizAEKDVRyYW5zbGF0ZVRhc2sSDwoHdGFza19pZBgBIAEoAxIOCgZtb2R1bGUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSJQoEZGF0YRgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSLgoKY3JlYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiXQoaTGlzdFRyYW5zbGF0ZVRhc2tzUmVzcG9uc2USMAoFdGFza3MYASADKAsyIS5kYXNoYm9hcmRfdG9vbHMudjEuVHJhbnNsYXRlVGFzaxINCgV0b3RhbBgCIAEoAyI7ChdHZXRUcmFuc2xhdGVUYXNrUmVxdWVzdBIUCgd0YXNrX2lkGAEgASgDSACIAQFCCgoIX3Rhc2tfaWQiSwoYR2V0VHJhbnNsYXRlVGFza1Jlc3BvbnNlEi8KBHRhc2sYASABKAsyIS5kYXNoYm9hcmRfdG9vbHMudjEuVHJhbnNsYXRlVGFzayItChpEZWxldGVUcmFuc2xhdGVUYXNrUmVxdWVzdBIPCgd0YXNrX2lkGAEgASgDIh0KG0RlbGV0ZVRyYW5zbGF0ZVRhc2tSZXNwb25zZTLzBAoURGFzaGJvYXJkVG9vbFNlcnZpY2USkAEKG0NyZWF0ZU9yVXBkYXRlVHJhbnNsYXRlVGFzaxI2LmRhc2hib2FyZF90b29scy52MS5DcmVhdGVPclVwZGF0ZVRyYW5zbGF0ZVRhc2tSZXF1ZXN0GjcuZGFzaGJvYXJkX3Rvb2xzLnYxLkNyZWF0ZU9yVXBkYXRlVHJhbnNsYXRlVGFza1Jlc3BvbnNlIgASZgoNVHJhbnNsYXRlVGFzaxIoLmRhc2hib2FyZF90b29scy52MS5UcmFuc2xhdGVUYXNrUmVxdWVzdBopLmRhc2hib2FyZF90b29scy52MS5UcmFuc2xhdGVUYXNrUmVzcG9uc2UiABJ1ChJMaXN0VHJhbnNsYXRlVGFza3MSLS5kYXNoYm9hcmRfdG9vbHMudjEuTGlzdFRyYW5zbGF0ZVRhc2tzUmVxdWVzdBouLmRhc2hib2FyZF90b29scy52MS5MaXN0VHJhbnNsYXRlVGFza3NSZXNwb25zZSIAEm8KEEdldFRyYW5zbGF0ZVRhc2sSKy5kYXNoYm9hcmRfdG9vbHMudjEuR2V0VHJhbnNsYXRlVGFza1JlcXVlc3QaLC5kYXNoYm9hcmRfdG9vbHMudjEuR2V0VHJhbnNsYXRlVGFza1Jlc3BvbnNlIgASeAoTRGVsZXRlVHJhbnNsYXRlVGFzaxIuLmRhc2hib2FyZF90b29scy52MS5EZWxldGVUcmFuc2xhdGVUYXNrUmVxdWVzdBovLmRhc2hib2FyZF90b29scy52MS5EZWxldGVUcmFuc2xhdGVUYXNrUmVzcG9uc2UiAELiAQoWY29tLmRhc2hib2FyZF90b29scy52MUISRGFzaGJvYXJkVG9vbFByb3RvUAFaT2dpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC9kYXNoYm9hcmRfdG9vbHMvdjE7ZGFzaGJvYXJkX3Rvb2xzdjGiAgNEWFiqAhFEYXNoYm9hcmRUb29scy5WMcoCEURhc2hib2FyZFRvb2xzXFYx4gIdRGFzaGJvYXJkVG9vbHNcVjFcR1BCTWV0YWRhdGHqAhJEYXNoYm9hcmRUb29sczo6VjFiBnByb3RvMw”,[Ue,_,Re]),WA=Q(CA,0),Oi=J(“Ch10ZWFtL3YxL3RlYW1fbWFuYWdlbWVudC5wcm90bxIHdGVhbS52MSI8CgZBdmF0YXISEQoJZmlsZV9uYW1lGAEgASgJEhEKCW1pbWVfdHlwZRgCIAEoCRIMCgRkYXRhGAMgASgJIqsBChFDcmVhdGVUZWFtUmVxdWVzdBIMCgRuYW1lGAEgASgJEg0KBXNlYXRzGAIgASgFEh8KBmF2YXRhchgDIAEoCzIPLnRlYW0udjEuQXZhdGFyEhYKDmF1dG9fZGVkdWN0aW9uGAQgASgIEh8KF3NpbmdsZV9kZWR1Y3Rpb25fYW1vdW50GAUgASgFEh8KF21vbnRobHlfZGVkdWN0aW9uX2xpbWl0GAYgASgFInYKEkNyZWF0ZVRlYW1SZXNwb25zZRIQCgh0ZWFtX3VpZBgBIAEoCRIPCgd1c2VyX2lkGAIgASgJEgwKBG5hbWUYAyABKAkSDgoGYXZhdGFyGAQgASgJEh8KBHN0ZXAYBSABKA4yES50ZWFtLnYxLlRlYW1TdGVwIkYKFVVwZGF0ZVRlYW1JbmZvUmVxdWVzdBIMCgRuYW1lGAEgASgJEh8KBmF2YXRhchgCIAEoCzIPLnRlYW0udjEuQXZhdGFyInMKFlVwZGF0ZVRlYW1JbmZvUmVzcG9uc2USEAoIdGVhbV91aWQYASABKAkSEQoJdGVhbV9uYW1lGAIgASgJEhMKC3RlYW1fYXZhdGFyGAMgASgJEh8KBHN0ZXAYBCABKA4yES50ZWFtLnYxLlRlYW1TdGVwIkIKCkludml0ZVVzZXISDQoFZW1haWwYASABKAkSJQoEcm9sZRgCIAEoDjIXLnRlYW0udjEuVGVhbU1lbWJlclJvbGUiUgoWQmF0Y2hJbnZpdGVVc2VyUmVxdWVzdBIUCgxpc19yZV9pbnZpdGUYASABKAgSIgoFdXNlcnMYAiADKAsyEy50ZWFtLnYxLkludml0ZVVzZXIiGQoXQmF0Y2hJbnZpdGVVc2VyUmVzcG9uc2UiKQoSRGlzbWlzc1RlYW1SZXF1ZXN0EhMKC3ZlcmlmeV9jb2RlGAEgASgJIiYKE0Rpc21pc3NUZWFtUmVzcG9uc2USDwoHdXNlcl9pZBgBIAEoCSIkChNUcmFuc2ZlclRlYW1SZXF1ZXN0Eg0KBWVtYWlsGAEgASgJIhYKFFRyYW5zZmVyVGVhbVJlc3BvbnNlIkEKGEJhdGNoUmVtb3ZlTWVtYmVyUmVxdWVzdBIVCg10ZWFtX3VzZXJfaWRzGAEgAygJEg4KBmVtYWlscxgCIAMoCSIbChlCYXRjaFJlbW92ZU1lbWJlclJlc3BvbnNlIlYKF1VwZGF0ZU1lbWJlclJvbGVSZXF1ZXN0EhQKDHRlYW1fdXNlcl9pZBgBIAEoCRIlCgRyb2xlGAIgASgOMhcudGVhbS52MS5UZWFtTWVtYmVyUm9sZSIaChhVcGRhdGVNZW1iZXJSb2xlUmVzcG9uc2UiOAoVVXBkYXRlVGVhbVN0ZXBSZXF1ZXN0Eh8KBHN0ZXAYASABKA4yES50ZWFtLnYxLlRlYW1TdGVwIhgKFlVwZGF0ZVRlYW1TdGVwUmVzcG9uc2UiTwoXVXBkYXRlSW52aXRlUm9sZVJlcXVlc3QSDQoFZW1haWwYASABKAkSJQoEcm9sZRgCIAEoDjIXLnRlYW0udjEuVGVhbU1lbWJlclJvbGUiGgoYVXBkYXRlSW52aXRlUm9sZVJlc3BvbnNlIn0KIVVwZGF0ZVRlYW1EZWR1Y3Rpb25TZXR0aW5nUmVxdWVzdBIWCg5hdXRvX2RlZHVjdGlvbhgBIAEoCBIfChdzaW5nbGVfZGVkdWN0aW9uX2Ftb3VudBgCIAEoBRIfChdtb250aGx5X2RlZHVjdGlvbl9saW1pdBgDIAEoBSIkCiJVcGRhdGVUZWFtRGVkdWN0aW9uU2V0dGluZ1Jlc3BvbnNlKk4KCFRlYW1UeXBlEhkKFVRFQU1fVFlQRV9VTlNQRUNJRklFRBAAEhQKEFRFQU1fVFlQRV9OT1JNQUwQARIRCg1URUFNX1RZUEVfRURVEAIqiQEKCFRlYW1TdGVwEhkKFVRFQU1fU1RFUF9VTlNQRUNJRklFRBAAEh4KGlRFQU1fU1RFUF9DSE9PU0VfU1VCU0NSSUJFEAESGQoVVEVBTV9TVEVQX1VQREFURV9JTkZPEAISEQoNVEVBTV9TVEVQX1BBWRADEhQKEFRFQU1fU1RFUF9GSU5JU0gQBCqHAQoOVGVhbU1lbWJlclJvbGUSIAocVEVBTV9NRU1CRVJfUk9MRV9VTlNQRUNJRklFRBAAEhoKFlRFQU1fTUVNQkVSX1JPTEVfT1dORVIQARIaChZURUFNX01FTUJFUl9ST0xFX0FETUlOEAISGwoXVEVBTV9NRU1CRVJfUk9MRV9NRU1CRVIQAzL2BgoVVGVhbU1hbmFnZW1lbnRTZXJ2aWNlEkUKCkNyZWF0ZVRlYW0SGi50ZWFtLnYxLkNyZWF0ZVRlYW1SZXF1ZXN0GhsudGVhbS52MS5DcmVhdGVUZWFtUmVzcG9uc2USUQoOVXBkYXRlVGVhbUluZm8SHi50ZWFtLnYxLlVwZGF0ZVRlYW1JbmZvUmVxdWVzdBofLnRlYW0udjEuVXBkYXRlVGVhbUluZm9SZXNwb25zZRJUCg9CYXRjaEludml0ZVVzZXISHy50ZWFtLnYxLkJhdGNoSW52aXRlVXNlclJlcXVlc3QaIC50ZWFtLnYxLkJhdGNoSW52aXRlVXNlclJlc3BvbnNlEkgKC0Rpc21pc3NUZWFtEhsudGVhbS52MS5EaXNtaXNzVGVhbVJlcXVlc3QaHC50ZWFtLnYxLkRpc21pc3NUZWFtUmVzcG9uc2USSwoMVHJhbnNmZXJUZWFtEhwudGVhbS52MS5UcmFuc2ZlclRlYW1SZXF1ZXN0Gh0udGVhbS52MS5UcmFuc2ZlclRlYW1SZXNwb25zZRJaChFCYXRjaFJlbW92ZU1lbWJlchIhLnRlYW0udjEuQmF0Y2hSZW1vdmVNZW1iZXJSZXF1ZXN0GiIudGVhbS52MS5CYXRjaFJlbW92ZU1lbWJlclJlc3BvbnNlElcKEFVwZGF0ZU1lbWJlclJvbGUSIC50ZWFtLnYxLlVwZGF0ZU1lbWJlclJvbGVSZXF1ZXN0GiEudGVhbS52MS5VcGRhdGVNZW1iZXJSb2xlUmVzcG9uc2USUQoOVXBkYXRlVGVhbVN0ZXASHi50ZWFtLnYxLlVwZGF0ZVRlYW1TdGVwUmVxdWVzdBofLnRlYW0udjEuVXBkYXRlVGVhbVN0ZXBSZXNwb25zZRJXChBVcGRhdGVJbnZpdGVSb2xlEiAudGVhbS52MS5VcGRhdGVJbnZpdGVSb2xlUmVxdWVzdBohLnRlYW0udjEuVXBkYXRlSW52aXRlUm9sZVJlc3BvbnNlEnUKGlVwZGF0ZVRlYW1EZWR1Y3Rpb25TZXR0aW5nEioudGVhbS52MS5VcGRhdGVUZWFtRGVkdWN0aW9uU2V0dGluZ1JlcXVlc3QaKy50ZWFtLnYxLlVwZGF0ZVRlYW1EZWR1Y3Rpb25TZXR0aW5nUmVzcG9uc2VCmgEKC2NvbS50ZWFtLnYxQhNUZWFtTWFuYWdlbWVudFByb3RvUAFaOWdpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC90ZWFtL3YxO3RlYW12MaICA1RYWKoCB1RlYW0uVjHKAgdUZWFtXFYx4gITVGVhbVxWMVxHUEJNZXRhZGF0YeoCCFRlYW06OlYxYgZwcm90bzM”),vA=Q(Oi,0),BA=J(“ChJ0ZWFtL3YxL3RlYW0ucHJvdG8SB3RlYW0udjEiUQoYTGlzdFRlYW1JbnZvaWNlc1Jlc3BvbnNlEiYKCGludm9pY2VzGAEgAygLMhQudGVhbS52MS5UZWFtSW52b2ljZRINCgV0b3RhbBgCIAEoBSKDAQoLVGVhbUludm9pY2USEgoKaW52b2ljZV9pZBgBIAEoCRIOCgZhbW91bnQYAiABKAMSEQoJcHVyY2hhc2VyGAMgASgJEhMKC2ludm9pY2VfdXJsGAQgASgJEigKBGRhdGUYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIjoKF0xpc3RUZWFtSW52b2ljZXNSZXF1ZXN0EgwKBHBhZ2UYASABKAUSEQoJcGFnZV9zaXplGAIgASgFIjIKD0xpc3RUZWFtUmVxdWVzdBIMCgRwYWdlGAEgASgFEhEKCXBhZ2Vfc2l6ZRgCIAEoBSK0AQoEVGVhbRIQCgh0ZWFtX3VpZBgBIAEoCRIMCgRuYW1lGAIgASgJEg4KBmF2YXRhchgDIAEoCRIPCgd1c2VyX2lkGAQgASgJEiMKBnN0YXR1cxgFIAEoDjITLnRlYW0udjEuVGVhbVN0YXR1cxIlCgRyb2xlGAYgASgOMhcudGVhbS52MS5UZWFtTWVtYmVyUm9sZRIfCgR0eXBlGAcgASgOMhEudGVhbS52MS5UZWFtVHlwZSJ+ChBMaXN0VGVhbVJlc3BvbnNlEhwKBXRlYW1zGAEgAygLMg0udGVhbS52MS5UZWFtEhMKC3RvdGFsX2NvdW50GAIgASgFEg8KB3VzZXJfaWQYAyABKAkSEQoJdXNlcl9uYW1lGAQgASgJEhMKC3VzZXJfYXZhdGFyGAUgASgJIioKD0pvaW5UZWFtUmVxdWVzdBIXCg9pbnZpdGF0aW9uX2NvZGUYASABKAkidAoQSm9pblRlYW1SZXNwb25zZRIPCgd1c2VyX2lkGAEgASgJEhAKCHRlYW1fdWlkGAIgASgJEgwKBG5hbWUYAyABKAkSDgoGYXZhdGFyGAQgASgJEh8KBHR5cGUYBSABKA4yES50ZWFtLnYxLlRlYW1UeXBlIhEKD0V4aXRUZWFtUmVxdWVzdCISChBFeGl0VGVhbVJlc3BvbnNlIiYKEkdldFRlYW1JbmZvUmVxdWVzdBIQCgh0ZWFtX3VpZBgBIAEoCSLLAwoTR2V0VGVhbUluZm9SZXNwb25zZRIQCgh0ZWFtX3VpZBgBIAEoCRIMCgRuYW1lGAIgASgJEg4KBmF2YXRhchgDIAEoCRINCgVzZWF0cxgEIAEoBRIuCgpjcmVhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIWCg5hdXRvX2RlZHVjdGlvbhgGIAEoCBIfChdzaW5nbGVfZGVkdWN0aW9uX2Ftb3VudBgHIAEoBRIfChdtb250aGx5X2RlZHVjdGlvbl9saW1pdBgIIAEoBRIfCgRzdGVwGAkgASgOMhEudGVhbS52MS5UZWFtU3RlcBIlCgRyb2xlGAogASgOMhcudGVhbS52MS5UZWFtTWVtYmVyUm9sZRIUCgxtZW1iZXJfY291bnQYCyABKAUSEwoLdmlwX3ZlcnNpb24YDCABKAkSGgoSY3VycmVudF9wZXJpb2RfZW5kGA0gASgDEhEKCWlzX3llYXJseRgOIAEoCBIUCgx0ZWFtX3VzZXJfaWQYDyABKAkSEgoKbmV4dF9zZWF0cxgQIAEoBRIfCgR0eXBlGBEgASgOMhEudGVhbS52MS5UZWFtVHlwZSLAAQoZTGlzdFRlYW1DcmVkaXRzTG9nUmVxdWVzdBIzCgpzdGFydF9kYXRlGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBEjEKCGVuZF9kYXRlGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBEgwKBHBhZ2UYAyABKAUSEQoJcGFnZV9zaXplGAQgASgFQg0KC19zdGFydF9kYXRlQgsKCV9lbmRfZGF0ZSJRChpMaXN0VGVhbUNyZWRpdHNMb2dSZXNwb25zZRIkCgRsb2dzGAEgAygLMhYudGVhbS52MS5UZWFtQ3JlZGl0TG9nEg0KBXRvdGFsGAIgASgFIogBCg1UZWFtQ3JlZGl0TG9nEg8KB3VzZXJfaWQYASABKAkSEQoJdXNlcl9uYW1lGAIgASgJEhMKC3VzZXJfYXZhdGFyGAMgASgJEg8KB2NyZWRpdHMYBCABKAUSLQoJY3JlYXRlX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKlAQofTGlzdFRlYW1DcmVkaXRzU3RhdGlzdGljUmVxdWVzdBIzCgpzdGFydF9kYXRlGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBEjEKCGVuZF9kYXRlGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBQg0KC19zdGFydF9kYXRlQgsKCV9lbmRfZGF0ZSJaCiBMaXN0VGVhbUNyZWRpdHNTdGF0aXN0aWNSZXNwb25zZRI2CglzdGF0aXN0aWMYASADKAsyIy50ZWFtLnYxLlRlYW1TZXNzaW9uQ3JlZGl0U3RhdGlzdGljIlcKGlRlYW1TZXNzaW9uQ3JlZGl0U3RhdGlzdGljEigKBGRhdGUYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg8KB2NyZWRpdHMYAiABKAUiigEKFUxpc3RUZWFtTWVtYmVyUmVxdWVzdBIMCgRwYWdlGAEgASgFEhEKCXBhZ2Vfc2l6ZRgCIAEoBRIXCgpzZWFyY2hfa2V5GAMgASgJSACIAQESKAoLZmlsdGVyX3R5cGUYBCABKA4yEy50ZWFtLnYxLkZpbHRlclR5cGVCDQoLX3NlYXJjaF9rZXkimwEKClRlYW1NZW1iZXISEAoIdXNlcl91aWQYASABKAkSDAoEbmFtZRgCIAEoCRINCgVlbWFpbBgDIAEoCRIOCgZhdmF0YXIYBCABKAkSJwoGc3RhdHVzGAUgASgOMhcudGVhbS52MS5UZWFtVXNlclN0YXR1cxIlCgRyb2xlGAYgASgOMhcudGVhbS52MS5UZWFtTWVtYmVyUm9sZSJTChZMaXN0VGVhbU1lbWJlclJlc3BvbnNlEiQKB21lbWJlcnMYASADKAsyEy50ZWFtLnYxLlRlYW1NZW1iZXISEwoLdG90YWxfY291bnQYAiABKAUqngEKClRlYW1TdGF0dXMSGwoXVEVBTV9TVEFUVVNfVU5TUEVDSUZJRUQQABIXChNURUFNX1NUQVRVU19BQ1RJVkVEEAESFwoTVEVBTV9TVEFUVVNfRVhQSVJFRBACEhwKGFRFQU1fU1RBVFVTX05PX1NVQlNDUklCRRADEiMKH1RFQU1fU1RBVFVTX1NVQlNDUklCRV9DQU5DRUxMRUQQBCpbCgpGaWx0ZXJUeXBlEhsKF0ZJTFRFUl9UWVBFX1VOU1BFQ0lGSUVEEAASFwoTRklMVEVSX1RZUEVfQUxMVVNFUhABEhcKE0ZJTFRFUl9UWVBFX1BFTkRJTkcQAiqpAQoOVGVhbVVzZXJTdGF0dXMSIAocVEVBTV9VU0VSX1NUQVRVU19VTlNQRUNJRklFRBAAEhwKGFRFQU1fVVNFUl9TVEFUVVNfUEVORElORxABEh0KGVRFQU1fVVNFUl9TVEFUVVNfQUNDRVBURUQQAhIbChdURUFNX1VTRVJfU1RBVFVTX0VYSVRFRBADEhsKF1RFQU1fVVNFUl9TVEFUVVNfS0lDS0VEEAQylgUKC1RlYW1TZXJ2aWNlEj8KCExpc3RUZWFtEhgudGVhbS52MS5MaXN0VGVhbVJlcXVlc3QaGS50ZWFtLnYxLkxpc3RUZWFtUmVzcG9uc2USPwoISm9pblRlYW0SGC50ZWFtLnYxLkpvaW5UZWFtUmVxdWVzdBoZLnRlYW0udjEuSm9pblRlYW1SZXNwb25zZRI/CghFeGl0VGVhbRIYLnRlYW0udjEuRXhpdFRlYW1SZXF1ZXN0GhkudGVhbS52MS5FeGl0VGVhbVJlc3BvbnNlEkgKC0dldFRlYW1JbmZvEhsudGVhbS52MS5HZXRUZWFtSW5mb1JlcXVlc3QaHC50ZWFtLnYxLkdldFRlYW1JbmZvUmVzcG9uc2USUQoOTGlzdFRlYW1NZW1iZXISHi50ZWFtLnYxLkxpc3RUZWFtTWVtYmVyUmVxdWVzdBofLnRlYW0udjEuTGlzdFRlYW1NZW1iZXJSZXNwb25zZRJdChJMaXN0VGVhbUNyZWRpdHNMb2cSIi50ZWFtLnYxLkxpc3RUZWFtQ3JlZGl0c0xvZ1JlcXVlc3QaIy50ZWFtLnYxLkxpc3RUZWFtQ3JlZGl0c0xvZ1Jlc3BvbnNlEm8KGExpc3RUZWFtQ3JlZGl0c1N0YXRpc3RpYxIoLnRlYW0udjEuTGlzdFRlYW1DcmVkaXRzU3RhdGlzdGljUmVxdWVzdBopLnRlYW0udjEuTGlzdFRlYW1DcmVkaXRzU3RhdGlzdGljUmVzcG9uc2USVwoQTGlzdFRlYW1JbnZvaWNlcxIgLnRlYW0udjEuTGlzdFRlYW1JbnZvaWNlc1JlcXVlc3QaIS50ZWFtLnYxLkxpc3RUZWFtSW52b2ljZXNSZXNwb25zZUKQAQoLY29tLnRlYW0udjFCCVRlYW1Qcm90b1ABWjlnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvdGVhbS92MTt0ZWFtdjGiAgNUWFiqAgdUZWFtLlYxygIHVGVhbVxWMeICE1RlYW1cVjFcR1BCTWV0YWRhdGHqAghUZWFtOjpWMWIGcHJvdG8z”,[_,Oi]),NA=Q(BA,0),FA=J(“Chx0ZWFtL3YxL2VkdV90ZWFtX2FkbWluLnByb3RvEgd0ZWFtLnYxImEKFENyZWF0ZUVkdVRlYW1SZXF1ZXN0EgwKBG5hbWUYASABKAkSDgoGYXZhdGFyGAIgASgJEhQKDGVtYWlsX3N1ZmZpeBgDIAMoCRIVCg1zZXNzaW9uX2xpbWl0GAQgASgFIhcKFUNyZWF0ZUVkdVRlYW1SZXNwb25zZSJrChhVcGRhdGVFZHVUZWFtSW5mb1JlcXVlc3QSCwoDdWlkGAEgASgJEgwKBG5hbWUYAiABKAkSDgoGYXZhdGFyGAMgASgJEg0KBXNlYXRzGAQgASgFEhUKDXNlc3Npb25fbGltaXQYBSABKAUiGwoZVXBkYXRlRWR1VGVhbUluZm9SZXNwb25zZSKYAQoTTGlzdEVkdVRlYW1zUmVxdWVzdBIQCgN1aWQYASABKAlIAIgBARIRCgRuYW1lGAIgASgJSAGIAQESGQoMZW1haWxfc3VmZml4GAMgASgJSAKIAQESDAoEcGFnZRgEIAEoBRIRCglwYWdlX3NpemUYBSABKAVCBgoEX3VpZEIHCgVfbmFtZUIPCg1fZW1haWxfc3VmZml4Iq8BCgdFZHVUZWFtEgsKA3VpZBgBIAEoCRIMCgRuYW1lGAIgASgJEg4KBmF2YXRhchgDIAEoCRIUCgxlbWFpbF9zdWZmaXgYBCADKAkSFQoNc2Vzc2lvbl9saW1pdBgFIAEoBRIcChRjdXJyZW50X21lbWJlcl9jb3VudBgGIAEoBRIuCgpjcmVhdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJGChRMaXN0RWR1VGVhbXNSZXNwb25zZRIfCgV0ZWFtcxgBIAMoCzIQLnRlYW0udjEuRWR1VGVhbRINCgV0b3RhbBgCIAEoBSKIAQoZTGlzdEVkdVRlYW1NZW1iZXJzUmVxdWVzdBIQCgh0ZWFtX3VpZBgBIAEoCRISCgVlbWFpbBgCIAEoCUgAiAEBEhEKBG5hbWUYAyABKAlIAYgBARIMCgRwYWdlGAQgASgFEhEKCXBhZ2Vfc2l6ZRgFIAEoBUIICgZfZW1haWxCBwoFX25hbWUigQEKDUVkdVRlYW1NZW1iZXISDwoHdXNlcl9pZBgBIAEoCRIMCgRuYW1lGAIgASgJEg0KBWVtYWlsGAMgASgJEhIKCnZpcF9zdGF0dXMYBCABKAkSLgoKY3JlYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiVAoaTGlzdEVkdVRlYW1NZW1iZXJzUmVzcG9uc2USJwoHbWVtYmVycxgBIAMoCzIWLnRlYW0udjEuRWR1VGVhbU1lbWJlchINCgV0b3RhbBgCIAEoBSIvChtHZXRFZHVUZWFtU3RhdGlzdGljc1JlcXVlc3QSEAoIdGVhbV91aWQYASABKAkigwEKHEdldEVkdVRlYW1TdGF0aXN0aWNzUmVzcG9uc2USHAoUY3VycmVudF9tZW1iZXJfY291bnQYASABKAUSFQoNc2Vzc2lvbl9jb3VudBgCIAEoBRIWCg5yZXNvdXJjZV91c2FnZRgDIAEoBRIWCg5yZXNvdXJjZV9xdW90YRgEIAEoBSJ3ChpMaXN0RWR1VGVhbVNlc3Npb25zUmVxdWVzdBIQCgh0ZWFtX3VpZBgBIAEoCRIXCgpzZXNzaW9uX2lkGAIgASgJSACIAQESDAoEcGFnZRgDIAEoBRIRCglwYWdlX3NpemUYBCABKAVCDQoLX3Nlc3Npb25faWQihwEKDkVkdVRlYW1TZXNzaW9uEhIKCnNlc3Npb25faWQYASABKAkSDQoFdGl0bGUYAiABKAkSEgoKY3JlYXRlcl9pZBgDIAEoCRIWCg5jb25zdW1lX3BvaW50cxgEIAEoBRIRCglpc19zaGFyZWQYBSABKAgSEwoLY3JlYXRlX3RpbWUYBiABKAMiVwobTGlzdEVkdVRlYW1TZXNzaW9uc1Jlc3BvbnNlEikKCHNlc3Npb25zGAEgAygLMhcudGVhbS52MS5FZHVUZWFtU2Vzc2lvbhINCgV0b3RhbBgCIAEoBSIoChREZWxldGVFZHVUZWFtUmVxdWVzdBIQCgh0ZWFtX3VpZBgBIAEoCSIXChVEZWxldGVFZHVUZWFtUmVzcG9uc2UyhAUKE0VkdVRlYW1BZG1pblNlcnZpY2USTgoNQ3JlYXRlRWR1VGVhbRIdLnRlYW0udjEuQ3JlYXRlRWR1VGVhbVJlcXVlc3QaHi50ZWFtLnYxLkNyZWF0ZUVkdVRlYW1SZXNwb25zZRJaChFVcGRhdGVFZHVUZWFtSW5mbxIhLnRlYW0udjEuVXBkYXRlRWR1VGVhbUluZm9SZXF1ZXN0GiIudGVhbS52MS5VcGRhdGVFZHVUZWFtSW5mb1Jlc3BvbnNlEksKDExpc3RFZHVUZWFtcxIcLnRlYW0udjEuTGlzdEVkdVRlYW1zUmVxdWVzdBodLnRlYW0udjEuTGlzdEVkdVRlYW1zUmVzcG9uc2USXQoSTGlzdEVkdVRlYW1NZW1iZXJzEiIudGVhbS52MS5MaXN0RWR1VGVhbU1lbWJlcnNSZXF1ZXN0GiMudGVhbS52MS5MaXN0RWR1VGVhbU1lbWJlcnNSZXNwb25zZRJjChRHZXRFZHVUZWFtU3RhdGlzdGljcxIkLnRlYW0udjEuR2V0RWR1VGVhbVN0YXRpc3RpY3NSZXF1ZXN0GiUudGVhbS52MS5HZXRFZHVUZWFtU3RhdGlzdGljc1Jlc3BvbnNlEmAKE0xpc3RFZHVUZWFtU2Vzc2lvbnMSIy50ZWFtLnYxLkxpc3RFZHVUZWFtU2Vzc2lvbnNSZXF1ZXN0GiQudGVhbS52MS5MaXN0RWR1VGVhbVNlc3Npb25zUmVzcG9uc2USTgoNRGVsZXRlRWR1VGVhbRIdLnRlYW0udjEuRGVsZXRlRWR1VGVhbVJlcXVlc3QaHi50ZWFtLnYxLkRlbGV0ZUVkdVRlYW1SZXNwb25zZUKYAQoLY29tLnRlYW0udjFCEUVkdVRlYW1BZG1pblByb3RvUAFaOWdpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC90ZWFtL3YxO3RlYW12MaICA1RYWKoCB1RlYW0uVjHKAgdUZWFtXFYx4gITVGVhbVxWMVxHUEJNZXRhZGF0YeoCCFRlYW06OlYxYgZwcm90bzM”,[_]),YA=Q(FA,0),UA=J(“Chl0ZWFtL3YxL3RlYW1fcHVibGljLnByb3RvEgd0ZWFtLnYxIjcKHEdldFRlYW1JbnZpdGF0aW9uSW5mb1JlcXVlc3QSFwoPaW52aXRhdGlvbl9jb2RlGAEgASgJIqUBCh1HZXRUZWFtSW52aXRhdGlvbkluZm9SZXNwb25zZRIUCgxpbnZpdGVyX25hbWUYASABKAkSFgoOaW52aXRlcl9hdmF0YXIYAiABKAkSEQoJdGVhbV9uYW1lGAMgASgJEhMKC3RlYW1fYXZhdGFyGAQgASgJEg0KBWVtYWlsGAUgASgJEh8KBHR5cGUYBiABKA4yES50ZWFtLnYxLlRlYW1UeXBlMnsKEVRlYW1QdWJsaWNTZXJ2aWNlEmYKFUdldFRlYW1JbnZpdGF0aW9uSW5mbxIlLnRlYW0udjEuR2V0VGVhbUludml0YXRpb25JbmZvUmVxdWVzdBomLnRlYW0udjEuR2V0VGVhbUludml0YXRpb25JbmZvUmVzcG9uc2VClgEKC2NvbS50ZWFtLnYxQg9UZWFtUHVibGljUHJvdG9QAVo5Z2l0bGFiLm1vbmljYS5jbi92aWRhL3Nkay9iaXpzZXJ2ZXItZ28uZ2l0L3RlYW0vdjE7dGVhbXYxogIDVFhYqgIHVGVhbS5WMcoCB1RlYW1cVjHiAhNUZWFtXFYxXEdQQk1ldGFkYXRh6gIIVGVhbTo6VjFiBnByb3RvMw”,[Oi]),JA=Q(UA,0),Sd=J(“Chxrbm93bGVkZ2UvdjEva25vd2xlZGdlLnByb3RvEgxrbm93bGVkZ2UudjEi9gIKCUtub3dsZWRnZRILCgN1aWQYASABKAkSDAoEbmFtZRgCIAEoCRIPCgdjb250ZW50GAMgASgJEg8KB3RyaWdnZXIYBCABKAkSDwoHZW5hYmxlZBgFIAEoCBITCgtzZXNzaW9uX3VpZBgGIAEoCRIZChFzZXNzaW9uX2V2ZW50X3VpZBgHIAEoCRIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIpCgRraW5kGAogASgOMhsua25vd2xlZGdlLnYxLktub3dsZWRnZUtpbmQSEAoIc2hvcnRfaWQYCyABKAkSNAoKdXNhZ2VfdHlwZRgMIAEoDjIgLmtub3dsZWRnZS52MS5Lbm93bGVkZ2VVc2FnZVR5cGUSGAoQdW5pcXVlX2luY19pbmRleBgNIAEoAyLTAwoOS25vd2xlZGdlRXZlbnQSCwoDdWlkGAEgASgJEgwKBG5hbWUYAiABKAkSDwoHY29udGVudBgDIAEoCRIPCgd0cmlnZ2VyGAQgASgJEjIKBnN0YXR1cxgFIAEoDjIiLmtub3dsZWRnZS52MS5Lbm93bGVkZ2VFdmVudFN0YXR1cxITCgtzZXNzaW9uX3VpZBgGIAEoCRIZChFzZXNzaW9uX2V2ZW50X3VpZBgHIAEoCRIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgRraW5kGAogASgOMiAua25vd2xlZGdlLnYxLktub3dsZWRnZUV2ZW50S2luZBIfChJrbm93bGVkZ2Vfc2hvcnRfaWQYCyABKAlIAIgBARIVCghzaG9ydF9pZBgMIAEoCUgBiAEBEjQKCnVzYWdlX3R5cGUYDSABKA4yIC5rbm93bGVkZ2UudjEuS25vd2xlZGdlVXNhZ2VUeXBlQhUKE19rbm93bGVkZ2Vfc2hvcnRfaWRCCwoJX3Nob3J0X2lkItcDChJTdWdnZXN0ZWRLbm93bGVkZ2USCwoDdWlkGAEgASgJEgwKBG5hbWUYAiABKAkSDwoHY29udGVudBgDIAEoCRIPCgd0cmlnZ2VyGAQgASgJEjIKBnN0YXR1cxgFIAEoDjIiLmtub3dsZWRnZS52MS5Lbm93bGVkZ2VFdmVudFN0YXR1cxITCgtzZXNzaW9uX3VpZBgGIAEoCRIZChFzZXNzaW9uX2V2ZW50X3VpZBgHIAEoCRIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgRraW5kGAogASgOMiAua25vd2xlZGdlLnYxLktub3dsZWRnZUV2ZW50S2luZBIfChJrbm93bGVkZ2Vfc2hvcnRfaWQYCyABKAlIAIgBARIVCghzaG9ydF9pZBgMIAEoCUgBiAEBEjQKCnVzYWdlX3R5cGUYDSABKA4yIC5rbm93bGVkZ2UudjEuS25vd2xlZGdlVXNhZ2VUeXBlQhUKE19rbm93bGVkZ2Vfc2hvcnRfaWRCCwoJX3Nob3J0X2lkItIBChRMaXN0S25vd2xlZGdlUmVxdWVzdBIOCgZvZmZzZXQYASABKAUSDQoFbGltaXQYAiABKAUSEwoLc2Vzc2lvbl91aWQYAyABKAkSFAoHZW5hYmxlZBgEIAEoCEgAiAEBEhoKEnJlY29tbWVuZF91aWRfbGlzdBgFIAMoCRI5Cgp1c2FnZV90eXBlGAYgASgOMiAua25vd2xlZGdlLnYxLktub3dsZWRnZVVzYWdlVHlwZUgBiAEBQgoKCF9lbmFibGVkQg0KC191c2FnZV90eXBlIp0BChVMaXN0S25vd2xlZGdlUmVzcG9uc2USKgoJa25vd2xlZGdlGAEgAygLMhcua25vd2xlZGdlLnYxLktub3dsZWRnZRINCgV0b3RhbBgCIAEoAxIQCghoYXNfbmV4dBgDIAEoCBIaChJyZWNvbW1lbmRfdWlkX2xpc3QYBSADKAkSGwoTbWF4X2tub3dsZWRnZV9saW1pdBgGIAEoBSKEAQoaTGlzdEtub3dsZWRnZUV2ZW50c1JlcXVlc3QSDgoGb2Zmc2V0GAEgASgFEg0KBWxpbWl0GAIgASgFEjIKBnN0YXR1cxgDIAEoDjIiLmtub3dsZWRnZS52MS5Lbm93bGVkZ2VFdmVudFN0YXR1cxITCgtzZXNzaW9uX3VpZBgEIAEoCSJsChtMaXN0S25vd2xlZGdlRXZlbnRzUmVzcG9uc2USLAoGZXZlbnRzGAEgAygLMhwua25vd2xlZGdlLnYxLktub3dsZWRnZUV2ZW50Eg0KBXRvdGFsGAIgASgDEhAKCGhhc19uZXh0GAMgASgIImoKIVVwZGF0ZUtub3dsZWRnZUV2ZW50U3RhdHVzUmVxdWVzdBIRCglldmVudF91aWQYASABKAkSMgoGc3RhdHVzGAIgASgOMiIua25vd2xlZGdlLnYxLktub3dsZWRnZUV2ZW50U3RhdHVzIjUKIlVwZGF0ZUtub3dsZWRnZUV2ZW50U3RhdHVzUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCLJAQoWQ3JlYXRlS25vd2xlZGdlUmVxdWVzdBIYCgRuYW1lGAEgASgJQgq6SAdyBRABGP8BEg8KB2NvbnRlbnQYAiABKAkSDwoHdHJpZ2dlchgDIAEoCRIPCgdlbmFibGVkGAQgASgIEhoKDXJlY29tbWVuZF91aWQYBSABKAlIAIgBARI0Cgp1c2FnZV90eXBlGAYgASgOMiAua25vd2xlZGdlLnYxLktub3dsZWRnZVVzYWdlVHlwZUIQCg5fcmVjb21tZW5kX3VpZCJFChdDcmVhdGVLbm93bGVkZ2VSZXNwb25zZRIqCglrbm93bGVkZ2UYASABKAsyFy5rbm93bGVkZ2UudjEuS25vd2xlZGdlItUBChZVcGRhdGVLbm93bGVkZ2VSZXF1ZXN0EhUKDWtub3dsZWRnZV91aWQYASABKAkSFgoEbmFtZRgCIAEoCUIIukgFcgMY/wESDwoHY29udGVudBgDIAEoCRIPCgd0cmlnZ2VyGAQgASgJEhQKB2VuYWJsZWQYBSABKAhIAIgBARI5Cgp1c2FnZV90eXBlGAYgASgOMiAua25vd2xlZGdlLnYxLktub3dsZWRnZVVzYWdlVHlwZUgBiAEBQgoKCF9lbmFibGVkQg0KC191c2FnZV90eXBlIkUKF1VwZGF0ZUtub3dsZWRnZVJlc3BvbnNlEioKCWtub3dsZWRnZRgBIAEoCzIXLmtub3dsZWRnZS52MS5Lbm93bGVkZ2UiLwoWRGVsZXRlS25vd2xlZGdlUmVxdWVzdBIVCg1rbm93bGVkZ2VfdWlkGAEgASgJIioKF0RlbGV0ZUtub3dsZWRnZVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiRwodVXBkYXRlS25vd2xlZGdlRW5hYmxlZFJlcXVlc3QSFQoNa25vd2xlZGdlX3VpZBgBIAEoCRIPCgdlbmFibGVkGAIgASgIIjEKHlVwZGF0ZUtub3dsZWRnZUVuYWJsZWRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIk4KGUdldEtub3dsZWRnZURldGFpbFJlcXVlc3QSFQoNa25vd2xlZGdlX3VpZBgBIAEoCRIaChJrbm93bGVkZ2Vfc2hvcnRfaWQYAiABKAkiSAoaR2V0S25vd2xlZGdlRGV0YWlsUmVzcG9uc2USKgoJa25vd2xlZGdlGAEgASgLMhcua25vd2xlZGdlLnYxLktub3dsZWRnZSLaAQobVXBkYXRlS25vd2xlZGdlRXZlbnRSZXF1ZXN0EhEKCWV2ZW50X3VpZBgBIAEoCRIRCgRuYW1lGAIgASgJSACIAQESFAoHY29udGVudBgDIAEoCUgBiAEBEhQKB3RyaWdnZXIYBCABKAlIAogBARI5Cgp1c2FnZV90eXBlGAUgASgOMiAua25vd2xlZGdlLnYxLktub3dsZWRnZVVzYWdlVHlwZUgDiAEBQgcKBV9uYW1lQgoKCF9jb250ZW50QgoKCF90cmlnZ2VyQg0KC191c2FnZV90eXBlIksKHFVwZGF0ZUtub3dsZWRnZUV2ZW50UmVzcG9uc2USKwoFZXZlbnQYASABKAsyHC5rbm93bGVkZ2UudjEuS25vd2xlZGdlRXZlbnQiLgoaR2V0QnVpbHRpbktub3dsZWRnZVJlcXVlc3QSEAoIc2hvcnRfaWQYASABKAkiSQobR2V0QnVpbHRpbktub3dsZWRnZVJlc3BvbnNlEioKCWtub3dsZWRnZRgBIAEoCzIXLmtub3dsZWRnZS52MS5Lbm93bGVkZ2UqrAEKFEtub3dsZWRnZUV2ZW50U3RhdHVzEiYKIktOT1dMRURHRV9FVkVOVF9TVEFUVVNfVU5TUEVDSUZJRUQQABIiCh5LTk9XTEVER0VfRVZFTlRfU1RBVFVTX1BFTkRJTkcQARIjCh9LTk9XTEVER0VfRVZFTlRfU1RBVFVTX0FDQ0VQVEVEEAISIwofS05PV0xFREdFX0VWRU5UX1NUQVRVU19SRUpFQ1RFRBADKmQKDUtub3dsZWRnZUtpbmQSHgoaS05PV0xFREdFX0tJTkRfVU5TUEVDSUZJRUQQABIXChNLTk9XTEVER0VfS0lORF9VU0VSEAESGgoWS05PV0xFREdFX0tJTkRfQlVJTFRJThACKoIBChJLbm93bGVkZ2VVc2FnZVR5cGUSJAogS05PV0xFREdFX1VTQUdFX1RZUEVfVU5TUEVDSUZJRUQQABIhCh1LTk9XTEVER0VfVVNBR0VfVFlQRV9VU0VfV0hFThABEiMKH0tOT1dMRURHRV9VU0FHRV9UWVBFX0FMV0FZU19VU0UQAiqdAQoSS25vd2xlZGdlRXZlbnRLaW5kEiQKIEtOT1dMRURHRV9FVkVOVF9LSU5EX1VOU1BFQ0lGSUVEEAASHwobS05PV0xFREdFX0VWRU5UX0tJTkRfQ1JFQVRFEAESHwobS05PV0xFREdFX0VWRU5UX0tJTkRfVVBEQVRFEAISHwobS05PV0xFREdFX0VWRU5UX0tJTkRfREVMRVRFEAMysggKEEtub3dsZWRnZVNlcnZpY2USWAoNTGlzdEtub3dsZWRnZRIiLmtub3dsZWRnZS52MS5MaXN0S25vd2xlZGdlUmVxdWVzdBojLmtub3dsZWRnZS52MS5MaXN0S25vd2xlZGdlUmVzcG9uc2USagoTTGlzdEtub3dsZWRnZUV2ZW50cxIoLmtub3dsZWRnZS52MS5MaXN0S25vd2xlZGdlRXZlbnRzUmVxdWVzdBopLmtub3dsZWRnZS52MS5MaXN0S25vd2xlZGdlRXZlbnRzUmVzcG9uc2USfwoaVXBkYXRlS25vd2xlZGdlRXZlbnRTdGF0dXMSLy5rbm93bGVkZ2UudjEuVXBkYXRlS25vd2xlZGdlRXZlbnRTdGF0dXNSZXF1ZXN0GjAua25vd2xlZGdlLnYxLlVwZGF0ZUtub3dsZWRnZUV2ZW50U3RhdHVzUmVzcG9uc2USXgoPQ3JlYXRlS25vd2xlZGdlEiQua25vd2xlZGdlLnYxLkNyZWF0ZUtub3dsZWRnZVJlcXVlc3QaJS5rbm93bGVkZ2UudjEuQ3JlYXRlS25vd2xlZGdlUmVzcG9uc2USXgoPVXBkYXRlS25vd2xlZGdlEiQua25vd2xlZGdlLnYxLlVwZGF0ZUtub3dsZWRnZVJlcXVlc3QaJS5rbm93bGVkZ2UudjEuVXBkYXRlS25vd2xlZGdlUmVzcG9uc2USXgoPRGVsZXRlS25vd2xlZGdlEiQua25vd2xlZGdlLnYxLkRlbGV0ZUtub3dsZWRnZVJlcXVlc3QaJS5rbm93bGVkZ2UudjEuRGVsZXRlS25vd2xlZGdlUmVzcG9uc2UScwoWVXBkYXRlS25vd2xlZGdlRW5hYmxlZBIrLmtub3dsZWRnZS52MS5VcGRhdGVLbm93bGVkZ2VFbmFibGVkUmVxdWVzdBosLmtub3dsZWRnZS52MS5VcGRhdGVLbm93bGVkZ2VFbmFibGVkUmVzcG9uc2USZwoSR2V0S25vd2xlZGdlRGV0YWlsEicua25vd2xlZGdlLnYxLkdldEtub3dsZWRnZURldGFpbFJlcXVlc3QaKC5rbm93bGVkZ2UudjEuR2V0S25vd2xlZGdlRGV0YWlsUmVzcG9uc2USbQoUVXBkYXRlS25vd2xlZGdlRXZlbnQSKS5rbm93bGVkZ2UudjEuVXBkYXRlS25vd2xlZGdlRXZlbnRSZXF1ZXN0Gioua25vd2xlZGdlLnYxLlVwZGF0ZUtub3dsZWRnZUV2ZW50UmVzcG9uc2USagoTR2V0QnVpbHRpbktub3dsZWRnZRIoLmtub3dsZWRnZS52MS5HZXRCdWlsdGluS25vd2xlZGdlUmVxdWVzdBopLmtub3dsZWRnZS52MS5HZXRCdWlsdGluS25vd2xlZGdlUmVzcG9uc2VCuAEKEGNvbS5rbm93bGVkZ2UudjFCDktub3dsZWRnZVByb3RvUAFaQ2dpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC9rbm93bGVkZ2UvdjE7a25vd2xlZGdldjGiAgNLWFiqAgxLbm93bGVkZ2UuVjHKAgxLbm93bGVkZ2VcVjHiAhhLbm93bGVkZ2VcVjFcR1BCTWV0YWRhdGHqAg1Lbm93bGVkZ2U6OlYxYgZwcm90bzM”,[Re,_]),xA=Q(Sd,0),wA=J(“CiJrbm93bGVkZ2UvdjEva25vd2xlZGdlX2FkbWluLnByb3RvEgxrbm93bGVkZ2UudjEiOwoaTGlzdFN5c3RlbUtub3dsZWRnZVJlcXVlc3QSDgoGb2Zmc2V0GAEgASgFEg0KBWxpbWl0GAIgASgFImoKG0xpc3RTeXN0ZW1Lbm93bGVkZ2VSZXNwb25zZRIqCglrbm93bGVkZ2UYASADKAsyFy5rbm93bGVkZ2UudjEuS25vd2xlZGdlEg0KBXRvdGFsGAIgASgDEhAKCGhhc19uZXh0GAMgASgIIpgBChxDcmVhdGVTeXN0ZW1Lbm93bGVkZ2VSZXF1ZXN0EgwKBG5hbWUYASABKAkSDwoHY29udGVudBgCIAEoCRIPCgd0cmlnZ2VyGAMgASgJEjkKCnVzYWdlX3R5cGUYBCABKA4yIC5rbm93bGVkZ2UudjEuS25vd2xlZGdlVXNhZ2VUeXBlSACIAQFCDQoLX3VzYWdlX3R5cGUiSwodQ3JlYXRlU3lzdGVtS25vd2xlZGdlUmVzcG9uc2USKgoJa25vd2xlZGdlGAEgASgLMhcua25vd2xlZGdlLnYxLktub3dsZWRnZSK/AgocVXBkYXRlU3lzdGVtS25vd2xlZGdlUmVxdWVzdBIVCg1rbm93bGVkZ2VfdWlkGAEgASgJEhEKBG5hbWUYAiABKAlIAIgBARIUCgdjb250ZW50GAMgASgJSAGIAQESFAoHdHJpZ2dlchgEIAEoCUgCiAEBEjkKCnVzYWdlX3R5cGUYBSABKA4yIC5rbm93bGVkZ2UudjEuS25vd2xlZGdlVXNhZ2VUeXBlSAOIAQESGQoMaWRfZm9yX21hbnVzGAYgASgFSASIAQESHQoQdW5pcXVlX2luY19pbmRleBgHIAEoBUgFiAEBQgcKBV9uYW1lQgoKCF9jb250ZW50QgoKCF90cmlnZ2VyQg0KC191c2FnZV90eXBlQg8KDV9pZF9mb3JfbWFudXNCEwoRX3VuaXF1ZV9pbmNfaW5kZXgiSwodVXBkYXRlU3lzdGVtS25vd2xlZGdlUmVzcG9uc2USKgoJa25vd2xlZGdlGAEgASgLMhcua25vd2xlZGdlLnYxLktub3dsZWRnZSI1ChxEZWxldGVTeXN0ZW1Lbm93bGVkZ2VSZXF1ZXN0EhUKDWtub3dsZWRnZV91aWQYASABKAkiMAodRGVsZXRlU3lzdGVtS25vd2xlZGdlUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCDLZAwoVS25vd2xlZGdlQWRtaW5TZXJ2aWNlEmoKE0xpc3RTeXN0ZW1Lbm93bGVkZ2USKC5rbm93bGVkZ2UudjEuTGlzdFN5c3RlbUtub3dsZWRnZVJlcXVlc3QaKS5rbm93bGVkZ2UudjEuTGlzdFN5c3RlbUtub3dsZWRnZVJlc3BvbnNlEnAKFUNyZWF0ZVN5c3RlbUtub3dsZWRnZRIqLmtub3dsZWRnZS52MS5DcmVhdGVTeXN0ZW1Lbm93bGVkZ2VSZXF1ZXN0Gisua25vd2xlZGdlLnYxLkNyZWF0ZVN5c3RlbUtub3dsZWRnZVJlc3BvbnNlEnAKFVVwZGF0ZVN5c3RlbUtub3dsZWRnZRIqLmtub3dsZWRnZS52MS5VcGRhdGVTeXN0ZW1Lbm93bGVkZ2VSZXF1ZXN0Gisua25vd2xlZGdlLnYxLlVwZGF0ZVN5c3RlbUtub3dsZWRnZVJlc3BvbnNlEnAKFURlbGV0ZVN5c3RlbUtub3dsZWRnZRIqLmtub3dsZWRnZS52MS5EZWxldGVTeXN0ZW1Lbm93bGVkZ2VSZXF1ZXN0Gisua25vd2xlZGdlLnYxLkRlbGV0ZVN5c3RlbUtub3dsZWRnZVJlc3BvbnNlQr0BChBjb20ua25vd2xlZGdlLnYxQhNLbm93bGVkZ2VBZG1pblByb3RvUAFaQ2dpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC9rbm93bGVkZ2UvdjE7a25vd2xlZGdldjGiAgNLWFiqAgxLbm93bGVkZ2UuVjHKAgxLbm93bGVkZ2VcVjHiAhhLbm93bGVkZ2VcVjFcR1BCTWV0YWRhdGHqAg1Lbm93bGVkZ2U6OlYxYgZwcm90bzM”,[Sd]),kA=Q(wA,0),$i=J(“ChRzcGFjZS92MS9zcGFjZS5wcm90bxIIc3BhY2UudjEiZgoVU2V0U3BhY2VTdGF0dXNSZXF1ZXN0EhMKC3Nlc3Npb25fdWlkGAEgASgJEhEKCWV2ZW50X3VpZBgCIAEoCRIlCgZzdGF0dXMYAyABKA4yFS5zcGFjZS52MS5TcGFjZVN0YXR1cyIpChZTZXRTcGFjZVN0YXR1c1Jlc3BvbnNlEg8KB1N1Y2Nlc3MYASABKAgikgQKD1NwYWNlU3RhdHVzSW5mbxIqCgZzdGF0dXMYASABKA4yFS5zcGFjZS52MS5TcGFjZVN0YXR1c0gAiAEBEhEKCXNwYWNlX3VpZBgCIAEoCRIRCglzcGFjZV9VcmwYAyABKAkSHgoWcHVibGlzaGVkX3RvX2NvbW11bml0eRgEIAEoCBJAChdzdWJfZG9tYWluX2F1ZGl0X3N0YXR1cxgFIAEoDjIaLnNwYWNlLnYxLlNwYWNlQXVkaXRTdGF0dXNIAYgBARIxCg1kZXBsb3llZF90aW1lGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCgpzdWJfZG9tYWluGAcgASgJSAKIAQESDQoFdGl0bGUYCCABKAkSEwoLc2Vzc2lvbl91aWQYCSABKAkSEQoJZXZlbnRfdWlkGAogASgJEh0KEHN1Yl9kb21haW5fYXVkaXQYCyABKAlIA4gBARIrCgxhdWRpdF9zdGF0dXMYDCABKA4yFS5zcGFjZS52MS5BdWRpdFN0YXR1cxIxCgxSaXNrQ2F0ZWdvcnkYDSADKA4yGy5zcGFjZS52MS5TcGFjZVJpc2tDYXRlZ29yeUIJCgdfc3RhdHVzQhoKGF9zdWJfZG9tYWluX2F1ZGl0X3N0YXR1c0INCgtfc3ViX2RvbWFpbkITChFfc3ViX2RvbWFpbl9hdWRpdCJZChlQYWdlR2V0VXNlclNwYWNlc1Jlc3BvbnNlEi0KCnNwYWNlX2luZm8YAiADKAsyGS5zcGFjZS52MS5TcGFjZVN0YXR1c0luZm8SDQoFdG90YWwYAyABKAUiLAoVR2V0U3BhY2VTdGF0dXNSZXF1ZXN0EhMKC3Nlc3Npb25fdWlkGAEgASgJIl8KFkdldFNwYWNlU3RhdHVzUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBI0ChFzcGFjZV9zdGF0dXNfaW5mbxgCIAMoCzIZLnNwYWNlLnYxLlNwYWNlU3RhdHVzSW5mbyI1ChRQYWdlR2V0VXNlclNwYWNlc1JlcRIOCgZvZmZzZXQYASABKAUSDQoFbGltaXQYAiABKAUiPgoVRWRpdFNwYWNlU3ViRG9tYWluUmVxEhEKCXNwYWNlX3VpZBgBIAEoCRISCgpzdWJfZG9tYWluGAIgASgJIhwKGkVkaXRTcGFjZVN1YkRvbWFpblJlc3BvbnNlIhkKF0dldEVkaXRTcGFjZVNpdGVDb2RlUmVxIk8KHEdldEVkaXRTcGFjZVNpdGVDb2RlUmVzcG9uc2USFwoPZWRpdF9zcGFjZV9jb2RlGAEgASgJEhYKDnZhbGlkX2R1cmF0aW9uGAIgASgDIjEKHUhhc1NwYWNlRWRpdFBlcm1pc3Npb25SZXF1ZXN0EhAKCHNwYWNlX2lkGAEgASgJIjIKHkhhc1NwYWNlRWRpdFBlcm1pc3Npb25SZXNwb25zZRIQCghjYW5fZWRpdBgBIAEoCCIvChpSZXN0b3JlT3JpZ2luYWxTaXRlUmVxdWVzdBIRCglzcGFjZV91aWQYASABKAkiLgobUmVzdG9yZU9yaWdpbmFsU2l0ZVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiRgobU2F2ZVNwYWNlU2l0ZVJhd0RhdGFSZXF1ZXN0EhEKCXNwYWNlX3VpZBgBIAEoCRIUCgx3ZWJfcmF3X2RhdGEYAiABKAkiLwocU2F2ZVNwYWNlU2l0ZVJhd0RhdGFSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIKlkKC1NwYWNlU3RhdHVzEhoKFlNQQUNFX1NUQVRVU19JTlZJU0lCTEUQABIYChRTUEFDRV9TVEFUVVNfVklTSUJMRRABEhQKEFNQQUNFX1NUQVRVU19CQU4QAipHCg5TcGFjZVN5c1N0YXR1cxIbChdTUEFDRV9TWVNfU1RBVFVTX05PUk1BTBAAEhgKFFNQQUNFX1NZU19TVEFUVVNfQkFOEAEqXQoLQXVkaXRTdGF0dXMSGAoUQVVESVRfU1RBVFVTX1BFTkRJTkcQABIZChVBVURJVF9TVEFUVVNfQVBQUk9WRUQQARIZChVBVURJVF9TVEFUVVNfUkVKRUNURUQQAiqYAQoQU3BhY2VBdWRpdFN0YXR1cxIdChlTUEFDRV9BVURJVF9TVEFUVVNfQ09NTUlUEAASGwoXU1BBQ0VfQVVESVRfU1RBVFVTX1BBU1MQARIdChlTUEFDRV9BVURJVF9TVEFUVVNfUkVKRUNUEAISKQolU1BBQ0VfQVVESVRfU1RBVFVTX05FRURfTUFOVUFMX1JFVklFVxAEKpIIChFTcGFjZVJpc2tDYXRlZ29yeRIlCiFDT05URU5UX1JJU0tfQ0FURUdPUllfVU5TUEVDSUZJRUQQABIPCgtTWVNURU1fUEFUSBABEhUKEUNPTU1BTkRfSU5KRUNUSU9OEAISFgoSU1BFQ0lBTF9DSEFSX0FCVVNFEAMSFAoQUkVTRVJWRURfS0VZV09SRBAEEg4KCkJSQU5EX05BTUUQBRINCglDT1BZUklHSFQQBhISCg5DRUxFQlJJVFlfTkFNRRAHEhQKEFBST1RFQ1RFRF9ET01BSU4QCBIOCgpMRUdBTF9SSVNLEAkSEwoPQ09OVFJPTExFRF9JVEVNEAoSEwoPRklOQU5DSUFMX0ZSQVVEEAsSFQoRRkFMU0VfQURWRVJUSVNJTkcQDBIWChJSRUdJT05BTF9TRU5TSVRJVkUQDRISCg5QUk9GQU5JVFlfTUlMRBAOEhYKElBST0ZBTklUWV9NT0RFUkFURRAPEhQKEFBST0ZBTklUWV9TRVZFUkUQEBIZChVESVNDUklNSU5BVElPTl9SQUNJQUwQERIZChVESVNDUklNSU5BVElPTl9HRU5ERVIQEhIcChhESVNDUklNSU5BVElPTl9SRUxJR0lPVVMQExIWChJESVNDUklNSU5BVElPTl9BR0UQFBIdChlESVNDUklNSU5BVElPTl9ESVNBQklMSVRZEBUSFQoRU0VYVUFMX1NVR0dFU1RJVkUQFhITCg9TRVhVQUxfRVhQTElDSVQQFxIQCgxTRVhVQUxfTUlOT1IQGBIUChBWSU9MRU5DRV9HRU5FUkFMEBkSFAoQVklPTEVOQ0VfRVhUUkVNRRAaEhQKEFZJT0xFTkNFX1dFQVBPTlMQGxIWChJWSU9MRU5DRV9URVJST1JJU00QHBISCg5NSVNJTkZPUk1BVElPThAdEgwKCFBISVNISU5HEB4SEQoNSU1QRVJTT05BVElPThAfEhQKEERFQ0VQVElWRV9ET01BSU4QIBISCg5DVUxUVVJBTF9UQUJPTxAhEhQKEE1VTFRJTElOR1VBTF9QVU4QIhIWChJJTVBMSUNJVF9SRUZFUkVOQ0UQIxISCg5FTUVSR0lOR19TTEFORxAkEggKBFNQQU0QJRIWChJNRUFOSU5HTEVTU19TVFJJTkcQJhIYChRFWENFU1NJVkVfUkVQRVRJVElPThAnEhAKDFNQRUNJQUxfQ0FTRRAoEhIKDkVWQVNJT05fUElOWUlOECkSFwoTRVZBU0lPTl9QSU5ZSU5fQUJCUhAqEhgKFEVWQVNJT05fTUlYRURfU0NSSVBUECsSFQoRRVZBU0lPTl9IT01PR1JBUEgQLBIcChhFVkFTSU9OX0NIQVJfUkVQTEFDRU1FTlQQLTKKBgoMU3BhY2VTZXJ2aWNlElMKDlNldFNwYWNlU3RhdHVzEh8uc3BhY2UudjEuU2V0U3BhY2VTdGF0dXNSZXF1ZXN0GiAuc3BhY2UudjEuU2V0U3BhY2VTdGF0dXNSZXNwb25zZRJTCg5HZXRTcGFjZVN0YXR1cxIfLnNwYWNlLnYxLkdldFNwYWNlU3RhdHVzUmVxdWVzdBogLnNwYWNlLnYxLkdldFNwYWNlU3RhdHVzUmVzcG9uc2USWAoRUGFnZUdldFVzZXJTcGFjZXMSHi5zcGFjZS52MS5QYWdlR2V0VXNlclNwYWNlc1JlcRojLnNwYWNlLnYxLlBhZ2VHZXRVc2VyU3BhY2VzUmVzcG9uc2USWwoSRWRpdFNwYWNlU3ViRG9tYWluEh8uc3BhY2UudjEuRWRpdFNwYWNlU3ViRG9tYWluUmVxGiQuc3BhY2UudjEuRWRpdFNwYWNlU3ViRG9tYWluUmVzcG9uc2USYQoUR2V0RWRpdFNwYWNlU2l0ZUNvZGUSIS5zcGFjZS52MS5HZXRFZGl0U3BhY2VTaXRlQ29kZVJlcRomLnNwYWNlLnYxLkdldEVkaXRTcGFjZVNpdGVDb2RlUmVzcG9uc2USawoWSGFzU3BhY2VFZGl0UGVybWlzc2lvbhInLnNwYWNlLnYxLkhhc1NwYWNlRWRpdFBlcm1pc3Npb25SZXF1ZXN0Giguc3BhY2UudjEuSGFzU3BhY2VFZGl0UGVybWlzc2lvblJlc3BvbnNlEmUKFFNhdmVTcGFjZVNpdGVSYXdEYXRhEiUuc3BhY2UudjEuU2F2ZVNwYWNlU2l0ZVJhd0RhdGFSZXF1ZXN0GiYuc3BhY2UudjEuU2F2ZVNwYWNlU2l0ZVJhd0RhdGFSZXNwb25zZRJiChNSZXN0b3JlT3JpZ2luYWxTaXRlEiQuc3BhY2UudjEuUmVzdG9yZU9yaWdpbmFsU2l0ZVJlcXVlc3QaJS5zcGFjZS52MS5SZXN0b3JlT3JpZ2luYWxTaXRlUmVzcG9uc2VCmAEKDGNvbS5zcGFjZS52MUIKU3BhY2VQcm90b1ABWjtnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvc3BhY2UvdjE7c3BhY2V2MaICA1NYWKoCCFNwYWNlLlYxygIIU3BhY2VcVjHiAhRTcGFjZVxWMVxHUEJNZXRhZGF0YeoCCVNwYWNlOjpWMWIGcHJvdG8z”,[_]),zA=Q($i,0),QA=J(“ChtzcGFjZS92MS9zcGFjZV9wdWJsaWMucHJvdG8SCHNwYWNlLnYxIioKFUdldFNwYWNlRGV0YWlsUmVxdWVzdBIRCglzcGFjZV91aWQYASABKAkingEKFkdldFNwYWNlRGV0YWlsUmVzcG9uc2USKgoGc3RhdHVzGAEgASgOMhUuc3BhY2UudjEuU3BhY2VTdGF0dXNIAIgBARIRCglzcGFjZV91cmwYAiABKAkSIQoUc2l0ZV9yYXdfZGF0YV9zM191cmwYAyABKAlIAYgBAUIJCgdfc3RhdHVzQhcKFV9zaXRlX3Jhd19kYXRhX3MzX3VybCI3ChxHZXRFZGl0U3BhY2VTaXRlVG9rZW5SZXF1ZXN0EhcKD2VkaXRfc3BhY2VfY29kZRgBIAEoCSI1Ch1HZXRFZGl0U3BhY2VTaXRlVG9rZW5SZXNwb25zZRIUCgxhY2Nlc3NfdG9rZW4YASABKAkyqAIKElNwYWNlUHVibGljU2VydmljZRJTCg5HZXRTcGFjZURldGFpbBIfLnNwYWNlLnYxLkdldFNwYWNlRGV0YWlsUmVxdWVzdBogLnNwYWNlLnYxLkdldFNwYWNlRGV0YWlsUmVzcG9uc2USUwoOR2V0U3BhY2VTdGF0dXMSHy5zcGFjZS52MS5HZXRTcGFjZVN0YXR1c1JlcXVlc3QaIC5zcGFjZS52MS5HZXRTcGFjZVN0YXR1c1Jlc3BvbnNlEmgKFUdldEVkaXRTcGFjZVNpdGVUb2tlbhImLnNwYWNlLnYxLkdldEVkaXRTcGFjZVNpdGVUb2tlblJlcXVlc3QaJy5zcGFjZS52MS5HZXRFZGl0U3BhY2VTaXRlVG9rZW5SZXNwb25zZUKeAQoMY29tLnNwYWNlLnYxQhBTcGFjZVB1YmxpY1Byb3RvUAFaO2dpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC9zcGFjZS92MTtzcGFjZXYxogIDU1hYqgIIU3BhY2UuVjHKAghTcGFjZVxWMeICFFNwYWNlXFYxXEdQQk1ldGFkYXRh6gIJU3BhY2U6OlYxYgZwcm90bzM”,[Re,_,$i]),KA=Q(QA,0),LA=J(“ChpzcGFjZS92MS9zcGFjZV9hZG1pbi5wcm90bxIIc3BhY2UudjEiNgoRQmxvY2tTcGFjZVJlcXVlc3QSEQoJc3BhY2VfdWlkGAEgASgJEg4KBnJlbWFyaxgCIAEoCSIlChJCbG9ja1NwYWNlUmVzcG9uc2USDwoHU3VjY2VzcxgBIAEoCCKBAQoOU3BhY2VCbG9ja0luZm8SCgoCaWQYASABKAMSEQoJc3BhY2VfdWlkGAIgASgJEg4KBnJlbWFyaxgDIAEoCRIQCghvcGVyYXRvchgEIAEoCRIuCgpjcmVhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCIpChRVbmJsb2NrU3BhY2VzUmVxdWVzdBIRCglzcGFjZV91aWQYASABKAkiJwoUVW5ibG9ja1NwYWNlUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCJyChVTcGFjZUJsb2NrTGlzdFJlcXVlc3QSFQoEcGFnZRgBIAEoBUIHukgEGgIoARIcCglwYWdlX3NpemUYAiABKAVCCbpIBhoEGGQoARIWCglzcGFjZV91aWQYAyABKAlIAIgBAUIMCgpfc3BhY2VfdWlkIlsKFlNwYWNlQmxvY2tMaXN0UmVzcG9uc2USMgoQc3BhY2VfYmxvY2tfbGlzdBgBIAMoCzIYLnNwYWNlLnYxLlNwYWNlQmxvY2tJbmZvEg0KBXRvdGFsGAIgASgDIpECChZBdWRpdFNwYWNlU3ViRG9tYWluUmVxEgoKAmlkGAEgASgDEhEKCXNwYWNlX3VpZBgCIAEoCRISCgpzdWJfZG9tYWluGAMgASgJEioKBnN0YXR1cxgEIAEoDjIaLnNwYWNlLnYxLlNwYWNlQXVkaXRTdGF0dXMSGgoNcmVqZWN0X3JlYXNvbhgFIAEoCUgAiAEBEh4KEWFkZF9ibG9ja19jb250ZW50GAYgASgJSAGIAQESNAoPcmlza19jYXRlZ29yaWVzGAcgAygOMhsuc3BhY2UudjEuU3BhY2VSaXNrQ2F0ZWdvcnlCEAoOX3JlamVjdF9yZWFzb25CFAoSX2FkZF9ibG9ja19jb250ZW50Ih0KG0F1ZGl0U3BhY2VTdWJEb21haW5SZXNwb25zZSKgAQodUGFnZUdldEF1ZGl0U3BhY2VTdWJEb21haW5SZXESDgoGb2Zmc2V0GAEgASgFEg0KBWxpbWl0GAIgASgFEhYKCXNwYWNlX3VpZBgDIAEoCUgAiAEBEi8KBnN0YXR1cxgEIAEoDjIaLnNwYWNlLnYxLlNwYWNlQXVkaXRTdGF0dXNIAYgBAUIMCgpfc3BhY2VfdWlkQgkKB19zdGF0dXMitQMKF0F1ZGl0U3BhY2VTdWJEb21haW5JbmZvEgoKAmlkGAEgASgDEhEKCXNwYWNlX3VpZBgCIAEoCRISCgpzdWJfZG9tYWluGAMgASgJEioKBnN0YXR1cxgEIAEoDjIaLnNwYWNlLnYxLlNwYWNlQXVkaXRTdGF0dXMSEwoLc2Vzc2lvbl91aWQYBSABKAkSEQoJZXZlbnRfdWlkGAYgASgJEg8KB3VzZXJfaWQYByABKAkSLgoKY3JlYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEgoKYXVkaXRvcl9pZBgJIAEoCRIVCg1yZWplY3RfcmVhc29uGAogASgJEi4KCnVwZGF0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjAKDHNwYWNlX3N0YXR1cxgMIAEoDjIVLnNwYWNlLnYxLlNwYWNlU3RhdHVzSACIAQESNAoPcmlza19jYXRlZ29yaWVzGA0gAygOMhsuc3BhY2UudjEuU3BhY2VSaXNrQ2F0ZWdvcnlCDwoNX3NwYWNlX3N0YXR1cyJ7CiJQYWdlR2V0QXVkaXRTcGFjZVN1YkRvbWFpblJlc3BvbnNlEkYKG2F1ZGl0X3NwYWNlX3N1Yl9kb21haW5faW5mbxgBIAMoCzIhLnNwYWNlLnYxLkF1ZGl0U3BhY2VTdWJEb21haW5JbmZvEg0KBXRvdGFsGAIgASgFIj8KHlBhZ2VTcGFjZVN1YkRvbWFpbkJsb2NrV29yZFJlcRIOCgZvZmZzZXQYASABKAUSDQoFbGltaXQYAiABKAUiXQojUGFnZVNwYWNlU3ViRG9tYWluQmxvY2tXb3JkUmVzcG9uc2USJwoKYmxvY2tfd29yZBgBIAMoCzITLnNwYWNlLnYxLkJsb2NrV29yZBINCgV0b3RhbBgCIAEoBSKjAQoJQmxvY2tXb3JkEgoKAmlkGAEgASgFEhIKCmJsb2NrX3dvcmQYAiABKAkSLgoKY3JlYXRlZF9hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEAoIb3BlcmF0b3IYBCABKAkSNAoPcmlza19jYXRlZ29yaWVzGAcgAygOMhsuc3BhY2UudjEuU3BhY2VSaXNrQ2F0ZWdvcnkiaQodQWRkU3BhY2VTdWJEb21haW5CbG9ja1dvcmRSZXESEgoKYmxvY2tfd29yZBgBIAEoCRI0Cg9yaXNrX2NhdGVnb3JpZXMYByADKA4yGy5zcGFjZS52MS5TcGFjZVJpc2tDYXRlZ29yeSIzCh1EZWxTcGFjZVN1YkRvbWFpbkJsb2NrV29yZFJlcRISCgpibG9ja193b3JkGAEgASgJIiQKIkFkZFNwYWNlU3ViRG9tYWluQmxvY2tXb3JkUmVzcG9uc2UiJAoiRGVsU3BhY2VTdWJEb21haW5CbG9ja1dvcmRSZXNwb25zZTK4BgoRU3BhY2VBZG1pblNlcnZpY2USRwoKQmxvY2tTcGFjZRIbLnNwYWNlLnYxLkJsb2NrU3BhY2VSZXF1ZXN0Ghwuc3BhY2UudjEuQmxvY2tTcGFjZVJlc3BvbnNlEk4KDFVuYmxvY2tTcGFjZRIeLnNwYWNlLnYxLlVuYmxvY2tTcGFjZXNSZXF1ZXN0Gh4uc3BhY2UudjEuVW5ibG9ja1NwYWNlUmVzcG9uc2USUwoOU3BhY2VCbG9ja0xpc3QSHy5zcGFjZS52MS5TcGFjZUJsb2NrTGlzdFJlcXVlc3QaIC5zcGFjZS52MS5TcGFjZUJsb2NrTGlzdFJlc3BvbnNlEnMKGlBhZ2VHZXRBdWRpdFNwYWNlU3ViRG9tYWluEicuc3BhY2UudjEuUGFnZUdldEF1ZGl0U3BhY2VTdWJEb21haW5SZXEaLC5zcGFjZS52MS5QYWdlR2V0QXVkaXRTcGFjZVN1YkRvbWFpblJlc3BvbnNlEl4KE0F1ZGl0U3BhY2VTdWJEb21haW4SIC5zcGFjZS52MS5BdWRpdFNwYWNlU3ViRG9tYWluUmVxGiUuc3BhY2UudjEuQXVkaXRTcGFjZVN1YkRvbWFpblJlc3BvbnNlEnYKG1BhZ2VTcGFjZVN1YkRvbWFpbkJsb2NrV29yZBIoLnNwYWNlLnYxLlBhZ2VTcGFjZVN1YkRvbWFpbkJsb2NrV29yZFJlcRotLnNwYWNlLnYxLlBhZ2VTcGFjZVN1YkRvbWFpbkJsb2NrV29yZFJlc3BvbnNlEnMKGkRlbFNwYWNlU3ViRG9tYWluQmxvY2tXb3JkEicuc3BhY2UudjEuRGVsU3BhY2VTdWJEb21haW5CbG9ja1dvcmRSZXEaLC5zcGFjZS52MS5EZWxTcGFjZVN1YkRvbWFpbkJsb2NrV29yZFJlc3BvbnNlEnMKGkFkZFNwYWNlU3ViRG9tYWluQmxvY2tXb3JkEicuc3BhY2UudjEuQWRkU3BhY2VTdWJEb21haW5CbG9ja1dvcmRSZXEaLC5zcGFjZS52MS5BZGRTcGFjZVN1YkRvbWFpbkJsb2NrV29yZFJlc3BvbnNlQp0BCgxjb20uc3BhY2UudjFCD1NwYWNlQWRtaW5Qcm90b1ABWjtnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvc3BhY2UvdjE7c3BhY2V2MaICA1NYWKoCCFNwYWNlLlYxygIIU3BhY2VcVjHiAhRTcGFjZVxWMVxHUEJNZXRhZGF0YeoCCVNwYWNlOjpWMWIGcHJvdG8z”,[_,Re,$i]),MA=Q(LA,0),TA=J(“Ch9hcGlwcm94eS92MS9hcGlwcm94eV9iYXNlLnByb3RvEgthcGlwcm94eS52MSKxAgoKQXBpRXhhbXBsZRIMCgRuYW1lGAEgASgJEg4KBmFwaV9pZBgCIAEoCRIxCgVxdWVyeRgDIAMoCzIiLmFwaXByb3h5LnYxLkFwaUV4YW1wbGUuUXVlcnlFbnRyeRIqCgRib2R5GAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEjwKC3BhdGhfcGFyYW1zGAYgAygLMicuYXBpcHJveHkudjEuQXBpRXhhbXBsZS5QYXRoUGFyYW1zRW50cnkaLAoKUXVlcnlFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGjEKD1BhdGhQYXJhbXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBQgcKBV9ib2R5Il0KCUFwaURldGFpbBIQCghzaG9ydF9pZBgBIAEoCRIMCgRuYW1lGAIgASgJEgwKBGRvY3MYAyABKAkSEAoIYXBpX25hbWUYBCABKAkSEAoIdXNlX3doZW4YBSABKAkiuwIKDkFwaVJlcXVlc3RJbmZvEgwKBGhvc3QYASABKAkSDAoEcGF0aBgCIAEoCRIOCgZtZXRob2QYAyABKAkSSAoPZGVmYXVsdF9oZWFkZXJzGAUgAygLMi8uYXBpcHJveHkudjEuQXBpUmVxdWVzdEluZm8uRGVmYXVsdEhlYWRlcnNFbnRyeRJGCg5kZWZhdWx0X3BhcmFtcxgGIAMoCzIuLmFwaXByb3h5LnYxLkFwaVJlcXVlc3RJbmZvLkRlZmF1bHRQYXJhbXNFbnRyeRo1ChNEZWZhdWx0SGVhZGVyc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaNAoSRGVmYXVsdFBhcmFtc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiuAEKB0FwaUluZm8SDAoEbmFtZRgBIAEoCRIQCghhcGlfbmFtZRgCIAEoCRIQCghwcm92aWRlchgDIAEoCRIQCgh1c2Vfd2hlbhgEIAEoCRILCgNkb2MYBSABKAkSMQoMcmVxdWVzdF9pbmZvGAYgASgLMhsuYXBpcHJveHkudjEuQXBpUmVxdWVzdEluZm8SKQoIZXhhbXBsZXMYByADKAsyFy5hcGlwcm94eS52MS5BcGlFeGFtcGxlIpEFCglBcGlTZWNyZXQSMgoJYXV0aF90eXBlGAEgASgOMh8uYXBpcHJveHkudjEuQXBpU2VjcmV0LkF1dGhUeXBlEjIKB2FwaV9rZXkYAiABKAsyIS5hcGlwcm94eS52MS5BcGlTZWNyZXQuQXBpS2V5QXV0aBIvCgViYXNpYxgDIAEoCzIgLmFwaXByb3h5LnYxLkFwaVNlY3JldC5CYXNpY0F1dGgSMQoGb2F1dGgyGAQgASgLMiEuYXBpcHJveHkudjEuQXBpU2VjcmV0Lk9BdXRoMkF1dGgaOQoKQXBpS2V5QXV0aBILCgNrZXkYASABKAkSDAoEbmFtZRgCIAEoCRIQCghpbl9xdWVyeRgDIAEoCBovCglCYXNpY0F1dGgSEAoIdXNlcm5hbWUYASABKAkSEAoIcGFzc3dvcmQYAiABKAka3QEKCk9BdXRoMkF1dGgSEQoJY2xpZW50X2lkGAEgASgJEhUKDWNsaWVudF9zZWNyZXQYAiABKAkSEQoJdG9rZW5fdXJsGAMgASgJEhQKDGFjY2Vzc190b2tlbhgEIAEoCRJICgxleHRyYV9wYXJhbXMYBSADKAsyMi5hcGlwcm94eS52MS5BcGlTZWNyZXQuT0F1dGgyQXV0aC5FeHRyYVBhcmFtc0VudHJ5GjIKEEV4dHJhUGFyYW1zRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJsCghBdXRoVHlwZRIZChVBVVRIX1RZUEVfVU5TUEVDSUZJRUQQABIVChFBVVRIX1RZUEVfQVBJX0tFWRABEhgKFEFVVEhfVFlQRV9CQVNJQ19BVVRIEAISFAoQQVVUSF9UWVBFX09BVVRIMhADQrQBCg9jb20uYXBpcHJveHkudjFCEUFwaXByb3h5QmFzZVByb3RvUAFaQWdpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC9hcGlwcm94eS92MTthcGlwcm94eXYxogIDQVhYqgILQXBpcHJveHkuVjHKAgtBcGlwcm94eVxWMeICF0FwaXByb3h5XFYxXEdQQk1ldGFkYXRh6gIMQXBpcHJveHk6OlYxYgZwcm90bzM”,[Ue]),Cd=J(“ChphcGlwcm94eS92MS9hcGlwcm94eS5wcm90bxILYXBpcHJveHkudjEirwIKDkNhbGxBcGlSZXF1ZXN0Eg4KBmFwaV9pZBgBIAEoCRI1CgVxdWVyeRgCIAMoCzImLmFwaXByb3h5LnYxLkNhbGxBcGlSZXF1ZXN0LlF1ZXJ5RW50cnkSKgoEYm9keRgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARJACgtwYXRoX3BhcmFtcxgFIAMoCzIrLmFwaXByb3h5LnYxLkNhbGxBcGlSZXF1ZXN0LlBhdGhQYXJhbXNFbnRyeRosCgpRdWVyeUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaMQoPUGF0aFBhcmFtc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCBwoFX2JvZHkijwEKD0NhbGxBcGlSZXNwb25zZRIRCglqc29uX2RhdGEYASABKAkSKgoEZGF0YRgCIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARIRCgRjb2RlGAMgASgFSAGIAQESEAoDbXNnGAQgASgJSAKIAQFCBwoFX2RhdGFCBwoFX2NvZGVCBgoEX21zZzJZCg9BcGlQcm94eVNlcnZpY2USRgoHQ2FsbEFwaRIbLmFwaXByb3h5LnYxLkNhbGxBcGlSZXF1ZXN0GhwuYXBpcHJveHkudjEuQ2FsbEFwaVJlc3BvbnNlIgBCsAEKD2NvbS5hcGlwcm94eS52MUINQXBpcHJveHlQcm90b1ABWkFnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvYXBpcHJveHkvdjE7YXBpcHJveHl2MaICA0FYWKoCC0FwaXByb3h5LlYxygILQXBpcHJveHlcVjHiAhdBcGlwcm94eVxWMVxHUEJNZXRhZGF0YeoCDEFwaXByb3h5OjpWMWIGcHJvdG8z”,[Ue]),HA=Q(Cd,0),DA=J(“CiBhcGlwcm94eS92MS9hcGlwcm94eV9hZG1pbi5wcm90bxILYXBpcHJveHkudjEijQEKEENyZWF0ZUFwaVJlcXVlc3QSJgoIYXBpX2luZm8YASABKAsyFC5hcGlwcm94eS52MS5BcGlJbmZvEiYKBnNlY3JldBgCIAEoCzIWLmFwaXByb3h5LnYxLkFwaVNlY3JldBIpCghleGFtcGxlcxgDIAMoCzIXLmFwaXByb3h5LnYxLkFwaUV4YW1wbGUiIwoRQ3JlYXRlQXBpUmVzcG9uc2USDgoGYXBpX2lkGAEgASgJIp0BChBVcGRhdGVBcGlSZXF1ZXN0Eg4KBmFwaV9pZBgBIAEoCRImCghhcGlfaW5mbxgCIAEoCzIULmFwaXByb3h5LnYxLkFwaUluZm8SJgoGc2VjcmV0GAMgASgLMhYuYXBpcHJveHkudjEuQXBpU2VjcmV0EikKCGV4YW1wbGVzGAQgAygLMhcuYXBpcHJveHkudjEuQXBpRXhhbXBsZSIkChFVcGRhdGVBcGlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIiIKEERlbGV0ZUFwaVJlcXVlc3QSDgoGYXBpX2lkGAEgASgJIiQKEURlbGV0ZUFwaVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiHwoNR2V0QXBpUmVxdWVzdBIOCgZhcGlfaWQYASABKAki+wEKDkdldEFwaVJlc3BvbnNlEg4KBmFwaV9pZBgBIAEoCRImCghhcGlfaW5mbxgCIAEoCzIULmFwaXByb3h5LnYxLkFwaUluZm8SJgoGc2VjcmV0GAMgASgLMhYuYXBpcHJveHkudjEuQXBpU2VjcmV0Ei4KCmNyZWF0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEikKCGV4YW1wbGVzGAYgAygLMhcuYXBpcHJveHkudjEuQXBpRXhhbXBsZSJRCg5MaXN0QXBpUmVxdWVzdBIOCgZvZmZzZXQYASABKAUSDQoFbGltaXQYAiABKAUSFAoHa2V5d29yZBgDIAEoCUgAiAEBQgoKCF9rZXl3b3JkIksKD0xpc3RBcGlSZXNwb25zZRINCgV0b3RhbBgBIAEoBRIpCgRhcGlzGAIgAygLMhsuYXBpcHJveHkudjEuR2V0QXBpUmVzcG9uc2UiVQoYVXBkYXRlQXBpRXhhbXBsZXNSZXF1ZXN0Eg4KBmFwaV9pZBgBIAEoCRIpCghleGFtcGxlcxgCIAMoCzIXLmFwaXByb3h5LnYxLkFwaUV4YW1wbGUiLAoZVXBkYXRlQXBpRXhhbXBsZXNSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIMr0EChRBcGlQcm94eUFkbWluU2VydmljZRJMCglDcmVhdGVBcGkSHS5hcGlwcm94eS52MS5DcmVhdGVBcGlSZXF1ZXN0Gh4uYXBpcHJveHkudjEuQ3JlYXRlQXBpUmVzcG9uc2UiABJMCglVcGRhdGVBcGkSHS5hcGlwcm94eS52MS5VcGRhdGVBcGlSZXF1ZXN0Gh4uYXBpcHJveHkudjEuVXBkYXRlQXBpUmVzcG9uc2UiABJMCglEZWxldGVBcGkSHS5hcGlwcm94eS52MS5EZWxldGVBcGlSZXF1ZXN0Gh4uYXBpcHJveHkudjEuRGVsZXRlQXBpUmVzcG9uc2UiABJDCgZHZXRBcGkSGi5hcGlwcm94eS52MS5HZXRBcGlSZXF1ZXN0GhsuYXBpcHJveHkudjEuR2V0QXBpUmVzcG9uc2UiABJGCgdMaXN0QXBpEhsuYXBpcHJveHkudjEuTGlzdEFwaVJlcXVlc3QaHC5hcGlwcm94eS52MS5MaXN0QXBpUmVzcG9uc2UiABJkChFVcGRhdGVBcGlFeGFtcGxlcxIlLmFwaXByb3h5LnYxLlVwZGF0ZUFwaUV4YW1wbGVzUmVxdWVzdBomLmFwaXByb3h5LnYxLlVwZGF0ZUFwaUV4YW1wbGVzUmVzcG9uc2UiABJICglQcm94eUNhbGwSGy5hcGlwcm94eS52MS5DYWxsQXBpUmVxdWVzdBocLmFwaXByb3h5LnYxLkNhbGxBcGlSZXNwb25zZSIAQrUBCg9jb20uYXBpcHJveHkudjFCEkFwaXByb3h5QWRtaW5Qcm90b1ABWkFnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvYXBpcHJveHkvdjE7YXBpcHJveHl2MaICA0FYWKoCC0FwaXByb3h5LlYxygILQXBpcHJveHlcVjHiAhdBcGlwcm94eVxWMVxHUEJNZXRhZGF0YeoCDEFwaXByb3h5OjpWMWIGcHJvdG8z”,[TA,Cd,_]),jA=Q(DA,0),_A=J(“Ch5zZXNzaW9uL3YxL3Nlc3Npb25fYWRtaW4ucHJvdG8SCnNlc3Npb24udjEiIAoeUm9sbGJhY2tTZXNzaW9uQ3JlZGl0c1Jlc3BvbnNlIkQKHVJvbGxiYWNrU2Vzc2lvbkNyZWRpdHNSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHY3JlZGl0cxgCIAEoBSJUChNMaXN0U2Vzc2lvblJlc3BvbnNlEi4KCHNlc3Npb25zGAEgAygLMhwuc2Vzc2lvbi52MS5BZG1pblNlc3Npb25JbmZvEg0KBXRvdGFsGAIgASgFIpICChBBZG1pblNlc3Npb25JbmZvEhIKCnNlc3Npb25faWQYASABKAkSFgoOY29zdGVkX2NyZWRpdHMYAiABKAUSOQoPcm9sbGJhY2tfc3RhdHVzGAMgASgOMiAuc2Vzc2lvbi52MS5DcmVkaXRSb2xsYmFja1N0YXR1cxIWCg5ibG9ja2VkX3N0YXR1cxgEIAEoCBIPCgd1c2VyX2lkGAUgASgJEg0KBWVtYWlsGAYgASgJEhEKCWlzX3NoYXJlZBgHIAEoCBIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIcChRjYW5fcm9sbGJhY2tfY3JlZGl0cxgJIAEoBSKmAQoSTGlzdFNlc3Npb25SZXF1ZXN0EhUKBHBhZ2UYASABKAVCB7pIBBoCKAESEQoJcGFnZV9zaXplGAIgASgFEgwKBHVzZXIYAyABKAkSEwoLc2Vzc2lvbl91aWQYBCABKAkSMgoMY3JlZGl0X3JhbmdlGAkgASgLMhcuc2Vzc2lvbi52MS5DcmVkaXRSYW5nZUgAiAEBQg8KDV9jcmVkaXRfcmFuZ2UiJQojVXBkYXRlU2Vzc2lvbkZlZWRiYWNrU3RhdHVzUmVzcG9uc2UibAoiVXBkYXRlU2Vzc2lvbkZlZWRiYWNrU3RhdHVzUmVxdWVzdBITCgtzZXNzaW9uX3VpZBgBIAEoCRIxCgZzdGF0dXMYAiABKA4yIS5zZXNzaW9uLnYxLlNlc3Npb25GZWVkYmFja1N0YXR1cyInCiVSb2xsYmFja1Nlc3Npb25GZWVkYmFja0NyZWRpdFJlc3BvbnNlIkwKJFJvbGxiYWNrU2Vzc2lvbkZlZWRiYWNrQ3JlZGl0UmVxdWVzdBITCgtzZXNzaW9uX3VpZBgBIAEoCRIPCgdjcmVkaXRzGAIgASgFIrcDCgtVc2VjYXNlSW5mbxIKCgJpZBgBIAEoAxIPCgd1c2VyX2lkGAIgASgJEg0KBWVtYWlsGAMgASgJEg8KB2NvbnRlbnQYBCABKAkSEwoLc2Vzc2lvbl91aWQYBSABKAkSFQoNc2hvd19ob21lcGFnZRgGIAEoCBIWCg5vcmRlcl9ob21lcGFnZRgHIAEoBRIUCgxzaG93X3VzZWNhc2UYCCABKAgSFQoNb3JkZXJfdXNlY2FzZRgJIAEoBRIpCgZzdGF0dXMYCiABKA4yGS5zZXNzaW9uLnYxLlVzZWNhc2VTdGF0dXMSDgoGcmVtYXJrGAsgASgJEikKBnNvdXJjZRgMIAEoDjIZLnNlc3Npb24udjEuU2Vzc2lvblNvdXJjZRIcChRzZXNzaW9uX2Zyb21fdXNlcl9pZBgNIAEoCRIuCgpjcmVhdGVkX2F0GA4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GA8gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIWCg5sYW5ndWFnZV9ncm91cBgQIAEoCSLYAwoSTGlzdFVzZWNhc2VSZXF1ZXN0EhUKBHBhZ2UYASABKAVCB7pIBBoCKAESHAoJcGFnZV9zaXplGAIgASgFQgm6SAYaBBhkKAESFAoHdXNlcl9pZBgDIAEoCUgAiAEBEhIKBWVtYWlsGAQgASgJSAGIAQESGgoNc2hvd19ob21lcGFnZRgFIAEoCEgCiAEBEhkKDHNob3dfdXNlY2FzZRgGIAEoCEgDiAEBEi4KC3N0YXR1c19saXN0GAcgAygOMhkuc2Vzc2lvbi52MS5Vc2VjYXNlU3RhdHVzEi4KBnNvdXJjZRgIIAEoDjIZLnNlc3Npb24udjEuU2Vzc2lvblNvdXJjZUgEiAEBEiEKFHNlc3Npb25fZnJvbV91c2VyX2lkGAkgASgJSAWIAQESGwoObGFuZ3VhZ2VfZ3JvdXAYCiABKAlIBogBARIcChRtdXN0X3dpdGhfc2Vzc2lvbl9pZBgLIAEoCEIKCghfdXNlcl9pZEIICgZfZW1haWxCEAoOX3Nob3dfaG9tZXBhZ2VCDwoNX3Nob3dfdXNlY2FzZUIJCgdfc291cmNlQhcKFV9zZXNzaW9uX2Zyb21fdXNlcl9pZEIRCg9fbGFuZ3VhZ2VfZ3JvdXAiTwoTTGlzdFVzZWNhc2VSZXNwb25zZRIpCgh1c2VjYXNlcxgBIAMoCzIXLnNlc3Npb24udjEuVXNlY2FzZUluZm8SDQoFdG90YWwYAiABKAMilwQKFFVwZGF0ZVVzZWNhc2VSZXF1ZXN0EhsKCnVzZWNhc2VfaWQYASABKANCB7pIBCICIAASGAoLc2Vzc2lvbl91aWQYAiABKAlIAIgBARIaCg1zaG93X2hvbWVwYWdlGAMgASgISAGIAQESGwoOb3JkZXJfaG9tZXBhZ2UYBCABKAVIAogBARIZCgxzaG93X3VzZWNhc2UYBSABKAhIA4gBARIaCg1vcmRlcl91c2VjYXNlGAYgASgFSASIAQESEwoGcmVtYXJrGAcgASgJSAWIAQESLgoGc3RhdHVzGAggASgOMhkuc2Vzc2lvbi52MS5Vc2VjYXNlU3RhdHVzSAaIAQESLgoGc291cmNlGAkgASgOMhkuc2Vzc2lvbi52MS5TZXNzaW9uU291cmNlSAeIAQESIQoUc2Vzc2lvbl9mcm9tX3VzZXJfaWQYCiABKAlICIgBARIbCg5sYW5ndWFnZV9ncm91cBgLIAEoCUgJiAEBQg4KDF9zZXNzaW9uX3VpZEIQCg5fc2hvd19ob21lcGFnZUIRCg9fb3JkZXJfaG9tZXBhZ2VCDwoNX3Nob3dfdXNlY2FzZUIQCg5fb3JkZXJfdXNlY2FzZUIJCgdfcmVtYXJrQgkKB19zdGF0dXNCCQoHX3NvdXJjZUIXChVfc2Vzc2lvbl9mcm9tX3VzZXJfaWRCEQoPX2xhbmd1YWdlX2dyb3VwIhcKFVVwZGF0ZVVzZWNhc2VSZXNwb25zZSK2AQoSQmxvY2tlZFNlc3Npb25JbmZvEgoKAmlkGAEgASgDEhMKC3Nlc3Npb25fdWlkGAIgASgJEg8KB3VzZXJfaWQYAyABKAkSDgoGcmVhc29uGAQgASgJEi4KCmNyZWF0ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIp0BChpMaXN0QmxvY2tlZFNlc3Npb25zUmVxdWVzdBIVCgRwYWdlGAEgASgFQge6SAQaAigBEhwKCXBhZ2Vfc2l6ZRgCIAEoBUIJukgGGgQYZCgBEhgKC3Nlc3Npb25fdWlkGAMgASgJSACIAQESFAoHdXNlcl9pZBgEIAEoCUgBiAEBQg4KDF9zZXNzaW9uX3VpZEIKCghfdXNlcl9pZCJmChtMaXN0QmxvY2tlZFNlc3Npb25zUmVzcG9uc2USOAoQYmxvY2tlZF9zZXNzaW9ucxgBIAMoCzIeLnNlc3Npb24udjEuQmxvY2tlZFNlc3Npb25JbmZvEg0KBXRvdGFsGAIgASgDInMKH1VwZGF0ZVNlc3Npb25CbG9ja1N0YXR1c1JlcXVlc3QSHAoLc2Vzc2lvbl91aWQYASABKAlCB7pIBHICEAESEgoKaXNfYmxvY2tlZBgCIAEoCBITCgZyZWFzb24YAyABKAlIAIgBAUIJCgdfcmVhc29uIiIKIFVwZGF0ZVNlc3Npb25CbG9ja1N0YXR1c1Jlc3BvbnNlIhsKGUdldE5ld1Nlc3Npb25MaW1pdFJlcXVlc3QiMAoPTmV3U2Vzc2lvbkNvdW50Eg4KBm1pbnV0ZRgBIAEoCRINCgVjb3VudBgCIAEoAyKKAQoaR2V0TmV3U2Vzc2lvbkxpbWl0UmVzcG9uc2USGwoTbmV3X3Nlc3Npb25fcGVyX21pbhgBIAEoAxIWCg53aGl0ZV91c2VyX2lkcxgCIAMoCRI3ChJuZXdfc2Vzc2lvbl9jb3VudHMYAyADKAsyGy5zZXNzaW9uLnYxLk5ld1Nlc3Npb25Db3VudCJQChxVcGRhdGVOZXdTZXNzaW9uTGltaXRSZXF1ZXN0EhsKE25ld19zZXNzaW9uX3Blcl9taW4YASABKAMSEwoLd2hpdGVfdXNlcnMYAiADKAkiHwodVXBkYXRlTmV3U2Vzc2lvbkxpbWl0UmVzcG9uc2UiFQoTR2V0UXVldWVJbmZvUmVxdWVzdCJlCglRdWV1ZUluZm8SKQoKcXVldWVfdHlwZRgBIAEoDjIVLnNlc3Npb24udjEuUXVldWVUeXBlEhQKDHF1ZXVlX2xlbmd0aBgCIAEoAxIXCg9tYXhfY29uY3VycmVuY2UYAyABKAMiMQoPUXVldWVDb25maWdJbmZvEh4KFmdsb2JhbF9tYXhfY29uY3VycmVuY2UYASABKAMidAoUR2V0UXVldWVJbmZvUmVzcG9uc2USKQoKcXVldWVfaW5mbxgBIAMoCzIVLnNlc3Npb24udjEuUXVldWVJbmZvEjEKDHF1ZXVlX2NvbmZpZxgCIAEoCzIbLnNlc3Npb24udjEuUXVldWVDb25maWdJbmZvImwKHVNldFF1ZXVlTWF4Q29uY3VycmVuY2VSZXF1ZXN0EikKCnF1ZXVlX3R5cGUYASABKA4yFS5zZXNzaW9uLnYxLlF1ZXVlVHlwZRIgCg9tYXhfY29uY3VycmVuY2UYAiABKANCB7pIBCICIAAiUwoeU2V0UXVldWVNYXhDb25jdXJyZW5jZVJlc3BvbnNlEjEKDHF1ZXVlX2NvbmZpZxgBIAEoCzIbLnNlc3Npb24udjEuUXVldWVDb25maWdJbmZvIkkKHlNldEdsb2JhbE1heENvbmN1cnJlbmNlUmVxdWVzdBInChZnbG9iYWxfbWF4X2NvbmN1cnJlbmNlGAEgASgDQge6SAQiAiAAIlQKH1NldEdsb2JhbE1heENvbmN1cnJlbmNlUmVzcG9uc2USMQoMcXVldWVfY29uZmlnGAEgASgLMhsuc2Vzc2lvbi52MS5RdWV1ZUNvbmZpZ0luZm8iPgoRQ2xlYXJRdWV1ZVJlcXVlc3QSKQoKcXVldWVfdHlwZRgBIAEoDjIVLnNlc3Npb24udjEuUXVldWVUeXBlIl4KEkNsZWFyUXVldWVSZXNwb25zZRIVCg10YXNrc19yZW1vdmVkGAEgASgDEjEKDHF1ZXVlX2NvbmZpZxgCIAEoCzIbLnNlc3Npb24udjEuUXVldWVDb25maWdJbmZvImEKJUJhdGNoVXBkYXRlUXVldWVNYXhDb25jdXJyZW5jZVJlcXVlc3QSOAoNcXVldWVfdXBkYXRlcxgBIAMoCzIXLnNlc3Npb24udjEuUXVldWVVcGRhdGVCCLpIBZIBAggBIloKC1F1ZXVlVXBkYXRlEikKCnF1ZXVlX3R5cGUYASABKA4yFS5zZXNzaW9uLnYxLlF1ZXVlVHlwZRIgCg9tYXhfY29uY3VycmVuY2UYAiABKANCB7pIBCICIAAiUwomQmF0Y2hVcGRhdGVRdWV1ZU1heENvbmN1cnJlbmNlUmVzcG9uc2USKQoKcXVldWVfaW5mbxgBIAMoCzIVLnNlc3Npb24udjEuUXVldWVJbmZvIhkKF0dldFF1ZXVlU2V0dGluZ3NSZXF1ZXN0InoKDFF1ZXVlU2V0dGluZxIpCgpxdWV1ZV90eXBlGAEgASgOMhUuc2Vzc2lvbi52MS5RdWV1ZVR5cGUSJgoeY29uc3VtcHRpb25fc3BlZWRfdGFza19wZXJfbWluGAIgASgBEhcKD21heF93YWl0aW5nX21pbhgDIAEoBSJMChhHZXRRdWV1ZVNldHRpbmdzUmVzcG9uc2USMAoOcXVldWVfc2V0dGluZ3MYASADKAsyGC5zZXNzaW9uLnYxLlF1ZXVlU2V0dGluZyJLChdTZXRRdWV1ZVNldHRpbmdzUmVxdWVzdBIwCg5xdWV1ZV9zZXR0aW5ncxgBIAMoCzIYLnNlc3Npb24udjEuUXVldWVTZXR0aW5nIhoKGFNldFF1ZXVlU2V0dGluZ3NSZXNwb25zZSKXAwoaTGlzdFNlc3Npb25GZWVkYmFja1JlcXVlc3QSFQoEcGFnZRgBIAEoBUIHukgEGgIoARIcCglwYWdlX3NpemUYAiABKAVCCbpIBhoEGGQoBRINCgVzY29yZRgDIAMoBRIMCgR1c2VyGAQgASgJEhMKC3Nlc3Npb25fdWlkGAUgASgJEjYKBnN0YXR1cxgGIAEoDjIhLnNlc3Npb24udjEuU2Vzc2lvbkZlZWRiYWNrU3RhdHVzSACIAQESHwoSYWxsb3dfY29sbGVjdF9pbmZvGAcgASgISAGIAQESPgoPcm9sbGJhY2tfc3RhdHVzGAggASgOMiAuc2Vzc2lvbi52MS5DcmVkaXRSb2xsYmFja1N0YXR1c0gCiAEBEjIKDGNyZWRpdF9yYW5nZRgJIAEoCzIXLnNlc3Npb24udjEuQ3JlZGl0UmFuZ2VIA4gBAUIJCgdfc3RhdHVzQhUKE19hbGxvd19jb2xsZWN0X2luZm9CEgoQX3JvbGxiYWNrX3N0YXR1c0IPCg1fY3JlZGl0X3JhbmdlIkEKC0NyZWRpdFJhbmdlEhAKA21pbhgBIAEoBUgAiAEBEhAKA21heBgCIAEoBUgBiAEBQgYKBF9taW5CBgoEX21heCJbChtMaXN0U2Vzc2lvbkZlZWRiYWNrUmVzcG9uc2USLQoIZmVlZGJhY2sYASADKAsyGy5zZXNzaW9uLnYxLlNlc3Npb25GZWVkYmFjaxINCgV0b3RhbBgCIAEoAyK/AwoPU2Vzc2lvbkZlZWRiYWNrEg0KBXNjb3JlGAEgASgFEg8KB2NvbnRlbnQYAiABKAkSEwoLc2Vzc2lvbl91aWQYAyABKAkSGgoSYWxsb3dfY29sbGVjdF9pbmZvGAQgASgIEjEKBnN0YXR1cxgFIAEoDjIhLnNlc3Npb24udjEuU2Vzc2lvbkZlZWRiYWNrU3RhdHVzEg8KB3VzZXJfaWQYBiABKAkSEQoJdXNlcl9uYW1lGAcgASgJEg0KBWVtYWlsGAggASgJEi4KCmNyZWF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhYKCWlzX3NoYXJlZBgLIAEoCEgAiAEBEjkKD3JvbGxiYWNrX3N0YXR1cxgMIAEoDjIgLnNlc3Npb24udjEuQ3JlZGl0Um9sbGJhY2tTdGF0dXMSFgoOY29zdGVkX2NyZWRpdHMYDSABKAUSHAoUY2FuX3JvbGxiYWNrX2NyZWRpdHMYDiABKAVCDAoKX2lzX3NoYXJlZCIuChdTaWduYXR1cmVTZXNzaW9uUmVxdWVzdBITCgtzZXNzaW9uX3VpZBgBIAEoCSIpChhTaWduYXR1cmVTZXNzaW9uUmVzcG9uc2USDQoFdG9rZW4YASABKAkqegoNVXNlY2FzZVN0YXR1cxIeChpVU0VDQVNFX1NUQVRVU19VTlNQRUNJRklFRBAAEhcKE1VTRUNBU0VfU1RBVFVTX1BBU1MQARIXChNVU0VDQVNFX1NUQVRVU19ERU5ZEAISFwoTVVNFQ0FTRV9TVEFUVVNfVE9ETxADKmUKDVNlc3Npb25Tb3VyY2USHgoaU0VTU0lPTl9TT1VSQ0VfVU5TUEVDSUZJRUQQABIXChNTRVNTSU9OX1NPVVJDRV9VU0VSEAESGwoXU0VTU0lPTl9TT1VSQ0VfT0ZGSUNJQUwQAiqXAQoJUXVldWVUeXBlEhoKFlFVRVVFX1RZUEVfVU5TUEVDSUZJRUQQABISCg5RVUVVRV9UWVBFX0FMTBABEhYKElFVRVVFX1RZUEVfREVGQVVMVBACEhIKDlFVRVVFX1RZUEVfVklQEAMSFQoRUVVFVUVfVFlQRV9CVUZGRVIQBBIXChNRVUVVRV9UWVBFX0VEVV9URUFNEAUqYAoUQ3JlZGl0Um9sbGJhY2tTdGF0dXMSIgoeQ1JFRElUX1JPTExCQUNLX1NUQVRVU19QRU5ESU5HEAASJAogQ1JFRElUX1JPTExCQUNLX1NUQVRVU19QUk9DRVNTRUQQASquAQoVU2Vzc2lvbkZlZWRiYWNrU3RhdHVzEiMKH1NFU1NJT05fRkVFREJBQ0tfU1RBVFVTX1BFTkRJTkcQABImCiJTRVNTSU9OX0ZFRURCQUNLX1NUQVRVU19QUk9DRVNTSU5HEAESJAogU0VTU0lPTl9GRUVEQkFDS19TVEFUVVNfUkVTT0xWRUQQAhIiCh5TRVNTSU9OX0ZFRURCQUNLX1NUQVRVU19DTE9TRUQQAzLJDwoTU2Vzc2lvbkFkbWluU2VydmljZRJOCgtMaXN0VXNlY2FzZRIeLnNlc3Npb24udjEuTGlzdFVzZWNhc2VSZXF1ZXN0Gh8uc2Vzc2lvbi52MS5MaXN0VXNlY2FzZVJlc3BvbnNlElQKDVVwZGF0ZVVzZWNhc2USIC5zZXNzaW9uLnYxLlVwZGF0ZVVzZWNhc2VSZXF1ZXN0GiEuc2Vzc2lvbi52MS5VcGRhdGVVc2VjYXNlUmVzcG9uc2USZgoTTGlzdEJsb2NrZWRTZXNzaW9ucxImLnNlc3Npb24udjEuTGlzdEJsb2NrZWRTZXNzaW9uc1JlcXVlc3QaJy5zZXNzaW9uLnYxLkxpc3RCbG9ja2VkU2Vzc2lvbnNSZXNwb25zZRJ1ChhVcGRhdGVTZXNzaW9uQmxvY2tTdGF0dXMSKy5zZXNzaW9uLnYxLlVwZGF0ZVNlc3Npb25CbG9ja1N0YXR1c1JlcXVlc3QaLC5zZXNzaW9uLnYxLlVwZGF0ZVNlc3Npb25CbG9ja1N0YXR1c1Jlc3BvbnNlEmMKEkdldE5ld1Nlc3Npb25MaW1pdBIlLnNlc3Npb24udjEuR2V0TmV3U2Vzc2lvbkxpbWl0UmVxdWVzdBomLnNlc3Npb24udjEuR2V0TmV3U2Vzc2lvbkxpbWl0UmVzcG9uc2USbAoVVXBkYXRlTmV3U2Vzc2lvbkxpbWl0Eiguc2Vzc2lvbi52MS5VcGRhdGVOZXdTZXNzaW9uTGltaXRSZXF1ZXN0Gikuc2Vzc2lvbi52MS5VcGRhdGVOZXdTZXNzaW9uTGltaXRSZXNwb25zZRJRCgxHZXRRdWV1ZUluZm8SHy5zZXNzaW9uLnYxLkdldFF1ZXVlSW5mb1JlcXVlc3QaIC5zZXNzaW9uLnYxLkdldFF1ZXVlSW5mb1Jlc3BvbnNlEm8KFlNldFF1ZXVlTWF4Q29uY3VycmVuY2USKS5zZXNzaW9uLnYxLlNldFF1ZXVlTWF4Q29uY3VycmVuY2VSZXF1ZXN0Giouc2Vzc2lvbi52MS5TZXRRdWV1ZU1heENvbmN1cnJlbmNlUmVzcG9uc2UScgoXU2V0R2xvYmFsTWF4Q29uY3VycmVuY2USKi5zZXNzaW9uLnYxLlNldEdsb2JhbE1heENvbmN1cnJlbmNlUmVxdWVzdBorLnNlc3Npb24udjEuU2V0R2xvYmFsTWF4Q29uY3VycmVuY2VSZXNwb25zZRKHAQoeQmF0Y2hVcGRhdGVRdWV1ZU1heENvbmN1cnJlbmNlEjEuc2Vzc2lvbi52MS5CYXRjaFVwZGF0ZVF1ZXVlTWF4Q29uY3VycmVuY2VSZXF1ZXN0GjIuc2Vzc2lvbi52MS5CYXRjaFVwZGF0ZVF1ZXVlTWF4Q29uY3VycmVuY2VSZXNwb25zZRJLCgpDbGVhclF1ZXVlEh0uc2Vzc2lvbi52MS5DbGVhclF1ZXVlUmVxdWVzdBoeLnNlc3Npb24udjEuQ2xlYXJRdWV1ZVJlc3BvbnNlEl0KEEdldFF1ZXVlU2V0dGluZ3MSIy5zZXNzaW9uLnYxLkdldFF1ZXVlU2V0dGluZ3NSZXF1ZXN0GiQuc2Vzc2lvbi52MS5HZXRRdWV1ZVNldHRpbmdzUmVzcG9uc2USXQoQU2V0UXVldWVTZXR0aW5ncxIjLnNlc3Npb24udjEuU2V0UXVldWVTZXR0aW5nc1JlcXVlc3QaJC5zZXNzaW9uLnYxLlNldFF1ZXVlU2V0dGluZ3NSZXNwb25zZRJmChNMaXN0U2Vzc2lvbkZlZWRiYWNrEiYuc2Vzc2lvbi52MS5MaXN0U2Vzc2lvbkZlZWRiYWNrUmVxdWVzdBonLnNlc3Npb24udjEuTGlzdFNlc3Npb25GZWVkYmFja1Jlc3BvbnNlEk4KC0xpc3RTZXNzaW9uEh4uc2Vzc2lvbi52MS5MaXN0U2Vzc2lvblJlcXVlc3QaHy5zZXNzaW9uLnYxLkxpc3RTZXNzaW9uUmVzcG9uc2USbwoWUm9sbGJhY2tTZXNzaW9uQ3JlZGl0cxIpLnNlc3Npb24udjEuUm9sbGJhY2tTZXNzaW9uQ3JlZGl0c1JlcXVlc3QaKi5zZXNzaW9uLnYxLlJvbGxiYWNrU2Vzc2lvbkNyZWRpdHNSZXNwb25zZRKEAQodUm9sbGJhY2tTZXNzaW9uRmVlZGJhY2tDcmVkaXQSMC5zZXNzaW9uLnYxLlJvbGxiYWNrU2Vzc2lvbkZlZWRiYWNrQ3JlZGl0UmVxdWVzdBoxLnNlc3Npb24udjEuUm9sbGJhY2tTZXNzaW9uRmVlZGJhY2tDcmVkaXRSZXNwb25zZRJ+ChtVcGRhdGVTZXNzaW9uRmVlZGJhY2tTdGF0dXMSLi5zZXNzaW9uLnYxLlVwZGF0ZVNlc3Npb25GZWVkYmFja1N0YXR1c1JlcXVlc3QaLy5zZXNzaW9uLnYxLlVwZGF0ZVNlc3Npb25GZWVkYmFja1N0YXR1c1Jlc3BvbnNlEl0KEFNpZ25hdHVyZVNlc3Npb24SIy5zZXNzaW9uLnYxLlNpZ25hdHVyZVNlc3Npb25SZXF1ZXN0GiQuc2Vzc2lvbi52MS5TaWduYXR1cmVTZXNzaW9uUmVzcG9uc2VCrQEKDmNvbS5zZXNzaW9uLnYxQhFTZXNzaW9uQWRtaW5Qcm90b1ABWj9naXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvc2Vzc2lvbi92MTtzZXNzaW9udjGiAgNTWFiqAgpTZXNzaW9uLlYxygIKU2Vzc2lvblxWMeICFlNlc3Npb25cVjFcR1BCTWV0YWRhdGHqAgtTZXNzaW9uOjpWMWIGcHJvdG8z”,[Re,_]),PA=Q(_A,0),OA=J(“CiZzZXNzaW9uL3YxL2NvbW11bml0eV9JbnRlcmFjdGlvbi5wcm90bxIKc2Vzc2lvbi52MSJsChtDb21tdW5pdHlVc2VjYXNlTGlrZVJlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEhEKCXJlY29yZF9pZBgCIAEoCRInCglsaWtlX3R5cGUYAyABKA4yFC5zZXNzaW9uLnYxLkxpa2VUeXBlIk8KHENvbW11bml0eVVzZWNhc2VMaWtlUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEg0KBWNvdW50GAMgASgDKlAKCExpa2VUeXBlEhkKFUxJS0VfVFlQRV9VTlNQRUNJRklFRBAAEhIKDkxJS0VfVFlQRV9MSUtFEAESFQoRTElLRV9UWVBFX0RJU0xJS0UQAjJ4ChtDb21tdW5pdHlJbnRlcmFjdGlvblNlcnZpY2USWQoETGlrZRInLnNlc3Npb24udjEuQ29tbXVuaXR5VXNlY2FzZUxpa2VSZXF1ZXN0Giguc2Vzc2lvbi52MS5Db21tdW5pdHlVc2VjYXNlTGlrZVJlc3BvbnNlQrUBCg5jb20uc2Vzc2lvbi52MUIZQ29tbXVuaXR5SW50ZXJhY3Rpb25Qcm90b1ABWj9naXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvc2Vzc2lvbi92MTtzZXNzaW9udjGiAgNTWFiqAgpTZXNzaW9uLlYxygIKU2Vzc2lvblxWMeICFlNlc3Npb25cVjFcR1BCTWV0YWRhdGHqAgtTZXNzaW9uOjpWMWIGcHJvdG8z”,[_]),$A=Q(OA,0),Rn=J(“Ch1zZXNzaW9uL3YxL3Nlc3Npb25fYmFzZS5wcm90bxIKc2Vzc2lvbi52MSIzCgtTZXNzaW9uSW5mbxINCgV0aXRsZRgBIAEoCRIVCg11c2VyX3F1ZXN0aW9uGAIgASgJIlwKCVNwYWNlSW5mbxINCgV0aXRsZRgBIAEoCRISCgpzY3JlZW5zaG90GAIgASgJEhEKCXNwYWNlX3VybBgDIAEoCRIZChFpc19zZXNzaW9uX3B1YmxpYxgEIAEoCCJyCgdDcmVhdG9yEgwKBG5hbWUYASABKAkSDQoFZW1haWwYAiABKAkSDgoGYXZhdGFyGAMgASgJEiwKCXVzZXJfdHlwZRgEIAEoDjIULnNlc3Npb24udjEuVXNlclR5cGVIAIgBAUIMCgpfdXNlcl90eXBlIq8DChRDb21tdW5pdHlVc2VjYXNlSW5mbxIkCgdjcmVhdG9yGAEgASgLMhMuc2Vzc2lvbi52MS5DcmVhdG9yEhIKCnJlY29yZF91aWQYAiABKAkSEwoLc2Vzc2lvbl91aWQYAyABKAkSLwoNcmVzb3VyY2VfdHlwZRgEIAEoDjIYLnNlc3Npb24udjEuUmVzb3VyY2VUeXBlEhMKC3Jlc291cmNlX2lkGAUgASgJEg0KBWdyb3VwGAYgASgJEg4KBmxvY2FsZRgHIAEoCRIzCg9yZXNvdXJjZV9zb3VyY2UYCCABKA4yGi5zZXNzaW9uLnYxLlJlc291cmNlU291cmNlEhYKDmZhdm9yaXRlX2NvdW50GAkgASgDEjIKDHNlc3Npb25faW5mbxgKIAEoCzIXLnNlc3Npb24udjEuU2Vzc2lvbkluZm9IAIgBARIuCgpzcGFjZV9pbmZvGAsgASgLMhUuc2Vzc2lvbi52MS5TcGFjZUluZm9IAYgBARISCgpsaWtlX2NvdW50GAwgASgDQg8KDV9zZXNzaW9uX2luZm9CDQoLX3NwYWNlX2luZm8i9QEKDENvbGxhYm9yYXRvchIUCgd1c2VyX2lkGAEgASgJSACIAQESDQoFZW1haWwYAiABKAkSEQoEbmFtZRgDIAEoCUgBiAEBEhMKBmF2YXRhchgEIAEoCUgCiAEBEjYKCnBlcm1pc3Npb24YBSABKA4yIi5zZXNzaW9uLnYxLkNvbGxhYm9yYXRvclBlcm1pc3Npb24SEAoIaXNfb3duZXIYBiABKAgSLgoGc3RhdHVzGAcgASgOMh4uc2Vzc2lvbi52MS5Db2xsYWJvcmF0b3JTdGF0dXNCCgoIX3VzZXJfaWRCBwoFX25hbWVCCQoHX2F2YXRhciL2AQoPU2Vzc2lvbkZpbGVJdGVtEhQKDHNhbmRib3hfcGF0aBgBIAEoCRIQCghmaWxlX3VybBgCIAEoCRIwCgpmaWxlX3N0YWdlGAQgASgOMhwuc2Vzc2lvbi52MS5TZXNzaW9uRmlsZVN0YWdlEi4KCWZpbGVfdHlwZRgFIAEoDjIbLnNlc3Npb24udjEuU2Vzc2lvbkZpbGVUeXBlEjIKC2ZpbGVfZWRpdG9yGAYgASgOMh0uc2Vzc2lvbi52MS5TZXNzaW9uRmlsZUVkaXRvchITCgtzZXNzaW9uX3VpZBgHIAEoCRIQCghldmVudF9pZBgIIAEoCSKvAgofU2Vzc2lvbkZpbGVJdGVtV2l0aFNlc3Npb25UaXRsZRIuCglmaWxlX2l0ZW0YASABKAsyGy5zZXNzaW9uLnYxLlNlc3Npb25GaWxlSXRlbRIVCg1zZXNzaW9uX3RpdGxlGAIgASgJEhUKCHNoYXJlX2lkGAMgASgJSACIAQESMwoPbGFzdF91cGRhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIRCglmaWxlX25hbWUYBSABKAkSEwoLdmVyc2lvbl91aWQYBiABKAkSGgoSaXNfbG9hZF90b19zYW5kYm94GAcgASgIEhgKC3NoYXJlX3RpdGxlGAggASgJSAGIAQFCCwoJX3NoYXJlX2lkQg4KDF9zaGFyZV90aXRsZSqmAQoNQWdlbnRUYXNrTW9kZRIfChtBR0VOVF9UQVNLX01PREVfVU5TUEVDSUZJRUQQABIcChhBR0VOVF9UQVNLX01PREVfU1RBTkRBUkQQARIfChtBR0VOVF9UQVNLX01PREVfSElHSF9FRkZPUlQQAhIYChRBR0VOVF9UQVNLX01PREVfTElURRADEhsKF0FHRU5UX1RBU0tfTU9ERV9ESVNDVVNTEAQqXQoLQXVkaXRTdGF0dXMSGAoUQVVESVRfU1RBVFVTX1BFTkRJTkcQABIZChVBVURJVF9TVEFUVVNfQVBQUk9WRUQQARIZChVBVURJVF9TVEFUVVNfUkVKRUNURUQQAiphCgxSZXNvdXJjZVR5cGUSHQoZUkVTT1VSQ0VfVFlQRV9VTlNQRUNJRklFRBAAEhkKFVJFU09VUkNFX1RZUEVfU0VTU0lPThABEhcKE1JFU09VUkNFX1RZUEVfU1BBQ0UQAippCg5SZXNvdXJjZVNvdXJjZRIfChtSRVNPVVJDRV9TT1VSQ0VfVU5TUEVDSUZJRUQQABIcChhSRVNPVVJDRV9TT1VSQ0VfT0ZGSUNJQUwQARIYChRSRVNPVVJDRV9TT1VSQ0VfVVNFUhACKlEKCFVzZXJUeXBlEhkKFVVTRVJfVFlQRV9VTlNQRUNJRklFRBAAEhYKElVTRVJfVFlQRV9PRkZJQ0lBTBABEhIKDlVTRVJfVFlQRV9VU0VSEAIqewoSQ29sbGFib3JhdG9yU3RhdHVzEiMKH0NPTExBQk9SQVRPUl9TVEFUVVNfVU5TUEVDSUZJRUQQABIfChtDT0xMQUJPUkFUT1JfU1RBVFVTX1JFTU9WRUQQARIfChtDT0xMQUJPUkFUT1JfU1RBVFVTX0RFTEVURUQQAiqQAQoWQ29sbGFib3JhdG9yUGVybWlzc2lvbhInCiNDT0xMQUJPUkFUT1JfUEVSTUlTU0lPTl9VTlNQRUNJRklFRBAAEiUKIUNPTExBQk9SQVRPUl9QRVJNSVNTSU9OX1JFQURfT05MWRABEiYKIkNPTExBQk9SQVRPUl9QRVJNSVNTSU9OX1JFQURfV1JJVEUQAipRCg5FeHBlcmltZW50VHlwZRIfChtFWFBFUklNRU5UX1RZUEVfVU5TUEVDSUZJRUQQABIeChpFWFBFUklNRU5UX1RZUEVfT05CT0FSRElORxABKooBCg9TZXNzaW9uRmlsZVR5cGUSIQodU0VTU0lPTl9GSUxFX1RZUEVfVU5TUEVDSUZJRUQQABIaChZTRVNTSU9OX0ZJTEVfVFlQRV9GSUxFEAESGwoXU0VTU0lPTl9GSUxFX1RZUEVfSU1BR0UQAhIbChdTRVNTSU9OX0ZJTEVfVFlQRV9TTElERRADKnYKEFNlc3Npb25GaWxlU3RhZ2USIgoeU0VTU0lPTl9GSUxFX1NUQUdFX1VOU1BFQ0lGSUVEEAASHgoaU0VTU0lPTl9GSUxFX1NUQUdFX1BST0NFU1MQARIeChpTRVNTSU9OX0ZJTEVfU1RBR0VfUFJPRFVDVBACKngKEVNlc3Npb25GaWxlRWRpdG9yEiMKH1NFU1NJT05fRklMRV9FRElUT1JfVU5TUEVDSUZJRUQQABIaChZTRVNTSU9OX0ZJTEVfRURJVE9SX0FJEAESIgoeU0VTU0lPTl9GSUxFX0VESVRPUl9VU0VSX09XTkVSEAIqmQEKFlNlc3Npb25GaWxlQ29udmVydFR5cGUSKQolU0VTU0lPTl9GSUxFX0NPTlZFUlRfVFlQRV9VTlNQRUNJRklFRBAAEikKJVNFU1NJT05fRklMRV9DT05WRVJUX1RZUEVfSFRNTF9UT19QREYQARIpCiVTRVNTSU9OX0ZJTEVfQ09OVkVSVF9UWVBFX0hUTUxfVE9fUFBUEAIq7QEKGFNlc3Npb25GaWxlQ29udmVydFN0YXR1cxIrCidTRVNTSU9OX0ZJTEVfQ09OVkVSVF9TVEFUVVNfVU5TUEVDSUZJRUQQABInCiNTRVNTSU9OX0ZJTEVfQ09OVkVSVF9TVEFUVVNfUEVORElORxABEioKJlNFU1NJT05fRklMRV9DT05WRVJUX1NUQVRVU19DT05WRVJUSU5HEAISJwojU0VTU0lPTl9GSUxFX0NPTlZFUlRfU1RBVFVTX1NVQ0NFU1MQAxImCiJTRVNTSU9OX0ZJTEVfQ09OVkVSVF9TVEFUVVNfRkFJTEVEEARCrAEKDmNvbS5zZXNzaW9uLnYxQhBTZXNzaW9uQmFzZVByb3RvUAFaP2dpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC9zZXNzaW9uL3YxO3Nlc3Npb252MaICA1NYWKoCClNlc3Npb24uVjHKAgpTZXNzaW9uXFYx4gIWU2Vzc2lvblxWMVxHUEJNZXRhZGF0YeoCC1Nlc3Npb246OlYxYgZwcm90bzM”,[_]),qA=J(“CiRzZXNzaW9uL3YxL3Nlc3Npb25fY29sbGFib3JhdGUucHJvdG8SCnNlc3Npb24udjEiTQoYTGlzdENvbGxhYm9yYXRvcnNSZXF1ZXN0EiEKC3Nlc3Npb25fdWlkGAEgASgJQge6SARyAhABSACIAQFCDgoMX3Nlc3Npb25fdWlkIkwKGUxpc3RDb2xsYWJvcmF0b3JzUmVzcG9uc2USLwoNY29sbGFib3JhdG9ycxgBIAMoCzIYLnNlc3Npb24udjEuQ29sbGFib3JhdG9yIjIKGENoZWNrQWxwaGFCeUVtYWlsUmVxdWVzdBIWCgVlbWFpbBgBIAEoCUIHukgEcgIQASItChlDaGVja0FscGhhQnlFbWFpbFJlc3BvbnNlEhAKCGlzX2FscGhhGAEgASgIImgKFFNlbmRWaWV3RW1haWxSZXF1ZXN0EhwKC3Nlc3Npb25fdWlkGAEgASgJQge6SARyAhABEhYKBWVtYWlsGAIgASgJQge6SARyAhABEhoKCXZpZXdfbGluaxgDIAEoCUIHukgEcgIQASIXChVTZW5kVmlld0VtYWlsUmVzcG9uc2UipwEKGUludml0ZUNvbGxhYm9yYXRvclJlcXVlc3QSHAoLc2Vzc2lvbl91aWQYASABKAlCB7pIBHICEAESFgoFZW1haWwYAiABKAlCB7pIBHICEAESNgoKcGVybWlzc2lvbhgDIAEoDjIiLnNlc3Npb24udjEuQ29sbGFib3JhdG9yUGVybWlzc2lvbhIcCgtpbnZpdGVfbGluaxgEIAEoCUIHukgEcgIQASJjChpJbnZpdGVDb2xsYWJvcmF0b3JSZXNwb25zZRIVCg1pc19hbHBoYV91c2VyGAEgASgIEi4KDGNvbGxhYm9yYXRvchgCIAEoCzIYLnNlc3Npb24udjEuQ29sbGFib3JhdG9yIkcKGVJlbW92ZUNvbGxhYm9yYXRvclJlcXVlc3QSHAoLc2Vzc2lvbl91aWQYASABKAlCB7pIBHICEAESDAoEdXNlchgCIAEoCSIcChpSZW1vdmVDb2xsYWJvcmF0b3JSZXNwb25zZSKJAQojVXBkYXRlQ29sbGFib3JhdG9yUGVybWlzc2lvblJlcXVlc3QSHAoLc2Vzc2lvbl91aWQYASABKAlCB7pIBHICEAESDAoEdXNlchgCIAEoCRI2CgpwZXJtaXNzaW9uGAMgASgOMiIuc2Vzc2lvbi52MS5Db2xsYWJvcmF0b3JQZXJtaXNzaW9uIiYKJFVwZGF0ZUNvbGxhYm9yYXRvclBlcm1pc3Npb25SZXNwb25zZSIzChNBY2NlcHRJbnZpdGVSZXF1ZXN0EhwKC3Nlc3Npb25fdWlkGAEgASgJQge6SARyAhABIhYKFEFjY2VwdEludml0ZVJlc3BvbnNlIjMKE1JlamVjdEludml0ZVJlcXVlc3QSHAoLc2Vzc2lvbl91aWQYASABKAlCB7pIBHICEAEiFgoUUmVqZWN0SW52aXRlUmVzcG9uc2UyuQYKGVNlc3Npb25Db2xsYWJvcmF0ZVNlcnZpY2USYgoRTGlzdENvbGxhYm9yYXRvcnMSJC5zZXNzaW9uLnYxLkxpc3RDb2xsYWJvcmF0b3JzUmVxdWVzdBolLnNlc3Npb24udjEuTGlzdENvbGxhYm9yYXRvcnNSZXNwb25zZSIAEmIKEUNoZWNrQWxwaGFCeUVtYWlsEiQuc2Vzc2lvbi52MS5DaGVja0FscGhhQnlFbWFpbFJlcXVlc3QaJS5zZXNzaW9uLnYxLkNoZWNrQWxwaGFCeUVtYWlsUmVzcG9uc2UiABJWCg1TZW5kVmlld0VtYWlsEiAuc2Vzc2lvbi52MS5TZW5kVmlld0VtYWlsUmVxdWVzdBohLnNlc3Npb24udjEuU2VuZFZpZXdFbWFpbFJlc3BvbnNlIgASZQoSSW52aXRlQ29sbGFib3JhdG9yEiUuc2Vzc2lvbi52MS5JbnZpdGVDb2xsYWJvcmF0b3JSZXF1ZXN0GiYuc2Vzc2lvbi52MS5JbnZpdGVDb2xsYWJvcmF0b3JSZXNwb25zZSIAEmUKElJlbW92ZUNvbGxhYm9yYXRvchIlLnNlc3Npb24udjEuUmVtb3ZlQ29sbGFib3JhdG9yUmVxdWVzdBomLnNlc3Npb24udjEuUmVtb3ZlQ29sbGFib3JhdG9yUmVzcG9uc2UiABKDAQocVXBkYXRlQ29sbGFib3JhdG9yUGVybWlzc2lvbhIvLnNlc3Npb24udjEuVXBkYXRlQ29sbGFib3JhdG9yUGVybWlzc2lvblJlcXVlc3QaMC5zZXNzaW9uLnYxLlVwZGF0ZUNvbGxhYm9yYXRvclBlcm1pc3Npb25SZXNwb25zZSIAElMKDEFjY2VwdEludml0ZRIfLnNlc3Npb24udjEuQWNjZXB0SW52aXRlUmVxdWVzdBogLnNlc3Npb24udjEuQWNjZXB0SW52aXRlUmVzcG9uc2UiABJTCgxSZWplY3RJbnZpdGUSHy5zZXNzaW9uLnYxLlJlamVjdEludml0ZVJlcXVlc3QaIC5zZXNzaW9uLnYxLlJlamVjdEludml0ZVJlc3BvbnNlIgBCswEKDmNvbS5zZXNzaW9uLnYxQhdTZXNzaW9uQ29sbGFib3JhdGVQcm90b1ABWj9naXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvc2Vzc2lvbi92MTtzZXNzaW9udjGiAgNTWFiqAgpTZXNzaW9uLlYxygIKU2Vzc2lvblxWMeICFlNlc3Npb25cVjFcR1BCTWV0YWRhdGHqAgtTZXNzaW9uOjpWMWIGcHJvdG8z”,[Re,Rn]),e2=Q(qA,0),t2=J(“Ch9zZXNzaW9uL3YxL3Nlc3Npb25fcHVibGljLnByb3RvEgpzZXNzaW9uLnYxIokBChRTdWJtaXRVc2VjYXNlUmVxdWVzdBIqCgVlbWFpbBgBIAEoCUIbukgYchYyFF5bXkBdK0BbXkBdK1wuW15AXSskEhsKB2NvbnRlbnQYAiABKAlCCrpIB3IFEAEYkE4SGAoLc2Vzc2lvbl91aWQYAyABKAlIAIgBAUIOCgxfc2Vzc2lvbl91aWQiKwoVU3VibWl0VXNlY2FzZVJlc3BvbnNlEhIKCnVzZWNhc2VfaWQYASABKAMi2wEKElVzZWNhc2VTZXNzaW9uSW5mbxITCgtzZXNzaW9uX3VpZBgBIAEoCRIVCg1zZXNzaW9uX3RpdGxlGAIgASgJEhQKDHNlc3Npb25faWNvbhgDIAEoCRIPCgd1c2VyX2lkGAQgASgJEhIKCnVzZXJfZW1haWwYBSABKAkSDwoHY29udGVudBgGIAEoCRINCgVvcmRlchgHIAEoBRIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIOCgZsb2NhbGUYCSABKAkieAoaTGlzdFVzZWNhc2VTZXNzaW9uc1JlcXVlc3QSFQoNc2hvd19ob21lcGFnZRgBIAEoCBIUCgxzaG93X3VzZWNhc2UYAiABKAgSDgoGbG9jYWxlGAMgASgJEg0KBWxpbWl0GAQgASgDEg4KBm9mZnNldBgFIAEoAyJPChtMaXN0VXNlY2FzZVNlc3Npb25zUmVzcG9uc2USMAoIc2Vzc2lvbnMYASADKAsyHi5zZXNzaW9uLnYxLlVzZWNhc2VTZXNzaW9uSW5mbyK/AgocTGlzdENvbW11bml0eVVzZWNhc2VzUmVxdWVzdBIYCgVsaW1pdBgBIAEoA0IJukgGIgQYZCAAEhcKBm9mZnNldBgCIAEoA0IHukgEIgIoABI0Cg1yZXNvdXJjZV90eXBlGAMgASgOMhguc2Vzc2lvbi52MS5SZXNvdXJjZVR5cGVIAIgBARI4Cg9yZXNvdXJjZV9zb3VyY2UYBCABKA4yGi5zZXNzaW9uLnYxLlJlc291cmNlU291cmNlSAGIAQESEwoGbG9jYWxlGAUgASgJSAKIAQESEgoFZ3JvdXAYBiABKAlIA4gBARIQCgN0YWcYByABKAlIBIgBAUIQCg5fcmVzb3VyY2VfdHlwZUISChBfcmVzb3VyY2Vfc291cmNlQgkKB19sb2NhbGVCCAoGX2dyb3VwQgYKBF90YWciYgodTGlzdENvbW11bml0eVVzZWNhc2VzUmVzcG9uc2USMgoIdXNlY2FzZXMYASADKAsyIC5zZXNzaW9uLnYxLkNvbW11bml0eVVzZWNhc2VJbmZvEg0KBXRvdGFsGAIgASgDIjoKH0JhdGNoR2V0Q29tbXVuaXR5VXNlY2FzZVJlcXVlc3QSFwoPcmVjb3JkX3VpZF9saXN0GAEgAygJIloKIEJhdGNoR2V0Q29tbXVuaXR5VXNlY2FzZVJlc3BvbnNlEjYKDHVzZWNhc2VfbGlzdBgBIAMoCzIgLnNlc3Npb24udjEuQ29tbXVuaXR5VXNlY2FzZUluZm8iLwobR2V0U2hhcmVkU2Vzc2lvbkZpbGVSZXF1ZXN0EhAKCHNoYXJlX2lkGAEgASgJIpUBChxHZXRTaGFyZWRTZXNzaW9uRmlsZVJlc3BvbnNlEhMKC3Nlc3Npb25fdWlkGAEgASgJEhQKDHNhbmRib3hfcGF0aBgCIAEoCRIQCghmaWxlX3VybBgDIAEoCRIRCglmaWxlX25hbWUYBCABKAkSEAoIZWRpdGFibGUYBSABKAgSEwoLc2hhcmVfdGl0bGUYBiABKAkypgQKFFNlc3Npb25QdWJsaWNTZXJ2aWNlElQKDVN1Ym1pdFVzZWNhc2USIC5zZXNzaW9uLnYxLlN1Ym1pdFVzZWNhc2VSZXF1ZXN0GiEuc2Vzc2lvbi52MS5TdWJtaXRVc2VjYXNlUmVzcG9uc2USZgoTTGlzdFVzZWNhc2VTZXNzaW9ucxImLnNlc3Npb24udjEuTGlzdFVzZWNhc2VTZXNzaW9uc1JlcXVlc3QaJy5zZXNzaW9uLnYxLkxpc3RVc2VjYXNlU2Vzc2lvbnNSZXNwb25zZRJsChVMaXN0Q29tbXVuaXR5VXNlY2FzZXMSKC5zZXNzaW9uLnYxLkxpc3RDb21tdW5pdHlVc2VjYXNlc1JlcXVlc3QaKS5zZXNzaW9uLnYxLkxpc3RDb21tdW5pdHlVc2VjYXNlc1Jlc3BvbnNlEnUKGEJhdGNoR2V0Q29tbXVuaXR5VXNlY2FzZRIrLnNlc3Npb24udjEuQmF0Y2hHZXRDb21tdW5pdHlVc2VjYXNlUmVxdWVzdBosLnNlc3Npb24udjEuQmF0Y2hHZXRDb21tdW5pdHlVc2VjYXNlUmVzcG9uc2USawoUR2V0U2hhcmVkU2Vzc2lvbkZpbGUSJy5zZXNzaW9uLnYxLkdldFNoYXJlZFNlc3Npb25GaWxlUmVxdWVzdBooLnNlc3Npb24udjEuR2V0U2hhcmVkU2Vzc2lvbkZpbGVSZXNwb25zZSIAQq4BCg5jb20uc2Vzc2lvbi52MUISU2Vzc2lvblB1YmxpY1Byb3RvUAFaP2dpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC9zZXNzaW9uL3YxO3Nlc3Npb252MaICA1NYWKoCClNlc3Npb24uVjHKAgpTZXNzaW9uXFYx4gIWU2Vzc2lvblxWMVxHUEJNZXRhZGF0YeoCC1Nlc3Npb246OlYxYgZwcm90bzM”,[Re,_,Rn]),n2=Q(t2,0),l2=J(“CipzZXNzaW9uL3YxL3Nlc3Npb25fY29sbGFib3JhdF9wdWJsaWMucHJvdG8SCnNlc3Npb24udjEiUwoeTGlzdFB1YmxpY0NvbGxhYm9yYXRvcnNSZXF1ZXN0EiEKC3Nlc3Npb25fdWlkGAEgASgJQge6SARyAhABSACIAQFCDgoMX3Nlc3Npb25fdWlkIoUBChJQdWJsaWNDb2xsYWJvcmF0b3ISDwoHdXNlcl9pZBgBIAEoCRIMCgRuYW1lGAMgASgJEg4KBmF2YXRhchgEIAEoCRIQCghpc19vd25lchgGIAEoCBIuCgZzdGF0dXMYByABKA4yHi5zZXNzaW9uLnYxLkNvbGxhYm9yYXRvclN0YXR1cyJYCh9MaXN0UHVibGljQ29sbGFib3JhdG9yc1Jlc3BvbnNlEjUKDWNvbGxhYm9yYXRvcnMYASADKAsyHi5zZXNzaW9uLnYxLlB1YmxpY0NvbGxhYm9yYXRvcjKXAQofU2Vzc2lvbkNvbGxhYm9yYXRlUHVibGljU2VydmljZRJ0ChdMaXN0UHVibGljQ29sbGFib3JhdG9ycxIqLnNlc3Npb24udjEuTGlzdFB1YmxpY0NvbGxhYm9yYXRvcnNSZXF1ZXN0Gisuc2Vzc2lvbi52MS5MaXN0UHVibGljQ29sbGFib3JhdG9yc1Jlc3BvbnNlIgBCuAEKDmNvbS5zZXNzaW9uLnYxQhxTZXNzaW9uQ29sbGFib3JhdFB1YmxpY1Byb3RvUAFaP2dpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC9zZXNzaW9uL3YxO3Nlc3Npb252MaICA1NYWKoCClNlc3Npb24uVjHKAgpTZXNzaW9uXFYx4gIWU2Vzc2lvblxWMVxHUEJNZXRhZGF0YeoCC1Nlc3Npb246OlYxYgZwcm90bzM”,[Re,Rn]),i2=Q(l2,0),o2=J(“CiBzZXNzaW9uL3YxL2NvbW11bml0eV9hZG1pbi5wcm90bxIKc2Vzc2lvbi52MSL/BAoVQXVkaXRDb21tdW5pdHlVc2VjYXNlEicKBnN0YXR1cxgBIAEoDjIXLnNlc3Npb24udjEuQXVkaXRTdGF0dXMSDgoGcmVtYXJrGAIgASgJEhMKC3Jldmlld2VyX2lkGAMgASgJEi8KC3Jldmlld2VkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIMCgR0YWdzGAUgAygJEgoKAmlkGAYgASgDEi4KCmNyZWF0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCmRlbGV0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg8KB3VzZXJfaWQYCiABKAkSDQoFZW1haWwYCyABKAkSEgoKcmVjb3JkX3VpZBgMIAEoCRIvCg1yZXNvdXJjZV90eXBlGA0gASgOMhguc2Vzc2lvbi52MS5SZXNvdXJjZVR5cGUSEwoLcmVzb3VyY2VfaWQYDiABKAkSDQoFZ3JvdXAYDyABKAkSDgoGbG9jYWxlGBAgASgJEg4KBmF2YXRhchgRIAEoCRINCgV0aXRsZRgSIAEoCRITCgtkZXNjcmlwdGlvbhgTIAEoCRIzCg9yZXNvdXJjZV9zb3VyY2UYFCABKA4yGi5zZXNzaW9uLnYxLlJlc291cmNlU291cmNlEg0KBW9yZGVyGBUgASgFEhIKCmlzX3B1Ymxpc2gYFiABKAgSGAoQcmVjb21tZW5kX3JlYXNvbhgXIAEoCSLbAwoZUmVjb21tZW5kQ29tbXVuaXR5VXNlY2FzZRIKCgJpZBgBIAEoAxIMCgR0YWdzGAIgAygJEi4KCmNyZWF0ZWRfYXQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCmRlbGV0ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg8KB3VzZXJfaWQYBiABKAkSEgoKcmVjb3JkX3VpZBgIIAEoCRIvCg1yZXNvdXJjZV90eXBlGAkgASgOMhguc2Vzc2lvbi52MS5SZXNvdXJjZVR5cGUSEwoLcmVzb3VyY2VfaWQYCiABKAkSDQoFZ3JvdXAYCyABKAkSDgoGbG9jYWxlGAwgASgJEg4KBmF2YXRhchgNIAEoCRINCgV0aXRsZRgOIAEoCRITCgtkZXNjcmlwdGlvbhgPIAEoCRIzCg9yZXNvdXJjZV9zb3VyY2UYECABKA4yGi5zZXNzaW9uLnYxLlJlc291cmNlU291cmNlEg0KBW9yZGVyGBEgASgFEhIKCmlzX3B1Ymxpc2gYEiABKAgiJwoKVXNlY2FzZVRhZxILCgN1aWQYASABKAkSDAoEbmFtZRgCIAEoCSIpCgxVc2VjYXNlR3JvdXASCwoDdWlkGAEgASgJEgwKBG5hbWUYAiABKAkitwMKIExpc3RBdWRpdENvbW11bml0eVVzZWNhc2VSZXF1ZXN0EgwKBHBhZ2UYASABKAUSEQoJcGFnZV9zaXplGAIgASgFEiwKBnN0YXR1cxgDIAEoDjIXLnNlc3Npb24udjEuQXVkaXRTdGF0dXNIAIgBARI0Cg1yZXNvdXJjZV90eXBlGAQgASgOMhguc2Vzc2lvbi52MS5SZXNvdXJjZVR5cGVIAYgBARIYCgtyZXNvdXJjZV9pZBgFIAEoCUgCiAEBEhEKBHVzZXIYBiABKAlIA4gBARIMCgR0YWdzGAcgAygJEhIKBWdyb3VwGAggASgJSASIAQESLgoKb3JkZXJfdHlwZRgJIAEoDjIVLnNlc3Npb24udjEuT3JkZXJUeXBlSAWIAQESFAoHa2V5d29yZBgKIAEoCUgGiAEBEhMKBmxvY2FsZRgLIAEoCUgHiAEBQgkKB19zdGF0dXNCEAoOX3Jlc291cmNlX3R5cGVCDgoMX3Jlc291cmNlX2lkQgcKBV91c2VyQggKBl9ncm91cEINCgtfb3JkZXJfdHlwZUIKCghfa2V5d29yZEIJCgdfbG9jYWxlImMKIUxpc3RBdWRpdENvbW11bml0eVVzZWNhc2VSZXNwb25zZRIvCgRsaXN0GAEgAygLMiEuc2Vzc2lvbi52MS5BdWRpdENvbW11bml0eVVzZWNhc2USDQoFdG90YWwYAiABKAUi1AMKJExpc3RSZWNvbW1lbmRDb21tdW5pdHlVc2VjYXNlUmVxdWVzdBIMCgRwYWdlGAEgASgFEhEKCXBhZ2Vfc2l6ZRgCIAEoBRI0Cg1yZXNvdXJjZV90eXBlGAMgASgOMhguc2Vzc2lvbi52MS5SZXNvdXJjZVR5cGVIAIgBARIYCgtyZXNvdXJjZV9pZBgEIAEoCUgBiAEBEhEKBHVzZXIYBSABKAlIAogBARIMCgR0YWdzGAYgAygJEhIKBWdyb3VwGAcgASgJSAOIAQESFwoKaXNfcHVibGlzaBgIIAEoCEgEiAEBEhgKC2lzX2ZlYXR1cmVkGAkgASgISAWIAQESLgoKb3JkZXJfdHlwZRgKIAEoDjIVLnNlc3Npb24udjEuT3JkZXJUeXBlSAaIAQESFAoHa2V5d29yZBgLIAEoCUgHiAEBEhMKBmxvY2FsZRgMIAEoCUgIiAEBQhAKDl9yZXNvdXJjZV90eXBlQg4KDF9yZXNvdXJjZV9pZEIHCgVfdXNlckIICgZfZ3JvdXBCDQoLX2lzX3B1Ymxpc2hCDgoMX2lzX2ZlYXR1cmVkQg0KC19vcmRlcl90eXBlQgoKCF9rZXl3b3JkQgkKB19sb2NhbGUiawolTGlzdFJlY29tbWVuZENvbW11bml0eVVzZWNhc2VSZXNwb25zZRIzCgRsaXN0GAEgAygLMiUuc2Vzc2lvbi52MS5SZWNvbW1lbmRDb21tdW5pdHlVc2VjYXNlEg0KBXRvdGFsGAIgASgFIqwCCiZVcGRhdGVSZWNvbW1lbmRDb21tdW5pdHlVc2VjYXNlUmVxdWVzdBIKCgJpZBgBIAEoAxISCgVncm91cBgFIAEoCUgAiAEBEgwKBHRhZ3MYBiADKAkSFwoKaXNfcHVibGlzaBgHIAEoCEgBiAEBEhIKBW9yZGVyGAggASgFSAKIAQESEgoFaW1hZ2UYCSABKAlIA4gBARITCgZsb2NhbGUYCiABKAlIBIgBARISCgV0aXRsZRgLIAEoCUgFiAEBEhgKC2Rlc2NyaXB0aW9uGAwgASgJSAaIAQFCCAoGX2dyb3VwQg0KC19pc19wdWJsaXNoQggKBl9vcmRlckIICgZfaW1hZ2VCCQoHX2xvY2FsZUIICgZfdGl0bGVCDgoMX2Rlc2NyaXB0aW9uIksKJ1VwZGF0ZVJlY29tbWVuZENvbW11bml0eVVzZWNhc2VSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkiqwMKIlVwZGF0ZUF1ZGl0Q29tbXVuaXR5VXNlY2FzZVJlcXVlc3QSCgoCaWQYASABKAMSLAoGc3RhdHVzGAIgASgOMhcuc2Vzc2lvbi52MS5BdWRpdFN0YXR1c0gAiAEBEhMKBnJlbWFyaxgDIAEoCUgBiAEBEhgKC3Jldmlld2VyX2lkGAQgASgJSAKIAQESEgoFZ3JvdXAYBSABKAlIA4gBARIMCgR0YWdzGAYgAygJEhcKCmlzX3B1Ymxpc2gYByABKAhIBIgBARISCgVvcmRlchgIIAEoBUgFiAEBEhIKBWltYWdlGAkgASgJSAaIAQESEwoGbG9jYWxlGAogASgJSAeIAQESEgoFdGl0bGUYCyABKAlICIgBARIYCgtkZXNjcmlwdGlvbhgMIAEoCUgJiAEBQgkKB19zdGF0dXNCCQoHX3JlbWFya0IOCgxfcmV2aWV3ZXJfaWRCCAoGX2dyb3VwQg0KC19pc19wdWJsaXNoQggKBl9vcmRlckIICgZfaW1hZ2VCCQoHX2xvY2FsZUIICgZfdGl0bGVCDgoMX2Rlc2NyaXB0aW9uIkcKI1VwZGF0ZUF1ZGl0Q29tbXVuaXR5VXNlY2FzZVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCSIeCg5MaXN0VGFnUmVxdWVzdBIMCgR0YWdzGAEgAygJIjcKD0xpc3RUYWdSZXNwb25zZRIkCgR0YWdzGAEgAygLMhYuc2Vzc2lvbi52MS5Vc2VjYXNlVGFnIhIKEExpc3RHcm91cFJlcXVlc3QiPQoRTGlzdEdyb3VwUmVzcG9uc2USKAoGZ3JvdXBzGAEgAygLMhguc2Vzc2lvbi52MS5Vc2VjYXNlR3JvdXAiLgoZR2VuZXJhdGVTY3JlZW5zaG90UmVxdWVzdBIRCglzcGFjZV91aWQYASABKAkiKQoaR2VuZXJhdGVTY3JlZW5zaG90UmVzcG9uc2USCwoDdXJsGAEgASgJIisKHURlbGV0ZUNvbW11bml0eVVzZWNhc2VSZXF1ZXN0EgoKAmlkGAEgASgDIkIKHkRlbGV0ZUNvbW11bml0eVVzZWNhc2VSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkqPAoJT3JkZXJUeXBlEhkKFU9SREVSX1RZUEVfQ1JFQVRFRF9BVBAAEhQKEE9SREVSX1RZUEVfT1JERVIQATKJBwoVQ29tbXVuaXR5QWRtaW5TZXJ2aWNlEoQBCh1MaXN0UmVjb21tZW5kQ29tbXVuaXR5VXNlY2FzZRIwLnNlc3Npb24udjEuTGlzdFJlY29tbWVuZENvbW11bml0eVVzZWNhc2VSZXF1ZXN0GjEuc2Vzc2lvbi52MS5MaXN0UmVjb21tZW5kQ29tbXVuaXR5VXNlY2FzZVJlc3BvbnNlEngKGUxpc3RBdWRpdENvbW11bml0eVVzZWNhc2USLC5zZXNzaW9uLnYxLkxpc3RBdWRpdENvbW11bml0eVVzZWNhc2VSZXF1ZXN0Gi0uc2Vzc2lvbi52MS5MaXN0QXVkaXRDb21tdW5pdHlVc2VjYXNlUmVzcG9uc2USigEKH1VwZGF0ZVJlY29tbWVuZENvbW11bml0eVVzZWNhc2USMi5zZXNzaW9uLnYxLlVwZGF0ZVJlY29tbWVuZENvbW11bml0eVVzZWNhc2VSZXF1ZXN0GjMuc2Vzc2lvbi52MS5VcGRhdGVSZWNvbW1lbmRDb21tdW5pdHlVc2VjYXNlUmVzcG9uc2USfgobVXBkYXRlQXVkaXRDb21tdW5pdHlVc2VjYXNlEi4uc2Vzc2lvbi52MS5VcGRhdGVBdWRpdENvbW11bml0eVVzZWNhc2VSZXF1ZXN0Gi8uc2Vzc2lvbi52MS5VcGRhdGVBdWRpdENvbW11bml0eVVzZWNhc2VSZXNwb25zZRJCCgdMaXN0VGFnEhouc2Vzc2lvbi52MS5MaXN0VGFnUmVxdWVzdBobLnNlc3Npb24udjEuTGlzdFRhZ1Jlc3BvbnNlEmMKEkdlbmVyYXRlU2NyZWVuc2hvdBIlLnNlc3Npb24udjEuR2VuZXJhdGVTY3JlZW5zaG90UmVxdWVzdBomLnNlc3Npb24udjEuR2VuZXJhdGVTY3JlZW5zaG90UmVzcG9uc2USSAoJTGlzdEdyb3VwEhwuc2Vzc2lvbi52MS5MaXN0R3JvdXBSZXF1ZXN0Gh0uc2Vzc2lvbi52MS5MaXN0R3JvdXBSZXNwb25zZRJvChZEZWxldGVDb21tdW5pdHlVc2VjYXNlEikuc2Vzc2lvbi52MS5EZWxldGVDb21tdW5pdHlVc2VjYXNlUmVxdWVzdBoqLnNlc3Npb24udjEuRGVsZXRlQ29tbXVuaXR5VXNlY2FzZVJlc3BvbnNlQq8BCg5jb20uc2Vzc2lvbi52MUITQ29tbXVuaXR5QWRtaW5Qcm90b1ABWj9naXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvc2Vzc2lvbi92MTtzZXNzaW9udjGiAgNTWFiqAgpTZXNzaW9uLlYxygIKU2Vzc2lvblxWMeICFlNlc3Npb25cVjFcR1BCTWV0YWRhdGHqAgtTZXNzaW9uOjpWMWIGcHJvdG8z”,[_,Rn]),r2=Q(o2,0),c2=J(“ChhzZXNzaW9uL3YxL3Nlc3Npb24ucHJvdG8SCnNlc3Npb24udjEinAEKBFRhc2sSDwoHdGFza19pZBgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRIOCgZzdGF0dXMYAyABKAkSLgoKY3JlYXRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAimwEKC1NhbmRib3hJbmZvEhIKCnNhbmRib3hfaWQYASABKAkSDgoGc3RhdHVzGAIgASgJEjcKCG1ldGFkYXRhGAMgAygLMiUuc2Vzc2lvbi52MS5TYW5kYm94SW5mby5NZXRhZGF0YUVudHJ5Gi8KDU1ldGFkYXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJVCghTdGVwUGxhbhIPCgdwbGFuX2lkGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEg0KBXN0ZXBzGAMgAygJEhQKDGN1cnJlbnRfc3RlcBgEIAEoBSKFAwoTQWdlbnRTZXNzaW9uUnVudGltZRILCgN1aWQYASABKAkSDwoHdXNlcl9pZBgCIAEoCRIvCg5oYW5kbGVyX3N0b3JlcxgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSHwoFdGFza3MYBCADKAsyEC5zZXNzaW9uLnYxLlRhc2sSJwoJc3RlcF9wbGFuGAUgASgLMhQuc2Vzc2lvbi52MS5TdGVwUGxhbhIeChZpbnN0YWxsZWRfZGF0YV9hcGlfaWRzGAYgAygJEiYKHmluc3RhbGxlZF9zeXN0ZW1fa25vd2xlZGdlX2lkcxgHIAMoCRItCgxzYW5kYm94X2luZm8YCCABKAsyFy5zZXNzaW9uLnYxLlNhbmRib3hJbmZvEi4KCmNyZWF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIkYKCEljb25JbmZvEgsKA3VybBgBIAEoCRIWCg5iZ19jb2xvcl9saWdodBgCIAEoCRIVCg1iZ19jb2xvcl9kYXJrGAMgASgJIt0GCgxBZ2VudFNlc3Npb24SCwoDdWlkGAEgASgJEg8KB3VzZXJfaWQYAiABKAkSDQoFdGl0bGUYAyABKAkSDAoEaWNvbhgEIAEoCRI1ChFsYXN0X21lc3NhZ2VfdGltZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASHAoUbGFzdF9kaXNwbGF5X21lc3NhZ2UYBiABKAkSMAoMbGFzdF9yZWFkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIpCgZzdGF0dXMYCSABKA4yGS5zZXNzaW9uLnYxLlNlc3Npb25TdGF0dXMSLgoKY3JlYXRlZF9hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASHAoUdW5yZWFkX21lc3NhZ2VfY291bnQYDCABKAUSEwoLaXNfZmF2b3JpdGUYDSABKAgSJwoJaWNvbl9pbmZvGA4gASgLMhQuc2Vzc2lvbi52MS5JY29uSW5mbxIRCglpc19zaGFyZWQYDyABKAgSMgoPYWdlbnRfdGFza19tb2RlGBAgASgOMhkuc2Vzc2lvbi52MS5BZ2VudFRhc2tNb2RlEhYKDmNvc3RlZF9jcmVkaXRzGBEgASgFEhoKEmZlZWRiYWNrX3N1Ym1pdHRlZBgSIAEoCBIeChZwdWJsaXNoZWRfdG9fY29tbXVuaXR5GBYgASgIEhwKD2Rpc3BsYXlfY29udGVudBgTIAEoCUgAiAEBEh0KEGRpc3BsYXlfZXZlbnRfaWQYFCABKAlIAYgBARIaCg1kaXNwbGF5X3RpdGxlGBUgASgJSAKIAQESLwoNY29sbGFib3JhdG9ycxgXIAMoCzIYLnNlc3Npb24udjEuQ29sbGFib3JhdG9yEi0KDGF1ZGl0X3N0YXR1cxgYIAEoDjIXLnNlc3Npb24udjEuQXVkaXRTdGF0dXNCEgoQX2Rpc3BsYXlfY29udGVudEITChFfZGlzcGxheV9ldmVudF9pZEIQCg5fZGlzcGxheV90aXRsZUoECAgQCVIPbGFzdF9yZWFkX2luZGV4IigKEUdldFNlc3Npb25SZXF1ZXN0EhMKC3Nlc3Npb25fdWlkGAEgASgJInEKEkdldFNlc3Npb25SZXNwb25zZRIpCgdzZXNzaW9uGAEgASgLMhguc2Vzc2lvbi52MS5BZ2VudFNlc3Npb24SMAoHcnVudGltZRgCIAEoCzIfLnNlc3Npb24udjEuQWdlbnRTZXNzaW9uUnVudGltZSLqAQoTTGlzdFNlc3Npb25zUmVxdWVzdBINCgVsaW1pdBgBIAEoBRIOCgZvZmZzZXQYAiABKAUSDwoHa2V5d29yZBgDIAEoCRIpCgZzdGF0dXMYBCADKA4yGS5zZXNzaW9uLnYxLlNlc3Npb25TdGF0dXMSGAoLaXNfZmF2b3JpdGUYBSABKAhIAIgBARIWCglpc19zaGFyZWQYBiABKAhIAYgBARIoCgVtb2RlcxgHIAMoDjIZLnNlc3Npb24udjEuQWdlbnRUYXNrTW9kZUIOCgxfaXNfZmF2b3JpdGVCDAoKX2lzX3NoYXJlZCJjChRMaXN0U2Vzc2lvbnNSZXNwb25zZRIqCghzZXNzaW9ucxgBIAMoCzIYLnNlc3Npb24udjEuQWdlbnRTZXNzaW9uEhAKCGhhc19uZXh0GAIgASgIEg0KBXRvdGFsGAMgASgDImIKGVVwZGF0ZVJlYWRQb3NpdGlvblJlcXVlc3QSEwoLc2Vzc2lvbl91aWQYASABKAkSMAoMbGFzdF9yZWFkX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCItChpVcGRhdGVSZWFkUG9zaXRpb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIjsKFkZhdm9yaXRlU2Vzc2lvblJlcXVlc3QSEwoLc2Vzc2lvbl91aWQYASABKAkSDAoEbm90ZRgCIAEoCSIqChdGYXZvcml0ZVNlc3Npb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIi8KGFVuRmF2b3JpdGVTZXNzaW9uUmVxdWVzdBITCgtzZXNzaW9uX3VpZBgBIAEoCSIsChlVbkZhdm9yaXRlU2Vzc2lvblJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgirwEKFFVwZGF0ZVNlc3Npb25SZXF1ZXN0EhMKC3Nlc3Npb25fdWlkGAEgASgJEg0KBXRpdGxlGAIgASgJEgwKBGljb24YAyABKAkSKQoGc3RhdHVzGAQgASgOMhkuc2Vzc2lvbi52MS5TZXNzaW9uU3RhdHVzEiwKCWljb25faW5mbxgFIAEoCzIULnNlc3Npb24udjEuSWNvbkluZm9IAIgBAUIMCgpfaWNvbl9pbmZvIigKFVVwZGF0ZVNlc3Npb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIisKFERlbGV0ZVNlc3Npb25SZXF1ZXN0EhMKC3Nlc3Npb25fdWlkGAEgASgJIigKFURlbGV0ZVNlc3Npb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIioKE1NoYXJlU2Vzc2lvblJlcXVlc3QSEwoLc2Vzc2lvbl91aWQYASABKAkiJwoUU2hhcmVTZXNzaW9uUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCIsChVVbnNoYXJlU2Vzc2lvblJlcXVlc3QSEwoLc2Vzc2lvbl91aWQYASABKAkiKQoWVW5zaGFyZVNlc3Npb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIoQBChZTZXNzaW9uRmVlZGJhY2tSZXF1ZXN0Eh4KBXNjb3JlGAEgASgFQg+6SAwaCjABMAIwAzAEMAUSGQoHY29udGVudBgCIAEoCUIIukgFcgMY0A8SEwoLc2Vzc2lvbl91aWQYAyABKAkSGgoSYWxsb3dfY29sbGVjdF9pbmZvGAQgASgIIi4KF1Nlc3Npb25GZWVkYmFja1Jlc3BvbnNlEhMKC2ZlZWRiYWNrX2lkGAEgASgDIj8KF0dldFRhc2tRdWV1ZUluZm9SZXF1ZXN0EhMKC3Nlc3Npb25fdWlkGAEgASgJEg8KB3VzZXJfaWQYAiABKAkipQEKGEdldFRhc2tRdWV1ZUluZm9SZXNwb25zZRIjChtlc3RpbWF0ZWRfd2FpdF90aW1lX21pbnV0ZXMYASABKAUSFAoHbWVzc2FnZRgCIAEoCUgAiAEBEiMKG2VzdGltYXRlZF93YWl0X3RpbWVfc2Vjb25kcxgDIAEoBRIdChVuZXh0X2ludGVydmFsX3NlY29uZHMYBCABKAVCCgoIX21lc3NhZ2UipQIKHExpc3RSZWNvbW1lbmRVc2VjYXNlc1JlcXVlc3QSGAoFbGltaXQYASABKANCCbpIBiIEGGQgABIXCgZvZmZzZXQYAiABKANCB7pIBCICKAASNAoNcmVzb3VyY2VfdHlwZRgDIAEoDjIYLnNlc3Npb24udjEuUmVzb3VyY2VUeXBlSACIAQESOAoPcmVzb3VyY2Vfc291cmNlGAQgASgOMhouc2Vzc2lvbi52MS5SZXNvdXJjZVNvdXJjZUgBiAEBEhMKBmxvY2FsZRgFIAEoCUgCiAEBEhIKBWdyb3VwGAYgASgJSAOIAQFCEAoOX3Jlc291cmNlX3R5cGVCEgoQX3Jlc291cmNlX3NvdXJjZUIJCgdfbG9jYWxlQggKBl9ncm91cCJiCh1MaXN0UmVjb21tZW5kVXNlY2FzZXNSZXNwb25zZRIyCgh1c2VjYXNlcxgBIAMoCzIgLnNlc3Npb24udjEuQ29tbXVuaXR5VXNlY2FzZUluZm8SDQoFdG90YWwYAiABKAMingEKHlNoYXJlU2Vzc2lvblRvQ29tbXVuaXR5UmVxdWVzdBIcCgtzZXNzaW9uX3VpZBgBIAEoCUIHukgEcgIQARIZCgV0aXRsZRgCIAEoCUIKukgHcgUQARj/ARIfCg11c2VyX3F1ZXN0aW9uGAMgASgJQgi6SAVyAxiQThIiChByZWNvbW1lbmRfcmVhc29uGAQgASgJQgi6SAVyAxiQTiI1Ch9TaGFyZVNlc3Npb25Ub0NvbW11bml0eVJlc3BvbnNlEhIKCnJlY29yZF91aWQYASABKAkiQgoiVW5zaGFyZVNlc3Npb25Gcm9tQ29tbXVuaXR5UmVxdWVzdBIcCgtzZXNzaW9uX3VpZBgBIAEoCUIHukgEcgIQASIlCiNVbnNoYXJlU2Vzc2lvbkZyb21Db21tdW5pdHlSZXNwb25zZSKqAQocU2hhcmVTcGFjZVRvQ29tbXVuaXR5UmVxdWVzdBIaCglzcGFjZV91aWQYASABKAlCB7pIBHICEAESHAoLc2Vzc2lvbl91aWQYAiABKAlCB7pIBHICEAESGQoFdGl0bGUYAyABKAlCCrpIB3IFEAEY/wESEQoJc3BhY2VfdXJsGAQgASgJEiIKEHJlY29tbWVuZF9yZWFzb24YBSABKAlCCLpIBXIDGJBOIjMKHVNoYXJlU3BhY2VUb0NvbW11bml0eVJlc3BvbnNlEhIKCnJlY29yZF91aWQYASABKAkiXAogVW5zaGFyZVNwYWNlRnJvbUNvbW11bml0eVJlcXVlc3QSGgoJc3BhY2VfdWlkGAEgASgJQge6SARyAhABEhwKC3Nlc3Npb25fdWlkGAIgASgJQge6SARyAhABIiMKIVVuc2hhcmVTcGFjZUZyb21Db21tdW5pdHlSZXNwb25zZSI9Cg1TZWFyY2hSZXF1ZXN0EhwKC3Nlc3Npb25fdWlkGAEgASgJQge6SARyAhABEg4KBnF1ZXJ5cxgCIAMoCSLBAQoMU2VhcmNoUmVzdWx0EhAKCHBvc2l0aW9uGAEgASgDEhUKDXJlZGlyZWN0X2xpbmsYAiABKAkSIQoZc25pcHBldF9oaWdobGlnaHRlZF93b3JkcxgDIAMoCRINCgV0aXRsZRgEIAEoCRIMCgRsaW5rGAUgASgJEhYKDmRpc3BsYXllZF9saW5rGAYgASgJEg8KB2Zhdmljb24YByABKAkSDwoHc25pcHBldBgIIAEoCRIOCgZzb3VyY2UYCSABKAkiPAoRU2VhcmNoUmVzdWx0R3JvdXASJwoFaXRlbXMYASADKAsyGC5zZXNzaW9uLnYxLlNlYXJjaFJlc3VsdCKvAQoOU2VhcmNoUmVzcG9uc2USRwoPb3JnYW5pY19yZXN1bHRzGAEgAygLMi4uc2Vzc2lvbi52MS5TZWFyY2hSZXNwb25zZS5PcmdhbmljUmVzdWx0c0VudHJ5GlQKE09yZ2FuaWNSZXN1bHRzRW50cnkSCwoDa2V5GAEgASgJEiwKBXZhbHVlGAIgASgLMh0uc2Vzc2lvbi52MS5TZWFyY2hSZXN1bHRHcm91cDoCOAEiOwokQ29tbXVuaXR5U2Vzc2lvblNoYXJlZFByZXZpZXdSZXF1ZXN0EhMKC3Nlc3Npb25fdWlkGAEgASgJIrcBCiVDb21tdW5pdHlTZXNzaW9uU2hhcmVkUHJldmlld1Jlc3BvbnNlEhIKCnJlY29yZF91aWQYASABKAkSEwoLc2Vzc2lvbl91aWQYAiABKAkSDQoFdGl0bGUYAyABKAkSGAoQcmVjb21tZW5kX3JlYXNvbhgEIAEoCRITCgtkZXNjcmlwdGlvbhgFIAEoCRInCgZzdGF0dXMYBiABKA4yFy5zZXNzaW9uLnYxLkF1ZGl0U3RhdHVzIkwKIkNvbW11bml0eVNwYWNlU2hhcmVkUHJldmlld1JlcXVlc3QSEwoLc2Vzc2lvbl91aWQYASABKAkSEQoJc3BhY2VfdWlkGAIgASgJIrMBCiNDb21tdW5pdHlTcGFjZVNoYXJlZFByZXZpZXdSZXNwb25zZRISCgpyZWNvcmRfdWlkGAEgASgJEhEKCXNwYWNlX3VpZBgCIAEoCRINCgV0aXRsZRgDIAEoCRIYChByZWNvbW1lbmRfcmVhc29uGAQgASgJEhMKC2Rlc2NyaXB0aW9uGAUgASgJEicKBnN0YXR1cxgGIAEoDjIXLnNlc3Npb24udjEuQXVkaXRTdGF0dXMiQwoWU3luY1Nlc3Npb25GaWxlUmVxdWVzdBIpCgRmaWxlGAEgASgLMhsuc2Vzc2lvbi52MS5TZXNzaW9uRmlsZUl0ZW0iGQoXU3luY1Nlc3Npb25GaWxlUmVzcG9uc2UiVwoYVXBkYXRlU2Vzc2lvbkZpbGVSZXF1ZXN0EhMKC3Nlc3Npb25fdWlkGAEgASgJEhQKDHNhbmRib3hfcGF0aBgCIAEoCRIQCghmaWxlX3VybBgDIAEoCSIbChlVcGRhdGVTZXNzaW9uRmlsZVJlc3BvbnNlIoABChdMaXN0U2Vzc2lvbkZpbGVzUmVxdWVzdBIXCgpzZXNzaW9uX2lkGAEgASgJSACIAQESEwoGc2hhcmVkGAIgASgISAGIAQESDgoGb2Zmc2V0GAMgASgFEg0KBWxpbWl0GAQgASgFQg0KC19zZXNzaW9uX2lkQgkKB19zaGFyZWQiZQoYTGlzdFNlc3Npb25GaWxlc1Jlc3BvbnNlEjoKBWZpbGVzGAEgAygLMisuc2Vzc2lvbi52MS5TZXNzaW9uRmlsZUl0ZW1XaXRoU2Vzc2lvblRpdGxlEg0KBXRvdGFsGAIgASgDIlkKF1NoYXJlU2Vzc2lvbkZpbGVSZXF1ZXN0EhMKC3Nlc3Npb25fdWlkGAEgASgJEhQKDHNhbmRib3hfcGF0aBgCIAEoCRITCgtzaGFyZV90aXRsZRgDIAEoCSIsChhTaGFyZVNlc3Npb25GaWxlUmVzcG9uc2USEAoIc2hhcmVfaWQYASABKAkiRgoZVW5zaGFyZVNlc3Npb25GaWxlUmVxdWVzdBITCgtzZXNzaW9uX3VpZBgBIAEoCRIUCgxzYW5kYm94X3BhdGgYAiABKAkiHAoaVW5zaGFyZVNlc3Npb25GaWxlUmVzcG9uc2UiSwoeR2V0U2Vzc2lvbkZpbGVVcGxvYWRVcmxSZXF1ZXN0EhMKC3Nlc3Npb25fdWlkGAEgASgJEhQKDHNhbmRib3hfcGF0aBgCIAEoCSJGCh9HZXRTZXNzaW9uRmlsZVVwbG9hZFVybFJlc3BvbnNlEhIKCnVwbG9hZF91cmwYASABKAkSDwoHY2RuX3VybBgCIAEoCSJDChZHZXRPcmlnaW5hbEZpbGVSZXF1ZXN0EhMKC3Nlc3Npb25fdWlkGAEgASgJEhQKDHNhbmRib3hfcGF0aBgCIAEoCSIrChdHZXRPcmlnaW5hbEZpbGVSZXNwb25zZRIQCghmaWxlX3VybBgBIAEoCSJHChpSZXN0b3JlT3JpZ2luYWxGaWxlUmVxdWVzdBITCgtzZXNzaW9uX3VpZBgBIAEoCRIUCgxzYW5kYm94X3BhdGgYAiABKAkiHQobUmVzdG9yZU9yaWdpbmFsRmlsZVJlc3BvbnNlInIKI0NyZWF0ZVNlc3Npb25GaWxlQ29udmVydFRhc2tSZXF1ZXN0EjgKDGNvbnZlcnRfdHlwZRgBIAEoDjIiLnNlc3Npb24udjEuU2Vzc2lvbkZpbGVDb252ZXJ0VHlwZRIRCglmcm9tX3VybHMYAiADKAkibgokQ3JlYXRlU2Vzc2lvbkZpbGVDb252ZXJ0VGFza1Jlc3BvbnNlEhAKCHRhc2tfdWlkGAEgASgJEjQKBnN0YXR1cxgCIAEoDjIkLnNlc3Npb24udjEuU2Vzc2lvbkZpbGVDb252ZXJ0U3RhdHVzIjUKIUxvb3BTZXNzaW9uRmlsZUNvbnZlcnRUYXNrUmVxdWVzdBIQCgh0YXNrX3VpZBgBIAEoCSLIAQoiTG9vcFNlc3Npb25GaWxlQ29udmVydFRhc2tSZXNwb25zZRIQCgh0YXNrX3VpZBgBIAEoCRI0CgZzdGF0dXMYAiABKA4yJC5zZXNzaW9uLnYxLlNlc3Npb25GaWxlQ29udmVydFN0YXR1cxIZCgxzdGF0dXNfZXJyb3IYAyABKAlIAIgBARIPCgd0b191cmxzGAQgAygJEh0KFW5leHRfaW50ZXJ2YWxfc2Vjb25kcxgFIAEoBUIPCg1fc3RhdHVzX2Vycm9yKpEDCg1TZXNzaW9uU3RhdHVzEh4KGlNFU1NJT05fU1RBVFVTX1VOU1BFQ0lGSUVEEAASGgoWU0VTU0lPTl9TVEFUVVNfQ1JFQVRFRBABEhsKF1NFU1NJT05fU1RBVFVTX0FSQ0hJVkVEEAISGgoWU0VTU0lPTl9TVEFUVVNfREVMRVRFRBADEhoKFlNFU1NJT05fU1RBVFVTX1dBSVRJTkcQBRIaChZTRVNTSU9OX1NUQVRVU19SVU5OSU5HEAYSGgoWU0VTU0lPTl9TVEFUVVNfU1RPUFBFRBAHEhgKFFNFU1NJT05fU1RBVFVTX0VSUk9SEAgSGwoXU0VTU0lPTl9TVEFUVVNfSU5fUVVFVUUQCRIzCi9TRVNTSU9OX1NUQVRVU19DT0xMQUJPUkFUSU9OX1BFUk1JU1NJT05fQ0hBTkdFRBAKEiMKH1NFU1NJT05fU1RBVFVTX05FV19DT0xMQUJPUkFUT1IQCxImCiJTRVNTSU9OX1NUQVRVU19SRU1PVkVfQ09MTEFCT1JBVE9SEAwyyhcKDlNlc3Npb25TZXJ2aWNlEk0KCkdldFNlc3Npb24SHS5zZXNzaW9uLnYxLkdldFNlc3Npb25SZXF1ZXN0Gh4uc2Vzc2lvbi52MS5HZXRTZXNzaW9uUmVzcG9uc2UiABJTCgxMaXN0U2Vzc2lvbnMSHy5zZXNzaW9uLnYxLkxpc3RTZXNzaW9uc1JlcXVlc3QaIC5zZXNzaW9uLnYxLkxpc3RTZXNzaW9uc1Jlc3BvbnNlIgASZQoSVXBkYXRlUmVhZFBvc2l0aW9uEiUuc2Vzc2lvbi52MS5VcGRhdGVSZWFkUG9zaXRpb25SZXF1ZXN0GiYuc2Vzc2lvbi52MS5VcGRhdGVSZWFkUG9zaXRpb25SZXNwb25zZSIAElwKD0Zhdm9yaXRlU2Vzc2lvbhIiLnNlc3Npb24udjEuRmF2b3JpdGVTZXNzaW9uUmVxdWVzdBojLnNlc3Npb24udjEuRmF2b3JpdGVTZXNzaW9uUmVzcG9uc2UiABJiChFVbkZhdm9yaXRlU2Vzc2lvbhIkLnNlc3Npb24udjEuVW5GYXZvcml0ZVNlc3Npb25SZXF1ZXN0GiUuc2Vzc2lvbi52MS5VbkZhdm9yaXRlU2Vzc2lvblJlc3BvbnNlIgASVgoNVXBkYXRlU2Vzc2lvbhIgLnNlc3Npb24udjEuVXBkYXRlU2Vzc2lvblJlcXVlc3QaIS5zZXNzaW9uLnYxLlVwZGF0ZVNlc3Npb25SZXNwb25zZSIAElYKDURlbGV0ZVNlc3Npb24SIC5zZXNzaW9uLnYxLkRlbGV0ZVNlc3Npb25SZXF1ZXN0GiEuc2Vzc2lvbi52MS5EZWxldGVTZXNzaW9uUmVzcG9uc2UiABJTCgxTaGFyZVNlc3Npb24SHy5zZXNzaW9uLnYxLlNoYXJlU2Vzc2lvblJlcXVlc3QaIC5zZXNzaW9uLnYxLlNoYXJlU2Vzc2lvblJlc3BvbnNlIgASWQoOVW5zaGFyZVNlc3Npb24SIS5zZXNzaW9uLnYxLlVuc2hhcmVTZXNzaW9uUmVxdWVzdBoiLnNlc3Npb24udjEuVW5zaGFyZVNlc3Npb25SZXNwb25zZSIAEloKD1Nlc3Npb25GZWVkYmFjaxIiLnNlc3Npb24udjEuU2Vzc2lvbkZlZWRiYWNrUmVxdWVzdBojLnNlc3Npb24udjEuU2Vzc2lvbkZlZWRiYWNrUmVzcG9uc2USXwoQR2V0VGFza1F1ZXVlSW5mbxIjLnNlc3Npb24udjEuR2V0VGFza1F1ZXVlSW5mb1JlcXVlc3QaJC5zZXNzaW9uLnYxLkdldFRhc2tRdWV1ZUluZm9SZXNwb25zZSIAEmwKFUxpc3RSZWNvbW1lbmRVc2VjYXNlcxIoLnNlc3Npb24udjEuTGlzdFJlY29tbWVuZFVzZWNhc2VzUmVxdWVzdBopLnNlc3Npb24udjEuTGlzdFJlY29tbWVuZFVzZWNhc2VzUmVzcG9uc2USdAoXU2hhcmVTZXNzaW9uVG9Db21tdW5pdHkSKi5zZXNzaW9uLnYxLlNoYXJlU2Vzc2lvblRvQ29tbXVuaXR5UmVxdWVzdBorLnNlc3Npb24udjEuU2hhcmVTZXNzaW9uVG9Db21tdW5pdHlSZXNwb25zZSIAEoABChtVbnNoYXJlU2Vzc2lvbkZyb21Db21tdW5pdHkSLi5zZXNzaW9uLnYxLlVuc2hhcmVTZXNzaW9uRnJvbUNvbW11bml0eVJlcXVlc3QaLy5zZXNzaW9uLnYxLlVuc2hhcmVTZXNzaW9uRnJvbUNvbW11bml0eVJlc3BvbnNlIgASbgoVU2hhcmVTcGFjZVRvQ29tbXVuaXR5Eiguc2Vzc2lvbi52MS5TaGFyZVNwYWNlVG9Db21tdW5pdHlSZXF1ZXN0Gikuc2Vzc2lvbi52MS5TaGFyZVNwYWNlVG9Db21tdW5pdHlSZXNwb25zZSIAEnoKGVVuc2hhcmVTcGFjZUZyb21Db21tdW5pdHkSLC5zZXNzaW9uLnYxLlVuc2hhcmVTcGFjZUZyb21Db21tdW5pdHlSZXF1ZXN0Gi0uc2Vzc2lvbi52MS5VbnNoYXJlU3BhY2VGcm9tQ29tbXVuaXR5UmVzcG9uc2UiABJBCgZTZWFyY2gSGS5zZXNzaW9uLnYxLlNlYXJjaFJlcXVlc3QaGi5zZXNzaW9uLnYxLlNlYXJjaFJlc3BvbnNlIgAShgEKHUNvbW11bml0eVVzZUNhc2VTaGFyZWRQcmV2aWV3EjAuc2Vzc2lvbi52MS5Db21tdW5pdHlTZXNzaW9uU2hhcmVkUHJldmlld1JlcXVlc3QaMS5zZXNzaW9uLnYxLkNvbW11bml0eVNlc3Npb25TaGFyZWRQcmV2aWV3UmVzcG9uc2UiABKAAQobQ29tbXVuaXR5U3BhY2VTaGFyZWRQcmV2aWV3Ei4uc2Vzc2lvbi52MS5Db21tdW5pdHlTcGFjZVNoYXJlZFByZXZpZXdSZXF1ZXN0Gi8uc2Vzc2lvbi52MS5Db21tdW5pdHlTcGFjZVNoYXJlZFByZXZpZXdSZXNwb25zZSIAElwKD1N5bmNTZXNzaW9uRmlsZRIiLnNlc3Npb24udjEuU3luY1Nlc3Npb25GaWxlUmVxdWVzdBojLnNlc3Npb24udjEuU3luY1Nlc3Npb25GaWxlUmVzcG9uc2UiABJiChFVcGRhdGVTZXNzaW9uRmlsZRIkLnNlc3Npb24udjEuVXBkYXRlU2Vzc2lvbkZpbGVSZXF1ZXN0GiUuc2Vzc2lvbi52MS5VcGRhdGVTZXNzaW9uRmlsZVJlc3BvbnNlIgASXwoQTGlzdFNlc3Npb25GaWxlcxIjLnNlc3Npb24udjEuTGlzdFNlc3Npb25GaWxlc1JlcXVlc3QaJC5zZXNzaW9uLnYxLkxpc3RTZXNzaW9uRmlsZXNSZXNwb25zZSIAEl8KEFNoYXJlU2Vzc2lvbkZpbGUSIy5zZXNzaW9uLnYxLlNoYXJlU2Vzc2lvbkZpbGVSZXF1ZXN0GiQuc2Vzc2lvbi52MS5TaGFyZVNlc3Npb25GaWxlUmVzcG9uc2UiABJlChJVbnNoYXJlU2Vzc2lvbkZpbGUSJS5zZXNzaW9uLnYxLlVuc2hhcmVTZXNzaW9uRmlsZVJlcXVlc3QaJi5zZXNzaW9uLnYxLlVuc2hhcmVTZXNzaW9uRmlsZVJlc3BvbnNlIgASdAoXR2V0U2Vzc2lvbkZpbGVVcGxvYWRVcmwSKi5zZXNzaW9uLnYxLkdldFNlc3Npb25GaWxlVXBsb2FkVXJsUmVxdWVzdBorLnNlc3Npb24udjEuR2V0U2Vzc2lvbkZpbGVVcGxvYWRVcmxSZXNwb25zZSIAElwKD0dldE9yaWdpbmFsRmlsZRIiLnNlc3Npb24udjEuR2V0T3JpZ2luYWxGaWxlUmVxdWVzdBojLnNlc3Npb24udjEuR2V0T3JpZ2luYWxGaWxlUmVzcG9uc2UiABJoChNSZXN0b3JlT3JpZ2luYWxGaWxlEiYuc2Vzc2lvbi52MS5SZXN0b3JlT3JpZ2luYWxGaWxlUmVxdWVzdBonLnNlc3Npb24udjEuUmVzdG9yZU9yaWdpbmFsRmlsZVJlc3BvbnNlIgASgwEKHENyZWF0ZVNlc3Npb25GaWxlQ29udmVydFRhc2sSLy5zZXNzaW9uLnYxLkNyZWF0ZVNlc3Npb25GaWxlQ29udmVydFRhc2tSZXF1ZXN0GjAuc2Vzc2lvbi52MS5DcmVhdGVTZXNzaW9uRmlsZUNvbnZlcnRUYXNrUmVzcG9uc2UiABJ9ChpMb29wU2Vzc2lvbkZpbGVDb252ZXJ0VGFzaxItLnNlc3Npb24udjEuTG9vcFNlc3Npb25GaWxlQ29udmVydFRhc2tSZXF1ZXN0Gi4uc2Vzc2lvbi52MS5Mb29wU2Vzc2lvbkZpbGVDb252ZXJ0VGFza1Jlc3BvbnNlIgBCqAEKDmNvbS5zZXNzaW9uLnYxQgxTZXNzaW9uUHJvdG9QAVo/Z2l0bGFiLm1vbmljYS5jbi92aWRhL3Nkay9iaXpzZXJ2ZXItZ28uZ2l0L3Nlc3Npb24vdjE7c2Vzc2lvbnYxogIDU1hYqgIKU2Vzc2lvbi5WMcoCClNlc3Npb25cVjHiAhZTZXNzaW9uXFYxXEdQQk1ldGFkYXRh6gILU2Vzc2lvbjo6VjFiBnByb3RvMw”,[Re,Ue,_,Rn]),a2=Q(c2,0),d2=(t,{handleUnauth:e,beforeRequest:n,handlePermissionDenied:l}={})=>Lm({baseUrl:t,interceptors:[i=>async o=>{try{return await(n==null?void 0:n(o.header)),await i(o)}catch(r){throw r instanceof re&&r.code===D.Unauthenticated&&(e==null||e()),r instanceof re&&r.code===D.PermissionDenied&&(l==null||l(r)),r}}]}),s2=(t,e)=>{const n=d2(t,e);return{PlayCard:k(Mm,n),PlayCardAdmin:k(Hm,n),I18nTemplateAdminService:k(jm,n),FileService:k(Pm,n),AdminFileService:k($m,n),NotifierService:k(eA,n),NotificationService:k(tA,n),NotificationAdminService:k(lA,n),E2BConfigService:k(oA,n),PublicActivityService:k(cA,n),ActivityAdminService:k(dA,n),LiveEventAdminService:k(uA,n),LiveEventService:k(hA,n),LiveEventPublicService:k(VA,n),UserAuthService:k(mA,n),UserAdminService:k(ZA,n),UserPublicService:k(GA,n),UserFeedBackTagAdmin:k(IA,n),SubscriptionService:k(fA,n),UserService:k(EA,n),UserAuthPublicService:k(SA,n),DashboardToolService:k(WA,n),TeamManagementService:k(vA,n),TeamService:k(NA,n),EduTeamAdminService:k(YA,n),TeamPublicService:k(JA,n),KnowledgeAdminService:k(kA,n),KnowledgeService:k(xA,n),SpacePublicService:k(KA,n),SpaceAdminService:k(MA,n),SpaceService:k(zA,n),ApiProxyAdminService:k(jA,n),ApiProxyService:k(HA,n),SessionAdminService:k(PA,n),CommunityInteractionService:k($A,n),SessionCollaborateService:k(e2,n),SessionPublicService:k(n2,n),SessionCollaboratePublicService:k(i2,n),CommunityAdminService:k(r2,n),SessionService:k(a2,n)}},u2=pe.apiHost,wt=gs();let yt,g2=new Promise(t=>{yt=t});const al=s2(u2,{beforeRequest:async t=>{const e=document.cookie.split(“;”);let n=””;for(let l=0;l{try{const{accessToken:o}=await al.SpacePublicService.getEditSpaceSiteToken({editSpaceCode:i}),r=new URL(window.location.href);let c;const a=r.hostname.split(“.”);a.shift(),a.length>0&&(c=”.”+a.join(“.”)),Fn.setCookie(en.accessToken,o,{daysToExpire:365,domain:c}),yt(!0)}catch{Fn.deleteCookie(en.accessToken),yt(!1);return}finally{wt.markReady()}};if(Fn.getCookie(en.accessToken))try{const{canEdit:i}=await al.SpaceService.hasSpaceEditPermission({spaceId:pe.spaceId});i?(wt.markReady(),yt(!0)):e?await n(e):(wt.markReady(),yt(!1))}catch{Fn.deleteCookie(en.accessToken),e?await n(e):(wt.markReady(),yt(!1))}else e?await n(e):(wt.markReady(),yt(!1))}var xn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self=S||Be=P}function et(){var $=p();if(Y($))return Le($);T=setTimeout(et,Ke($))}function Le($){return T=void 0,Qe&&F?_e($):(F=w=void 0,j)}function tt(){T!==void 0&&clearTimeout(T),Ee=0,F=Ae=w=T=void 0}function gt(){return T===void 0?j:Le(p())}function ye(){var $=p(),Be=Y($);if(F=arguments,w=this,Ae=$,Be){if(T===void 0)return Je(Ae);if(Ie)return T=setTimeout(et,S),_e(Ae)}return T===void 0&&(T=setTimeout(et,S)),j}return ye.cancel=tt,ye.flush=gt,ye}function Z(E){var S=typeof E;return!!E&&(S==”object”||S==”function”)}function f(E){return!!E&&typeof E==”object”}function G(E){return typeof E==”symbol”||f(E)&&b.call(E)==n}function y(E){if(typeof E==”number”)return E;if(G(E))return e;if(Z(E)){var S=typeof E.valueOf==”function”?E.valueOf():E;E=Z(S)?S+””:S}if(typeof E!=”string”)return E===0?E:+E;E=E.replace(l,””);var A=o.test(E);return A||r.test(E)?c(E.slice(2),A?2:8):i.test(E)?e:+E}return jl=X,jl}var m2=V2();const A2=b2(m2),Wd=`.clr-picker { display: none; flex-wrap: wrap; position: absolute; width: 200px; z-index: 1000; border-radius: 10px; background-color: #fff; justify-content: flex-end; direction: ltr; box-shadow: 0 0 5px rgba(0,0,0,.05), 0 5px 20px rgba(0,0,0,.1); -moz-user-select: none; -webkit-user-select: none; user-select: none; } .clr-picker.clr-open, .clr-picker[data-inline=”true”] { display: flex; } .clr-picker[data-inline=”true”] { position: relative; } .clr-gradient { position: relative; width: 100%; height: 100px; margin-bottom: 15px; border-radius: 3px 3px 0 0; background-image: linear-gradient(rgba(0,0,0,0), #000), linear-gradient(90deg, #fff, currentColor); cursor: pointer; } .clr-marker { position: absolute; width: 12px; height: 12px; margin: -6px 0 0 -6px; border: 1px solid #fff; border-radius: 50%; background-color: currentColor; cursor: pointer; } .clr-picker input[type=”range”]::-webkit-slider-runnable-track { width: 100%; height: 16px; } .clr-picker input[type=”range”]::-webkit-slider-thumb { width: 16px; height: 16px; -webkit-appearance: none; } .clr-picker input[type=”range”]::-moz-range-track { width: 100%; height: 16px; border: 0; } .clr-picker input[type=”range”]::-moz-range-thumb { width: 16px; height: 16px; border: 0; } .clr-hue { background-image: linear-gradient(to right, #f00 0%, #ff0 16.66%, #0f0 33.33%, #0ff 50%, #00f 66.66%, #f0f 83.33%, #f00 100%); } .clr-hue, .clr-alpha { position: relative; width: calc(100% – 40px); height: 8px; margin: 5px 20px; border-radius: 4px; } .clr-alpha span { display: block; height: 100%; width: 100%; border-radius: inherit; background-image: linear-gradient(90deg, rgba(0,0,0,0), currentColor); } .clr-hue input[type=”range”], .clr-alpha input[type=”range”] { position: absolute; width: calc(100% + 32px); height: 16px; left: -16px; top: -4px; margin: 0; background-color: transparent; opacity: 0; cursor: pointer; appearance: none; -webkit-appearance: none; } .clr-hue div, .clr-alpha div { position: absolute; width: 16px; height: 16px; left: 0; top: 50%; margin-left: -8px; transform: translateY(-50%); border: 2px solid #fff; border-radius: 50%; background-color: currentColor; box-shadow: 0 0 1px #888; pointer-events: none; } .clr-alpha div:before { content: ”; position: absolute; height: 100%; width: 100%; left: 0; top: 0; border-radius: 50%; background-color: currentColor; } .clr-format { display: none; order: 1; width: calc(100% – 40px); margin: 0 20px 20px; } .clr-segmented { display: flex; position: relative; width: 100%; margin: 0; padding: 0; border: 1px solid #ddd; border-radius: 15px; box-sizing: border-box; color: #999; font-size: 12px; } .clr-segmented input, .clr-segmented legend { position: absolute; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; left: 0; top: 0; opacity: 0; pointer-events: none; } .clr-segmented label { flex-grow: 1; margin: 0; padding: 4px 0; font-size: inherit; font-weight: normal; line-height: initial; text-align: center; cursor: pointer; } .clr-segmented label:first-of-type { border-radius: 10px 0 0 10px; } .clr-segmented label:last-of-type { border-radius: 0 10px 10px 0; } .clr-segmented input:checked + label { color: #fff; background-color: #666; } .clr-swatches { order: 2; width: calc(100% – 32px); margin: 0 16px; } .clr-swatches div { display: flex; flex-wrap: wrap; padding-bottom: 12px; justify-content: center; } .clr-swatches button { position: relative; width: 20px; height: 20px; margin: 0 4px 6px 4px; padding: 0; border: 0; border-radius: 50%; color: inherit; text-indent: -1000px; white-space: nowrap; overflow: hidden; cursor: pointer; } .clr-swatches button:after { content: ”; display: block; position: absolute; width: 100%; height: 100%; left: 0; top: 0; border-radius: inherit; background-color: currentColor; box-shadow: inset 0 0 0 1px rgba(0,0,0,.1); } input.clr-color { order: 1; width: calc(100% – 80px); height: 32px; margin: 15px 20px 20px auto; padding: 0 10px; border: 1px solid #ddd; border-radius: 16px; color: #444; background-color: #fff; font-family: sans-serif; font-size: 14px; text-align: center; box-shadow: none; } input.clr-color:focus { outline: none; border: 1px solid #1e90ff; } .clr-close, .clr-clear { display: none; order: 2; height: 24px; margin: 0 20px 20px; padding: 0 20px; border: 0; border-radius: 12px; color: #fff; background-color: #666; font-family: inherit; font-size: 12px; font-weight: 400; cursor: pointer; } .clr-close { display: block; margin: 0 20px 20px auto; } .clr-preview { position: relative; width: 32px; height: 32px; margin: 15px 0 20px 20px; border-radius: 50%; overflow: hidden; } .clr-preview:before, .clr-preview:after { content: ”; position: absolute; height: 100%; width: 100%; left: 0; top: 0; border: 1px solid #fff; border-radius: 50%; } .clr-preview:after { border: 0; background-color: currentColor; box-shadow: inset 0 0 0 1px rgba(0,0,0,.1); } .clr-preview button { position: absolute; width: 100%; height: 100%; z-index: 1; margin: 0; padding: 0; border: 0; border-radius: 50%; outline-offset: -2px; background-color: transparent; text-indent: -9999px; cursor: pointer; overflow: hidden; } .clr-marker, .clr-hue div, .clr-alpha div, .clr-color { box-sizing: border-box; } .clr-field { display: inline-block; position: relative; color: transparent; } .clr-field input { margin: 0; direction: ltr; } .clr-field.clr-rtl input { text-align: right; } .clr-field button { position: absolute; width: 30px; height: 100%; right: 0; top: 50%; transform: translateY(-50%); margin: 0; padding: 0; border: 0; color: inherit; text-indent: -1000px; white-space: nowrap; overflow: hidden; pointer-events: none; } .clr-field.clr-rtl button { right: auto; left: 0; } .clr-field button:after { content: ”; display: block; position: absolute; width: 100%; height: 100%; left: 0; top: 0; border-radius: inherit; background-color: currentColor; box-shadow: inset 0 0 1px rgba(0,0,0,.5); } .clr-alpha, .clr-alpha div, .clr-swatches button, .clr-preview:before, .clr-field button { background-image: repeating-linear-gradient(45deg, #aaa 25%, transparent 25%, transparent 75%, #aaa 75%, #aaa), repeating-linear-gradient(45deg, #aaa 25%, #fff 25%, #fff 75%, #aaa 75%, #aaa); background-position: 0 0, 4px 4px; background-size: 8px 8px; } .clr-marker:focus { outline: none; } .clr-keyboard-nav .clr-marker:focus, .clr-keyboard-nav .clr-hue input:focus + div, .clr-keyboard-nav .clr-alpha input:focus + div, .clr-keyboard-nav .clr-segmented input:focus + label { outline: none; box-shadow: 0 0 0 2px #1e90ff, 0 0 2px 2px #fff; } .clr-picker[data-alpha=”false”] .clr-alpha { display: none; } .clr-picker[data-minimal=”true”] { padding-top: 16px; } .clr-picker[data-minimal=”true”] .clr-gradient, .clr-picker[data-minimal=”true”] .clr-hue, .clr-picker[data-minimal=”true”] .clr-alpha, .clr-picker[data-minimal=”true”] .clr-color, .clr-picker[data-minimal=”true”] .clr-preview { display: none; } /** Dark theme **/ .clr-dark { background-color: #444; } .clr-dark .clr-segmented { border-color: #777; } .clr-dark .clr-swatches button:after { box-shadow: inset 0 0 0 1px rgba(255,255,255,.3); } .clr-dark input.clr-color { color: #fff; border-color: #777; background-color: #555; } .clr-dark input.clr-color:focus { border-color: #1e90ff; } .clr-dark .clr-preview:after { box-shadow: inset 0 0 0 1px rgba(255,255,255,.5); } .clr-dark .clr-alpha, .clr-dark .clr-alpha div, .clr-dark .clr-swatches button, .clr-dark .clr-preview:before { background-image: repeating-linear-gradient(45deg, #666 25%, transparent 25%, transparent 75%, #888 75%, #888), repeating-linear-gradient(45deg, #888 25%, #444 25%, #444 75%, #888 75%, #888); } /** Polaroid theme **/ .clr-picker.clr-polaroid { border-radius: 6px; box-shadow: 0 0 5px rgba(0,0,0,.1), 0 5px 30px rgba(0,0,0,.2); } .clr-picker.clr-polaroid:before { content: ”; display: block; position: absolute; width: 16px; height: 10px; left: 20px; top: -10px; border: solid transparent; border-width: 0 8px 10px 8px; border-bottom-color: currentColor; box-sizing: border-box; color: #fff; filter: drop-shadow(0 -4px 3px rgba(0,0,0,.1)); pointer-events: none; } .clr-picker.clr-polaroid.clr-dark:before { color: #444; } .clr-picker.clr-polaroid.clr-left:before { left: auto; right: 20px; } .clr-picker.clr-polaroid.clr-top:before { top: auto; bottom: -10px; transform: rotateZ(180deg); } .clr-polaroid .clr-gradient { width: calc(100% – 20px); height: 120px; margin: 10px; border-radius: 3px; } .clr-polaroid .clr-hue, .clr-polaroid .clr-alpha { width: calc(100% – 30px); height: 10px; margin: 6px 15px; border-radius: 5px; } .clr-polaroid .clr-hue div, .clr-polaroid .clr-alpha div { box-shadow: 0 0 5px rgba(0,0,0,.2); } .clr-polaroid .clr-format { width: calc(100% – 20px); margin: 0 10px 15px; } .clr-polaroid .clr-swatches { width: calc(100% – 12px); margin: 0 6px; } .clr-polaroid .clr-swatches div { padding-bottom: 10px; } .clr-polaroid .clr-swatches button { width: 22px; height: 22px; } .clr-polaroid input.clr-color { width: calc(100% – 60px); margin: 10px 10px 15px auto; } .clr-polaroid .clr-clear { margin: 0 10px 15px 10px; } .clr-polaroid .clr-close { margin: 0 10px 15px auto; } .clr-polaroid .clr-preview { margin: 10px 0 15px 10px; } /** Large theme **/ .clr-picker.clr-large { width: 275px; } .clr-large .clr-gradient { height: 150px; } .clr-large .clr-swatches button { width: 22px; height: 22px; } /** Pill (horizontal) theme **/ .clr-picker.clr-pill { width: 380px; padding-left: 180px; box-sizing: border-box; } .clr-pill .clr-gradient { position: absolute; width: 180px; height: 100%; left: 0; top: 0; margin-bottom: 0; border-radius: 3px 0 0 3px; } .clr-pill .clr-hue { margin-top: 20px; }`,xt=t=>{var e;return(e=t.textContent)==null?void 0:e.trim()},Z2=[“video”,”iframe”,”audio”],rc=”__manus_style-id”;class f2{constructor(){this.debugMode=!1,this.editMode=”normal”,this.debouncedAddPatched=A2(e=>{e.forEach(n=>{this.addPatch(n)})},1e3,{leading:!0}),this.originalElementStyle=new Map,this.patchList=[],this.textSplitMode=!0,this._boundHandlePreEditHover=()=>{},this._boundHandlePreEditOut=()=>{},this._boundHandleEditSelect=()=>{},this._boundHandleKeydown=()=>{},this.hoveringElement=null,this.activeElement=null,this.savedElements=new Map,this.filterClasses=[x.spaceEditorHighlight,x.virtualTextNode,x.onlyTextNode,x.textNodeActive,x.colorPicker],this.retryPatchIndexList=[]}init(){this.injectGlobalStyle(),this.patchList=pe.patchList??[],this.applyPatches()}initWithoutApplyPatches(){this.injectGlobalStyle(),this.patchList=pe.patchList??[]}destroy(){var e;(e=document.querySelector(“#”+rc))==null||e.remove(),this.onExitEdit()}registerViews(e){e.textEditPanelView&&(this.textEditPanelView=e.textEditPanelView),e.elementEditPanelView&&(this.elementEditPanelView=e.elementEditPanelView)}createPatch(e,n){const l=e.classList.contains(x.virtualTextNode);let i=[];const o=Date.now();if(l){const r=this.getNodeToElementSelector(e);if(r&&!this.patchList.some(a=>a.type===”nodeToElement”&&a.selector===r.selector&&a.nodeIndex===r.nodeIndex)){const a={type:”nodeToElement”,nodeIndex:r.nodeIndex,selector:r.selector,timestamp:o};i.push(a)}}if(n===”copy”){const r=e.cloneNode(!0);this.filterClasses.forEach(a=>{r.classList.remove(a)}),r.classList.add(x.copyNode);const c={type:”copy”,selector:this.generateSelector(e),timestamp:Date.now(),outerHtml:r.outerHTML};i.push(c)}else{const r={type:”style”,selector:this.generateSelector(e),elementType:e.tagName.toLowerCase(),innerText:l?e.textContent??void 0:e.innerHTML,style:e.getAttribute(“style”)||””,timestamp:o};i.push(r)}return i}getNodeToElementSelector(e){if(!e.classList.contains(x.virtualTextNode))return null;const n=e.parentElement;if(!n)return null;const l=this.generateSelector(n);let i=-1;return Array.from(n.childNodes).forEach((o,r)=>{o===e&&(i=r)}),i===-1?null:{selector:l,nodeIndex:i}}generateSelector(e){if(e.id)return`#${e.id}`;function n(o){return o.replace(/:/g,”\\:”).replace(/\//g,”\\/”).replace(/\[/g,”\\[“).replace(/\]/g,”\\]”).replace(/%/g,”\\%”).replace(/\./g,”\\.”)}let l=[],i=e;for(;i&&i!==document.body&&i!==document.documentElement;){let o=i.tagName.toLowerCase();if(i.className&&typeof i.className==”string”){const r=i.className.split(” “).filter(c=>c&&this.filterClasses.every(a=>a!==c)).map(c=>`.${n(c)}`).join(“”);r&&(o+=r)}if(i.parentNode){const r=Array.from(i.parentNode.children).filter(a=>!a.closest(`.${x.virtualTextNode}`)),c=r.indexOf(i)+1;r.length>1&&(o+=`:nth-child(${c})`)}l.unshift(o),i=i.parentNode}return i&&l.unshift(i.tagName.toLowerCase()),l.join(” > “)}addPatch(e){this.patchList.push(e),this.savePatchesToServer(),sn.emit(“patchListChange”,{})}undoPatch(){if(this.patchList.length>0){const e=this.patchList.pop();if(e){const n=document.querySelector(e.selector);if(n){if(e.type===”nodeToElement”){const l=n.childNodes[e.nodeIndex];if(l&&l instanceof HTMLElement&&l.classList.contains(x.virtualTextNode)){const i=l.textContent;if(i){const o=document.createTextNode(i);n.replaceChild(l,o)}}}else if((e==null?void 0:e.type)===”style”){let l;for(let o=this.patchList.length-1;o>=0;o–){const r=this.patchList[o];if(r.type===”style”&&r.selector===e.selector){l=r;break}}const i=this.originalElementStyle.get(n);l?(n.setAttribute(“style”,l.style),n.textContent=l.innerText??””):i&&(n.setAttribute(“style”,i.style),n.textContent=i.textContent)}else if((e==null?void 0:e.type)===”copy”){const l=document.querySelector(e.selector);l&&l.nextElementSibling instanceof HTMLElement&&(l.nextElementSibling.style.display=”none”)}}}this.savePatchesToServer()}sn.emit(“patchListChange”,{})}savePatchesToServer(){try{const e=this.optimizePatches();al.SpaceService.saveSpaceSiteRawData({webRawData:JSON.stringify(e),spaceUid:pe.spaceId})}catch(e){console.error(e)}}applyPatches(){if(this.patchList.length!==0){this.retryPatchIndexList=[];for(let e=0;e{const l=[…this.retryPatchIndexList];this.retryPatchIndexList=[],l.forEach(i=>{this.applyPatch(i)}),this.retryPatchIndexList.length===0&&e.disconnect()});e.observe(document.body,{subtree:!0,childList:!0})}applyPatch(e){if(e=this.patchList.length)return;const n=this.patchList[e];if(n)try{const l=document.querySelector(n.selector);if(!l){console.warn(`Patch target not found. ${n.selector}`),this.retryPatchIndexList.push(e);return}if(n.type===”style”&&(this.setOriginStyle(l),n.innerText&&(l.classList&&l.classList.contains(x.virtualTextNode)?l.textContent!==n.innerText&&(l.textContent=n.innerText):l.innerHTML!==n.innerText&&(l.innerHTML=n.innerText)),n.style?(l.getAttribute(“style”)!==n.style&&l.setAttribute(“style”,n.style),n.style.includes(“display: none”)&&l instanceof HTMLElement&&(l.style.display=”none”)):l.removeAttribute(“style”)),n.type===”copy”){const i=l.parentNode;if(i){const o=document.createElement(“div”);o.innerHTML=n.outerHtml;const r=o.children[0];i&&r&&i.insertBefore(r,l.nextSibling)}}if(n.type===”nodeToElement”){const i=l.childNodes.item(n.nodeIndex);if(i&&i.nodeType===Node.TEXT_NODE){const o=document.createElement(“span”);o.className=x.virtualTextNode,o.textContent=i.textContent,l.replaceChild(o,i)}}}catch(l){console.error(l)}}restoreToOriginal(){window.location.reload()}toggleEditMode(){this.editMode===”normal”?this.toggleToEditMode():this.toggleToEditMode()}toggleToEditMode(){this.editMode=”edit”,this.editInit(),document.body.classList.add(x.editModeActive)}toggleToPreviewMode(){this.editMode=”normal”,this.onExitEdit(),document.body.classList.remove(x.editModeActive)}editInit(){this._boundHandlePreEditHover=e=>this.handlePreEditHover(e),this._boundHandlePreEditOut=e=>this.handlePreEditOut(e),this._boundHandleEditSelect=e=>this.handleEditSelect(e),this._boundHandleKeydown=e=>this.handleKeydown(e),document.addEventListener(“mouseover”,this._boundHandlePreEditHover),document.addEventListener(“mouseout”,this._boundHandlePreEditOut),document.addEventListener(“click”,this._boundHandleEditSelect),document.addEventListener(“keydown”,this._boundHandleKeydown),this.textSplitMode&&this.wrapperTextNode()}handleKeydown(e){const n=e.composedPath()[0];n instanceof HTMLElement&&this.isEditorUIElement(n)||us(e)&&this.undoPatch()}onExitEdit(){var e,n;document.removeEventListener(“mouseover”,this._boundHandlePreEditHover),document.removeEventListener(“mouseout”,this._boundHandlePreEditOut),document.removeEventListener(“click”,this._boundHandleEditSelect),document.removeEventListener(“keydown”,this._boundHandleKeydown),(e=this.textEditPanelView)==null||e.destroy(),(n=this.elementEditPanelView)==null||n.destroy(),this.hoveringElement=null,this.activeElement=null}optimizePatches(){if(this.patchList.length{if(n.type!==”style”)e.push(n);else{const l=e.findIndex(i=>i.selector===n.selector);l===-1?e.push(n):e[l]=n}}),e}isEditorUIElement(e){return[`.${x.spaceControlView}`,`.${x.textEditorPanelView}`,`.${x.elementEditorPanelView}`,`.${x.footerToolbarView}`,`.${x.colorPicker}`].some(i=>e.closest(i))}handlePreEditHover(e){if(this.editMode!==”edit”)return;const n=e.composedPath(),l=n.flatMap(o=>o instanceof HTMLElement?[o]:[]),i=n[0];if(!i||!(i instanceof HTMLElement)||i===document.documentElement||i===document.body)return null;l.some(o=>this.isEditorUIElement(o))||(this.hoveringElement&&this.hoveringElement.classList.remove(x.spaceEditorHighlight),this.elementEditPanelView.destroy(),this.hoveringElement=i,this.elementEditPanelView.show(i,e),this.setOriginStyle(i))}handlePreEditOut(e){if(this.editMode!==”edit”)return;const n=e.composedPath(),l=n.flatMap(r=>r instanceof HTMLElement?[r]:[]),i=n[0];if(!i||!(i instanceof HTMLElement)||l.some(r=>this.isEditorUIElement(r)))return;const o=e.relatedTarget;(o===document.documentElement||o===document.body)&&this.elementEditPanelView.destroy()}handleEditSelect(e){if(this.editMode!==”edit”)return;const n=e.target;if(!n||!(n instanceof HTMLElement))return;const l=n.tagName.toLowerCase();Z2.includes(l)||this.isEditorUIElement(n)||this.hasDirectTextContent(n)&&(e.stopPropagation(),e.preventDefault(),this.activeElement&&this.activeElement.classList.remove(x.spaceEditorHighlight),this.activeElement=n,this.setOriginStyle(n),this.textEditPanelView.show(n,e))}wrapperTextNode(){const e=new Set,n=r=>{let c=!1;for(let a=0;a{let c=!1,a=!1;for(let d=0;d[“STRONG”,”EM”,”U”,”B”,”I”,”MARK”,”SPAN”].includes(r.tagName),o=r=>{if(!(r.nodeType===Node.ELEMENT_NODE&&r instanceof Element&&this.isEditorUIElement(r))){if(r.nodeType===Node.TEXT_NODE&&xt(r)){if(r.parentNode&&r.parentNode.nodeType===Node.ELEMENT_NODE){const c=r.parentNode;if(!(c instanceof HTMLElement)||i(c)||n(c))return;if(l(c)){e.add(c);const a=document.createElement(“span”);a.className=x.virtualTextNode,a.textContent=r.textContent,c.replaceChild(a,r)}}}else if(r.nodeType===Node.ELEMENT_NODE&&r instanceof Element){if(r.classList&&r.classList.contains(x.virtualTextNode))return;Array.from(r.childNodes).forEach(a=>o(a))}}};o(document.body),e.forEach(r=>{this.savedElements.has(r)||this.savedElements.set(r,r.innerHTML)})}setOriginStyle(e){if(!this.originalElementStyle.has(e)){const n=e.getAttribute(“style”)||””,l=e.textContent||””;this.originalElementStyle.set(e,{style:n,textContent:l})}}hasDirectTextContent(e){var i,o,r,c;if([“BR”,”HR”,”IMG”,”INPUT”,”TEXTAREA”,”SELECT”,”BUTTON”].includes(e.tagName))return!1;if(e.classList.contains(x.virtualTextNode))return!!xt(e);let l=!1;for(let a=0;a0){const a=document.createElement(“div”);for(a.innerHTML=e.innerHTML;a.firstElementChild;)a.removeChild(a.firstElementChild);if((((i=a.textContent)==null?void 0:i.trim())??””)!==””)return!0;let s=!1,u=!1,b=!1;for(let g=0;g50?((i=e.textContent)==null?void 0:i.substring(0,47))+”…”:e.textContent})}}/** * @license * Copyright 2018 Google LLC * SPDX-License-Identifier: BSD-3-Clause */const vd=”important”,p2=” !”+vd,G2=Vi(class extends mi{constructor(t){var e;if(super(t),t.type!==bi.ATTRIBUTE||t.name!==”style”||((e=t.strings)==null?void 0:e.length)>2)throw Error(“The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.”)}render(t){return Object.keys(t).reduce((e,n)=>{const l=t[n];return l==null?e:e+`${n=n.includes(“-“)?n:n.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,”-$&”).toLowerCase()}:${l};`},””)}update(t,[e]){const{style:n}=t.element;if(this.ft===void 0)return this.ft=new Set(Object.keys(e)),this.render(e);for(const l of this.ft)e[l]==null&&(this.ft.delete(l),l.includes(“-“)?n.removeProperty(l):n[l]=null);for(const l in e){const i=e[l];if(i!=null){this.ft.add(l);const o=typeof i==”string”&&i.endsWith(p2);l.includes(“-“)||o?n.setProperty(l,o?i.slice(0,-11):i,o?vd:””):n[l]=i}}return vt}});var Ce=(t=>(t.BOLD=”bold”,t.ITALIC=”italic”,t.UNDERLINE=”underline”,t.COLOR=”color”,t.COPY=”copy”,t.DELETE=”delete”,t))(Ce||{});const X2=[{type:”bold”,label:”Bold”},{type:”italic”,label:”Italic”},{type:”underline”,label:”Underline”},{type:”color”},{type:”copy”},{type:”delete”}];class fe{constructor(e,n){this.targetElement=e,this.se=n}static isTextBolded(e){return e===”bold”||e===”700″}static isTextUnderlined(e){return e===”underline”}static isTextItalic(e){return e===”italic”}static isDomDeleted(e){return e===”none”}handleQuickActionClick(e,n){const l=c=>{var d;const a=(d=this.se.originalElementStyle.get(this.targetElement))==null?void 0:d.style;if(a){const s=document.createElement(“div”);return s.style.cssText=a,s.style[c]}return null},i=getComputedStyle(this.targetElement),o=this.targetElement.cloneNode();o.style=””;const r=getComputedStyle(o);switch(e){case”bold”:{if(fe.isTextBolded(i.fontWeight)){const c=l(“fontWeight”);c?fe.isTextBolded(c)?this.targetElement.style.fontWeight=”normal”:this.targetElement.style.fontWeight=c:fe.isTextBolded(r.fontWeight)?this.targetElement.style.removeProperty(“font-weight”):this.targetElement.style.fontWeight=”normal”}else this.targetElement.style.fontWeight=”bold”;break}case”underline”:{if(fe.isTextUnderlined(i.textDecorationLine)){const c=l(“textDecorationLine”);c?fe.isTextUnderlined(c)?this.targetElement.style.textDecorationLine=”none”:this.targetElement.style.textDecorationLine=c:fe.isTextUnderlined(r.textDecorationLine)?this.targetElement.style.removeProperty(“text-decoration-line”):this.targetElement.style.textDecorationLine=”none”}else this.targetElement.style.textDecorationLine=”underline”;break}case”italic”:{if(fe.isTextItalic(i.fontStyle)){const c=l(“fontStyle”);c?fe.isTextItalic(c)?this.targetElement.style.fontStyle=”normal”:this.targetElement.style.fontStyle=c:fe.isTextItalic(r.fontStyle)?this.targetElement.style.removeProperty(“font-style”):this.targetElement.style.fontStyle=”normal”}else this.targetElement.style.fontStyle=”italic”;break}case”delete”:{if(fe.isDomDeleted(i.display)){const c=l(“display”);c?fe.isDomDeleted(c)?this.targetElement.style.display=””:this.targetElement.style.display=c:fe.isDomDeleted(r.display)?this.targetElement.style.removeProperty(“display”):this.targetElement.style.display=””}else this.targetElement.style.display=”none”;break}case”color”:{n&&(this.targetElement.style.color=n);break}}}updateTextContent(e){const n=this.targetElement;n.classList.contains(x.virtualTextNode)?n.textContent=e:this.updateElementTextWithFormattingPreserved(n,e),e.trim()&&n.style.display===”none”&&(n.style.display=””)}copyElement(e){if(e)try{const n=e.parentNode;if(!n){console.error(“无法复制元素: 未找到父元素”);return}const l=e.cloneNode(!0);return l instanceof HTMLElement?(l.id&&l.removeAttribute(“id”),l.style.display===”none”&&(l.style.display=””),l.classList.add(x.copyNode),e.nextSibling?n.insertBefore(l,e.nextSibling):n.appendChild(l),l):void 0}catch(n){console.error(n)}}removeFormatting(e,n){for(const l of n)e.querySelectorAll(l).forEach(o=>{var d;const r=o.innerHTML,c=o.getAttribute(“style”)||””,a=document.createElement(“span”);if(a.innerHTML=r,l.toLowerCase()===”strong”||l.toLowerCase()===”b”?a.style.fontWeight=”bold”:l.toLowerCase()===”em”||l.toLowerCase()===”i”?a.style.fontStyle=”italic”:l.toLowerCase()===”u”&&(a.style.textDecoration=”underline”),c){const s=a.getAttribute(“style”)||””;a.setAttribute(“style”,`${s}; ${c}`)}(d=o.parentNode)==null||d.replaceChild(a,o)})}updateElementTextWithFormattingPreserved(e,n){e.querySelector(“strong, em, u, b, i”)&&this.removeFormatting(e,[“strong”,”em”,”u”,”b”,”i”]),e.textContent=n}}const I2=me` `,R2=me` `,E2=me` `,y2=t=>me` `,S2=me` `,C2=me` `,dl=me` `;me` `;const W2=me` `,v2=me` `;me` `;me` `;const B2=me` `;me` `;me` `;const N2=me` `,F2=me` `,Y2=me` `;function Oe(t){return`element-edit-panel-view-${t}`}class U2 extends hl{constructor(e,n){super(e),this.se=n,this.opacity=0,this.handleCloseWhenEscape=l=>{l.key===”Escape”&&this.destroy()},this.handleClickOutside=l=>{const i=l.composedPath();i[0]!==this.triggerEl&&(!this.panelEl||!i.includes(this.panelEl))&&this.destroy()},this.isMounted=!1}get template(){return H` .${Oe(“root”)} { border-radius: 12px; border: 0.5px solid var(–border-dark); background: var(–background-menu-white); box-shadow: 0px 4px 11px 0px var(–shadow-M); backdrop-filter: blur(40px); display: flex; gap: 2px; align-items: center; width: 158px; padding: 4px; } .${Oe(“button”)} { flex: 1; min-width: 0; display: flex; padding: 6px 8px; justify-content: center; align-items: center; gap: 4px; border-radius: 8px; background: transparent; cursor: pointer; font-size: 13px; font-weight: 500; line-height: 18px; border: none; } .${Oe(“button”)}:hover { background: var(–fill-tsp-gray-main); } .${Oe(“button-default”)} { color: var(–text-primary); } .${Oe(“button-danger”)} { color: var(–function-error); } .${Oe(“divider”)} { width: 1px; height: 14.5px; background: var(–border-main); display: flex; }
${H`${S2} Copy`} ${H`${C2} Delete`}
`}show(e,n){this.triggerEl=e,this.isMounted=!0,this.render(),setTimeout(()=>{this.opacity=1,this.render()},0),this.panelEl&&(this.panelEl.setAnchor(this.triggerEl),this.panelEl.open(n)),this.se.hasDirectTextContent(this.triggerEl)?this.triggerEl.classList.add(x.onlyTextNode):this.triggerEl.classList.add(x.spaceEditorHighlight),this.domEditor=new fe(e,this.se),document.addEventListener(“keydown”,this.handleCloseWhenEscape),document.addEventListener(“mousedown”,this.handleClickOutside)}destroy(){this.isMounted&&(document.removeEventListener(“keydown”,this.handleCloseWhenEscape),document.removeEventListener(“mousedown”,this.handleClickOutside),this.triggerEl.classList.remove(x.spaceEditorHighlight),this.triggerEl.classList.remove(x.onlyTextNode),this.opacity=0,this.render(),super.destroy(),this.isMounted=!1)}handleQuickActionClick(e){const n=e===Ce.COPY;if(n){if(!this.domEditor.copyElement(this.triggerEl))return}else this.domEditor.handleQuickActionClick(e);const l=this.se.createPatch(this.triggerEl,n?”copy”:void 0);l&&this.se.debouncedAddPatched(l),this.destroy()}handleSetRootRef(e){e instanceof hi&&(this.panelEl=e)}}const ut=(()=>{/*! * Copyright (c) 2021-2024 Momo Bassit. * Licensed under the MIT License (MIT) *
https://github.com/mdbassit/Coloris * Version: 0.24.0 * NPM: https://github.com/melloware/coloris-npm */return((t,e,n,l)=>{const i=e.createElement(“canvas”).getContext(“2d”),o={r:0,g:0,b:0,h:0,s:0,v:0,a:1};let r,c,a,d,s,u,b,g,V,p,X,Z,f,G,y,E,S={};const A={el:”[data-coloris]”,parent:”body”,theme:”default”,themeMode:”light”,rtl:!1,wrap:!0,margin:2,format:”hex”,formatToggle:!1,swatches:[],swatchesOnly:!1,alpha:!0,forceAlpha:!1,focusInput:!0,selectInput:!1,inline:!1,defaultColor:”#000000″,clearButton:!1,clearLabel:”Clear”,closeButton:!1,closeLabel:”Close”,onChange:()=>l,a11y:{open:”Open color picker”,close:”Close color picker”,clear:”Clear the selected color”,marker:”Saturation: {s}. Brightness: {v}.”,hueSlider:”Hue slider”,alphaSlider:”Opacity slider”,input:”Color value field”,format:”Color format”,swatch:”Color swatch”,instruction:”Saturation and brightness selector. Use up, down, left and right arrow keys to select.”}},F={};let w=””,P={},j=!1;function T(h){if(typeof h==”object”)for(const I in h)switch(I){case”el”:Qe(h.el),h.wrap!==!1&&Ke(h.el);break;case”parent”:r=h.parent instanceof HTMLElement?h.parent:e.querySelector(h.parent),r&&(r.appendChild(c),A.parent=h.parent,r===e.body&&(r=l));break;case”themeMode”:A.themeMode=h.themeMode,h.themeMode===”auto”&&t.matchMedia&&t.matchMedia(“(prefers-color-scheme: dark)”).matches&&(A.themeMode=”dark”);case”theme”:h.theme&&(A.theme=h.theme),c.className=`clr-picker clr-${A.theme} clr-${A.themeMode}`,A.inline&&Je();break;case”rtl”:A.rtl=!!h.rtl,Array.from(El().getElementsByClassName(“clr-field”)).forEach(N=>N.classList.toggle(“clr-rtl”,A.rtl));break;case”margin”:h.margin*=1,A.margin=isNaN(h.margin)?A.margin:h.margin;break;case”wrap”:h.el&&h.wrap&&Ke(h.el);break;case”formatToggle”:A.formatToggle=!!h.formatToggle,Ne(“clr-format”).style.display=A.formatToggle?”block”:”none”,A.formatToggle&&(A.format=”auto”);break;case”swatches”:if(Array.isArray(h.swatches)){const N=Ne(“clr-swatches”),K=e.createElement(“div”);N.textContent=””,h.swatches.forEach((ee,de)=>{const O=e.createElement(“button”);O.setAttribute(“type”,”button”),O.setAttribute(“id”,`clr-swatch-${de}`),O.setAttribute(“aria-labelledby”,`clr-swatch-label clr-swatch-${de}`),O.style.color=ee,O.textContent=ee,K.appendChild(O)}),h.swatches.length&&N.appendChild(K),A.swatches=h.swatches.slice()}break;case”swatchesOnly”:A.swatchesOnly=!!h.swatchesOnly,c.setAttribute(“data-minimal”,A.swatchesOnly);break;case”alpha”:A.alpha=!!h.alpha,c.setAttribute(“data-alpha”,A.alpha);break;case”inline”:if(A.inline=!!h.inline,c.setAttribute(“data-inline”,A.inline),A.inline){const N=h.defaultColor||A.defaultColor;G=gt(N),Je(),tt(N)}break;case”clearButton”:typeof h.clearButton==”object”&&(h.clearButton.label&&(A.clearLabel=h.clearButton.label,b.innerHTML=A.clearLabel),h.clearButton=h.clearButton.show),A.clearButton=!!h.clearButton,b.style.display=A.clearButton?”block”:”none”;break;case”clearLabel”:A.clearLabel=h.clearLabel,b.innerHTML=A.clearLabel;break;case”closeButton”:A.closeButton=!!h.closeButton,A.closeButton?c.insertBefore(g,s):s.appendChild(g);break;case”closeLabel”:A.closeLabel=h.closeLabel,g.innerHTML=A.closeLabel;break;case”a11y”:const R=h.a11y;let v=!1;if(typeof R==”object”)for(const N in R)R[N]&&A.a11y[N]&&(A.a11y[N]=R[N],v=!0);if(v){const N=Ne(“clr-open-label”),K=Ne(“clr-swatch-label”);N.innerHTML=A.a11y.open,K.innerHTML=A.a11y.swatch,g.setAttribute(“aria-label”,A.a11y.close),b.setAttribute(“aria-label”,A.a11y.clear),V.setAttribute(“aria-label”,A.a11y.hueSlider),X.setAttribute(“aria-label”,A.a11y.alphaSlider),u.setAttribute(“aria-label”,A.a11y.input),a.setAttribute(“aria-label”,A.a11y.instruction)}break;default:A[I]=h[I]}}function Ae(h,I){typeof h==”string”&&typeof I==”object”&&(F[h]=I,j=!0)}function Ee(h){delete F[h],Object.keys(F).length===0&&(j=!1,h===w&&Ie())}function ze(h){if(j){const I=[“el”,”wrap”,”rtl”,”inline”,”defaultColor”,”a11y”];for(let R in F){const v=F[R];if(h.matches(R)){w=R,P={},I.forEach(N=>delete v[N]);for(let N in v)P[N]=Array.isArray(A[N])?A[N].slice():A[N];T(v);break}}}}function Ie(){Object.keys(P).length>0&&(T(P),w=””,P={})}function Qe(h){h instanceof HTMLElement&&(h=[h]),Array.isArray(h)?h.forEach(I=>{q(I,”click”,_e),q(I,”input”,et)}):(q(e,”click”,h,_e),q(e,”input”,h,et))}function _e(h){A.inline||(ze(h.target),f=h.target,y=f.value,G=gt(y),c.classList.add(“clr-open”),Je(),tt(y),(A.focusInput||A.selectInput)&&(u.focus({preventScroll:!0}),u.setSelectionRange(f.selectionStart,f.selectionEnd)),A.selectInput&&u.select(),(E||A.swatchesOnly)&&eo().shift().focus(),f.dispatchEvent(new Event(“open”,{bubbles:!0})))}function Je(){if(!c||!f&&!A.inline)return;const h=r,I=t.scrollY,R=c.offsetWidth,v=c.offsetHeight,N={left:!1,top:!1};let K,ee,de,O={x:0,y:0};if(h&&(K=t.getComputedStyle(h),ee=parseFloat(K.marginTop),de=parseFloat(K.borderTopWidth),O=h.getBoundingClientRect(),O.y+=de+I),!A.inline){const xe=f.getBoundingClientRect();let mt=xe.x,Xt=I+xe.y+xe.height+A.margin;h?(mt-=O.x,Xt-=O.y,mt+R>h.clientWidth&&(mt+=xe.width-R,N.left=!0),Xt+v>h.clientHeight-ee&&v+A.margine.documentElement.clientWidth&&(mt+=xe.width-R,N.left=!0),Xt+v-I>e.documentElement.clientHeight&&v+A.margin<=xe.top&&(Xt=I+xe.y-v-A.margin,N.top=!0)),c.classList.toggle("clr-left",N.left),c.classList.toggle("clr-top",N.top),c.style.left=`${mt}px`,c.style.top=`${Xt}px`,O.x+=c.offsetLeft,O.y+=c.offsetTop}S={width:a.offsetWidth,height:a.offsetHeight,x:a.offsetLeft+O.x,y:a.offsetTop+O.y}}function Ke(h){h instanceof HTMLElement?Y(h):Array.isArray(h)?h.forEach(Y):e.querySelectorAll(h).forEach(Y)}function Y(h){const I=h.parentNode;if(!I.classList.contains("clr-field")){const R=e.createElement("div");let v="clr-field";(A.rtl||h.classList.contains("clr-rtl"))&&(v+=" clr-rtl"),R.innerHTML='’,I.insertBefore(R,h),R.className=v,R.style.color=h.value,R.appendChild(h)}}function et(h){const I=h.target.parentNode;I.classList.contains(“clr-field”)&&(I.style.color=h.target.value)}function Le(h){if(f&&!A.inline){const I=f;h&&(f=l,y!==I.value&&(I.value=y,I.dispatchEvent(new Event(“input”,{bubbles:!0})))),setTimeout(()=>{y!==I.value&&I.dispatchEvent(new Event(“change”,{bubbles:!0}))}),c.classList.remove(“clr-open”),j&&Ie(),I.dispatchEvent(new Event(“close”,{bubbles:!0})),A.focusInput&&I.focus({preventScroll:!0}),f=l}}function tt(h){const I=xd(h),R=Jd(I);Be(R.s,R.v),En(I,R),V.value=R.h,c.style.color=`hsl(${R.h}, 100%, 50%)`,p.style.left=`${R.h/360*100}%`,d.style.left=`${S.width*R.s/100}px`,d.style.top=`${S.height-S.height*R.v/100}px`,X.value=R.a*100,Z.style.left=`${R.a*100}%`}function gt(h){const I=h.substring(0,3).toLowerCase();return I===”rgb”||I===”hsl”?I:”hex”}function ye(h){h=h!==l?h:u.value,f&&(f.value=h,f.dispatchEvent(new Event(“input”,{bubbles:!0}))),A.onChange&&A.onChange.call(t,h,f),e.dispatchEvent(new CustomEvent(“coloris:pick”,{detail:{color:h,currentEl:f}}))}function $(h,I){const R={h:V.value*1,s:h/S.width*100,v:100-I/S.height*100,a:X.value/100},v=Yd(R);Be(R.s,R.v),En(v,R),ye()}function Be(h,I){let R=A.a11y.marker;h=h.toFixed(1)*1,I=I.toFixed(1)*1,R=R.replace(“{s}”,h),R=R.replace(“{v}”,I),d.setAttribute(“aria-label”,R)}function nt(h){return{pageX:h.changedTouches?h.changedTouches[0].pageX:h.pageX,pageY:h.changedTouches?h.changedTouches[0].pageY:h.pageY}}function Ze(h){const I=nt(h);let R=I.pageX-S.x,v=I.pageY-S.y;r&&(v+=r.scrollTop),qi(R,v),h.preventDefault(),h.stopPropagation()}function Bd(h,I){let R=d.style.left.replace(“px”,””)*1+h,v=d.style.top.replace(“px”,””)*1+I;qi(R,v)}function qi(h,I){h=hS.width?S.width:h,I=IS.height?S.height:I,d.style.left=`${h}px`,d.style.top=`${I}px`,$(h,I),d.focus()}function En(h,I){h===void 0&&(h={}),I===void 0&&(I={});let R=A.format;for(const de in h)o[de]=h[de];for(const de in I)o[de]=I[de];const v=wd(o),N=v.substring(0,7);switch(d.style.color=N,Z.parentNode.style.color=N,Z.style.color=v,s.style.color=v,a.style.display=”none”,a.offsetHeight,a.style.display=””,Z.nextElementSibling.style.display=”none”,Z.nextElementSibling.offsetHeight,Z.nextElementSibling.style.display=””,R===”mixed”?R=o.a===1?”hex”:”rgb”:R===”auto”&&(R=G),R){case”hex”:u.value=v;break;case”rgb”:u.value=kd(o);break;case”hsl”:u.value=zd(Ud(o));break}var K=typeof A.parent==”object”?A.parent:e;const ee=K.querySelector(`.clr-format [value=”${R}”]`);ee&&(ee.checked=!0)}function Nd(){const h=V.value*1,I=d.style.left.replace(“px”,””)*1,R=d.style.top.replace(“px”,””)*1;c.style.color=`hsl(${h}, 100%, 50%)`,p.style.left=`${h/360*100}%`,$(I,R)}function Fd(){const h=X.value/100;Z.style.left=`${h*100}%`,En({a:h}),ye()}function Yd(h){const I=h.s/100,R=h.v/100;let v=I*R,N=h.h/60,K=v*(1-n.abs(N%2-1)),ee=R-v;v=v+ee,K=K+ee;const de=n.floor(N)%6,O=[v,K,ee,ee,K,v][de],xe=[K,v,v,K,ee,ee][de],mt=[ee,ee,K,v,v,K][de];return{r:n.round(O*255),g:n.round(xe*255),b:n.round(mt*255),a:h.a}}function Ud(h){const I=h.v/100,R=I*(1-h.s/100/2);let v;return R>0&&R<1&&(v=n.round((I-R)/n.min(R,1-R)*100)),{h:h.h,s:v||0,l:n.round(R*100),a:h.a}}function Jd(h){const I=h.r/255,R=h.g/255,v=h.b/255,N=n.max(I,R,v),K=n.min(I,R,v),ee=N-K,de=N;let O=0,xe=0;return ee&&(N===I&&(O=(R-v)/ee),N===R&&(O=2+(v-I)/ee),N===v&&(O=4+(I-R)/ee),N&&(xe=ee/N)),O=n.floor(O*60),{h:OparseInt(N,16)),v={r:R[0],g:R[1],b:R[2],a:1}),v}function wd(h){let I=h.r.toString(16),R=h.g.toString(16),v=h.b.toString(16),N=””;if(h.r<16&&(I="0"+I),h.g<16&&(R="0"+R),h.b<16&&(v="0"+v),A.alpha&&(h.a<1||A.forceAlpha)){const K=h.a*255|0;N=K.toString(16),K<16&&(N="0"+N)}return"#"+I+R+v+N}function kd(h){return!A.alpha||h.a===1&&!A.forceAlpha?`rgb(${h.r}, ${h.g}, ${h.b})`:`rgba(${h.r}, ${h.g}, ${h.b}, ${h.a})`}function zd(h){return!A.alpha||h.a===1&&!A.forceAlpha?`hsl(${h.h}, ${h.s}%, ${h.l}%)`:`hsla(${h.h}, ${h.s}%, ${h.l}%, ${h.a})`}function Qd(){El().querySelector("#clr-picker")||(r=l,c=e.createElement("div"),c.setAttribute("id","clr-picker"),c.className="clr-picker",c.innerHTML=`
${A.a11y.format}HexRGBHSL
${A.clearLabel}
${A.closeLabel}
`,e.body.appendChild(c),a=Ne(“clr-color-area”),d=Ne(“clr-color-marker”),b=Ne(“clr-clear”),g=Ne(“clr-close”),s=Ne(“clr-color-preview”),u=Ne(“clr-color-value”),V=Ne(“clr-hue-slider”),p=Ne(“clr-hue-marker”),X=Ne(“clr-alpha-slider”),Z=Ne(“clr-alpha-marker”),Qe(A.el),Ke(A.el),q(c,”mousedown”,h=>{c.classList.remove(“clr-keyboard-nav”),h.stopPropagation()}),q(a,”mousedown”,h=>{q(e,”mousemove”,Ze)}),q(a,”contextmenu”,h=>{h.preventDefault()}),q(a,”touchstart”,h=>{e.addEventListener(“touchmove”,Ze,{passive:!1})}),q(d,”mousedown”,h=>{q(e,”mousemove”,Ze)}),q(d,”touchstart”,h=>{e.addEventListener(“touchmove”,Ze,{passive:!1})}),q(u,”change”,h=>{const I=u.value;if(f||A.inline){const R=I===””?I:tt(I);ye(R)}}),q(b,”click”,h=>{ye(“”),Le()}),q(g,”click”,h=>{ye(),Le()}),q(Ne(“clr-format”),”click”,”.clr-format input”,h=>{G=h.target.value,En(),ye()}),q(c,”click”,”.clr-swatches button”,h=>{tt(h.target.textContent),ye(),A.swatchesOnly&&Le()}),q(e,”mouseup”,h=>{e.removeEventListener(“mousemove”,Ze)}),q(e,”touchend”,h=>{e.removeEventListener(“touchmove”,Ze)}),q(e,”mousedown”,h=>{E=!1,c.classList.remove(“clr-keyboard-nav”),Le()}),q(e,”keydown”,h=>{const I=h.key,R=h.target,v=h.shiftKey;if(I===”Escape”?Le(!0):[“Tab”,”ArrowUp”,”ArrowDown”,”ArrowLeft”,”ArrowRight”].includes(I)&&(E=!0,c.classList.add(“clr-keyboard-nav”)),I===”Tab”&&R.matches(“.clr-picker *”)){const K=eo(),ee=K.shift(),de=K.pop();v&&R===ee?(de.focus(),h.preventDefault()):!v&&R===de&&(ee.focus(),h.preventDefault())}}),q(e,”click”,”.clr-field button”,h=>{j&&Ie(),h.target.nextElementSibling.dispatchEvent(new Event(“click”,{bubbles:!0}))}),q(d,”keydown”,h=>{const I={ArrowUp:[0,-1],ArrowDown:[0,1],ArrowLeft:[-1,0],ArrowRight:[1,0]};Object.keys(I).includes(h.key)&&(Bd(…I[h.key]),h.preventDefault())}),q(a,”click”,Ze),q(V,”input”,Nd),q(X,”input”,Fd))}function eo(){return Array.from(c.querySelectorAll(“input, button”)).filter(R=>!!R.offsetWidth)}function Ne(h){var I=El();return I.querySelector(“#”+h)}function El(){return typeof A.parent==”object”?A.parent:e}function q(h,I,R,v){const N=Element.prototype.matches||Element.prototype.msMatchesSelector;typeof R==”string”?h.addEventListener(I,K=>{N.call(K.target,R)&&v.call(K.target,K)}):(v=R,h.addEventListener(I,v))}function yn(h,I){I=I!==l?I:[],e.readyState!==”loading”?h(…I):e.addEventListener(“DOMContentLoaded”,()=>{h(…I)})}NodeList!==l&&NodeList.prototype&&!NodeList.prototype.forEach&&(NodeList.prototype.forEach=Array.prototype.forEach);function Kd(h,I){f=I,y=f.value,ze(I),G=gt(h),Je(),tt(h),ye(),y!==h&&f.dispatchEvent(new Event(“change”,{bubbles:!0}))}const yl=(()=>{const h={init:Qd,set:T,wrap:Ke,close:Le,setInstance:Ae,setColor:Kd,removeInstance:Ee,updatePosition:Je,ready:yn};function I(R){yn(()=>{R&&(typeof R==”string”?Qe(R):T(R))})}for(const R in h)I[R]=function(){for(var v=arguments.length,N=new Array(v),K=0;K{t.addEventListener(“resize”,R=>{I.updatePosition()}),t.addEventListener(“scroll”,R=>{I.updatePosition()})}),I})();return yl.coloris=yl,yl})(window,document,Math)})();ut.coloris;ut.init;ut.set;ut.wrap;ut.close;ut.setInstance;ut.removeInstance;ut.updatePosition;function he(t){return`text-edit-panel-view-${t}`}class J2 extends hl{constructor(e,n){super(e),this.se=n,this.textContent=””,this.currentTextColor=””,this.handleCloseWhenEscape=l=>{l.key===”Escape”&&this.destroy()},this.handleClickOutside=l=>{const i=l.composedPath();(!this.panelEl||!i.includes(this.panelEl))&&this.destroy()},this.handleColorChange=l=>{const i=l.detail.color;this.domEditor.handleQuickActionClick(Ce.COLOR,i);const o=this.se.createPatch(this.triggerEl);this.se.debouncedAddPatched(o),this.currentTextColor=i,this.render()}}get template(){return H` ${Wd} .${he(“root”)} { border-radius: 12px; border: 0.5px solid var(–border-dark); background: var(–background-menu-white); box-shadow: 0px 4px 11px 0px var(–shadow-M); backdrop-filter: blur(40px); display: flex; flex-direction: column; width: 382px; } .${he(“toolbar”)} { display: flex; align-items: center; gap: 8px; padding: 12px 12px 0px 8px; } .${he(“tool-item”)} { background: transparent; border: none; cursor: pointer; width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; border-radius: 6px; } .${he(“tool-item-color”)} { position: relative; } .${he(“tool-item-color”)} .clr-field { position: absolute; inset: 0; opacity: 0; } .${he(“tool-item-color”)} .clr-field * { cursor: pointer; } .${he(“tool-item-color”)} .clr-field input { width: 100%; height: 100%; } .${he(“tool-item-active”)} { color: var(–icon-brand); } .${he(“tool-item”)}:hover { background: var(–fill-tsp-gray-main); } .${he(“textarea-box”)} { padding: 10px 12px 12px; overflow: hidden; } .${he(“textarea”)} { display: flex; width: 100%; min-height: 100px; max-height: 530px; overflow-y: auto; resize: none; padding: 12px 12px 12px 16px; border-radius: 10px; border: 1.5px solid transparent; background: var(–fill-tsp-white-main); color: var(–text-primary); font-size: 14px; line-height: 22px; letter-spacing: -0.154px; } .${he(“textarea”)}:focus-within { border-color: var(–border-dark); }
${X2.filter(e=>e.type!==Ce.DELETE&&e.type!==Ce.COPY).map(({type:e,label:n})=>{const l=()=>{if(e===Ce.BOLD)return H`${I2}`;if(e===Ce.ITALIC)return H`${E2}`;if(e===Ce.UNDERLINE)return H`${R2}`;if(e===Ce.COLOR)return H`${y2(this.currentTextColor)}`},i=()=>{if(!this.triggerEl)return!1;const o=this.triggerEl.cloneNode(!0);[x.spaceEditorHighlight,x.onlyTextNode,x.textNodeActive].forEach(a=>{o.classList.remove(a)}),o.classList.add(x.hidden),document.body.appendChild(o);const c=getComputedStyle(o);return setTimeout(()=>{document.body.removeChild(o)},0),e===Ce.BOLD?fe.isTextBolded(c.fontWeight):e===Ce.ITALIC?fe.isTextItalic(c.fontStyle):e===Ce.UNDERLINE?fe.isTextUnderlined(c.textDecorationLine):!1};return e===Ce.COLOR?H` ${l()} `:H` ${l()} `})}
`}show(e,n){this.triggerEl=e,this.textContent=e.textContent??””,this.currentTextColor=getComputedStyle(e).color,this.render(),this.panelEl&&(this.panelEl.setAnchor(this.triggerEl),this.panelEl.open(n)),this.triggerEl.classList.add(x.textNodeActive),this.domEditor=new fe(e,this.se),document.addEventListener(“keydown”,this.handleCloseWhenEscape),document.addEventListener(“mousedown”,this.handleClickOutside),document.addEventListener(“coloris:pick”,this.handleColorChange)}destroy(){var e;document.removeEventListener(“keydown”,this.handleCloseWhenEscape),document.removeEventListener(“mousedown”,this.handleClickOutside),document.removeEventListener(“coloris:pick”,this.handleColorChange),(e=this.triggerEl)==null||e.classList.remove(x.textNodeActive),super.destroy()}handleQuickActionClick(e){this.domEditor.handleQuickActionClick(e);const n=this.se.createPatch(this.triggerEl);this.se.debouncedAddPatched(n),e===Ce.DELETE&&this.destroy(),this.render()}handleInput(e){const n=e.target;if(n instanceof HTMLTextAreaElement){this.textContent=n.value,this.render(),this.domEditor.updateTextContent(this.textContent);const l=this.se.createPatch(this.triggerEl);this.se.debouncedAddPatched(l)}}handleSetRootRef(e){e instanceof hi&&(this.panelEl=e)}handleInitColorPicker(e){e instanceof HTMLInputElement&&(ut.init(),ut.coloris({el:e,alpha:!0,swatches:[“#FFF”,”#000000″,”#FF0001″,”#FF5100″,”#FFC700″,”#00B336″,”#00CBFF”,”#65BAFF”,”#B400D8″,”#86A3AB”,”#4F5559″]}))}}function z(t){return`footer-toolbar-${t}`}class x2 extends hl{constructor(e){super(e,!1),this.container=e,this.hasPrivilege=!1,this.isRestoring=!1,this.isShowHistoryBtn=!1,this.isPopoverVisible=!1,this.init()}get template(){if(!this.hasPrivilege)return H“;const e=()=>{if(Me.viewType===”history”){const n=H`this.handleSetDialogRef(l))} title=”Restore to this version?”>

This will overwrite existing content and affect the current task.

{var l;return(l=this.dialogRef)==null?void 0:l.close()}}>Cancel ${this.isRestoring?as():””} Restore
`;return H` .${z(“restore-container”)} { display: flex; align-items: center; gap: 6px; } .${z(“restore-cancel-btn”)} { display: flex; height: 32px; min-width: 64px; min-height: 32px; padding: 0 8px; justify-content: center; align-items: center; gap: 4px; border-radius: 100px; border: 1px solid var(–border-dark); color: var(–text-primary); font-size: 13px; font-weight: 500; line-height: 18px; letter-spacing: -0.091px; } .${z(“restore-confirm-btn”)} { display: flex; min-width: 64px; min-height: 32px; padding: 6px 8px; justify-content: center; align-items: center; align-content: center; gap: 4px 4px; flex-wrap: wrap; border-radius: 100px; background: var(–Button-primary-brand); color: var(–text-white); font-size: 13px; font-weight: 500; line-height: 18px; letter-spacing: -0.091px; border-radius: 999px; background: var(–Button-primary-brand); color: var(–text-white); font-size: 13px; font-weight: 500; line-height: 18px; letter-spacing: -0.091px; } .${z(“restore-cancel-btn”)}:hover { opacity: 0.85; } .${z(“restore-confirm-btn”)}:hover { opacity: 0.85; }
Cancel {var l;return(l=this.dialogRef)==null?void 0:l.show()}}>confirm
${n}`}return H` .${z(“btn-container”)} { position: relative; display: flex; border-radius: 99px; box-shadow: 0 4px 11px 0 var(–shadow-S); backdrop-filter: blur(40px); border: 0.5px solid var(–border-main); } .${z(“btn”)} { display: inline-flex; height: 32px; padding: 0 10px 0 12px; justify-content: center; align-items: center; gap: 4px; flex-shrink: 0; cursor: pointer; background: var(–background-menu-white); border-radius: 99px 0 0 99px; backdrop-filter: blur(40px); color: var(–text-primary); font-size: 13px; font-weight: 500; line-height: 18px; letter-spacing: -0.091px; } .${z(“btn”)}:hover { background: var(–fill-tsp-white-light); } .${z(“btn-blue”)} { background: var(–Button-primary-brand); color: var(–text-white); } .${z(“btn-blue”)}:hover { background: var(–Button-primary-brand); opacity: 0.85; } .${z(“no-history-btn”)} { border-radius: 99px; } .${z(“btn-container-right”)} { padding: 0 8px 0 6px; border-left: 1px solid var(–border-main); display: flex; align-items: center; justify-content: center; cursor: pointer; color: var(–text-primary); background: var(–background-menu-white); border-radius: 0 99px 99px 0; } .${z(“btn-container-right”)}:hover { background: var(–fill-tsp-white-light); } .${z(“btn-container-right-blue”)} { color: var(–text-white); background: var(–Button-primary-brand); border-radius: 0 99px 99px 0; border-left-color: var(–border-white); } .${z(“btn-container-right-blue”)}:hover { background: var(–Button-primary-brand); opacity: 0.85; } .${z(“popover”)} { position: absolute; bottom: calc(100% + 3px); right: 0; z-index: 1000; border-radius: 12px; border: 0.5px solid var(–border-dark); background: var(–background-menu-white); box-shadow: 0 4px 11px 0 var(–shadow-S); backdrop-filter: blur(40px); width: max-content; padding: 8px; display: flex; height: 36px; min-width: 94px; min-height: 36px; align-items: center; gap: 8px; cursor: pointer; color: var(–text-secondary); font-size: 14px; line-height: 22px; letter-spacing: -0.154px; border-radius: 12px; user-select: none; } .${z(“popover”)}:hover { background: var(–fill-tsp-white-main); }
${Me.viewType===”default”?H`${W2} Tweak`:H`${F2} Finish`} ${this.isShowHistoryBtn?H`
${Y2}
`:””}
${this.isPopoverVisible?H`
${v2} Restore original version
`:””} `};return H` .${z(“container”)} { position: fixed; z-index: 999999; right: 16px; bottom: 16px; } .${z(“dialog-footer”)} { display: flex; justify-content: flex-end; gap: 12px; } .${z(“dialog-button”)} { display: flex; height: 36px; min-width: 64px; min-height: 36px; padding: 8px 12px; justify-content: center; align-items: center; gap: 6px; cursor: pointer; color: var(–text-primary); font-size: 14px; font-weight: 500; line-height: 20px; letter-spacing: -0.154px; border-radius: 10px; border: 1px solid var(–border-btn-main); background: transparent; } .${z(“dialog-button”)}:disabled { opacity: 0.5; cursor: not-allowed; } .${z(“dialog-button”)}:hover { opacity: 0.85; } .${z(“dialog-button-danger”)} { background: var(–function-error); color: var(–text-white); border: none; }
${e()}
`}handleRestore(){var e;(e=this.dialogRef)==null||e.show()}async handleRestoreConfirm(){var e,n,l;if(!this.isRestoring)try{this.isRestoring=!0,this.render(),await al.SpaceService.restoreOriginalSite({spaceUid:pe.spaceId}),(e=this.se)==null||e.restoreToOriginal(),(n=this.dialogRef)==null||n.close(),Me.setViewType(Me.prevViewType),Me.viewType!==”edit”&&((l=this.se)==null||l.toggleToPreviewMode())}catch{}finally{this.isRestoring=!1,this.render()}}async init(){const e=new f2;this.se=e;const n=new URL(window.location.href);let l=”default”;n.searchParams.get(“edit”)===”1″?l=”edit”:n.searchParams.get(“history”)===”1″&&(l=”history”),this.updateIsShowHistoryBtn();const i=async()=>new Promise(r=>{l===”history”?(e.initWithoutApplyPatches(),_l([“history”]),this.isShowHistoryBtn&&Me.setViewType(“history”),r(!0)):bs()&&pe.patchList.length>0?(document.body.style.opacity=”0″,Vs().then(()=>{e.init(),document.body.style.opacity=”1″,r(!0)})):(e.init(),r(!0))});let o=!1;pe.patchList.length>0&&(await i(),o=!0);try{l===”edit”&&(this.hasPrivilege=!0,e.toggleEditMode(),Me.setViewType(“edit”),this.render()),_l([“edit”])}catch{}if(await wt.waitReady(),this.hasPrivilege=await g2,this.render(),this.hasPrivilege){o||await i(),l===”edit”?kn.showToast({title:”You’re now editing – all changes auto-save”,variant:”success”}):l===”history”&&kn.showToast({title:”Switched to original version”,variant:”success”}),sn.listenBy(this,”onViewTypeChange”,()=>{this.render()}),sn.listenBy(this,”patchListChange”,()=>{this.updateIsShowHistoryBtn(),this.render()});const r=document.createElement(“div”);r.classList.add(x.textEditorPanelView);const c=document.createElement(“div”);c.classList.add(x.elementEditorPanelView),this.container.appendChild(c),this.container.appendChild(r);const a=new J2(r,e),d=new U2(c,e);e.registerViews({textEditPanelView:a,elementEditPanelView:d})}else e.toggleToPreviewMode(),Me.setViewType(“default”)}destroy(){var e;this.removeClickOutsideListener(),(e=this.se)==null||e.destroy(),super.destroy()}handleViewOriginVersion(){const e=new URL(window.location.href);e.searchParams.append(“history”,”1″),window.location.href=e.toString()}handleExitOriginVersion(){const e=new URL(window.location.href);e.searchParams.delete(“history”),window.location.href=e.toString()}handleToggleEditMode(){this.se&&(Me.viewType===”default”?(Me.setViewType(“edit”),this.se.toggleEditMode(),kn.showToast({title:”You’re now editing – all changes auto-save”,variant:”success”}),Ct({eventName:”edit_click”,extData:{type:”space”}})):(Me.setViewType(“default”),this.se.toggleToPreviewMode()))}handleSetDialogRef(e){e instanceof gl&&(this.dialogRef=e)}updateIsShowHistoryBtn(){this.isShowHistoryBtn=(pe.patchList.length??0)>0}handleTogglePopover(){this.isPopoverVisible=!this.isPopoverVisible,this.isPopoverVisible?this.addClickOutsideListener():this.removeClickOutsideListener(),this.render()}addClickOutsideListener(){this.removeClickOutsideListener(),this.clickOutsideHandler=e=>{e.composedPath()[0].closest(`.${z(“container”)}`)||(this.isPopoverVisible=!1,this.removeClickOutsideListener(),this.render())},document.addEventListener(“click”,this.clickOutsideHandler)}removeClickOutsideListener(){this.clickOutsideHandler&&(document.removeEventListener(“click”,this.clickOutsideHandler),this.clickOutsideHandler=void 0)}}const sl=”content-root”,w2=`#${sl} { /* Text Colors */ –text-primary: #34322d; –text-secondary: #535350; –text-tertiary: #858481; –text-disable: #b9b9b7; –text-brand: #0081f2; –text-onblack: #ffffff; –text-white: #ffffff; –text-white-tsp: #ffffff99; –theme-text-primary: #262626; –logo-color: #34322d; /* Background Colors */ –background-gray-main: #f8f8f7; –background-white-main: #ffffff; –background-menu-white: #ffffff; –background-tsp-menu-white: #ffffff14; –background-tsp-card-gray: #37352f0a; –background-nav: #ebebeb; –background-card: #fafafa; –background-mask: #000000a6; –background-card-gray: #fafafa; –background-preview-mask: #000000d9; /* Border Colors */ –border-main: #0000000f; –border-white: #ffffff33; –border-btn-main: #0000001f; –border-input-active: #0081f280; –border-light: #0000000a; –border-dark: #0000001f; –border-primary: #4f59661f; /* Icon Colors */ –icon-primary: #34322d; –icon-secondary: #535350; –icon-tertiary: #858481; –icon-disable: #b9b9b7; –icon-brand: #0081f2; –icon-onblack: #ffffff; –icon-white: #ffffff; –icon-white-tsp: #ffffff99; /* Function Colors */ –function-error: #f25a5a; –function-success: #25ba3b; –function-warning: #efa201; –function-error-tsp: #f25a5a14; –function-warning-tsp: #efa2011f; /* Fill Colors */ –fill-blue: #0081f214; –fill-tsp-white-main: #37352f0f; –fill-tsp-white-dark: #37352f14; –fill-tsp-white-light: #37352f0a; –fill-tsp-gray-dark: #37352f14; –fill-tsp-gray-main: #37352f0a; –fill-input-chat: #ffffff; –fill-white: #ffffff; –fill-black: #28282973; –fill-gray: #f8f8f7; /* Button Colors */ –Button-primary-black: #1a1a19; –Button-primary-white: #ffffff; –Button-primary-brand: #0081f2; –Button-primary-brand-disabled: #7cbdf5; –Button-secondary-brand: #0081f21a; –Button-secondary-error-border: #f25a5a80; –Button-secondary-error-fill: #ffffff; –Button-secondary-main: #ffffff; –Button-secondary-gray: #37352f0f; /* Tab Colors */ –tab-fill: rgba(0, 0, 0, 0.04); –tab-active-black: #1a1a19; /* Shadow Colors */ –shadow-L: #0000003d; –shadow-M: #0000001f; –shadow-S: #00000014; –shadow-XS: #0000000f; –shadows-inner-0: #ffffff00; –shadows-inner-1: #16191d14; –shadows-inner-2: #16191d1f; –shadows-drop-1: #16191d08; –shadows-drop-2: #16191d0a; –shadows-drop-3: #16191d14; –shadows-drop-4: #16191d1f; –shadows-highlight-1: #cce5ff; –shadows-highlight-2: #1487fa; –shadows-danger-1: #fed7d7; –shadows-danger-2: #ee3a3a; –shadows-card-border: #16191d1f; –shadows-card-border-2: #16191d1f; /* Tooltips */ –Tooltips-main: #000000e6; /* Gradual Colors */ –gradual-white-0: #ffffff00; –gradual-gray-100: #ffffff00; –gradual-gray-0: #ffffff00; –gradual-dark-20: #00000033; /** input */ –fill-input-chat: #ffffff; /** gradient */ –gradient-bg-mask-gray-0: #eaeaeb00; } #${sl}.dark { /* Text Colors */ –text-primary: #dadada; –text-secondary: #acacac; –text-tertiary: #7f7f7f; –text-disable: #5f5f5f; –text-brand: #1a93fe; –text-onblack: #000000e6; –text-white: #ffffff; –text-white-tsp: #ffffff99; –theme-text-primary: #dbdbdb; –logo-color: #dadada; /* Background Colors */ –background-gray-main: #272728; –background-white-main: #161618; –background-menu-white: #383739; –background-tsp-menu-white: #ffffff0f; –background-tsp-card-gray: #ffffff0f; –background-nav: #212122; –background-card: #383739; –background-mask: #000000a6; –background-card-gray: #383739; –background-preview-mask: #000000d9; /* Border Colors */ –border-main: #ffffff14; –border-white: #00000014; –border-btn-main: #ffffff1a; –border-input-active: #1a93fe80; –border-light: #ffffff0f; –border-dark: #ffffff29; –border-primary: #56565f52; /* Icon Colors */ –icon-primary: #dadada; –icon-secondary: #acacac; –icon-tertiary: #7f7f7f; –icon-disable: #5f5f5f; –icon-brand: #1a93fe; –icon-onblack: #000000d9; –icon-white: #ffffff; –icon-white-tsp: #ffffff99; /* Function Colors */ –function-error: #eb4d4d; –function-success: #5eb92d; –function-warning: #ffbf36; –function-error-tsp: #eb4d4d14; –function-warning-tsp: #ffbf361f; /* Fill Colors */ –fill-blue: #1a93fe1f; –fill-tsp-white-main: #ffffff0f; –fill-tsp-white-dark: #ffffff1f; –fill-tsp-white-light: #ffffff0a; –fill-tsp-gray-dark: #00000047; –fill-tsp-gray-main: #00000033; –fill-input-chat: #363537; –fill-white: #3e3d3e; –fill-black: #28282973; –fill-gray: #444345; /* Button Colors */ –Button-primary-black: #ffffff; –Button-primary-white: #ffffff14; –Button-primary-brand: #1a93fe; –Button-primary-brand-disabled: #215d93; –Button-secondary-brand: #1a93fe1f; –Button-secondary-error-border: #eb4d4d29; –Button-secondary-error-fill: #eb4d4d1f; –Button-secondary-main: #ffffff1f; –Button-secondary-gray: #ffffff0f; /* Tab Colors */ –tab-fill: rgba(255, 255, 255, 0.06); –tab-active-black: #ffffff; /* Shadow Colors */ –shadow-L: #00000066; –shadow-M: #0000003d; –shadow-S: #00000029; –shadow-XS: #0000001f; –shadows-inner-0: #ffffff1f; –shadows-inner-1: #ffffff14; –shadows-inner-2: #ffffff1f; –shadows-drop-1: #0000001f; –shadows-drop-2: #00000033; –shadows-drop-3: #00000047; –shadows-drop-4: #0000005c; –shadows-highlight-1: #1b61a6; –shadows-highlight-2: #1487fa; –shadows-danger-1: #8f1919; –shadows-danger-2: #ee3a3a; –shadows-card-border: #ffffff1f; –shadows-card-border-2: #ffffff00; /* Tooltips */ –Tooltips-main: #000000e6; /* Gradual Colors */ –gradual-white-0: #27272800; –gradual-gray-100: #444345; –gradual-gray-0: #44434500; –gradual-dark-20: #ffffff33; /** input */ –fill-input-chat: #363537; /** gradient */ –gradient-bg-mask-gray-0: #1E1E1E00; } `,k2=`/* CSS Reset */ *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; } ol, ul { list-style: none; } blockquote, q { quotes: none; } blockquote:before, blockquote:after, q:before, q:after { content: ”; content: none; } table { border-collapse: collapse; border-spacing: 0; } img, picture, video, canvas, svg { display: block; max-width: 100%; } input, button, textarea, select { font: inherit; } p, h1, h2, h3, h4, h5, h6 { overflow-wrap: break-word; } a { text-decoration: none; color: inherit; } button { background: none; border: none; cursor: pointer; } `,z2=` .tooltip-trigger-css { position: relative; } .tooltip-trigger-css::after { content: attr(data-tooltip); display: flex; justify-content: center; align-items: center; max-width: 280px; min-width: 40px; padding: 10px; background: rgba(0, 0, 0, 0.90); border-radius: 12px; color: var(–text-white); font-size: 12px; line-height: 16px; word-wrap: break-word; white-space: pre-wrap; text-align: left; position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%) translateY(-8px); z-index: 10; width:max-content; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out, visibility 0s linear 0.2s; } .tooltip-trigger-css.tooltip-trigger-right-css::after { left: unset; right: 0; transform: translateX(0) translateY(-8px); } .tooltip-trigger-css.tooltip-trigger-right-css:hover::after { left: unset; right: 0; transform: translateX(0) translateY(-8px); } /* 当触发元素被 hover 或 focus 时显示 tooltip */ .tooltip-trigger-css:hover::after, .tooltip-trigger-css:focus::after { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(-10px); /* 轻微向上移动的动画 */ transition-delay: 0s, 0s, 0s; /* 确保立即显示,覆盖 visibility 的延迟 */ } /* 确保非交互元素可聚焦,以便 tooltip 可以通过键盘触发 */ .tooltip-trigger-css:not(button):not(input):not(a[href]) { outline: none; /* 移除默认轮廓,如果需要自定义焦点样式 */ } .tooltip-trigger-css:focus { /* 自定义焦点样式 (可选) */ box-shadow: 0 0 0 2px skyblue; }`,Q2=` ${w2} ${k2} ${z2} * { box-sizing: border-box; } p { margin-block-start:0; margin-block-end:0; } #${sl} { font-family: ‘SF Pro’, -apple-system, BlinkMacSystemFont, ‘Segoe UI’, Roboto, Helvetica, Arial, sans-serif } `;let wn;class K2 extends HTMLElement{constructor(){super(),this.attachShadow({mode:”open”})}connectedCallback(){const e=this.shadowRoot,n=document.createElement(“div”);n.id=sl,e.appendChild(n);const l=document.createElement(“style”);l.textContent=`${Q2} `,n.appendChild(l),wn=new x2(n),kn.initRoot(n),Ct({eventName:”session_file_view”,extData:{type:”space”}}),Ct({eventName:”manus_space_show”})}disconnectedCallback(){wn==null||wn.destroy()}}function L(t){return`footer-watermark-${t}`}class L2 extends HTMLElement{constructor(){super(),this.isClosed=!1,this.attachShadow({mode:”open”}),this.render()}get template(){return this.isClosed=localStorage.getItem(“embedClosed”)===”true”,this.isClosed?H“:bc()?H` .${L(“root”)} { z-index: 999999; display: flex; padding: 4px 4px 4px 12px; align-items: center; position: fixed; right: 16px; bottom: 16px; border-radius: 999px; background: var(–Button-primary-black); display: flex; height: 28px; padding: 6px 8px; justify-content: center; align-items: center; gap: 2px; color: var(–text-white); font-size: 12px; line-height: 16px; cursor: pointer; user-select: none; box-sizing: border-box; } .${L(“dialog-footer”)} { width: 100%; display: flex; align-items: flex-start; gap: 12px; align-self: stretch; } .${L(“dialog-button”)} { display: flex; width: 119px; min-width: 114px; min-height: 48px; padding: 6px; justify-content: center; align-items: center; gap: 6px; border-radius: 12px; background: rgba(55, 53, 47, 0.06); color: #34322d; font-size: 15px; font-style: normal; font-weight: 600; border: none; } .${L(“dialog-button-primary”)} { background: #1a1a19; color: #fff; flex: 1; } .${L(“dialog-content”)} { color: #535350; font-size: 16px; font-style: normal; font-weight: 400; line-height: 24px; margin: 0; } .${L(“dialog-content”)} + p { margin-top: 12px; } .${L(“dialog-content”)} a { color: #1a1a19; text-decoration: underline; } this.handleSetDialogRef(e))} title=”Made with Manus” width=”358px”>

AI-generated (possibly user-edited) content – please verify carefully and submit no personal information.

If you believe this content violates your rights or applicable laws, you may submit a report for review.

{var e;return(e=this.dialogRef)==null?void 0:e.close()}}>Cancel this.handleClick()} > Create my website
{var e;(e=this.dialogRef)==null||e.show(),Ct({eventName:”manus_watermark_click”})}} > ${dl} Made with Manus
`:H` .${L(“root”)} { z-index: 10000; display: flex; padding: 4px 4px 4px 12px; align-items: center; position: fixed; right: 16px; bottom: 16px; border-radius: 999px; background: var(–Button-primary-black); display: flex; height: 28px; padding: 6px 8px; justify-content: center; align-items: center; gap: 2px; color: var(–text-white); font-size: 12px; line-height: 16px; cursor: pointer; user-select: none; box-sizing: border-box; } .${L(“hover-text”)} { display: none; } .${L(“root”)}:hover span { display: none; } .${L(“root”)}:hover .${L(“hover-text”)} { display: block; } .${L(“hover-icon”)} { display: none; cursor: pointer; user-select: none; position: absolute; right: -4px; top: -4px; color: var(–icon-tertiary); } .${L(“root”)}:hover { // opacity: 0.8; } .${L(“root”)}:hover .${L(“hover-icon”)} { display: block; } .${L(“tooltip”)} { position: absolute; bottom: calc(100% + 6px); right: 0; width: 280px; background: #ffffff; border-radius: 12px; box-shadow: 0px 8px 32px 0px rgba(0, 0, 0, 0.06); padding: 10px; opacity: 0; visibility: hidden; transition: opacity 0.2s ease, visibility 0.2s ease; z-index: 10001; border: 0.5px solid var(–border-primary); cursor: default; } .${L(“root”)}:hover .${L(“tooltip”)} { opacity: 1; visibility: visible; } .${L(“tooltip-text”)} { font-size: 12px; line-height: 16px; color: #5e5e5b; margin: 0; font-weight: 400; } .${L(“tooltip-link”)} { color: #34322d; text-decoration: underline; text-decoration-skip-ink: none; text-decoration-style: solid; text-underline-position: from-font; } .${L(“tooltip-button”)} { width: 100%; margin-top: 8px; padding: 8px 16px; background: #1a1a19; color: #ffffff; border: none; border-radius: 8px; font-size: 12px; font-weight: 500; cursor: pointer; transition: background 0.2s ease; } .${L(“tooltip-button”)}:hover { background: #2a2a29; }
this.handleClick()} > ${dl} Made with Manus Create my website this.handleClose(e)}>${N2}
e.stopPropagation()}>

AI-generated (possibly user-edited) content – please verify carefully and submit no personal information. If you believe this content violates your rights or applicable laws, you may submit a report for review.

`}connectedCallback(){Ct({eventName:”manus_watermark_show”})}handleClick(){Ct({eventName:”manus_watermark_click”}),window.open(`${pe.host}/app?utm_source=manusspace`,”_blank”)}handleClose(e){e.stopPropagation(),localStorage.setItem(“embedClosed”,”true”),this.isClosed=!0,this.render(),Ct({eventName:”manus_watermark_close”})}handleSetDialogRef(e){e instanceof gl&&(this.dialogRef=e)}render(){pt(this.template,this.shadowRoot)}}function oe(t){return`made-with-${t}`}class M2 extends HTMLElement{constructor(){super(),this.isMobile=!1,this.isMobile=bc(),pt(this.template,this)}get template(){const e=()=>this.isMobile?H`{var n;return(n=this.dialogRef)==null?void 0:n.show()}}>${dl} Made with Manus this.handleSetDialogRef(n))} title=”Made with Manus”>

AI-generated (possibly user-edited) content – please verify carefully and submit no personal information.

If you believe this content violates your rights or applicable laws, you may submit a report for review.

{var n;return(n=this.dialogRef)==null?void 0:n.close()}}>Cancel {var n;return(n=this.dialogRef)==null?void 0:n.close()}}> Create my website
`:H` ${dl} Made with Manus Create my website ${B2} `;return H` .${oe(“btn-link”)} { text-decoration: none; } .${oe(“btn-link”)}:hover { opacity: 0.85; } .${oe(“btn”)} { border-radius: 8px; border: 1px solid var(–border-main); background: var(–Button-primary-black); box-shadow: 0px 8px 32px 0px var(–shadow-XS); cursor: pointer; padding: 5px 10px; min-height: 32px; display: flex; align-items: center; justify-content: center; color: var(–text-onblack); font-size: 13px; font-weight: 500; line-height: 18px; letter-spacing: -0.091px; gap: 2px; } .${oe(“btn”)}:hover .${oe(“btn-text”)} { display: none; } .${oe(“btn”)}:hover .${oe(“btn-text-hover”)} { display: flex; } .${oe(“btn-text”)} { display: flex; } .${oe(“btn-text-hover”)} { display: none; } .${oe(“dialog-footer”)} { display: flex; justify-content: flex-end; gap: 12px; } .${oe(“dialog-button”)} { display: flex; height: 36px; min-width: 64px; min-height: 36px; padding: 8px 12px; justify-content: center; align-items: center; gap: 6px; cursor: pointer; color: var(–text-primary); font-size: 14px; font-weight: 500; line-height: 20px; letter-spacing: -0.154px; border-radius: 10px; border: 1px solid var(–border-btn-main); background: transparent; text-decoration: none; } .${oe(“dialog-button”)}:hover { opacity: 0.85; } .${oe(“dialog-button-primary”)} { background: var(–Button-primary-black); color: var(–text-onblack); border: none; } .tooltip-trigger-right-css { display: flex; margin-left: 2px; } .tooltip-trigger-right-css svg { opacity: 0.6; } .tooltip-trigger-right-css::after { right: -11px !important; bottom: 20px; } ${e()}`}handleSetDialogRef(e){e instanceof gl&&(this.dialogRef=e)}}customElements.define(“lit-textarea”,is);customElements.define(“lit-popup”,hi);customElements.define(“lit-dialog”,gl);customElements.define(“manus-content-root”,K2);customElements.define(“make-with-manus”,M2);customElements.define(“footer-watermark”,L2);h2();hs(()=>{new MutationObserver(()=>{document.querySelector(“manus-content-root”)||document.body.appendChild(document.createElement(“manus-content-root”))}).observe(document.body,{childList:!0,subtree:!0})}); }; https://plausible.io/js/script.file-downloads.hash.outbound-links.pageview-props.revenue.tagged-events.js window.plausible = window.plausible || function () { (window.plausible.q = window.plausible.q || []).push(arguments); }; plausible(‘custom-pageview’, { props: { domain: window.location.host } })