(self.AMP=self.AMP||[]).push({n:"amp-form",ev:"0.1",l:true,v:"2107030008001",m:1,f:function(AMP,_){let l;function n(){return l?l:l=Promise.resolve(void 0)}class p{constructor(){this.promise=new Promise(((a,b)=>{this.resolve=a;this.reject=b}))}}function aa(a){return new Promise((b=>{b(a())}))}class ba{constructor(){this.U=new p;this.$=0}add(a){let b=++this.$;a.then((c=>{this.$===b&&this.U.resolve(c)}),(c=>{this.$===b&&this.U.reject(c)}));return this.U.promise}then(a,b){return this.U.promise.then(a,b)}}function ca(a){return a?Array.prototype.slice.call(a):[]}let q=Array.isArray;let da=Object.prototype.hasOwnProperty,ea=Object.prototype.toString;function r(a){return a||{}}function fa(a,b){let c=[],d=[];for(d.push({t:a,s:b,d:0});0{}));return{obj:null,promise:b,resolve:d,reject:c,context:null,ctor:null}} /* https://mths.be/cssescape v1.5.1 by @mathias | MIT license */ function va(a,b){let c=[];for(let d=a.parentElement;d;d=d.parentElement)b(d)&&c.push(d);return c}function wa(a){var b="fieldset";/^[\w-]+$/.test(b);b=b.toUpperCase();return va(a,(c=>c.tagName==b))}function xa(a){var b;null===(b=a.parentElement)||void 0===b?void 0:b.removeChild(a)}function ya(a,b,c=null){c?a.insertBefore(b,c.nextSibling):a.insertBefore(b,a.firstChild)}function E(a,b){let c=a.length;for(let d=0;d{let f=e.getExtensionVersion(c);return f?y(e.win,"extensions").waitForExtension(c,f):null})).then((f=>f?ta(C(a),b):null))}function F(a){return A(a,"mutator")}let G;let Aa="Webkit webkit Moz moz ms O o".split(" "),Ba={getPropertyPriority:()=>"",getPropertyValue:()=>""};function Ca(a,b,c){var d=a.style;if(!b.startsWith("--")){G||(G=Object.create(null));var e=G[b];if(!e){e=b;if(void 0===d[b]){var f=b.charAt(0).toUpperCase()+b.slice(1);b:{for(let h=0;h{try{return e(g)}catch(t){var k,m;null===(k=(m=self).__AMP_REPORT_ERROR)||void 0===k?void 0:k.call(m,t);throw t}};let h=Ga();d.addEventListener(b,f,h?void 0:!1);return()=>{var g;null===(g=d)||void 0===g?void 0:g.removeEventListener(b,f,h?void 0:!1);f=d=e=null}}function Ga(){if(void 0!==I)return I;I=!1;try{let a={get capture(){I=!0}};self.addEventListener("test-options",null,a);self.removeEventListener("test-options",null,a)}catch(a){}return I}function J(a,b,c,d){c={detail:c};Object.assign(c,d);return new a.CustomEvent(b,c)}function Ia(a,b,c){return Ea(a,b,c)}function Ja(a,b){let c=b;let d=Ea(a,"mouseup",(e=>{try{c(e)}finally{c=null,d()}}));return d}function Ka(a){let b;let c=new Promise((d=>{b=Ja(a,d)}));c.then(b,b);return c}function La(a){let b=a.getRootNode();let c=null;let d=()=>{let e=b.querySelector("textarea[autoexpand]");e&&!c?c=new Ma(a):!e&&c&&(c.dispose(),c=null)};Ea(b,"amp:dom-update",d);d()}class Ma{constructor(a){let b=a.getRootNode();this.N=b.ownerDocument||b;this.j=this.N.defaultView;this.ga=A(a,"viewport");this.P=[];this.P.push(Ia(b,"input",(e=>{e=e.target;"TEXTAREA"==e.tagName&&e.hasAttribute("autoexpand")&&Na(e)})));this.P.push(Ia(b,"mousedown",(e=>{1==e.which&&(e=e.target,"TEXTAREA"==e.tagName&&Oa(e))})));let c=b.querySelectorAll("textarea");this.P.push(Ia(b,"amp:dom-update",(()=>{c=b.querySelectorAll("textarea")})));let d=ka(this.j,(e=>{e.relayoutAll&&Pa(c)}));this.P.push(this.ga.onResize(d));Qa(c)}dispose(){this.P.forEach((a=>a()))}}function Qa(a){Promise.all(ca(a).map((b=>Ra(b).then((c=>{c&&b.removeAttribute("autoexpand")})))))}function Ra(a){return F(a).measureElement((()=>a.scrollHeight>a.clientHeight))}function Pa(a){E(a,(b=>{"TEXTAREA"==b.tagName&&b.hasAttribute("autoexpand")&&Na(b)}))}function Oa(a){let b=F(a);Promise.all([b.measureElement((()=>a.scrollHeight)),Ka(a)]).then((c=>{let d=c[0];let e=0;return b.measureMutateElement(a,(()=>{e=a.scrollHeight}),(()=>{d!=e&&a.removeAttribute("autoexpand")}))}))}function Na(a){let b=F(a),c=a.ownerDocument.defaultView;let d=0,e=0,f=0;let h=Sa(a);b.measureMutateElement(a,(()=>{let g=c.getComputedStyle(a)||Ba;e=a.scrollHeight;let k=parseInt(g.getPropertyValue("max-height"),10);f=isNaN(k)?1/0:k;d="content-box"==g.getPropertyValue("box-sizing")?-parseInt(g.getPropertyValue("padding-top"),10)+-parseInt(g.getPropertyValue("padding-bottom"),10):parseInt(g.getPropertyValue("border-top-width"),10)+parseInt(g.getPropertyValue("border-bottom-width"),10)}),(()=>h.then((g=>{a.classList.toggle("i-amphtml-textarea-max",g+d>f);let k="iAmphtmlHasExpanded"in a.dataset,m=/google/i.test(c.navigator.vendor)?3:0;if(k||e<=g+m)a.dataset.iAmphtmlHasExpanded="",Ca(a,"height",`${g+d}px`)}))))}function Sa(a){let b=a.ownerDocument,c=b.defaultView,d=b.body,e=F(a),f=a.cloneNode(!1);f.classList.add("i-amphtml-textarea-clone");let h=0,g=0,k=!1;return e.measureMutateElement(d,(()=>{let m=c.getComputedStyle(a)||Ba,t=parseInt(m.getPropertyValue("max-height"),10);h=parseInt(m.getPropertyValue("width"),10);k=isNaN(t)||a.scrollHeight{k&&(a.scrollTop=0);Ca(f,"width",`${h}px`);b.body.appendChild(f)})).then((()=>e.measureMutateElement(d,(()=>{g=f.scrollHeight}),(()=>{xa(f)})))).then((()=>g))}function K(a){let b=a.elements,c={},d=/^(?:input|select|textarea)$/i,e=/^(?:submit|button|image|file|reset)$/i,f=/^(?:checkbox|radio)$/i;for(let g=0;g{Ha.selected&&c[H].push(Ha.value)})):c[H].push(Db))}let h=Ua(a);h&&h.name&&(a=h.name,void 0===c[a]&&(c[a]=[]),c[h.name].push(h.value));Object.keys(c).forEach((g=>{0==c[g].length&&delete c[g]}));return c}function Ua(a){let b=a.elements,c=b.length,d=a.ownerDocument.activeElement;let e=null;for(a=0;a{b.setCustomValidity("")}))}class $a{constructor(a){this.h=a}onCommit(){Za(this);a:{var a=this.h.elements;for(let b=0;ba.T=null;a.T.then(c,c)}return a.T.add(b)}function bb(a,b){let c=[],d=a.na;a.na=b;for(let g=0;gb.every((k=>g.name!==k.name)))).map((g=>a.h.querySelector(`[name="${g.name}"]`)));return{updatedElements:c.concat(h),errors:b}}class Xa extends $a{constructor(a,b){super(a);this.W=b;this.T=null;this.na=[]}qa(){let a=this.W().then((()=>[]),(b=>cb(b)));return ab(this,a).then((b=>bb(this,b)))}}function cb(a){return(a=a.response)?a.json().then((b=>b.verifyErrors||[]),(()=>[])):Promise.resolve([])}function db(a,b){let c=y(a,"platform");return c.isIos()&&11==c.getMajorVersion()?new eb(b):FormData.prototype.entries&&FormData.prototype.delete?new fb(b):new gb(b)}class gb{constructor(a){this.C=a?K(a):Object.create(null)}append(a,b){let c=String(a);this.C[c]=this.C[c]||[];this.C[c].push(String(b))}delete(a){delete this.C[a]}entries(){let a=[];Object.keys(this.C).forEach((c=>{this.C[c].forEach((d=>a.push([c,d])))}));let b=0;return{next(){return b{this.C[b].forEach((c=>a.append(b,c)))}));return a}}class fb{constructor(a){this.D=new FormData(a);a&&(a=Ua(a))&&a.name&&this.append(a.name,a.value)}append(a,b){this.D.append(a,b)}delete(a){this.D.delete(a)}entries(){return this.D.entries()}getFormData(){return this.D}}class eb extends fb{constructor(a){super(a);a&&E(a.elements,(b=>{"file"==b.type&&0==b.files.length&&(this.D.delete(b.name),this.D.append(b.name,new Blob([]),""))}))}append(a,b,c){b&&"object"==typeof b&&""==b.name&&0==b.size?this.D.append(a,new Blob([]),c||""):this.D.append(a,b)}}let hb={INPUT:!0,SELECT:!0,TEXTAREA:!0};function L(a){let b=0{this.remove(a)}}remove(a){if(this.A){var b=this.A;a=b.indexOf(a);-1!=a&&b.splice(a,1)}}removeAll(){this.A&&(this.A.length=0)}fire(a){if(this.A)for(let b of this.A)b(a)}getHandlerCount(){var a,b;return null!==(a=null===(b=this.A)||void 0===b?void 0:b.length)&&void 0!==a?a:0}}class lb{constructor(){this.la=new kb}beforeSubmit(a){return this.la.add(a)}fire(a){this.la.fire(a)}}let mb=new Set(["c","v","a","ad"]);let nb;let ob=a=>"string"==typeof a?M(a):a;function M(a){nb||(nb=self.document.createElement("a"));var b=nb;b.href="";return new URL(a,b.href)}function pb(a,b,c){if(!b)return a;let d=a.split("#",2),e=d[0].split("?",2);let f=e[0]+(e[1]?c?`?${b}&${e[1]}`:`?${e[1]}&${b}`:`?${b}`);return f+=d[1]?`#${d[1]}`:""}function qb(a,b){return`${encodeURIComponent(a)}=${encodeURIComponent(b)}`}function rb(a){let b=[];for(let d in a){var c=a[d];if(null!=c){c=q(c)?c:[c];for(let e=0;e{x(b,"Refused to attempt SSR in untrusted viewer: ",a)}))}ssr(a,b,c=null,d={}){let e;c||(e=this.B.maybeFindTemplate(a));return this.assertTrustedViewer(a).then((()=>this.J.sendMessageAwaitResponse("viewerRenderTemplate",vb(this,b,e,c,d))))}applySsrOrCsrTemplate(a,b){let c;this.isEnabled()?(x("string"===typeof b.html,"Server side html response must be defined"),c=this.assertTrustedViewer(a).then((()=>this.B.findAndSetHtmlForTemplate(a,b.html)))):c=q(b)?this.B.findAndRenderTemplateArray(a,b):this.B.findAndRenderTemplate(a,b);return c}}class xb{constructor(a,b){this.da=b;this.ga=A(a,"viewport");this.ra=y(a.win,"vsync");this.ba=null;this.aa="";this.Z=!1;this.H=a.win.document.createElement("div");Da(this.H,!1);this.H.classList.add("i-amphtml-validation-bubble");this.H.__BUBBLE_OBJ=this;a.getBody().appendChild(this.H)}isActiveOn(a){return this.Z&&a==this.ba}hide(){this.Z&&(this.Z=!1,this.ba=null,this.aa="",this.ra.run({measure:void 0,mutate:yb},{bubbleElement:this.H}))}show(a,b){this.isActiveOn(a)&&b==this.aa||(this.Z=!0,this.ba=a,this.aa=b,this.ra.run({measure:zb,mutate:Ab},{message:b,targetElement:a,bubbleElement:this.H,viewport:this.ga,id:this.da}))}}function yb(a){a.bubbleElement.removeAttribute("aria-alert");a.bubbleElement.removeAttribute("role");for(var b=a.bubbleElement;b.firstChild;)b.removeChild(b.firstChild);Da(a.bubbleElement,!1)}function zb(a){a.targetRect=a.viewport.getLayoutRect(a.targetElement)}function Ab(a){for(var b=a.bubbleElement;b.firstChild;)b.removeChild(b.firstChild);let c=a.bubbleElement.ownerDocument.createElement("div");c.id=`bubble-message-${a.id}`;c.textContent=a.message;a.bubbleElement.setAttribute("aria-labeledby",c.id);a.bubbleElement.setAttribute("role","alert");a.bubbleElement.setAttribute("aria-live","assertive");a.bubbleElement.appendChild(c);Da(a.bubbleElement,!0);b=a.bubbleElement;a={top:`${a.targetRect.top-10}px`,left:`${a.targetRect.left+a.targetRect.width/2}px`};for(let d in a)Ca(b,d,a[d])}let Eb,Fb,Gb=0;function Hb(a,b){E(b.elements,(c=>{"TEXTAREA"==c.tagName&&a.checkInputValidity(c)}))}class Ib{constructor(a){this.form=a;this.ampdoc=B(a);this.mutator=F(a);this.root=this.ampdoc.getRootNode();this.X=null}report(){}onBlur(){}onInput(){}inputs(){return this.form.querySelectorAll("input,select,textarea")}checkInputValidity(a){if("TEXTAREA"===a.tagName&&a.hasAttribute("pattern")&&(a.checkValidity()||"Please match the requested format."===a.validationMessage)){let b=a.getAttribute("pattern"),c=new RegExp(`^${b}$`,"m").test(a.value);a.setCustomValidity(c?"":"Please match the requested format.")}return a.checkValidity()}checkFormValidity(a){Hb(this,a);return a.checkValidity()}reportFormValidity(a){Hb(this,a);return a.reportValidity()}fireValidityEventIfNecessary(){let a=this.X;this.X=this.checkFormValidity(this.form);if(a!==this.X){let b=J(this.form.ownerDocument.defaultView,this.X?"valid":"invalid",null,{bubbles:!0});this.form.dispatchEvent(b)}}}class Jb extends Ib{report(){this.reportFormValidity(this.form);this.fireValidityEventIfNecessary()}}class Kb extends Ib{constructor(a){super(a);let b=`i-amphtml-validation-bubble-${Gb++}`;this.R=new xb(this.ampdoc,b)}report(){let a=this.inputs();for(let b=0;bc.classList.add("visible")))}}hideValidationFor(a){let b=this.getVisibleValidationFor(a);b&&(delete a.__AMP_VISIBLE_VALIDATION,a.removeAttribute("aria-invalid"),a.removeAttribute("aria-describedby"),this.mutator.mutateElement(b,(()=>b.classList.remove("visible"))))}getVisibleValidationFor(a){return a.__AMP_VISIBLE_VALIDATION}shouldValidateOnInteraction(){throw Error("Not Implemented")}onInteraction(a){a=a.target;let b=!!a.checkValidity&&this.shouldValidateOnInteraction(a);this.hideValidationFor(a);b&&!this.checkInputValidity(a)&&this.reportInput(a)}onBlur(a){this.onInteraction(a)}onInput(a){this.onInteraction(a)}}class Nb extends Lb{report(){this.hideAllValidations();let a=this.inputs();for(let b=0;b!0===a.validity[d]));return c.length?c[0]:null}function Sb(a){var b=a.ownerDocument.defaultView;b.FormProxy||(b.FormProxy=Tb(b));let c=new b.FormProxy(a);"action"in c||Ub(a,c);a.$p=c}function Tb(a){function b(f){this.h=f}let c=b.prototype,d=a.Object,e=d.prototype;[a.HTMLFormElement,a.EventTarget].reduce(((f,h)=>{for(h=h&&h.prototype;h&&h!==e&&!(0<=f.indexOf(h));)f.push(h),h=d.getPrototypeOf(h);return f}),[]).forEach((f=>{for(let h in f){let g=a.Object.getOwnPropertyDescriptor(f,h);if(g&&h.toUpperCase()!=h&&!h.startsWith("on")&&!e.hasOwnProperty.call(c,h))if("function"==typeof g.value){let k=g.value;c[h]=function(){return k.apply(this.h,arguments)}}else{let k={};g.get&&(k.get=function(){return g.get.call(this.h)});g.set&&(k.set=function(m){return g.set.call(this.h,m)});a.Object.defineProperty(c,h,k)}}}));return b}function Ub(a,b){var c=a.ownerDocument.defaultView.HTMLFormElement.prototype.cloneNode.call(a,!1);for(let d in c){if(d in b||d.toUpperCase()==d||d.startsWith("on"))continue;let e=Vb[d],f=a[d];if(e){if(e.access==P){let h;if(f&&f.nodeType){c=f;let g=c.nextSibling,k=c.parentNode;k.removeChild(c);try{h=a[d]}finally{k.insertBefore(c,g)}}else h=f;Object.defineProperty(b,d,{get(){return h}})}else if(e.access==Q){let h=e.attr||d;Object.defineProperty(b,d,{get(){var g=b.getAttribute(h);return null==g&&void 0!==e.def?e.def:e.type==Wb?"true"===g:e.type==R?null!=g:e.type==Xb?(g=g||"",D(a,"url").parse(g).href):g},set(g){e.type==R&&(g=g?"":null);null!=g?b.setAttribute(h,g):b.removeAttribute(h)}})}}else Object.defineProperty(b,d,{get(){return a[d]},set(h){a[d]=h}})}}var Q=1,P=2,Xb=1,Wb=2,R=3;let Vb={acceptCharset:{access:Q,attr:"accept-charset"},accessKey:{access:Q,attr:"accesskey"},action:{access:Q,type:Xb},attributes:{access:P},autocomplete:{access:Q,def:"on"},children:{access:P},dataset:{access:P},dir:{access:Q},draggable:{access:Q,type:Wb,def:!1},elements:{access:P},encoding:{access:P},enctype:{access:Q},hidden:{access:Q,type:R,def:!1},id:{access:Q,def:""},lang:{access:Q},localName:{access:P},method:{access:Q,def:"get"},name:{access:Q},noValidate:{access:Q,attr:"novalidate",type:R,def:!1},prefix:{access:P},spellcheck:{access:Q},style:{access:P},target:{access:Q,def:""},title:{access:Q},translate:{access:Q}};function Yb(a,b){let c=a.getHeadNode(),d=Zb(c,$b(c));if(b){let f=a.getRootNode();if(ac(f,d))b(d);else var e=setInterval((()=>{ac(f,d)&&(clearInterval(e),b(d))}),4)}}function Zb(a,b){let c=a.__AMP_CSS_SM;c||(c=a.__AMP_CSS_SM=Object.create(null));let d=bc(a,c,"amp-extension=amp-form");if(d)return d.textContent!==b&&(d.textContent=b),d;let e=(a.ownerDocument||a).createElement("style");e.textContent=b;let f=null;e.setAttribute("amp-extension","amp-form");f=bc(a,c,"amp-runtime");ya(a,e,f);return c["amp-extension=amp-form"]=e}function bc(a,b,c){return b[c]?b[c]:(a=a.querySelector(`style[${c}]`))?b[c]=a:null}function $b(a){return(a=a.__AMP_CSS_TR)?a('form.amp-form-submit-error [submit-error],form.amp-form-submit-success [submit-success],form.amp-form-submitting [submitting]{display:block}textarea[autoexpand]:not(.i-amphtml-textarea-max){overflow:hidden!important}.i-amphtml-textarea-clone{visibility:hidden;position:absolute;top:-9999px;left:-9999px;height:0!important}.i-amphtml-validation-bubble{transform:translate(-50%,-100%);background-color:#fff;box-shadow:0 5px 15px 0 rgba(0,0,0,.5);max-width:200px;position:absolute;display:block;box-sizing:border-box;padding:10px;border-radius:5px}.i-amphtml-validation-bubble:after{content:" ";position:absolute;bottom:-8px;left:30px;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #fff}[visible-when-invalid]{color:red}\n/*# sourceURL=/extensions/amp-form/0.1/amp-form.css*/'):'form.amp-form-submit-error [submit-error],form.amp-form-submit-success [submit-success],form.amp-form-submitting [submitting]{display:block}textarea[autoexpand]:not(.i-amphtml-textarea-max){overflow:hidden!important}.i-amphtml-textarea-clone{visibility:hidden;position:absolute;top:-9999px;left:-9999px;height:0!important}.i-amphtml-validation-bubble{transform:translate(-50%,-100%);background-color:#fff;box-shadow:0 5px 15px 0 rgba(0,0,0,.5);max-width:200px;position:absolute;display:block;box-sizing:border-box;padding:10px;border-radius:5px}.i-amphtml-validation-bubble:after{content:" ";position:absolute;bottom:-8px;left:30px;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #fff}[visible-when-invalid]{color:red}\n/*# sourceURL=/extensions/amp-form/0.1/amp-form.css*/'}function ac(a,b){let c=a.styleSheets;for(a=0;ab.hasAttribute(c)))}function dc(a,b,c={}){za(a,"amp-analytics-instrumentation","amp-analytics").then((d=>{d&&d.triggerEventForTarget(a,b,c,!0)}))}let ec=["amp-selector"];function fc(a,b){let c=a.h.getAttribute(b);if(c){let d=D(a.o,"url");d.assertHttpsUrl(c,a.h,b);x(!d.isProxyOrigin(c),"form %s should not be on AMP CDN: %s",b,a.h)}return c}function gc(a){let b=a.h.getAttribute("enctype");return"application/x-www-form-urlencoded"===b||"multipart/form-data"===b?b:"multipart/form-data"}function hc(a){if("submitting"===a.G)return n();S(a,"verifying");T(a,"verify",null,3);return ic(a,jc(a)).then((()=>kc(a)))}function lc(a){za(a.o,"inputmask","amp-inputmask").then((b=>{b&&b.install()}))}function mc(a){if(!na.cdnProxyRegex.test(ob(a.j.location).origin)&&a.h.hasAttribute("data-initialize-from-url")){var b=["SELECT","TEXTAREA"],c="color date datetime-local email hidden month number range search tel text time url week".split(" "),d=["checkbox","radio"],e=(h,g)=>{if(!h.hasAttribute("data-amp-replace")&&h.hasAttribute("data-allow-initialization")){g=f[g]||"";var k=h.getAttribute("type")||"text",m=h.tagName;"INPUT"===m?c.includes(k.toLocaleLowerCase())?h.value!==g&&(h.value=g):d.includes(k)&&(g=h.value===g,h.checked!==g&&(h.checked=g)):b.includes(m)&&h.value!==g&&(h.value=g)}},f=ja(a.j.location.search);Object.keys(f).forEach((h=>{let g=a.h.elements[h];g&&(g.nodeType===Node.ELEMENT_NODE?e(g,h):g.length&&E(g,(k=>e(k,h))))}))}}function nc(a){let b=a.h.querySelectorAll("input[type=password],input[type=file]");x(0==b.length,"input[type=password] or input[type=file] may only appear in form[method=post]")}function oc(a){if(a.ca)return a.ca;let b=a.h.querySelectorAll(ec.join(",")),c=ca(b).map((d=>d.build()));return a.ca=pc(a,c,2e3)}function qc(a){a.h.reset();S(a,"initial");a.h.classList.remove("user-valid");a.h.classList.remove("user-invalid");let b=a.h.querySelectorAll(".user-valid, .user-invalid");E(b,(d=>{d.classList.remove("user-valid");d.classList.remove("user-invalid")}));let c=a.h.querySelectorAll(".visible[validation-for]");E(c,(d=>{d.classList.remove("visible")}));rc(a.h)}function pc(a,b,c){return Promise.race([Promise.all(b),a.Ba.promise(c)])}function S(a,b){let c=a.G;a.h.classList.remove(`amp-form-${c}`);a.h.classList.add(`amp-form-${b}`);var d=a.h.querySelector(`[${c}]`);d&&(/^[\w-]+$/.test("i-amphtml-rendered"),(d=d.querySelector("> [i-amphtml-rendered]".replace(/^|,/g,"$&:scope ")))&&xa(d));a.G=b}function U(a,b){q(b)&&(b={});let c=a.h.querySelector(`[${a.G}]`);let d=n();if(c){let e=`rendered-message-${a.da}`;c.setAttribute("role","alert");c.setAttribute("aria-labeledby",e);c.setAttribute("aria-live","assertive");a.B.hasTemplate(c)?d=a.O.applySsrOrCsrTemplate(c,b).then((f=>{let h;q(f)?1===f.length?h=f[0]:(h=document.createElement("div"),f.forEach((g=>h.appendChild(g)))):h=f;h.id=e;h.setAttribute("i-amphtml-rendered","");return a.ka.mutateElement(c,(()=>{c.appendChild(h);let g=J(a.j,"amp:dom-update",null,{bubbles:!0});c.dispatchEvent(g)}))})):a.ka.mutateElement(c,(()=>{}))}return d}function T(a,b,c,d){c=J(a.j,`amp-form.${b}`,r({response:c}));a.L.trigger(a.h,b,c,d)}function V(a,b){let c=a.O.isEnabled();x(!1===c,"[amp-form]: viewerRenderTemplate | %s",b)}function W(a,b){V(a,"Form analytics not supported");let c=r({}),d=K(a.h);for(let e in d)Object.prototype.hasOwnProperty.call(d,e)&&(c["formFields["+e+"]"]=d[e].join(","));c.formId=a.h.id;try{dc(a.h,b,c)}catch(e){oa().error("amp-form","Sending analytics failed:",e)}}function sc(a){void 0===Fb&&(Fb=!!a.j.document.createElement("input").checkValidity);if(Fb){let b=tc(a.h);if(a.oa)return a.S.report(),b}return!0}function uc(a,b,c){try{let g={form:a.h,actionXhrMutator:a.setXhrAction.bind(a)};a.ia.fire(g)}catch(g){oa().error("amp-form","Form submit service failed: %s",g)}let d=jc(a),e=a.h.getElementsByClassName("i-amphtml-async-input");a.V.onSubmitting();if(!a.K&&"GET"==a.F){V(a,"Non-XHR GETs not supported.");nc(a);if(0===e.length){for(let g=0;g{let k=wc(a,g);g.classList.contains("i-async-require-action")?f.push(k):h.push(k)}));return Promise.all(f).then((()=>pc(a,h,1e4).then((()=>{if(a.K)var g=xc(a,b);else"POST"==a.F?x(!1,"Only XHR based (via action-xhr attribute) submissions are supported for POST requests. %s",a.h):"GET"==a.F&&vc(a,!0),g=n();return g}),(g=>yc(a,g,b)))),(g=>yc(a,g,b)))}function jc(a){return a.h.querySelectorAll('[type="hidden"][data-amp-replace]')}function vc(a,b){W(a,"amp-form-submit");b&&a.h.submit();S(a,"initial")}function ic(a,b){let c=[];for(let d=0;dc.getValue())).then((c=>{var d=b.getAttribute("name");d=a.h.querySelector(`input[name=${CSS.escape(d)}]`);if(!d){d=r({name:b.getAttribute("name"),hidden:"true"});var e=a.j.document.createElement("input");for(let f in d)e.setAttribute(f,d[f]);d=e}d.setAttribute("value",c);a.h.appendChild(d)}))}function yc(a,b,c){let d={};b&&b.message&&(d.error=b.message);return X(a,b,d,c)}function X(a,b,c,d,e){S(a,"submit-error");w().error("amp-form","Form submission failed: %s",b);return aa((()=>{U(a,c).then((()=>{T(a,"submit-error",void 0===e?c:e,d-1);a.V.onSubmitError()}))}))}function xc(a,b){let c;a.O.isEnabled()?c=zc(a,b):(Ac(a,b),c=a.W(a.K,a.F).then((d=>Bc(a,d,b)),(d=>Cc(a,d,b))));return c}function kc(a){let b=ca(a.h.querySelectorAll(`[${CSS.escape("no-verify")}]`)).map((c=>c.name||c.id));return a.W(a.Ga,a.F,{["__amp_form_verify"]:!0},b)}function zc(a,b){let c=K(a.h);return U(a,c).then((()=>a.L.trigger(a.h,"submit",null,b))).then((()=>{let d=a.requestForFormFetch(a.K,a.F);var e=d.fetchOpt||{};var f=e.method;void 0===f?f="GET":(f=f.toUpperCase(),ub.includes(f));e.method=f;e.headers=e.headers||r({});d.fetchOpt=e;f=d.xhrUrl;e=(e=d.fetchOpt)||{};var h=a.j;h=h.origin||M(h.location.href).origin;f=M(f).origin;h==f&&(e.headers=e.headers||{},e.headers["AMP-Same-Origin"]="true");d.fetchOpt=e;f=a.j;e=d.xhrUrl;if(!1!==d.fetchOpt.ampCors){h=M(e);h=ja(h.search);x(!("__amp_source_origin"in h),"Source origin is not allowed in %s",e);f=f.location.href;f=ob(f);if(na.cdnProxyRegex.test(ob(f).origin)){h=f.pathname.split("/");x(mb.has(h[1]),"Unknown path prefix in url %s",f.href);var g=h[2],k="s"==g?"https://"+decodeURIComponent(h[3]):"http://"+decodeURIComponent(g);x(0Dc(a,d,b)),(d=>{let e={};d&&d.message&&(e.error=d.message);return X(a,d,e,b)}))}function Ac(a,b){W(a,"amp-form-submit");let c=K(a.h);U(a,c).then((()=>{a.L.trigger(a.h,"submit",null,b)}))}function Bc(a,b,c){return a.ha.xssiJson(b,a.getXssiPrefix()).then((d=>Ec(a,d,c)),(d=>w().error("amp-form","Failed to parse response JSON: %s",d))).then((()=>{W(a,"amp-form-submit-success");Fc(a,b)}))}function Cc(a,b,c){return(b&&b.response?a.ha.xssiJson(b.response,a.getXssiPrefix()).catch((()=>null)):Promise.resolve(null)).then((d=>{X(a,b,d,c);W(a,"amp-form-submit-error");Fc(a,b.response)}))}function Dc(a,b,c){var d=b.init;let e=tb(b.body,(f=>w().error("amp-form","Failed to parse response JSON: %s",f)));return d&&(d=d.status,300<=d)?X(a,d,b,c,e):Ec(a,b,c,e)}function Ec(a,b,c,d){S(a,"submit-success");return aa((()=>{U(a,b||{}).then((()=>{T(a,"submit-success",void 0===d?b:d,c-1);a.V.onSubmitSuccess()}))}))}function Fc(a,b){V(a,"Redirects not supported.");if(b&&b.headers){var c=b.headers.get("AMP-Redirect-To");if(c){x(!a.wa,"Redirects not supported in AMP4Email.",a.h);x("_blank"!=a.Aa,"Redirecting to target=_blank using AMP-Redirect-To is currently not supported, use target=_top instead. %s",a.h);try{let d=D(a.o,"url");d.assertAbsoluteHttpOrHttpsUrl(c);d.assertHttpsUrl(c,"AMP-Redirect-To","Url")}catch(d){x(!1,"The `AMP-Redirect-To` header value must be an absolute URL starting with https://. Found %s",c)}A(a.o,"navigation").navigateTo(a.j,c,"AMP-Redirect-To")}}}class Gc{constructor(a,b){try{Sb(a)}catch(c){oa().error("amp-form","form proxy failed to install",c)}a.__AMP_FORM=this;this.da=b;this.N=a.ownerDocument;this.j=this.N.defaultView;this.Ba=z(this.j,"timer");this.h=a;this.o=B(this.h);this.ca=null;this.pa=D(this.o,"url-replace");this.B=A(this.o,"templates");this.ha=y(this.j,"xhr");this.L=D(this.o,"action");this.ka=F(this.o);this.J=A(this.o,"viewer");this.O=new wb(this.J,this.B);this.F=(this.h.getAttribute("method")||"GET").toUpperCase();this.Aa=this.h.getAttribute("target");this.K=fc(this,"action-xhr");this.Ga=fc(this,"verify-xhr");this.va=gc(this);this.oa=!this.h.hasAttribute("novalidate");this.h.setAttribute("novalidate","");this.oa||this.h.setAttribute("amp-novalidate","");this.h.classList.add("i-amphtml-form");this.G="initial";b=this.h.elements;for(let c=0;chc(this)));this.L.addToAllowlist("FORM",["clear","submit"],["email"]);this.L.installActionHandler(this.h,this.ta.bind(this));this.ea();lc(this);mc(this);this.ia=this.ya=this.Fa=null;ta(C(a),"form-submit-service").then((c=>{this.ia=c}));this.wa=this.N&&cc(this.N)}getXssiPrefix(){return this.h.getAttribute("xssi-prefix")}requestForFormFetch(a,b,c,d){let e,f,h=r({Accept:"application/json"});if("GET"==b||"HEAD"==b){nc(this);let g=K(this.h);d&&d.forEach((k=>delete g[k]));c&&fa(g,c);e=pb(a,rb(g))}else{e=a;"application/x-www-form-urlencoded"===this.va?(f=rb(K(this.h)),h=r({Accept:"application/json","Content-Type":"application/x-www-form-urlencoded"})):f=db(this.j,this.h);d&&d.forEach((g=>f.delete(g)));for(let g in c)f.append(g,c[g])}return{xhrUrl:e,fetchOpt:r({body:f,method:b,credentials:"include",headers:h})}}setXhrAction(a){this.K=a}ta(a){if(!a.satisfiesTrust(2))return null;if("submit"==a.method)return oc(this).then((()=>"submitting"!=this.G&&sc(this)?uc(this,a.trust,null):Promise.resolve(null)));"clear"===a.method&&qc(this);return null}ea(){this.o.whenNextVisible().then((()=>{let a=this.h.querySelector("[autofocus]");if(a)try{a.focus()}catch(b){}}));this.h.addEventListener("submit",this.ja.bind(this),!0);this.h.addEventListener("blur",(a=>{Y(a.target);this.S.onBlur(a)}),!0);this.h.addEventListener("amp:form-value-change",(a=>{Y(a.target);this.S.onInput(a)}),!0);this.O.isEnabled()||this.h.addEventListener("change",(a=>{this.Da.onCommit().then((b=>{let c=b.errors;b.updatedElements.forEach(Y);this.S.onBlur(a);"verifying"===this.G&&(c.length?(S(this,"verify-error"),U(this,r({verifyErrors:c})).then((()=>{T(this,"verify-error",c,2)}))):S(this,"initial"))}))}));this.h.addEventListener("input",(a=>{Y(a.target);this.S.onInput(a)}))}ja(a){if("submitting"==this.G||!sc(this))return a.stopImmediatePropagation(),a.preventDefault(),Promise.resolve(null);(this.K||"POST"==this.F)&&a.preventDefault();return uc(this,3,a)}W(a,b,c,d){V(this,"XHRs should be proxied.");a=this.requestForFormFetch(a,b,c,d);return this.ha.fetch(a.xhrUrl,a.fetchOpt)}Ha(){return this.ya}Ia(){return this.Fa}}function tc(a){let b=a.querySelectorAll("input,select,textarea,fieldset");E(b,(c=>Z(c)));return Z(a)}function rc(a){let b=document.createElement("input");for(let c in b.validity){let d=a.querySelectorAll(`.${CSS.escape(c)}`);E(d,(e=>{e.classList.remove(c)}))}}function Z(a,b=!1){if(!a.checkValidity)return!0;let c=!1;var d=a.classList.contains("user-valid")?"valid":a.classList.contains("user-invalid")?"invalid":"none";let e=a.checkValidity();"valid"!=d&&e?(a.classList.add("user-valid"),a.classList.remove("user-invalid"),c="invalid"==d):"invalid"==d||e||(a.classList.add("user-invalid"),a.classList.remove("user-valid"),c=!0);if(a.validity)for(var f in a.validity)a.classList.toggle(f,a.validity[f]);if(b&&c){d=wa(a);for(f=0;f{let b=a.getRootNode();Jc(b.querySelectorAll("form"));La(a);Kc(b);Lc(b)}))}function Jc(a){a&&E(a,((b,c)=>{b.__AMP_FORM||new Gc(b,`amp-form-${c}`)}))}function Kc(a){a.addEventListener("amp:dom-update",(()=>{Jc(a.querySelectorAll("form"))}))}function Lc(a){a.addEventListener("keydown",(b=>{if(!b.defaultPrevented&&"Enter"==b.key&&(b.ctrlKey||b.metaKey)&&"TEXTAREA"===b.target.tagName){var c=b.target.form,d=c?c.__AMP_FORM||null:null;d&&(d.ja(b),b.preventDefault())}}))}class Mc{constructor(a){this.Ea=Hc(a).then((()=>Ic(a)))}whenInitialized(){return this.Ea}}(a=>{a.registerServiceForDoc("form-submit-service",lb);a.registerServiceForDoc("amp-form",Mc)})(self.AMP)}});//# sourceMappingURL=amp-form-0.1.mjs.map