1"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[1936],{1936(q,N,y){y.d(N,{startInputShims:()=>X});var D=y(467),l=y(9596),T=y(7564),L=y(1371),K=y(9043);y(4620),y(4399);const P=new WeakMap,M=(t,e,s,o=0,n=!1)=>{P.has(t)!==s&&(s?H(t,e,o,n):$(t,e))},H=(t,e,s,o=!1)=>{const n=e.parentNode,r=e.cloneNode(!1);r.classList.add("cloned-input"),r.tabIndex=-1,o&&(r.disabled=!0);const i="rtl"===t.ownerDocument.dir;r.style.insetInlineStart=i?n.offsetWidth-e.offsetLeft-e.offsetWidth+"px":`${e.offsetLeft}px`,n.appendChild(r),P.set(t,r);const f=i?9999:-9999;t.style.pointerEvents="none",e.style.transform=`translate3d(${f}px,${s}px,0) scale(0)`},$=(t,e)=>{const s=P.get(t);s&&(P.delete(t),s.remove()),t.style.pointerEvents="",e.style.transform=""},C="input, textarea, [no-blur], [contenteditable]",W="$ionPaddingTimer",x=(t,e,s)=>{const o=t[W];o&&clearTimeout(o),e>0?t.style.setProperty("--keyboard-offset",`${e}px`):t[W]=setTimeout(()=>{t.style.setProperty("--keyboard-offset","0px"),s&&s()},120)},U=(t,e,s)=>{t.addEventListener("focusout",()=>{e&&x(e,0,s)},{once:!0})};let A=0;const O="data-ionic-skip-scroll-assist",J=(t,e,s,o,n,r,a,i=!1)=>{const f=r&&(void 0===a||a.mode===K.a.None);let m=!1;const d=void 0!==l.w?l.w.innerHeight:0,_=S=>{!1!==m?j(t,e,s,o,S.detail.keyboardHeight,f,i,d,!1):m=!0},u=()=>{m=!1,null==l.w||l.w.removeEventListener("ionKeyboardDidShow",_),t.removeEventListener("focusout",u)},h=function(){var S=(0,D.A)(function*(){e.hasAttribute(O)?e.removeAttribute(O):(j(t,e,s,o,n,f,i,d),null==l.w||l.w.addEventListener("ionKeyboardDidShow",_),t.addEventListener("focusout",u))});return function(){return S.apply(this,arguments)}}();return t.addEventListener("focusin",h),()=>{t.removeEventListener("focusin",h),null==l.w||l.w.removeEventListener("ionKeyboardDidShow",_),t.removeEventListener("focusout",u)}},p=t=>{var e;if(document.activeElement===t)return;const s=t.getAttribute("id"),o=t.closest(`label[for="${s}"]`),n=null===(e=document.activeElement)||void 0===e?void 0:e.closest(`label[for="${s}"]`);null!==o&&o===n||(t.setAttribute(O,"true"),t.focus())},j=function(){var t=(0,D.A)(function*(e,s,o,n,r,a,i=!1,f=0,m=!0){if(!o&&!n)return;const d=((t,e,s,o)=>{var n;return((t,e,s,o)=>{const n=t.top,r=t.bottom,a=e.top,f=a+15,d=Math.min(e.bottom,o-s)-50-r,_=f-n,u=Math.round(d<0?-d:_>0?-_:0),h=Math.min(u,n-a),w=Math.abs(h)/.3;return{scrollAmount:h,scrollDuration:Math.min(400,Math.max(150,w)),scrollPadding:s,inputSafeY:4-(n-f)}})((null!==(n=t.closest("ion-item,[ion-item]"))&&void 0!==n?n:t).getBoundingClientRect(),e.getBoundingClientRect(),s,o)})(e,o||n,r,f);if(o&&Math.abs(d.scrollAmount)<4)return p(s),void(a&&null!==o&&(x(o,A),U(s,o,()=>A=0)));if(M(e,s,!0,d.inputSafeY,i),p(s),a&&o&&(A=d.scrollPadding,x(o,A)),typeof window<"u"){let _;const u=function(){var S=(0,D.A)(function*(){void 0!==_&&clearTimeout(_),window.removeEventListener("ionKeyboardDidShow",h),window.removeEventListener("ionKeyboardDidShow",u),o&&(yield(0,T.c)(o,0,d.scrollAmount,d.scrollDuration)),M(e,s,!1,d.inputSafeY),document.activeElement===s&&p(s),a&&U(s,o,()=>A=0)});return function(){return S.apply(this,arguments)}}(),h=()=>{window.removeEventListener("ionKeyboardDidShow",h),window.addEventListener("ionKeyboardDidShow",u)};if(o){const S=yield(0,T.g)(o);if(m&&d.scrollAmount>S.scrollHeight-S.clientHeight-S.scrollTop)return"password"===s.type?(d.scrollAmount+=50,window.addEventListener("ionKeyboardDidShow",h)):window.addEventListener("ionKeyboardDidShow",u),void(_=setTimeout(u,1e3))}u()}});return function(s,o,n,r,a,i){return t.apply(this,arguments)}}(),X=function(){var t=(0,D.A)(function*(e,s){if(void 0===l.d)return;const o="ios"===s,n="android"===s,r=e.getNumber("keyboardHeight",290),a=e.getBoolean("scrollAssist",!0),i=e.getBoolean("hideCaretOnScroll",o),f=e.getBoolean("inputBlurring",!1),m=e.getBoolean("scrollPadding",!0),d=Array.from(l.d.querySelectorAll("ion-input, ion-textarea")),_=new WeakMap,u=new WeakMap,h=yield K.K.getResizeMode(),S=function(){var v=(0,D.A)(function*(c){yield new Promise(I=>(0,L.c)(c,I));const B=c.shadowRoot||c,b=B.querySelector("input")||B.querySelector("textarea"),g=(0,T.f)(c),F=g?null:c.closest("ion-footer");if(b){if(g&&i&&!_.has(c)){const I=((t,e,s)=>{if(!s||!e)return()=>{};const o=i=>{(t=>t===t.getRootNode().activeElement)(e)&&M(t,e,i)},n=()=>M(t,e,!1),r=()=>o(!0),a=()=>o(!1);return(0,L.f)(s,"ionScrollStart",r),(0,L.f)(s,"ionScrollEnd",a),e.addEventListener("blur",n),()=>{(0,L.m)(s,"ionScrollStart",r),(0,L.m)(s,"ionScrollEnd",a),e.removeEventListener("blur",n)}})(c,b,g);_.set(c,I)}if("date"!==b.type&&"datetime-local"!==b.type&&(g||F)&&a&&!u.has(c)){const I=J(c,b,g,F,r,m,h,n);u.set(c,I)}}});return function(B){return v.apply(this,arguments)}}();f&&(()=>{let t=!0,e=!1;const s=document;(0,L.f)(s,"ionScrollStart",()=>{e=!0}),s.addEventListener("focusin",()=>{t=!0},!0),s.addEventListener("touchend",a=>{if(e)return void(e=!1);const i=s.activeElement;if(!i||i.matches(C))return;const f=a.target;f!==i&&(f.matches(C)||f.closest(C)||(t=!1,setTimeout(()=>{t||i.blur()},50)))},!1)})();for(const v of d)S(v);l.d.addEventListener("ionInputDidLoad",v=>{S(v.detail)}),l.d.addEventListener("ionInputDidUnload",v=>{(v=>{if(i){const c=_.get(v);c&&c(),_.delete(v)}if(a){const c=u.get(v);c&&c(),u.delete(v)}})(v.detail)})});return function(s,o){return t.apply(this,arguments)}}()}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.