1
0
Files
medical-notes/content/.obsidian/plugins/image-converter/main.js
Johan Dahlin 66bd11f5fb
All checks were successful
Deploy Quartz site to GitHub Pages / build (push) Successful in 1m18s
vault backup: 2025-12-09 23:26:28
2025-12-09 23:26:28 +01:00

7 lines
2.5 MiB
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
var Ca=Object.create,et=Object.defineProperty,Ba=Object.getOwnPropertyDescriptor,xa=Object.getOwnPropertyNames,Za=Object.getPrototypeOf,Ia=Object.prototype.hasOwnProperty,Ea=(i,e)=>()=>(i&&(e=i(i=0)),e),Wn=(i,e)=>()=>(e||i((e={exports:{}}).exports,e),e.exports),ro=(i,e)=>{for(var r in e)et(i,r,{get:e[r],enumerable:!0})},to=(i,e,r,t)=>{if(e&&"object"==typeof e||"function"==typeof e)for(let n of xa(e))!Ia.call(i,n)&&n!==r&&et(i,n,{get:()=>e[n],enumerable:!(t=Ba(e,n))||t.enumerable});return i},Me=(i,e,r)=>(r=null!=i?Ca(Za(i)):{},to(!e&&i&&i.__esModule?r:et(r,"default",{value:i,enumerable:!0}),i)),Fa=i=>to(et({},"__esModule",{value:!0}),i),no=Wn((i,e)=>{var r,t;r=i,t=function(){"use strict";function i(i,e){var r,t=Object.keys(i);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(i),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(i,e).enumerable})),t.push.apply(t,r)),t}function e(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?i(Object(t),!0).forEach(function(i){var r,n;r=e,i=t[n=i],n in r?Object.defineProperty(r,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):r[n]=i}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(t,i))})}return e}function r(i){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(i){return typeof i}:function(i){return i&&"function"==typeof Symbol&&i.constructor===Symbol&&i!==Symbol.prototype?"symbol":typeof i})(i)}function t(){return(t=Object.assign||function(i){for(var e=1;e<arguments.length;e++){var r,t=arguments[e];for(r in t)Object.prototype.hasOwnProperty.call(t,r)&&(i[r]=t[r])}return i}).apply(this,arguments)}function n(i){return function(i){if(Array.isArray(i))return f(i)}(i)||function(i){if(typeof Symbol<"u"&&null!=i[Symbol.iterator]||null!=i["@@iterator"])return Array.from(i)}(i)||function(i,e){if(i){if("string"==typeof i)return f(i,e);var r=Object.prototype.toString.call(i).slice(8,-1);return"Map"===(r="Object"===r&&i.constructor?i.constructor.name:r)||"Set"===r?Array.from(i):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?f(i,e):void 0}}(i)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(i,e){(null==e||e>i.length)&&(e=i.length);for(var r=0,t=new Array(e);r<e;r++)t[r]=i[r];return t}function a(i){if(typeof window<"u"&&window.navigator)return!!navigator.userAgent.match(i)}var o=a(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),A=a(/Edge/i),s=a(/firefox/i),l=a(/safari/i)&&!a(/chrome/i)&&!a(/android/i),k=a(/iP(ad|od|hone)/i),h=a(/chrome/i)&&a(/android/i),u={capture:!1,passive:!1};function c(i,e,r){i.addEventListener(e,r,!o&&u)}function d(i,e,r){i.removeEventListener(e,r,!o&&u)}function b(i,e){if(e&&(">"===e[0]&&(e=e.substring(1)),i))try{if(i.matches)return i.matches(e);if(i.msMatchesSelector)return i.msMatchesSelector(e);if(i.webkitMatchesSelector)return i.webkitMatchesSelector(e)}catch{return}}function p(i){return i.host&&i!==document&&i.host.nodeType?i.host:i.parentNode}function g(i,e,r,t){if(i){r=r||document;do{if(null!=e&&(">"!==e[0]||i.parentNode===r)&&b(i,e)||t&&i===r)return i}while(i!==r&&(i=p(i)))}return null}var m,v=/\s+/g;function w(i,e,r){var t;i&&e&&(i.classList?i.classList[r?"add":"remove"](e):(t=(" "+i.className+" ").replace(v," ").replace(" "+e+" "," "),i.className=(t+(r?" "+e:"")).replace(v," ")))}function _(i,e,r){var t=i&&i.style;if(t){if(void 0===r)return document.defaultView&&document.defaultView.getComputedStyle?r=document.defaultView.getComputedStyle(i,""):i.currentStyle&&(r=i.currentStyle),void 0===e?r:r[e];t[e=e in t||-1!==e.indexOf("webkit")?e:"-webkit-"+e]=r+("string"==typeof r?"":"px")}}function y(i,e){var r="";if("string"==typeof i)r=i;else do{var t=_(i,"transform")}while(t&&"none"!==t&&(r=t+" "+r),!e&&(i=i.parentNode));var n=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return n&&new n(r)}function C(i,e,r){if(i){var t=i.getElementsByTagName(e),n=0,f=t.length;if(r)for(;n<f;n++)r(t[n],n);return t}return[]}function B(){return document.scrollingElement||document.documentElement}function x(i,e,r,t,n){if(i.getBoundingClientRect||i===window){var f,a,A,s,l,k,h=i!==window&&i.parentNode&&i!==B()?(a=(f=i.getBoundingClientRect()).top,A=f.left,s=f.bottom,l=f.right,k=f.height,f.width):(A=a=0,s=window.innerHeight,l=window.innerWidth,k=window.innerHeight,window.innerWidth);if((e||r)&&i!==window&&(n=n||i.parentNode,!o))do{if(n&&n.getBoundingClientRect&&("none"!==_(n,"transform")||r&&"static"!==_(n,"position"))){var u=n.getBoundingClientRect();a-=u.top+parseInt(_(n,"border-top-width")),A-=u.left+parseInt(_(n,"border-left-width")),s=a+f.height,l=A+f.width;break}}while(n=n.parentNode);return t&&i!==window&&(t=(e=y(n||i))&&e.a,i=e&&e.d,e&&(s=(a/=i)+(k/=i),l=(A/=t)+(h/=t))),{top:a,left:A,bottom:s,right:l,width:h,height:k}}}function Z(i,e,r){for(var t=S(i,!0),n=x(i)[e];t;){var f=x(t)[r];if(!("top"===r||"left"===r?f<=n:n<=f))return t;if(t===B())break;t=S(t,!1)}return!1}function I(i,e,r,t){for(var n=0,f=0,a=i.children;f<a.length;){if("none"!==a[f].style.display&&a[f]!==Ri.ghost&&(t||a[f]!==Ri.dragged)&&g(a[f],r.draggable,i,!1)){if(n===e)return a[f];n++}f++}return null}function W(i,e){for(var r=i.lastElementChild;r&&(r===Ri.ghost||"none"===_(r,"display")||e&&!b(r,e));)r=r.previousElementSibling;return r||null}function E(i,e){var r=0;if(!i||!i.parentNode)return-1;for(;i=i.previousElementSibling;)"TEMPLATE"===i.nodeName.toUpperCase()||i===Ri.clone||e&&!b(i,e)||r++;return r}function F(i){var e=0,r=0,t=B();if(i)do{var n=(f=y(i)).a,f=f.d}while(e+=i.scrollLeft*n,r+=i.scrollTop*f,i!==t&&(i=i.parentNode));return[e,r]}function S(i,e){if(!i||!i.getBoundingClientRect)return B();var r=i,t=!1;do{if(r.clientWidth<r.scrollWidth||r.clientHeight<r.scrollHeight){var n=_(r);if(r.clientWidth<r.scrollWidth&&("auto"==n.overflowX||"scroll"==n.overflowX)||r.clientHeight<r.scrollHeight&&("auto"==n.overflowY||"scroll"==n.overflowY)){if(!r.getBoundingClientRect||r===document.body)return B();if(t||e)return r;t=!0}}}while(r=r.parentNode);return B()}function X(i,e){return Math.round(i.top)===Math.round(e.top)&&Math.round(i.left)===Math.round(e.left)&&Math.round(i.height)===Math.round(e.height)&&Math.round(i.width)===Math.round(e.width)}function V(i,e){return function(){var r;m||(1===(r=arguments).length?i.call(this,r[0]):i.apply(this,r),m=setTimeout(function(){m=void 0},e))}}function G(i,e,r){i.scrollLeft+=e,i.scrollTop+=r}function D(i){var e=window.Polymer,r=window.jQuery||window.Zepto;return e&&e.dom?e.dom(i).cloneNode(!0):r?r(i).clone(!0)[0]:i.cloneNode(!0)}function M(i,e){_(i,"position","absolute"),_(i,"top",e.top),_(i,"left",e.left),_(i,"width",e.width),_(i,"height",e.height)}function R(i){_(i,"position",""),_(i,"top",""),_(i,"left",""),_(i,"width",""),_(i,"height","")}function T(i,e,r){var t={};return Array.from(i.children).forEach(function(n){var f;g(n,e.draggable,i,!1)&&!n.animated&&n!==r&&(f=x(n),t.left=Math.min(null!==(n=t.left)&&void 0!==n?n:1/0,f.left),t.top=Math.min(null!==(n=t.top)&&void 0!==n?n:1/0,f.top),t.right=Math.max(null!==(n=t.right)&&void 0!==n?n:-1/0,f.right),t.bottom=Math.max(null!==(n=t.bottom)&&void 0!==n?n:-1/0,f.bottom))}),t.width=t.right-t.left,t.height=t.bottom-t.top,t.x=t.left,t.y=t.top,t}var P="Sortable"+(new Date).getTime(),N=[],Q={initializeByDefault:!0},Y={mount:function(i){for(var e in Q)!Q.hasOwnProperty(e)||e in i||(i[e]=Q[e]);N.forEach(function(e){if(e.pluginName===i.pluginName)throw"Sortable: Cannot mount plugin ".concat(i.pluginName," more than once")}),N.push(i)},pluginEvent:function(i,r,t){var n=this;this.eventCanceled=!1,t.cancel=function(){n.eventCanceled=!0};var f=i+"Global";N.forEach(function(n){r[n.pluginName]&&(r[n.pluginName][f]&&r[n.pluginName][f](e({sortable:r},t)),r.options[n.pluginName]&&r[n.pluginName][i]&&r[n.pluginName][i](e({sortable:r},t)))})},initializePlugins:function(i,e,r,n){for(var f in N.forEach(function(n){var f=n.pluginName;(i.options[f]||n.initializeByDefault)&&((n=new n(i,e,i.options)).sortable=i,n.options=i.options,i[f]=n,t(r,n.defaults))}),i.options){var a;i.options.hasOwnProperty(f)&&void 0!==(a=this.modifyOption(i,f,i.options[f]))&&(i.options[f]=a)}},getEventProperties:function(i,e){var r={};return N.forEach(function(n){"function"==typeof n.eventProperties&&t(r,n.eventProperties.call(e[n.pluginName],i))}),r},modifyOption:function(i,e,r){var t;return N.forEach(function(n){i[n.pluginName]&&n.optionListeners&&"function"==typeof n.optionListeners[e]&&(t=n.optionListeners[e].call(i[n.pluginName],r))}),t}};function O(i){var r=i.sortable,t=i.rootEl,n=i.name,f=i.targetEl,a=i.cloneEl,s=i.toEl,l=i.fromEl,k=i.oldIndex,h=i.newIndex,u=i.oldDraggableIndex,c=i.newDraggableIndex,d=i.originalEvent,b=i.putSortable,p=i.extraEventProperties;if(r=r||t&&t[P]){var g,m=r.options;i="on"+n.charAt(0).toUpperCase()+n.substr(1),!window.CustomEvent||o||A?(g=document.createEvent("Event")).initEvent(n,!0,!0):g=new CustomEvent(n,{bubbles:!0,cancelable:!0}),g.to=s||t,g.from=l||t,g.item=f||t,g.clone=a,g.oldIndex=k,g.newIndex=h,g.oldDraggableIndex=u,g.newDraggableIndex=c,g.originalEvent=d,g.pullMode=b?b.lastPutMode:void 0;var v,w=e(e({},p),Y.getEventProperties(n,r));for(v in w)g[v]=w[v];t&&t.dispatchEvent(g),m[i]&&m[i].call(r,g)}}function z(i,r){var t=(n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{}).evt,n=function(i,e){if(null==i)return{};var r,t=function(i,e){if(null==i)return{};for(var r,t={},n=Object.keys(i),f=0;f<n.length;f++)r=n[f],0<=e.indexOf(r)||(t[r]=i[r]);return t}(i,e);if(Object.getOwnPropertySymbols)for(var n=Object.getOwnPropertySymbols(i),f=0;f<n.length;f++)r=n[f],0<=e.indexOf(r)||Object.prototype.propertyIsEnumerable.call(i,r)&&(t[r]=i[r]);return t}(n,J);Y.pluginEvent.bind(Ri)(i,r,e({dragEl:j,parentEl:H,ghostEl:L,rootEl:$,nextEl:K,lastDownEl:q,cloneEl:ii,cloneHidden:ei,dragStarted:ci,putSortable:oi,activeSortable:Ri.active,originalEvent:t,oldIndex:ri,oldDraggableIndex:ni,newIndex:ti,newDraggableIndex:fi,hideGhostForTarget:Vi,unhideGhostForTarget:Gi,cloneNowHidden:function(){ei=!0},cloneNowShown:function(){ei=!1},dispatchSortableEvent:function(i){U({sortable:r,name:i,originalEvent:t})}},n))}var J=["evt"];function U(i){O(e({putSortable:oi,cloneEl:ii,targetEl:j,rootEl:$,oldIndex:ri,oldDraggableIndex:ni,newIndex:ti,newDraggableIndex:fi},i))}var j,H,L,$,K,q,ii,ei,ri,ti,ni,fi,ai,oi,Ai,si,li,ki,hi,ui,ci,di,bi,pi,gi,mi=!1,vi=!1,wi=[],_i=!1,yi=!1,Ci=[],Bi=!1,xi=[],Zi=typeof document<"u",Ii=k,Wi=A||o?"cssFloat":"float",Ei=Zi&&!h&&!k&&"draggable"in document.createElement("div"),Fi=function(){if(Zi){if(o)return!1;var i=document.createElement("x");return i.style.cssText="pointer-events:auto","auto"===i.style.pointerEvents}}(),Si=function(i,e){var r=_(i),t=parseInt(r.width)-parseInt(r.paddingLeft)-parseInt(r.paddingRight)-parseInt(r.borderLeftWidth)-parseInt(r.borderRightWidth),n=I(i,0,e),f=I(i,1,e),a=n&&_(n),o=f&&_(f),A=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+x(n).width;return i=o&&parseInt(o.marginLeft)+parseInt(o.marginRight)+x(f).width,"flex"===r.display?"column"===r.flexDirection||"column-reverse"===r.flexDirection?"vertical":"horizontal":"grid"===r.display?r.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal":n&&a.float&&"none"!==a.float?(e="left"===a.float?"left":"right",!f||"both"!==o.clear&&o.clear!==e?"horizontal":"vertical"):n&&("block"===a.display||"flex"===a.display||"table"===a.display||"grid"===a.display||t<=A&&"none"===r[Wi]||f&&"none"===r[Wi]&&t<A+i)?"vertical":"horizontal"},Xi=function(i){function e(i,r){return function(t,n,f,a){var o=t.options.group.name&&n.options.group.name&&t.options.group.name===n.options.group.name;return!(null!=i||!r&&!o)||null!=i&&!1!==i&&(r&&"clone"===i?i:"function"==typeof i?e(i(t,n,f,a),r)(t,n,f,a):(n=(r?t:n).options.group.name,!0===i||"string"==typeof i&&i===n||i.join&&-1<i.indexOf(n)))}}var t={},n=i.group;n&&"object"==r(n)||(n={name:n}),t.name=n.name,t.checkPull=e(n.pull,!0),t.checkPut=e(n.put),t.revertClone=n.revertClone,i.group=t},Vi=function(){!Fi&&L&&_(L,"display","none")},Gi=function(){!Fi&&L&&_(L,"display","")};function Di(i){if(j){i=i.touches?i.touches[0]:i;var e=(n=i.clientX,f=i.clientY,wi.some(function(i){if((t=i[P].options.emptyInsertThreshold)&&!W(i)){var e=x(i),r=n>=e.left-t&&n<=e.right+t,t=f>=e.top-t&&f<=e.bottom+t;return r&&t?a=i:void 0}}),a);if(e){var r,t={};for(r in i)i.hasOwnProperty(r)&&(t[r]=i[r]);t.target=t.rootEl=e,t.preventDefault=void 0,t.stopPropagation=void 0,e[P]._onDragOver(t)}}var n,f,a}function Mi(i){j&&j.parentNode[P]._isOutsideThisEl(i.target)}function Ri(i,r){if(!i||!i.nodeType||1!==i.nodeType)throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(i));this.el=i,this.options=r=t({},r),i[P]=this;var n,f,a={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(i.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return Si(i,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(i,e){i.setData("Text",e.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==Ri.supportPointer&&"PointerEvent"in window&&(!l||k),emptyInsertThreshold:5};for(n in Y.initializePlugins(this,i,a),a)n in r||(r[n]=a[n]);for(f in Xi(r),this)"_"===f.charAt(0)&&"function"==typeof this[f]&&(this[f]=this[f].bind(this));this.nativeDraggable=!r.forceFallback&&Ei,this.nativeDraggable&&(this.options.touchStartThreshold=1),r.supportPointer?c(i,"pointerdown",this._onTapStart):(c(i,"mousedown",this._onTapStart),c(i,"touchstart",this._onTapStart)),this.nativeDraggable&&(c(i,"dragover",this),c(i,"dragenter",this)),wi.push(this.el),r.store&&r.store.get&&this.sort(r.store.get(this)||[]),t(this,function(){var i,r=[];return{captureAnimationState:function(){r=[],this.options.animation&&[].slice.call(this.el.children).forEach(function(i){var t,n;"none"!==_(i,"display")&&i!==Ri.ghost&&(r.push({target:i,rect:x(i)}),t=e({},r[r.length-1].rect),!i.thisAnimationDuration||(n=y(i,!0))&&(t.top-=n.f,t.left-=n.e),i.fromRect=t)})},addAnimationState:function(i){r.push(i)},removeAnimationState:function(i){r.splice(function(i,e){for(var r in i)if(i.hasOwnProperty(r))for(var t in e)if(e.hasOwnProperty(t)&&e[t]===i[r][t])return Number(r);return-1}(r,{target:i}),1)},animateAll:function(e){var t=this;if(!this.options.animation)return clearTimeout(i),void("function"==typeof e&&e());var n=!1,f=0;r.forEach(function(i){var e=0,r=i.target,a=r.fromRect,o=x(r),A=r.prevFromRect,s=r.prevToRect,l=i.rect,k=y(r,!0);k&&(o.top-=k.f,o.left-=k.e),r.toRect=o,r.thisAnimationDuration&&X(A,o)&&!X(a,o)&&(l.top-o.top)/(l.left-o.left)==(a.top-o.top)/(a.left-o.left)&&(i=l,k=A,A=s,s=t.options,e=Math.sqrt(Math.pow(k.top-i.top,2)+Math.pow(k.left-i.left,2))/Math.sqrt(Math.pow(k.top-A.top,2)+Math.pow(k.left-A.left,2))*s.animation),X(o,a)||(r.prevFromRect=a,r.prevToRect=o,e=e||t.options.animation,t.animate(r,l,o,e)),e&&(n=!0,f=Math.max(f,e),clearTimeout(r.animationResetTimer),r.animationResetTimer=setTimeout(function(){r.animationTime=0,r.prevFromRect=null,r.fromRect=null,r.prevToRect=null,r.thisAnimationDuration=null},e),r.thisAnimationDuration=e)}),clearTimeout(i),n?i=setTimeout(function(){"function"==typeof e&&e()},f):"function"==typeof e&&e(),r=[]},animate:function(i,e,r,t){var n,f;t&&(_(i,"transition",""),_(i,"transform",""),n=(f=y(this.el))&&f.a,f=f&&f.d,n=(e.left-r.left)/(n||1),f=(e.top-r.top)/(f||1),i.animatingX=!!n,i.animatingY=!!f,_(i,"transform","translate3d("+n+"px,"+f+"px,0)"),this.forRepaintDummy=i.offsetWidth,_(i,"transition","transform "+t+"ms"+(this.options.easing?" "+this.options.easing:"")),_(i,"transform","translate3d(0,0,0)"),"number"==typeof i.animated&&clearTimeout(i.animated),i.animated=setTimeout(function(){_(i,"transition",""),_(i,"transform",""),i.animated=!1,i.animatingX=!1,i.animatingY=!1},t))}}}())}function Ti(i,e,r,t,n,f,a,s){var l,k,h=i[P],u=h.options.onMove;return!window.CustomEvent||o||A?(l=document.createEvent("Event")).initEvent("move",!0,!0):l=new CustomEvent("move",{bubbles:!0,cancelable:!0}),l.to=e,l.from=i,l.dragged=r,l.draggedRect=t,l.related=n||e,l.relatedRect=f||x(e),l.willInsertAfter=s,l.originalEvent=a,i.dispatchEvent(l),u?u.call(h,l,a):k}function Pi(i){i.draggable=!1}function Ni(){Bi=!1}function Qi(i){return setTimeout(i,0)}function Yi(i){return clearTimeout(i)}Zi&&!h&&document.addEventListener("click",function(i){if(vi)return i.preventDefault(),i.stopPropagation&&i.stopPropagation(),i.stopImmediatePropagation&&i.stopImmediatePropagation(),vi=!1},!0),Ri.prototype={constructor:Ri,_isOutsideThisEl:function(i){this.el.contains(i)||i===this.el||(di=null)},_getDirection:function(i,e){return"function"==typeof this.options.direction?this.options.direction.call(this,i,e,j):this.options.direction},_onTapStart:function(i){if(i.cancelable){var e=this,r=this.el,t=this.options,n=t.preventOnFilter,f=i.type,a=i.touches&&i.touches[0]||i.pointerType&&"touch"===i.pointerType&&i,o=(a||i).target,A=i.target.shadowRoot&&(i.path&&i.path[0]||i.composedPath&&i.composedPath()[0])||o,s=t.filter;if(function(i){xi.length=0;for(var e=i.getElementsByTagName("input"),r=e.length;r--;){var t=e[r];t.checked&&xi.push(t)}}(r),!j&&!(/mousedown|pointerdown/.test(f)&&0!==i.button||t.disabled)&&!A.isContentEditable&&(this.nativeDraggable||!l||!o||"SELECT"!==o.tagName.toUpperCase())&&!((o=g(o,t.draggable,r,!1))&&o.animated||q===o)){if(ri=E(o),ni=E(o,t.draggable),"function"==typeof s){if(s.call(this,i,o,this))return U({sortable:e,rootEl:A,name:"filter",targetEl:o,toEl:r,fromEl:r}),z("filter",e,{evt:i}),void(n&&i.preventDefault())}else if(s=s&&s.split(",").some(function(t){if(t=g(A,t.trim(),r,!1))return U({sortable:e,rootEl:t,name:"filter",targetEl:o,fromEl:r,toEl:r}),z("filter",e,{evt:i}),!0}))return void(n&&i.preventDefault());t.handle&&!g(A,t.handle,r,!1)||this._prepareDragStart(i,a,o)}}},_prepareDragStart:function(i,e,r){var t,n=this,f=n.el,a=n.options,l=f.ownerDocument;r&&!j&&r.parentNode===f&&(t=x(r),$=f,H=(j=r).parentNode,K=j.nextSibling,q=r,ai=a.group,Ai={target:Ri.dragged=j,clientX:(e||i).clientX,clientY:(e||i).clientY},hi=Ai.clientX-t.left,ui=Ai.clientY-t.top,this._lastX=(e||i).clientX,this._lastY=(e||i).clientY,j.style["will-change"]="all",t=function(){z("delayEnded",n,{evt:i}),Ri.eventCanceled?n._onDrop():(n._disableDelayedDragEvents(),!s&&n.nativeDraggable&&(j.draggable=!0),n._triggerDragStart(i,e),U({sortable:n,name:"choose",originalEvent:i}),w(j,a.chosenClass,!0))},a.ignore.split(",").forEach(function(i){C(j,i.trim(),Pi)}),c(l,"dragover",Di),c(l,"mousemove",Di),c(l,"touchmove",Di),a.supportPointer?(c(l,"pointerup",n._onDrop),this.nativeDraggable||c(l,"pointercancel",n._onDrop)):(c(l,"mouseup",n._onDrop),c(l,"touchend",n._onDrop),c(l,"touchcancel",n._onDrop)),s&&this.nativeDraggable&&(this.options.touchStartThreshold=4,j.draggable=!0),z("delayStart",this,{evt:i}),!a.delay||a.delayOnTouchOnly&&!e||this.nativeDraggable&&(A||o)?t():Ri.eventCanceled?this._onDrop():(a.supportPointer?(c(l,"pointerup",n._disableDelayedDrag),c(l,"pointercancel",n._disableDelayedDrag)):(c(l,"mouseup",n._disableDelayedDrag),c(l,"touchend",n._disableDelayedDrag),c(l,"touchcancel",n._disableDelayedDrag)),c(l,"mousemove",n._delayedDragTouchMoveHandler),c(l,"touchmove",n._delayedDragTouchMoveHandler),a.supportPointer&&c(l,"pointermove",n._delayedDragTouchMoveHandler),n._dragStartTimer=setTimeout(t,a.delay)))},_delayedDragTouchMoveHandler:function(i){i=i.touches?i.touches[0]:i,Math.max(Math.abs(i.clientX-this._lastX),Math.abs(i.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){j&&Pi(j),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var i=this.el.ownerDocument;d(i,"mouseup",this._disableDelayedDrag),d(i,"touchend",this._disableDelayedDrag),d(i,"touchcancel",this._disableDelayedDrag),d(i,"pointerup",this._disableDelayedDrag),d(i,"pointercancel",this._disableDelayedDrag),d(i,"mousemove",this._delayedDragTouchMoveHandler),d(i,"touchmove",this._delayedDragTouchMoveHandler),d(i,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(i,e){e=e||"touch"==i.pointerType&&i,!this.nativeDraggable||e?this.options.supportPointer?c(document,"pointermove",this._onTouchMove):c(document,e?"touchmove":"mousemove",this._onTouchMove):(c(j,"dragend",this),c($,"dragstart",this._onDragStart));try{document.selection?Qi(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(i,e){var r;mi=!1,$&&j?(z("dragStarted",this,{evt:e}),this.nativeDraggable&&c(document,"dragover",Mi),r=this.options,i||w(j,r.dragClass,!1),w(j,r.ghostClass,!0),Ri.active=this,i&&this._appendGhost(),U({sortable:this,name:"start",originalEvent:e})):this._nulling()},_emulateDragOver:function(){if(si){this._lastX=si.clientX,this._lastY=si.clientY,Vi();for(var i=document.elementFromPoint(si.clientX,si.clientY),e=i;i&&i.shadowRoot&&(i=i.shadowRoot.elementFromPoint(si.clientX,si.clientY))!==e;)e=i;if(j.parentNode[P]._isOutsideThisEl(i),e)do{if(e[P]&&e[P]._onDragOver({clientX:si.clientX,clientY:si.clientY,target:i,rootEl:e})&&!this.options.dragoverBubble)break}while(e=p(i=e));Gi()}},_onTouchMove:function(i){if(Ai){var e=(o=this.options).fallbackTolerance,r=o.fallbackOffset,t=i.touches?i.touches[0]:i,n=L&&y(L,!0),f=L&&n&&n.a,a=L&&n&&n.d,o=Ii&&gi&&F(gi);if(f=(t.clientX-Ai.clientX+r.x)/(f||1)+(o?o[0]-Ci[0]:0)/(f||1),a=(t.clientY-Ai.clientY+r.y)/(a||1)+(o?o[1]-Ci[1]:0)/(a||1),!Ri.active&&!mi){if(e&&Math.max(Math.abs(t.clientX-this._lastX),Math.abs(t.clientY-this._lastY))<e)return;this._onDragStart(i,!0)}L&&(n?(n.e+=f-(li||0),n.f+=a-(ki||0)):n={a:1,b:0,c:0,d:1,e:f,f:a},n="matrix(".concat(n.a,",").concat(n.b,",").concat(n.c,",").concat(n.d,",").concat(n.e,",").concat(n.f,")"),_(L,"webkitTransform",n),_(L,"mozTransform",n),_(L,"msTransform",n),_(L,"transform",n),li=f,ki=a,si=t),i.cancelable&&i.preventDefault()}},_appendGhost:function(){if(!L){var i=this.options.fallbackOnBody?document.body:$,e=x(j,!0,Ii,!0,i),r=this.options;if(Ii){for(gi=i;"static"===_(gi,"position")&&"none"===_(gi,"transform")&&gi!==document;)gi=gi.parentNode;gi!==document.body&&gi!==document.documentElement?(gi===document&&(gi=B()),e.top+=gi.scrollTop,e.left+=gi.scrollLeft):gi=B(),Ci=F(gi)}w(L=j.cloneNode(!0),r.ghostClass,!1),w(L,r.fallbackClass,!0),w(L,r.dragClass,!0),_(L,"transition",""),_(L,"transform",""),_(L,"box-sizing","border-box"),_(L,"margin",0),_(L,"top",e.top),_(L,"left",e.left),_(L,"width",e.width),_(L,"height",e.height),_(L,"opacity","0.8"),_(L,"position",Ii?"absolute":"fixed"),_(L,"zIndex","100000"),_(L,"pointerEvents","none"),Ri.ghost=L,i.appendChild(L),_(L,"transform-origin",hi/parseInt(L.style.width)*100+"% "+ui/parseInt(L.style.height)*100+"%")}},_onDragStart:function(i,e){var r=this,t=i.dataTransfer,n=r.options;z("dragStart",this,{evt:i}),Ri.eventCanceled?this._onDrop():(z("setupClone",this),Ri.eventCanceled||((ii=D(j)).removeAttribute("id"),ii.draggable=!1,ii.style["will-change"]="",this._hideClone(),w(ii,this.options.chosenClass,!1),Ri.clone=ii),r.cloneId=Qi(function(){z("clone",r),Ri.eventCanceled||(r.options.removeCloneOnHide||$.insertBefore(ii,j),r._hideClone(),U({sortable:r,name:"clone"}))}),e||w(j,n.dragClass,!0),e?(vi=!0,r._loopId=setInterval(r._emulateDragOver,50)):(d(document,"mouseup",r._onDrop),d(document,"touchend",r._onDrop),d(document,"touchcancel",r._onDrop),t&&(t.effectAllowed="move",n.setData&&n.setData.call(r,t,j)),c(document,"drop",r),_(j,"transform","translateZ(0)")),mi=!0,r._dragStartId=Qi(r._dragStarted.bind(r,e,i)),c(document,"selectstart",r),ci=!0,window.getSelection().removeAllRanges(),l&&_(document.body,"user-select","none"))},_onDragOver:function(i){var r,t,n,f,a,o=this.el,A=i.target,s=this.options,l=s.group,k=Ri.active,h=ai===l,u=s.sort,c=oi||k,d=this,b=!1;if(!Bi){if(void 0!==i.preventDefault&&i.cancelable&&i.preventDefault(),A=g(A,s.draggable,o,!0),R("dragOver"),Ri.eventCanceled)return b;if(j.contains(i.target)||A.animated&&A.animatingX&&A.animatingY||d._ignoreWhileAnimating===A)return Q(!1);if(vi=!1,k&&!s.disabled&&(h?u||(t=H!==$):oi===this||(this.lastPutMode=ai.checkPull(this,k,j,i))&&l.checkPut(this,k,j,i))){if(n="vertical"===this._getDirection(i,A),r=x(j),R("dragOverValid"),Ri.eventCanceled)return b;if(t)return H=$,N(),this._hideClone(),R("revert"),Ri.eventCanceled||(K?$.insertBefore(j,K):$.appendChild(j)),Q(!0);var p=W(o,s.draggable);if(p&&(F=i,l=n,M=x(W((B=this).el,B.options.draggable)),B=T(B.el,B.options,L),!(l?F.clientX>B.right+10||F.clientY>M.bottom&&F.clientX>M.left:F.clientY>B.bottom+10||F.clientX>M.right&&F.clientY>M.top)||p.animated)){if(p&&(f=i,a=n,X=x(I((S=this).el,0,S.options,!0)),S=T(S.el,S.options,L),a?f.clientX<S.left-10||f.clientY<X.top&&f.clientX<X.right:f.clientY<S.top-10||f.clientY<X.bottom&&f.clientX<X.left)){if((V=I(o,0,s,!0))===j)return Q(!1);if(C=x(A=V),!1!==Ti($,o,j,r,A,C,i,!1))return N(),o.insertBefore(j,V),H=o,Y(),Q(!0)}else if(A.parentNode===o){var m,v,y,C=x(A),B=j.parentNode!==o,F=(F=j.animated&&j.toRect||r,M=A.animated&&A.toRect||C,S=(a=n)?F.left:F.top,f=a?F.right:F.bottom,X=a?F.width:F.height,V=a?M.left:M.top,F=a?M.right:M.bottom,M=a?M.width:M.height,!(S===V||f===F||S+X/2===V+M/2)),S=n?"top":"left",X=Z(A,"top","top")||Z(j,"top","top"),V=X?X.scrollTop:void 0;if(di!==A&&(v=C[S],_i=!1,yi=!F&&s.invertSwap||B),0!==(m=function(i,e,r,t,n,f,a,o){var A,s=t?i.clientY:i.clientX,l=t?r.height:r.width;if(i=t?r.top:r.left,t=t?r.bottom:r.right,r=!1,!a)if(o&&pi<l*n){if(_i=!_i&&(1===bi?i+l*f/2<s:s<t-l*f/2)||_i)r=!0;else if(1===bi?s<i+pi:t-pi<s)return-bi}else if(i+l*(1-n)/2<s&&s<t-l*(1-n)/2)return A=e,E(j)<E(A)?1:-1;return(r=r||a)&&(s<i+l*f/2||t-l*f/2<s)?i+l/2<s?1:-1:0}(i,A,C,n,F?1:s.swapThreshold,null==s.invertedSwapThreshold?s.swapThreshold:s.invertedSwapThreshold,yi,di===A)))for(var D=E(j);(y=H.children[D-=m])&&("none"===_(y,"display")||y===L););if(0===m||y===A)return Q(!1);bi=m;var M=(di=A).nextElementSibling;if(B=!1,!1!==(F=Ti($,o,j,r,A,C,i,B=1===m)))return 1!==F&&-1!==F||(B=1===F),Bi=!0,setTimeout(Ni,30),N(),B&&!M?o.appendChild(j):A.parentNode.insertBefore(j,B?M:A),X&&G(X,0,V-X.scrollTop),H=j.parentNode,void 0===v||yi||(pi=Math.abs(v-x(A)[S])),Y(),Q(!0)}}else{if(p===j)return Q(!1);if((A=p&&o===i.target?p:A)&&(C=x(A)),!1!==Ti($,o,j,r,A,C,i,!!A))return N(),p&&p.nextSibling?o.insertBefore(j,p.nextSibling):o.appendChild(j),H=o,Y(),Q(!0)}if(o.contains(j))return Q(!1)}return!1}function R(f,a){z(f,d,e({evt:i,isOwner:h,axis:n?"vertical":"horizontal",revert:t,dragRect:r,targetRect:C,canSort:u,fromSortable:c,target:A,completed:Q,onMove:function(e,t){return Ti($,o,j,r,e,x(e),i,t)},changed:Y},a))}function N(){R("dragOverAnimationCapture"),d.captureAnimationState(),d!==c&&c.captureAnimationState()}function Q(e){return R("dragOverCompleted",{insertion:e}),e&&(h?k._hideClone():k._showClone(d),d!==c&&(w(j,(oi||k).options.ghostClass,!1),w(j,s.ghostClass,!0)),oi!==d&&d!==Ri.active?oi=d:d===Ri.active&&oi&&(oi=null),c===d&&(d._ignoreWhileAnimating=A),d.animateAll(function(){R("dragOverAnimationComplete"),d._ignoreWhileAnimating=null}),d!==c&&(c.animateAll(),c._ignoreWhileAnimating=null)),(A===j&&!j.animated||A===o&&!A.animated)&&(di=null),s.dragoverBubble||i.rootEl||A===document||(j.parentNode[P]._isOutsideThisEl(i.target),e||Di(i)),!s.dragoverBubble&&i.stopPropagation&&i.stopPropagation(),b=!0}function Y(){ti=E(j),fi=E(j,s.draggable),U({sortable:d,name:"change",toEl:o,newIndex:ti,newDraggableIndex:fi,originalEvent:i})}},_ignoreWhileAnimating:null,_offMoveEvents:function(){d(document,"mousemove",this._onTouchMove),d(document,"touchmove",this._onTouchMove),d(document,"pointermove",this._onTouchMove),d(document,"dragover",Di),d(document,"mousemove",Di),d(document,"touchmove",Di)},_offUpEvents:function(){var i=this.el.ownerDocument;d(i,"mouseup",this._onDrop),d(i,"touchend",this._onDrop),d(i,"pointerup",this._onDrop),d(i,"pointercancel",this._onDrop),d(i,"touchcancel",this._onDrop),d(document,"selectstart",this)},_onDrop:function(i){var e=this.el,r=this.options;ti=E(j),fi=E(j,r.draggable),z("drop",this,{evt:i}),H=j&&j.parentNode,ti=E(j),fi=E(j,r.draggable),Ri.eventCanceled||(_i=yi=mi=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),Yi(this.cloneId),Yi(this._dragStartId),this.nativeDraggable&&(d(document,"drop",this),d(e,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),l&&_(document.body,"user-select",""),_(j,"transform",""),i&&(ci&&(i.cancelable&&i.preventDefault(),r.dropBubble||i.stopPropagation()),L&&L.parentNode&&L.parentNode.removeChild(L),($===H||oi&&"clone"!==oi.lastPutMode)&&ii&&ii.parentNode&&ii.parentNode.removeChild(ii),j&&(this.nativeDraggable&&d(j,"dragend",this),Pi(j),j.style["will-change"]="",ci&&!mi&&w(j,(oi||this).options.ghostClass,!1),w(j,this.options.chosenClass,!1),U({sortable:this,name:"unchoose",toEl:H,newIndex:null,newDraggableIndex:null,originalEvent:i}),$!==H?(0<=ti&&(U({rootEl:H,name:"add",toEl:H,fromEl:$,originalEvent:i}),U({sortable:this,name:"remove",toEl:H,originalEvent:i}),U({rootEl:H,name:"sort",toEl:H,fromEl:$,originalEvent:i}),U({sortable:this,name:"sort",toEl:H,originalEvent:i})),oi&&oi.save()):ti!==ri&&0<=ti&&(U({sortable:this,name:"update",toEl:H,originalEvent:i}),U({sortable:this,name:"sort",toEl:H,originalEvent:i})),Ri.active&&(null!=ti&&-1!==ti||(ti=ri,fi=ni),U({sortable:this,name:"end",toEl:H,originalEvent:i}),this.save())))),this._nulling()},_nulling:function(){z("nulling",this),$=j=H=L=K=ii=q=ei=Ai=si=ci=ti=fi=ri=ni=di=bi=oi=ai=Ri.dragged=Ri.ghost=Ri.clone=Ri.active=null,xi.forEach(function(i){i.checked=!0}),xi.length=li=ki=0},handleEvent:function(i){switch(i.type){case"drop":case"dragend":this._onDrop(i);break;case"dragenter":case"dragover":j&&(this._onDragOver(i),(e=i).dataTransfer&&(e.dataTransfer.dropEffect="move"),e.cancelable&&e.preventDefault());break;case"selectstart":i.preventDefault()}var e},toArray:function(){for(var i,e=[],r=this.el.children,t=0,n=r.length,f=this.options;t<n;t++)g(i=r[t],f.draggable,this.el,!1)&&e.push(i.getAttribute(f.dataIdAttr)||function(i){for(var e=i.tagName+i.className+i.src+i.href+i.textContent,r=e.length,t=0;r--;)t+=e.charCodeAt(r);return t.toString(36)}(i));return e},sort:function(i,e){var r={},t=this.el;this.toArray().forEach(function(i,e){g(e=t.children[e],this.options.draggable,t,!1)&&(r[i]=e)},this),e&&this.captureAnimationState(),i.forEach(function(i){r[i]&&(t.removeChild(r[i]),t.appendChild(r[i]))}),e&&this.animateAll()},save:function(){var i=this.options.store;i&&i.set&&i.set(this)},closest:function(i,e){return g(i,e||this.options.draggable,this.el,!1)},option:function(i,e){var r=this.options;if(void 0===e)return r[i];var t=Y.modifyOption(this,i,e);r[i]=void 0!==t?t:e,"group"===i&&Xi(r)},destroy:function(){z("destroy",this);var i=this.el;i[P]=null,d(i,"mousedown",this._onTapStart),d(i,"touchstart",this._onTapStart),d(i,"pointerdown",this._onTapStart),this.nativeDraggable&&(d(i,"dragover",this),d(i,"dragenter",this)),Array.prototype.forEach.call(i.querySelectorAll("[draggable]"),function(i){i.removeAttribute("draggable")}),this._onDrop(),this._disableDelayedDragEvents(),wi.splice(wi.indexOf(this.el),1),this.el=i=null},_hideClone:function(){ei||(z("hideClone",this),Ri.eventCanceled||(_(ii,"display","none"),this.options.removeCloneOnHide&&ii.parentNode&&ii.parentNode.removeChild(ii),ei=!0))},_showClone:function(i){"clone"===i.lastPutMode?ei&&(z("showClone",this),Ri.eventCanceled||(j.parentNode!=$||this.options.group.revertClone?K?$.insertBefore(ii,K):$.appendChild(ii):$.insertBefore(ii,j),this.options.group.revertClone&&this.animate(j,ii),_(ii,"display",""),ei=!1)):this._hideClone()}},Zi&&c(document,"touchmove",function(i){(Ri.active||mi)&&i.cancelable&&i.preventDefault()}),Ri.utils={on:c,off:d,css:_,find:C,is:function(i,e){return!!g(i,e,i,!1)},extend:function(i,e){if(i&&e)for(var r in e)e.hasOwnProperty(r)&&(i[r]=e[r]);return i},throttle:V,closest:g,toggleClass:w,clone:D,index:E,nextTick:Qi,cancelNextTick:Yi,detectDirection:Si,getChild:I,expando:P},Ri.get=function(i){return i[P]},Ri.mount=function(){for(var i=arguments.length,r=new Array(i),t=0;t<i;t++)r[t]=arguments[t];(r=r[0].constructor===Array?r[0]:r).forEach(function(i){if(!i.prototype||!i.prototype.constructor)throw"Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(i));i.utils&&(Ri.utils=e(e({},Ri.utils),i.utils)),Y.mount(i)})},Ri.create=function(i,e){return new Ri(i,e)};var Oi,zi,Ji,Ui,ji,Hi,Li=[],$i=!(Ri.version="1.15.6");function Ki(){Li.forEach(function(i){clearInterval(i.pid)}),Li=[]}function qi(){clearInterval(Hi)}var ie,ee=V(function(i,e,r,t){if(e.scroll){var n,f=(i.touches?i.touches[0]:i).clientX,a=(i.touches?i.touches[0]:i).clientY,o=e.scrollSensitivity,A=e.scrollSpeed,s=B(),l=!1;zi!==r&&(zi=r,Ki(),Oi=e.scroll,n=e.scrollFn,!0===Oi&&(Oi=S(r,!0)));var k=0,h=Oi;do{var u=h,c=(I=x(u)).top,d=I.bottom,b=I.left,p=I.right,g=I.width,m=I.height,v=void 0,w=u.scrollWidth,y=u.scrollHeight,C=_(u),Z=u.scrollLeft,I=u.scrollTop,W=u===s?(v=g<w&&("auto"===C.overflowX||"scroll"===C.overflowX||"visible"===C.overflowX),m<y&&("auto"===C.overflowY||"scroll"===C.overflowY||"visible"===C.overflowY)):(v=g<w&&("auto"===C.overflowX||"scroll"===C.overflowX),m<y&&("auto"===C.overflowY||"scroll"===C.overflowY));if(Z=v&&(Math.abs(p-f)<=o&&Z+g<w)-(Math.abs(b-f)<=o&&!!Z),I=W&&(Math.abs(d-a)<=o&&I+m<y)-(Math.abs(c-a)<=o&&!!I),!Li[k])for(var E=0;E<=k;E++)Li[E]||(Li[E]={});Li[k].vx==Z&&Li[k].vy==I&&Li[k].el===u||(Li[k].el=u,Li[k].vx=Z,Li[k].vy=I,clearInterval(Li[k].pid),0==Z&&0==I||(l=!0,Li[k].pid=setInterval(function(){t&&0===this.layer&&Ri.active._onTouchMove(ji);var e=Li[this.layer].vy?Li[this.layer].vy*A:0,r=Li[this.layer].vx?Li[this.layer].vx*A:0;"function"==typeof n&&"continue"!==n.call(Ri.dragged.parentNode[P],r,e,i,ji,Li[this.layer].el)||G(Li[this.layer].el,r,e)}.bind({layer:k}),24))),k++}while(e.bubbleScroll&&h!==s&&(h=S(h,!1)));$i=l}},30);function re(){}function te(){}h=function(i){var e=i.originalEvent,r=i.putSortable,t=i.dragEl,n=i.activeSortable,f=i.dispatchSortableEvent,a=i.hideGhostForTarget;i=i.unhideGhostForTarget,e&&(n=r||n,a(),e=e.changedTouches&&e.changedTouches.length?e.changedTouches[0]:e,e=document.elementFromPoint(e.clientX,e.clientY),i(),n&&!n.el.contains(e)&&(f("spill"),this.onSpill({dragEl:t,putSortable:r})))},re.prototype={startIndex:null,dragStart:function(i){i=i.oldDraggableIndex,this.startIndex=i},onSpill:function(i){var e=i.dragEl,r=i.putSortable;this.sortable.captureAnimationState(),r&&r.captureAnimationState(),(i=I(this.sortable.el,this.startIndex,this.options))?this.sortable.el.insertBefore(e,i):this.sortable.el.appendChild(e),this.sortable.animateAll(),r&&r.animateAll()},drop:h},t(re,{pluginName:"revertOnSpill"}),te.prototype={onSpill:function(i){var e=i.dragEl;(i=i.putSortable||this.sortable).captureAnimationState(),e.parentNode&&e.parentNode.removeChild(e),i.animateAll()},drop:h},t(te,{pluginName:"removeOnSpill"});var ne,fe,ae,oe,Ae,se=[],le=[],ke=!1,he=!1,ue=!1;function ce(i,e){le.forEach(function(r,t){(t=e.children[r.sortableIndex+(i?Number(t):0)])?e.insertBefore(r,t):e.appendChild(r)})}function de(){se.forEach(function(i){i!==ae&&i.parentNode&&i.parentNode.removeChild(i)})}return Ri.mount(new function(){function i(){for(var i in this.defaults={scroll:!0,forceAutoScrollFallback:!1,scrollSensitivity:30,scrollSpeed:10,bubbleScroll:!0},this)"_"===i.charAt(0)&&"function"==typeof this[i]&&(this[i]=this[i].bind(this))}return i.prototype={dragStarted:function(i){i=i.originalEvent,this.sortable.nativeDraggable?c(document,"dragover",this._handleAutoScroll):this.options.supportPointer?c(document,"pointermove",this._handleFallbackAutoScroll):i.touches?c(document,"touchmove",this._handleFallbackAutoScroll):c(document,"mousemove",this._handleFallbackAutoScroll)},dragOverCompleted:function(i){i=i.originalEvent,this.options.dragOverBubble||i.rootEl||this._handleAutoScroll(i)},drop:function(){this.sortable.nativeDraggable?d(document,"dragover",this._handleAutoScroll):(d(document,"pointermove",this._handleFallbackAutoScroll),d(document,"touchmove",this._handleFallbackAutoScroll),d(document,"mousemove",this._handleFallbackAutoScroll)),qi(),Ki(),clearTimeout(m),m=void 0},nulling:function(){ji=zi=Oi=$i=Hi=Ji=Ui=null,Li.length=0},_handleFallbackAutoScroll:function(i){this._handleAutoScroll(i,!0)},_handleAutoScroll:function(i,e){var r,t=this,n=(i.touches?i.touches[0]:i).clientX,f=(i.touches?i.touches[0]:i).clientY,a=document.elementFromPoint(n,f);ji=i,e||this.options.forceAutoScrollFallback||A||o||l?(ee(i,this.options,a,e),r=S(a,!0),!$i||Hi&&n===Ji&&f===Ui||(Hi&&qi(),Hi=setInterval(function(){var a=S(document.elementFromPoint(n,f),!0);a!==r&&(r=a,Ki()),ee(i,t.options,a,e)},10),Ji=n,Ui=f)):this.options.bubbleScroll&&S(a,!0)!==B()?ee(i,this.options,S(a,!1),!1):Ki()}},t(i,{pluginName:"scroll",initializeByDefault:!0})}),Ri.mount(te,re),Ri.mount(new function(){function i(){this.defaults={swapClass:"sortable-swap-highlight"}}return i.prototype={dragStart:function(i){i=i.dragEl,ie=i},dragOverValid:function(i){var e=i.completed,r=i.target,t=i.onMove,n=i.activeSortable,f=i.changed,a=i.cancel;n.options.swap&&(i=this.sortable.el,n=this.options,r&&r!==i&&(i=ie,ie=!1!==t(r)?(w(r,n.swapClass,!0),r):null,i&&i!==ie&&w(i,n.swapClass,!1)),f(),e(!0),a())},drop:function(i){var e,r,t=i.activeSortable,n=i.putSortable,f=i.dragEl,a=n||this.sortable,o=this.options;ie&&w(ie,o.swapClass,!1),ie&&(o.swap||n&&n.options.swap)&&f!==ie&&(a.captureAnimationState(),a!==t&&t.captureAnimationState(),r=ie,i=(e=f).parentNode,o=r.parentNode,i&&o&&!i.isEqualNode(r)&&!o.isEqualNode(e)&&(n=E(e),f=E(r),i.isEqualNode(o)&&n<f&&f++,i.insertBefore(r,i.children[n]),o.insertBefore(e,o.children[f])),a.animateAll(),a!==t&&t.animateAll())},nulling:function(){ie=null}},t(i,{pluginName:"swap",eventProperties:function(){return{swapItem:ie}}})}),Ri.mount(new function(){function i(i){for(var e in this)"_"===e.charAt(0)&&"function"==typeof this[e]&&(this[e]=this[e].bind(this));i.options.avoidImplicitDeselect||(i.options.supportPointer?c(document,"pointerup",this._deselectMultiDrag):(c(document,"mouseup",this._deselectMultiDrag),c(document,"touchend",this._deselectMultiDrag))),c(document,"keydown",this._checkKeyDown),c(document,"keyup",this._checkKeyUp),this.defaults={selectedClass:"sortable-selected",multiDragKey:null,avoidImplicitDeselect:!1,setData:function(e,r){var t="";se.length&&fe===i?se.forEach(function(i,e){t+=(e?", ":"")+i.textContent}):t=r.textContent,e.setData("Text",t)}}}return i.prototype={multiDragKeyDown:!1,isMultiDrag:!1,delayStartGlobal:function(i){i=i.dragEl,ae=i},delayEnded:function(){this.isMultiDrag=~se.indexOf(ae)},setupClone:function(i){var e=i.sortable;if(i=i.cancel,this.isMultiDrag){for(var r=0;r<se.length;r++)le.push(D(se[r])),le[r].sortableIndex=se[r].sortableIndex,le[r].draggable=!1,le[r].style["will-change"]="",w(le[r],this.options.selectedClass,!1),se[r]===ae&&w(le[r],this.options.chosenClass,!1);e._hideClone(),i()}},clone:function(i){var e=i.sortable,r=i.rootEl,t=i.dispatchSortableEvent;i=i.cancel,this.isMultiDrag&&(this.options.removeCloneOnHide||se.length&&fe===e&&(ce(!0,r),t("clone"),i()))},showClone:function(i){var e=i.cloneNowShown,r=i.rootEl;i=i.cancel,this.isMultiDrag&&(ce(!1,r),le.forEach(function(i){_(i,"display","")}),e(),Ae=!1,i())},hideClone:function(i){var e=this,r=(i.sortable,i.cloneNowHidden);i=i.cancel,this.isMultiDrag&&(le.forEach(function(i){_(i,"display","none"),e.options.removeCloneOnHide&&i.parentNode&&i.parentNode.removeChild(i)}),r(),Ae=!0,i())},dragStartGlobal:function(i){i.sortable,!this.isMultiDrag&&fe&&fe.multiDrag._deselectMultiDrag(),se.forEach(function(i){i.sortableIndex=E(i)}),se=se.sort(function(i,e){return i.sortableIndex-e.sortableIndex}),ue=!0},dragStarted:function(i){var e,r=this;i=i.sortable,this.isMultiDrag&&(this.options.sort&&(i.captureAnimationState(),this.options.animation&&(se.forEach(function(i){i!==ae&&_(i,"position","absolute")}),e=x(ae,!1,!0,!0),se.forEach(function(i){i!==ae&&M(i,e)}),ke=he=!0)),i.animateAll(function(){ke=he=!1,r.options.animation&&se.forEach(function(i){R(i)}),r.options.sort&&de()}))},dragOver:function(i){var e=i.target,r=i.completed;i=i.cancel,he&&~se.indexOf(e)&&(r(!1),i())},revert:function(i){var e,r,t=i.fromSortable,n=i.rootEl,f=i.sortable,a=i.dragRect;1<se.length&&(se.forEach(function(i){f.addAnimationState({target:i,rect:he?x(i):a}),R(i),i.fromRect=a,t.removeAnimationState(i)}),he=!1,e=!this.options.removeCloneOnHide,r=n,se.forEach(function(i,t){(t=r.children[i.sortableIndex+(e?Number(t):0)])?r.insertBefore(i,t):r.appendChild(i)}))},dragOverCompleted:function(i){var e,r=i.sortable,t=i.isOwner,n=i.insertion,f=i.activeSortable,a=i.parentEl,o=i.putSortable;i=this.options,n&&(t&&f._hideClone(),ke=!1,i.animation&&1<se.length&&(he||!t&&!f.options.sort&&!o)&&(e=x(ae,!1,!0,!0),se.forEach(function(i){i!==ae&&(M(i,e),a.appendChild(i))}),he=!0),t||(he||de(),1<se.length?(t=Ae,f._showClone(r),f.options.animation&&!Ae&&t&&le.forEach(function(i){f.addAnimationState({target:i,rect:oe}),i.fromRect=oe,i.thisAnimationDuration=null})):f._showClone(r)))},dragOverAnimationCapture:function(i){var e=i.dragRect,r=i.isOwner;i=i.activeSortable,se.forEach(function(i){i.thisAnimationDuration=null}),i.options.animation&&!r&&i.multiDrag.isMultiDrag&&(oe=t({},e),e=y(ae,!0),oe.top-=e.f,oe.left-=e.e)},dragOverAnimationComplete:function(){he&&(he=!1,de())},drop:function(i){var e,r,t,n,f,a,o,A=i.originalEvent,s=i.rootEl,l=i.parentEl,k=i.sortable,h=i.dispatchSortableEvent,u=i.oldIndex,c=(i=i.putSortable)||this.sortable;A&&(e=this.options,r=l.children,ue||(e.multiDragKey&&!this.multiDragKeyDown&&this._deselectMultiDrag(),w(ae,e.selectedClass,!~se.indexOf(ae)),~se.indexOf(ae)?(se.splice(se.indexOf(ae),1),ne=null,O({sortable:k,rootEl:s,name:"deselect",targetEl:ae,originalEvent:A})):(se.push(ae),O({sortable:k,rootEl:s,name:"select",targetEl:ae,originalEvent:A}),A.shiftKey&&ne&&k.el.contains(ne)?(t=E(ne),n=E(ae),~t&&~n&&t!==n&&function(){for(var i,f=t<n?(i=t,n):(i=n,t+1),a=e.filter;i<f;i++)~se.indexOf(r[i])||g(r[i],e.draggable,l,!1)&&(a&&("function"==typeof a?a.call(k,A,r[i],k):a.split(",").some(function(e){return g(r[i],e.trim(),l,!1)}))||(w(r[i],e.selectedClass,!0),se.push(r[i]),O({sortable:k,rootEl:s,name:"select",targetEl:r[i],originalEvent:A})))}()):ne=ae,fe=c)),ue&&this.isMultiDrag&&(he=!1,(l[P].options.sort||l!==s)&&1<se.length&&(f=x(ae),a=E(ae,":not(."+this.options.selectedClass+")"),!ke&&e.animation&&(ae.thisAnimationDuration=null),c.captureAnimationState(),ke||(e.animation&&(ae.fromRect=f,se.forEach(function(i){var e;i.thisAnimationDuration=null,i!==ae&&(e=he?x(i):f,i.fromRect=e,c.addAnimationState({target:i,rect:e}))})),de(),se.forEach(function(i){r[a]?l.insertBefore(i,r[a]):l.appendChild(i),a++}),u===E(ae)&&(o=!1,se.forEach(function(i){i.sortableIndex!==E(i)&&(o=!0)}),o&&(h("update"),h("sort")))),se.forEach(function(i){R(i)}),c.animateAll()),fe=c),(s===l||i&&"clone"!==i.lastPutMode)&&le.forEach(function(i){i.parentNode&&i.parentNode.removeChild(i)}))},nullingGlobal:function(){this.isMultiDrag=ue=!1,le.length=0},destroyGlobal:function(){this._deselectMultiDrag(),d(document,"pointerup",this._deselectMultiDrag),d(document,"mouseup",this._deselectMultiDrag),d(document,"touchend",this._deselectMultiDrag),d(document,"keydown",this._checkKeyDown),d(document,"keyup",this._checkKeyUp)},_deselectMultiDrag:function(i){if(!(void 0!==ue&&ue||fe!==this.sortable||i&&g(i.target,this.options.draggable,this.sortable.el,!1)||i&&0!==i.button))for(;se.length;){var e=se[0];w(e,this.options.selectedClass,!1),se.shift(),O({sortable:this.sortable,rootEl:this.sortable.el,name:"deselect",targetEl:e,originalEvent:i})}},_checkKeyDown:function(i){i.key===this.options.multiDragKey&&(this.multiDragKeyDown=!0)},_checkKeyUp:function(i){i.key===this.options.multiDragKey&&(this.multiDragKeyDown=!1)}},t(i,{pluginName:"multiDrag",utils:{select:function(i){var e=i.parentNode[P];e&&e.options.multiDrag&&!~se.indexOf(i)&&(fe&&fe!==e&&(fe.multiDrag._deselectMultiDrag(),fe=e),w(i,e.options.selectedClass,!0),se.push(i))},deselect:function(i){var e=i.parentNode[P],r=se.indexOf(i);e&&e.options.multiDrag&&~r&&(w(i,e.options.selectedClass,!1),se.splice(r,1))}},eventProperties:function(){var i=this,e=[],r=[];return se.forEach(function(t){var n;e.push({multiDragElement:t,index:t.sortableIndex}),n=he&&t!==ae?-1:he?E(t,":not(."+i.options.selectedClass+")"):E(t),r.push({multiDragElement:t,index:n})}),{items:n(se),clones:[].concat(le),oldIndicies:e,newIndicies:r}},optionListeners:{multiDragKey:function(i){return"ctrl"===(i=i.toLowerCase())?i="Control":1<i.length&&(i=i.charAt(0).toUpperCase()+i.substr(1)),i}}})}),Ri},"object"==typeof i&&typeof e<"u"?e.exports=t():"function"==typeof define&&define.amd?define(t):(r=r||self).Sortable=t()}),fo=Wn((i,e)=>{!function(){"use strict";var r={};function t(i){return k(">"+u("B",i.length),i)}function n(i){return k(">"+u("H",i.length),i)}function f(i){return k(">"+u("L",i.length),i)}function a(i,e,r){var a,o,A,s,l="",h="";if("Byte"==e)(a=i.length)<=4?h=t(i)+u("\0",4-a):(h=k(">L",[r]),l=t(i));else if("Short"==e)(a=i.length)<=2?h=n(i)+u("\0\0",2-a):(h=k(">L",[r]),l=n(i));else if("Long"==e)(a=i.length)<=1?h=f(i):(h=k(">L",[r]),l=f(i));else if("Ascii"==e)(a=(o=i+"\0").length)>4?(h=k(">L",[r]),l=o):h=o+u("\0",4-a);else if("Rational"==e){if("number"==typeof i[0])a=1,A=i[0],s=i[1],o=k(">L",[A])+k(">L",[s]);else{a=i.length,o="";for(var c=0;c<a;c++)A=i[c][0],s=i[c][1],o+=k(">L",[A])+k(">L",[s])}h=k(">L",[r]),l=o}else if("SRational"==e){if("number"==typeof i[0])a=1,A=i[0],s=i[1],o=k(">l",[A])+k(">l",[s]);else{a=i.length,o="";for(c=0;c<a;c++)A=i[c][0],s=i[c][1],o+=k(">l",[A])+k(">l",[s])}h=k(">L",[r]),l=o}else"Undefined"==e&&((a=i.length)>4?(h=k(">L",[r]),l=i):h=i+u("\0",4-a));return[k(">L",[a]),h,l]}function o(i,e,r){var t,n=Object.keys(i).length,f=k(">H",[n]);t=["0th","1st"].indexOf(e)>-1?2+12*n+4:2+12*n;var o="",A="";for(var s in i)if("string"==typeof s&&(s=parseInt(s)),!("0th"==e&&[34665,34853].indexOf(s)>-1)){if("Exif"==e&&40965==s)continue;if("1st"==e&&[513,514].indexOf(s)>-1)continue;var l=i[s],h=k(">H",[s]),u=b[e][s].type,c=k(">H",[d[u]]);"number"==typeof l&&(l=[l]);var p=a(l,u,8+t+r+A.length);o+=h+c+p[0]+p[1],A+=p[2]}return[f+o,A]}function A(i){var e;if("ÿØ"==i.slice(0,2))e=function(i){for(var e,r=0;r<i.length;r++)if("ÿá"==(e=i[r]).slice(0,2)&&"Exif\0\0"==e.slice(4,10))return e;return null}(c(i)),this.tiftag=e?e.slice(10):null;else if(["II","MM"].indexOf(i.slice(0,2))>-1)this.tiftag=i;else{if("Exif"!=i.slice(0,4))throw new Error("Given file is neither JPEG nor TIFF.");this.tiftag=i.slice(6)}}if(r.version="1.0.4",r.remove=function(i){var e=!1;if("ÿØ"!=i.slice(0,2)){if("data:image/jpeg;base64,"!=i.slice(0,23)&&"data:image/jpg;base64,"!=i.slice(0,22))throw new Error("Given data is not jpeg.");i=l(i.split(",")[1]),e=!0}var r=c(i).filter(function(i){return!("ÿá"==i.slice(0,2)&&"Exif\0\0"==i.slice(4,10))}).join("");return e&&(r="data:image/jpeg;base64,"+s(r)),r},r.insert=function(i,e){var r=!1;if("Exif\0\0"!=i.slice(0,6))throw new Error("Given data is not exif.");if("ÿØ"!=e.slice(0,2)){if("data:image/jpeg;base64,"!=e.slice(0,23)&&"data:image/jpg;base64,"!=e.slice(0,22))throw new Error("Given data is not jpeg.");e=l(e.split(",")[1]),r=!0}var t="ÿá"+k(">H",[i.length+2])+i,n=function(i,e){var r=!1,t=[];return i.forEach(function(n,f){"ÿá"==n.slice(0,2)&&"Exif\0\0"==n.slice(4,10)&&(r?t.unshift(f):(i[f]=e,r=!0))}),t.forEach(function(e){i.splice(e,1)}),!r&&e&&(i=[i[0],e].concat(i.slice(1))),i.join("")}(c(e),t);return r&&(n="data:image/jpeg;base64,"+s(n)),n},r.load=function(i){var e;if("string"!=typeof i)throw new Error("'load' gots invalid type argument.");if("ÿØ"==i.slice(0,2))e=i;else if("data:image/jpeg;base64,"==i.slice(0,23)||"data:image/jpg;base64,"==i.slice(0,22))e=l(i.split(",")[1]);else{if("Exif"!=i.slice(0,4))throw new Error("'load' gots invalid file data.");e=i.slice(6)}var r={"0th":{},Exif:{},GPS:{},Interop:{},"1st":{},thumbnail:null},t=new A(e);if(null===t.tiftag)return r;"II"==t.tiftag.slice(0,2)?t.endian_mark="<":t.endian_mark=">";var n=h(t.endian_mark+"L",t.tiftag.slice(4,8))[0];r["0th"]=t.get_ifd(n,"0th");var f=r["0th"].first_ifd_pointer;if(delete r["0th"].first_ifd_pointer,34665 in r["0th"]&&(n=r["0th"][34665],r.Exif=t.get_ifd(n,"Exif")),34853 in r["0th"]&&(n=r["0th"][34853],r.GPS=t.get_ifd(n,"GPS")),40965 in r.Exif&&(n=r.Exif[40965],r.Interop=t.get_ifd(n,"Interop")),"\0\0\0\0"!=f&&(n=h(t.endian_mark+"L",f)[0],r["1st"]=t.get_ifd(n,"1st"),513 in r["1st"]&&514 in r["1st"])){var a=r["1st"][513]+r["1st"][514],o=t.tiftag.slice(r["1st"][513],a);r.thumbnail=o}return r},r.dump=function(i){var e,t,n,f,a,A=function(i){return JSON.parse(JSON.stringify(i))}(i),s=!1,l=!1,h=!1,u=!1;e="0th"in A?A["0th"]:{},"Exif"in A&&Object.keys(A.Exif).length||"Interop"in A&&Object.keys(A.Interop).length?(e[34665]=1,s=!0,t=A.Exif,"Interop"in A&&Object.keys(A.Interop).length?(t[40965]=1,h=!0,n=A.Interop):Object.keys(t).indexOf(r.ExifIFD.InteroperabilityTag.toString())>-1&&delete t[40965]):Object.keys(e).indexOf(r.ImageIFD.ExifTag.toString())>-1&&delete e[34665],"GPS"in A&&Object.keys(A.GPS).length?(e[r.ImageIFD.GPSTag]=1,l=!0,f=A.GPS):Object.keys(e).indexOf(r.ImageIFD.GPSTag.toString())>-1&&delete e[r.ImageIFD.GPSTag],"1st"in A&&"thumbnail"in A&&null!=A.thumbnail&&(u=!0,A["1st"][513]=1,A["1st"][514]=1,a=A["1st"]);var b,p,g,m=o(e,"0th",0),v=m[0].length+12*s+12*l+4+m[1].length,w="",_=0,y="",C=0,B="",x=0,Z="";(s&&(_=(b=o(t,"Exif",v))[0].length+12*h+b[1].length),l&&(C=(y=o(f,"GPS",v+_).join("")).length),h)&&(x=(B=o(n,"Interop",v+_+C).join("")).length);if(u&&(p=o(a,"1st",v+_+C+x),g=function(i){for(var e=c(i);"ÿà"<=e[1].slice(0,2)&&e[1].slice(0,2)<="ÿï";)e=[e[0]].concat(e.slice(2));return e.join("")}(A.thumbnail),g.length>64e3))throw new Error("Given thumbnail is too large. max 64kB");var I="",W="",E="",F="\0\0\0\0";if(s){var S=k(">L",[X=8+v]);I=k(">H",[34665])+k(">H",[d.Long])+k(">L",[1])+S}if(l){S=k(">L",[X=8+v+_]);W=k(">H",[34853])+k(">H",[d.Long])+k(">L",[1])+S}if(h){S=k(">L",[X=8+v+_+C]);E=k(">H",[40965])+k(">H",[d.Long])+k(">L",[1])+S}if(u){var X;F=k(">L",[X=8+v+_+C+x]);var V="\0\0\0\0"+k(">L",[X+p[0].length+24+4+p[1].length]),G="\0\0\0\0"+k(">L",[g.length]);Z=p[0]+V+G+"\0\0\0\0"+p[1]+g}var D=m[0]+I+W+F+m[1];return s&&(w=b[0]+E+b[1]),"Exif\0\0MM\0*\0\0\0\b"+D+w+y+B+Z},A.prototype={get_ifd:function(i,e){var r,t={},n=h(this.endian_mark+"H",this.tiftag.slice(i,i+2))[0],f=i+2;r=["0th","1st"].indexOf(e)>-1?"Image":e;for(var a=0;a<n;a++){i=f+12*a;var o=h(this.endian_mark+"H",this.tiftag.slice(i,i+2))[0],A=[h(this.endian_mark+"H",this.tiftag.slice(i+2,i+4))[0],h(this.endian_mark+"L",this.tiftag.slice(i+4,i+8))[0],this.tiftag.slice(i+8,i+12)];o in b[r]&&(t[o]=this.convert_value(A))}return"0th"==e&&(i=f+12*n,t.first_ifd_pointer=this.tiftag.slice(i,i+4)),t},convert_value:function(i){var e,r=null,t=i[0],n=i[1],f=i[2];if(1==t)n>4?(e=h(this.endian_mark+"L",f)[0],r=h(this.endian_mark+u("B",n),this.tiftag.slice(e,e+n))):r=h(this.endian_mark+u("B",n),f.slice(0,n));else if(2==t)n>4?(e=h(this.endian_mark+"L",f)[0],r=this.tiftag.slice(e,e+n-1)):r=f.slice(0,n-1);else if(3==t)n>2?(e=h(this.endian_mark+"L",f)[0],r=h(this.endian_mark+u("H",n),this.tiftag.slice(e,e+2*n))):r=h(this.endian_mark+u("H",n),f.slice(0,2*n));else if(4==t)n>1?(e=h(this.endian_mark+"L",f)[0],r=h(this.endian_mark+u("L",n),this.tiftag.slice(e,e+4*n))):r=h(this.endian_mark+u("L",n),f);else if(5==t)if(e=h(this.endian_mark+"L",f)[0],n>1){r=[];for(var a=0;a<n;a++)r.push([h(this.endian_mark+"L",this.tiftag.slice(e+8*a,e+4+8*a))[0],h(this.endian_mark+"L",this.tiftag.slice(e+4+8*a,e+8+8*a))[0]])}else r=[h(this.endian_mark+"L",this.tiftag.slice(e,e+4))[0],h(this.endian_mark+"L",this.tiftag.slice(e+4,e+8))[0]];else if(7==t)n>4?(e=h(this.endian_mark+"L",f)[0],r=this.tiftag.slice(e,e+n)):r=f.slice(0,n);else if(9==t)n>1?(e=h(this.endian_mark+"L",f)[0],r=h(this.endian_mark+u("l",n),this.tiftag.slice(e,e+4*n))):r=h(this.endian_mark+u("l",n),f);else{if(10!=t)throw new Error("Exif might be wrong. Got incorrect value type to decode. type:"+t);if(e=h(this.endian_mark+"L",f)[0],n>1){r=[];for(a=0;a<n;a++)r.push([h(this.endian_mark+"l",this.tiftag.slice(e+8*a,e+4+8*a))[0],h(this.endian_mark+"l",this.tiftag.slice(e+4+8*a,e+8+8*a))[0]])}else r=[h(this.endian_mark+"l",this.tiftag.slice(e,e+4))[0],h(this.endian_mark+"l",this.tiftag.slice(e+4,e+8))[0]]}return r instanceof Array&&1==r.length?r[0]:r}},typeof window<"u"&&"function"==typeof window.btoa)var s=window.btoa;if(typeof s>"u")s=function(i){for(var e,r,t,n,f,a,o,A="",s=0,l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";s<i.length;)n=(e=i.charCodeAt(s++))>>2,f=(3&e)<<4|(r=i.charCodeAt(s++))>>4,a=(15&r)<<2|(t=i.charCodeAt(s++))>>6,o=63&t,isNaN(r)?a=o=64:isNaN(t)&&(o=64),A=A+l.charAt(n)+l.charAt(f)+l.charAt(a)+l.charAt(o);return A};if(typeof window<"u"&&"function"==typeof window.atob)var l=window.atob;if(typeof l>"u")l=function(i){var e,r,t,n,f,a,o="",A=0,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";for(i=i.replace(/[^A-Za-z0-9\+\/\=]/g,"");A<i.length;)e=s.indexOf(i.charAt(A++))<<2|(n=s.indexOf(i.charAt(A++)))>>4,r=(15&n)<<4|(f=s.indexOf(i.charAt(A++)))>>2,t=(3&f)<<6|(a=s.indexOf(i.charAt(A++))),o+=String.fromCharCode(e),64!=f&&(o+=String.fromCharCode(r)),64!=a&&(o+=String.fromCharCode(t));return o};function k(i,e){if(!(e instanceof Array))throw new Error("'pack' error. Got invalid type argument.");if(i.length-1!=e.length)throw new Error("'pack' error. "+(i.length-1)+" marks, "+e.length+" elements.");var r;if("<"==i[0])r=!0;else{if(">"!=i[0])throw new Error("");r=!1}for(var t="",n=1,f=null,a=null,o=null;a=i[n];){if("b"==a.toLowerCase()){if(f=e[n-1],"b"==a&&f<0&&(f+=256),f>255||f<0)throw new Error("'pack' error.");o=String.fromCharCode(f)}else if("H"==a){if((f=e[n-1])>65535||f<0)throw new Error("'pack' error.");o=String.fromCharCode(Math.floor(f%65536/256))+String.fromCharCode(f%256),r&&(o=o.split("").reverse().join(""))}else{if("l"!=a.toLowerCase())throw new Error("'pack' error.");if(f=e[n-1],"l"==a&&f<0&&(f+=4294967296),f>4294967295||f<0)throw new Error("'pack' error.");o=String.fromCharCode(Math.floor(f/16777216))+String.fromCharCode(Math.floor(f%16777216/65536))+String.fromCharCode(Math.floor(f%65536/256))+String.fromCharCode(f%256),r&&(o=o.split("").reverse().join(""))}t+=o,n+=1}return t}function h(i,e){if("string"!=typeof e)throw new Error("'unpack' error. Got invalid type argument.");for(var r=0,t=1;t<i.length;t++)if("b"==i[t].toLowerCase())r+=1;else if("h"==i[t].toLowerCase())r+=2;else{if("l"!=i[t].toLowerCase())throw new Error("'unpack' error. Got invalid mark.");r+=4}if(r!=e.length)throw new Error("'unpack' error. Mismatch between symbol and string length. "+r+":"+e.length);var n;if("<"==i[0])n=!0;else{if(">"!=i[0])throw new Error("'unpack' error.");n=!1}for(var f=[],a=0,o=1,A=null,s=null,l=null,k="";s=i[o];){if("b"==s.toLowerCase())l=1,A=(k=e.slice(a,a+l)).charCodeAt(0),"b"==s&&A>=128&&(A-=256);else if("H"==s)l=2,k=e.slice(a,a+l),n&&(k=k.split("").reverse().join("")),A=256*k.charCodeAt(0)+k.charCodeAt(1);else{if("l"!=s.toLowerCase())throw new Error("'unpack' error. "+s);l=4,k=e.slice(a,a+l),n&&(k=k.split("").reverse().join("")),A=16777216*k.charCodeAt(0)+65536*k.charCodeAt(1)+256*k.charCodeAt(2)+k.charCodeAt(3),"l"==s&&A>=2147483648&&(A-=4294967296)}f.push(A),a+=l,o+=1}return f}function u(i,e){for(var r="",t=0;t<e;t++)r+=i;return r}function c(i){if("ÿØ"!=i.slice(0,2))throw new Error("Given data isn't JPEG.");for(var e=2,r=["ÿØ"];;){if("ÿÚ"==i.slice(e,e+2)){r.push(i.slice(e));break}var t=e+h(">H",i.slice(e+2,e+4))[0]+2;if(r.push(i.slice(e,t)),(e=t)>=i.length)throw new Error("Wrong JPEG data.")}return r}var d={Byte:1,Ascii:2,Short:3,Long:4,Rational:5,Undefined:7,SLong:9,SRational:10},b={Image:{11:{name:"ProcessingSoftware",type:"Ascii"},254:{name:"NewSubfileType",type:"Long"},255:{name:"SubfileType",type:"Short"},256:{name:"ImageWidth",type:"Long"},257:{name:"ImageLength",type:"Long"},258:{name:"BitsPerSample",type:"Short"},259:{name:"Compression",type:"Short"},262:{name:"PhotometricInterpretation",type:"Short"},263:{name:"Threshholding",type:"Short"},264:{name:"CellWidth",type:"Short"},265:{name:"CellLength",type:"Short"},266:{name:"FillOrder",type:"Short"},269:{name:"DocumentName",type:"Ascii"},270:{name:"ImageDescription",type:"Ascii"},271:{name:"Make",type:"Ascii"},272:{name:"Model",type:"Ascii"},273:{name:"StripOffsets",type:"Long"},274:{name:"Orientation",type:"Short"},277:{name:"SamplesPerPixel",type:"Short"},278:{name:"RowsPerStrip",type:"Long"},279:{name:"StripByteCounts",type:"Long"},282:{name:"XResolution",type:"Rational"},283:{name:"YResolution",type:"Rational"},284:{name:"PlanarConfiguration",type:"Short"},290:{name:"GrayResponseUnit",type:"Short"},291:{name:"GrayResponseCurve",type:"Short"},292:{name:"T4Options",type:"Long"},293:{name:"T6Options",type:"Long"},296:{name:"ResolutionUnit",type:"Short"},301:{name:"TransferFunction",type:"Short"},305:{name:"Software",type:"Ascii"},306:{name:"DateTime",type:"Ascii"},315:{name:"Artist",type:"Ascii"},316:{name:"HostComputer",type:"Ascii"},317:{name:"Predictor",type:"Short"},318:{name:"WhitePoint",type:"Rational"},319:{name:"PrimaryChromaticities",type:"Rational"},320:{name:"ColorMap",type:"Short"},321:{name:"HalftoneHints",type:"Short"},322:{name:"TileWidth",type:"Short"},323:{name:"TileLength",type:"Short"},324:{name:"TileOffsets",type:"Short"},325:{name:"TileByteCounts",type:"Short"},330:{name:"SubIFDs",type:"Long"},332:{name:"InkSet",type:"Short"},333:{name:"InkNames",type:"Ascii"},334:{name:"NumberOfInks",type:"Short"},336:{name:"DotRange",type:"Byte"},337:{name:"TargetPrinter",type:"Ascii"},338:{name:"ExtraSamples",type:"Short"},339:{name:"SampleFormat",type:"Short"},340:{name:"SMinSampleValue",type:"Short"},341:{name:"SMaxSampleValue",type:"Short"},342:{name:"TransferRange",type:"Short"},343:{name:"ClipPath",type:"Byte"},344:{name:"XClipPathUnits",type:"Long"},345:{name:"YClipPathUnits",type:"Long"},346:{name:"Indexed",type:"Short"},347:{name:"JPEGTables",type:"Undefined"},351:{name:"OPIProxy",type:"Short"},512:{name:"JPEGProc",type:"Long"},513:{name:"JPEGInterchangeFormat",type:"Long"},514:{name:"JPEGInterchangeFormatLength",type:"Long"},515:{name:"JPEGRestartInterval",type:"Short"},517:{name:"JPEGLosslessPredictors",type:"Short"},518:{name:"JPEGPointTransforms",type:"Short"},519:{name:"JPEGQTables",type:"Long"},520:{name:"JPEGDCTables",type:"Long"},521:{name:"JPEGACTables",type:"Long"},529:{name:"YCbCrCoefficients",type:"Rational"},530:{name:"YCbCrSubSampling",type:"Short"},531:{name:"YCbCrPositioning",type:"Short"},532:{name:"ReferenceBlackWhite",type:"Rational"},700:{name:"XMLPacket",type:"Byte"},18246:{name:"Rating",type:"Short"},18249:{name:"RatingPercent",type:"Short"},32781:{name:"ImageID",type:"Ascii"},33421:{name:"CFARepeatPatternDim",type:"Short"},33422:{name:"CFAPattern",type:"Byte"},33423:{name:"BatteryLevel",type:"Rational"},33432:{name:"Copyright",type:"Ascii"},33434:{name:"ExposureTime",type:"Rational"},34377:{name:"ImageResources",type:"Byte"},34665:{name:"ExifTag",type:"Long"},34675:{name:"InterColorProfile",type:"Undefined"},34853:{name:"GPSTag",type:"Long"},34857:{name:"Interlace",type:"Short"},34858:{name:"TimeZoneOffset",type:"Long"},34859:{name:"SelfTimerMode",type:"Short"},37387:{name:"FlashEnergy",type:"Rational"},37388:{name:"SpatialFrequencyResponse",type:"Undefined"},37389:{name:"Noise",type:"Undefined"},37390:{name:"FocalPlaneXResolution",type:"Rational"},37391:{name:"FocalPlaneYResolution",type:"Rational"},37392:{name:"FocalPlaneResolutionUnit",type:"Short"},37393:{name:"ImageNumber",type:"Long"},37394:{name:"SecurityClassification",type:"Ascii"},37395:{name:"ImageHistory",type:"Ascii"},37397:{name:"ExposureIndex",type:"Rational"},37398:{name:"TIFFEPStandardID",type:"Byte"},37399:{name:"SensingMethod",type:"Short"},40091:{name:"XPTitle",type:"Byte"},40092:{name:"XPComment",type:"Byte"},40093:{name:"XPAuthor",type:"Byte"},40094:{name:"XPKeywords",type:"Byte"},40095:{name:"XPSubject",type:"Byte"},50341:{name:"PrintImageMatching",type:"Undefined"},50706:{name:"DNGVersion",type:"Byte"},50707:{name:"DNGBackwardVersion",type:"Byte"},50708:{name:"UniqueCameraModel",type:"Ascii"},50709:{name:"LocalizedCameraModel",type:"Byte"},50710:{name:"CFAPlaneColor",type:"Byte"},50711:{name:"CFALayout",type:"Short"},50712:{name:"LinearizationTable",type:"Short"},50713:{name:"BlackLevelRepeatDim",type:"Short"},50714:{name:"BlackLevel",type:"Rational"},50715:{name:"BlackLevelDeltaH",type:"SRational"},50716:{name:"BlackLevelDeltaV",type:"SRational"},50717:{name:"WhiteLevel",type:"Short"},50718:{name:"DefaultScale",type:"Rational"},50719:{name:"DefaultCropOrigin",type:"Short"},50720:{name:"DefaultCropSize",type:"Short"},50721:{name:"ColorMatrix1",type:"SRational"},50722:{name:"ColorMatrix2",type:"SRational"},50723:{name:"CameraCalibration1",type:"SRational"},50724:{name:"CameraCalibration2",type:"SRational"},50725:{name:"ReductionMatrix1",type:"SRational"},50726:{name:"ReductionMatrix2",type:"SRational"},50727:{name:"AnalogBalance",type:"Rational"},50728:{name:"AsShotNeutral",type:"Short"},50729:{name:"AsShotWhiteXY",type:"Rational"},50730:{name:"BaselineExposure",type:"SRational"},50731:{name:"BaselineNoise",type:"Rational"},50732:{name:"BaselineSharpness",type:"Rational"},50733:{name:"BayerGreenSplit",type:"Long"},50734:{name:"LinearResponseLimit",type:"Rational"},50735:{name:"CameraSerialNumber",type:"Ascii"},50736:{name:"LensInfo",type:"Rational"},50737:{name:"ChromaBlurRadius",type:"Rational"},50738:{name:"AntiAliasStrength",type:"Rational"},50739:{name:"ShadowScale",type:"SRational"},50740:{name:"DNGPrivateData",type:"Byte"},50741:{name:"MakerNoteSafety",type:"Short"},50778:{name:"CalibrationIlluminant1",type:"Short"},50779:{name:"CalibrationIlluminant2",type:"Short"},50780:{name:"BestQualityScale",type:"Rational"},50781:{name:"RawDataUniqueID",type:"Byte"},50827:{name:"OriginalRawFileName",type:"Byte"},50828:{name:"OriginalRawFileData",type:"Undefined"},50829:{name:"ActiveArea",type:"Short"},50830:{name:"MaskedAreas",type:"Short"},50831:{name:"AsShotICCProfile",type:"Undefined"},50832:{name:"AsShotPreProfileMatrix",type:"SRational"},50833:{name:"CurrentICCProfile",type:"Undefined"},50834:{name:"CurrentPreProfileMatrix",type:"SRational"},50879:{name:"ColorimetricReference",type:"Short"},50931:{name:"CameraCalibrationSignature",type:"Byte"},50932:{name:"ProfileCalibrationSignature",type:"Byte"},50934:{name:"AsShotProfileName",type:"Byte"},50935:{name:"NoiseReductionApplied",type:"Rational"},50936:{name:"ProfileName",type:"Byte"},50937:{name:"ProfileHueSatMapDims",type:"Long"},50938:{name:"ProfileHueSatMapData1",type:"Float"},50939:{name:"ProfileHueSatMapData2",type:"Float"},50940:{name:"ProfileToneCurve",type:"Float"},50941:{name:"ProfileEmbedPolicy",type:"Long"},50942:{name:"ProfileCopyright",type:"Byte"},50964:{name:"ForwardMatrix1",type:"SRational"},50965:{name:"ForwardMatrix2",type:"SRational"},50966:{name:"PreviewApplicationName",type:"Byte"},50967:{name:"PreviewApplicationVersion",type:"Byte"},50968:{name:"PreviewSettingsName",type:"Byte"},50969:{name:"PreviewSettingsDigest",type:"Byte"},50970:{name:"PreviewColorSpace",type:"Long"},50971:{name:"PreviewDateTime",type:"Ascii"},50972:{name:"RawImageDigest",type:"Undefined"},50973:{name:"OriginalRawFileDigest",type:"Undefined"},50974:{name:"SubTileBlockSize",type:"Long"},50975:{name:"RowInterleaveFactor",type:"Long"},50981:{name:"ProfileLookTableDims",type:"Long"},50982:{name:"ProfileLookTableData",type:"Float"},51008:{name:"OpcodeList1",type:"Undefined"},51009:{name:"OpcodeList2",type:"Undefined"},51022:{name:"OpcodeList3",type:"Undefined"}},Exif:{33434:{name:"ExposureTime",type:"Rational"},33437:{name:"FNumber",type:"Rational"},34850:{name:"ExposureProgram",type:"Short"},34852:{name:"SpectralSensitivity",type:"Ascii"},34855:{name:"ISOSpeedRatings",type:"Short"},34856:{name:"OECF",type:"Undefined"},34864:{name:"SensitivityType",type:"Short"},34865:{name:"StandardOutputSensitivity",type:"Long"},34866:{name:"RecommendedExposureIndex",type:"Long"},34867:{name:"ISOSpeed",type:"Long"},34868:{name:"ISOSpeedLatitudeyyy",type:"Long"},34869:{name:"ISOSpeedLatitudezzz",type:"Long"},36864:{name:"ExifVersion",type:"Undefined"},36867:{name:"DateTimeOriginal",type:"Ascii"},36868:{name:"DateTimeDigitized",type:"Ascii"},37121:{name:"ComponentsConfiguration",type:"Undefined"},37122:{name:"CompressedBitsPerPixel",type:"Rational"},37377:{name:"ShutterSpeedValue",type:"SRational"},37378:{name:"ApertureValue",type:"Rational"},37379:{name:"BrightnessValue",type:"SRational"},37380:{name:"ExposureBiasValue",type:"SRational"},37381:{name:"MaxApertureValue",type:"Rational"},37382:{name:"SubjectDistance",type:"Rational"},37383:{name:"MeteringMode",type:"Short"},37384:{name:"LightSource",type:"Short"},37385:{name:"Flash",type:"Short"},37386:{name:"FocalLength",type:"Rational"},37396:{name:"SubjectArea",type:"Short"},37500:{name:"MakerNote",type:"Undefined"},37510:{name:"UserComment",type:"Ascii"},37520:{name:"SubSecTime",type:"Ascii"},37521:{name:"SubSecTimeOriginal",type:"Ascii"},37522:{name:"SubSecTimeDigitized",type:"Ascii"},40960:{name:"FlashpixVersion",type:"Undefined"},40961:{name:"ColorSpace",type:"Short"},40962:{name:"PixelXDimension",type:"Long"},40963:{name:"PixelYDimension",type:"Long"},40964:{name:"RelatedSoundFile",type:"Ascii"},40965:{name:"InteroperabilityTag",type:"Long"},41483:{name:"FlashEnergy",type:"Rational"},41484:{name:"SpatialFrequencyResponse",type:"Undefined"},41486:{name:"FocalPlaneXResolution",type:"Rational"},41487:{name:"FocalPlaneYResolution",type:"Rational"},41488:{name:"FocalPlaneResolutionUnit",type:"Short"},41492:{name:"SubjectLocation",type:"Short"},41493:{name:"ExposureIndex",type:"Rational"},41495:{name:"SensingMethod",type:"Short"},41728:{name:"FileSource",type:"Undefined"},41729:{name:"SceneType",type:"Undefined"},41730:{name:"CFAPattern",type:"Undefined"},41985:{name:"CustomRendered",type:"Short"},41986:{name:"ExposureMode",type:"Short"},41987:{name:"WhiteBalance",type:"Short"},41988:{name:"DigitalZoomRatio",type:"Rational"},41989:{name:"FocalLengthIn35mmFilm",type:"Short"},41990:{name:"SceneCaptureType",type:"Short"},41991:{name:"GainControl",type:"Short"},41992:{name:"Contrast",type:"Short"},41993:{name:"Saturation",type:"Short"},41994:{name:"Sharpness",type:"Short"},41995:{name:"DeviceSettingDescription",type:"Undefined"},41996:{name:"SubjectDistanceRange",type:"Short"},42016:{name:"ImageUniqueID",type:"Ascii"},42032:{name:"CameraOwnerName",type:"Ascii"},42033:{name:"BodySerialNumber",type:"Ascii"},42034:{name:"LensSpecification",type:"Rational"},42035:{name:"LensMake",type:"Ascii"},42036:{name:"LensModel",type:"Ascii"},42037:{name:"LensSerialNumber",type:"Ascii"},42240:{name:"Gamma",type:"Rational"}},GPS:{0:{name:"GPSVersionID",type:"Byte"},1:{name:"GPSLatitudeRef",type:"Ascii"},2:{name:"GPSLatitude",type:"Rational"},3:{name:"GPSLongitudeRef",type:"Ascii"},4:{name:"GPSLongitude",type:"Rational"},5:{name:"GPSAltitudeRef",type:"Byte"},6:{name:"GPSAltitude",type:"Rational"},7:{name:"GPSTimeStamp",type:"Rational"},8:{name:"GPSSatellites",type:"Ascii"},9:{name:"GPSStatus",type:"Ascii"},10:{name:"GPSMeasureMode",type:"Ascii"},11:{name:"GPSDOP",type:"Rational"},12:{name:"GPSSpeedRef",type:"Ascii"},13:{name:"GPSSpeed",type:"Rational"},14:{name:"GPSTrackRef",type:"Ascii"},15:{name:"GPSTrack",type:"Rational"},16:{name:"GPSImgDirectionRef",type:"Ascii"},17:{name:"GPSImgDirection",type:"Rational"},18:{name:"GPSMapDatum",type:"Ascii"},19:{name:"GPSDestLatitudeRef",type:"Ascii"},20:{name:"GPSDestLatitude",type:"Rational"},21:{name:"GPSDestLongitudeRef",type:"Ascii"},22:{name:"GPSDestLongitude",type:"Rational"},23:{name:"GPSDestBearingRef",type:"Ascii"},24:{name:"GPSDestBearing",type:"Rational"},25:{name:"GPSDestDistanceRef",type:"Ascii"},26:{name:"GPSDestDistance",type:"Rational"},27:{name:"GPSProcessingMethod",type:"Undefined"},28:{name:"GPSAreaInformation",type:"Undefined"},29:{name:"GPSDateStamp",type:"Ascii"},30:{name:"GPSDifferential",type:"Short"},31:{name:"GPSHPositioningError",type:"Rational"}},Interop:{1:{name:"InteroperabilityIndex",type:"Ascii"}}};b["0th"]=b.Image,b["1st"]=b.Image,r.TAGS=b,r.ImageIFD={ProcessingSoftware:11,NewSubfileType:254,SubfileType:255,ImageWidth:256,ImageLength:257,BitsPerSample:258,Compression:259,PhotometricInterpretation:262,Threshholding:263,CellWidth:264,CellLength:265,FillOrder:266,DocumentName:269,ImageDescription:270,Make:271,Model:272,StripOffsets:273,Orientation:274,SamplesPerPixel:277,RowsPerStrip:278,StripByteCounts:279,XResolution:282,YResolution:283,PlanarConfiguration:284,GrayResponseUnit:290,GrayResponseCurve:291,T4Options:292,T6Options:293,ResolutionUnit:296,TransferFunction:301,Software:305,DateTime:306,Artist:315,HostComputer:316,Predictor:317,WhitePoint:318,PrimaryChromaticities:319,ColorMap:320,HalftoneHints:321,TileWidth:322,TileLength:323,TileOffsets:324,TileByteCounts:325,SubIFDs:330,InkSet:332,InkNames:333,NumberOfInks:334,DotRange:336,TargetPrinter:337,ExtraSamples:338,SampleFormat:339,SMinSampleValue:340,SMaxSampleValue:341,TransferRange:342,ClipPath:343,XClipPathUnits:344,YClipPathUnits:345,Indexed:346,JPEGTables:347,OPIProxy:351,JPEGProc:512,JPEGInterchangeFormat:513,JPEGInterchangeFormatLength:514,JPEGRestartInterval:515,JPEGLosslessPredictors:517,JPEGPointTransforms:518,JPEGQTables:519,JPEGDCTables:520,JPEGACTables:521,YCbCrCoefficients:529,YCbCrSubSampling:530,YCbCrPositioning:531,ReferenceBlackWhite:532,XMLPacket:700,Rating:18246,RatingPercent:18249,ImageID:32781,CFARepeatPatternDim:33421,CFAPattern:33422,BatteryLevel:33423,Copyright:33432,ExposureTime:33434,ImageResources:34377,ExifTag:34665,InterColorProfile:34675,GPSTag:34853,Interlace:34857,TimeZoneOffset:34858,SelfTimerMode:34859,FlashEnergy:37387,SpatialFrequencyResponse:37388,Noise:37389,FocalPlaneXResolution:37390,FocalPlaneYResolution:37391,FocalPlaneResolutionUnit:37392,ImageNumber:37393,SecurityClassification:37394,ImageHistory:37395,ExposureIndex:37397,TIFFEPStandardID:37398,SensingMethod:37399,XPTitle:40091,XPComment:40092,XPAuthor:40093,XPKeywords:40094,XPSubject:40095,PrintImageMatching:50341,DNGVersion:50706,DNGBackwardVersion:50707,UniqueCameraModel:50708,LocalizedCameraModel:50709,CFAPlaneColor:50710,CFALayout:50711,LinearizationTable:50712,BlackLevelRepeatDim:50713,BlackLevel:50714,BlackLevelDeltaH:50715,BlackLevelDeltaV:50716,WhiteLevel:50717,DefaultScale:50718,DefaultCropOrigin:50719,DefaultCropSize:50720,ColorMatrix1:50721,ColorMatrix2:50722,CameraCalibration1:50723,CameraCalibration2:50724,ReductionMatrix1:50725,ReductionMatrix2:50726,AnalogBalance:50727,AsShotNeutral:50728,AsShotWhiteXY:50729,BaselineExposure:50730,BaselineNoise:50731,BaselineSharpness:50732,BayerGreenSplit:50733,LinearResponseLimit:50734,CameraSerialNumber:50735,LensInfo:50736,ChromaBlurRadius:50737,AntiAliasStrength:50738,ShadowScale:50739,DNGPrivateData:50740,MakerNoteSafety:50741,CalibrationIlluminant1:50778,CalibrationIlluminant2:50779,BestQualityScale:50780,RawDataUniqueID:50781,OriginalRawFileName:50827,OriginalRawFileData:50828,ActiveArea:50829,MaskedAreas:50830,AsShotICCProfile:50831,AsShotPreProfileMatrix:50832,CurrentICCProfile:50833,CurrentPreProfileMatrix:50834,ColorimetricReference:50879,CameraCalibrationSignature:50931,ProfileCalibrationSignature:50932,AsShotProfileName:50934,NoiseReductionApplied:50935,ProfileName:50936,ProfileHueSatMapDims:50937,ProfileHueSatMapData1:50938,ProfileHueSatMapData2:50939,ProfileToneCurve:50940,ProfileEmbedPolicy:50941,ProfileCopyright:50942,ForwardMatrix1:50964,ForwardMatrix2:50965,PreviewApplicationName:50966,PreviewApplicationVersion:50967,PreviewSettingsName:50968,PreviewSettingsDigest:50969,PreviewColorSpace:50970,PreviewDateTime:50971,RawImageDigest:50972,OriginalRawFileDigest:50973,SubTileBlockSize:50974,RowInterleaveFactor:50975,ProfileLookTableDims:50981,ProfileLookTableData:50982,OpcodeList1:51008,OpcodeList2:51009,OpcodeList3:51022,NoiseProfile:51041},r.ExifIFD={ExposureTime:33434,FNumber:33437,ExposureProgram:34850,SpectralSensitivity:34852,ISOSpeedRatings:34855,OECF:34856,SensitivityType:34864,StandardOutputSensitivity:34865,RecommendedExposureIndex:34866,ISOSpeed:34867,ISOSpeedLatitudeyyy:34868,ISOSpeedLatitudezzz:34869,ExifVersion:36864,DateTimeOriginal:36867,DateTimeDigitized:36868,ComponentsConfiguration:37121,CompressedBitsPerPixel:37122,ShutterSpeedValue:37377,ApertureValue:37378,BrightnessValue:37379,ExposureBiasValue:37380,MaxApertureValue:37381,SubjectDistance:37382,MeteringMode:37383,LightSource:37384,Flash:37385,FocalLength:37386,SubjectArea:37396,MakerNote:37500,UserComment:37510,SubSecTime:37520,SubSecTimeOriginal:37521,SubSecTimeDigitized:37522,FlashpixVersion:40960,ColorSpace:40961,PixelXDimension:40962,PixelYDimension:40963,RelatedSoundFile:40964,InteroperabilityTag:40965,FlashEnergy:41483,SpatialFrequencyResponse:41484,FocalPlaneXResolution:41486,FocalPlaneYResolution:41487,FocalPlaneResolutionUnit:41488,SubjectLocation:41492,ExposureIndex:41493,SensingMethod:41495,FileSource:41728,SceneType:41729,CFAPattern:41730,CustomRendered:41985,ExposureMode:41986,WhiteBalance:41987,DigitalZoomRatio:41988,FocalLengthIn35mmFilm:41989,SceneCaptureType:41990,GainControl:41991,Contrast:41992,Saturation:41993,Sharpness:41994,DeviceSettingDescription:41995,SubjectDistanceRange:41996,ImageUniqueID:42016,CameraOwnerName:42032,BodySerialNumber:42033,LensSpecification:42034,LensMake:42035,LensModel:42036,LensSerialNumber:42037,Gamma:42240},r.GPSIFD={GPSVersionID:0,GPSLatitudeRef:1,GPSLatitude:2,GPSLongitudeRef:3,GPSLongitude:4,GPSAltitudeRef:5,GPSAltitude:6,GPSTimeStamp:7,GPSSatellites:8,GPSStatus:9,GPSMeasureMode:10,GPSDOP:11,GPSSpeedRef:12,GPSSpeed:13,GPSTrackRef:14,GPSTrack:15,GPSImgDirectionRef:16,GPSImgDirection:17,GPSMapDatum:18,GPSDestLatitudeRef:19,GPSDestLatitude:20,GPSDestLongitudeRef:21,GPSDestLongitude:22,GPSDestBearingRef:23,GPSDestBearing:24,GPSDestDistanceRef:25,GPSDestDistance:26,GPSProcessingMethod:27,GPSAreaInformation:28,GPSDateStamp:29,GPSDifferential:30,GPSHPositioningError:31},r.InteropIFD={InteroperabilityIndex:1},r.GPSHelper={degToDmsRational:function(i){var e=Math.abs(i),r=e%1*60,t=r%1*60;return[[Math.floor(e),1],[Math.floor(r),1],[Math.round(100*t),100]]},dmsRationalToDeg:function(i,e){var r="S"===e||"W"===e?-1:1;return(i[0][0]/i[0][1]+i[1][0]/i[1][1]/60+i[2][0]/i[2][1]/3600)*r}},typeof i<"u"?(typeof e<"u"&&e.exports&&(i=e.exports=r),i.piexif=r):window.piexif=r}()}),ao=Wn((i,e)=>{!function(){var i,r,t,n,f,a,o,A,s,l,k,h,u,c,d,b={};function p(){typeof process>"u"&&console.log.apply(console,arguments)}"object"==typeof e?e.exports=b:self.UTIF=b,i=b,function(){"use strict";var e=function(){function i(i){this.message="JPEG error: "+i}return i.prototype=new Error,i.prototype.name="JpegError",i.constructor=i,i}(),r=function(){var i=new Uint8Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),r=4017,n=799,f=3406,a=2276,o=1567,A=3784,s=5793,l=2896;function k(i){null==i&&(i={}),null==i.w&&(i.w=-1),this.V=i.n,this.N=i.w}function h(i,e){for(var r,t,n,f=0,a=[],o=16;o>0&&!i[o-1];)o--;a.push({children:[],index:0});var A=a[0];for(r=0;r<o;r++){for(t=0;t<i[r];t++){for((A=a.pop()).children[A.index]=e[f];A.index>0;)A=a.pop();for(A.index++,a.push(A);a.length<=r;)a.push(n={children:[],index:0}),A.children[A.index]=n.children,A=n;f++}r+1<o&&(a.push(n={children:[],index:0}),A.children[A.index]=n.children,A=n)}return a[0].children}function u(i,e,r){return 64*((i.P+1)*e+r)}function c(r,n,f,a,o,A,s,l,k,h){null==h&&(h=!1);var c,d,b,g,m,v,w,_,y,C,B,x=f.m,Z=f.Z,I=n,W=0,E=0,F=0,S=0,X=0,V=0;function G(){if(E>0)return E--,W>>E&1;if(255===(W=r[n++])){var i=r[n++];if(i){if(220===i&&h){var a=t(r,n+=2);if(n+=2,a>0&&a!==f.s)throw new DNLMarkerError("Found DNL marker (0xFFDC) while parsing scan data",a)}else if(217===i){if(h){var o=8*X;if(o>0&&o<f.s/10)throw new DNLMarkerError("Found EOI marker (0xFFD9) while parsing scan data, possibly caused by incorrect `scanLines` parameter",o)}throw new EOIMarkerError("Found EOI marker (0xFFD9) while parsing scan data")}throw new e("unexpected marker")}}return E=7,W>>>7}function D(i){for(var r=i;;){switch(typeof(r=r[G()])){case"number":return r;case"object":continue}throw new e("invalid huffman sequence")}}function M(i){for(var e=0;i>0;)e=e<<1|G(),i--;return e}function R(i){if(1===i)return 1===G()?1:-1;var e=M(i);return e>=1<<i-1?e:e+(-1<<i)+1}function T(i,e,r,t,n){var f=r%x;X=(r/x|0)*i.A+t;var a=f*i.h+n;e(i,u(i,X,a))}function P(i,e,r){X=r/i.P|0;var t=r%i.P;e(i,u(i,X,t))}var N=a.length;for(w=Z?0===A?0===l?function(i,e){var r=D(i.J),t=0===r?0:R(r)<<k;i.D[e]=i.Q+=t}:function(i,e){i.D[e]|=G()<<k}:0===l?function(e,r){if(F>0)F--;else for(var t=A,n=s;t<=n;){var f=D(e.i),a=15&f,o=f>>4;if(0!==a){var l=i[t+=o];e.D[r+l]=R(a)*(1<<k),t++}else{if(o<15){F=M(o)+(1<<o)-1;break}t+=16}}}:function(r,t){for(var n,f,a=A,o=s,l=0;a<=o;){var h=t+i[a],u=r.D[h]<0?-1:1;switch(S){case 0:if(l=(f=D(r.i))>>4,0==(n=15&f))l<15?(F=M(l)+(1<<l),S=4):(l=16,S=1);else{if(1!==n)throw new e("invalid ACn encoding");c=R(n),S=l?2:3}continue;case 1:case 2:r.D[h]?r.D[h]+=u*(G()<<k):0===--l&&(S=2===S?3:0);break;case 3:r.D[h]?r.D[h]+=u*(G()<<k):(r.D[h]=c<<k,S=0);break;case 4:r.D[h]&&(r.D[h]+=u*(G()<<k))}a++}4===S&&0===--F&&(S=0)}:function(e,r){var t=D(e.J),n=0===t?0:R(t),f=1;for(e.D[r]=e.Q+=n;f<64;){var a=D(e.i),o=15&a,A=a>>4;if(0!==o){var s=i[f+=A];e.D[r+s]=R(o),f++}else{if(A<15)break;f+=16}}},y=1===N?a[0].P*a[0].c:x*f.R;V<=y;){var Q=o?Math.min(y-V,o):y;if(Q>0){for(b=0;b<N;b++)a[b].Q=0;if(F=0,1===N)for(d=a[0],v=0;v<Q;v++)P(d,w,V),V++;else for(v=0;v<Q;v++){for(b=0;b<N;b++)for(C=(d=a[b]).h,B=d.A,g=0;g<B;g++)for(m=0;m<C;m++)T(d,w,V,g,m);V++}}if(E=0,!(_=p(r,n)))break;if(_.u&&(n=_.offset),!(_.M>=65488&&_.M<=65495))break;n+=2}return n-I}function d(i,t,k){var h,u,c,d,b,p,g,m,v,w,_,y,C,B,x,Z,I,W=i.$,E=i.D;if(!W)throw new e("missing required Quantization Table.");for(var F=0;F<64;F+=8)v=E[t+F],w=E[t+F+1],_=E[t+F+2],y=E[t+F+3],C=E[t+F+4],B=E[t+F+5],x=E[t+F+6],Z=E[t+F+7],v*=W[F],0!==(w|_|y|C|B|x|Z)?(w*=W[F+1],_*=W[F+2],y*=W[F+3],C*=W[F+4],B*=W[F+5],x*=W[F+6],Z*=W[F+7],u=(h=(h=s*v+128>>8)+(u=s*C+128>>8)+1>>1)-u,I=(c=_)*A+(d=x)*o+128>>8,c=c*o-d*A+128>>8,g=(b=(b=l*(w-Z)+128>>8)+(g=B<<4)+1>>1)-g,p=(m=(m=l*(w+Z)+128>>8)+(p=y<<4)+1>>1)-p,d=(h=h+(d=I)+1>>1)-d,c=(u=u+c+1>>1)-c,I=b*a+m*f+2048>>12,b=b*f-m*a+2048>>12,m=I,I=p*n+g*r+2048>>12,p=p*r-g*n+2048>>12,g=I,k[F]=h+m,k[F+7]=h-m,k[F+1]=u+g,k[F+6]=u-g,k[F+2]=c+p,k[F+5]=c-p,k[F+3]=d+b,k[F+4]=d-b):(I=s*v+512>>10,k[F]=I,k[F+1]=I,k[F+2]=I,k[F+3]=I,k[F+4]=I,k[F+5]=I,k[F+6]=I,k[F+7]=I);for(var S=0;S<8;++S)v=k[S],0!==((w=k[S+8])|(_=k[S+16])|(y=k[S+24])|(C=k[S+32])|(B=k[S+40])|(x=k[S+48])|(Z=k[S+56]))?(u=(h=4112+((h=s*v+2048>>12)+(u=s*C+2048>>12)+1>>1))-u,I=(c=_)*A+(d=x)*o+2048>>12,c=c*o-d*A+2048>>12,d=I,g=(b=(b=l*(w-Z)+2048>>12)+(g=B)+1>>1)-g,p=(m=(m=l*(w+Z)+2048>>12)+(p=y)+1>>1)-p,I=b*a+m*f+2048>>12,b=b*f-m*a+2048>>12,m=I,I=p*n+g*r+2048>>12,p=p*r-g*n+2048>>12,(v=(h=h+d+1>>1)+m)<16?v=0:v>=4080?v=255:v>>=4,(w=(u=u+c+1>>1)+(g=I))<16?w=0:w>=4080?w=255:w>>=4,(_=(c=u-c)+p)<16?_=0:_>=4080?_=255:_>>=4,(y=(d=h-d)+b)<16?y=0:y>=4080?y=255:y>>=4,(C=d-b)<16?C=0:C>=4080?C=255:C>>=4,(B=c-p)<16?B=0:B>=4080?B=255:B>>=4,(x=u-g)<16?x=0:x>=4080?x=255:x>>=4,(Z=h-m)<16?Z=0:Z>=4080?Z=255:Z>>=4,E[t+S]=v,E[t+S+8]=w,E[t+S+16]=_,E[t+S+24]=y,E[t+S+32]=C,E[t+S+40]=B,E[t+S+48]=x,E[t+S+56]=Z):(I=(I=s*v+8192>>14)<-2040?0:I>=2024?255:I+2056>>4,E[t+S]=I,E[t+S+8]=I,E[t+S+16]=I,E[t+S+24]=I,E[t+S+32]=I,E[t+S+40]=I,E[t+S+48]=I,E[t+S+56]=I)}function b(i,e){for(var r=e.P,t=e.c,n=new Int16Array(64),f=0;f<t;f++)for(var a=0;a<r;a++)d(e,u(e,f,a),n);return e.D}function p(i,e,r){null==r&&(r=e);var n=i.length-1,f=r<e?r:e;if(e>=n)return null;var a=t(i,e);if(a>=65472&&a<=65534)return{u:null,M:a,offset:e};for(var o=t(i,f);!(o>=65472&&o<=65534);){if(++f>=n)return null;o=t(i,f)}return{u:a.toString(16),M:o,offset:f}}return k.prototype={parse(r,n){null==n&&(n={});var f,a,o=n.F,A=0,s=null,l=null,k=0;function u(){var i=t(r,A),e=(A+=2)+i-2,n=p(r,e,A);n&&n.u&&(e=n.offset);var f=r.subarray(A,e);return A+=f.length,f}function d(i){for(var e=Math.ceil(i.o/8/i.X),r=Math.ceil(i.s/8/i.B),t=0;t<i.W.length;t++){Q=i.W[t];var n=Math.ceil(Math.ceil(i.o/8)*Q.h/i.X),f=Math.ceil(Math.ceil(i.s/8)*Q.A/i.B),a=e*Q.h,o=r*Q.A*64*(a+1);Q.D=new Int16Array(o),Q.P=n,Q.c=f}i.m=e,i.R=r}var g=[],m=[],v=[],w=t(r,A);if(A+=2,65496!==w)throw new e("SOI not found");w=t(r,A),A+=2;i:for(;65497!==w;){var _,y,C;switch(w){case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:var B=u();65504===w&&74===B[0]&&70===B[1]&&73===B[2]&&70===B[3]&&0===B[4]&&(s={version:{d:B[5],T:B[6]},K:B[7],j:B[8]<<8|B[9],H:B[10]<<8|B[11],S:B[12],I:B[13],C:B.subarray(14,14+3*B[12]*B[13])}),65518===w&&65===B[0]&&100===B[1]&&111===B[2]&&98===B[3]&&101===B[4]&&(l={version:B[5]<<8|B[6],k:B[7]<<8|B[8],q:B[9]<<8|B[10],a:B[11]});break;case 65499:for(var x=t(r,A)+(A+=2)-2;A<x;){var Z=r[A++],I=new Uint16Array(64);if(Z>>4){if(Z>>4!=1)throw new e("DQT - invalid table spec");for(y=0;y<64;y++)I[i[y]]=t(r,A),A+=2}else for(y=0;y<64;y++)I[i[y]]=r[A++];g[15&Z]=I}break;case 65472:case 65473:case 65474:if(f)throw new e("Only single frame JPEGs supported");A+=2,(f={}).G=65473===w,f.Z=65474===w,f.precision=r[A++];var W,E=t(r,A),F=0,S=0;A+=2,f.s=o||E,f.o=t(r,A),A+=2,f.W=[],f._={};var X=r[A++];for(_=0;_<X;_++){W=r[A];var V=r[A+1]>>4,G=15&r[A+1];F<V&&(F=V),S<G&&(S=G);var D=r[A+2];C=f.W.push({h:V,A:G,L:D,$:null}),f._[W]=C-1,A+=3}f.X=F,f.B=S,d(f);break;case 65476:var M=t(r,A);for(A+=2,_=2;_<M;){var R=r[A++],T=new Uint8Array(16),P=0;for(y=0;y<16;y++,A++)P+=T[y]=r[A];var N=new Uint8Array(P);for(y=0;y<P;y++,A++)N[y]=r[A];_+=17+P,(R>>4?m:v)[15&R]=h(T,N)}break;case 65501:a=t(r,A+=2),A+=2;break;case 65498:var Q,Y=1===++k&&!o;A+=2;var O=r[A++],z=[];for(_=0;_<O;_++){var J=r[A++],U=f._[J];(Q=f.W[U]).index=J;var j=r[A++];Q.J=v[j>>4],Q.i=m[15&j],z.push(Q)}var H=r[A++],L=r[A++],$=r[A++];try{var K=c(r,A,f,z,a,H,L,$>>4,15&$,Y);A+=K}catch(i){if(i instanceof DNLMarkerError)return this.parse(r,{F:i.s});if(i instanceof EOIMarkerError)break i;throw i}break;case 65500:A+=4;break;case 65535:255!==r[A]&&A--;break;default:var q=p(r,A-2,A-3);if(q&&q.u){A=q.offset;break}if(A>=r.length-1)break i;throw new e("JpegImage.parse - unknown marker: "+w.toString(16))}w=t(r,A),A+=2}for(this.width=f.o,this.height=f.s,this.g=s,this.b=l,this.W=[],_=0;_<f.W.length;_++){var ii=g[(Q=f.W[_]).L];ii&&(Q.$=ii),this.W.push({index:Q.index,e:b(0,Q),l:Q.h/f.X,t:Q.A/f.B,P:Q.P,c:Q.c})}this.p=this.W.length},Y(i,e,r){null==r&&(r=!1);var t,n,f,a,o,A,s,l,k,h,u,c,d=this.width/i,b=this.height/e,p=0,g=this.W.length,m=i*e*g,v=new Uint8ClampedArray(m),w=new Uint32Array(i),_=4294967288;for(s=0;s<g;s++){if(n=(t=this.W[s]).l*d,f=t.t*b,p=s,u=t.e,a=t.P+1<<3,n!==c){for(o=0;o<i;o++)l=0|o*n,w[o]=(l&_)<<3|7&l;c=n}for(A=0;A<e;A++)for(h=a*((l=0|A*f)&_)|(7&l)<<3,o=0;o<i;o++)v[p]=u[h+w[o]],p+=g}var y=this.V;if(!r&&4===g&&!y&&(y=new Int32Array([-256,255,-256,255,-256,255,-256,255])),y)for(s=0;s<m;)for(l=0,k=0;l<g;l++,s++,k+=2)v[s]=(v[s]*y[k]>>8)+y[k+1];return v},get f(){return this.b?!!this.b.a:3===this.p?0!==this.N&&!(82===this.W[0].index&&71===this.W[1].index&&66===this.W[2].index):1===this.N},z:function(i){for(var e,r,t,n=0,f=i.length;n<f;n+=3)e=i[n],r=i[n+1],t=i[n+2],i[n]=e-179.456+1.402*t,i[n+1]=e+135.459-.344*r-.714*t,i[n+2]=e-226.816+1.772*r;return i},O:function(i){for(var e,r,t,n,f=0,a=0,o=i.length;a<o;a+=4)e=i[a],r=i[a+1],t=i[a+2],n=i[a+3],i[f++]=r*(-660635669420364e-19*r+.000437130475926232*t-54080610064599e-18*e+.00048449797120281*n-.154362151871126)-122.67195406894+t*(-.000957964378445773*t+.000817076911346625*e-.00477271405408747*n+1.53380253221734)+e*(.000961250184130688*e-.00266257332283933*n+.48357088451265)+n*(-.000336197177618394*n+.484791561490776),i[f++]=107.268039397724+r*(219927104525741e-19*r-.000640992018297945*t+.000659397001245577*e+.000426105652938837*n-.176491792462875)+t*(-.000778269941513683*t+.00130872261408275*e+.000770482631801132*n-.151051492775562)+e*(.00126935368114843*e-.00265090189010898*n+.25802910206845)+n*(-.000318913117588328*n-.213742400323665),i[f++]=r*(-.000570115196973677*r-263409051004589e-19*t+.0020741088115012*e-.00288260236853442*n+.814272968359295)-20.810012546947+t*(-153496057440975e-19*t-.000132689043961446*e+.000560833691242812*n-.195152027534049)+e*(.00174418132927582*e-.00255243321439347*n+.116935020465145)+n*(-.000343531996510555*n+.24165260232407);return i.subarray(0,f)},r:function(i){for(var e,r,t,n=0,f=i.length;n<f;n+=4)e=i[n],r=i[n+1],t=i[n+2],i[n]=434.456-e-1.402*t,i[n+1]=119.541-e+.344*r+.714*t,i[n+2]=481.816-e-1.772*r;return i},U:function(i){for(var e,r,t,n,f=0,a=0,o=i.length;a<o;a+=4)e=i[a],r=i[a+1],t=i[a+2],n=i[a+3],i[f++]=255+e*(-6747147073602441e-20*e+.0008379262121013727*r+.0002894718188643294*t+.003264231057537806*n-1.1185611867203937)+r*(26374107616089405e-21*r-8626949158638572e-20*t-.0002748769067499491*n-.02155688794978967)+t*(-3878099212869363e-20*t-.0003267808279485286*n+.0686742238595345)-n*(.0003361971776183937*n+.7430659151342254),i[f++]=255+e*(.00013596372813588848*e+.000924537132573585*r+.00010567359618683593*t+.0004791864687436512*n-.3109689587515875)+r*(-.00023545346108370344*r+.0002702845253534714*t+.0020200308977307156*n-.7488052167015494)+t*(6834815998235662e-20*t+.00015168452363460973*n-.09751927774728933)-n*(.0003189131175883281*n+.7364883807733168),i[f++]=255+e*(13598650411385307e-21*e+.00012423956175490851*r+.0004751985097583589*t-36729317476630422e-22*n-.05562186980264034)+r*(.00016141380598724676*r+.0009692239130725186*t+.0007782692450036253*n-.44015232367526463)+t*(5.068882914068769e-7*t+.0017778369011375071*n-.7591454649749609)-n*(.0003435319965105553*n+.7063770186160144);return i.subarray(0,f)},getData:function(i){var r=i.width,t=i.height,n=i.forceRGB,f=i.isSourcePDF;if(this.p>4)throw new e("Unsupported color mode");var a=this.Y(r,t,f);if(1===this.p&&n){for(var o=a.length,A=new Uint8ClampedArray(3*o),s=0,l=0;l<o;l++){var k=a[l];A[s++]=k,A[s++]=k,A[s++]=k}return A}if(3===this.p&&this.f)return this.z(a);if(4===this.p){if(this.f)return n?this.O(a):this.r(a);if(n)return this.U(a)}return a}},k}();function t(i,e){return i[e]<<8|i[e+1]}i.JpegDecoder=r}(),i.encodeImage=function(e,r,t,n){var f=new Uint8Array(e),a=window&&window.pako?8:1;8==a&&(f=pako.deflate(f));var o={t256:[r],t257:[t],t258:[8,8,8,8],t259:[a],t262:[2],t273:[1e3],t277:[4],t278:[t],t279:[f.length],t282:[[72,1]],t283:[[72,1]],t284:[1],t286:[[0,1]],t287:[[0,1]],t296:[1],t305:["Photopea (UTIF.js)"],t338:[1]};if(n)for(var A in n)o[A]=n[A];var s=new Uint8Array(i.encode([o])),l=new Uint8Array(1e3+f.length);for(A=0;A<s.length;A++)l[A]=s[A];for(A=0;A<f.length;A++)l[1e3+A]=f[A];return l.buffer},i.encode=function(e){var r=new Uint8Array(2e4),t=4,n=i._binBE;r[0]=r[1]=77,n.writeUshort(r,2,42);var f=8;n.writeUint(r,t,f),t+=4;for(var a=0;a<e.length;a++){var o=i._writeIFD(n,i._types.basic,r,f,e[a]);f=o[1],a<e.length-1&&(!!(3&f)&&(f+=4-(3&f)),n.writeUint(r,o[0],f))}return r.slice(0,f).buffer},i.decode=function(e,r){null==r&&(r={parseMN:!0,debug:!1});var t=new Uint8Array(e),n=0,f=i._binBE.readASCII(t,n,2);n+=2;var a="II"==f?i._binLE:i._binBE;a.readUshort(t,n),n+=2;var o=a.readUint(t,n);n+=4;for(var A=[];;){var s=a.readUshort(t,o),l=a.readUshort(t,o+4);if(0!=s&&(l<1||13<l)){p("error in TIFF");break}if(i._readIFD(a,t,o,A,0,r),0==(o=a.readUint(t,o+2+12*s)))break}return A},i.decodeImage=function(e,r,t){if(!r.data){var n=new Uint8Array(e),f=i._binBE.readASCII(n,0,2);if(null!=r.t256){r.isLE="II"==f,r.width=r.t256[0],r.height=r.t257[0];var a=r.t259?r.t259[0]:1,o=r.t266?r.t266[0]:1;7==a&&r.t258&&r.t258.length>3&&(r.t258=r.t258.slice(0,3));var A=r.t258?r.t258[0]:1,s=r.t277?r.t277[0]:1,l=r.t284?r.t284[0]:1;3!=s&&(l=1),2==l&&p("PlanarConfiguration 2 should not be used!");var k=A*s;1==a&&null!=r.t279&&r.t278&&32803==r.t262[0]&&(k=Math.round(8*r.t279[0]/(r.width*r.t278[0]))),r.t50885&&4==r.t50885[0]&&(k=3*r.t258[0]);var h=8*Math.ceil(r.width*k/8),u=r.t273;(null==u||r.t322)&&(u=r.t324);var c=r.t279;1==a&&1==u.length&&(c=[r.height*(h>>>3)]),(null==c||r.t322)&&(c=r.t325);var d=new Uint8Array(r.height*(h>>>3)),b=0;if(null!=r.t322){var g=r.t322[0],m=r.t323[0],v=Math.floor((r.width+g-1)/g),w=Math.floor((r.height+m-1)/m),_=new Uint8Array(0|Math.ceil(g*m*k/8));console.log("====",v,w);for(var y=0;y<w;y++)for(var C=0;C<v;C++){var B=y*v+C;_.fill(0),i.decode._decompress(r,t,n,u[B],c[B],a,_,0,o,g,m),6==a?d=_:i._copyTile(_,0|Math.ceil(g*k/8),m,d,0|Math.ceil(r.width*k/8),r.height,0|Math.ceil(C*g*k/8),y*m)}b=8*d.length}else{if(null==u)return;var x=r.t278?r.t278[0]:r.height;for(x=Math.min(x,r.height),B=0;B<u.length;B++){if(1==l){var Z=0|Math.ceil(b/8);i.decode._decompress(r,t,n,u[B],c[B],a,d,Z,o,r.width,x)}else{var I=new Uint8Array(r.width*x);i.decode._decompress(r,t,n,u[B],c[B],a,I,0,o,r.width,x);for(var W=Math.ceil(u.length/3),E=(Z=B%W*r.width*x*3,Math.floor(B/W)),F=0;F<I.length;F++)d[Z+3*F+E]=I[F]}b+=h*x}b=Math.min(b,8*d.length)}r.data=new Uint8Array(d.buffer,0,0|Math.ceil(b/8))}}},i.decode._decompress=function(e,r,t,n,f,a,o,A,s,l,k){if(e.t271&&"Panasonic"==e.t271[0]&&(e.t45&&6==e.t45[0]?a=34316:34828==a&&(a=1)),1==a)for(var h=0;h<f;h++)o[A+h]=t[n+h];else if(2==a)i.decode._decodeG2(t,n,f,o,A,l,s);else if(3==a)i.decode._decodeG3(t,n,f,o,A,l,s,!(!e.t292||1&~e.t292[0]));else if(4==a)i.decode._decodeG4(t,n,f,o,A,l,s);else if(5==a)i.decode._decodeLZW(t,n,f,o,A,8);else if(6==a)i.decode._decodeOldJPEG(e,t,n,f,o,A);else if(7==a||34892==a)i.decode._decodeNewJPEG(e,t,n,f,o,A);else if(8==a||32946==a){var u=new Uint8Array(t.buffer,n+2,f-6),c=i._inflateRaw(u);A+c.length<=o.length&&o.set(c,A)}else 9==a?i.decode._decodeVC5(t,n,f,o,A,e.t33422):32767==a?i.decode._decodeARW(e,t,n,f,o,A):32773==a?i.decode._decodePackBits(t,n,f,o,A):32809==a?i.decode._decodeThunder(t,n,f,o,A):34316==a?i.decode._decodePanasonic(e,t,n,f,o,A):34713==a?i.decode._decodeNikon(e,r,t,n,f,o,A):34676==a?i.decode._decodeLogLuv32(e,t,n,f,o,A):p("Unknown compression",a);var d=e.t284?e.t284[0]:1,b=e.t258?Math.min(32,e.t258[0]):1,g=2==d?1:e.t277?e.t277[0]:1,m=b*g>>>3,v=Math.ceil(b*g*l/8);if(16==b&&!e.isLE&&null==e.t33422)for(var w=0;w<k;w++)for(var _=A+w*v,y=1;y<v;y+=2){var C=o[_+y];o[_+y]=o[_+y-1],o[_+y-1]=C}if(e.t317&&2==e.t317[0])for(w=0;w<k;w++){var B=A+w*v;if(16==b)for(h=m;h<v;h+=2){var x=(o[B+h+1]<<8|o[B+h])+(o[B+h-m+1]<<8|o[B+h-m]);o[B+h]=255&x,o[B+h+1]=x>>>8&255}else if(3==g)for(h=3;h<v;h+=3)o[B+h]=o[B+h]+o[B+h-3]&255,o[B+h+1]=o[B+h+1]+o[B+h-2]&255,o[B+h+2]=o[B+h+2]+o[B+h-1]&255;else for(h=m;h<v;h++)o[B+h]=o[B+h]+o[B+h-m]&255}},i.decode._decodePanasonic=function(i,e,r,t,n,f){var a,o,A,s,l,k,h,u,c=e.buffer,d=i.t2[0],b=i.t3[0],p=i.t10[0],g=i.t45[0],m=0,v=0,w=0,_=0,y=6==g?new Uint32Array(18):new Uint8Array(16),C=[0,0],B=[0,0],x=0,Z=new Uint8Array(16384),I=new Uint16Array(n.buffer);function W(i){if(0==w){var e=new Uint8Array(c,r+v+8184,8200),t=new Uint8Array(c,r+v,8184);Z.set(e),Z.set(t,e.length),v+=16384}if(5!=g)return(Z[_=(w=w-i&131071)>>3^16368]|Z[_+1]<<8)>>(7&w)&~(-1<<i);for(a=0;a<16;a++)y[a]=Z[w++],w&=16383}function E(i){return Z[w+15-i]}function F(){C[0]=0,C[1]=0,B[0]=0,B[1]=0}if(7==g)throw g;if(6==g){var S=12==p,X=S?function(){y[0]=E(0)<<4|E(1)>>4,y[1]=4095&((15&E(1))<<8|E(2)),y[2]=E(3)>>6&3,y[3]=(63&E(3))<<2|E(4)>>6,y[4]=(63&E(4))<<2|E(5)>>6,y[5]=(63&E(5))<<2|E(6)>>6,y[6]=E(6)>>4&3,y[7]=(15&E(6))<<4|E(7)>>4,y[8]=(15&E(7))<<4|E(8)>>4,y[9]=(15&E(8))<<4|E(9)>>4,y[10]=E(9)>>2&3,y[11]=(3&E(9))<<6|E(10)>>2,y[12]=(3&E(10))<<6|E(11)>>2,y[13]=(3&E(11))<<6|E(12)>>2,y[14]=3&E(12),y[15]=E(13),y[16]=E(14),y[17]=E(15),w+=16,_=0}:function(){y[0]=E(0)<<6|E(1)>>2,y[1]=16383&((3&E(1))<<12|E(2)<<4|E(3)>>4),y[2]=E(3)>>2&3,y[3]=(3&E(3))<<8|E(4),y[4]=E(5)<<2|E(6)>>6,y[5]=(63&E(6))<<4|E(7)>>4,y[6]=E(7)>>2&3,y[7]=(3&E(7))<<8|E(8),y[8]=E(9)<<2&1020|E(10)>>6,y[9]=1023&(E(10)<<4|E(11)>>4),y[10]=E(11)>>2&3,y[11]=(3&E(11))<<8|E(12),y[12]=1023&(E(13)<<2&1020|E(14)>>6),y[13]=1023&(E(14)<<4|E(15)>>4),w+=16,_=0},V=S?14:11,G=S?128:512,D=S?2048:8192,M=S?16383:65535,R=S?4095:16383,T=d/V,P=16*T,N=S?18:14;for(k=0;k<b-15;k+=16){var Q=Math.min(16,b-k),Y=P*Q;for(Z=new Uint8Array(c,r+m,Y),w=0,m+=Y,u=0,h=0;u<Q;u++,h=0){x=(k+u)*d;for(var O=0;O<T;O++)for(X(),F(),A=0,l=0,a=0;a<V;a++){if(s=1&a,a%3==2){var z=_<N?y[_++]:0;3==z&&(z=4),l=G<<z,A=1<<z}var J=_<N?y[_++]:0;C[s]?(J*=A,l<D&&B[s]>l&&(J+=B[s]-l),B[s]=J):(C[s]=J,J?B[s]=J:J=B[s]),I[x+h++]=J-15<=M?J-15&M:J+2147483633>>31&R}}}}else if(5==g){var U=12==p?10:9;for(k=0;k<b;k++)for(h=0;h<d;h+=U)W(0),12==p?(I[x++]=((15&y[1])<<8)+y[0],I[x++]=16*y[2]+(y[1]>>4),I[x++]=((15&y[4])<<8)+y[3],I[x++]=16*y[5]+(y[4]>>4),I[x++]=((15&y[7])<<8)+y[6],I[x++]=16*y[8]+(y[7]>>4),I[x++]=((15&y[10])<<8)+y[9],I[x++]=16*y[11]+(y[10]>>4),I[x++]=((15&y[13])<<8)+y[12],I[x++]=16*y[14]+(y[13]>>4)):14==p&&(I[x++]=y[0]+((63&y[1])<<8),I[x++]=(y[1]>>6)+4*y[2]+((15&y[3])<<10),I[x++]=(y[3]>>4)+16*y[4]+((3&y[5])<<12),I[x++]=((252&y[5])>>2)+(y[6]<<6),I[x++]=y[7]+((63&y[8])<<8),I[x++]=(y[8]>>6)+4*y[9]+((15&y[10])<<10),I[x++]=(y[10]>>4)+16*y[11]+((3&y[12])<<12),I[x++]=((252&y[12])>>2)+(y[13]<<6),I[x++]=y[14]+((63&y[15])<<8))}else{if(4!=g)throw g;for(k=0;k<b;k++)for(h=0;h<d;h++)s=1&(a=h%14),0==a&&F(),a%3==2&&(A=4>>3-W(2)),B[s]?0!=(o=W(8))&&(C[s]-=128<<A,(C[s]<0||4==A)&&(C[s]&=~(-1<<A)),C[s]+=o<<A):(B[s]=W(8),(B[s]||a>11)&&(C[s]=B[s]<<4|W(4))),I[x++]=C[1&h]}},i.decode._decodeVC5=function(){var e,r,t,n=[1,0,1,0,2,2,1,1,3,7,1,2,5,25,1,3,6,48,1,4,6,54,1,5,7,111,1,8,7,99,1,6,7,105,12,0,7,107,1,7,8,209,20,0,8,212,1,9,8,220,1,10,9,393,1,11,9,394,32,0,9,416,1,12,9,427,1,13,10,887,1,18,10,784,1,14,10,790,1,15,10,835,60,0,10,852,1,16,10,885,1,17,11,1571,1,19,11,1668,1,20,11,1669,100,0,11,1707,1,21,11,1772,1,22,12,3547,1,29,12,3164,1,24,12,3166,1,25,12,3140,1,23,12,3413,1,26,12,3537,1,27,12,3539,1,28,13,7093,1,35,13,6283,1,30,13,6331,1,31,13,6335,180,0,13,6824,1,32,13,7072,1,33,13,7077,320,0,13,7076,1,34,14,12565,1,36,14,12661,1,37,14,12669,1,38,14,13651,1,39,14,14184,1,40,15,28295,1,46,15,28371,1,47,15,25320,1,42,15,25336,1,43,15,25128,1,41,15,27300,1,44,15,28293,1,45,16,50259,1,48,16,50643,1,49,16,50675,1,50,16,56740,1,53,16,56584,1,51,16,56588,1,52,17,113483,1,61,17,113482,1,60,17,101285,1,55,17,101349,1,56,17,109205,1,57,17,109207,1,58,17,100516,1,54,17,113171,1,59,18,202568,1,62,18,202696,1,63,18,218408,1,64,18,218412,1,65,18,226340,1,66,18,226356,1,67,18,226358,1,68,19,402068,1,69,19,405138,1,70,19,405394,1,71,19,436818,1,72,19,436826,1,73,19,452714,1,75,19,452718,1,76,19,452682,1,74,20,804138,1,77,20,810279,1,78,20,810790,1,79,20,873638,1,80,20,873654,1,81,20,905366,1,82,20,905430,1,83,20,905438,1,84,21,1608278,1,85,21,1620557,1,86,21,1621582,1,87,21,1621583,1,88,21,1747310,1,89,21,1810734,1,90,21,1810735,1,91,21,1810863,1,92,21,1810879,1,93,22,3621725,1,99,22,3621757,1,100,22,3241112,1,94,22,3494556,1,95,22,3494557,1,96,22,3494622,1,97,22,3494623,1,98,23,6482227,1,102,23,6433117,1,101,23,6989117,1,103,23,6989119,1,105,23,6989118,1,104,23,7243449,1,106,23,7243512,1,107,24,13978233,1,111,24,12964453,1,109,24,12866232,1,108,24,14486897,1,113,24,13978232,1,110,24,14486896,1,112,24,14487026,1,114,24,14487027,1,115,25,25732598,1,225,25,25732597,1,189,25,25732596,1,188,25,25732595,1,203,25,25732594,1,202,25,25732593,1,197,25,25732592,1,207,25,25732591,1,169,25,25732590,1,223,25,25732589,1,159,25,25732522,1,235,25,25732579,1,152,25,25732575,1,192,25,25732489,1,179,25,25732573,1,201,25,25732472,1,172,25,25732576,1,149,25,25732488,1,178,25,25732566,1,120,25,25732571,1,219,25,25732577,1,150,25,25732487,1,127,25,25732506,1,211,25,25732548,1,125,25,25732588,1,158,25,25732486,1,247,25,25732467,1,238,25,25732508,1,163,25,25732552,1,228,25,25732603,1,183,25,25732513,1,217,25,25732587,1,168,25,25732520,1,122,25,25732484,1,128,25,25732562,1,249,25,25732505,1,187,25,25732504,1,186,25,25732483,1,136,25,25928905,1,181,25,25732560,1,255,25,25732500,1,230,25,25732482,1,135,25,25732555,1,233,25,25732568,1,222,25,25732583,1,145,25,25732481,1,134,25,25732586,1,167,25,25732521,1,248,25,25732518,1,209,25,25732480,1,243,25,25732512,1,216,25,25732509,1,164,25,25732547,1,140,25,25732479,1,157,25,25732544,1,239,25,25732574,1,191,25,25732564,1,251,25,25732478,1,156,25,25732546,1,139,25,25732498,1,242,25,25732557,1,133,25,25732477,1,162,25,25732515,1,213,25,25732584,1,165,25,25732514,1,212,25,25732476,1,227,25,25732494,1,198,25,25732531,1,236,25,25732530,1,234,25,25732529,1,117,25,25732528,1,215,25,25732527,1,124,25,25732526,1,123,25,25732525,1,254,25,25732524,1,253,25,25732523,1,148,25,25732570,1,218,25,25732580,1,146,25,25732581,1,147,25,25732569,1,224,25,25732533,1,143,25,25732540,1,184,25,25732541,1,185,25,25732585,1,166,25,25732556,1,132,25,25732485,1,129,25,25732563,1,250,25,25732578,1,151,25,25732501,1,119,25,25732502,1,193,25,25732536,1,176,25,25732496,1,245,25,25732553,1,229,25,25732516,1,206,25,25732582,1,144,25,25732517,1,208,25,25732558,1,137,25,25732543,1,241,25,25732466,1,237,25,25732507,1,190,25,25732542,1,240,25,25732551,1,131,25,25732554,1,232,25,25732565,1,252,25,25732475,1,171,25,25732493,1,205,25,25732492,1,204,25,25732491,1,118,25,25732490,1,214,25,25928904,1,180,25,25732549,1,126,25,25732602,1,182,25,25732539,1,175,25,25732545,1,141,25,25732559,1,138,25,25732537,1,177,25,25732534,1,153,25,25732503,1,194,25,25732606,1,160,25,25732567,1,121,25,25732538,1,174,25,25732497,1,246,25,25732550,1,130,25,25732572,1,200,25,25732474,1,170,25,25732511,1,221,25,25732601,1,196,25,25732532,1,142,25,25732519,1,210,25,25732495,1,199,25,25732605,1,155,25,25732535,1,154,25,25732499,1,244,25,25732510,1,220,25,25732600,1,195,25,25732607,1,161,25,25732604,1,231,25,25732473,1,173,25,25732599,1,226,26,51465122,1,116,26,51465123,0,1],f=[3,3,3,3,2,2,2,1,1,1];function a(i){var e=i[1],r=i[0][e>>>3]>>>7-(7&e)&1;return i[1]++,r}function o(i,r){if(null==e){e={};for(var t=0;t<n.length;t+=4)e[n[t+1]]=n.slice(t,t+4)}for(var f=a(i),o=e[f];null==o;)f=f<<1|a(i),o=e[f];var A=o[3];0!=A&&(A=0==a(i)?A:-A),r[0]=o[2],r[1]=A}function A(i,e){for(var r=0;r<e;r++)!(1&~i)&&i++,i>>>=1;return i}function s(i,e){return i>>e}function l(i,e,r,t,n,f){e[r]=s(s(11*i[n]-4*i[n+f]+i[n+f+f]+4,3)+i[t],1),e[r+f]=s(s(5*i[n]+4*i[n+f]-i[n+f+f]+4,3)-i[t],1)}function k(i,e,r,t,n,f){var a=i[n-f]-i[n+f],o=i[n],A=i[t];e[r]=s(s(a+4,3)+o+A,1),e[r+f]=s(s(4-a,3)+o-A,1)}function h(i,e,r,t,n,f){e[r]=s(s(5*i[n]+4*i[n-f]-i[n-f-f]+4,3)+i[t],1),e[r+f]=s(s(11*i[n]-4*i[n-f]+i[n-f-f]+4,3)-i[t],1)}function u(i){return i=t[i=i<0?0:i>4095?4095:i]>>>2}return function(e,n,a,s,c,d){s=new Uint16Array(s.buffer);var b,p,g,m,v,w,_,y,C=Date.now(),B=i._binBE,x=n+a;n+=4;for(var Z=1==d[0];n<x;){var I=B.readShort(e,n),W=B.readUshort(e,n+2);if(n+=4,12==I)D=W;else if(20==I)b=W;else if(21==I)p=W;else if(48==I)g=W;else if(53==I)m=W;else if(35==I);else if(62==I)v=W;else if(101==I);else if(109==I)w=W;else if(84==I);else if(106==I);else if(107==I);else if(108==I);else if(102==I);else if(104==I)ri=W;else if(105==I);else{var E=I<0?-I:I,F=65280&E,S=0;if(24576&E&&(8192&E?(S=65535&W,S+=(255&E)<<16):S=65535&W),24576&~E){if(16388==E)n+=4*S;else if(8192!=F&&8448!=F&&9216!=F)throw E.toString(16)}else{if(null==_){_=[];for(var X=0;X<4;X++)_[X]=new Int16Array((b>>>1)*(p>>>1));for(y=new Int16Array((b>>>1)*(p>>>1)),r=new Int16Array(1024),X=0;X<1024;X++){var V=X-512,G=Math.abs(V),D=Math.floor(768*G*G*G/16581375)+G;r[X]=Math.sign(V)*D}for(t=new Uint16Array(4096),X=0;X<4096;X++){var M=X,R=65535*(Math.pow(113,M/4095)-1)/112;t[X]=Math.min(R,65535)}}var T=_[v],P=A(b,1+f[g]),N=A(p,1+f[g]);if(0==g)for(var Q=0;Q<N;Q++)for(var Y=0;Y<P;Y++){var O=n+2*(Q*P+Y);T[Q*(b>>>1)+Y]=e[O]<<8|e[O+1]}else{var z=[e,8*n],J=[],U=0,j=P*N,H=[0,0],L=0;for(W=0;U<j;)for(o(z,H),L=H[0],W=H[1];L>0;)J[U++]=W,L--;var $=(g-1)%3,K=1!=$?P:0,q=0!=$?N:0;for(Q=0;Q<N;Q++){var ii=(Q+q)*(b>>>1)+K,ei=Q*P;for(Y=0;Y<P;Y++)T[ii+Y]=r[J[ei+Y]+512]*m}if(2==$){var ri=b>>>1,ti=2*P,ni=2*N;for(Q=0;Q<N;Q++)for(Y=0;Y<ti;Y++){X=2*Q*ri+Y;var fi=N*ri+(oi=Q*ri+Y);0==Q?l(T,y,X,fi,oi,ri):Q==N-1?h(T,y,X,fi,oi,ri):k(T,y,X,fi,oi,ri)}var ai=T;for(T=y,y=ai,Q=0;Q<ni;Q++)for(Y=0;Y<P;Y++){var oi;X=Q*ri+2*Y,fi=P+(oi=Q*ri+Y),0==Y?l(T,y,X,fi,oi,1):Y==P-1?h(T,y,X,fi,oi,1):k(T,y,X,fi,oi,1)}ai=T,T=y,y=ai;for(var Ai=[],si=2-~~((g-1)/3),li=0;li<3;li++)Ai[li]=w>>14-2*li&3;var ki=Ai[si];if(0!=ki)for(Q=0;Q<ni;Q++)for(Y=0;Y<ti;Y++)T[X=Q*ri+Y]=T[X]<<ki}}if(9==g&&3==v){var hi=_[0],ui=_[1],ci=_[2],di=_[3];for(Q=0;Q<p;Q+=2)for(Y=0;Y<b;Y+=2){var bi=Q*b+Y,pi=hi[O=(Q>>>1)*(b>>>1)+(Y>>>1)],gi=ui[O]-2048,mi=ci[O]-2048,vi=di[O]-2048,wi=(gi<<1)+pi,_i=(mi<<1)+pi,yi=pi+vi,Ci=pi-vi;Z?(s[bi]=u(yi),s[bi+1]=u(_i),s[bi+b]=u(wi),s[bi+b+1]=u(Ci)):(s[bi]=u(wi),s[bi+1]=u(yi),s[bi+b]=u(Ci),s[bi+b+1]=u(_i))}}n+=4*S}}}console.log(Date.now()-C)}}(),i.decode._decodeLogLuv32=function(i,e,r,t,n,f){for(var a=i.width,o=4*a,A=0,s=new Uint8Array(o);A<t;){for(var l=0;l<o;){var k=e[r+A];if(A++,k<128){for(var h=0;h<k;h++)s[l+h]=e[r+A+h];l+=k,A+=k}else{for(k-=126,h=0;h<k;h++)s[l+h]=e[r+A];l+=k,A++}}for(var u=0;u<a;u++)n[f+0]=s[u],n[f+1]=s[u+a],n[f+2]=s[u+2*a],n[f+4]=s[u+3*a],f+=6}},i.decode._ljpeg_diff=function(e,r,t){var n,f,a=i.decode._getbithuff;return n=a(e,r,t[0],t),!((f=a(e,r,n,0))&1<<n-1)&&(f-=(1<<n)-1),f},i.decode._decodeARW=function(e,r,t,n,f,a){var o=e.t256[0],A=e.t257[0],s=e.t258[0],l=e.isLE?i._binLE:i._binBE;if(o*A==n||o*A*1.5==n)if(o*A*1.5!=n){var k,h,u,c,d,b,p,g,m=new Uint16Array(16),v=new Uint8Array(o+1);for(I=0;I<A;I++){for(var w=0;w<o;w++)v[w]=r[t++];for(g=0,Z=0;Z<o-30;g+=16){for(h=2047&(k=l.readUint(v,g)),u=2047&k>>>11,c=15&k>>>22,d=15&k>>>26,b=0;b<4&&128<<b<=h-u;b++);for(p=30,_=0;_<16;_++)_==c?m[_]=h:_==d?m[_]=u:(m[_]=((l.readUshort(v,g+(p>>3))>>>(7&p)&127)<<b)+u,m[_]>2047&&(m[_]=2047),p+=7);for(_=0;_<16;_++,Z+=2)D=m[_]<<1,i.decode._putsF(f,(I*o+Z)*s,D<<16-s);Z-=1&Z?1:31}}}else for(var _=0;_<n;_+=3){var y=r[t+_+0],C=r[t+_+1],B=r[t+_+2];f[a+_]=C<<4|y>>>4,f[a+_+1]=y<<4|B>>>4,f[a+_+2]=B<<4|C>>>4}else{A+=8;var x,Z,I,W=[t,0,0,0],E=new Uint16Array(32770),F=[3857,3856,3599,3342,3085,2828,2571,2314,2057,1800,1543,1286,1029,772,771,768,514,513],S=0,X=i.decode._ljpeg_diff;for(E[0]=15,x=_=0;_<18;_++)for(var V=32768>>>(F[_]>>>8),G=0;G<V;G++)E[++x]=F[_];for(Z=o;Z--;)for(I=0;I<A+1;I+=2)if(I==A&&(I=1),S+=X(r,W,E),I<A){var D=4095&S;i.decode._putsF(f,(I*o+Z)*s,D<<16-s)}}},i.decode._decodeNikon=function(e,r,t,n,f,a,o){var A=[[0,0,1,5,1,1,1,1,1,1,2,0,0,0,0,0,0,5,4,3,6,2,7,1,0,8,9,11,10,12],[0,0,1,5,1,1,1,1,1,1,2,0,0,0,0,0,0,57,90,56,39,22,5,4,3,2,1,0,11,12,12],[0,0,1,4,2,3,1,2,0,0,0,0,0,0,0,0,0,5,4,6,3,7,2,8,1,9,0,10,11,12],[0,0,1,4,3,1,1,1,1,1,2,0,0,0,0,0,0,5,6,4,7,8,3,9,2,1,0,10,11,12,13,14],[0,0,1,5,1,1,1,1,1,1,1,2,0,0,0,0,0,8,92,75,58,41,7,6,5,4,3,2,1,0,13,14],[0,0,1,4,2,2,3,1,2,0,0,0,0,0,0,0,0,7,6,8,5,9,4,10,3,11,12,2,0,1,13,14]],s=e.t256[0],l=e.t257[0],k=e.t258[0],h=0,u=0,c=i.decode._make_decoder,d=i.decode._getbithuff,b=r[0].exifIFD.makerNote,p=b.t150?b.t150:b.t140,g=0;if(b.t147&&2==b.t147[0])for(var m=Math.ceil(s/10),v=16*m,w=3*s>>>1,_=0;_<l;_++)for(var y=0;y<m;y++)for(var C=0;C<15;C++)a[_*w+15*y+C]=t[n+_*v+16*y+C];else{var B=p[g++],x=p[g++];(73==B||88==x)&&(g+=2110),70==B&&(h=2),14==k&&(h+=3);var Z=[[0,0],[0,0]],I=e.isLE?i._binLE:i._binBE;for(C=0;C<2;C++)for(var W=0;W<2;W++)Z[C][W]=I.readShort(p,g),g+=2;var E=1<<k&32767,F=0,S=I.readShort(p,g);g+=2,S>1&&(F=Math.floor(E/(S-1))),68==B&&32==x&&F>0&&(u=I.readShort(p,562));var X,V,G,D,M,R=[0,0],T=c(A[h]),P=[n,0,0,0];for(X=0;X<l;X++)for(u&&X==u&&(T=c(A[h+1])),V=0;V<s;V++){C=d(t,P,T[0],T),!((M=1+(d(t,P,(G=15&C)-(D=C>>>4),0)<<1)<<D>>>1)&1<<G-1)&&(M-=(1<<G)-(0==D?1:0)),V<2?R[V]=Z[1&X][V]+=M:R[1&V]+=M;var N=Math.min(Math.max(R[1&V],0),(1<<k)-1),Q=(X*s+V)*k;i.decode._putsF(a,Q,N<<16-k)}}},i.decode._putsF=function(i,e,r){r<<=8-(7&e);var t=e>>>3;i[t]|=r>>>16,i[t+1]|=r>>>8,i[t+2]|=r},i.decode._getbithuff=function(e,r,t,n){i.decode._get_byte;var f,a=r[0],o=r[1],A=r[2],s=r[3];if(0==t||A<0)return 0;for(;!s&&A<t&&-1!=(f=e[a++])&&!(s=0);)o=(o<<8)+f,A+=8;if(f=o<<32-A>>>32-t,n?(A-=n[f+1]>>>8,f=255&n[f+1]):A-=t,A<0)throw"e";return r[0]=a,r[1]=o,r[2]=A,r[3]=s,f},i.decode._make_decoder=function(i){var e,r,t,n,f,a=[];for(e=16;0!=e&&!i[e];e--);var o=17;for(a[0]=e,t=r=1;r<=e;r++)for(n=0;n<i[r];n++,++o)for(f=0;f<1<<e-r;f++)t<=1<<e&&(a[t++]=r<<8|i[o]);return a},i.decode._decodeNewJPEG=function(e,r,t,n,f,a){n=Math.min(n,r.length-t);var o=e.t347,A=o?o.length:0,s=new Uint8Array(A+n);if(o){for(var l=0,k=0;k<A-1&&(255!=o[k]||217!=o[k+1]);k++)s[l++]=o[k];var h=r[t],u=r[t+1];for((255!=h||216!=u)&&(s[l++]=h,s[l++]=u),k=2;k<n;k++)s[l++]=r[t+k]}else for(k=0;k<n;k++)s[k]=r[t+k];if(32803==e.t262[0]||7==e.t259[0]&&34892==e.t262[0]){var c=e.t258[0],d=i.LosslessJpegDecode(s),b=d[0],p=b.length;if(4==d[3]&&e.t29456){var g=b.slice(0);g.fill(0);for(var m=d[1],v=d[2],w=2*m,_=0;_<v;_++)for(var y=0;y<m;y++){var C=_*m*4+2*y,B=C+2*y;g[C]=b[B],g[C+1]=b[B+1],g[C+w]=b[B+2],g[C+w+1]=b[B+3]}b=g}if(16==c)if(e.isLE)for(k=0;k<p;k++)f[a+(k<<1)]=255&b[k],f[a+(k<<1)+1]=b[k]>>>8;else for(k=0;k<p;k++)f[a+(k<<1)]=b[k]>>>8,f[a+(k<<1)+1]=255&b[k];else if(14==c||12==c||10==c){var x=16-c;for(k=0;k<p;k++)i.decode._putsF(f,k*c,b[k]<<x)}else{if(8!=c)throw new Error("unsupported bit depth "+c);for(k=0;k<p;k++)f[a+k]=b[k]}}else{var Z=new i.JpegDecoder;Z.parse(s);var I=Z.getData({width:Z.width,height:Z.height,forceRGB:!0,isSourcePDF:!1});for(k=0;k<I.length;k++)f[a+k]=I[k]}6==e.t262[0]&&(e.t262[0]=2)},i.decode._decodeOldJPEGInit=function(i,e,r,t){var n,f,a,o,A,s=216,l=0,k=0,h=!1,u=i.t513,c=u?u[0]:0,d=i.t514,b=d?d[0]:0,g=i.t324||i.t273||u,m=i.t530,v=0,w=0,_=i.t277?i.t277[0]:1,y=i.t515;if(g&&(k=g[0],h=g.length>1),!h){if(255==e[r]&&e[r+1]==s)return{jpegOffset:r};if(null!=u&&(255==e[r+c]&&e[r+c+1]==s?l=r+c:p("JPEGInterchangeFormat does not point to SOI"),null==d?p("JPEGInterchangeFormatLength field is missing"):(c>=k||c+b<=k)&&p("JPEGInterchangeFormatLength field value is invalid"),null!=l))return{jpegOffset:l}}if(null!=m&&(v=m[0],w=m[1]),null!=u&&null!=d)if(b>=2&&c+b<=k){for(n=255==e[r+c+b-2]&&e[r+c+b-1]==s?new Uint8Array(b-2):new Uint8Array(b),a=0;a<n.length;a++)n[a]=e[r+c+a];p("Incorrect JPEG interchange format: using JPEGInterchangeFormat offset to derive tables")}else p("JPEGInterchangeFormat+JPEGInterchangeFormatLength > offset to first strip or tile");if(null==n){var C=0,B=[];B[C++]=255,B[C++]=s;var x=i.t519;if(null==x)throw new Error("JPEGQTables tag is missing");for(a=0;a<x.length;a++)for(B[C++]=255,B[C++]=219,B[C++]=0,B[C++]=67,B[C++]=a,o=0;o<64;o++)B[C++]=e[r+x[a]+o];for(A=0;A<2;A++){var Z=i[0==A?"t520":"t521"];if(null==Z)throw new Error((0==A?"JPEGDCTables":"JPEGACTables")+" tag is missing");for(a=0;a<Z.length;a++){B[C++]=255,B[C++]=196;var I=19;for(o=0;o<16;o++)I+=e[r+Z[a]+o];for(B[C++]=I>>>8,B[C++]=255&I,B[C++]=a|A<<4,o=0;o<16;o++)B[C++]=e[r+Z[a]+o];for(o=0;o<I;o++)B[C++]=e[r+Z[a]+16+o]}}if(B[C++]=255,B[C++]=192,B[C++]=0,B[C++]=8+3*_,B[C++]=8,B[C++]=i.height>>>8&255,B[C++]=255&i.height,B[C++]=i.width>>>8&255,B[C++]=255&i.width,B[C++]=_,1==_)B[C++]=1,B[C++]=17,B[C++]=0;else for(a=0;a<3;a++)B[C++]=a+1,B[C++]=0!=a?17:(15&v)<<4|15&w,B[C++]=a;null!=y&&0!=y[0]&&(B[C++]=255,B[C++]=221,B[C++]=0,B[C++]=4,B[C++]=y[0]>>>8&255,B[C++]=255&y[0]),n=new Uint8Array(B)}var W=-1;for(a=0;a<n.length-1;){if(255==n[a]&&192==n[a+1]){W=a;break}a++}if(-1==W){var E=new Uint8Array(n.length+10+3*_);E.set(n);var F=n.length;if(W=n.length,(n=E)[F++]=255,n[F++]=192,n[F++]=0,n[F++]=8+3*_,n[F++]=8,n[F++]=i.height>>>8&255,n[F++]=255&i.height,n[F++]=i.width>>>8&255,n[F++]=255&i.width,n[F++]=_,1==_)n[F++]=1,n[F++]=17,n[F++]=0;else for(a=0;a<3;a++)n[F++]=a+1,n[F++]=0!=a?17:(15&v)<<4|15&w,n[F++]=a}if(255==e[k]&&218==e[k+1]){var S=e[k+2]<<8|e[k+3];for((f=new Uint8Array(S+2))[0]=e[k],f[1]=e[k+1],f[2]=e[k+2],f[3]=e[k+3],a=0;a<S-2;a++)f[a+4]=e[k+a+4]}else{var X=0;if((f=new Uint8Array(8+2*_))[X++]=255,f[X++]=218,f[X++]=0,f[X++]=6+2*_,f[X++]=_,1==_)f[X++]=1,f[X++]=0;else for(a=0;a<3;a++)f[X++]=a+1,f[X++]=a<<4|a;f[X++]=0,f[X++]=63,f[X++]=0}return{jpegOffset:r,tables:n,sosMarker:f,sofPosition:W}},i.decode._decodeOldJPEG=function(e,r,t,n,f,a){var o,A,s,l,k=i.decode._decodeOldJPEGInit(e,r,t,n);if(null!=k.jpegOffset)for(o=t+n-k.jpegOffset,s=new Uint8Array(o),d=0;d<o;d++)s[d]=r[k.jpegOffset+d];else{for(A=k.tables.length,(s=new Uint8Array(A+k.sosMarker.length+n+2)).set(k.tables),l=A,s[k.sofPosition+5]=e.height>>>8&255,s[k.sofPosition+6]=255&e.height,s[k.sofPosition+7]=e.width>>>8&255,s[k.sofPosition+8]=255&e.width,(255!=r[t]||r[t+1]!=SOS)&&(s.set(k.sosMarker,l),l+=sosMarker.length),d=0;d<n;d++)s[l++]=r[t+d];s[l++]=255,s[l++]=EOI}var h=new i.JpegDecoder;h.parse(s);var u=h.getData({width:h.width,height:h.height,forceRGB:!0,isSourcePDF:!1}),c=h.width*h.height;if(e.t262&&1==e.t262[0])for(var d=0;d<c;d++)f[a+d]=u[3*d];else for(d=0;d<u.length;d++)f[a+d]=u[d];e.t262&&6==e.t262[0]&&(e.t262[0]=2)},i.decode._decodePackBits=function(i,e,r,t,n){for(var f=new Int8Array(i.buffer),a=new Int8Array(t.buffer),o=e+r;e<o;){var A=f[e];if(e++,A>=0&&A<128)for(var s=0;s<A+1;s++)a[n]=f[e],n++,e++;if(A>=-127&&A<0){for(s=0;s<1-A;s++)a[n]=f[e],n++;e++}}return n},i.decode._decodeThunder=function(i,e,r,t,n){for(var f=[0,1,0,-1],a=[0,1,2,3,0,-3,-2,-1],o=e+r,A=2*n,s=0;e<o;){var l=i[e],k=l>>>6,h=63&l;if(e++,3==k&&(s=15&h,t[A>>>1]|=s<<4*(1-A&1),A++),0==k)for(var u=0;u<h;u++)t[A>>>1]|=s<<4*(1-A&1),A++;if(2==k)for(u=0;u<2;u++)4!=(c=h>>>3*(1-u)&7)&&(s+=a[c],t[A>>>1]|=s<<4*(1-A&1),A++);if(1==k)for(u=0;u<3;u++){var c;2!=(c=h>>>2*(2-u)&3)&&(s+=f[c],t[A>>>1]|=s<<4*(1-A&1),A++)}}},i.decode._dmap={1:0,"011":1,"000011":2,"0000011":3,"010":-1,"000010":-2,"0000010":-3},i.decode._lens=function(){var i=function(i,e,r,t){for(var n=0;n<e.length;n++)i[e[n]]=r+n*t},e="00110101,000111,0111,1000,1011,1100,1110,1111,10011,10100,00111,01000,001000,000011,110100,110101,101010,101011,0100111,0001100,0001000,0010111,0000011,0000100,0101000,0101011,0010011,0100100,0011000,00000010,00000011,00011010,00011011,00010010,00010011,00010100,00010101,00010110,00010111,00101000,00101001,00101010,00101011,00101100,00101101,00000100,00000101,00001010,00001011,01010010,01010011,01010100,01010101,00100100,00100101,01011000,01011001,01011010,01011011,01001010,01001011,00110010,00110011,00110100",r="0000110111,010,11,10,011,0011,0010,00011,000101,000100,0000100,0000101,0000111,00000100,00000111,000011000,0000010111,0000011000,0000001000,00001100111,00001101000,00001101100,00000110111,00000101000,00000010111,00000011000,000011001010,000011001011,000011001100,000011001101,000001101000,000001101001,000001101010,000001101011,000011010010,000011010011,000011010100,000011010101,000011010110,000011010111,000001101100,000001101101,000011011010,000011011011,000001010100,000001010101,000001010110,000001010111,000001100100,000001100101,000001010010,000001010011,000000100100,000000110111,000000111000,000000100111,000000101000,000001011000,000001011001,000000101011,000000101100,000001011010,000001100110,000001100111",t="11011,10010,010111,0110111,00110110,00110111,01100100,01100101,01101000,01100111,011001100,011001101,011010010,011010011,011010100,011010101,011010110,011010111,011011000,011011001,011011010,011011011,010011000,010011001,010011010,011000,010011011",n="0000001111,000011001000,000011001001,000001011011,000000110011,000000110100,000000110101,0000001101100,0000001101101,0000001001010,0000001001011,0000001001100,0000001001101,0000001110010,0000001110011,0000001110100,0000001110101,0000001110110,0000001110111,0000001010010,0000001010011,0000001010100,0000001010101,0000001011010,0000001011011,0000001100100,0000001100101",f="00000001000,00000001100,00000001101,000000010010,000000010011,000000010100,000000010101,000000010110,000000010111,000000011100,000000011101,000000011110,000000011111";e=e.split(","),r=r.split(","),t=t.split(","),n=n.split(","),f=f.split(",");var a={},o={};return i(a,e,0,1),i(a,t,64,64),i(a,f,1792,64),i(o,r,0,1),i(o,n,64,64),i(o,f,1792,64),[a,o]}(),i.decode._decodeG4=function(e,r,t,n,f,a,o){for(var A=i.decode,s=r<<3,l=0,k="",h=[],u=[],c=0;c<a;c++)u.push(0);u=A._makeDiff(u);for(var d=0,b=0,p=0,g=0,m=0,v=0,w="",_=0,y=8*Math.ceil(a/8);s>>>3<r+t;){p=A._findDiff(u,d+(0==d?0:1),1-m),g=A._findDiff(u,p,m);var C=0;if(1==o&&(C=e[s>>>3]>>>7-(7&s)&1),2==o&&(C=e[s>>>3]>>>(7&s)&1),s++,k+=C,"H"==w){if(null!=A._lens[m][k]){var B=A._lens[m][k];k="",l+=B,B<64&&(A._addNtimes(h,l,m),d+=l,m=1-m,l=0,0==--_&&(w=""))}}else"0001"==k&&(k="",A._addNtimes(h,g-d,m),d=g),"001"==k&&(k="",w="H",_=2),null!=A._dmap[k]&&(b=p+A._dmap[k],A._addNtimes(h,b-d,m),d=b,k="",m=1-m);h.length==a&&""==w&&(A._writeBits(h,n,8*f+v*y),m=0,v++,d=0,u=A._makeDiff(h),h=[])}},i.decode._findDiff=function(i,e,r){for(var t=0;t<i.length;t+=2)if(i[t]>=e&&i[t+1]==r)return i[t]},i.decode._makeDiff=function(i){var e=[];1==i[0]&&e.push(0,1);for(var r=1;r<i.length;r++)i[r-1]!=i[r]&&e.push(r,i[r]);return e.push(i.length,0,i.length,1),e},i.decode._decodeG2=function(e,r,t,n,f,a,o){for(var A=i.decode,s=r<<3,l=0,k="",h=[],u=0,c=0,d=8*Math.ceil(a/8);s>>>3<r+t;){var b=0;1==o&&(b=e[s>>>3]>>>7-(7&s)&1),2==o&&(b=e[s>>>3]>>>(7&s)&1),s++,k+=b,null!=(l=A._lens[u][k])&&(A._addNtimes(h,l,u),k="",l<64&&(u=1-u),h.length==a&&(A._writeBits(h,n,8*f+c*d),h=[],c++,u=0,!!(7&s)&&(s+=8-(7&s)),l>=64&&(s+=8)))}},i.decode._decodeG3=function(e,r,t,n,f,a,o,A){for(var s=i.decode,l=r<<3,k=0,h="",u=[],c=[],d=0;d<a;d++)u.push(0);for(var b=0,p=0,g=0,m=0,v=0,w=-1,_="",y=0,C=!0,B=8*Math.ceil(a/8);l>>>3<r+t;){g=s._findDiff(c,b+(0==b?0:1),1-v),m=s._findDiff(c,g,v);var x=0;if(1==o&&(x=e[l>>>3]>>>7-(7&l)&1),2==o&&(x=e[l>>>3]>>>(7&l)&1),l++,h+=x,C){if(null!=s._lens[v][h]){var Z=s._lens[v][h];h="",k+=Z,Z<64&&(s._addNtimes(u,k,v),v=1-v,k=0)}}else"H"==_?null!=s._lens[v][h]&&(Z=s._lens[v][h],h="",k+=Z,Z<64&&(s._addNtimes(u,k,v),b+=k,v=1-v,k=0,0==--y&&(_=""))):("0001"==h&&(h="",s._addNtimes(u,m-b,v),b=m),"001"==h&&(h="",_="H",y=2),null!=s._dmap[h]&&(p=g+s._dmap[h],s._addNtimes(u,p-b,v),b=p,h="",v=1-v));h.endsWith("000000000001")&&(w>=0&&s._writeBits(u,n,8*f+w*B),A&&(1==o&&(C=1==(e[l>>>3]>>>7-(7&l)&1)),2==o&&(C=1==(e[l>>>3]>>>(7&l)&1)),l++),h="",v=0,w++,b=0,c=s._makeDiff(u),u=[])}u.length==a&&s._writeBits(u,n,8*f+w*B)},i.decode._addNtimes=function(i,e,r){for(var t=0;t<e;t++)i.push(r)},i.decode._writeBits=function(i,e,r){for(var t=0;t<i.length;t++)e[r+t>>>3]|=i[t]<<7-(r+t&7)},i.decode._decodeLZW=i.decode._decodeLZW=(a=0,o=0,A=0,s=0,l=function(){var i=r>>>3,e=(t[i]<<16|t[i+1]<<8|t[i+2])>>>24-(7&r)-o&(1<<o)-1;return r+=o,e},k=new Uint32Array(16384),h=0,u=function(i){o=i+1,a=s+1},c=function(i){for(var e=i<<2,r=k[e+2],t=f+r-1;65535!=e;)n[t--]=k[e],e=k[e+1];f+=r},d=function(i,e){var r=a<<2,t=i<<2;k[r]=k[3+(e<<2)],k[r+1]=t,k[r+2]=k[t+2]+1,k[r+3]=k[t+3],1+ ++a==1<<o&&12!=o&&o++},function(i,e,o,b,p,g){r=e<<3,t=i,n=b,f=p;var m=e+o<<3,v=0,w=0;for(function(i){if(i!=h){h=i,s=1+(A=1<<i);for(var e=0;e<s+1;e++)k[4*e]=k[4*e+3]=e,k[4*e+1]=65535,k[4*e+2]=1}}(g),u(g);r<m&&(v=l())!=s;){if(v==A){if(u(g),(v=l())==s)break;c(v)}else v<a?(c(v),d(w,v)):(d(w,w),c(a-1));w=v}return f}),i.tags={},i._types=function(){var i=new Array(250);return i.fill(0),{basic:{main:i=i.concat([0,0,0,0,4,3,3,3,3,3,0,0,3,0,0,0,3,0,0,2,2,2,2,4,3,0,0,3,4,4,3,3,5,5,3,2,5,5,0,0,0,0,4,4,0,0,3,3,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,2,2,3,5,5,3,0,3,3,4,4,4,3,4,0,0,0,0,0,0,0,0,0,3,3,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),rest:{33432:2,33434:5,33437:5,34665:4,34850:3,34853:4,34855:3,34864:3,34866:4,36864:7,36867:2,36868:2,37121:7,37377:10,37378:5,37380:10,37381:5,37383:3,37384:3,37385:3,37386:5,37510:7,37520:2,37521:2,37522:2,40960:7,40961:3,40962:4,40963:4,40965:4,41486:5,41487:5,41488:3,41985:3,41986:3,41987:3,41988:5,41989:3,41990:3,41993:3,41994:3,41995:7,41996:3,42032:2,42033:2,42034:5,42036:2,42037:2,59932:7}},gps:{main:[1,2,5,2,5,1,5,5,0,9],rest:{18:2,29:2}}}}(),i._readIFD=function(e,r,t,n,f,a){var o=e.readUshort(r,t);t+=2;var A={};a.debug&&p(" ".repeat(f),n.length-1,">>>----------------");for(var s=0;s<o;s++){var l=e.readUshort(r,t);t+=2;var k=e.readUshort(r,t);t+=2;var h=e.readUint(r,t);t+=4;var u=e.readUint(r,t);t+=4;var c=[];if(1==k||7==k){var d=h<5?t-4:u;d+h>r.buffer.byteLength&&(h=r.buffer.byteLength-d),c=new Uint8Array(r.buffer,d,h)}if(2==k){var b=h<5?t-4:u,g=r[b],m=Math.max(0,Math.min(h-1,r.length-b));g<128||0==m?c.push(e.readASCII(r,b,m)):c=new Uint8Array(r.buffer,b,m)}if(3==k)for(var v=0;v<h;v++)c.push(e.readUshort(r,(h<3?t-4:u)+2*v));if(4==k||13==k)for(v=0;v<h;v++)c.push(e.readUint(r,(h<2?t-4:u)+4*v));if(5==k||10==k){var w=5==k?e.readUint:e.readInt;for(v=0;v<h;v++)c.push([w(r,u+8*v),w(r,u+8*v+4)])}if(8==k)for(v=0;v<h;v++)c.push(e.readShort(r,(h<3?t-4:u)+2*v));if(9==k)for(v=0;v<h;v++)c.push(e.readInt(r,(h<2?t-4:u)+4*v));if(11==k)for(v=0;v<h;v++)c.push(e.readFloat(r,u+4*v));if(12==k)for(v=0;v<h;v++)c.push(e.readDouble(r,u+8*v));if(0==h||0!=c.length){if(a.debug&&p(" ".repeat(f),l,k,i.tags[l],c),A["t"+l]=c,(330!=l||!A.t272||"DSLR-A100"!=A.t272[0])&&(330==l||34665==l||34853==l||50740==l&&e.readUshort(r,e.readUint(c,0))<300||61440==l)){var _=50740==l?[e.readUint(c,0)]:c,y=[];for(v=0;v<_.length;v++)i._readIFD(e,r,_[v],y,f+1,a);330==l&&(A.subIFD=y),34665==l&&(A.exifIFD=y[0]),34853==l&&(A.gpsiIFD=y[0]),50740==l&&(A.dngPrvt=y[0]),61440==l&&(A.fujiIFD=y[0])}if(37500==l&&a.parseMN){var C=c;if("Nikon"==e.readASCII(C,0,5))A.makerNote=i.decode(C.slice(10).buffer)[0];else if("OLYMP"==e.readASCII(C,0,5)||"OM SYSTEM"==e.readASCII(C,0,9)){var B=[8208,8224,8240,8256,8272],x=[];i._readIFD(e,C,77==C[1]?16:85==C[5]?12:8,x,f+1,a);var Z=A.makerNote=x.pop();for(v=0;v<B.length;v++){var I="t"+B[v];null!=Z[I]&&(1==Z[I].length?i._readIFD(e,C,Z[I][0],x,f+1,a):i._readIFD(e,Z[I],0,x,f+1,a),Z[I]=x.pop())}Z.t12288&&(i._readIFD(e,Z.t12288,0,x,f+1,a),Z.t12288=x.pop())}else e.readUshort(r,u)<300&&e.readUshort(r,u+4)<=12&&(x=[],i._readIFD(e,r,u,x,f+1,a),A.makerNote=x[0])}}else if(p(l,"unknown TIFF tag type: ",k,"num:",h),0==s)return}return n.push(A),a.debug&&p(" ".repeat(f),"<<<---------------"),t},i._writeIFD=function(e,r,t,n,f){var a=Object.keys(f),o=a.length;f.exifIFD&&o--,f.gpsiIFD&&o--,e.writeUshort(t,n,o);for(var A=(n+=2)+12*o+4,s=0;s<a.length;s++){var l=a[s];if("t34665"!=l&&"t34853"!=l){"exifIFD"==l&&(l="t34665"),"gpsiIFD"==l&&(l="t34853");var k=parseInt(l.slice(1)),h=r.main[k];if(null==h&&(h=r.rest[k]),null==h||0==h)throw new Error("unknown type of tag: "+k);var u=f[l];34665==k&&(u=[A],A=i._writeIFD(e,r,t,A,f.exifIFD)[1]),34853==k&&(u=[A],A=i._writeIFD(e,i._types.gps,t,A,f.gpsiIFD)[1]),2==h&&(u=u[0]+"\0");var c=u.length;e.writeUshort(t,n,k),n+=2,e.writeUshort(t,n,h),n+=2,e.writeUint(t,n,c);var d=[-1,1,1,2,4,8,0,1,0,4,8,0,8][h]*c,b=n+=4;if(d>4&&(e.writeUint(t,n,A),b=A),1==h||7==h)for(var p=0;p<c;p++)t[b+p]=u[p];else if(2==h)e.writeASCII(t,b,u);else if(3==h)for(p=0;p<c;p++)e.writeUshort(t,b+2*p,u[p]);else if(4==h)for(p=0;p<c;p++)e.writeUint(t,b+4*p,u[p]);else if(5==h||10==h){var g=5==h?e.writeUint:e.writeInt;for(p=0;p<c;p++){var m=u[p],v=m[0],w=m[1];if(null==v)throw"e";g(t,b+8*p,v),g(t,b+8*p+4,w)}}else if(9==h)for(p=0;p<c;p++)e.writeInt(t,b+4*p,u[p]);else{if(12!=h)throw h;for(p=0;p<c;p++)e.writeDouble(t,b+8*p,u[p])}d>4&&(A+=d+=1&d),n+=4}}return[n,A]},i.toRGBA8=function(i,e){function r(i){return i<.0031308?12.92*i:1.055*Math.pow(i,1/2.4)-.055}var t=i.width,n=i.height,f=t*n,a=i.data,o=new Uint8Array(4*f),A=i.t262?i.t262[0]:2,s=i.t258?Math.min(32,i.t258[0]):1;null==i.t262&&1==s&&(A=0);var l=i.t277?i.t277[0]:i.t258?i.t258.length:[1,1,3,1,1,4,3][A],k=i.t339?i.t339[0]:null;if(1==A&&32==s&&3!=k)throw"e";var h=Math.ceil(l*s*t/8);if(0==A){e=1/256;for(var u=0;u<n;u++){var c=u*h,d=u*t;if(1==s)for(var b=0;b<t;b++){var g=d+b<<2,m=a[c+(b>>3)]>>7-(7&b)&1;o[g]=o[g+1]=o[g+2]=255*(1-m),o[g+3]=255}if(4==s)for(b=0;b<t;b++)g=d+b<<2,m=a[c+(b>>1)]>>4-4*(1&b)&15,o[g]=o[g+1]=o[g+2]=17*(15-m),o[g+3]=255;if(8==s)for(b=0;b<t;b++)g=d+b<<2,m=a[c+b],o[g]=o[g+1]=o[g+2]=255-m,o[g+3]=255;if(16==s)for(b=0;b<t;b++)g=d+b<<2,m=a[(w=c+2*b)+1]<<8|a[w],o[g]=o[g+1]=o[g+2]=Math.min(255,255-~~(m*e)),o[g+3]=255}}else if(1==A){null==e&&(e=1/256);var v=3&a.length?null:new Float32Array(a.buffer);for(u=0;u<n;u++){if(c=u*h,d=u*t,1==s)for(b=0;b<t;b++)g=d+b<<2,m=a[c+(b>>3)]>>7-(7&b)&1,o[g]=o[g+1]=o[g+2]=255*m,o[g+3]=255;if(2==s)for(b=0;b<t;b++)g=d+b<<2,m=a[c+(b>>2)]>>6-2*(3&b)&3,o[g]=o[g+1]=o[g+2]=85*m,o[g+3]=255;if(8==s)for(b=0;b<t;b++)g=d+b<<2,m=a[c+b*l],o[g]=o[g+1]=o[g+2]=m,o[g+3]=255;if(16==s)for(b=0;b<t;b++)g=d+b<<2,m=a[(w=c+2*b)+1]<<8|a[w],o[g]=o[g+1]=o[g+2]=Math.min(255,~~(m*e)),o[g+3]=255;if(32==s)for(b=0;b<t;b++){var w;g=d+b<<2,m=v[w=(c>>>2)+b],o[g]=o[g+1]=o[g+2]=~~(.5+255*m),o[g+3]=255}}}else if(2==A)if(8==s){if(1==l)for(b=0;b<f;b++)o[4*b]=o[4*b+1]=o[4*b+2]=a[b],o[4*b+3]=255;if(3==l)for(b=0;b<f;b++){var _=3*b;o[g=b<<2]=a[_],o[g+1]=a[_+1],o[g+2]=a[_+2],o[g+3]=255}if(l>=4)for(b=0;b<f;b++)_=b*l,o[g=b<<2]=a[_],o[g+1]=a[_+1],o[g+2]=a[_+2],o[g+3]=a[_+3]}else if(16==s){if(4==l)for(b=0;b<f;b++)_=8*b+1,o[g=b<<2]=a[_],o[g+1]=a[_+2],o[g+2]=a[_+4],o[g+3]=a[_+6];if(3==l)for(b=0;b<f;b++)_=6*b+1,o[g=b<<2]=a[_],o[g+1]=a[_+2],o[g+2]=a[_+4],o[g+3]=255}else{if(32!=s)throw s;var y=new Float32Array(a.buffer),C=0;for(b=0;b<y.length;b++)C=Math.min(C,y[b]);if(C<0)for(b=0;b<a.length;b+=4){var B=a[b];a[b]=a[b+3],a[b+3]=B,B=a[b+1],a[b+1]=a[b+2],a[b+2]=B}var x=[];for(b=0;b<65536;b++)x.push(r(b/65535));for(b=0;b<y.length;b++){var Z=Math.max(0,Math.min(1,y[b]));y[b]=x[~~(.5+65535*Z)]}if(3==l)for(b=0;b<f;b++)_=3*b,o[g=b<<2]=~~(.5+255*y[_]),o[g+1]=~~(.5+255*y[_+1]),o[g+2]=~~(.5+255*y[_+2]),o[g+3]=255;else{if(4!=l)throw l;for(b=0;b<f;b++)_=4*b,o[g=b<<2]=~~(.5+255*y[_]),o[g+1]=~~(.5+255*y[_+1]),o[g+2]=~~(.5+255*y[_+2]),o[g+3]=~~(.5+255*y[_+3])}}else if(3==A){var I=i.t320,W=1<<s,E=8==s&&l>1&&i.t338&&0!=i.t338[0];for(u=0;u<n;u++)for(var F=0;F<t;F++){g=(b=u*t+F)<<2;var S=0,X=u*h;if(1==s)S=a[X+(F>>>3)]>>>7-(7&F)&1;else if(2==s)S=a[X+(F>>>2)]>>>6-2*(3&F)&3;else if(4==s)S=a[X+(F>>>1)]>>>4-4*(1&F)&15;else{if(8!=s)throw s;S=a[X+F*l]}o[g]=I[S]>>8,o[g+1]=I[W+S]>>8,o[g+2]=I[W+W+S]>>8,o[g+3]=E?a[X+F*l+1]:255}}else if(5==A){var V=l>4?1:0;for(b=0;b<f;b++){g=b<<2;var G=b*l;if(window.UDOC){var D=a[G],M=a[G+1],R=a[G+2],T=a[G+3],P=UDOC.C.cmykToRgb([D*(1/255),M*(1/255),R*(1/255),T*(1/255)]);o[g]=~~(.5+255*P[0]),o[g+1]=~~(.5+255*P[1]),o[g+2]=~~(.5+255*P[2])}else D=255-a[G],M=255-a[G+1],R=255-a[G+2],T=(255-a[G+3])*(1/255),o[g]=~~(D*T+.5),o[g+1]=~~(M*T+.5),o[g+2]=~~(R*T+.5);o[g+3]=255*(1-V)+a[G+4]*V}}else if(6==A&&i.t278){var N=i.t278[0];for(u=0;u<n;u+=N){b=u*t;for(var Q=N*t,Y=0;Y<Q;Y++){g=4*(b+Y),R=a[(G=3*b+4*(Y>>>1))+(1&Y)];var O=a[G+2]-128,z=a[G+3]-128,J=R+((z>>2)+(z>>3)+(z>>5)),U=R-((O>>2)+(O>>4)+(O>>5))-((z>>1)+(z>>3)+(z>>4)+(z>>5)),j=R+(O+(O>>1)+(O>>2)+(O>>6));o[g]=Math.max(0,Math.min(255,J)),o[g+1]=Math.max(0,Math.min(255,U)),o[g+2]=Math.max(0,Math.min(255,j)),o[g+3]=255}}}else if(8==A){if(3!=l||16!=s)throw"e";var H=new Uint16Array(a.buffer),L=new Int16Array(a.buffer);for(M=[3.1338561,-1.6168667,-.4906146,-.9787684,1.9161415,.033454,.0719453,-.2289914,1.4052427],u=0;u<n;u++)for(F=0;F<t;F++){g=4*(b=u*t+F);var $=H[_=3*b]*(100/65535),K=L[_+1]*(255/65535),q=903.3,ii=.008856,ei=($+16)/116,ri=ei*ei*ei,ti=ei-(j=L[_+2]*(255/65535))/200,ni=ti*ti*ti,fi=K/500+ei,ai=fi*fi*fi,oi=(ai>ii?ai:(116*fi-16)/q)*(96.42/100),Ai=(R=1*(ri>ii?ri:(116*ei-16)/q),.8249*(ni>ii?ni:(116*ti-16)/q));o[g]=Math.max(0,Math.min(255,255*r(oi*M[0]+R*M[1]+Ai*M[2]))),o[g+1]=Math.max(0,Math.min(255,255*r(oi*M[3]+R*M[4]+Ai*M[5]))),o[g+2]=Math.max(0,Math.min(255,255*r(oi*M[6]+R*M[7]+Ai*M[8]))),o[g+3]=255}}else if(32845==A)for(u=0;u<n;u++)for(F=0;F<t;F++){g=4*(u*t+F),$=a[1+(G=6*(u*t+F))]<<8|a[G],$=Math.pow(2,($+.5)/256-64);var si=(a[G+3]+.5)/410,li=(a[G+5]+.5)/410,ki=9*si/(6*si-16*li+12),hi=4*li/(6*si-16*li+12);J=2.69*(oi=ki*$/hi)-1.276*(R=$)-.414*(Ai=(1-ki-hi)*$/hi),U=-1.022*oi+1.978*R+.044*Ai,j=.061*oi-.224*R+1.163*Ai,o[g]=255*r(Math.min(J,1)),o[g+1]=255*r(Math.min(U,1)),o[g+2]=255*r(Math.min(j,1)),o[g+3]=255}else p("Unknown Photometric interpretation: "+A);return o},i.replaceIMG=function(e){null==e&&(e=document.getElementsByTagName("img"));for(var r=["tif","tiff","dng","cr2","nef"],t=0;t<e.length;t++){var n=e[t],f=n.getAttribute("src");if(null!=f){var a=f.split(".").pop().toLowerCase();if(-1!=r.indexOf(a)){var o=new XMLHttpRequest;i._xhrs.push(o),i._imgs.push(n),o.open("GET",f),o.responseType="arraybuffer",o.onload=i._imgLoaded,o.send()}}}},i._xhrs=[],i._imgs=[],i._imgLoaded=function(e){var r=i._xhrs.indexOf(e.target),t=i._imgs[r];i._xhrs.splice(r,1),i._imgs.splice(r,1),t.setAttribute("src",i.bufferToURI(e.target.response))},i.bufferToURI=function(e){var r=i.decode(e),t=r,n=0,f=t[0];r[0].subIFD&&(t=t.concat(r[0].subIFD));for(var a=0;a<t.length;a++){var o=t[a];if(!(null==o.t258||o.t258.length<3)){var A=o.t256*o.t257;A>n&&(n=A,f=o)}}i.decodeImage(e,f,r);var s=i.toRGBA8(f),l=f.width,k=f.height,h=document.createElement("canvas");h.width=l,h.height=k;var u=h.getContext("2d"),c=new ImageData(new Uint8ClampedArray(s.buffer),l,k);return u.putImageData(c,0,0),h.toDataURL()},i._binBE={nextZero:function(i,e){for(;0!=i[e];)e++;return e},readUshort:function(i,e){return i[e]<<8|i[e+1]},readShort:function(e,r){var t=i._binBE.ui8;return t[0]=e[r+1],t[1]=e[r+0],i._binBE.i16[0]},readInt:function(e,r){var t=i._binBE.ui8;return t[0]=e[r+3],t[1]=e[r+2],t[2]=e[r+1],t[3]=e[r+0],i._binBE.i32[0]},readUint:function(e,r){var t=i._binBE.ui8;return t[0]=e[r+3],t[1]=e[r+2],t[2]=e[r+1],t[3]=e[r+0],i._binBE.ui32[0]},readASCII:function(i,e,r){for(var t="",n=0;n<r;n++)t+=String.fromCharCode(i[e+n]);return t},readFloat:function(e,r){for(var t=i._binBE.ui8,n=0;n<4;n++)t[n]=e[r+3-n];return i._binBE.fl32[0]},readDouble:function(e,r){for(var t=i._binBE.ui8,n=0;n<8;n++)t[n]=e[r+7-n];return i._binBE.fl64[0]},writeUshort:function(i,e,r){i[e]=r>>8&255,i[e+1]=255&r},writeInt:function(e,r,t){var n=i._binBE.ui8;i._binBE.i32[0]=t,e[r+3]=n[0],e[r+2]=n[1],e[r+1]=n[2],e[r+0]=n[3]},writeUint:function(i,e,r){i[e]=r>>24&255,i[e+1]=r>>16&255,i[e+2]=r>>8&255,i[e+3]=255&r},writeASCII:function(i,e,r){for(var t=0;t<r.length;t++)i[e+t]=r.charCodeAt(t)},writeDouble:function(e,r,t){i._binBE.fl64[0]=t;for(var n=0;n<8;n++)e[r+n]=i._binBE.ui8[7-n]}},i._binBE.ui8=new Uint8Array(8),i._binBE.i16=new Int16Array(i._binBE.ui8.buffer),i._binBE.i32=new Int32Array(i._binBE.ui8.buffer),i._binBE.ui32=new Uint32Array(i._binBE.ui8.buffer),i._binBE.fl32=new Float32Array(i._binBE.ui8.buffer),i._binBE.fl64=new Float64Array(i._binBE.ui8.buffer),i._binLE={nextZero:i._binBE.nextZero,readUshort:function(i,e){return i[e+1]<<8|i[e]},readShort:function(e,r){var t=i._binBE.ui8;return t[0]=e[r+0],t[1]=e[r+1],i._binBE.i16[0]},readInt:function(e,r){var t=i._binBE.ui8;return t[0]=e[r+0],t[1]=e[r+1],t[2]=e[r+2],t[3]=e[r+3],i._binBE.i32[0]},readUint:function(e,r){var t=i._binBE.ui8;return t[0]=e[r+0],t[1]=e[r+1],t[2]=e[r+2],t[3]=e[r+3],i._binBE.ui32[0]},readASCII:i._binBE.readASCII,readFloat:function(e,r){for(var t=i._binBE.ui8,n=0;n<4;n++)t[n]=e[r+n];return i._binBE.fl32[0]},readDouble:function(e,r){for(var t=i._binBE.ui8,n=0;n<8;n++)t[n]=e[r+n];return i._binBE.fl64[0]},writeUshort:function(i,e,r){i[e]=255&r,i[e+1]=r>>8&255},writeInt:function(e,r,t){var n=i._binBE.ui8;i._binBE.i32[0]=t,e[r+0]=n[0],e[r+1]=n[1],e[r+2]=n[2],e[r+3]=n[3]},writeUint:function(i,e,r){i[e]=r>>>0&255,i[e+1]=r>>>8&255,i[e+2]=r>>>16&255,i[e+3]=r>>>24&255},writeASCII:i._binBE.writeASCII},i._copyTile=function(i,e,r,t,n,f,a,o){for(var A=Math.min(e,n-a),s=Math.min(r,f-o),l=0;l<s;l++)for(var k=(o+l)*n+a,h=l*e,u=0;u<A;u++)t[k+u]=i[h+u]},i._inflateRaw=function(){var i={H:{}};return i.H.N=function(e,r){var t,n,f=Uint8Array,a=0,o=0,A=0,s=0,l=0,k=0,h=0,u=0,c=0;if(3==e[0]&&0==e[1])return r||new f(0);var d=i.H,b=d.b,p=d.e,g=d.R,m=d.n,v=d.A,w=d.Z,_=d.m,y=null==r;for(y&&(r=new f(e.length>>>2<<5));0==a;)if(a=b(e,c,1),o=b(e,c+1,2),c+=3,0!=o){if(y&&(r=i.H.W(r,u+(1<<17))),1==o&&(t=_.J,n=_.h,k=511,h=31),2==o){A=p(e,c,5)+257,s=p(e,c+5,5)+1,l=p(e,c+10,4)+4,c+=14;for(var C=1,B=0;B<38;B+=2)_.Q[B]=0,_.Q[B+1]=0;for(B=0;B<l;B++){var x=p(e,c+3*B,3);_.Q[1+(_.X[B]<<1)]=x,x>C&&(C=x)}c+=3*l,m(_.Q,C),v(_.Q,C,_.u),t=_.w,n=_.d,c=g(_.u,(1<<C)-1,A+s,e,c,_.v);var Z=d.V(_.v,0,A,_.C);k=(1<<Z)-1;var I=d.V(_.v,A,s,_.D);h=(1<<I)-1,m(_.C,Z),v(_.C,Z,t),m(_.D,I),v(_.D,I,n)}for(;;){var W=t[w(e,c)&k];c+=15&W;var E=W>>>4;if(E>>>8){if(256==E)break;var F=u+E-254;if(E>264){var S=_.q[E-257];F=u+(S>>>3)+p(e,c,7&S),c+=7&S}var X=n[w(e,c)&h];c+=15&X;var V=X>>>4,G=_.c[V],D=(G>>>4)+b(e,c,15&G);for(c+=15&G;u<F;)r[u]=r[u++-D],r[u]=r[u++-D],r[u]=r[u++-D],r[u]=r[u++-D];u=F}else r[u++]=E}}else{7&c&&(c+=8-(7&c));var M=(c>>>3)+4,R=e[M-4]|e[M-3]<<8;y&&(r=i.H.W(r,u+R)),r.set(new f(e.buffer,e.byteOffset+M,R),u),c=M+R<<3,u+=R}return r.length==u?r:r.slice(0,u)},i.H.W=function(i,e){var r=i.length;if(e<=r)return i;var t=new Uint8Array(r<<1);return t.set(i,0),t},i.H.R=function(e,r,t,n,f,a){for(var o=i.H.e,A=i.H.Z,s=0;s<t;){var l=e[A(n,f)&r];f+=15&l;var k=l>>>4;if(k<=15)a[s]=k,s++;else{var h=0,u=0;16==k?(u=3+o(n,f,2),f+=2,h=a[s-1]):17==k?(u=3+o(n,f,3),f+=3):18==k&&(u=11+o(n,f,7),f+=7);for(var c=s+u;s<c;)a[s]=h,s++}}return f},i.H.V=function(i,e,r,t){for(var n=0,f=0,a=t.length>>>1;f<r;){var o=i[f+e];t[f<<1]=0,t[1+(f<<1)]=o,o>n&&(n=o),f++}for(;f<a;)t[f<<1]=0,t[1+(f<<1)]=0,f++;return n},i.H.n=function(e,r){for(var t,n,f,a,o=i.H.m,A=e.length,s=o.j,l=0;l<=r;l++)s[l]=0;for(l=1;l<A;l+=2)s[e[l]]++;var k=o.K;for(t=0,s[0]=0,n=1;n<=r;n++)t=t+s[n-1]<<1,k[n]=t;for(f=0;f<A;f+=2)0!=(a=e[f+1])&&(e[f]=k[a],k[a]++)},i.H.A=function(e,r,t){for(var n=e.length,f=i.H.m.r,a=0;a<n;a+=2)if(0!=e[a+1])for(var o=a>>1,A=e[a+1],s=o<<4|A,l=r-A,k=e[a]<<l,h=k+(1<<l);k!=h;)t[f[k]>>>15-r]=s,k++},i.H.l=function(e,r){for(var t=i.H.m.r,n=15-r,f=0;f<e.length;f+=2){var a=e[f]<<r-e[f+1];e[f]=t[a]>>>n}},i.H.M=function(i,e,r){r<<=7&e;var t=e>>>3;i[t]|=r,i[t+1]|=r>>>8},i.H.I=function(i,e,r){r<<=7&e;var t=e>>>3;i[t]|=r,i[t+1]|=r>>>8,i[t+2]|=r>>>16},i.H.e=function(i,e,r){return(i[e>>>3]|i[(e>>>3)+1]<<8)>>>(7&e)&(1<<r)-1},i.H.b=function(i,e,r){return(i[e>>>3]|i[(e>>>3)+1]<<8|i[(e>>>3)+2]<<16)>>>(7&e)&(1<<r)-1},i.H.Z=function(i,e){return(i[e>>>3]|i[(e>>>3)+1]<<8|i[(e>>>3)+2]<<16)>>>(7&e)},i.H.i=function(i,e){return(i[e>>>3]|i[(e>>>3)+1]<<8|i[(e>>>3)+2]<<16|i[(e>>>3)+3]<<24)>>>(7&e)},i.H.m=function(){var i=Uint16Array,e=Uint32Array;return{K:new i(16),j:new i(16),X:[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],S:[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,999,999,999],T:[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0],q:new i(32),p:[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,65535,65535],z:[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0],c:new e(32),J:new i(512),_:[],h:new i(32),$:[],w:new i(32768),C:[],v:[],d:new i(32768),D:[],u:new i(512),Q:[],r:new i(32768),s:new e(286),Y:new e(30),a:new e(19),t:new e(15e3),k:new i(65536),g:new i(32768)}}(),function(){for(var e=i.H.m,r=0;r<32768;r++){var t=r;t=(4278255360&(t=(4042322160&(t=(3435973836&(t=(2863311530&t)>>>1|(1431655765&t)<<1))>>>2|(858993459&t)<<2))>>>4|(252645135&t)<<4))>>>8|(16711935&t)<<8,e.r[r]=(t>>>16|t<<16)>>>17}function n(i,e,r){for(;0!=e--;)i.push(0,r)}for(r=0;r<32;r++)e.q[r]=e.S[r]<<3|e.T[r],e.c[r]=e.p[r]<<4|e.z[r];n(e._,144,8),n(e._,112,9),n(e._,24,7),n(e._,8,8),i.H.n(e._,9),i.H.A(e._,9,e.J),i.H.l(e._,9),n(e.$,32,5),i.H.n(e.$,5),i.H.A(e.$,5,e.h),i.H.l(e.$,5),n(e.Q,19,0),n(e.C,286,0),n(e.D,30,0),n(e.v,320,0)}(),i.H.N}(),i.LosslessJpegDecode=function(){var i,e;function r(){return i[e++]}function t(){return i[e++]<<8|i[e++]}function n(i){for(var e=r(),t=[0,0,0,255],n=[],a=0;a<16;a++)n[a]=r();for(a=0;a<16;a++)for(var o=0;o<n[a];o++)t[f(t,0,a+1,1)+3]=r();var A=new Uint8Array(256);for(i[e]=[new Uint8Array(t),A],a=0;a<256;a++){for(var s=8,l=a,k=0;255==t[k+3]&&0!=s;)k=t[k+(l>>--s&1)];A[a]=k}}function f(i,e,r,t){if(255!=i[e+3])return 0;if(0==r)return e;for(var n=0;n<2;n++){0==i[e+n]&&(i[e+n]=i.length,i.push(0,0,t,255));var a=f(i,i[e+n],r-1,t+1);if(0!=a)return a}return 0}function a(i){for(var e=i.c,r=i.f;e<25&&i.d<i.a;){var t=i.data[i.d++];255==t&&!i.b&&i.d++,r=r<<8|t,e+=8}if(e<0)throw"e";i.c=e,i.f=r}function o(i,e){return e.c<i&&a(e),e.f>>(e.c-=i)&65535>>16-i}function A(i,e){var r=i[0],t=0,n=255;e.c<16&&a(e);var f=e.f>>e.c-8&255;for(n=r[(t=i[1][f])+3],e.c-=r[t+2];255==n;)n=r[(t=r[t+(e.f>>--e.c&1)])+3];return n}function s(i,e){return i<32768>>16-e&&(i+=1-(1<<e)),i}function l(i,e){var r=A(i,e);return 0==r?0:16==r?-32768:s(o(r,e),r)}function k(i,e,r,t,n,f){for(var a=0,o=0;o<f;o++){for(var A=o*e,s=0;s<e;s+=n){a++;for(var k=0;k<n;k++)i[A+s+k]=l(t[k],r)}if(0!=r.e&&a%r.e==0&&0!=o){for(var h=r.d,u=r.data;255!=u[h]||!(208<=u[h+1]&&u[h+1]<=215);)h--;r.d=h+2,r.f=0,r.c=0}}}function h(i,e){return s(o(i,e),i)}function u(i,e,r,t,n,f,a,o){for(var A=r*a,s=n;s<f;s++)i[s]+=1<<o-1;for(var l=a;l<A;l+=a)for(s=n;s<f;s++)i[l+s]+=i[l+s-a];for(var k=1;k<t;k++){var h=k*A;for(s=n;s<f;s++)i[h+s]+=i[h+s-A];for(l=a;l<A;l+=a)for(s=n;s<f;s++){var u=h+l+s,c=u-A,d=i[u-a],b=0;if(0==e)b=0;else if(1==e)b=d;else if(2==e)b=i[c];else if(3==e)b=i[c-a];else if(4==e)b=d+(i[c]-i[c-a]);else if(5==e)b=d+(i[c]-i[c-a]>>>1);else if(6==e)b=i[c]+(d-i[c-a]>>>1);else{if(7!=e)throw e;b=d+i[c]>>>1}i[u]+=b}}}return function(f){if(i=f,e=0,65496!=t())throw"e";for(var a=[],o=0,s=0,l=0,c=[],d=[],b=[],p=0,g=0,m=0;;){var v=t();if(65535!=v){var w=t();if(65475==v){s=r(),g=t(),m=t(),p=r();for(var _=0;_<p;_++){var y=r(),C=r();if(0!=r())throw"e";a[y]=[_,C>>4,15&C]}}else if(65476==v)for(var B=e+w-2;e<B;)n(d);else{if(65498==v){for(e++,_=0;_<p;_++){var x=a[r()];b[x[0]]=d[r()>>>4],c[x[0]]=x.slice(1)}o=r(),e+=2;break}65501==v?l=t():e+=w-2}}else e--}var Z=new(s>8?Uint16Array:Uint8Array)(g*m*p),I={c:0,f:0,b:8==o,d:e,data:i,a:i.length,e:l};if(I.b)!function(r,t,n,f,a){for(var o=i.length-e,s=0;s<o;s+=4){var l=i[e+s];i[e+s]=i[e+s+3],i[e+s+3]=l,l=i[e+s+1],i[e+s+1]=i[e+s+2],i[e+s+2]=l}for(var k=0;k<a;k++)for(var u=32768,c=32768,d=0;d<t;d+=2){var b=A(f,n),p=A(f,n);0!=b&&(u+=h(b,n)),0!=p&&(c+=h(p,n)),r[k*t+d]=65535&u,r[k*t+d+1]=65535&c}}(Z,m*p,I,b[0],g);else{var W=[],E=0,F=0;for(_=0;_<p;_++){var S=c[_];(Q=S[0])>E&&(E=Q),(N=S[1])>F&&(F=N),W.push(Q*N)}if(1!=E||1!=F){if(3!=p||1!=W[1]||1!=W[2]||2!=E||1!=F&&2!=F)throw"e";var X=[],V=0;for(_=0;_<p;_++){for(var G=0;G<W[_];G++)X.push(b[_]);V+=W[_]}var D=m/E,M=g/F,R=D*M;k(Z,D*V,I,X,V,M),u(Z,o,D,M,V-2,V,V,s);var T=new Uint16Array(R*W[0]);if(2==E&&2==F){for(_=0;_<R;_++)T[4*_]=Z[6*_],T[4*_+1]=Z[6*_+1],T[4*_+2]=Z[6*_+2],T[4*_+3]=Z[6*_+3];for(u(T,o,4*D,M,0,1,1,s),_=0;_<R;_++)Z[6*_]=T[4*_],Z[6*_+1]=T[4*_+1],Z[6*_+2]=T[4*_+2],Z[6*_+3]=T[4*_+3]}if(2==E&&1==F){for(_=0;_<R;_++)T[2*_]=Z[4*_],T[2*_+1]=Z[4*_+1];for(u(T,o,2*D,M,0,1,1,s),_=0;_<R;_++)Z[4*_]=T[2*_],Z[4*_+1]=T[2*_+1]}for(var P=Z.slice(0),N=0;N<g;N++)if(2==F)for(var Q=0;Q<m;Q++){var Y=((N>>>1)*D+(Q>>>1))*V,O=2*(1&N)+(1&Q);Z[z=(N*m+Q)*p]=P[Y+O],Z[z+1]=P[Y+4],Z[z+2]=P[Y+5]}else for(Q=0;Q<m;Q++){var z;Y=(N*D+(Q>>>1))*V,O=1&Q,Z[z=(N*m+Q)*p]=P[Y+O],Z[z+1]=P[Y+2],Z[z+2]=P[Y+3]}}else if(k(Z,m*p,I,b,p,g),0==l)u(Z,o,m,g,0,p,p,s);else{var J=Math.floor(l/m);for(N=0;N<g;N+=J){var U=Z.slice(N*m*p,(N+J)*m*p);u(U,o,m,J,0,p,p,s),Z.set(U,N*m*p)}}}return[Z,m,g,p]}}(),function(){var e=5,r=6,t=13,n=14;function f(i){var e={c:new Int8Array(2<<i.u)};return function(i,e,r){var t=[e,3*e+18,5*e+67,7*e+276,r];i.o=e,i.w=(t[4]+2*e)/(2*e+1)+1|0,i.v=Math.ceil(Math.log2(i.w)),i.t=9,function(i,e){for(var r=-e[4],t=0;r<=e[4];t++,r++)i[t]=r<=-e[3]?-4:r<=-e[2]?-3:r<=-e[1]?-2:r<-e[0]?-1:r<=e[0]?0:r<e[1]?1:r<e[2]?2:r<e[3]?3:4}(i.c,t)}(e,0,i.g),e}function a(i){for(var e=[[],[],[]],r=Math.max(2,i.w+32>>>6),t=0;t<3;t++)for(var n=0;n<41;n++)e[t][n]=[r,1];return e}function o(i,e){var r=0,t=8-i.a;if(i.j,i.a,e){if(e>=t)do{r<<=t,e-=t,r|=i[i.j]&(1<<t)-1,i.j++,t=8}while(e>=8);e&&(r<<=e,t-=e,r|=i[i.j]>>>t&(1<<e)-1),i.a=8-t}return r}function A(i,e,r,t,n,f,a,A){null==A&&(A=0);var s,l,k,h,u,c,d=f+1,b=d%2,p=0,g=t[n],m=t[n-1],v=t[n-2][d],w=m[d-1],_=m[d],y=m[d+1],C=g[d-1],B=g[d+1],x=Math.abs;if(b&&(k=x(y-_),h=x(v-_),u=x(w-_)),b){if(c=(c=k>u&&h<k?v+w:k<u&&h<u?v+y:y+w)+2*_>>>2,A)return void(g[d]=c);s=e.t*e.c[i.g+_-v]+e.c[i.g+w-_]}else c=_>w&&_>y||_<w&&_<y?B+C+2*_>>>2:C+B>>>1,s=e.t*e.c[i.g+_-w]+e.c[i.g+w-C];l=x(s);var Z=function(i){for(var e=-1,r=0;!r;e++)r=i[i.j]>>>7-i.a&1,i.a++,i.a&=7,i.a||i.j++;return e}(r);if(Z<i.n-e.v-1){var I=function(i,e){var r=0;if(e<i)for(;r<=14&&e<<++r<i;);return r}(a[l][0],a[l][1]);p=o(r,I)+(Z<<I)}else p=o(r,e.v)+1;p=1&p?-1-(p>>>1):p>>>1,a[l][0]+=x(p),a[l][1]==i.f&&(a[l][0]>>>=1,a[l][1]>>>=1),a[l][1]++,c=s<0?c-p:c+p,i.i&&(c<0?c+=e.w:c>i.g&&(c-=e.w)),g[d]=c>=0?Math.min(c,i.g):0}function s(i,e,r){for(var t=i[0].length,n=e;n<=r;n++)i[n][0]=i[n-1][1],i[n][t-1]=i[n-1][t-2]}function l(i){s(i,7,12),s(i,2,4),s(i,15,17)}function k(i,e,r,n,f,a,o,s,k,h,u,c,d){for(var b=0,p=1,g=f<t&&f>4;p<i.m;)b<i.m&&(A(i,e,r,n,f,b,o[k],i.h&&(g&&h||!g&&(u||(b&c)==d))),A(i,e,r,n,a,b,o[k],i.h&&(!g&&h||g&&(u||(b&c)==d))),b+=2),b>8&&(A(i,e,r,n,f,p,s[k]),A(i,e,r,n,a,p,s[k]),p+=2);l(n)}function h(i,e,r,t,n,f){k(i,e,r,t,2,7,n,f,0,0,1,0,8),k(i,e,r,t,8,15,n,f,1,0,1,0,8),k(i,e,r,t,3,9,n,f,2,1,0,3,0),k(i,e,r,t,10,16,n,f,0,0,0,3,2),k(i,e,r,t,4,11,n,f,1,0,0,3,2),k(i,e,r,t,12,17,n,f,2,1,0,3,0)}function u(i,e,r,t,n,f){var a=f.length,o=i.l;n+1==i.s&&(o=i.e-n*i.l);for(var A=6*i.e*t+n*i.l,s=0;s<6;s++){for(var l=0;l<o;l++){var k,h=f[s%a][l%a];k=0==h?2+(s>>>1):2==h?15+(s>>>1):7+s;var u=i.h?(2*l/3&2147483646|l%3&1)+(l%3>>>1):l>>>1;e[A+l]=r[k][u+1]}A+=i.e}}i._decompressRAF=function(o,A){var s=function(e){var r=i._binBE.readUshort,t={b:r(e,0),i:e[2],C:e[3],u:e[4],q:r(e,5),k:r(e,7),e:r(e,9),l:r(e,11),s:e[13],d:r(e,14)};if(18771!=t.b||t.i>1||t.q<6||t.q%6||t.e<768||t.e%24||768!=t.l||t.k<t.l||t.k%t.l||t.k-t.e>=t.l||t.s>16||t.s!=t.k/t.l||t.s!=Math.ceil(t.e/t.l)||t.d!=t.q/6||12!=t.u&&14!=t.u&&16!=t.u||16!=t.C&&0!=t.C)throw"Invalid data";if(0==t.i)throw"Not implemented. We need this file!";return t.h=16==t.C,t.m=0|(t.h?2*t.l/3:t.l>>>1),t.A=t.m+2,t.f=64,t.g=(1<<t.u)-1,t.n=4*t.u,t}(o),k=function(e,r){var t=new Array(r.s),n=4*r.s,f=16+n;12&n&&(f+=16-(12&n));for(var a=0,o=16;a<r.s;o+=4){var A=i._binBE.readUint(e,o);t[a]=e.slice(f,f+A),t[a].j=0,t[a].a=0,f+=A,a++}if(f!=e.length)throw"Invalid data";return t}(o,s),c=f(s),d=new Int16Array(s.e*s.q);null==A&&(A=s.h?[[1,1,0,1,1,2],[1,1,2,1,1,0],[2,0,1,0,2,1],[1,1,2,1,1,0],[1,1,0,1,1,2],[0,2,1,2,0,1]]:[[0,1],[3,2]]);for(var b=[[0,3],[1,4],[e,11],[r,12],[t,16],[n,17]],p=[],g=0;g<18;g++)p[g]=new Uint16Array(s.A);for(var m=0;m<s.s;m++){var v=a(c),w=a(c);for(g=0;g<18;g++)for(var _=0;_<s.A;_++)p[g][_]=0;for(var y=0;y<s.d;y++){for(h(s,c,k[m],p,v,w),g=0;g<6;g++)for(_=0;_<s.A;_++)p[b[g][0]][_]=p[b[g][1]][_];for(u(s,d,p,y,m,A),g=2;g<18;g++)if(-1==[e,r,t,n].indexOf(g))for(_=0;_<s.A;_++)p[g][_]=0;l(p)}}return d}}()}()}),Ao={};ro(Ao,{heicTo:()=>Da,isHeic:()=>Wa});var At,Wa,Sa,Xa,so,Va,Ga,Da,lo=Ea(()=>{At=(i,e,r)=>new Promise((t,n)=>{var f=i=>{try{o(r.next(i))}catch(i){n(i)}},a=i=>{try{o(r.throw(i))}catch(i){n(i)}},o=i=>i.done?t(i.value):Promise.resolve(i.value).then(f,a);o((r=r.apply(i,e)).next())}),Wa=i=>At(void 0,null,function*(){let e=(yield i.arrayBuffer()).slice(8,12);switch(new TextDecoder("utf-8").decode(e).replace("\0"," ").trim()){case"mif1":case"msf1":case"heic":case"heix":case"hevc":case"hevx":return!0}return!1}),Xa=new Blob([Sa='(()=>{var h5=(y1=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(y1,{get:(T1,a1)=>(typeof require!="undefined"?require:T1)[a1]}):y1)(function(y1){if(typeof require!="undefined")return require.apply(this,arguments);throw Error(\'Dynamic require of "\'+y1+\'" is not supported\')});var tJ=(y1,T1)=>()=>(y1&&(T1=y1(y1=0)),T1);var oJ=(y1,T1)=>()=>(T1||y1((T1={exports:{}}).exports,T1),T1.exports);var w5=(y1,T1,a1)=>new Promise((F8,O)=>{var K8=l4=>{try{Si(a1.next(l4))}catch(O4){O(O4)}},E8=l4=>{try{Si(a1.throw(l4))}catch(O4){O(O4)}},Si=l4=>l4.done?F8(l4.value):Promise.resolve(l4.value).then(K8,E8);Si((a1=a1.apply(y1,T1)).next())});var lJ,Po,Lo=tJ(()=>{lJ=(()=>{var T1;var y1=typeof document!="undefined"?(T1=document.currentScript)==null?void 0:T1.src:void 0;return typeof __filename!="undefined"&&(y1||(y1=__filename)),function(a1={}){var F8,O=a1,K8,E8,Si=new Promise((F,N)=>{K8=F,E8=N}),l4=typeof window=="object",O4=typeof importScripts=="function",q8=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",v5=Object.assign({},O),m5=[],Me="./this.program",B5=(F,N)=>{throw N},z4="";function Ko(F){return O.locateFile?O.locateFile(F,z4):z4+F}var xe,Oi;if(q8){var ze=h5("fs"),Z5=h5("path");z4=__dirname+"/",Oi=F=>{F=Se(F)?new URL(F):Z5.normalize(F);var N=ze.readFileSync(F);return N},xe=(F,N=!0)=>(F=Se(F)?new URL(F):Z5.normalize(F),new Promise((M,T)=>{ze.readFile(F,N?void 0:"utf8",($,K)=>{$?T($):M(N?K.buffer:K)})})),!O.thisProgram&&process.argv.length>1&&(Me=process.argv[1].replace(/\\\\/g,"/")),m5=process.argv.slice(2),B5=(F,N)=>{throw process.exitCode=F,N}}else(l4||O4)&&(O4?z4=self.location.href:typeof document!="undefined"&&document.currentScript&&(z4=document.currentScript.src),y1&&(z4=y1),z4.startsWith("blob:")?z4="":z4=z4.substr(0,z4.replace(/[?#].*/,"").lastIndexOf("/")+1),O4&&(Oi=F=>{var N=new XMLHttpRequest;return N.open("GET",F,!1),N.responseType="arraybuffer",N.send(null),new Uint8Array(N.response)}),xe=F=>Se(F)?new Promise((N,M)=>{var T=new XMLHttpRequest;T.open("GET",F,!0),T.responseType="arraybuffer",T.onload=()=>{(T.status==200||T.status==0&&T.response)&&M(T.response),N(T.status)},T.onerror=N,T.send(null)}):fetch(F,{credentials:"same-origin"}).then(N=>N.ok?N.arrayBuffer():Promise.reject(new Error(N.status+" : "+N.url))));var He=O.print||console.log.bind(console),ji=O.printErr||console.error.bind(console);Object.assign(O,v5),v5=null,O.arguments&&(m5=O.arguments),O.thisProgram&&(Me=O.thisProgram),O.quit&&(B5=O.quit);var d6;O.wasmBinary&&(d6=O.wasmBinary);var Pi={Memory:function(F){this.buffer=new ArrayBuffer(F.initial*65536)},Module:function(F){},Instance:function(F,N){this.exports=function(T){function $(n1){return n1.set=function(C2,l){this[C2]=l},n1.get=function(C2){return this[C2]},n1}for(var K,o0=new Uint8Array(123),s0=25;s0>=0;--s0)o0[48+s0]=52+s0,o0[65+s0]=s0,o0[97+s0]=26+s0;o0[43]=62,o0[47]=63;function t0(n1,C2,l){for(var X,i,s=0,Q=C2,k0=l.length,Z0=C2+(k0*3>>2)-(l[k0-2]=="=")-(l[k0-1]=="=");s<k0;s+=4)X=o0[l.charCodeAt(s+1)],i=o0[l.charCodeAt(s+2)],n1[Q++]=o0[l.charCodeAt(s)]<<2|X>>4,Q<Z0&&(n1[Q++]=X<<4|i>>2),Q<Z0&&(n1[Q++]=i<<6|o0[l.charCodeAt(s+3)])}function E0(n1){t0(K,1024,"MjBTdHJlYW1SZWFkZXJfaXN0cmVhbQAxMlN0cmVhbVJlYWRlcgAxOVN0cmVhbVJlYWRlcl9tZW1vcnkAMTdTdHJlYW1SZWFkZXJfQ0FwaQBoZWlmX3N1YmVycm9yX0lwbWFfYm94X3JlZmVyZW5jZXNfbm9uZXhpc3RpbmdfcHJvcGVydHkAaGVpZl9zdWJlcnJvcl9Ob19pc3BlX3Byb3BlcnR5AGhlaWZfc3ViZXJyb3JfSW52YWxpZF9wcm9wZXJ0eQAnaXBtYScgYm94IHJlZmVyZW5jZXMgYSBub24tZXhpc3RpbmcgcHJvcGVydHkATm8gaXNwZSBwcm9wZXJ0eQBJbnZhbGlkIHByb3BlcnR5AEltYWdlIGhhcyBubyAnaXNwZScgcHJvcGVydHkAaW5maW5pdHkAaGVpZl9zdWJlcnJvcl9DYW5ub3RfcmVhZF9wbHVnaW5fZGlyZWN0b3J5AGhlaWZfY29udGV4dF9yZWFkX2Zyb21fbWVtb3J5AEZlYnJ1YXJ5AEphbnVhcnkASnVseQBUaHVyc2RheQBUdWVzZGF5AFdlZG5lc2RheQBTYXR1cmRheQBTdW5kYXkATW9uZGF5AEZyaWRheQBNYXkAJW0vJWQvJXkAaGV2eABoZWlmX3N1YmVycm9yX05vX2lkYXRfYm94AGhlaWZfc3ViZXJyb3JfTm9faGRscl9ib3gAaGVpZl9zdWJlcnJvcl9Ob19pY2JyX2JveABoZWlmX3N1YmVycm9yX05vX2Z0eXBfYm94AGhlaWZfc3ViZXJyb3JfTm9faXBycF9ib3gAaGVpZl9zdWJlcnJvcl9Ob19pcGNvX2JveABoZWlmX3N1YmVycm9yX05vX3BpdG1fYm94AGhlaWZfc3ViZXJyb3JfSW52YWxpZF9waXhpX2JveABoZWlmX3N1YmVycm9yX05vX2lpbmZfYm94AGhlaWZfc3ViZXJyb3JfTm9faXJlZl9ib3gAaGVpZl9zdWJlcnJvcl9Ob19pbmZlX2JveABoZWlmX3N1YmVycm9yX05vX2lsb2NfYm94AGhlaWZfc3ViZXJyb3JfTm9fbWV0YV9ib3gAaGVpZl9zdWJlcnJvcl9Ob19pcG1hX2JveABoZWlmX3N1YmVycm9yX05vX3Z2Y0NfYm94AGhlaWZfc3ViZXJyb3JfTm9faHZjQ19ib3gAaGVpZl9zdWJlcnJvcl9Ob19hdjFDX2JveAB0aGlzIHByb3BlcnR5IGlzIG5vdCByZWFkIGFzIGEgcmF3IGJveABlcnJvciByZWFkaW5nIGZ0eXAgYm94AGlucHV0IGlzIG5vdCBhIGZ0eXAgYm94AEludmFsaWQgcGl4aSBib3gAKSBoYXMgbm8gcHJvcGVydGllcyBhc3NpZ25lZCB0byBpdCBpbiBpcG1hIGJveAAgcmVmZXJlbmNlZCBpbiBpcG1hIGJveABlcnJvciB3aGlsZSByZWFkaW5nIGh2Y0MgYm94AE5vICdpZGF0JyBib3gATm8gJ2hkbHInIGJveABObyAnaWNicicgYm94AE5vICdmdHlwJyBib3gATm8gJ2lwcnAnIGJveABObyAnaXBjbycgYm94AE5vICdwaXRtJyBib3gATm8gJ2lpbmYnIGJveABObyAnaXJlZicgYm94AE5vICdpbmZlJyBib3gATm8gJ2lsb2MnIGJveABObyAnbWV0YScgYm94AE5vICdpcG1hJyBib3gATm8gJ3Z2Y0MnIGJveABObyAnaHZjQycgYm94AE5vICdhdjFDJyBib3gATlVMTCBwYXNzZWQgYXMgbWF0cml4AEludmFsaWQgcXVhdGVybmlvbiBpbiBleHRyaW5zaWMgcm90YXRpb24gbWF0cml4AGhlaXgAY21leAAtKyAgIDBYMHgALTBYKzBYIDBYLTB4KzB4IDB4AF9fbmV4dF9wcmltZSBvdmVyZmxvdwBoZWlmX2Nocm9tYV9kb3duc2FtcGxpbmdfc2hhcnBfeXV2AE5vdgBUaHUAaGVpZl9jb250ZXh0AGdldF90aHJlYWRfY29udGV4dABoZWlmX3dyaXRlciBjYWxsYmFjayByZXR1cm5lZCBhIG51bGwgZXJyb3IgdGV4dABoZWlmX2Vycm9yX0ludmFsaWRfaW5wdXQAaW52YWxpZCBkaXNwYXJpdHlfcmVmZXJlbmNlX3ZpZXcgaW4gaW5wdXQAaW52YWxpZCBkZXB0aCByZXByZXNlbnRhdGlvbiB0eXBlIGluIGlucHV0AHVuc3VwcG9ydGVkIGxvY2FsZSBmb3Igc3RhbmRhcmQgaW5wdXQASW52YWxpZCBpbnB1dABBdWd1c3QAaGVpZl9lcnJvcl9JbnB1dF9kb2VzX25vdF9leGlzdABoZWlmX2Vycm9yX0NvbG9yX3Byb2ZpbGVfZG9lc19ub3RfZXhpc3QAUmVnaW9uIGl0ZW0gZG9lcyBub3QgZXhpc3QAQ29sb3IgcHJvZmlsZSBkb2VzIG5vdCBleGlzdABJbnB1dCBmaWxlIGRvZXMgbm90IGV4aXN0AHJlYWRfc2NhbGluZ19saXN0AE1hc2sgaW1hZ2UgZGF0YSBpcyB0b28gc2hvcnQASEVWQyBTRUkgTkFMIHRvbyBzaG9ydAB1bnNpZ25lZCBzaG9ydAB1bnNpZ25lZCBpbnQAY29tcG9uZW50AGhlaWZfc3ViZXJyb3JfTnVsbF9wb2ludGVyX2FyZ3VtZW50AE5VTEwgYXJndW1lbnQAcmVmY250AGNvbnN0YW50AEhpZ2ggdmFyaWFudABoZWlmX2ZpbGV0eXBlX3Jlc3VsdAByZWFkX3RyYW5zZm9ybV91bml0AHJlYWRfY29kaW5nX3VuaXQAaW5pdABoZWlmX2Nocm9tYV9pbnRlcmxlYXZlZF8yNGJpdABoZWlmX2Nocm9tYV9pbnRlcmxlYXZlZF8zMmJpdABoZWlmX2ltYWdlX2hhbmRsZV9nZXRfaGVpZ2h0AHplcm8gd2lkdGggb3IgaGVpZ2h0ACBpcyBub3QgaW1wbGVtZW50ZWQgeWV0AHJlYWRfc2hvcnRfdGVybV9yZWZfcGljX3NldABnZXQAT2N0AGZsb2F0AGhlaWZfY29tcHJlc3Npb25fZm9ybWF0AGhlaWZfc3ViZXJyb3JfV3JvbmdfdGlsZV9pbWFnZV9jaHJvbWFfZm9ybWF0AE5vIGRlY29kaW5nIHBsdWdpbiBpbnN0YWxsZWQgZm9yIHRoaXMgY29tcHJlc3Npb24gZm9ybWF0AFdyb25nIHRpbGUgaW1hZ2UgY2hyb21hIGZvcm1hdABTYXQAdWludDY0X3QAaGV2cwBhbGxvY2F0ZV90aHJlYWRfY29udGV4dHMAbiA8IG5UaHJlYWRDb250ZXh0cwBjb25zdHJ1Y3RfcmVmZXJlbmNlX3BpY3R1cmVfbGlzdHMAaGVpZl9zdWJlcnJvcl9Vbmtub3duX05DTFhfbWF0cml4X2NvZWZmaWNpZW50cwBVbmtub3duIE5DTFggbWF0cml4IGNvZWZmaWNpZW50cwB1bml0WSA+PSAwICYmIHVuaXRZIDwgaGVpZ2h0X2luX3VuaXRzAHVuaXRYID49IDAgJiYgdW5pdFggPCB3aWR0aF9pbl91bml0cwBTdWNjZXNzAGZpbGxfbHVtYV9tb3Rpb25fdmVjdG9yX3ByZWRpY3RvcnMAZGVyaXZlX2NvbGxvY2F0ZWRfbW90aW9uX3ZlY3RvcnMAc3BzAHBwcwBGb3JtYXRSYW5nZUV4dGVuc2lvbnMAaGVpZl9zdWJlcnJvcl9Ub29fbWFueV9yZWdpb25zAEVycm9yIHdoaWxlIHNjYW5uaW5nIHRoZSBkaXJlY3RvcnkgZm9yIHBsdWdpbnMARGVyaXZlZCBpbWFnZSBkb2VzIG5vdCByZWZlcmVuY2UgYW55IG90aGVyIGltYWdlIGl0ZW1zAGNoYW5uZWxzAGluaXRpYWxpemVfQ0FCQUNfbW9kZWxzAGF2aXMAaGVpcwBpbWFnZS9qMmlzAEdyaWQgdGlsZXMgaGF2ZSBkaWZmZXJlbnQgc2l6ZXMAc2V0X2Rlcml2ZWRfdmFsdWVzACBieXRlcwBkZXJpdmVfY29tYmluZWRfYmlwcmVkaWN0aXZlX21lcmdpbmdfY2FuZGlkYXRlcwBZQ2JDciBpbWFnZSB3aXRob3V0IFksQ2IsQ3IgcGxhbmVzAFJHQiBpbnB1dCB3aXRob3V0IFIsRyxCLCBwbGFuZXMAZ2VuZXJhdGVfaW50ZXJfcHJlZGljdGlvbl9zYW1wbGVzAGRlY29kZV9zbGljZV91bml0X3RpbGVzAGhlaWZfc3ViZXJyb3JfVW5rbm93bl9OQ0xYX2NvbG9yX3ByaW1hcmllcwBVbmtub3duIE5DTFggY29sb3IgcHJpbWFyaWVzAHRocmVhZF9maW5pc2hlcwBoZWlmX2NvbnRleHRfZ2V0X251bWJlcl9vZl90b3BfbGV2ZWxfaW1hZ2VzAGhlaWZfc3ViZXJyb3JfTWlzc2luZ19ncmlkX2ltYWdlcwAnc3RlcicgZW50aXR5IGdyb3VwIGRvZXMgbm90IGV4aXN0cyBvZiBleGFjdGx5IHR3byBpbWFnZXMATWlzc2luZyBncmlkIGltYWdlcwB1ZGVzACdpcmVmJyBoYXMgZG91YmxlIHJlZmVyZW5jZXMATnVtYmVyIG9mIGltYWdlIG9mZnNldHMgZG9lcyBub3QgbWF0Y2ggdGhlIG51bWJlciBvZiBpbWFnZSByZWZlcmVuY2VzAGhlaWZfc3ViZXJyb3JfVW5rbm93bl9OQ0xYX3RyYW5zZmVyX2NoYXJhY3RlcmlzdGljcwBVbmtub3duIE5DTFggdHJhbnNmZXIgY2hhcmFjdGVyaXN0aWNzAGhlaWZfc3ViZXJyb3JfT3ZlcmxheV9pbWFnZV9vdXRzaWRlX29mX2NhbnZhcwB5PHNwcy0+UGljSGVpZ2h0SW5NaW5QVXMAeDxzcHMtPlBpY1dpZHRoSW5NaW5QVXMAaGVpZl9qc19jb250ZXh0X2dldF9saXN0X29mX3RvcF9sZXZlbF9pbWFnZV9JRHMAYmFkX3dlYWtfcHRyAEFwcgB2ZWN0b3IAZmlsbF9zY2FsaW5nX2ZhY3RvcgBoZWlmX3N1YmVycm9yX0NvbXByZXNzaW9uX2luaXRpYWxpc2F0aW9uX2Vycm9yAGhlaWZfZXJyb3JfTWVtb3J5X2FsbG9jYXRpb25fZXJyb3IAaGVpZl9lcnJvcl9FbmNvZGVyX3BsdWdpbl9lcnJvcgBoZWlmX2Vycm9yX0RlY29kZXJfcGx1Z2luX2Vycm9yAGhlaWZfZXJyb3JfRW5jb2RpbmdfZXJyb3IAaGVpZl9zdWJlcnJvcl9QbHVnaW5fbG9hZGluZ19lcnJvcgBoZWlmX2Vycm9yX1BsdWdpbl9sb2FkaW5nX2Vycm9yAGhlaWZfZXJyb3IAaGVpZl9lcnJvcl9Vc2FnZV9lcnJvcgBtb25leV9nZXQgZXJyb3IAVW5rbm93biBlcnJvcgBNZW1vcnkgYWxsb2NhdGlvbiBlcnJvcgBFbmNvZGVyIHBsdWdpbiBnZW5lcmF0ZWQgYW4gZXJyb3IARGVjb2RlciBwbHVnaW4gZ2VuZXJhdGVkIGFuIGVycm9yAFVzYWdlIGVycm9yAENvbXByZXNzaW9uIGluaXRpYWxpc2F0aW9uIG1ldGhvZCBlcnJvcgBoZWlmX2Nocm9tYV91cHNhbXBsaW5nX25lYXJlc3RfbmVpZ2hib3IAaGVpZl9jaHJvbWFfZG93bnNhbXBsaW5nX25lYXJlc3RfbmVpZ2hib3IAaGRscgBzdWJfbGF5ZXIAbXVsdGktbGF5ZXIAaGVpZl9zdWJlcnJvcl9VbnN1cHBvcnRlZF9wYXJhbWV0ZXIAVW5zdXBwb3J0ZWQgZW5jb2RlciBwYXJhbWV0ZXIAVW5zdXBwb3J0ZWQgcGFyYW1ldGVyAGhlaWZfc3ViZXJyb3JfTm9fcGljdF9oYW5kbGVyAE5vdCBhICdwaWN0JyBoYW5kbGVyAE1pc3NpbmcgcmVxdWlyZWQgU0laIE1hcmtlcgBNaXNzaW5nIHJlcXVpcmVkIFNPQyBNYXJrZXIAZGUyNjVfaW1hZ2VfZ2V0X2J1ZmZlcgBvdXRwdXRfbmV4dF9waWN0dXJlX2luX3Jlb3JkZXJfYnVmZmVyAGluaXRfQ0FCQUNfZGVjb2RlcgBsaWJkZTI2NSBIRVZDIGRlY29kZXIAZHVtcF9zbGljZV9zZWdtZW50X2hlYWRlcgBPY3RvYmVyAGhlaWZfZ2V0X3ZlcnNpb25fbnVtYmVyAGhlaWZfc3ViZXJyb3JfSW52YWxpZF9mcmFjdGlvbmFsX251bWJlcgBJbnZhbGlkIGZyYWN0aW9uYWwgbnVtYmVyAE5vdmVtYmVyAFNlcHRlbWJlcgBEZWNlbWJlcgBicgBwbGFuYXIAaW50cmFfcHJlZGljdGlvbl9hbmd1bGFyAHVuc2lnbmVkIGNoYXIAaGVpZl9jaHJvbWFfdXBzYW1wbGluZ19iaWxpbmVhcgBpb3NfYmFzZTo6Y2xlYXIATWFyAGhlaWZfY29sb3JzcGFjZV9ZQ2JDcgBoZWlmX2NoYW5uZWxfQ3IAaGVpZl9zdWJlcnJvcl9FbmNvZGVyX2NsZWFudXAAU2VwACVJOiVNOiVTICVwAG1vbm8AaGVpZl9maWxldHlwZV9ubwB1bmtub3duAFVua25vd24AU3VuAEp1bgBzdGQ6OmV4Y2VwdGlvbgBkZXJpdmVfc3BhdGlhbF9sdW1hX3ZlY3Rvcl9wcmVkaWN0aW9uAGhlaWZfc3ViZXJyb3JfRW5jb2Rlcl9pbml0aWFsaXphdGlvbgB1bmtub3duIGNvbG9yIGNvbmZpZ3VyYXRpb24ASW52YWxpZCBkYXRhIGluIGdlbmVyaWMgY29tcHJlc3Npb24gaW5mbGF0aW9uAEludmFsaWQgY2xlYW4tYXBlcnR1cmUgc3BlY2lmaWNhdGlvbgBoZWlmX3N1YmVycm9yX1Vuc3VwcG9ydGVkX2NvbG9yX2NvbnZlcnNpb24AVW5zdXBwb3J0ZWQgY29sb3IgY29udmVyc2lvbgBoZWlmX2dldF92ZXJzaW9uAGhlaWZfc3ViZXJyb3JfVW5zdXBwb3J0ZWRfd3JpdGVyX3ZlcnNpb24AaGVpZl9zdWJlcnJvcl9VbnN1cHBvcnRlZF9wbHVnaW5fdmVyc2lvbgBoZWlmX3N1YmVycm9yX1Vuc3VwcG9ydGVkX2RhdGFfdmVyc2lvbgBVbnN1cHBvcnRlZCBwbHVnaW4gdmVyc2lvbgBVbnN1cHBvcnRlZCBkYXRhIHZlcnNpb24ASW5zdWZmaWNpZW50IGRhdGEgcmVtYWluaW5nIGZvciBwb2ludCByZWdpb24AVW5zdXBwb3J0ZWQgYml0IGRlcHRoIGZvciBtYXNrIHJlZ2lvbgBVbnN1cHBvcnRlZCBjb2xvdXJzcGFjZSBmb3IgbWFzayByZWdpb24ASW5zdWZmaWNpZW50IGRhdGEgcmVtYWluaW5nIGZvciBpbmxpbmUgbWFzayByZWdpb24ASW5zdWZmaWNpZW50IGRhdGEgcmVtYWluaW5nIGZvciByZWZlcmVuY2VkIG1hc2sgcmVnaW9uAEluc3VmZmljaWVudCBkYXRhIHJlbWFpbmluZyBmb3IgZWxsaXBzZSByZWdpb24ASW5zdWZmaWNpZW50IGRhdGEgcmVtYWluaW5nIGZvciByZWN0YW5nbGUgcmVnaW9uAEluc3VmZmljaWVudCBkYXRhIHJlbWFpbmluZyBmb3IgcG9seWdvbgBNb24AY21pbgBFcnJvciB3aGlsZSBsb2FkaW5nIHBsdWdpbgBNYWluAE5VTEwgYXJndW1lbnQgcGFzc2VkIGluAG5hbgByZ2FuAEphbgBoZXZtAHBpdG0AY29weV9saW5lc19mcm9tAGhlaW0AaGVpZl9jaHJvbWFfdXBzYW1wbGluZ19hbGdvcml0aG0AaGVpZl9jaHJvbWFfZG93bnNhbXBsaW5nX2FsZ29yaXRobQBoZWlmX3N1YmVycm9yX05vX29yX2ludmFsaWRfcHJpbWFyeV9pdGVtAGhlaWZfc3ViZXJyb3JfTm9fcHJvcGVydGllc19hc3NpZ25lZF90b19pdGVtAE5vIG9yIGludmFsaWQgcHJpbWFyeSBpdGVtAE5vIHByb3BlcnRpZXMgYXNzaWduZWQgdG8gaXRlbQBVbnN1cHBvcnRlZCBiaXQgZGVwdGggZm9yIG1hc2sgaXRlbQBDbGVhbnVwIHByb2JsZW0ASW5pdGlhbGl6YXRpb24gcHJvYmxlbQBFbmNvZGluZyBwcm9ibGVtAGhlaWZfc3ViZXJyb3JfSW52YWxpZF9KMktfY29kZXN0cmVhbQBJbnZhbGlkIEpQRUcgMjAwMCBjb2Rlc3RyZWFtAEp1bAB1cmwAZGUyNjVfc2V0X3BhcmFtZXRlcl9ib29sAGFwcGxpY2F0aW9uL3JkZit4bWwAbGwAQXByaWwAVGh1bWJuYWlsIHJlZmVyZW5jZXMgYW5vdGhlciB0aHVtYm5haWwAQ2FuIGN1cnJlbnRseSBvbmx5IG1pcnJvciBpbWFnZXMgd2l0aCA4IGJpdHMgcGVyIHBpeGVsAENhbiBjdXJyZW50bHkgb25seSBmaWxsIGltYWdlcyB3aXRoIDggYml0cyBwZXIgcGl4ZWwAaGVpZl9jaGFubmVsAElubGluZSBtYXNrIGltYWdlIG11c3QgaGF2ZSBhIFkgY2hhbm5lbABkZWNvZGVfc2xpY2VfdW5pdF9wYXJhbGxlbABnZW5lcmFsAHNjYWxlX2NvZWZmaWNpZW50c19pbnRlcm5hbABoZWlmX2NvbXByZXNzaW9uX21hc2sAdHJhbnNmb3JtX3NraXBfOF9mYWxsYmFjawBwdXRfd2VpZ2h0ZWRfcHJlZF9hdmdfOF9mYWxsYmFjawBwdXRfd2VpZ2h0ZWRfYmlwcmVkXzhfZmFsbGJhY2sAcHV0X3Vud2VpZ2h0ZWRfcHJlZF84X2ZhbGxiYWNrAHB1dF93ZWlnaHRlZF9wcmVkXzhfZmFsbGJhY2sAdHJhbnNmb3JtX3NraXBfMTZfZmFsbGJhY2sAcHV0X3dlaWdodGVkX3ByZWRfYXZnXzE2X2ZhbGxiYWNrAHB1dF93ZWlnaHRlZF9iaXByZWRfMTZfZmFsbGJhY2sAcHV0X3Vud2VpZ2h0ZWRfcHJlZF8xNl9mYWxsYmFjawBwdXRfd2VpZ2h0ZWRfcHJlZF8xNl9mYWxsYmFjawBoZWlmX2Vycm9yX09rAGltYWdlL2hlajJrAHBpeGkARnJpAG1za2kAajJraQBoZWlmX3N1YmVycm9yX1Vuc3VwcG9ydGVkX2JpdF9kZXB0aABoZWlmX3N1YmVycm9yX1dyb25nX3RpbGVfaW1hZ2VfcGl4ZWxfZGVwdGgAdXJuOm1wZWc6bXBlZ0I6Y2ljcDpzeXN0ZW1zOmF1eGlsaWFyeTpkZXB0aABVbnN1cHBvcnRlZCBiaXQgZGVwdGgAV3JvbmcgdGlsZSBpbWFnZSBwaXhlbCBkZXB0aABkZXJpdmVfYm91bmRhcnlTdHJlbmd0aABiYWRfYXJyYXlfbmV3X2xlbmd0aABoZWlmX2ltYWdlX2hhbmRsZV9nZXRfd2lkdGgAcHVzaABNYXJjaAAuL2RlY2N0eC5oAC4uL2xpYmRlMjY1L2ltYWdlLmgALi9pbWFnZS5oAC4vaW50cmFwcmVkLmgAQXVnAGltYWdlL3BuZwB1bnNpZ25lZCBsb25nAHN0ZDo6d3N0cmluZwBiYXNpY19zdHJpbmcAc3RkOjpzdHJpbmcAc3RkOjp1MTZzdHJpbmcAc3RkOjp1MzJzdHJpbmcARmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeSBmb3IgdGhlIHR5cGUgc3RyaW5nAGludHJhX3ByZWRpY3Rpb25fc2FtcGxlX2ZpbHRlcmluZwBoZWlmX3N1YmVycm9yX0VuY29kZXJfZW5jb2RpbmcAaW1hZ2UvanBlZwBkZWNvZGVfc3BsaXRfdHJhbnNmb3JtX2ZsYWcAaW5mACdpZGVuJyBpbWFnZSByZWZlcnJpbmcgdG8gaXRzZWxmAEV4aWYAaW1hZ2UvYXZpZgBpbWFnZS9oZWlmAGlyZWYAZHJlZgAlLjBMZgAlTGYAaGVpZl9zdWJlcnJvcl9JbnZhbGlkX2JveF9zaXplAGhlaWZfc3ViZXJyb3JfSW52YWxpZF9pbWFnZV9zaXplAGlkeDxpbnRyYVByZWRNb2RlQy5kYXRhX3NpemUASW52YWxpZCBib3ggc2l6ZQBhdjFDIHdpdGggdW5zcGVjaWZpZWQgYm94IHNpemUAanBnQyBibG9jayBleGNlZWRzIG1heGltdW0gc2l6ZQBJbnZhbGlkIGltYWdlIHNpemUAQ29sb3IgcHJvZmlsZSBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAZGF0YSBsZW5ndGggbXVzdCBiZSBwb3NpdGl2ZQBpbnRlcmxlYXZlAHRydWUAaGVpZl9zdWJlcnJvcl9JbnZhbGlkX3BhcmFtZXRlcl92YWx1ZQBPdXQgb2YgcmFuZ2UgTHNpeiB2YWx1ZQBPdXQgb2YgcmFuZ2UgQ3NpeiB2YWx1ZQBJbnZhbGlkIHBhcmFtZXRlciB2YWx1ZQBPdXQgb2YgcmFuZ2UgTGNhcCB2YWx1ZQBzZXRfaW5pdFZhbHVlAFR1ZQBSZWdpb24gZGF0YSBpbmNvbXBsZXRlAE92ZXJsYXkgaW1hZ2UgZGF0YSBpbmNvbXBsZXRlAEdyaWQgaW1hZ2UgZGF0YSBpbmNvbXBsZXRlAGRlZmxhdGUAZmFsc2UAaGVpZl9pbWFnZV9oYW5kbGVfcmVsZWFzZQBoZWlmX2ltYWdlX3JlbGVhc2UAaGVpZl9zdWJlcnJvcl9JbnZhbGlkX2NsZWFuX2FwZXJ0dXJlAGdlbmVyYXRlX3VuYXZhaWxhYmxlX3JlZmVyZW5jZV9waWN0dXJlAE1haW5TdGlsbFBpY3R1cmUAaGVpZl9lcnJvcl9VbnN1cHBvcnRlZF9mZWF0dXJlAFVuc3VwcG9ydGVkIGZlYXR1cmUAaGVpZl9qc19jaGVja19maWxldHlwZQBoZWlmX2Vycm9yX1Vuc3VwcG9ydGVkX2ZpbGV0eXBlAGhlaWZfc3ViZXJyb3JfVW5rbm93bl9jb2xvcl9wcm9maWxlX3R5cGUAaGVpZl9zdWJlcnJvcl9VbnN1cHBvcnRlZF9pbWFnZV90eXBlAFVuc3VwcG9ydGVkIGZpbGUtdHlwZQB3cm9uZyBwcm9wZXJ0eSB0eXBlAFVua25vd24gY29sb3IgcHJvZmlsZSB0eXBlAFVuc3VwcG9ydGVkIGltYWdlIHR5cGUAaXNwZQBKdW5lAENvbnN0cmFpbmVkIEJhc2VsaW5lAGRlMjY1X2dldF9pbWFnZV9wbGFuZQBzY2FsaW5nIGlucHV0IGhhcyBleHRyYSBjb2xvciBwbGFuZQBDYW5ub3QgYWxsb2NhdGUgbWVtb3J5IGZvciBpbWFnZSBwbGFuZQBtb25vY2hyb21lIGlucHV0IHdpdGggbm8gWSBwbGFuZQBoZWlmX2NvbG9yc3BhY2VfbW9ub2Nocm9tZQBoZWlmX2Nocm9tYV9tb25vY2hyb21lAG1pbWUAZGVjb3VwbGUARXJyb3IgZHVyaW5nIGVuY29kaW5nIG9yIHdyaXRpbmcgb3V0cHV0IGZpbGUAaWRhdCBib3ggcmVmZXJlbmNlZCBpbiBpcmVmIGJveCBpcyBub3QgcHJlc2VudCBpbiBmaWxlACB0aWxlIGltYWdlcyBpbiBmaWxlAFVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUAaGVpZl9qc19jb250ZXh0X2dldF9wcmltYXJ5X2ltYWdlX2hhbmRsZQBoZWlmX2pzX2NvbnRleHRfZ2V0X2ltYWdlX2hhbmRsZQBoZWlmX2ltYWdlX2hhbmRsZQBoZWlmX3N1YmVycm9yX0l0ZW1fcmVmZXJlbmNlX2N5Y2xlAEltYWdlIHJlZmVyZW5jZSBjeWNsZQBkb3VibGUAcmVhZF9wcmVkX3dlaWdodF90YWJsZQBhbGxvY19hbmRfaW5pdF9zaWduaWZpY2FudF9jb2VmZl9jdHhJZHhfbG9va3VwVGFibGUAQm94IHNpemUgdG9vIGxhcmdlAHByb3BlcnR5IGluZGV4IG91dCBvZiByYW5nZQBpbnB1dCBkZXB0aCByZXByZXNlbnRhdGlvbiB0eXBlIG91dCBvZiByYW5nZQBpbG9jIGRhdGEgcG9pbnRlcnMgb3V0IG9mIGFsbG93ZWQgcmFuZ2UAbWVzc2FnZQBoZWlmX2Nocm9tYV9kb3duc2FtcGxpbmdfYXZlcmFnZQBoZWlmX2ltYWdlX2hhbmRsZV9pc19wcmltYXJ5X2ltYWdlAG5ld19pbWFnZQBmaWxsX2Zyb21faW1hZ2UAaGVpZl9pbWFnZQBhbGxvY19pbWFnZQBObyBpcmVmIGJveCBhdmFpbGFibGUsIGJ1dCBuZWVkZWQgZm9yIGlkZW4gaW1hZ2UAUmVnaW9uIG1hc2sgcmVmZXJlbmNlZCBpdGVtIGlzIG5vdCBhbiBpbWFnZQBObyBpcmVmIGJveCBhdmFpbGFibGUsIGJ1dCBuZWVkZWQgZm9yIGlvdmwgaW1hZ2UAUmVnaW9uIGl0ZW0gYXNzaWduZWQgdG8gbm9uLWV4aXN0aW5nIGltYWdlAGBwcmVtYCBsaW5rIGFzc2lnbmVkIHRvIG5vbi1leGlzdGluZyBpbWFnZQBNZXRhZGF0YSBhc3NpZ25lZCB0byBub24tZXhpc3RpbmcgaW1hZ2UAJ3BpdG0nIGJveCByZWZlcmVuY2VzIGEgbm9uLWV4aXN0aW5nIGltYWdlAFRodW1ibmFpbCByZWZlcmVuY2VzIGEgbm9uLWV4aXN0aW5nIGltYWdlAE5vIHZ2Y0MgcHJvcGVydHkgaW4gdnZjMSB0eXBlIGltYWdlAE5vIGh2Y0MgcHJvcGVydHkgaW4gaHZjMSB0eXBlIGltYWdlAEdyaWQgdGlsZXMgZG8gbm90IGNvdmVyIHdob2xlIGltYWdlACdpZGVuJyBpbWFnZSB3aXRoIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIGltYWdlAE5vIGlyZWYgYm94IGF2YWlsYWJsZSwgYnV0IG5lZWRlZCBmb3IgZ3JpZCBpbWFnZQBJbWFnZSB0aWxlIGhhcyBkaWZmZXJlbnQgY2hyb21hIGZvcm1hdCB0aGFuIGNvbWJpbmVkIGltYWdlAGluZmUAcmVhZF90cmFuc2Zvcm1fdHJlZQBoZWlmX2NvbnRleHRfZnJlZQBkZWNvZGVfcGFydF9tb2RlAGRlY29kZQBzdWJjb2RlAGhlaWZfc3ViZXJyb3JfY29kZQBoZWlmX2Vycm9yX2NvZGUAUHJlZE1vZGUgPT0gY3VQcmVkTW9kZQBzdHJpZGUAaW1hZ2UvYXZpZi1zZXF1ZW5jZQBpbWFnZS9oZWlmLXNlcXVlbmNlAGltYWdlL2hlaWMtc2VxdWVuY2UAUmVnaW9uIG1hc2sgcmVmZXJlbmNlIHdpdGggbm9uLWV4aXN0aW5nIG1hc2sgaW1hZ2UgcmVmZXJlbmNlAGhlaWZfY29sb3JzcGFjZQBoZWlmX2ZpbGV0eXBlX21heWJlAGhlaWZfc3ViZXJyb3JfVW5zdXBwb3J0ZWRfaXRlbV9jb25zdHJ1Y3Rpb25fbWV0aG9kAGhlaWZfc3ViZXJyb3JfVW5zdXBwb3J0ZWRfaGVhZGVyX2NvbXByZXNzaW9uX21ldGhvZABoZWlmX3N1YmVycm9yX1Vuc3VwcG9ydGVkX2dlbmVyaWNfY29tcHJlc3Npb25fbWV0aG9kAFVuc3VwcG9ydGVkIGl0ZW0gY29uc3RydWN0aW9uIG1ldGhvZABVbnN1cHBvcnRlZCBoZWFkZXIgY29tcHJlc3Npb24gbWV0aG9kAFVuc3VwcG9ydGVkIGdlbmVyaWMgY29tcHJlc3Npb24gbWV0aG9kACUwKmxsZAAlKmxsZAArJWxsZAAlKy40bGQAZ3JpZAB2b2lkAE5VTEwgYXJndW1lbnQgcmVjZWl2ZWQAaGVpZl9jaGFubmVsX2ludGVybGVhdmVkAGhlaWZfZmlsZXR5cGVfeWVzX3Vuc3VwcG9ydGVkAGhlaWZfZmlsZXR5cGVfeWVzX3N1cHBvcnRlZABUaGUgdmVyc2lvbiBvZiB0aGUgcGFzc2VkIHdyaXRlciBpcyBub3Qgc3VwcG9ydGVkAFRoZSB2ZXJzaW9uIG9mIHRoZSBwYXNzZWQgcGx1Z2luIGlzIG5vdCBzdXBwb3J0ZWQAcGNsciBtb3JlIHRoYW4gMTYgYml0cyBwZXIgY2hhbm5lbCBpcyBub3Qgc3VwcG9ydGVkAHBjbHIgd2l0aCBzaWduZWQgZGF0YSBpcyBub3Qgc3VwcG9ydGVkAFBsdWdpbnMgYXJlIG5vdCBzdXBwb3J0ZWQAQ2hhbm5lbHMgd2l0aCBkaWZmZXJlbnQgbnVtYmVyIG9mIGJpdHMgcGVyIHBpeGVsIGFyZSBub3Qgc3VwcG9ydGVkAGNvbHIgYm94ZXMgd2l0aCB1bmRlZmluZWQgYm94IHNpemUgYXJlIG5vdCBzdXBwb3J0ZWQAanBnQyB3aXRoIHVuc3BlY2lmaWVkIHNpemUgYXJlIG5vdCBzdXBwb3J0ZWQAbG9jYWxlIG5vdCBzdXBwb3J0ZWQARGVmbGF0ZSBjb21wcmVzc2VkIGlubGluZSBtYXNrIGlzIG5vdCB5ZXQgc3VwcG9ydGVkAHNjYWxpbmcgbGlzdCBsb2dnaW5nIG91dHB1dCBub3QgaW1wbGVtZW50ZWQAUmVjdXJzaXZlIGF1eCBpbWFnZSBkZXRlY3RlZABSZWN1cnNpdmUgdGh1bWJuYWlsIGltYWdlIGRldGVjdGVkAFJlY3Vyc2l2ZSBkZXB0aCBpbWFnZSBkZXRlY3RlZABSZWN1cnNpdmUgYWxwaGEgaW1hZ2UgZGV0ZWN0ZWQAaGVpZl9jb21wcmVzc2lvbl91bmNvbXByZXNzZWQATlVMTCBwYXNzZWQAaGVpZl9zdWJlcnJvcl9DYW1lcmFfZXh0cmluc2ljX21hdHJpeF91bmRlZmluZWQAaGVpZl9zdWJlcnJvcl9DYW1lcmFfaW50cmluc2ljX21hdHJpeF91bmRlZmluZWQAaGVpZl9jb21wcmVzc2lvbl91bmRlZmluZWQAaGVpZl9jb2xvcnNwYWNlX3VuZGVmaW5lZABoZWlmX2Nocm9tYV91bmRlZmluZWQAQ2FtZXJhIGV4dHJpbnNpYyBtYXRyaXggdW5kZWZpbmVkAENhbWVyYSBpbnRyaW5zaWMgbWF0cml4IHVuZGVmaW5lZABoZWlmX3N1YmVycm9yX05vX21hdGNoaW5nX2RlY29kZXJfaW5zdGFsbGVkAG11dGV4IGxvY2sgZmFpbGVkAGhlaWZfc3ViZXJyb3JfQXV4aWxpYXJ5X2ltYWdlX3R5cGVfdW5zcGVjaWZpZWQAVHlwZSBvZiBhdXhpbGlhcnkgaW1hZ2UgdW5zcGVjaWZpZWQAaGVpZl9zdWJlcnJvcl9VbnNwZWNpZmllZABoZWlmX3N1YmVycm9yX1NlY3VyaXR5X2xpbWl0X2V4Y2VlZGVkAFNlY3VyaXR5IGxpbWl0IGV4Y2VlZGVkAFNlY3VyaXR5IGxpbWl0IGZvciBtYXhpbXVtIG5lc3Rpbmcgb2YgYm94ZXMgaGFzIGJlZW4gZXhjZWVkZWQAaGVpZl9zdWJlcnJvcl9QbHVnaW5faXNfbm90X2xvYWRlZABUcnlpbmcgdG8gcmVtb3ZlIGEgcGx1Z2luIHRoYXQgaXMgbm90IGxvYWRlZABQbHVnaW4gZmlsZSBjYW5ub3QgYmUgbG9hZGVkAGhlaWZfc3ViZXJyb3JfTm9uZXhpc3RpbmdfaXRlbV9yZWZlcmVuY2VkAGhlaWZfc3ViZXJyb3JfTm9uZXhpc3RpbmdfaW1hZ2VfY2hhbm5lbF9yZWZlcmVuY2VkAE5vbi1leGlzdGluZyBpbWFnZSBjaGFubmVsIHJlZmVyZW5jZWQATm9uLWV4aXN0aW5nIGF1eCBpbWFnZSByZWZlcmVuY2VkAE5vbi1leGlzdGluZyBkZXB0aCBpbWFnZSByZWZlcmVuY2VkAE5vbmV4aXN0ZW50IGdyaWQgaW1hZ2UgcmVmZXJlbmNlZABOb24tZXhpc3RpbmcgYWxwaGEgaW1hZ2UgcmVmZXJlbmNlZABOb24tZXhpc3RpbmcgaXRlbSBJRCByZWZlcmVuY2VkAFdlZABzcHMtPnNwc19yZWFkAHBwcy0+cHBzX3JlYWQAc2xpY2Utc2VnbWVudC0lZDslZABjdGItcm93LSVkAHNhby0lZAAlWS0lbS0lZABkZWJsb2NrLSVkAColZABoZXZjAGhlaWZfY29udGV4dF9hbGxvYwBzdGQ6OmJhZF9hbGxvYwBpbG9jAGN0eElkeExvb2t1cFtsb2cydy0yXVtjSWR4XVtzY2FuSWR4XVtwcmV2Q3NiZl1beEMrKHlDPDxsb2cydyldID09IGN0eElkeEluYwBnZXRfdXZsYwB2dmljAGltYWdlL2hlaWMAaGVpZl9zdWJlcnJvcl9VbnN1cHBvcnRlZF9jb2RlYwBNaXNzaW5nIHJlcXVpcmVkIGJveCBmb3IgbWFzayBjb2RlYwBVbnN1cHBvcnRlZCBjb2RlYwBEZWMAZGVjY3R4LmNjAGZhbGxiYWNrLWRjdC5jYwB2cHMuY2MAc3BzLmNjAHBwcy5jYwBuYWwtcGFyc2VyLmNjAGZhbGxiYWNrLW1vdGlvbi5jYwB0cmFuc2Zvcm0uY2MAYml0c3RyZWFtLmNjAGNvbnRleHRtb2RlbC5jYwBkZWJsb2NrLmNjAGltYWdlLmNjAHNsaWNlLmNjAHJlZnBpYy5jYwBjYWJhYy5jYwBkcGIuY2MAZGUyNjUuY2MAd2IAcmIAY29tcHJlc3NfemxpYgBGZWIAYWIAaGVpZl9jaGFubmVsX0NiAHcrYgByK2IAYStiAHJ3YQBtZXRhAGRlY291cGxlX29yX2FsbG9jX3dpdGhfZW1wdHlfZGF0YQBoZWlmX3N1YmVycm9yX0ludmFsaWRfb3ZlcmxheV9kYXRhAGhlaWZfc3ViZXJyb3JfQ2Fubm90X3dyaXRlX291dHB1dF9kYXRhAGhlaWZfc3ViZXJyb3JfSW52YWxpZF9yZWdpb25fZGF0YQBoZWlmX3N1YmVycm9yX05vX2l0ZW1fZGF0YQBoZWlmX3N1YmVycm9yX0VuZF9vZl9kYXRhAGhlaWZfc3ViZXJyb3JfSW52YWxpZF9ncmlkX2RhdGEAaGVpZl9zdWJlcnJvcl9EZWNvbXByZXNzaW9uX2ludmFsaWRfZGF0YQBJbnZhbGlkIG92ZXJsYXkgZGF0YQBDYW5ub3Qgd3JpdGUgb3V0cHV0IGRhdGEAaW5zdWZmaWNpZW50IGlucHV0IGRhdGEASXRlbSBoYXMgbm8gZGF0YQBJbnZhbGlkIHJlZ2lvbiBpdGVtIGRhdGEATGVzcyB0aGFuIDggYnl0ZXMgb2YgZGF0YQBJbnZhbGlkIGdyaWQgZGF0YQAgaGFzIG5vIGNvbXByZXNzZWQgZGF0YQBpcG1hAGhlaWZfY2hyb21hAG1jX2Nocm9tYQB1cm46bXBlZzptcGVnQjpjaWNwOnN5c3RlbXM6YXV4aWxpYXJ5OmFscGhhAGhlaWZfY2hhbm5lbF9BbHBoYQBPdmVybGF5IGltYWdlIG91dHNpZGUgb2YgY2FudmFzIGFyZWEASW5zdWZmaWNpZW50IGRhdGEgcmVtYWluaW5nIGZvciBpbmxpbmUgbWFzayByZWdpb24gZGF0YVtdACAgcSA9IFsAbGF5ZXItc2l6ZXM6IFsAaGVpZl9jaGFubmVsX1kAJWEgJWIgJWQgJUg6JU06JVMgJVkAUE9TSVgAZmlyc3RMYXllclJlYWQgPCBNQVhfVEVNUE9SQUxfU1VCTEFZRVJTAFZQUwBTUFMAUFBTAFNVRkZJWF9BUFMAUFJFRklYX0FQUwBqPj0wICYmIGogPCBNQVhfTlVNX1JFRl9QSUNTACVIOiVNOiVTAGhlaWZfY2hhbm5lbF9SAGRlY29kZV9zbGljZV91bml0X1dQUABOQU4AUE0AU0VDQU0AJUg6JU0AdGhyZWFkX2NvbnRleHRzPT1OVUxMAHBlbmRpbmdfaW5wdXRfTkFMID09IE5VTEwATENfQUxMAFBBTABwdXNoX05BTABoZWlmX2NvbXByZXNzaW9uX0hUSjJLAE9QSQBBU0NJSQBEQ0kAUEgAaGVpZl9jaGFubmVsX0cATEFORwBoZWlmX2NvbXByZXNzaW9uX0pQRUcASU5GAG5UIDw9IE1BWF9JTlRSQV9QUkVEX0JMT0NLX1NJWkUAaGVpZl9jaHJvbWFfaW50ZXJsZWF2ZWRfUlJHR0JCX0xFAGhlaWZfY2hyb21hX2ludGVybGVhdmVkX1JSR0dCQkFBX0xFAGhlaWZfY2hyb21hX2ludGVybGVhdmVkX1JSR0dCQl9CRQBoZWlmX2Nocm9tYV9pbnRlcmxlYXZlZF9SUkdHQkJBQV9CRQBhdXhDAHNwcy0+U3ViSGVpZ2h0QyA9PSBTdWJIZWlnaHRDAHNwcy0+U3ViV2lkdGhDID09IFN1YldpZHRoQwBzZXRfSW50cmFQcmVkTW9kZUMAaGVpZl9jb21wcmVzc2lvbl9WVkMAaGVpZl9jb21wcmVzc2lvbl9FVkMAaGVpZl9jb21wcmVzc2lvbl9IRVZDAGhlaWZfY29tcHJlc3Npb25fQVZDAE5UU0MATUFDAGhlaWZfY2hhbm5lbF9CAHNoZHItPnNsaWNlX3R5cGUgPT0gU0xJQ0VfVFlQRV9CAGhlaWZfY29sb3JzcGFjZV9SR0IAaGVpZl9jaHJvbWFfaW50ZXJsZWF2ZWRfUkdCAGhlaWZfY2hyb21hX2ludGVybGVhdmVkX1JHQkEAPwBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgc2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgaW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxmbG9hdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDY0X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDY0X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBjaGFyPgBzdGQ6OmJhc2ljX3N0cmluZzx1bnNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZG91YmxlPgA7aW5kZXg9AE5vbmV4aXN0aW5nIHByb3BlcnR5IChpbmRleD0ASXRlbSAoSUQ9AFRpbGUgaW1hZ2UgSUQ9ADsAY29uZmlnIE9CVXM6AGdlbmVyYWwgbGV2ZWw6ADAxMjM0NTY3ODkAQy5VVEYtOAByZWY8NwBoZHItPm51bV9yZWZfaWR4X2wxX2FjdGl2ZSA8PSAxNgBoZHItPm51bV9yZWZfaWR4X2wwX2FjdGl2ZSA8PSAxNgBpbWctPkJpdERlcHRoX1kgPj0gOCAmJiBpbWctPkJpdERlcHRoX1kgPD0gMTYAaW1nLT5CaXREZXB0aF9DID49IDggJiYgaW1nLT5CaXREZXB0aF9DIDw9IDE2AGxpYmRlMjY1AGludHJhUHJlZE1vZGU8MzUAMS4wLjE1AEhpZ2ggNDo0OjQAQ0FMVkMgNDo0OjQAaGVpZl9jaHJvbWFfNDQ0AHNjYWxpbmdfbGlzdF9wcmVkX21hdHJpeF9pZF9kZWx0YT09MwBoZWlmX2pzX2RlY29kZV9pbWFnZTIAaW50cmFQcmVkTW9kZT49MgBudW1NVlBDYW5kTFg9PTIAdXJuOm1wZWc6aGV2YzoyMDE1OmF1eGlkOjIASGlnaCA0OjI6MgBtb2RlbFtpXS5zdGF0ZSA8PSA2MgBuVDw9MzIAaGVpZl9jaHJvbWFfNDIyADEuMTguMgBjb250ZXh0ID49IDAgJiYgY29udGV4dCA8PSAyAGNoYW5uZWw+PTAgJiYgY2hhbm5lbCA8PSAyAGluaXRUeXBlID49IDAgJiYgaW5pdFR5cGUgPD0gMgBqMmsxAG1zZjEAbWlmMQB2dmMxAGh2YzEAaGVpZl9jb21wcmVzc2lvbl9BVjEAcmVmUGljUTA9PXJlZlBpY1ExACpyZWZjbnQ+MQBsb2cyV0Q+PTEAdXJuOm1wZWc6aGV2YzoyMDE1OmF1eGlkOjEAdXJuOm1wZWc6YXZjOjIwMTU6YXV4aWQ6MQBhdjAxAGNiZl9jciAhPSAtMQBjYmZfY2IgIT0gLTEAY2JmX2x1bWEgIT0gLTEAbXNraSBlcnJvciAxAHZhbHVlPjAAUklkeD49MAByZWZQaWNMaXN0Pj0wAHRpbGVYPj0wICYmIHRpbGVZPj0wAHJkcGNtTW9kZT09MAAod2lkdGgmMSk9PTAANDoyOjAAaGVpZl9jaHJvbWFfNDIwAE1haW4xMABIaWdoIDEwAGhlaWZfY29tcHJlc3Npb25fSlBFRzIwMDAAbGVuZ3RoID49IDAAblRocmVhZHNSdW5uaW5nID49IDAAZmlyc3QgJSAyID09IDAAZW5kICUgMiA9PSAwAGltZy0+bnVtX3RocmVhZHNfYWN0aXZlKCkgPT0gMAAvAENhbm5vdCBhbGxvY2F0ZSBpbWFnZSBtZW1vcnkuAEludmFsaWQgYml0cyBwZXIgcGl4ZWwgaW4gcGl4aSBib3guAFRvbyBtYW55IGVudGl0aWVzIGluIGRyZWYgYm94LgBOdW1iZXIgb2YgaXJlZiByZWZlcmVuY2VzIGV4Y2VlZHMgc2VjdXJpdHkgbGltaXQuAE92ZXJsYXkgaW1hZ2Ugd2l0aCB6ZXJvIHdpZHRoIG9yIGhlaWdodC4AVG9vIG1hbnkgVlZDIE5BTCBhcnJheXMuAFRvbyBtYW55IFZWQyBOQUwgdW5pdHMuACBpdGVtcy4AaGVpZl9pbWFnZV9jcmVhdGU6IE5VTEwgcGFzc2VkIGFzIGltYWdlIHBvaW50ZXIuAEludmFsaWQgY29sb3JzcGFjZS9jaHJvbWEgY29tYmluYXRpb24uAFRvbyBtYW55IHJlZ2lvbnMgKD4yNTUpIGluIGFuICdyZ2FuJyBpdGVtLgBEaWZmZXJlbnQgbnVtYmVyIG9mIGJpdHMgcGVyIHBpeGVsIGluIGVhY2ggY2hhbm5lbC4ATm8gcGl4aSBpbmZvcm1hdGlvbiBmb3IgbHVtYSBjaGFubmVsLgBWVkMgTkFMIHRvbyBsYXJnZS4AVkNDIGJpdCBkZXB0aCBvdXQgb2YgcmFuZ2UuAEV4Y2VlZGVkIHN1cHBvcnRlZCB2YWx1ZSByYW5nZS4AIGlzIG5vdCBhIHByb3BlciBpbWFnZS4AVGh1bWJuYWlsIGltYWdlcyBtdXN0IGJlIHNtYWxsZXIgdGhhbiB0aGUgb3JpZ2luYWwgaW1hZ2UuAE5vIHN1cHBvcnRlZCBicmFuZHMgZm91bmQuAHZ2Y0Mgd2l0aCBudW1fYnl0ZXNfY29uc3RyYWludF9pbmZvPT0wIGlzIG5vdCBhbGxvd2VkLgAgZXhjZWVkZWQuAENvdWxkIG5vdCBmaW5kIGxvY2F0aW9uIG9mIFRJRkYgaGVhZGVyIGluIEV4aWYgbWV0YWRhdGEuAC0AKiwAdysAcisAYSsASW52YWxpZCBjb2xvcl9wcm9maWxlX3R5cGUgKG11c3QgYmUgNCBjaGFyYWN0ZXJzKQAoZnJvbSBwcHMpAGZ0eXAgYm94IHRvbyBzbWFsbCAobGVzcyB0aGFuIDggYnl0ZXMpAE1pc3NpbmcgcmVxdWlyZWQgaGVhZGVyIG1hcmtlcihzKQAodW5rbm93bikAKG51bGwpAGRwYi5oYXNfZnJlZV9kcGJfcGljdHVyZSh0cnVlKQAob3ZlcnJpZGUpAGN0eC0+aGFzX2ltYWdlKGNvbFBpYykAKGZyb20gUFBTKQBTUFMgbWF4IHBpY3R1cmUgd2lkdGggb3IgaGVpZ2h0IGV4Y2VlZHMgbWF4aW11bSAoNjU1MzUpACEodHJhZm9EZXB0aD09MCAmJiBsb2cyVHJhZm9TaXplPT0yKQAhcmVvcmRlcl9vdXRwdXRfcXVldWUuZW1wdHkoKQBSSWR4ID49IDAgJiYgUklkeCA8IHNldHMuc2l6ZSgpAE51bWJlciBvZiBleHRlbnRzIGluIGlsb2MgYm94ICgAKSBleGNlZWRzIHNlY3VyaXR5IGxpbWl0ICgAQm94IHNpemUgKAAgYnl0ZXMpIHNtYWxsZXIgdGhhbiBoZWFkZXIgc2l6ZSAoAHdoaXRlIHBvaW50ICh4LHkpOiAoAHJlZmVyZW5jZSB3aXRoIHR5cGUgJwAlAFB1cmUgdmlydHVhbCBmdW5jdGlvbiBjYWxsZWQhAHwgACB0aWxlcywgYnV0IG9ubHkgACB4IABpbG9jIGJveCBjb250YWlucyAATWF4aW11bSBudW1iZXIgb2YgY2hpbGQgYm94ZXMgAEV4dGVudCBpbiBpbG9jIGJveCByZWZlcmVuY2VzIGRhdGEgb3V0c2lkZSBvZiBmaWxlIGJvdW5kcyAAbGF5ZXIgAChwb2ludHMgdG8gZmlsZSBwb3NpdGlvbiAAb3JpZW50YXRpb24gAEdyaWQgaW1hZ2UgdmVyc2lvbiAAIGJveCBkYXRhIHZlcnNpb24gAE92ZXJsYXkgaW1hZ2UgZGF0YSB2ZXJzaW9uIAAsIHZlcnNpb24gACkgZm9yIGl0ZW0gAHVyaSAAVGlsZWQgaW1hZ2Ugd2l0aCAAIGl0ZW1zLCB3aGljaCBleGNlZWRzIHRoZSBzZWN1cml0eSBsaW1pdCBvZiAAIGJ5dGVzLCBleGNlZWRpbmcgdGhlIHNlY3VyaXR5IGxpbWl0IG9mIABpbnZhbGlkIGJveCBzaXplIABCb3ggc2l6ZSAAIGV4Y2VlZHMgdGhlIG1heGltdW0gaW1hZ2Ugc2l6ZSAASW1hZ2Ugc2l6ZSAATm8gYXV4QyBwcm9wZXJ0eSBmb3IgaW1hZ2UgACBieXRlcywgdG90YWwgbWVtb3J5IHNpemUgd291bGQgYmUgAEl0ZW0gY29uc3RydWN0aW9uIG1ldGhvZCAAaWRhdCBib3ggY29udGFpbmVkIABpbG9jIGJveCBjb250YWluZWQgAColZCAAKiVkJWMgAEl0ZW0gd2l0aCBJRCAAIDsgAHByb2ZpbGVfY29tcGF0aWJpbGl0eTogAGluaXRpYWxfcHJlc2VudGF0aW9uX2RlbGF5OiAAY2hyb21hX3N1YnNhbXBsaW5nX3k6IABCb3g6IABjb21wb25lbnRfaW5kZXg6IABpdGVtX3Byb3RlY3Rpb25faW5kZXg6IABjaGFubmVsX2luZGV4OiAAICBkYXRhX3JlZmVyZW5jZV9pbmRleDogAG9scy1pbmRleDogAG9wLWluZGV4OiAAcHJvcGVydHkgaW5kZXg6IABjaHJvbWFfc3Vic2FtcGxpbmdfeDogAHNrZXc6IABwcmluY2lwYWwtcG9pbnQ6IAB0d2VsdmVfYml0OiAAbWF4IHBpY3R1cmUgaGVpZ2h0OiAAaW1hZ2UgaGVpZ2h0OiAAICBiYXNlX29mZnNldDogAGNocm9tYV9mb3JtYXQ6IABjaHJvbWEtZm9ybWF0OiAAbnVtIG9mIGFycmF5czogACAgZXh0ZW50czogAG1hdHJpeF9jb2VmZmljaWVudHM6IABhcnJheV9jb21wbGV0ZW5lc3M6IABhcnJheSBjb21wbGV0ZW5lc3M6IABudW0gc3VibGF5ZXJzOiAAbnVtX3RlbXBvcmFsX2xheWVyczogACwgZGVjb2RlX2xheWVyczogACwgZGlzY2FyZF9sZXZlbHM6IAB0YWdzOiAAICAlc19wcm9maWxlX2NvbXBhdGliaWxpdHlfZmxhZ3M6IABnZW5lcmFsX3Byb2ZpbGVfY29tcGF0aWJpbGl0eV9mbGFnczogAGdlbmVyYWxfY29uc3RyYWludF9pbmRpY2F0b3JfZmxhZ3M6IABudW0gYnl0ZXM6IABudW1iZXIgb2YgZGF0YSBieXRlczogAGF1eCBzdWJ0eXBlczogAHwgdGlsZXM6IABjb2xvdXJfcHJpbWFyaWVzOiAAdGlsZSByb3cgYm91bmRhcmllczogAHRpbGUgY29sdW1uIGJvdW5kYXJpZXM6IABjb21wYXRpYmxlIGJyYW5kczogAHRyYW5zZmVyX2NoYXJhY3RlcmlzdGljczogAGVudGl0eSBJRHM6IAAgdG8gSURzOiAALCBwYWxldHRlX2NvbG91cjogAGRlc2NyaXB0aW9uOiAAY2hyb21hX3NhbXBsZV9wb3NpdGlvbjogAG1pcnJvciBkaXJlY3Rpb246IAByb3RhdGlvbjogACwgY2hhbm5lbF9hc3NvY2lhdGlvbjogAGxvY2F0aW9uOiAAQVZDTGV2ZWxJbmRpY2F0aW9uOiAAQVZDUHJvZmlsZUluZGljYXRpb246IABjb25maWd1cmF0aW9uX3ZlcnNpb246IABtaW5vciB2ZXJzaW9uOiAAaGlkZGVuIGl0ZW06IABiaXRzX3Blcl9waXhlbDogAG1heF9jb250ZW50X2xpZ2h0X2xldmVsOiAAbWF4X3BpY19hdmVyYWdlX2xpZ2h0X2xldmVsOiAAYml0c19wZXJfY2hhbm5lbDogACAoZXNzZW50aWFsOiAAaGlnaF9iaXRkZXB0aDogAGJpdC1kZXB0aDogAGZvY2FsLWxlbmd0aDogAGltYWdlIHdpZHRoOiAAICBwaXRjaDogAHwgYmlubmluZzogAGNvbnRlbnRfZW5jb2Rpbmc6IAB2U3BhY2luZzogAGhTcGFjaW5nOiAAbGFuZzogAGdlbmVyYWxfdGllcl9mbGFnOiAAZnVsbF9yYW5nZV9mbGFnOiAAcHRsIGZyYW1lIG9ubHkgY29uc3RyYWludCBmbGFnOiAAdGllciBmbGFnOiAAcHRsIG11bHRpIGxheWVyIGVuYWJsZWQgZmxhZzogAGxlbmd0aF9zaXplOiAAICAgKGhlYWRlciBzaXplOiAATkFMIGxlbmd0aCBzaXplOiAAdGlsZSBzaXplOiAAcHJvZmlsZSBzaXplOiAAdW5oYW5kbGVkIGV4dGVuZGVkIGNhcGFiaWxpdGllcyB2YWx1ZTogAGNvbnN0YW50X2ZyYW1lX3JhdGU6IABhdmdfZnJhbWVfcmF0ZTogAGNvbnN0YW50IGZyYW1lIHJhdGU6IABjbGVhbl9hcGVydHVyZTogAGNvbnRlbnRfdHlwZTogAE5BTF91bml0X3R5cGU6IABjb2xvdXJfdHlwZTogAGhhbmRsZXJfdHlwZTogAHBhcmFsbGVsaXNtX3R5cGU6IABpdGVtX3R5cGU6IAAsIGNoYW5uZWxfdHlwZTogACwgbWFwcGluZ190eXBlOiAAYXV4IHR5cGU6IABpdGVtIHVyaSB0eXBlOiAATkFMIHR5cGU6IABpdGVtX25hbWU6IABzZXFfcHJvZmlsZTogAGdlbmVyYWwgcHJvZmlsZTogAEVycm9yIG9wZW5pbmcgZmlsZTogAG1heCBkaXNwbGF5IG1hc3RlcmluZyBsdW1pbmFuY2U6IABtaW4gZGlzcGxheSBtYXN0ZXJpbmcgbHVtaW5hbmNlOiAAZ2VuZXJhbF9wcm9maWxlX3NwYWNlOiAAICBjb25zdHJ1Y3Rpb24gbWV0aG9kOiAAbWFqb3IgYnJhbmQ6IABsYXllcl9pZDogAGdyb3VwIGlkOiAAd29ybGQgY29vcmRpbmF0ZSBzeXN0ZW0gaWQ6IAB0ZW1wb3JhbF9pZF9uZXN0ZWQ6IABwcmVfZGVmaW5lZDogAG1pbl9zcGF0aWFsX3NlZ21lbnRhdGlvbl9pZGM6IABnZW5lcmFsX2xldmVsX2lkYzogAGdlbmVyYWxfcHJvZmlsZV9pZGM6IABkYXRhOiAAYml0X2RlcHRoX2x1bWE6IABiaXRfZGVwdGhfY2hyb21hOiAAcmVmX3BpY19zZXRbICUyZCBdOiAAU1BTOiAAUFBTOiAARVJSOiAASU5GTzogAE5FOiAAaXRlbV9JRDogACBmcm9tIElEOiAAYXNzb2NpYXRpb25zIGZvciBpdGVtIElEOiAAcmlnaHQgaW1hZ2UgSUQ6IABsZWZ0IGltYWdlIElEOiAALCBOUEM6IAAsIEI6IABzZXFfbGV2ZWxfaWR4XzA6IABkaXNwbGF5X3ByaW1hcmllcyAoeCx5KTogAGNhbWVyYSBwb3NpdGlvbiAodW0pOiAAKSwgACAgcm9sbDogIABtYXggcGljdHVyZSB3aWR0aDogIAAgIHlhdzogICAAICAgICAgAG5vIHNrZXcKAG5vdCBwcmVzZW50CgBTUFMgZXJyb3I6IENCIGFsaWdubWVudAoAJXAgaW5pdAoAKiVzCgBzbGljZV9kZWJsb2NraW5nX2ZpbHRlcl9kaXNhYmxlZF9mbGFnIDogJWQgJXMKAG51bV9yZWZfaWR4X2wxX2FjdGl2ZSAgICAgICAgICA6ICVkICVzCgBudW1fcmVmX2lkeF9sMF9hY3RpdmUgICAgICAgICAgOiAlZCAlcwoAICAlc19wcm9maWxlX2lkYyAgICAgICA6ICVzCgAgIHZpZGVvX2Zvcm1hdCAgICAgICAgICAgICAgICA6ICVzCgAlcCBkZXN0cnVjdG9yCgAlcCByZWxlYXNlICVwCgBtZnJlZSAlcAoAJXAgYyd0b3IgPSAlcAoAJXAgYXNzaWduID0gJXAKAGhvcml6b250YWwKAHZlcnRpY2FsCgBTUFMgZXJyb3I6IHRyYW5zZm9ybSBoaWVyYXJjaHkgZGVwdGggKGludGVyKSA+IENUQiBzaXplIC0gbWluIFRCIHNpemUKAFNQUyBlcnJvcjogdHJhbnNmb3JtIGhpZXJhcmNoeSBkZXB0aCAoaW50cmEpID4gQ1RCIHNpemUgLSBtaW4gVEIgc2l6ZQoAbm8gY29sb3IgcHJvZmlsZQoAbnVtYmVyIG9mIGRhdGEgYnl0ZXMgaXMgaW52YWxpZAoAaW52YWxpZCBTUFMgcmVmZXJlbmNlZAoAaW52YWxpZCBQUFMgcmVmZXJlbmNlZAoAUFBTICVkIGhhcyBub3QgYmVlbiByZWFkCgBzYW1wbGUgYXNwZWN0IHJhdGlvICAgICAgICA6ICVkOiVkCgBMYXllciAlZAoAdnBzX251bV9sYXllcl9zZXRzID0gJWQKAHZwc19udW1fdW5pdHNfaW5fdGljayA9ICVkCgBsYXllciAlZDogdnBzX21heF9kZWNfcGljX2J1ZmZlcmluZyA9ICVkCgBsYXllciAoYWxsKTogdnBzX21heF9kZWNfcGljX2J1ZmZlcmluZyA9ICVkCgB2cHNfdGltaW5nX2luZm9fcHJlc2VudF9mbGFnID0gJWQKAHZwc19leHRlbnNpb25fZmxhZyA9ICVkCgB2cHNfcG9jX3Byb3BvcnRpb25hbF90b190aW1pbmdfZmxhZyA9ICVkCgB2cHNfbnVtX3RpY2tzX3BvY19kaWZmX29uZSA9ICVkCgBocmRfbGF5ZXJfc2V0X2lkeFslZF0gPSAlZAoAbGF5ZXJfaWRfaW5jbHVkZWRfZmxhZ1slZF1bJWRdID0gJWQKACAgICAgICAgICAgICB2cHNfbWF4X251bV9yZW9yZGVyX3BpY3MgID0gJWQKACAgICAgICAgICAgICB2cHNfbWF4X2xhdGVuY3lfaW5jcmVhc2UgID0gJWQKAHZwc19tYXhfbGF5ZXJfaWQgICA9ICVkCgB2cHNfbnVtX2hyZF9wYXJhbWV0ZXJzICAgICA9ICVkCgB2cHNfdGltZV9zY2FsZSAgICAgICAgPSAlZAoAY29uZl93aW5fYm90dG9tX29mZnNldDogJWQKAGNocm9tYV9sb2NfaW5mb19wcmVzZW50X2ZsYWc6ICVkCgBsaXN0c19tb2RpZmljYXRpb25fcHJlc2VudF9mbGFnOiAlZAoAZGVibG9ja2luZ19maWx0ZXJfY29udHJvbF9wcmVzZW50X2ZsYWc6ICVkCgB2aWRlb19zaWduYWxfdHlwZV9wcmVzZW50X2ZsYWc6ICVkCgBwaWNfc2NhbGluZ19saXN0X2RhdGFfcHJlc2VudF9mbGFnOiAlZAoAcGljX2Rpc2FibGVfZGVibG9ja2luZ19maWx0ZXJfZmxhZzogJWQKAG5ldXRyYWxfY2hyb21hX2luZGljYXRpb25fZmxhZzogJWQKAHVuaWZvcm1fc3BhY2luZ19mbGFnOiAlZAoAdHJhbnNxdWFudF9ieXBhc3NfZW5hYmxlX2ZsYWc6ICVkCgBjb25zdHJhaW5lZF9pbnRyYV9wcmVkX2ZsYWc6ICVkCgBwcHNfbG9vcF9maWx0ZXJfYWNyb3NzX3NsaWNlc19lbmFibGVkX2ZsYWc6ICVkCgB0cmFuc2Zvcm1fc2tpcF9lbmFibGVkX2ZsYWc6ICVkCgBkZWJsb2NraW5nX2ZpbHRlcl9vdmVycmlkZV9lbmFibGVkX2ZsYWc6ICVkCgBlbnRyb3B5X2NvZGluZ19zeW5jX2VuYWJsZWRfZmxhZzogJWQKACAgY2hyb21hX3NhbXBsZV9sb2NfdHlwZV9ib3R0b21fZmllbGQ6ICVkCgAgICVkOiAlZAoAY29uZl93aW5fcmlnaHRfb2Zmc2V0IDogJWQKAG51bV9zaG9ydF90ZXJtX3JlZl9waWNfc2V0cyA6ICVkCgBudW1fbG9uZ190ZXJtX3JlZl9waWNzX3NwcyA6ICVkCgBwaWNfaGVpZ2h0X2luX2x1bWFfc2FtcGxlcyA6ICVkCgBtYXhfdHJhbnNmb3JtX2hpZXJhcmNoeV9kZXB0aF9pbnRlciA6ICVkCgAgICAgJXNfZnJhbWVfb25seV9jb25zdHJhaW50X2ZsYWcgOiAlZAoAICAgICVzX25vbl9wYWNrZWRfY29uc3RyYWludF9mbGFnIDogJWQKAHBwc19zbGljZV9jaHJvbWFfcXBfb2Zmc2V0c19wcmVzZW50X2ZsYWcgOiAlZAoAdnVpX2hyZF9wYXJhbWV0ZXJzX3ByZXNlbnRfZmxhZyA6ICVkCgBsb25nX3Rlcm1fcmVmX3BpY3NfcHJlc2VudF9mbGFnIDogJWQKAG92ZXJzY2FuX2luZm9fcHJlc2VudF9mbGFnIDogJWQKAHZwc19zdWJfbGF5ZXJfb3JkZXJpbmdfaW5mb19wcmVzZW50X2ZsYWcgOiAlZAoAc3BzX3N1Yl9sYXllcl9vcmRlcmluZ19pbmZvX3ByZXNlbnRfZmxhZyA6ICVkCgBmcmFtZV9maWVsZF9pbmZvX3ByZXNlbnRfZmxhZyA6ICVkCgAgIGNvbG91cl9kZXNjcmlwdGlvbl9wcmVzZW50X2ZsYWcgOiAlZAoAc2xpY2Vfc2VnbWVudF9oZWFkZXJfZXh0ZW5zaW9uX3ByZXNlbnRfZmxhZyA6ICVkCgBzcHNfc2NhbGluZ19saXN0X2RhdGFfcHJlc2VudF9mbGFnIDogJWQKACAgbW90aW9uX3ZlY3RvcnNfb3Zlcl9waWNfYm91bmRhcmllc19mbGFnIDogJWQKAHNwc19tdWx0aWxheWVyX2V4dGVuc2lvbl9mbGFnIDogJWQKAHBwc19tdWx0aWxheWVyX2V4dGVuc2lvbl9mbGFnIDogJWQKAHNwc190ZW1wb3JhbF9pZF9uZXN0aW5nX2ZsYWcgOiAlZAoAdnVpX3BvY19wcm9wb3J0aW9uYWxfdG9fdGltaW5nX2ZsYWcgOiAlZAoAc2VwYXJhdGVfY29sb3VyX3BsYW5lX2ZsYWcgOiAlZAoAc2NhbGluZ19saXN0X2VuYWJsZV9mbGFnIDogJWQKAHN0cm9uZ19pbnRyYV9zbW9vdGhpbmdfZW5hYmxlX2ZsYWcgOiAlZAoAZGVibG9ja2luZ19maWx0ZXJfb3ZlcnJpZGVfZmxhZyA6ICVkCgBudW1fcmVmX2lkeF9hY3RpdmVfb3ZlcnJpZGVfZmxhZyA6ICVkCgAgICAgJXNfcHJvZ3Jlc3NpdmVfc291cmNlX2ZsYWcgOiAlZAoAICAgICVzX2ludGVybGFjZWRfc291cmNlX2ZsYWcgOiAlZAoAc2FtcGxlX2FkYXB0aXZlX29mZnNldF9lbmFibGVkX2ZsYWcgOiAlZAoAZGVwZW5kZW50X3NsaWNlX3NlZ21lbnRzX2VuYWJsZWRfZmxhZyA6ICVkCgBsb29wX2ZpbHRlcl9hY3Jvc3NfdGlsZXNfZW5hYmxlZF9mbGFnIDogJWQKAHNsaWNlX2xvb3BfZmlsdGVyX2Fjcm9zc19zbGljZXNfZW5hYmxlZF9mbGFnIDogJWQKAHNsaWNlX3RlbXBvcmFsX212cF9lbmFibGVkX2ZsYWcgOiAlZAoAY3Jvc3NfY29tcG9uZW50X3ByZWRpY3Rpb25fZW5hYmxlZF9mbGFnIDogJWQKAHBlcnNpc3RlbnRfcmljZV9hZGFwdGF0aW9uX2VuYWJsZWRfZmxhZyA6ICVkCgBsb2cyX2RpZmZfbWF4X21pbl90cmFuc2Zvcm1fYmxvY2tfc2l6ZSA6ICVkCgBsb2cyX2RpZmZfbWF4X21pbl9sdW1hX2NvZGluZ19ibG9ja19zaXplIDogJWQKAGxvZzJfbWluX2x1bWFfY29kaW5nX2Jsb2NrX3NpemUgOiAlZAoAbG9nMl9kaWZmX21heF9taW5fcGNtX2x1bWFfY29kaW5nX2Jsb2NrX3NpemUgOiAlZAoAbG9nMl9taW5fcGNtX2x1bWFfY29kaW5nX2Jsb2NrX3NpemUgOiAlZAoAbnVtX3JlZl9pZHhfbDFfZGVmYXVsdF9hY3RpdmUgOiAlZAoAbnVtX3JlZl9pZHhfbDBfZGVmYXVsdF9hY3RpdmUgOiAlZAoAbG9nMl9tYXhfcGljX29yZGVyX2NudF9sc2IgOiAlZAoAbWF4X3RyYW5zZm9ybV9oaWVyYXJjaHlfZGVwdGhfaW50cmEgOiAlZAoAYml0X2RlcHRoX2Nocm9tYSA6ICVkCgBlbnRyeSBwb2ludCBbJWldIDogJWQKACAgc3BzX21heF9sYXRlbmN5X2luY3JlYXNlX3BsdXMxIDogJWQKAHJlZl9waWNfbGlzdF9tb2RpZmljYXRpb25fZmxhZ19sMSA6ICVkCgByZWZfcGljX2xpc3RfbW9kaWZpY2F0aW9uX2ZsYWdfbDAgOiAlZAoATG9nMk1pbkN1Q2hyb21hUXBPZmZzZXRTaXplIChSRXh0KSA6ICVkCgBMb2cyTWF4VHJhbnNmb3JtU2tpcFNpemUgICAgKFJFeHQpIDogJWQKAGNvbmZfd2luX2xlZnRfb2Zmc2V0ICA6ICVkCgAgIGRlZl9kaXNwX3dpbl9ib3R0b21fb2Zmc2V0ICA6ICVkCgBzbGljZV9iZXRhX29mZnNldCAgOiAlZAoAcGljX3dpZHRoX2luX2x1bWFfc2FtcGxlcyAgOiAlZAoAdnVpX3RpbWluZ19pbmZvX3ByZXNlbnRfZmxhZyAgOiAlZAoAb3ZlcnNjYW5fYXBwcm9wcmlhdGVfZmxhZyAgOiAlZAoAcGNtX2xvb3BfZmlsdGVyX2Rpc2FibGVfZmxhZyAgOiAlZAoAZml2ZV9taW51c19tYXhfbnVtX21lcmdlX2NhbmQgIDogJWQKAHZpZGVvX3BhcmFtZXRlcl9zZXRfaWQgIDogJWQKACAgZGVmX2Rpc3Bfd2luX3JpZ2h0X29mZnNldCAgIDogJWQKAGNvbmZfd2luX3RvcF9vZmZzZXQgICA6ICVkCgBkZWZhdWx0X2Rpc3BsYXlfd2luZG93X2ZsYWcgICA6ICVkCgBjdV9xcF9kZWx0YV9lbmFibGVkX2ZsYWcgICA6ICVkCgBsb2cyX21pbl90cmFuc2Zvcm1fYmxvY2tfc2l6ZSAgIDogJWQKACAgY2hyb21hX3NhbXBsZV9sb2NfdHlwZV90b3BfZmllbGQgICA6ICVkCgBiaXRfZGVwdGhfbHVtYSAgIDogJWQKAHBjbV9zYW1wbGVfYml0X2RlcHRoX2Nocm9tYSAgIDogJWQKAE1heENiU2l6ZVkgICA6ICVkCgBNaW5DYlNpemVZICAgOiAlZAoATWF4VEJTaXplWSAgIDogJWQKAE1pblRCU2l6ZVkgICA6ICVkCgAgIGRlZl9kaXNwX3dpbl9sZWZ0X29mZnNldCAgICA6ICVkCgBzbGljZV90Y19vZmZzZXQgICAgOiAlZAoAbnVtX2V4dHJhX3NsaWNlX2hlYWRlcl9iaXRzICAgIDogJWQKAG51bV9lbnRyeV9wb2ludF9vZmZzZXRzICAgIDogJWQKAG51bV90aWxlX2NvbHVtbnMgICAgOiAlZAoAICB0cmFuc2Zlcl9jaGFyYWN0ZXJpc3RpY3MgICAgOiAlZAoAICBsb2cyX21heF9tdl9sZW5ndGhfaG9yaXpvbnRhbCAgICA6ICVkCgBjb25mb3JtYW5jZV93aW5kb3dfZmxhZyAgICA6ICVkCgBjYWJhY19pbml0X3ByZXNlbnRfZmxhZyAgICA6ICVkCgBzcHNfZXh0ZW5zaW9uX3ByZXNlbnRfZmxhZyAgICA6ICVkCgAgIHJlc3RyaWN0ZWRfcmVmX3BpY19saXN0c19mbGFnICAgIDogJWQKAHRyYW5zZm9ybV9za2lwX3JvdGF0aW9uX2VuYWJsZWRfZmxhZyAgICA6ICVkCgBzZXFfcGFyYW1ldGVyX3NldF9pZCAgICA6ICVkCgBzbGljZV9jcl9xcF9vZmZzZXQgICAgIDogJWQKAHNsaWNlX2NiX3FwX29mZnNldCAgICAgOiAlZAoAICBkZWZfZGlzcF93aW5fdG9wX29mZnNldCAgICAgOiAlZAoAZGlmZl9jdV9xcF9kZWx0YV9kZXB0aCAgICAgOiAlZAoAb3V0cHV0X2ZsYWdfcHJlc2VudF9mbGFnICAgICA6ICVkCgB0cmFuc2Zvcm1fc2tpcF9jb250ZXh0X2VuYWJsZWRfZmxhZyAgICAgOiAlZAoAY2FiYWNfYnlwYXNzX2FsaWdubWVudF9lbmFibGVkX2ZsYWcgICAgIDogJWQKAGhpZ2hfcHJlY2lzaW9uX29mZnNldHNfZW5hYmxlZF9mbGFnICAgICA6ICVkCgAgICVzX3Byb2ZpbGVfc3BhY2UgICAgIDogJWQKACAgbWluX3NwYXRpYWxfc2VnbWVudGF0aW9uX2lkYyAgICAgOiAlZAoAcGNtX3NhbXBsZV9iaXRfZGVwdGhfbHVtYSAgICAgOiAlZAoAQ3RiU2l6ZVkgICAgIDogJWQKAHNwc19tYXhfc3ViX2xheWVycyAgICAgIDogJWQKAGxvZzJfcGFyYWxsZWxfbWVyZ2VfbGV2ZWwgICAgICA6ICVkCgAgIGxvZzJfbWF4X212X2xlbmd0aF92ZXJ0aWNhbCAgICAgIDogJWQKACAgc3BzX21heF9kZWNfcGljX2J1ZmZlcmluZyAgICAgIDogJWQKAHNob3J0X3Rlcm1fcmVmX3BpY19zZXRfc3BzX2ZsYWcgICAgICA6ICVkCgBzcHNfcmFuZ2VfZXh0ZW5zaW9uX2ZsYWcgICAgICA6ICVkCgBwcHNfcmFuZ2VfZXh0ZW5zaW9uX2ZsYWcgICAgICA6ICVkCgBleHRlbmRlZF9wcmVjaXNpb25fcHJvY2Vzc2luZ19mbGFnICAgICAgOiAlZAoAc2lnbl9kYXRhX2hpZGluZ19mbGFnICAgICAgOiAlZAoAY2hyb21hX3FwX29mZnNldF9saXN0X2VuYWJsZWRfZmxhZyAgICAgIDogJWQKAHNwc190ZW1wb3JhbF9tdnBfZW5hYmxlZF9mbGFnICAgICAgOiAlZAoAZmlyc3Rfc2xpY2Vfc2VnbWVudF9pbl9waWNfZmxhZyAgICAgIDogJWQKAGxvZzJfbWF4X3RyYW5zZm9ybV9za2lwX2Jsb2NrX3NpemUgICAgICA6ICVkCgBudW1fdGlsZV9yb3dzICAgICAgIDogJWQKACAgc3BzX21heF9udW1fcmVvcmRlcl9waWNzICAgICAgIDogJWQKACAgdnVpX251bV91bml0c19pbl90aWNrICAgICAgIDogJWQKACAgdGlsZXNfZml4ZWRfc3RydWN0dXJlX2ZsYWcgICAgICAgOiAlZAoAICB2aWRlb19mdWxsX3JhbmdlX2ZsYWcgICAgICAgOiAlZAoAc2VxX3BhcmFtZXRlcl9zZXRfaWQgICAgICAgOiAlZAoAcGljX3BhcmFtZXRlcl9zZXRfaWQgICAgICAgOiAlZAoAICBtYXhfYml0c19wZXJfbWluX2N1X2Rlbm9tICAgICAgICA6ICVkCgB2dWlfcGFyYW1ldGVyc19wcmVzZW50X2ZsYWcgICAgICAgIDogJWQKAGNvbGxvY2F0ZWRfZnJvbV9sMF9mbGFnICAgICAgICA6ICVkCgBDaHJvbWFXZWlnaHRfTCVkWyVkXVslZF0gICAgICAgIDogJWQKAENocm9tYU9mZnNldF9MJWRbJWRdWyVkXSAgICAgICAgOiAlZAoAUGljSGVpZ2h0SW5DdGJzWSAgICAgICAgOiAlZAoAbHVtYV9sb2cyX3dlaWdodF9kZW5vbSAgICAgICAgIDogJWQKAGRlcGVuZGVudF9zbGljZV9zZWdtZW50X2ZsYWcgICAgICAgICA6ICVkCgBub19vdXRwdXRfb2ZfcHJpb3JfcGljc19mbGFnICAgICAgICAgOiAlZAoAICAlc190aWVyX2ZsYWcgICAgICAgICA6ICVkCgBiaXRzdHJlYW1fcmVzdHJpY3Rpb25fZmxhZyAgICAgICAgIDogJWQKAHdlaWdodGVkX2JpcHJlZF9mbGFnICAgICAgICAgOiAlZAoAc2xpY2VfcXBfZGVsdGEgICAgICAgICA6ICVkCgBQaWNXaWR0aEluQ3Ric1kgICAgICAgICA6ICVkCgAgIG1heF9ieXRlc19wZXJfcGljX2Rlbm9tICAgICAgICAgIDogJWQKAENocm9tYUxvZzJXZWlnaHREZW5vbSAgICAgICAgICA6ICVkCgBkaWZmX2N1X2Nocm9tYV9xcF9vZmZzZXRfZGVwdGggICAgICAgICAgOiAlZAoAdnBzX3RlbXBvcmFsX2lkX25lc3RpbmdfZmxhZyAgICAgICAgICA6ICVkCgBMb2cyTWluQ3VRcERlbHRhU2l6ZSAgICAgICAgICA6ICVkCgB2dWlfbnVtX3RpY2tzX3BvY19kaWZmX29uZSAgICAgICAgICA6ICVkCgBzaG9ydF90ZXJtX3JlZl9waWNfc2V0X2lkeCAgICAgICAgICAgOiAlZAoAc3BzX2V4dGVuc2lvbl82Yml0cyAgICAgICAgICAgOiAlZAoAcHBzX2V4dGVuc2lvbl82Yml0cyAgICAgICAgICAgOiAlZAoAd2VpZ2h0ZWRfcHJlZF9mbGFnICAgICAgICAgICA6ICVkCgBpbnRyYV9zbW9vdGhpbmdfZGlzYWJsZWRfZmxhZyAgICAgICAgICAgOiAlZAoAdGlsZXNfZW5hYmxlZF9mbGFnICAgICAgICAgICA6ICVkCgBzbGljZV9zYW9fY2hyb21hX2ZsYWcgICAgICAgICAgIDogJWQKAHNsaWNlX3BpY19wYXJhbWV0ZXJfc2V0X2lkICAgICAgICAgICA6ICVkCgAgIGNvbG91cl9wcmltYXJpZXMgICAgICAgICAgICA6ICVkCgBwcHNfZXh0ZW5zaW9uX2ZsYWcgICAgICAgICAgICA6ICVkCgBsb2cyX3Nhb19vZmZzZXRfc2NhbGVfY2hyb21hICAgICAgICAgICAgOiAlZAoAbHVtYV9vZmZzZXRfbCVkWyVkXSAgICAgICAgICAgIDogJWQKAGNvbGxvY2F0ZWRfcmVmX2lkeCAgICAgICAgICAgICA6ICVkCgBwaWNfY3JfcXBfb2Zmc2V0ICAgICAgICAgICAgIDogJWQKAHBpY19jYl9xcF9vZmZzZXQgICAgICAgICAgICAgOiAlZAoAZXhwbGljaXRfcmRwY21fZW5hYmxlZF9mbGFnICAgICAgICAgICAgIDogJWQKAGltcGxpY2l0X3JkcGNtX2VuYWJsZWRfZmxhZyAgICAgICAgICAgICA6ICVkCgBzbGljZV9zYW9fbHVtYV9mbGFnICAgICAgICAgICAgIDogJWQKAEx1bWFXZWlnaHRfTCVkWyVkXSAgICAgICAgICAgICA6ICVkCgAgIHZ1aV90aW1lX3NjYWxlICAgICAgICAgICAgICA6ICVkCgBzbGljZV9waWNfb3JkZXJfY250X2xzYiAgICAgICAgICAgICAgOiAlZAoAbG9nMl9zYW9fb2Zmc2V0X3NjYWxlX2x1bWEgICAgICAgICAgICAgIDogJWQKAFN1YkhlaWdodEMgICAgICAgICAgICAgIDogJWQKACAgbWF0cml4X2NvZWZmcyAgICAgICAgICAgICAgIDogJWQKAGNocm9tYV9xcF9vZmZzZXRfbGlzdF9sZW4gICAgICAgICAgICAgICA6ICVkCgBtdmRfbDFfemVyb19mbGFnICAgICAgICAgICAgICAgOiAlZAoAU3ViV2lkdGhDICAgICAgICAgICAgICAgOiAlZAoAc2xpY2Vfc2VnbWVudF9hZGRyZXNzICAgICAgICAgICAgICAgIDogJWQKAHBpY19pbml0X3FwICAgICAgICAgICAgICAgIDogJWQKAGNhYmFjX2luaXRfZmxhZyAgICAgICAgICAgICAgICA6ICVkCgBmaWVsZF9zZXFfZmxhZyAgICAgICAgICAgICAgICA6ICVkCgB2aWRlb19wYXJhbWV0ZXJfc2V0X2lkICAgICAgICAgICAgICAgIDogJWQKAG9mZnNldF9sZW4gICAgICAgICAgICAgICAgIDogJWQKAHZwc19tYXhfc3ViX2xheWVycyAgICAgICAgICAgICAgICAgICAgOiAlZAoAYW1wX2VuYWJsZWRfZmxhZyAgICAgICAgICAgICAgICAgICAgOiAlZAoAcGNtX2VuYWJsZWRfZmxhZyAgICAgICAgICAgICAgICAgICAgOiAlZAoAY3JfcXBfb2Zmc2V0X2xpc3RbJWRdICAgICAgICAgICAgICAgICAgICA6ICVkCgBjYl9xcF9vZmZzZXRfbGlzdFslZF0gICAgICAgICAgICAgICAgICAgIDogJWQKAHBpY19vdXRwdXRfZmxhZyAgICAgICAgICAgICAgICAgICAgICA6ICVkCgBjb2xvdXJfcGxhbmVfaWQgICAgICAgICAgICAgICAgICAgICAgOiAlZAoAbnVtX2xvbmdfdGVybV9waWNzICAgICAgICAgICAgICAgICAgICAgICA6ICVkCgB2cHNfbWF4X2xheWVycyAgICAgICAgICAgICAgICAgICAgICAgIDogJWQKAG51bV9sb25nX3Rlcm1fc3BzICAgICAgICAgICAgICAgICAgICAgICAgOiAlZAoAYmV0YV9vZmZzZXQ6ICAlZAoAdGNfb2Zmc2V0OiAgICAlZAoAc2xpY2VfdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJWMKACAgUHJvZmlsZS9UaWVyL0xldmVsIFtMYXllciAlZF0KAFNQUyBlcnJvcjogYml0ZGVwdGggWSBub3QgaW4gWzg7MTZdCgBTUFMgZXJyb3I6IGJpdGRlcHRoIEMgbm90IGluIFs4OzE2XQoAU1BTIGVycm9yOiBUQl9tYXggPiAzMiBvciBDVEIKAFNQUyBlcnJvcjogVEIgPiBDQgoAPGFycmF5PgoAY29uZmlnIE5BTHM6CgBGaWxlIGRvZXMgbm90IGluY2x1ZGUgYW55IHN1cHBvcnRlZCBicmFuZHMuCgBsaWJoZWlmIHdhcm5pbmc6IGhlaWZfaW1hZ2VfY3JlYXRlKCkgdXNlZCB3aXRoIGFuIGlsbGVnYWwgY29sb3JzcGFjZS9jaHJvbWEgY29tYmluYXRpb24uIFRoaXMgd2lsbCByZXR1cm4gYW4gZXJyb3IgaW4gYSBmdXR1cmUgdmVyc2lvbi4KAC0tLS0tLS0tLS0tLS0tLS0tIFNQUy1yYW5nZS1leHRlbnNpb24gLS0tLS0tLS0tLS0tLS0tLS0KAC0tLS0tLS0tLS0tLS0tLS0tIFZQUyAtLS0tLS0tLS0tLS0tLS0tLQoALS0tLS0tLS0tLS0tLS0tLS0gU1BTIC0tLS0tLS0tLS0tLS0tLS0tCgAtLS0tLS0tLS0tLS0tLS0tLSBQUFMgLS0tLS0tLS0tLS0tLS0tLS0KAC0tLS0tLS0tLS0tLS0tLS0tIFZVSSAtLS0tLS0tLS0tLS0tLS0tLQoALS0tLS0tLS0tLS0tLS0tLS0gU0xJQ0UgLS0tLS0tLS0tLS0tLS0tLS0KAC0tLS0tLS0tLS0gUFBTIHJhbmdlLWV4dGVuc2lvbiAtLS0tLS0tLS0tCgAgLS0tLS0KAGNvbG91cl90eXBlOiAtLS0KACoKAChhbmdsZXMpCgBjaHJvbWFfZm9ybWF0X2lkYyAgICAgICA6ICVkICglcykKACAoc21hbGxlciB0aGFuIGhlYWRlcikKACVwIGRlY291cGxlICglcCkKAChxdWF0ZXJpb24pCgAgICVzX2xldmVsX2lkYyAgICAgICAgIDogJWQgKCU0LjJmKQoAbHRfcmVmX3BpY19wb2NfbHNiX3Nwc1slZF0gOiAlZCAgICh1c2VkX2J5X2N1cnJfcGljX2x0X3Nwc19mbGFnPSVkKQoAJXAgKGFsbG9jKQoAIGRlZ3JlZXMgKENDVykKAAkAM0JveAA5Qm94SGVhZGVyADhCb3hfaXNwZQA3RnVsbEJveAA5Qm94X290aGVyADhCb3hfZnR5cAA4Qm94X21ldGEAOEJveF9oZGxyADhCb3hfcGl0bQA4Qm94X2lsb2MAOEJveF9pbmZlADhCb3hfaWluZgA4Qm94X2lwcnAAOEJveF9pcGNvADhCb3hfaXBtYQA4Qm94X2F1eEMAOEJveF9pcm90ADhCb3hfaW1pcgA4Qm94X2NsYXAAOEJveF9pcmVmADhCb3hfcGl4aQA4Qm94X3Bhc3AAOEJveF9sc2VsADhCb3hfY2xsaQA4Qm94X2NtaW4AOEJveF9jbWV4ADhCb3hfdWRlcwA4Qm94X21kY3YAOEJveF9pZGF0ADhCb3hfZ3JwbAAxN0JveF9FbnRpdHlUb0dyb3VwADhCb3hfc3RlcgA4Qm94X3B5bWQAOEJveF9kaW5mADhCb3hfZHJlZgA3Qm94X3VybABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X2Z0eXBOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF9tZXRhTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfaGRsck5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X3BpdG1OU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF9pbG9jTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfaWluZk5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X2luZmVOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF9pcHJwTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfaXBjb05TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X2lwbWFOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF9pc3BlTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfYXV4Q05TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X2lyb3ROU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF9pbWlyTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfY2xhcE5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X2lyZWZOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF9odmNDTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfYXYxQ05TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X3Z2Y0NOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF9pZGF0TlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfZ3JwbE5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X3B5bWROU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJMTdCb3hfRW50aXR5VG9Hcm91cE5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X3N0ZXJOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF9kaW5mTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfZHJlZk5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk3Qm94X3VybE5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X2NvbHJOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF9waXhpTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfcGFzcE5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X2xzZWxOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF9hMW9wTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfYTFseE5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X2NsbGlOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF9tZGN2TlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfY21pbk5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X2NtZXhOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF91ZGVzTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfanBnQ05TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X2oya0hOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF9jZGVmTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfY21hcE5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X3BjbHJOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEJveF9qMmtMTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSThCb3hfbXNrQ05TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk4Qm94X2F2Y0NOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJM0JveE5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUk5Qm94X290aGVyTlNfOWFsbG9jYXRvcklTMV9FRUVFAFN1Y2Nlc3MAU3VjY2VzcwAxM2NvbG9yX3Byb2ZpbGUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJOEhlaWZGaWxlTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTEwUmVnaW9uSXRlbU5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUlOMTFIZWlmQ29udGV4dDVJbWFnZUVOU185YWxsb2NhdG9ySVMyX0VFRUUAMTBTRUlNZXNzYWdlADM2U0VJTWVzc2FnZV9kZXB0aF9yZXByZXNlbnRhdGlvbl9pbmZvADMwaGVpZl9kZXB0aF9yZXByZXNlbnRhdGlvbl9pbmZvAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTEzSW1hZ2VNZXRhZGF0YU5TXzlhbGxvY2F0b3JJUzFfRUVFRQAxNFJlZ2lvbkdlb21ldHJ5AE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTE0SGVpZlBpeGVsSW1hZ2VOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJMThjb2xvcl9wcm9maWxlX25jbHhOU185YWxsb2NhdG9ySVMxX0VFRUUAAAAAAAAD"),t0(K,35200,"AQEBAQABAQEAAQEBAAEBAU5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTIwU3RyZWFtUmVhZGVyX2lzdHJlYW1OU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJMTlTdHJlYW1SZWFkZXJfbWVtb3J5TlNfOWFsbG9jYXRvcklTMV9FRUVFAAADAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAAwAAAAQAAAAGAAAACAAAAAYAAAAIAAAAMTdjb2xvcl9wcm9maWxlX3JhdwAxOGNvbG9yX3Byb2ZpbGVfbmNseAA4Qm94X2NvbHIATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJMTdjb2xvcl9wcm9maWxlX3Jhd05TXzlhbGxvY2F0b3JJUzFfRUVFRQAAAJqZmT4AAAAAAAAAAD0KVz7hepQ+UriePlK4nj7+1Hg+exQuPgAAAAAUroc+FK6HPg=="),t0(K,35624,"PQqXPpqZGT8AAAAAAAAAAI/CNT+amRk/7FEYP+xRGD/pJjE/MQhMPwAAgD/XozA/16MwPw=="),t0(K,35712,"SOEaP5qZGT4AAAAAAAAAAClcDz6amRk+UrgePlK4Hj7hehQ+3SQGPgAAAACamRk+mpkZPg=="),t0(K,35800,"UrgePo/CdT0AAAAAAAAAAArXoz2PwnU9KVyPPSlcjz05tEg9f2o8PQAAAACPwnU9j8J1PQ=="),t0(K,35888,"LbKdPQrXIz8AAAAAAAAAAB+FKz8K1yM/rkchP65HIT8EVi4/fT81PwAAgD97FC4/exQuPw=="),t0(K,35976,"rkchP8P1qD4AAAAAAAAAAMP1qD7D9ag+exSuPnsUrj74U6M+BoGVPgAAAAAK16M+CtejPg=="),t0(K,36064,"exSuPjcaoD4AAAAAAAAAAFK4nj43GqA+NxqgPjcaoD5SuJ4+NxqgPp+qqj6cxKA+NxqgPg=="),t0(K,36152,"NxqgPrByqD4AAAAAAAAAAMHKoT6wcqg+sHKoPrByqD7ByqE+sHKoPjuqqj5GtrM+sHKoPg=="),t0(K,36240,"sHKoPgEAAAACAAAAAgAAAAEAAAABAAAAAgAAAAEAAAABAAAAMjBSZWdpb25HZW9tZXRyeV9Qb2ludAAyNFJlZ2lvbkdlb21ldHJ5X1JlY3RhbmdsZQAyMlJlZ2lvbkdlb21ldHJ5X0VsbGlwc2UAMjJSZWdpb25HZW9tZXRyeV9Qb2x5Z29uADI5UmVnaW9uR2VvbWV0cnlfUmVmZXJlbmNlZE1hc2sAMjVSZWdpb25HZW9tZXRyeV9JbmxpbmVNYXNrAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTIwUmVnaW9uR2VvbWV0cnlfUG9pbnROU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJMjRSZWdpb25HZW9tZXRyeV9SZWN0YW5nbGVOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJMjJSZWdpb25HZW9tZXRyeV9FbGxpcHNlTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTIyUmVnaW9uR2VvbWV0cnlfUG9seWdvbk5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUkyOVJlZ2lvbkdlb21ldHJ5X1JlZmVyZW5jZWRNYXNrTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTI1UmVnaW9uR2VvbWV0cnlfSW5saW5lTWFza05TXzlhbGxvY2F0b3JJUzFfRUVFRQAAAGZpdmFjaWVoeGllaGlrMmpnZXBqZmFpbTFmaW0yZmltAQAAAAIAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAAWAAAAAQAAAAIAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAAAAAAAAQAAAAIAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAAEAAAAEAAAAAwAAAAcAAAAKAAAABQAAAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAHBwAGlwAFAxMmhlaWZfY29udGV4dAAxMmhlaWZfY29udGV4dAB2cHAAMTBoZWlmX2Vycm9yAHBwcHAAMjBoZWlmX2ZpbGV0eXBlX3Jlc3VsdABpcHAATjEwZW1zY3JpcHRlbjN2YWxFAHBwcABwcHBpAFAxN2hlaWZfaW1hZ2VfaGFuZGxlADE3aGVpZl9pbWFnZV9oYW5kbGUAMTVoZWlmX2NvbG9yc3BhY2UAMTFoZWlmX2Nocm9tYQBwcHBpaQAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAACgAAAFAxMGhlaWZfaW1hZ2UAMTBoZWlmX2ltYWdlADEyaGVpZl9jaGFubmVsAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWhFRQBQSzE3aGVpZl9pbWFnZV9oYW5kbGUAUEsxMGhlaWZfaW1hZ2UAMTVoZWlmX2Vycm9yX2NvZGUAMThoZWlmX3N1YmVycm9yX2NvZGUAMjNoZWlmX2NvbXByZXNzaW9uX2Zvcm1hdAAzNGhlaWZfY2hyb21hX2Rvd25zYW1wbGluZ19hbGdvcml0aG0AMzJoZWlmX2Nocm9tYV91cHNhbXBsaW5nX2FsZ29yaXRobQBQSzEyaGVpZl9jb250ZXh0AHYAdnAAcAB2cHBpAHZwcHAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJMTFIZWlmQ29udGV4dE5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUkxN1N0cmVhbVJlYWRlcl9DQXBpTlNfOWFsbG9jYXRvcklTMV9FRUVFAFN1Y2Nlc3MAOEJveF9odmNDAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTM2U0VJTWVzc2FnZV9kZXB0aF9yZXByZXNlbnRhdGlvbl9pbmZvTlNfOWFsbG9jYXRvcklTMV9FRUVFADhCb3hfYXYxQwA4Qm94X2Exb3AAOEJveF9hMWx4ADhCb3hfanBnQwA4Qm94X2NkZWYAOEJveF9jbWFwADhCb3hfcGNscgA4Qm94X2oya0wAOEJveF9qMmtIADhCb3hfdnZjQwA4Qm94X2F2Y0MAOEJveF9tc2tDAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTE4T3BfUkdCX3RvX1JHQjI0XzMyTlNfOWFsbG9jYXRvcklTMV9FRUVFADI0Q29sb3JDb252ZXJzaW9uT3BlcmF0aW9uAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTE4T3BfUkdCMjRfMzJfdG9fUkdCTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTE1T3BfWUNiQ3JfdG9fUkdCSXRFTlNfOWFsbG9jYXRvcklTMl9FRUVFADE1T3BfWUNiQ3JfdG9fUkdCSXRFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTE1T3BfWUNiQ3JfdG9fUkdCSWhFTlNfOWFsbG9jYXRvcklTMl9FRUVFADE1T3BfWUNiQ3JfdG9fUkdCSWhFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTIwT3BfWUNiQ3I0MjBfdG9fUkdCMjROU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJMjBPcF9ZQ2JDcjQyMF90b19SR0IzMk5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUkyM09wX1lDYkNyNDIwX3RvX1JSR0dCQmFhTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTI1T3BfUkdCX0hEUl90b19SUkdHQkJhYV9CRU5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUkyMU9wX1JHQl90b19SUkdHQkJhYV9CRU5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUkxOU9wX21vbm9fdG9fWUNiQ3I0MjBOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJMTlPcF9tb25vX3RvX1JHQjI0XzMyTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTI3T3BfUlJHR0JCYWFfc3dhcF9lbmRpYW5uZXNzTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTI1T3BfUlJHR0JCYWFfQkVfdG9fUkdCX0hEUk5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUkyME9wX1JHQjI0XzMyX3RvX1lDYkNyTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTE1T3BfUkdCX3RvX1lDYkNySWhFTlNfOWFsbG9jYXRvcklTMl9FRUVFADE1T3BfUkdCX3RvX1lDYkNySWhFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTE1T3BfUkdCX3RvX1lDYkNySXRFTlNfOWFsbG9jYXRvcklTMl9FRUVFADE1T3BfUkdCX3RvX1lDYkNySXRFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTI3T3BfUlJHR0JCeHhfSERSX3RvX1lDYkNyNDIwTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTI3T3BfUkdCMjRfMzJfdG9fWUNiQ3I0NDRfR0JSTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTE5T3BfZHJvcF9hbHBoYV9wbGFuZU5TXzlhbGxvY2F0b3JJUzFfRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUkxNk9wX3RvX2hkcl9wbGFuZXNOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJMTZPcF90b19zZHJfcGxhbmVzTlNfOWFsbG9jYXRvcklTMV9FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTMyT3BfWUNiQ3I0MjBfYmlsaW5lYXJfdG9fWUNiQ3I0NDRJaEVOU185YWxsb2NhdG9ySVMyX0VFRUUAMzJPcF9ZQ2JDcjQyMF9iaWxpbmVhcl90b19ZQ2JDcjQ0NEloRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUkzMk9wX1lDYkNyNDIwX2JpbGluZWFyX3RvX1lDYkNyNDQ0SXRFTlNfOWFsbG9jYXRvcklTMl9FRUVFADMyT3BfWUNiQ3I0MjBfYmlsaW5lYXJfdG9fWUNiQ3I0NDRJdEUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJMzJPcF9ZQ2JDcjQyMl9iaWxpbmVhcl90b19ZQ2JDcjQ0NEloRU5TXzlhbGxvY2F0b3JJUzJfRUVFRQAzMk9wX1lDYkNyNDIyX2JpbGluZWFyX3RvX1lDYkNyNDQ0SWhFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTMyT3BfWUNiQ3I0MjJfYmlsaW5lYXJfdG9fWUNiQ3I0NDRJdEVOU185YWxsb2NhdG9ySVMyX0VFRUUAMzJPcF9ZQ2JDcjQyMl9iaWxpbmVhcl90b19ZQ2JDcjQ0NEl0RQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUkzMU9wX1lDYkNyNDQ0X3RvX1lDYkNyNDIwX2F2ZXJhZ2VJaEVOU185YWxsb2NhdG9ySVMyX0VFRUUAMzFPcF9ZQ2JDcjQ0NF90b19ZQ2JDcjQyMF9hdmVyYWdlSWhFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTMxT3BfWUNiQ3I0NDRfdG9fWUNiQ3I0MjBfYXZlcmFnZUl0RU5TXzlhbGxvY2F0b3JJUzJfRUVFRQAzMU9wX1lDYkNyNDQ0X3RvX1lDYkNyNDIwX2F2ZXJhZ2VJdEUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJMzFPcF9ZQ2JDcjQ0NF90b19ZQ2JDcjQyMl9hdmVyYWdlSWhFTlNfOWFsbG9jYXRvcklTMl9FRUVFADMxT3BfWUNiQ3I0NDRfdG9fWUNiQ3I0MjJfYXZlcmFnZUloRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUkzMU9wX1lDYkNyNDQ0X3RvX1lDYkNyNDIyX2F2ZXJhZ2VJdEVOU185YWxsb2NhdG9ySVMyX0VFRUUAMzFPcF9ZQ2JDcjQ0NF90b19ZQ2JDcjQyMl9hdmVyYWdlSXRFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTI5T3BfQW55X1JHQl90b19ZQ2JDcl80MjBfU2hhcnBOU185YWxsb2NhdG9ySVMxX0VFRUUAMjdPcF9SUkdHQkJ4eF9IRFJfdG9fWUNiQ3I0MjAAMjBPcF9SR0IyNF8zMl90b19ZQ2JDcgAyN09wX1JHQjI0XzMyX3RvX1lDYkNyNDQ0X0dCUgAyOU9wX0FueV9SR0JfdG9fWUNiQ3JfNDIwX1NoYXJwADIwT3BfWUNiQ3I0MjBfdG9fUkdCMjQAMjBPcF9ZQ2JDcjQyMF90b19SR0IzMgAyM09wX1lDYkNyNDIwX3RvX1JSR0dCQmFhADE4T3BfUkdCX3RvX1JHQjI0XzMyADI1T3BfUkdCX0hEUl90b19SUkdHQkJhYV9CRQAyMU9wX1JHQl90b19SUkdHQkJhYV9CRQAyNU9wX1JSR0dCQmFhX0JFX3RvX1JHQl9IRFIAMThPcF9SR0IyNF8zMl90b19SR0IAMjdPcF9SUkdHQkJhYV9zd2FwX2VuZGlhbm5lc3MADgAAAA8AAAAMAAAADQAAADE5T3BfbW9ub190b19ZQ2JDcjQyMAAxOU9wX21vbm9fdG9fUkdCMjRfMzIAAAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAADE2T3BfdG9faGRyX3BsYW5lcwAxNk9wX3RvX3Nkcl9wbGFuZXMAMTlPcF9kcm9wX2FscGhhX3BsYW5lAFN1Y2Nlc3M="),t0(K,41336,"AQAAAAIAAABMAAAAVAAAAFQAAABQAAAAWAAAAFgAAADAQQAAyEEAAMhB"),t0(K,41392,"xQAAALkAAADJAAAAxQAAALkAAADJAAAAlQAAAIYAAABuAAAAmgAAAHoAAACJAAAAjAAAAMYAAACpAAAAxgAAAIsAAACNAAAAnQAAAGsAAACLAAAAfgAAAGsAAACLAAAAfg=="),t0(K,41504,"uAAAAJoAAACLAAAAmgAAAJoAAACaAAAAiwAAAJoAAACaAAAAuAAAAJoAAAC3AAAAPwAAAJgAAACYAAAAAAAAAG8AAACNAAAAmQAAAG8AAABeAAAAigAAALYAAACaAAAAlQAAAGsAAACnAAAAmgAAAJUAAABcAAAApwAAAJoAAACZAAAAigAAAIoAAAB8AAAAigAAAF4AAADgAAAApwAAAHo="),t0(K,41680,"bgAAAG4AAAB8AAAAfQAAAIwAAACZAAAAfQAAAH8AAACMAAAAbQAAAG8AAACPAAAAfwAAAG8AAABPAAAAbAAAAHsAAAA/AAAAfQAAAG4AAABeAAAAbgAAAF8AAABPAAAAfQAAAG8AAABuAAAATgAAAG4AAABvAAAAbwAAAF8AAABeAAAAbAAAAHsAAABsAAAAfQAAAG4AAAB8AAAAbgAAAF8AAABeAAAAfQAAAG8AAABvAAAATwAAAH0AAAB+AAAAbwAAAG8AAABPAAAAbAAAAHsAAABd"),t0(K,41904,"WwAAAKsAAACGAAAAjQAAAHkAAACMAAAAPQAAAJoAAAB5AAAAjAAAAD0AAACaAAAAbwAAAG8AAAB9AAAAbgAAAG4AAABeAAAAfAAAAGwAAAB8AAAAawAAAH0AAACNAAAAswAAAJkAAAB9AAAAawAAAH0AAACNAAAAswAAAJkAAAB9AAAAawAAAH0AAACNAAAAswAAAJkAAAB9AAAAjAAAAIsAAAC2AAAAtgAAAJgAAACIAAAAmAAAAIgAAACZAAAAiAAAAIsAAABvAAAAiAAAAIsAAABvAAAAmwAAAJoAAACLAAAAmQAAAIsAAAB7AAAAewAAAD8AAACZAAAApgAAALcAAACMAAAAiAAAAJkAAACaAAAApgAAALcAAACMAAAAiAAAAJkAAACaAAAApgAAALcAAACMAAAAiAAAAJkAAACaAAAAqgAAAJkAAAB7AAAAewAAAGsAAAB5AAAAawAAAHkAAACnAAAAlwAAALcAAACMAAAAlwAAALcAAACMAAAAqgAAAJoAAACLAAAAmQAAAIsAAAB7AAAAewAAAD8AAAB8AAAApgAAALcAAACMAAAAiAAAAJkAAACaAAAApgAAALcAAACMAAAAiAAAAJkAAACaAAAApgAAALcAAACMAAAAiAAAAJkAAACaAAAAqgAAAJkAAACKAAAAigAAAHoAAAB5AAAAegAAAHkAAACnAAAAlwAAALcAAACMAAAAlwAAALcAAACM"),t0(K,42464,"jQAAAG8AAACMAAAAjAAAAIwAAACM"),t0(K,42496,"jAAAAFwAAACJAAAAigAAAIwAAACYAAAAigAAAIsAAACZAAAASgAAAJUAAABcAAAAiwAAAGsAAAB6AAAAmAAAAIwAAACzAAAApgAAALYAAACMAAAA4wAAAHoAAADFAAAAmgAAAMQAAADEAAAApwAAAJoAAACYAAAApwAAALYAAAC2AAAAhgAAAJUAAACIAAAAmQAAAHkAAACIAAAAiQAAAKkAAADCAAAApgAAAKcAAACaAAAApwAAAIkAAAC2AAAAmgAAAMQAAACnAAAApwAAAJoAAACYAAAApwAAALYAAAC2AAAAhgAAAJUAAACIAAAAmQAAAHkAAACIAAAAegAAAKkAAADQAAAApgAAAKcAAACaAAAAmAAAAKcAAAC2AAAAigAAAJkAAACIAAAApwAAAJgAAACYAAAAawAAAKcAAABbAAAAegAAAGsAAACnAAAAawAAAKcAAABbAAAAawAAAGsAAACnAAAAyAAAALkAAACgAAAAAAAAAMCnAABVAwAAVgMAAFcDAABYAwAAMjZ0aHJlYWRfdGFza19kZWJsb2NrX0NUQlJvdwAxMXRocmVhZF90YXNrAAC8CAEAqacAAOQIAQCMpwAAuKc="),t0(K,42976,"BgcICQoLDA0ODxAREhQWGBocHiAiJCYoKiwuMDI0Njg6PD5A"),t0(K,43042,"AQEBAQEBAQEBAgICAgMDAwMEBAQFBQYGBwgJCgsNDhASFBYY"),t0(K,43088,"gLDQ8ICnxeOAnrvYe5ayzXSOqcNvh6C5aYCYr2R6kKZfdImeWm6CllVoe45RY3WHTV5vgElZaXpFVWR0QlBfbj5MWmg7SFZjOEVRXjVBTVkzPklVMDtFUC44QkwrNT9IKTI7RScwOEElLTY+IyszOyEpMDggJy41HiUrMh0jKTAbISctGh8lKxgeIykXHCEnFhsgJRUaHiMUGB0hExcbHxIWGh4RFRkcEBQXGw8TFhkOEhUYDhEUFw0QExYMDxIVDA4RFAsOEBMLDQ8SCgwPEQoMDhAJCw0PCQsMDggKDA4ICQsNBwkLDAcJCgwHCAoLBggJCwYHCQoGBwgJAgICAgECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+Pj8GBQQEAwMDAwICAgICAgICAQEBAQEBAQEBAQEBAQEBAQAAAQICBAQFBgcICQkLCwwNDQ8PEBASEhMTFRUWFhcYGBkaGhsbHB0dHh4eHyAgISEhIiIjIyMkJCQlJSUmJj8AAAAAWKoAAFkDAABaAwAAWwMAAFsDAAAAAAAAcKoAAFwDAABdAwAAXgMAAF8DAAAxNWRlY29kZXJfY29udGV4dAAxMmJhc2VfY29udGV4dAAxMWVycm9yX3F1ZXVlAAC8CAEAQaoAAEAJAQAyqgAAAAAAAAEAAABQqgAAAgQAAOQIAQAgqgAAWKoAAAAAAADkqgAAYAMAAGEDAABiAwAAuAAAAGMDAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUkxOXZpZGVvX3BhcmFtZXRlcl9zZXROU185YWxsb2NhdG9ySVMxX0VFRUUAAAAA5AgBAJiqAADYBQEAAAAAAFSrAABkAwAAZQMAAGYDAAC4AAAAZwMAAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTE3c2VxX3BhcmFtZXRlcl9zZXROU185YWxsb2NhdG9ySVMxX0VFRUUAAOQIAQAMqwAA2AUBAAAAAADEqwAAaAMAAGkDAABqAwAAuAAAAGsDAABOU3QzX18yMjBfX3NoYXJlZF9wdHJfZW1wbGFjZUkxN3BpY19wYXJhbWV0ZXJfc2V0TlNfOWFsbG9jYXRvcklTMV9FRUVFAADkCAEAfKsAANgFAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFpaWFVSTklDPTYuJh8WDQT88+rh2tLKw723sq6rqKamWldQRjkrGQn359XHurCppqapsLrH1ef3CRkrOUZQV1paUkMuFvzhyrerpqiyw9rzDSY9TlhaVUk2HwTq0r2upllLMhLuzrWnp7XO7hIyS1lZSzIS7s61p6e1zu4SMktZWEMf88quprLS/CZJWlU9FurDq6a32gQuTlpSNg3hvahXOQnVsKa65xlGWlAr98epqcf3K1BaRhnnuqaw1Qk5V1Uu872mt+omUlg2/MOmsuEfTlo9BMqortoWSVpDDdKrUyTcra3cJFNTJNytrdwkU1Mk3K2t3CRTUyTcra3cJFNSFsqmww1OVR/Spr0ESVgm2qi3/ENaLuGrsvM9WjbqrlAJuqnnOVor1abHGVdG97Cw90ZXGcem1StaOeepuglQTvyutw1VQ+qowx9aNtqm0i5aJsqm4T1YFr2r80lSBLJL7qfOMlkStbUSWTLOp+5LS+6nzjJZErW1ElkyzqfuS0nhpupOQ9qm81I90qj8VTbKqwRYLsOuDVomvbIWWh+3RtWpCVoZsMc5UOem91crurorV/em51A5x7AZWgmp1UZDyrImVeqmBFoNqOFSLrfDPUnSrh9Y86b8Whar2k42vUDAwEBAwMBAQMDAQEDAwEBAwMBAQMDAQEDAwEBAwMBAPbfSUh+o81r8phZV2rI2Q73KTiar6loEpg1Y4a4uScM5sOda96krRrrVVwmmGVDHx1AZpglX1bpGK6n3WuewOTar/FjSw1INpiZDsupa4bdJH6YWTr3aWvOuPS6oBFXKMqcSS7XuWc7OWe61SxKnMjKnEku17lnOzlnutUsSpzIupiY2ph89qBZDqw1JrgROsvxSt/NVvepYw+Faytpa0iumORmpRgmwUPe6V+fHWtXVWsfnV7r3ULAJRqkZOaYrJqhJ/L1a0uFVsg09pjYWrlLqylrD806rHy6mQwS3WNokrVPc3FOtJCStU9zcU60kJK1T3NxTrSQkrVPc3FOtJB+yWsMENqhS2upJpkPz0lWrLg29WrcWJq5Yyvw9pk7hGbpasCsJx1epOffVUKZG5+dGplDV9zmpV8cJK7BauhkWw1WmSdr8LrJarjbz4UOoWL0fDcpSpk7SBCa3Wqs96hLOS6dZtTLu7jK1WadLzhISzkunWbUy7u4ytVmnS84SDdo9slimVbc24QQW0kOuWqZSvS7q/B/KSataqE7DJvMJ5yvHRrBXplqpULo51Rn39xnVObpQqVqmV7BGxyvnCQTzFuEm0jbDQ7dOrlWoWqZaplirUrJJvT3KLtof6g38AAAAAAMAAAADAAAAAgAAAAAAAAADAAAABAAAAAQAAAAAAAAAHLAAAFUDAAC/AwAAwAMAAMEDAAAxNXRocmVhZF90YXNrX3NhbwAAAOQIAQAIsAAAuKcAAAEAAAAAAAAAAQAAAP//////////AAAAAP////8BAAAAAAAAAAEAAAABAAAAAQAAAAAAAAD///////////////8AAAAAAAAAABQ1AQAWNQEAIDUBAEA1AQDANQEAwDcB"),t0(K,45200,"FDUBAMA/AQDQPwEA8D8BAHBAAQBwQgE="),t0(K,45232,"FDUBAHBKAQCASgEAoEoBACBLAQAgTQE="),t0(K,45272,"IFUBAEBVAQDAVQEAwFcB"),t0(K,45296,"wF8BAOBfAQBgYAEAYGIB"),t0(K,45320,"YGoBAIBqAQAAawEAAG0BAHCwAACQsAAAsLA="),t0(K,45368,"IAAAABoAAAAVAAAAEQAAAA0AAAAJAAAABQAAAAIAAAAAAAAA/v////v////3////8////+/////r////5v///+D////m////6////+/////z////9/////v////+////AAAAAAIAAAAFAAAACQAAAA0AAAARAAAAFQAAABoAAAAgAAAAAAAAAADw//+a+f//cvz//4r9//8e/v//ev7//8X+//8A////xf7//3r+//8e/v//iv3//3L8//+a+f//APD//wAAAAAAAAAAAQAAAAAAAAACAAAAAQAAAAIAAAAAAAAAAwAAAAEAAAADAAAAAgAAAAMAAAABAAAAAAAAAAIAAAAAAAAAAgAAAAEAAAADAAAAAAAAAAMAAAABAAAAAwAAAAIAAAAAAAAAsLIAAMIDAADDAwAAMzBNb3Rpb25WZWN0b3JBY2Nlc3NfZGUyNjVfaW1hZ2UAMThNb3Rpb25WZWN0b3JBY2Nlc3MAAAC8CAEAkbIAAOQIAQBwsgAAqLI="),t0(K,45764,"AwAAAAMAAAACAAAAAAAAAAMAAAAEAAAABAAAAAABBAUCAwQFBgYICAcHCGMAAAAAGgAAAAoAAAABAAAAAAECAgICAwUHCAoMDQ8REhMUFRYXFxgYGRkaGxscHB0dHh8AAAAAAFizAABVAwAAxAMAAMUDAADGAwAAMjV0aHJlYWRfdGFza19zbGljZV9zZWdtZW50AOQIAQA8swAAuKcAAAAAAACUswAAVQMAAMcDAADIAwAAyQMAADE5dGhyZWFkX3Rhc2tfY3RiX3JvdwAAAOQIAQB8swAAuKcAAAEAAAACAAAAAgAAAAEAAAABAAAAAgAAAAEAAAABAAAA8SYAADNDAACRQQAAAAAAAB0AAAAeAAAAHwAAACAAAAAhAAAAIQAAACIAAAAiAAAAIwAAACMAAAAkAAAAJAAAACU="),t0(K,46096,"KAAAAC0AAAAzAAAAOQAAAEAAAABIAAAAhBsAAElDAAAEJQAAJw8="),t0(K,46148,"AQABAAwACwAKAAsAEAALACgAIQAYAAsAFAALACAACwBQACEAEgALAA8ACwBAACEAoABjAAQAAwADAAIAAgABAAAAAADyCwAA2ToAAI88AACWOgAAlDwAAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0loTlNfMTFjaGFyX3RyYWl0c0loRUVOU185YWxsb2NhdG9ySWhFRUVFAAC8CAEAnLQAAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0l3TlNfMTFjaGFyX3RyYWl0c0l3RUVOU185YWxsb2NhdG9ySXdFRUVFAAC8CAEA5LQAAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0lEc05TXzExY2hhcl90cmFpdHNJRHNFRU5TXzlhbGxvY2F0b3JJRHNFRUVFAAAAvAgBACy1AABOU3QzX18yMTJiYXNpY19zdHJpbmdJRGlOU18xMWNoYXJfdHJhaXRzSURpRUVOU185YWxsb2NhdG9ySURpRUVFRQAAALwIAQB4tQAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJY0VFAAC8CAEAxLUAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWFFRQAAvAgBAOy1AABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lzRUUAALwIAQAUtgAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAAC8CAEAPLYAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWlFRQAAvAgBAGS2AABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lqRUUAALwIAQCMtgAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAAC8CAEAtLYAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SW1FRQAAvAgBANy2AABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0l4RUUAALwIAQAEtwAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJeUVFAAC8CAEALLcAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQAAvAgBAFS3AABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lkRUUAALwIAQB8tw=="),t0(K,47024,"AwAAAAQAAAAEAAAABgAAAIP5ogBETm4A/CkVANFXJwDdNPUAYtvAADyZlQBBkEMAY1H+ALveqwC3YcUAOm4kANJNQgBJBuAACeouAByS0QDrHf4AKbEcAOg+pwD1NYIARLsuAJzphAC0JnAAQX5fANaROQBTgzkAnPQ5AItfhAAo+b0A+B87AN7/lwAPmAUAES/vAApaiwBtH20Az342AAnLJwBGT7cAnmY/AC3qXwC6J3UA5evHAD178QD3OQcAklKKAPtr6gAfsV8ACF2NADADVgB7/EYA8KtrACC8zwA29JoA46kdAF5hkQAIG+YAhZllAKAUXwCNQGgAgNj/ACdzTQAGBjEAylYVAMmocwB74mAAa4zAABnERwDNZ8MACejcAFmDKgCLdsQAphyWAESv3QAZV9EApT4FAAUH/wAzfj8AwjLoAJhP3gC7fTIAJj3DAB5r7wCf+F4ANR86AH/yygDxhx0AfJAhAGokfADVbvoAMC13ABU7QwC1FMYAwxmdAK3EwgAsTUEADABdAIZ9RgDjcS0Am8aaADNiAAC00nwAtKeXADdV1QDXPvYAoxAYAE12/ABknSoAcNerAGN8+AB6sFcAFxXnAMBJVgA71tkAp4Q4ACQjywDWincAWlQjAAAfuQDxChsAGc7fAJ8x/wBmHmoAmVdhAKz7RwB+f9gAImW3ADLoiQDmv2AA78TNAGw2CQBdP9QAFt7XAFg73gDem5IA0iIoACiG6ADiWE0AxsoyAAjjFgDgfcsAF8BQAPMdpwAY4FsALhM0AIMSYgCDSAEA9Y5bAK2wfwAe6fIASEpDABBn0wCq3dgArl9CAGphzgAKKKQA05m0AAam8gBcd38Ao8KDAGE8iACKc3gAr4xaAG/XvQAtpmMA9L/LAI2B7wAmwWcAVcpFAMrZNgAoqNIAwmGNABLJdwAEJhQAEkabAMRZxADIxUQATbKRAAAX8wDUQ60AKUnlAP3VEAAAvvwAHpTMAHDO7gATPvUA7PGAALPnwwDH+CgAkwWUAMFxPgAuCbMAC0XzAIgSnACrIHsALrWfAEeSwgB7Mi8ADFVtAHKnkABr5x8AMcuWAHkWSgBBeeIA9N+JAOiUlwDi5oQAmTGXAIjtawBfXzYAu/0OAEiatABnpGwAcXJCAI1dMgCfFbgAvOUJAI0xJQD3dDkAMAUcAA0MAQBLCGgALO5YAEeqkAB05wIAvdYkAPd9pgBuSHIAnxbvAI6UpgC0kfYA0VNRAM8K8gAgmDMA9Ut+ALJjaADdPl8AQF0DAIWJfwBVUikAN2TAAG3YEAAySDIAW0x1AE5x1ABFVG4ACwnBACr1aQAUZtUAJwedAF0EUAC0O9sA6nbFAIf5FwBJa30AHSe6AJZpKQDGzKwArRRUAJDiagCI2YkALHJQAASkvgB3B5QA8zBwAAD8JwDqcagAZsJJAGTgPQCX3YMAoz+XAEOU/QANhowAMUHeAJI5nQDdcIwAF7fnAAjfOwAVNysAXICgAFqAkwAQEZIAD+jYAGyArwDb/0sAOJAPAFkYdgBipRUAYcu7AMeJuQAQQL0A0vIEAEl1JwDrtvYA2yK7AAoUqgCJJi8AZIN2AAk7MwAOlBoAUTqqAB2jwgCv7a4AXCYSAG3CTQAtepwAwFaXAAM/gwAJ8PYAK0CMAG0xmQA5tAcADCAVANjDWwD1ksQAxq1LAE7KpQCnN80A5qk2AKuSlADdQmgAGWPeAHaM7wBoi1IA/Ns3AK6hqwDfFTEAAK6hAAz72gBkTWYA7QW3ACllMABXVr8AR/86AGr5uQB1vvMAKJPfAKuAMABmjPYABMsVAPoiBgDZ5B0APbOkAFcbjwA2zQkATkLpABO+pAAzI7UA8KoaAE9lqADSwaUACz8PAFt4zQAj+XYAe4sEAIkXcgDGplMAb27iAO/rAACbSlgAxNq3AKpmugB2z88A0QIdALHxLQCMmcEAw613AIZI2gD3XaAAxoD0AKzwLwDd7JoAP1y8ANDebQCQxx8AKtu2AKMlOgAAr5oArVOTALZXBAApLbQAS4B+ANoHpwB2qg4Ae1mhABYSKgDcty0A+uX9AInb/gCJvv0A5HZsAAap/AA+gHAAhW4VAP2H/wAoPgcAYWczACoYhgBNveoAs+evAI9tbgCVZzkAMb9bAITXSAAw3xYAxy1DACVhNQDJcM4AMMu4AL9s/QCkAKIABWzkAFrdoAAhb0cAYhLSALlchABwYUkAa1bgAJlSAQBQVTcAHtW3ADPxxAATbl8AXTDkAIUuqQAdssMAoTI2AAi3pADqsdQAFvchAI9p5AAn/3cADAOAAI1ALQBPzaAAIKWZALOi0wAvXQoAtPlCABHaywB9vtAAm9vBAKsXvQDKooEACGpcAC5VFwAnAFUAfxTwAOEHhgAUC2QAlkGNAIe+3gDa/SoAayW2AHuJNAAF8/4Aub+eAGhqTwBKKqgAT8RaAC34vADXWpgA9MeVAA1NjQAgOqYApFdfABQ/sQCAOJUAzCABAHHdhgDJ3rYAv2D1AE1lEQABB2sAjLCsALLA0ABRVUgAHvsOAJVywwCjBjsAwEA1AAbcewDgRcwATin6ANbKyADo80EAfGTeAJtk2ADZvjEApJfDAHdY1ABp48UA8NoTALo6PABGGEYAVXVfANK99QBuksYArC5dAA5E7QAcPkIAYcSHACn96QDn1vMAInzKAG+RNQAI4MUA/9eNAG5q4gCw/cYAkwjBAHxddABrrbIAzW6dAD5yewDGEWoA98+pAClz3wC1yboAtwBRAOKyDQB0uiQA5X1gAHTYigANFSwAgRgMAH5mlAABKRYAn3p2AP39vgBWRe8A2X42AOzZEwCLurkAxJf8ADGoJwDxbsMAlMU2ANioVgC0qLUAz8wOABKJLQBvVzQALFaJAJnO4wDWILkAa16qAD4qnAARX8wA/QtKAOH0+wCOO20A4oYsAOnUhAD8tKkA7+7RAC41yQAvOWEAOCFEABvZyACB/AoA+0pqAC8c2ABTtIQATpmMAFQizAAqVdwAwMbWAAsZlgAacLgAaZVkACZaYAA/Uu4AfxEPAPS1EQD8y/UANLwtADS87gDoXcwA3V5gAGeOmwCSM+8AyRe4AGFYmwDhV7wAUYPGANg+EADdcUgALRzdAK8YoQAhLEYAWfPXANl6mACeVMAAT4b6AFYG/ADlea4AiSI2ADitIgBnk9wAVeiqAIImOADK55sAUQ2kAJkzsQCp1w4AaQVIAGWy8AB/iKcAiEyXAPnRNgAhkrMAe4JKAJjPIQBAn9wA3EdVAOF0OgBn60IA/p3fAF7UXwB7Z6QAuqx6AFX2ogAriCMAQbpVAFluCAAhKoYAOUeDAInj5gDlntQASftAAP9W6QAcD8oAxVmKAJT6KwDTwcUAD8XPANtargBHxYYAhUNiACGGOwAseZQAEGGHACpMewCALBoAQ78SAIgmkAB4PIkAqMTkAOXbewDEOsIAJvTqAPdnigANkr8AZaMrAD2TsQC9fAsApFHcACfdYwBp4d0AmpQZAKgplQBozigACe20AESfIABOmMoAcIJjAH58IwAPuTIAp/WOABRW5wAh8QgAtZ0qAG9+TQClGVEAtfmrAILf1gCW3WEAFjYCAMQ6nwCDoqEAcu1tADmNegCCuKkAazJcAEYnWwAANO0A0gB3APz0VQABWU0A4HGA"),t0(K,49811,"QPsh+T8AAAAALUR0PgAAAICYRvg8AAAAYFHMeDsAAACAgxvwOQAAAEAgJXo4AAAAgCKC4zYAAAAAHfNpNdAvAQBoMAEATm8gZXJyb3IgaW5mb3JtYXRpb24ASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATXVsdGlob3AgYXR0ZW1wdGVkAFJlcXVpcmVkIGtleSBub3QgYXZhaWxhYmxlAEtleSBoYXMgZXhwaXJlZABLZXkgaGFzIGJlZW4gcmV2b2tlZABLZXkgd2FzIHJlamVjdGVkIGJ5IHNlcnZpY2U="),t0(K,51810,"pQJbAPABtQWMBSUBgwYdA5QE/wDHAzEDCwa8AY8BfwPKBCsA2gavAEIDTgPcAQ4EFQChBg0BlAILAjgGZAK8Av8CXQPnBAsHzwLLBe8F2wXhAh4GRQKFAIICbANvBPEA8wMYBdkA2gNMBlQCewGdA70EAABRABUCuwCzA20A/wGFBC8F+QQ4AGUBRgGfALcGqAFzAlMB"),t0(K,52008,"IQQAAAAAAAAAAC8C"),t0(K,52040,"NQRHBFYE"),t0(K,52062,"oAQ="),t0(K,52082,"RgVgBW4FYQYAAM8BAAAAAAAAAADJBukG+QYeBzkHSQdeBw=="),t0(K,52128,"GQALABkZGQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAAZAAoKGRkZAwoHAAEACQsYAAAJBgsAAAsABhkAAAAZGRk="),t0(K,52209,"DgAAAAAAAAAAGQALDRkZGQANAAACAAkOAAAACQAOAAAO"),t0(K,52267,"DA=="),t0(K,52279,"EwAAAAATAAAAAAkMAAAAAAAMAAAM"),t0(K,52325,"EA=="),t0(K,52337,"DwAAAAQPAAAAAAkQAAAAAAAQAAAQ"),t0(K,52383,"Eg=="),t0(K,52395,"EQAAAAARAAAAAAkSAAAAAAASAAASAAAaAAAAGhoa"),t0(K,52450,"GgAAABoaGgAAAAAAAAk="),t0(K,52499,"FA=="),t0(K,52511,"FwAAAAAXAAAAAAkUAAAAAAAUAAAU"),t0(K,52557,"Fg=="),t0(K,52569,"FQAAAAAVAAAAAAkWAAAAAAAWAAAWAAAwMTIzNDU2Nzg5QUJDREVG"),t0(K,52644,"0gM="),t0(K,52684,"//////////8="),t0(K,52756,"AgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAfwAAAIMAAACJAAAAiwAAAJUAAACXAAAAnQAAAKMAAACnAAAArQAAALMAAAC1AAAAvwAAAMEAAADFAAAAxwAAANMAAAABAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB5AAAAfwAAAIMAAACJAAAAiwAAAI8AAACVAAAAlwAAAJ0AAACjAAAApwAAAKkAAACtAAAAswAAALUAAAC7AAAAvwAAAMEAAADFAAAAxwAAANEAAAAAAAAAJNIAANUDAADWAwAA1wMAANgDAADZAwAA2gMAANsDAADcAwAA3QMAAN4DAADfAwAA4AMAAOEDAADiAwAACAAAAAAAAABc0gAA4wMAAOQDAAD4////+P///1zSAADlAwAA5gMAANzPAADwzwAABAAAAAAAAACk0gAA5wMAAOgDAAD8/////P///6TSAADpAwAA6gMAAAzQAAAg0AAADAAAAAAAAAA80wAA6wMAAOwDAAAEAAAA+P///zzTAADtAwAA7gMAAPT////0////PNMAAO8DAADwAwAAPNAAAMjSAADc0gAA8NIAAATTAABk0AAAUNAAAAAAAADY0wAA8QMAAPIDAADzAwAA9AMAAPUDAAD2AwAA9wMAAPgDAAD5AwAA+gMAAPsDAAD8AwAA/QMAAP4DAAAIAAAAAAAAABDUAAD/AwAAAAQAAPj////4////ENQAAAEEAAACBAAA1NAAAOjQAAAEAAAAAAAAAFjUAAADBAAABAQAAPz////8////WNQAAAUEAAAGBAAABNEAABjRAAAAAAAAtNQAAAcEAAAIBAAA1wMAANgDAAAJBAAACgQAANsDAADcAwAA3QMAAAsEAADfAwAADAQAAOEDAAANBAAAAAAAACDYAAAOBAAADwQAABAEAAARBAAAEgQAABMEAAAUBAAA3AMAAN0DAAAVBAAA3wMAABYEAADhAwAAFwQAAAAAAADk0QAAGAQAABkEAABOU3QzX18yOWJhc2ljX2lvc0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQAAAOQIAQC40QAAUNgAAE5TdDNfXzIxNWJhc2ljX3N0cmVhbWJ1ZkljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQAAAAC8CAEA8NEAAE5TdDNfXzIxM2Jhc2ljX2lzdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFRUUAAEAJAQAs0gAAAAAAAAEAAADk0QAAA/T//05TdDNfXzIxM2Jhc2ljX29zdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFRUUAAEAJAQB00gAAAAAAAAEAAADk0QAAA/T//wwAAAAAAAAAXNIAAOMDAADkAwAA9P////T///9c0gAA5QMAAOYDAAAEAAAAAAAAAKTSAADnAwAA6AMAAPz////8////pNIAAOkDAADqAwAATlN0M19fMjE0YmFzaWNfaW9zdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFRUUAQAkBAAzTAAADAAAAAgAAAFzSAAACAAAApNIAAAIIAAAAAAAAmNMAABoEAAAbBAAATlN0M19fMjliYXNpY19pb3NJd05TXzExY2hhcl90cmFpdHNJd0VFRUUAAADkCAEAbNMAAFDYAABOU3QzX18yMTViYXNpY19zdHJlYW1idWZJd05TXzExY2hhcl90cmFpdHNJd0VFRUUAAAAAvAgBAKTTAABOU3QzX18yMTNiYXNpY19pc3RyZWFtSXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFAABACQEA4NMAAAAAAAABAAAAmNMAAAP0//9OU3QzX18yMTNiYXNpY19vc3RyZWFtSXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFAABACQEAKNQAAAAAAAABAAAAmNMAAAP0//9OU3QzX18yMTViYXNpY19zdHJpbmdidWZJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQAAAOQIAQBw1AAAJNIAAEAAAAAAAAAA+NUAABwEAAAdBAAAOAAAAPj////41QAAHgQAAB8EAADA////wP////jVAAAgBAAAIQQAAMzUAAAw1QAAbNUAAIDVAACU1QAAqNUAAFjVAABE1QAA9NQAAODUAABAAAAAAAAAADzTAADrAwAA7AMAADgAAAD4////PNMAAO0DAADuAwAAwP///8D///880wAA7wMAAPADAABAAAAAAAAAAFzSAADjAwAA5AMAAMD////A////XNIAAOUDAADmAwAAOAAAAAAAAACk0gAA5wMAAOgDAADI////yP///6TSAADpAwAA6gMAAE5TdDNfXzIxOGJhc2ljX3N0cmluZ3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAAAAAOQIAQCw1QAAPNMAADgAAAAAAAAArNYAACIEAAAjBAAAyP///8j///+s1gAAJAQAACUEAAAQ1gAASNYAAFzWAAAk1gAAOAAAAAAAAACk0gAA5wMAAOgDAADI////yP///6TSAADpAwAA6gMAAE5TdDNfXzIxOWJhc2ljX29zdHJpbmdzdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQAAAOQIAQBk1gAApNIAAGwAAAAAAAAASNcAACYEAAAnBAAAlP///5T///9I1wAAKAQAACkEAADE1gAA/NYAABDXAADY1gAAbAAAAAAAAABc0gAA4wMAAOQDAACU////lP///1zSAADlAwAA5gMAAE5TdDNfXzIxNGJhc2ljX2lmc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAOQIAQAY1wAAXNIAAGgAAAAAAAAA5NcAACoEAAArBAAAmP///5j////k1wAALAQAAC0EAABg1wAAmNcAAKzXAAB01wAAaAAAAAAAAACk0gAA5wMAAOgDAACY////mP///6TSAADpAwAA6gMAAE5TdDNfXzIxNGJhc2ljX29mc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAOQIAQC01wAApNIAAE5TdDNfXzIxM2Jhc2ljX2ZpbGVidWZJY05TXzExY2hhcl90cmFpdHNJY0VFRUUAAOQIAQDw1wAAJNIAAAAAAABQ2AAALgQAAC8EAABOU3QzX18yOGlvc19iYXNlRQAAALwIAQA82AAAADEBAAAAAADeEgSVAAAAAP///////////////2DYAAAUAAAAQy5VVEYtOA=="),t0(K,55472,"dNg="),t0(K,55504,"AgAAwAMAAMAEAADABQAAwAYAAMAHAADACAAAwAkAAMAKAADACwAAwAwAAMANAADADgAAwA8AAMAQAADAEQAAwBIAAMATAADAFAAAwBUAAMAWAADAFwAAwBgAAMAZAADAGgAAwBsAAMAcAADAHQAAwB4AAMAfAADAAAAAswEAAMMCAADDAwAAwwQAAMMFAADDBgAAwwcAAMMIAADDCQAAwwoAAMMLAADDDAAAww0AANMOAADDDwAAwwAADLsBAAzDAgAMwwMADMMEAAzbAAAAAPTZAADVAwAAMQQAADIEAADYAwAA2QMAANoDAADbAwAA3AMAAN0DAAAzBAAANAQAADUEAADhAwAA4gMAAE5TdDNfXzIxMF9fc3RkaW5idWZJY0VFAOQIAQDc2QAAJNIAAAAAAABc2gAA1QMAADYEAAA3BAAA2AMAANkDAADaAwAAOAQAANwDAADdAwAA3gMAAN8DAADgAwAAOQQAADoEAABOU3QzX18yMTFfX3N0ZG91dGJ1ZkljRUUAAAAA5AgBAEDaAAAk0gAAAAAAAMDaAADxAwAAOwQAADwEAAD0AwAA9QMAAPYDAAD3AwAA+AMAAPkDAAA9BAAAPgQAAD8EAAD9AwAA/gMAAE5TdDNfXzIxMF9fc3RkaW5idWZJd0VFAOQIAQCo2gAA2NMAAAAAAAAo2wAA8QMAAEAEAABBBAAA9AMAAPUDAAD2AwAAQgQAAPgDAAD5AwAA+gMAAPsDAAD8AwAAQwQAAEQEAABOU3QzX18yMTFfX3N0ZG91dGJ1Zkl3RUUAAAAA5AgBAAzbAADY0w=="),t0(K,56128,"0XSeAFedvSqAcFIP//8+JwoAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUFGAAAADUAAABxAAAAa////877//+Sv///AAAAAAAAAAD/////////////////////////////////////////////////////////////////AAECAwQFBgcICf////////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wABAgQHAwYFAAAAAAAAAExDX0NUWVBFAAAAAExDX05VTUVSSUMAAExDX1RJTUUAAAAAAExDX0NPTExBVEUAAExDX01PTkVUQVJZAExDX01FU1NBR0VT"),t0(K,56564,"gN4oAIDITQAAp3YAADSeAIASxwCAn+4AAH4XAYBcQAGA6WcBAMiQAQBVuAFVVEMALg=="),t0(K,56624,"U3VuAE1vbgBUdWUAV2VkAFRodQBGcmkAU2F0AFN1bmRheQBNb25kYXkAVHVlc2RheQBXZWRuZXNkYXkAVGh1cnNkYXkARnJpZGF5AFNhdHVyZGF5AEphbgBGZWIATWFyAEFwcgBNYXkASnVuAEp1bABBdWcAU2VwAE9jdABOb3YARGVjAEphbnVhcnkARmVicnVhcnkATWFyY2gAQXByaWwATWF5AEp1bmUASnVseQBBdWd1c3QAU2VwdGVtYmVyAE9jdG9iZXIATm92ZW1iZXIARGVjZW1iZXIAQU0AUE0AJWEgJWIgJWUgJVQgJVkAJW0vJWQvJXkAJUg6JU06JVMAJUk6JU06JVMgJXAAAAAlbS8lZC8leQAwMTIzNDU2Nzg5ACVhICViICVlICVUICVZACVIOiVNOiVTAAAAAABeW3lZXQBeW25OXQB5ZXMAbm8AAJDg"),t0(K,57492,"AQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACAAAAAhAAAAIgAAACMAAAAkAAAAJQAAACYAAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAAAA5AAAAOgAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAEEAAABCAAAAQwAAAEQAAABFAAAARgAAAEcAAABIAAAASQAAAEoAAABLAAAATAAAAE0AAABOAAAATwAAAFAAAABRAAAAUgAAAFMAAABUAAAAVQAAAFYAAABXAAAAWAAAAFkAAABaAAAAWwAAAFwAAABdAAAAXgAAAF8AAABgAAAAQQAAAEIAAABDAAAARAAAAEUAAABGAAAARwAAAEgAAABJAAAASgAAAEsAAABMAAAATQAAAE4AAABPAAAAUAAAAFEAAABSAAAAUwAAAFQAAABVAAAAVgAAAFcAAABYAAAAWQAAAFoAAAB7AAAAfAAAAH0AAAB+AAAAfw=="),t0(K,58512,"oOY="),t0(K,59044,"AQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACAAAAAhAAAAIgAAACMAAAAkAAAAJQAAACYAAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAAAA5AAAAOgAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAGEAAABiAAAAYwAAAGQAAABlAAAAZgAAAGcAAABoAAAAaQAAAGoAAABrAAAAbAAAAG0AAABuAAAAbwAAAHAAAABxAAAAcgAAAHMAAAB0AAAAdQAAAHYAAAB3AAAAeAAAAHkAAAB6AAAAWwAAAFwAAABdAAAAXgAAAF8AAABgAAAAYQAAAGIAAABjAAAAZAAAAGUAAABmAAAAZwAAAGgAAABpAAAAagAAAGsAAABsAAAAbQAAAG4AAABvAAAAcAAAAHEAAAByAAAAcwAAAHQAAAB1AAAAdgAAAHcAAAB4AAAAeQAAAHoAAAB7AAAAfAAAAH0AAAB+AAAAfw=="),t0(K,60064,"MDEyMzQ1Njc4OWFiY2RlZkFCQ0RFRnhYKy1wUGlJbk4AJUk6JU06JVMgJXAlSDolTQ=="),t0(K,60128,"JQAAAG0AAAAvAAAAJQAAAGQAAAAvAAAAJQAAAHkAAAAlAAAAWQAAAC0AAAAlAAAAbQAAAC0AAAAlAAAAZAAAACUAAABJAAAAOgAAACUAAABNAAAAOgAAACUAAABTAAAAIAAAACUAAABwAAAAAAAAACUAAABIAAAAOgAAACUAAABN"),t0(K,60272,"JQAAAEgAAAA6AAAAJQAAAE0AAAA6AAAAJQAAAFMAAAAAAAAA5PQAAFoEAABbBAAAXAQAAAAAAABE9QAAXQQAAF4EAABcBAAAXwQAAGAEAABhBAAAYgQAAGMEAABkBAAAZQQAAGYE"),t0(K,60384,"BAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABQIAAAUAAAAFAAAABQAAAAUAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAADAgAAggAAAIIAAACCAAAAggAAAIIAAACCAAAAggAAAIIAAACCAAAAggAAAIIAAACCAAAAggAAAIIAAACCAAAAQgEAAEIBAABCAQAAQgEAAEIBAABCAQAAQgEAAEIBAABCAQAAQgEAAIIAAACCAAAAggAAAIIAAACCAAAAggAAAIIAAAAqAQAAKgEAACoBAAAqAQAAKgEAACoBAAAqAAAAKgAAACoAAAAqAAAAKgAAACoAAAAqAAAAKgAAACoAAAAqAAAAKgAAACoAAAAqAAAAKgAAACoAAAAqAAAAKgAAACoAAAAqAAAAKgAAAIIAAACCAAAAggAAAIIAAACCAAAAggAAADIBAAAyAQAAMgEAADIBAAAyAQAAMgEAADIAAAAyAAAAMgAAADIAAAAyAAAAMgAAADIAAAAyAAAAMgAAADIAAAAyAAAAMgAAADIAAAAyAAAAMgAAADIAAAAyAAAAMgAAADIAAAAyAAAAggAAAIIAAACCAAAAggAAAAQ="),t0(K,61412,"rPQAAGcEAABoBAAAXAQAAGkEAABqBAAAawQAAGwEAABtBAAAbgQAAG8EAAAAAAAAfPUAAHAEAABxBAAAXAQAAHIEAABzBAAAdAQAAHUEAAB2BAAAAAAAAKD1AAB3BAAAeAQAAFwEAAB5BAAAegQAAHsEAAB8BAAAfQQAAHQAAAByAAAAdQAAAGUAAAAAAAAAZgAAAGEAAABsAAAAcwAAAGUAAAAAAAAAJQAAAG0AAAAvAAAAJQAAAGQAAAAvAAAAJQAAAHkAAAAAAAAAJQAAAEgAAAA6AAAAJQAAAE0AAAA6AAAAJQAAAFMAAAAAAAAAJQAAAGEAAAAgAAAAJQAAAGIAAAAgAAAAJQAAAGQAAAAgAAAAJQAAAEgAAAA6AAAAJQAAAE0AAAA6AAAAJQAAAFMAAAAgAAAAJQAAAFkAAAAAAAAAJQAAAEkAAAA6AAAAJQAAAE0AAAA6AAAAJQAAAFMAAAAgAAAAJQAAAHA="),t0(K,61788,"hPEAAH4EAAB/BAAAXAQAAE5TdDNfXzI2bG9jYWxlNWZhY2V0RQAAAOQIAQBs8QAAsAUBAAAAAAAE8gAAfgQAAIAEAABcBAAAgQQAAIIEAACDBAAAhAQAAIUEAACGBAAAhwQAAIgEAACJBAAAigQAAIsEAACMBAAATlN0M19fMjVjdHlwZUl3RUUATlN0M19fMjEwY3R5cGVfYmFzZUUAALwIAQDm8QAAQAkBANTxAAAAAAAAAgAAAITxAAACAAAA/PEAAAIAAAAAAAAAmPIAAH4EAACNBAAAXAQAAI4EAACPBAAAkAQAAJEEAACSBAAAkwQAAJQEAABOU3QzX18yN2NvZGVjdnRJY2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjEyY29kZWN2dF9iYXNlRQAAAAC8CAEAdvIAAEAJAQBU8gAAAAAAAAIAAACE8QAAAgAAAJDyAAACAAAAAAAAAAzzAAB+BAAAlQQAAFwEAACWBAAAlwQAAJgEAACZBAAAmgQAAJsEAACcBAAATlN0M19fMjdjb2RlY3Z0SURzYzExX19tYnN0YXRlX3RFRQAAQAkBAOjyAAAAAAAAAgAAAITxAAACAAAAkPIAAAIAAAAAAAAAgPMAAH4EAACdBAAAXAQAAJ4EAACfBAAAoAQAAKEEAACiBAAAowQAAKQEAABOU3QzX18yN2NvZGVjdnRJRHNEdTExX19tYnN0YXRlX3RFRQBACQEAXPMAAAAAAAACAAAAhPEAAAIAAACQ8gAAAgAAAAAAAAD08wAAfgQAAKUEAABcBAAApgQAAKcEAACoBAAAqQQAAKoEAACrBAAArAQAAE5TdDNfXzI3Y29kZWN2dElEaWMxMV9fbWJzdGF0ZV90RUUAAEAJAQDQ8wAAAAAAAAIAAACE8QAAAgAAAJDyAAACAAAAAAAAAGj0AAB+BAAArQQAAFwEAACuBAAArwQAALAEAACxBAAAsgQAALMEAAC0BAAATlN0M19fMjdjb2RlY3Z0SURpRHUxMV9fbWJzdGF0ZV90RUUAQAkBAET0AAAAAAAAAgAAAITxAAACAAAAkPIAAAIAAABOU3QzX18yN2NvZGVjdnRJd2MxMV9fbWJzdGF0ZV90RUUAAABACQEAiPQAAAAAAAACAAAAhPEAAAIAAACQ8gAAAgAAAE5TdDNfXzI2bG9jYWxlNV9faW1wRQAAAOQIAQDM9AAAhPEAAE5TdDNfXzI3Y29sbGF0ZUljRUUA5AgBAPD0AACE8QAATlN0M19fMjdjb2xsYXRlSXdFRQDkCAEAEPUAAITxAABOU3QzX18yNWN0eXBlSWNFRQAAAEAJAQAw9QAAAAAAAAIAAACE8QAAAgAAAPzxAAACAAAATlN0M19fMjhudW1wdW5jdEljRUUAAAAA5AgBAGT1AACE8QAATlN0M19fMjhudW1wdW5jdEl3RUUAAAAA5AgBAIj1AACE8QAAAAAAAAT1AAC1BAAAtgQAAFwEAAC3BAAAuAQAALkEAAAAAAAAJPUAALoEAAC7BAAAXAQAALwEAAC9BAAAvgQAAAAAAADA9gAAfgQAAL8EAABcBAAAwAQAAMEEAADCBAAAwwQAAMQEAADFBAAAxgQAAMcEAADIBAAAyQQAAMoEAABOU3QzX18yN251bV9nZXRJY05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzI5X19udW1fZ2V0SWNFRQBOU3QzX18yMTRfX251bV9nZXRfYmFzZUUAALwIAQCG9gAAQAkBAHD2AAAAAAAAAQAAAKD2AAAAAAAAQAkBACz2AAAAAAAAAgAAAITxAAACAAAAqPY="),t0(K,63204,"lPcAAH4EAADLBAAAXAQAAMwEAADNBAAAzgQAAM8EAADQBAAA0QQAANIEAADTBAAA1AQAANUEAADWBAAATlN0M19fMjdudW1fZ2V0SXdOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yOV9fbnVtX2dldEl3RUUAAABACQEAZPcAAAAAAAABAAAAoPYAAAAAAABACQEAIPcAAAAAAAACAAAAhPEAAAIAAAB89w=="),t0(K,63416,"fPgAAH4EAADXBAAAXAQAANgEAADZBAAA2gQAANsEAADcBAAA3QQAAN4EAADfBAAATlN0M19fMjdudW1fcHV0SWNOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yOV9fbnVtX3B1dEljRUUATlN0M19fMjE0X19udW1fcHV0X2Jhc2VFAAC8CAEAQvgAAEAJAQAs+AAAAAAAAAEAAABc+AAAAAAAAEAJAQDo9wAAAAAAAAIAAACE8QAAAgAAAGT4"),t0(K,63648,"RPkAAH4EAADgBAAAXAQAAOEEAADiBAAA4wQAAOQEAADlBAAA5gQAAOcEAADoBAAATlN0M19fMjdudW1fcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yOV9fbnVtX3B1dEl3RUUAAABACQEAFPkAAAAAAAABAAAAXPgAAAAAAABACQEA0PgAAAAAAAACAAAAhPEAAAIAAAAs+Q=="),t0(K,63848,"RPoAAOkEAADqBAAAXAQAAOsEAADsBAAA7QQAAO4EAADvBAAA8AQAAPEEAAD4////RPoAAPIEAADzBAAA9AQAAPUEAAD2BAAA9wQAAPgEAABOU3QzX18yOHRpbWVfZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yOXRpbWVfYmFzZUUAvAgBAP35AABOU3QzX18yMjBfX3RpbWVfZ2V0X2Nfc3RvcmFnZUljRUUAAAC8CAEAGPoAAEAJAQC4+QAAAAAAAAMAAACE8QAAAgAAABD6AAACAAAAPPoAAAAIAAAAAAAAMPsAAPkEAAD6BAAAXAQAAPsEAAD8BAAA/QQAAP4EAAD/BAAAAAUAAAEFAAD4////MPsAAAIFAAADBQAABAUAAAUFAAAGBQAABwUAAAgFAABOU3QzX18yOHRpbWVfZ2V0SXdOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMjBfX3RpbWVfZ2V0X2Nfc3RvcmFnZUl3RUUAALwIAQAF+wAAQAkBAMD6AAAAAAAAAwAAAITxAAACAAAAEPoAAAIAAAAo+wAAAAgAAAAAAADU+wAACQUAAAoFAABcBAAACwUAAE5TdDNfXzI4dGltZV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMF9fdGltZV9wdXRFAAAAvAgBALX7AABACQEAcPsAAAAAAAACAAAAhPEAAAIAAADM+wAAAAgAAAAAAABU/AAADAUAAA0FAABcBAAADgUAAE5TdDNfXzI4dGltZV9wdXRJd05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAAAAAEAJAQAM/AAAAAAAAAIAAACE8QAAAgAAAMz7AAAACAAAAAAAAOj8AAB+BAAADwUAAFwEAAAQBQAAEQUAABIFAAATBQAAFAUAABUFAAAWBQAAFwUAABgFAABOU3QzX18yMTBtb25leXB1bmN0SWNMYjBFRUUATlN0M19fMjEwbW9uZXlfYmFzZUUAAAAAvAgBAMj8AABACQEArPwAAAAAAAACAAAAhPEAAAIAAADg/AAAAgAAAAAAAABc/QAAfgQAABkFAABcBAAAGgUAABsFAAAcBQAAHQUAAB4FAAAfBQAAIAUAACEFAAAiBQAATlN0M19fMjEwbW9uZXlwdW5jdEljTGIxRUVFAEAJAQBA/QAAAAAAAAIAAACE8QAAAgAAAOD8AAACAAAAAAAAAND9AAB+BAAAIwUAAFwEAAAkBQAAJQUAACYFAAAnBQAAKAUAACkFAAAqBQAAKwUAACwFAABOU3QzX18yMTBtb25leXB1bmN0SXdMYjBFRUUAQAkBALT9AAAAAAAAAgAAAITxAAACAAAA4PwAAAIAAAAAAAAARP4AAH4EAAAtBQAAXAQAAC4FAAAvBQAAMAUAADEFAAAyBQAAMwUAADQFAAA1BQAANgUAAE5TdDNfXzIxMG1vbmV5cHVuY3RJd0xiMUVFRQBACQEAKP4AAAAAAAACAAAAhPEAAAIAAADg/AAAAgAAAAAAAADo/gAAfgQAADcFAABcBAAAOAUAADkFAABOU3QzX18yOW1vbmV5X2dldEljTlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFRUUATlN0M19fMjExX19tb25leV9nZXRJY0VFAAC8CAEAxv4AAEAJAQCA/gAAAAAAAAIAAACE8QAAAgAAAOD+"),t0(K,65292,"jP8AAH4EAAA6BQAAXAQAADsFAAA8BQAATlN0M19fMjltb25leV9nZXRJd05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfZ2V0SXdFRQAAvAgBAGr/AABACQEAJP8AAAAAAAACAAAAhPEAAAIAAACE/w=="),t0(K,65456,"MAABAH4EAAA9BQAAXAQAAD4FAAA/BQAATlN0M19fMjltb25leV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfcHV0SWNFRQAAvAgBAA4AAQBACQEAyP8AAAAAAAACAAAAhPEAAAIAAAAoAAE="),t0(K,65620,"1AABAH4EAABABQAAXAQAAEEFAABCBQAATlN0M19fMjltb25leV9wdXRJd05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfcHV0SXdFRQAAvAgBALIAAQBACQEAbAABAAAAAAACAAAAhPEAAAIAAADMAAE="),t0(K,65784,"TAEBAH4EAABDBQAAXAQAAEQFAABFBQAARgUAAE5TdDNfXzI4bWVzc2FnZXNJY0VFAE5TdDNfXzIxM21lc3NhZ2VzX2Jhc2VFAAAAALwIAQApAQEAQAkBABQBAQAAAAAAAgAAAITxAAACAAAARAEBAAIAAAAAAAAApAEBAH4EAABHBQAAXAQAAEgFAABJBQAASgUAAE5TdDNfXzI4bWVzc2FnZXNJd0VFAAAAAEAJAQCMAQEAAAAAAAIAAACE8QAAAgAAAEQBAQACAAAAUwAAAHUAAABuAAAAZAAAAGEAAAB5AAAAAAAAAE0AAABvAAAAbgAAAGQAAABhAAAAeQAAAAAAAABUAAAAdQAAAGUAAABzAAAAZAAAAGEAAAB5AAAAAAAAAFcAAABlAAAAZAAAAG4AAABlAAAAcwAAAGQAAABhAAAAeQAAAAAAAABUAAAAaAAAAHUAAAByAAAAcwAAAGQAAABhAAAAeQAAAAAAAABGAAAAcgAAAGkAAABkAAAAYQAAAHkAAAAAAAAAUwAAAGEAAAB0AAAAdQAAAHIAAABkAAAAYQAAAHkAAAAAAAAAUwAAAHUAAABuAAAAAAAAAE0AAABvAAAAbgAAAAAAAABUAAAAdQAAAGUAAAAAAAAAVwAAAGUAAABkAAAAAAAAAFQAAABoAAAAdQAAAAAAAABGAAAAcgAAAGkAAAAAAAAAUwAAAGEAAAB0AAAAAAAAAEoAAABhAAAAbgAAAHUAAABhAAAAcgAAAHkAAAAAAAAARgAAAGUAAABiAAAAcgAAAHUAAABhAAAAcgAAAHkAAAAAAAAATQAAAGEAAAByAAAAYwAAAGgAAAAAAAAAQQAAAHAAAAByAAAAaQAAAGwAAAAAAAAATQAAAGEAAAB5AAAAAAAAAEoAAAB1AAAAbgAAAGUAAAAAAAAASgAAAHUAAABsAAAAeQAAAAAAAABBAAAAdQAAAGcAAAB1AAAAcwAAAHQAAAAAAAAAUwAAAGUAAABwAAAAdAAAAGUAAABtAAAAYgAAAGUAAAByAAAAAAAAAE8AAABjAAAAdAAAAG8AAABiAAAAZQAAAHIAAAAAAAAATgAAAG8AAAB2AAAAZQAAAG0AAABiAAAAZQAAAHIAAAAAAAAARAAAAGUAAABjAAAAZQAAAG0AAABiAAAAZQAAAHIAAAAAAAAASgAAAGEAAABuAAAAAAAAAEYAAABlAAAAYgAAAAAAAABNAAAAYQAAAHIAAAAAAAAAQQAAAHAAAAByAAAAAAAAAEoAAAB1AAAAbgAAAAAAAABKAAAAdQAAAGwAAAAAAAAAQQAAAHUAAABnAAAAAAAAAFMAAABlAAAAcAAAAAAAAABPAAAAYwAAAHQAAAAAAAAATgAAAG8AAAB2AAAAAAAAAEQAAABlAAAAYwAAAAAAAABBAAAATQAAAAAAAABQAAAATQ=="),t0(K,66876,"PPoAAPIEAADzBAAA9AQAAPUEAAD2BAAA9wQAAPgEAAAAAAAAKPsAAAIFAAADBQAABAUAAAUFAAAGBQAABwUAAAgFAAAAAAAAsAUBAEsFAABMBQAAWwMAAE5TdDNfXzIxNF9fc2hhcmVkX2NvdW50RQAAAAC8CAEAlAUBAE5TdDNfXzIxOV9fc2hhcmVkX3dlYWtfY291bnRFAAAAQAkBALgFAQAAAAAAAQAAALAFAQ=="),t0(K,67060,"HAYBAJcBAABNBQAATgUAAE5TdDNfXzIxMmJhZF93ZWFrX3B0ckUAAOQIAQAEBgEA/AkBAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAAAAAOQIAQAoBgEA8AoBAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQAAAOQIAQBYBgEATAYBAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQAAAOQIAQCIBgEATAYBAE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FAOQIAQC4BgEArAYBAE4xMF9fY3h4YWJpdjEyMF9fZnVuY3Rpb25fdHlwZV9pbmZvRQAAAADkCAEA6AYBAEwGAQBOMTBfX2N4eGFiaXYxMjlfX3BvaW50ZXJfdG9fbWVtYmVyX3R5cGVfaW5mb0UAAADkCAEAHAcBAKwGAQAAAAAAnAcBAE8FAABQBQAAUQUAAFIFAABTBQAATjEwX19jeHhhYml2MTIzX19mdW5kYW1lbnRhbF90eXBlX2luZm9FAOQIAQB0BwEATAYBAHYAAABgBwEAqAcBAERuAABgBwEAtAcBAGIAAABgBwEAwAcBAGMAAABgBwEAzAcBAGgAAABgBwEA2AcBAGEAAABgBwEA5AcBAHMAAABgBwEA8AcBAHQAAABgBwEA/AcBAGkAAABgBwEACAgBAGoAAABgBwEAFAgBAGwAAABgBwEAIAgBAG0AAABgBwEALAgBAHgAAABgBwEAOAgBAHkAAABgBwEARAgBAGYAAABgBwEAUAgBAGQAAABgBwEAXAgBAAAAAACoCAEATwUAAFQFAABRBQAAUgUAAFUFAABOMTBfX2N4eGFiaXYxMTZfX2VudW1fdHlwZV9pbmZvRQAAAADkCAEAhAgBAEwGAQAAAAAAfAYBAE8FAABWBQAAUQUAAFIFAABXBQAAWAUAAFkFAABaBQAAAAAAACwJAQBPBQAAWwUAAFEFAABSBQAAVwUAAFwFAABdBQAAXgUAAE4xMF9fY3h4YWJpdjEyMF9fc2lfY2xhc3NfdHlwZV9pbmZvRQAAAADkCAEABAkBAHwGAQAAAAAAiAkBAE8FAABfBQAAUQUAAFIFAABXBQAAYAUAAGEFAABiBQAATjEwX19jeHhhYml2MTIxX192bWlfY2xhc3NfdHlwZV9pbmZvRQAAAOQIAQBgCQEAfAYBAAAAAADcBgEATwUAAGMFAABRBQAAUgUAAGQFAAAAAAAAFAoBABQAAABlBQAAZgUAAAAAAAA8CgEAFAAAAGcFAABoBQAAAAAAAPwJAQAUAAAAaQUAAGoFAABTdDlleGNlcHRpb24AAAAAvAgBAOwJAQBTdDliYWRfYWxsb2MAAAAA5AgBAAQKAQD8CQEAU3QyMGJhZF9hcnJheV9uZXdfbGVuZ3RoAAAAAOQIAQAgCgEAFAoBAAAAAABsCgEAAQAAAGsFAABsBQAAU3QxMWxvZ2ljX2Vycm9yAOQIAQBcCgEA/AkBAAAAAACgCgEAAQAAAG0FAABsBQAAU3QxMmxlbmd0aF9lcnJvcgAAAADkCAEAjAoBAGwKAQAAAAAA1AoBAAEAAABuBQAAbAUAAFN0MTJvdXRfb2ZfcmFuZ2UAAAAA5AgBAMAKAQBsCgEAU3Q5dHlwZV9pbmZvAAAAALwIAQDgCgE="),t0(K,68356,"aAsBAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAAAAAB0CwEACAAAAAkAAAAKAAAACwAAAAwAAAANAAAAAAAAAIALAQAOAAAADwAAABAAAAARAAAAEgAAABMAAAC8CAEAFwQAAOQIAQAABAAAYAsBAOQIAQAmBAAAYAsBAOQIAQA8BAAAYAsBAAAAAADUCwEAFQAAABYAAAAXAAAAGAAAAAAAAADEEQEAGQAAABoAAAAbAAAAGAAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAALwIAQBzegAA5AgBAG56AADUCwEA5AgBAIh6AADcCwEA5AgBAH56AADoCwEAAAAAANwLAQAZAAAAIgAAACMAAAAYAAAAJAAAAB0AAAAeAAAAJQAAACAAAAAhAAAAAAAAAGAMAQAmAAAAJwAAACgAAAAYAAAAKQAAAB0AAAAeAAAAKgAAACAAAAAhAAAA5AgBAJF6AADcCwEAAAAAAJwMAQArAAAALAAAAC0AAAAYAAAALgAAAB0AAAAeAAAALwAAACAAAAAhAAAA5AgBAJx6AADcCwEAAAAAANgMAQAZAAAAMAAAADEAAAAyAAAAJAAAADMAAAAeAAAANAAAADUAAAA2AAAA5AgBAKZ6AADoCwEAAAAAABQNAQA3AAAAOAAAADkAAAAyAAAAOgAAADMAAAAeAAAAOwAAADUAAAA2AAAA5AgBALB6AADoCwEAAAAAAFANAQAZAAAAPAAAAD0AAAAyAAAAPgAAAD8AAAAeAAAAQAAAADUAAAA2AAAA5AgBALp6AADoCwEAAAAAAIwNAQBBAAAAQgAAAEMAAAAyAAAARAAAAEUAAAAeAAAARgAAADUAAAA2AAAA5AgBAMR6AADoCwEAAAAAAMgNAQBHAAAASAAAAEkAAAAyAAAASgAAAEsAAAAeAAAATAAAADUAAAA2AAAA5AgBAM56AADoCwEAAAAAAAQOAQAZAAAATQAAAE4AAAAyAAAATwAAAFAAAAAeAAAAUQAAADUAAAA2AAAA5AgBANh6AADoCwEAAAAAAEAOAQAZAAAAUgAAAFMAAAAYAAAAJAAAAB0AAAAeAAAAVAAAACAAAAAhAAAA5AgBAOJ6AADcCwEAAAAAAHwOAQAZAAAAVQAAAFYAAAAYAAAAJAAAAB0AAAAeAAAAVwAAACAAAAAhAAAA5AgBAOx6AADcCwEAAAAAAPQLAQAZAAAAWAAAAFkAAAAyAAAAWgAAADMAAABbAAAAXAAAADUAAAA2AAAAAAAAAOgOAQBdAAAAXgAAAF8AAAAyAAAAYAAAAGEAAAAeAAAAYgAAADUAAAA2AAAA5AgBAPZ6AADoCwEAAAAAACQPAQBjAAAAZAAAAGUAAAAyAAAAZgAAADMAAAAeAAAAZwAAADUAAAA2AAAA5AgBAAB7AADoCwEAAAAAAGAPAQAZAAAAaAAAAGkAAAAYAAAAagAAAB0AAAAeAAAAawAAACAAAAAhAAAA5AgBAAp7AADcCwEAAAAAAJwPAQAZAAAAbAAAAG0AAAAYAAAAbgAAAB0AAAAeAAAAbwAAACAAAAAhAAAA5AgBABR7AADcCwEAAAAAANgPAQAZAAAAcAAAAHEAAAAYAAAAcgAAAB0AAAAeAAAAcwAAACAAAAAhAAAA5AgBAB57AADcCwEAAAAAABQQAQB0AAAAdQAAAHYAAAAyAAAAdwAAAHgAAAAeAAAAeQAAADUAAAA2AAAA5AgBACh7AADoCwEAAAAAAFAQAQB6AAAAewAAAHwAAAAyAAAAfQAAADMAAAAeAAAAfgAAADUAAAA2AAAA5AgBADJ7AADoCwEAAAAAAIwQAQAZAAAAfwAAAIAAAAAYAAAAgQAAAB0AAAAeAAAAggAAACAAAAAhAAAA5AgBADx7AADcCwEAAAAAAMgQAQAZAAAAgwAAAIQAAAAYAAAAhQAAAB0AAAAeAAAAhgAAACAAAAAhAAAA5AgBAEZ7AADcCwEAAAAAAAQRAQAZAAAAhwAAAIgAAAAYAAAAiQAAAB0AAAAeAAAAigAAACAAAAAhAAAA5AgBAFB7AADcCwEAAAAAAEARAQAZAAAAiwAAAIwAAAAyAAAAjQAAADMAAAAeAAAAjgAAADUAAAA2AAAA5AgBAFp7AADoCwEAAAAAAHwRAQAZAAAAjwAAAJAAAAAyAAAAkQAAADMAAAAeAAAAkgAAADUAAAA2AAAA5AgBAGR7AADoCwEAAAAAALgRAQCTAAAAlAAAAJUAAAAyAAAAlgAAADMAAAAeAAAAlwAAADUAAAA2AAAA5AgBAG57AADoCwEA5AgBAHh7AADcCwEAAAAAAAASAQCYAAAAmQAAAJoAAAAYAAAAmwAAAB0AAAAeAAAAnAAAACAAAAAhAAAA5AgBAIJ7AADcCwEAAAAAADwSAQAZAAAAnQAAAJ4AAAAYAAAAJAAAAB0AAAAeAAAAnwAAACAAAAAhAAAA5AgBAIx7AADcCwEAAAAAAHgSAQCgAAAAoQAAAKIAAAAyAAAAJAAAADMAAAAeAAAAowAAADUAAAA2AAAA5AgBAJZ7AADoCwEAAAAAALQSAQCgAAAApAAAAKUAAAAyAAAAJAAAADMAAAAeAAAApgAAADUAAAA2AAAA5AgBAKp7AAB4EgEAAAAAAPASAQCnAAAAqAAAAKkAAAAyAAAAJAAAADMAAAAeAAAAqgAAADUAAAA2AAAA5AgBALR7AAB4EgEAAAAAACwTAQAZAAAAqwAAAKwAAAAYAAAAJAAAAB0AAAAeAAAArQAAACAAAAAhAAAA5AgBAL57AADcCwEAAAAAAGgTAQAZAAAArgAAAK8AAAAyAAAAJAAAADMAAAAeAAAAsAAAADUAAAA2AAAA5AgBAMh7AADoCwEAAAAAAKQTAQCxAAAAsgAAALMAAAAyAAAAJAAAADMAAAAeAAAAtAAAADUAAAA2AAAA5AgBANJ7AADoCwEAAAAAAMwTAQC1AAAAtgAAALcAAAC4AAAAuQAAAOQIAQDbewAA2AUBAAAAAAD0EwEAugAAALsAAAC8AAAAuAAAAL0AAADkCAEAGHwAANgFAQAAAAAAHBQBAL4AAAC/AAAAwAAAALgAAADBAAAA5AgBAFV8AADYBQEAAAAAAEQUAQDCAAAAwwAAAMQAAAC4AAAAxQAAAOQIAQCSfAAA2AUBAAAAAABsFAEAxgAAAMcAAADIAAAAuAAAAMkAAADkCAEAz3wAANgFAQAAAAAAlBQBAMoAAADLAAAAzAAAALgAAADNAAAA5AgBAAx9AADYBQEAAAAAALwUAQDOAAAAzwAAANAAAAC4AAAA0QAAAOQIAQBJfQAA2AUBAAAAAADkFAEA0gAAANMAAADUAAAAuAAAANUAAADkCAEAhn0AANgFAQAAAAAADBUBANYAAADXAAAA2AAAALgAAADZAAAA5AgBAMN9AADYBQEAAAAAADQVAQDaAAAA2wAAANwAAAC4AAAA3QAAAOQIAQAAfgAA2AUBAAAAAABcFQEA3gAAAN8AAADgAAAAuAAAAOEAAADkCAEAPX4AANgFAQAAAAAAhBUBAOIAAADjAAAA5AAAALgAAADlAAAA5AgBAHp+AADYBQEAAAAAAKwVAQDmAAAA5wAAAOgAAAC4AAAA6QAAAOQIAQC3fgAA2AUBAAAAAADUFQEA6gAAAOsAAADsAAAAuAAAAO0AAADkCAEA9H4AANgFAQAAAAAA/BUBAO4AAADvAAAA8AAAALgAAADxAAAA5AgBADF/AADYBQEAAAAAACQWAQDyAAAA8wAAAPQAAAC4AAAA9QAAAOQIAQBufwAA2AUBAAAAAABMFgEA9gAAAPcAAAD4AAAAuAAAAPkAAADkCAEAq38AANgFAQAAAAAAdBYBAPoAAAD7AAAA/AAAALgAAAD9AAAA5AgBAOh/AADYBQEAAAAAAJwWAQD+AAAA/wAAAAABAAC4AAAAAQEAAOQIAQAlgAAA2AUBAAAAAADEFgEAAgEAAAMBAAAEAQAAuAAAAAUBAADkCAEAYoAAANgFAQAAAAAA7BYBAAYBAAAHAQAACAEAALgAAAAJAQAA5AgBAJ+AAADYBQEAAAAAABQXAQAKAQAACwEAAAwBAAC4AAAADQEAAOQIAQDcgAAA2AUBAAAAAAA8FwEADgEAAA8BAAAQAQAAuAAAABEBAADkCAEAGYEAANgFAQAAAAAAZBcBABIBAAATAQAAFAEAALgAAAAVAQAA5AgBAGCBAADYBQEAAAAAAIwXAQAWAQAAFwEAABgBAAC4AAAAGQEAAOQIAQCdgQAA2AUBAAAAAAC0FwEAGgEAABsBAAAcAQAAuAAAAB0BAADkCAEA2oEAANgFAQAAAAAA3BcBAB4BAAAfAQAAIAEAALgAAAAhAQAA5AgBABeCAADYBQEAAAAAAAQYAQAiAQAAIwEAACQBAAC4AAAAJQEAAOQIAQBTggAA2AUBAAAAAAAsGAEAJgEAACcBAAAoAQAAuAAAACkBAADkCAEAkIIAANgFAQAAAAAAVBgBACoBAAArAQAALAEAALgAAAAtAQAA5AgBAM2CAADYBQEAAAAAAHwYAQAuAQAALwEAADABAAC4AAAAMQEAAOQIAQAKgwAA2AUBAAAAAACkGAEAMgEAADMBAAA0AQAAuAAAADUBAADkCAEAR4MAANgFAQAAAAAAzBgBADYBAAA3AQAAOAEAALgAAAA5AQAA5AgBAISDAADYBQEAAAAAAPQYAQA6AQAAOwEAADwBAAC4AAAAPQEAAOQIAQDBgwAA2AUBAAAAAAAcGQEAPgEAAD8BAABAAQAAuAAAAEEBAADkCAEA/oMAANgFAQAAAAAARBkBAEIBAABDAQAARAEAALgAAABFAQAA5AgBADuEAADYBQEAAAAAAGwZAQBGAQAARwEAAEgBAAC4AAAASQEAAOQIAQB4hAAA2AUBAAAAAACUGQEASgEAAEsBAABMAQAAuAAAAE0BAADkCAEAtYQAANgFAQAAAAAAvBkBAE4BAABPAQAAUAEAALgAAABRAQAA5AgBAPKEAADYBQEAAAAAAOQZAQBSAQAAUwEAAFQBAAC4AAAAVQEAAOQIAQAvhQAA2AUBAAAAAAAMGgEAVgEAAFcBAABYAQAAuAAAAFkBAADkCAEAbIUAANgFAQAAAAAANBoBAFoBAABbAQAAXAEAALgAAABdAQAA5AgBAKmFAADYBQEAAAAAAFwaAQBeAQAAXwEAAGABAAC4AAAAYQEAAOQIAQDmhQAA2AUBAAAAAACEGgEAYgEAAGMBAABkAQAAuAAAAGUBAADkCAEAI4YAANgFAQAAAAAArBoBAGYBAABnAQAAaAEAALgAAABpAQAA5AgBAGCGAADYBQEAAAAAANQaAQBqAQAAawEAAGwBAAC4AAAAbQEAAOQIAQCdhgAA2AUBAAAAAAD8GgEAbgEAAG8BAABwAQAAuAAAAHEBAADkCAEA2oYAANgFAQAAAAAAJBsBAHIBAABzAQAAdAEAALgAAAB1AQAA5AgBABKHAADYBQEAcRQAAFCHAAB2CwAA4QoAAM0lAAA0JQAA2xQAAH8UAAC5FAAAlxQAAAonAABZCwAAaRs="),t0(K,72556,"WIcAALwIAQBghwAAAAAAAJQbAQB3AQAAeAEAAHkBAAC4AAAAegEAAOQIAQBwhwAA2AUBAAAAAAC8GwEAewEAAHwBAAB9AQAAuAAAAH4BAADkCAEArYcAANgFAQAAAAAA5BsBAH8BAACAAQAAgQEAALgAAACCAQAA5AgBAO2HAADYBQEAvAgBADaIAAC8CAEAaogAAEAJAQBDiAAAAAAAAAIAAADwGwEAAgAAAPgbAQACCAAAAAAAADwcAQCDAQAAhAEAAIUBAAC4AAAAhgEAAOQIAQCLiAAA2AUBALwIAQDOiAAAAAAAAGwcAQCHAQAAiAEAAIkBAAC4AAAAigEAAOQIAQDfiAAA2AUBAAAAAACUHAEAiwEAAIwBAACNAQAAuAAAAI4BAADkCAEAI4kAANgFAQAAAAAAvBwBAI8BAACQAQAAkQEAALgAAACSAQAA5AgBAJCJAADYBQEAAAAAAOQcAQCTAQAAlAEAAJUBAAC4AAAAlgEAAOQIAQDaiQAA2AUBAAAAAAAMHQEAmgEAAJsBAACcAQAAnQEAAJ4BAADkCAEAWIoAAHAbAQAAAAAANB0BAJ8BAACgAQAAoQEAAKIBAACjAQAA5AgBAGyKAABwGwEAAAAAAHAdAQCkAQAApQEAAKYBAAAYAAAApwEAAB0AAAAeAAAAqAEAACAAAAAhAAAA5AgBAIGKAADcCwEAAAAAAJgdAQCpAQAAqgEAAKsBAAC4AAAArAEAAOQIAQCLigAA2AUBAAQAAAAAAAAAby8AAAAAAADQHQEArQEAAK4BAACvAQAAsAEAALEBAACyAQAA5AgBALSNAABIHAEAAAAAAPwdAQCtAQAAswEAALQBAAC1AQAAtgEAALcBAADkCAEAy40AAEgcAQAAAAAAKB4BAK0BAAC4AQAAuQEAALoBAAC7AQAAvAEAAOQIAQDmjQAASBwBAAAAAABUHgEAvQEAAL4BAAC/AQAAwAEAAMEBAADCAQAA5AgBAP+NAABIHAEAAAAAAIAeAQCtAQAAwwEAAMQBAADFAQAAxgEAAMcBAADkCAEAGI4AAEgcAQAAAAAArB4BAMgBAADJAQAAygEAAMsBAADGAQAAzAEAAOQIAQA4jgAASBwBAAAAAADUHgEAzQEAAM4BAADPAQAAuAAAANABAADkCAEAVI4AANgFAQAAAAAA/B4BANEBAADSAQAA0wEAALgAAADUAQAA5AgBAJ6OAADYBQEAAAAAACQfAQDVAQAA1gEAANcBAAC4AAAA2AEAAOQIAQDsjgAA2AUBAAAAAABMHwEA2QEAANoBAADbAQAAuAAAANwBAADkCAEAOI8AANgFAQAAAAAAdB8BAN0BAADeAQAA3wEAALgAAADgAQAA5AgBAISPAADYBQEAAAAAAJwfAQDhAQAA4gEAAOMBAAC4AAAA5AEAAOQIAQDXjwAA2AUB"),t0(K,73648,"zZMAAAUAAADRBwAAPzEAAAYAAAAAAAAAgiYAAAUAAAAAAAAA50YAAAUAAADTBwAAvxkAAAUAAADWBwAA6yMAAAUAAADVBwAAoBUAAAAgAQC8CAEADJEAABgIAQAYIAEAvAgBAGGRAACcCQEAUZEAAAAAAAAQIAEArAcBABggAQA8IAEAGCABAAAgAQC8CAEAdJEAAEwgAQAAIAEAcAgBAIaRAAAMCAEAGCABAGQgAQAYIAEAvAgBAKGRAABkIAEAGCABABgIAQC8CAEA0pEAAJwJAQC9kQAAAAAAAHggAQBkIAEAgCABAKAgAQCoIAEAcAgBAOaRAABwCAEA+JEAALwIAQA6kgAAnAkBACySAAAAAAAAsCABAHAIAQBHkgAAvAgBAFaSAACsBwEAZCABAKwHAQDoIAEAnAkBAHWSAAABAAAAeCABAAwIAQDoIAEArAcBAAghAQCcCQEAi5IAAAEAAACwIAEAcAgBAJqSAABwCAEArJIAAHAIAQDBkgAAcAgBANuSAABwCAEAAJMAAJwJAQAjkwAAAQAAABAgAQAAAAAAbCEBABcCAAAYAgAAGQIAALgAAAAaAgAA5AgBAEWTAADYBQEAAAAAAJQhAQAbAgAAHAIAAB0CAAC4AAAAHgIAAOQIAQCGkwAA2AUBAJ8sAACfLAAAXCIAAFwiAACfLAAAnywAAFwiAACLLAAAUSIAAHcsAABcIgAAXCIAAFwiAABcIgAA2R8AAO0P"),t0(K,74216,"0w4AAAUAAADVBwAAoBUAAAUAAADWBwAA6yMAAAAAAAA0IgEAHwIAACACAAAhAgAAGAAAACICAAAdAAAAHgAAACMCAAAgAAAAIQAAAOQIAQDVkwAA3AsBAAAAAABcIgEAJAIAACUCAAAmAgAAuAAAACcCAADkCAEA35MAANgFAQAAAAAAABwBACgCAAApAgAAAAAAAKgiAQAqAgAAKwIAACwCAAAYAAAALQIAAB0AAAAeAAAALgIAACAAAAAhAAAA5AgBADmUAADcCwEAAAAAAOQiAQAZAAAALwIAADACAAAYAAAAMQIAAB0AAAAeAAAAMgIAACAAAAAhAAAA5AgBAEOUAADcCwEAAAAAACAjAQAZAAAAMwIAADQCAAAYAAAANQIAAB0AAAAeAAAANgIAACAAAAAhAAAA5AgBAE2UAADcCwEAAAAAAFwjAQA3AgAAOAIAADkCAAAYAAAAOgIAAB0AAAAeAAAAOwIAACAAAAAhAAAA5AgBAFeUAADcCwEAAAAAAJgjAQA8AgAAPQIAAD4CAAAYAAAAPwIAAB0AAAAeAAAAQAIAACAAAAAhAAAA5AgBAGGUAADcCwEAAAAAANQjAQBBAgAAQgIAAEMCAAAYAAAARAIAAB0AAAAeAAAARQIAACAAAAAhAAAA5AgBAGuUAADcCwEAAAAAABAkAQBGAgAARwIAAEgCAAAYAAAASQIAAB0AAAAeAAAASgIAACAAAAAhAAAA5AgBAHWUAADcCwEAAAAAAEwkAQBLAgAATAIAAE0CAAAyAAAATgIAADMAAAAeAAAATwIAADUAAAA2AAAA5AgBAH+UAADoCwEAAAAAAIgkAQAZAAAAUAIAAFECAAAYAAAAJAAAAB0AAAAeAAAAUgIAACAAAAAhAAAA5AgBAImUAADcCwE="),t0(K,74912,"9hcAADNDAACRQQAA/0AAAAAAAADgJAEAUwIAAFQCAABVAgAAMgAAAFYCAAAzAAAAHgAAAFcCAAA1AAAANgAAAOQIAQCTlAAA6AsBAP06AAAHOwAAIjoAACY6AAAqOgAAOToAAC46AAALOwAAAAAAADwlAQBYAgAAWQIAAFoCAAAYAAAAWwIAAB0AAAAeAAAAXAIAACAAAAAhAAAA5AgBAJ2UAADcCwEAAAAAAHglAQAZAAAAXQIAAF4CAAAyAAAAXwIAADMAAAAeAAAAYAIAADUAAAA2AAAA5AgBAKeUAADoCwEAAAAAAKAlAQBiAgAAYwIAAGQCAAC4AAAAZQIAAOQIAQCxlAAA2AUBALwIAQD5lAAAAAAAANAlAQBmAgAAZwIAAGgCAAC4AAAAaQIAAOQIAQAUlQAA2AUBAAAAAAD4JQEAagIAAGsCAABsAgAAuAAAAG0CAADkCAEAXJUAANgFAQAAAAAAHCYBAG4CAABvAgAAcAIAAHECAADkCAEApJUAAKwlAQAAAAAARCYBAHICAABzAgAAdAIAALgAAAB1AgAA5AgBALmVAADYBQEAAAAAAGgmAQBuAgAAdgIAAHcCAAB4AgAA5AgBAAGWAACsJQEAAAAAAJAmAQB5AgAAegIAAHsCAAC4AAAAfAIAAOQIAQAWlgAA2AUBAAAAAAC4JgEAfQIAAH4CAAB/AgAAuAAAAIACAADkCAEAYJYAANgFAQAAAAAA4CYBAIECAACCAgAAgwIAALgAAACEAgAA5AgBAKqWAADYBQEAAAAAAAgnAQCFAgAAhgIAAIcCAAC4AAAAiAIAAOQIAQD3lgAA2AUBAAAAAAAwJwEAiQIAAIoCAACLAgAAuAAAAIwCAADkCAEARpcAANgFAQAAAAAAWCcBAI0CAACOAgAAjwIAALgAAACQAgAA5AgBAJGXAADYBQEAAAAAAIAnAQCRAgAAkgIAAJMCAAC4AAAAlAIAAOQIAQDalwAA2AUBAAAAAACoJwEAlQIAAJYCAACXAgAAuAAAAJgCAADkCAEAI5gAANgFAQAAAAAA0CcBAJkCAACaAgAAmwIAALgAAACcAgAA5AgBAHSYAADYBQEAAAAAAPgnAQCdAgAAngIAAJ8CAAC4AAAAoAIAAOQIAQDDmAAA2AUBAAAAAAAgKAEAoQIAAKICAACjAgAAuAAAAKQCAADkCAEADZkAANgFAQAAAAAARCgBAG4CAAClAgAApgIAAKcCAADkCAEAVZkAAKwlAQAAAAAAbCgBAKgCAACpAgAAqgIAALgAAACrAgAA5AgBAGqZAADYBQEAAAAAAJAoAQBuAgAArAIAAK0CAACuAgAA5AgBALKZAACsJQEAAAAAALgoAQCvAgAAsAIAALECAAC4AAAAsgIAAOQIAQDHmQAA2AUBAAAAAADgKAEAswIAALQCAAC1AgAAuAAAALYCAADkCAEAGJoAANgFAQAAAAAACCkBALcCAAC4AgAAuQIAALgAAAC6AgAA5AgBAGmaAADYBQEAAAAAADApAQC7AgAAvAIAAL0CAAC4AAAAvgIAAOQIAQCymgAA2AUBAAAAAABYKQEAvwIAAMACAADBAgAAuAAAAMICAADkCAEA+JoAANgFAQAAAAAAgCkBAMMCAADEAgAAxQIAALgAAADGAgAA5AgBAD6bAADYBQEAAAAAAKQpAQBuAgAAxwIAAMgCAADJAgAA5AgBAJebAACsJQEAAAAAAMwpAQDKAgAAywIAAMwCAAC4AAAAzQIAAOQIAQC9mwAA2AUBAAAAAADwKQEAbgIAAM4CAADPAgAA0AIAAOQIAQAWnAAArCUBAAAAAAAYKgEA0QIAANICAADTAgAAuAAAANQCAADkCAEAPJwAANgFAQAAAAAAPCoBAG4CAADVAgAA1gIAANcCAADkCAEAlZwAAKwlAQAAAAAAZCoBANgCAADZAgAA2gIAALgAAADbAgAA5AgBALucAADYBQEAAAAAAIgqAQBuAgAA3AIAAN0CAADeAgAA5AgBABSdAACsJQEAAAAAALAqAQDfAgAA4AIAAOECAAC4AAAA4gIAAOQIAQA6nQAA2AUBAAAAAADUKgEAbgIAAOMCAADkAgAA5QIAAOQIAQCSnQAArCUBAAAAAAD8KgEA5gIAAOcCAADoAgAAuAAAAOkCAADkCAEAt50AANgFAQAAAAAAICsBAG4CAADqAgAA6wIAAOwCAADkCAEAD54AAKwlAQAAAAAASCsBAO0CAADuAgAA7wIAALgAAADwAgAA5AgBADSeAADYBQEAAAAAAGwrAQBuAgAA8QIAAPICAADzAgAA5AgBAIyeAACsJQEAAAAAAJQrAQD0AgAA9QIAAPYCAAC4AAAA9wIAAOQIAQCxngAA2AUBAAAAAAC4KwEAbgIAAPgCAAD5AgAA+gIAAOQIAQAJnwAArCUBAAAAAADgKwEA+wIAAPwCAAD9AgAAuAAAAP4CAADkCAEALp8AANgFAQAAAAAABCwBAG4CAAD/AgAAAAMAAAEDAADkCAEAgZ8AAKwlAQAAAAAAKCwBAG4CAAACAwAAAwMAAAQDAADkCAEAn58AAKwlAQAAAAAATCwBAG4CAAAFAwAABgMAAAcDAADkCAEAtp8AAKwlAQAAAAAAcCwBAG4CAAAIAwAACQMAAAoDAADkCAEA1J8AAKwlAQAAAAAAlCwBAG4CAAALAwAADAMAAA0DAADkCAEA9J8AAKwlAQAAAAAAuCwBAG4CAAAOAwAADwMAABADAADkCAEAC6AAAKwlAQAAAAAA3CwBAG4CAAARAwAAEgMAABMDAADkCAEAIqAAAKwlAQAAAAAAAC0BAG4CAAAUAwAAFQMAABYDAADkCAEAPKAAAKwlAQAAAAAAJC0BAG4CAAAXAwAAGAMAABkDAADkCAEAUaAAAKwlAQAAAAAASC0BAG4CAAAaAwAAGwMAABwDAADkCAEAbaAAAKwlAQAAAAAAbC0BAG4CAAAdAwAAHgMAAB8DAADkCAEAhaAAAKwlAQAAAAAAkC0BAG4CAAAgAwAAIQMAACIDAADkCAEAoaAAAKwlAQAAAAAAtC0BAG4CAAAjAwAAJAMAACUDAADkCAEAtqAAAKwlAQAAAAAA2C0BAG4CAAAmAwAAJwMAACgDAADkCAEA5KAAAKwlAQAAAAAA/C0BAG4CAAApAwAAKgMAACsDAADkCAEA+qAAAKwlAQAAAAAAIC4BAG4CAAAsAwAALQMAAC4DAADkCAEALKEAAKwlAQAAAAAARC4BAG4CAAAvAwAAMAMAADEDAADkCAEAP6EAAKwlAQAAAAAAaC4BAG4CAAAyAwAAMwMAADQDAADkCAEAUqEAAKwlAQADAAAANQMAADYDAAA3AwAAOAMAADkDAAA6AwAAOwMAADwDAAA9AwAAzUAAAAcAAABkAAAAcKE="),t0(K,77492,"aKEAAAMAAAAJAAAAlR4AADwAAAABAAAAAQAAAD4DAAA/AwAAQAMAAEEDAABCAwAAQwMAAEQDAABFAwAARgMAAEcDAABIAwAASQMAAEoDAABLAwAATAMAAE0DAABOAwAATwMAAFADAABRAwAAUgMAAFMDAAAAAAAAvQMAAL4D"),t0(K,77632,"EBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAREBEQERIREhIREhUTFBUUExUYFhYYGBYWGBkZGx4bGRkdHyMjHx0kKSwpJC82Ni9BRkFYWHMQEBAQEBAQEBAQERERERESEhISEhIUFBQUFBQUGBgYGBgYGBgZGRkZGRkZHBwcHBwcISEhISEpKSkpNjY2R0dbBQ=="),t0(K,77788,"ywM="),t0(K,77812,"zAMAAM0DAADwdgE="),t0(K,77836,"Ag=="),t0(K,77852,"//////////8="),t0(K,77920,"0C8BAAAAAAAF"),t0(K,77940,"zgM="),t0(K,77964,"zAMAAM8DAAD4dgEAAAQ="),t0(K,77988,"AQ=="),t0(K,78004,"/////wo="),t0(K,78072,"aDABAHCNAgAJ"),t0(K,78092,"ywM="),t0(K,78112,"0wMAAAAAAADNAwAA+HwBAAAE"),t0(K,78156,"/////w=="),t0(K,78224,"JW0vJWQvJXkAAAAIJUg6JU06JVMAAAAI")}var R0=new ArrayBuffer(16),e2=new Int32Array(R0),u2=new Float32Array(R0),k2=new Float64Array(R0);function j0(n1){return e2[n1]}function N2(n1,C2){e2[n1]=C2}function m1(){return k2[0]}function U2(n1){k2[0]=n1}function P(){throw new Error("abort")}function s1(n1){u2[2]=n1}function l8(){return u2[2]}function u4(n1){var C2=new ArrayBuffer(16973824),l=new Int8Array(C2),X=new Int16Array(C2),i=new Int32Array(C2),s=new Uint8Array(C2),Q=new Uint16Array(C2),k0=new Uint32Array(C2),Z0=new Float32Array(C2),i0=new Float64Array(C2),m=Math.imul,Y=Math.fround,d0=Math.abs,$2=Math.clz32,UU=Math.min,MU=Math.max,us=Math.floor,b5=Math.ceil,xU=Math.trunc,ss=Math.sqrt,V2=n1.a,C0=V2.a,V0=V2.b,t1=V2.c,R1=V2.d,j1=V2.e,k4=V2.f,g4=V2.g,H4=V2.h,u8=V2.i,s8=V2.j,hr=V2.k,wr=V2.l,oA=V2.m,lA=V2.n,uA=V2.o,sA=V2.p,d5=V2.q,c5=V2.r,ik=V2.s,rk=V2.t,ek=V2.u,hs=V2.v,ws=V2.w,_s=V2.x,vs=V2.y,ms=V2.z,Bs=V2.A,Zs=V2.B,ps=V2.C,Ws=V2.D,Xs=V2.E,Gs=V2.F,Cs=V2.G,Vs=V2.H,Is=V2.I,Qs=V2.J,ys=V2.K,Fs=V2.L,Es=V2.M,Ys=V2.N,Js=V2.O,B=167280,d8=0,c8=0,w0=0;function Ak(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0;d=B-16|0,B=d;i:{r:{e:{A:{if(A=i[f+580>>2],A){r=f+549|0;break A}if(k=s[f+548|0],!(!(k&1)&s[f+549|0]!=1|i[f+3208>>2]!=i[f+3212>>2])){if(Ut(f+2140|0),!e)break e;i[e>>2]=i[f+2192>>2];break e}if(r=f+549|0,l[f+549|0]&1|(A|k&1))break A;if(r=13,!e)break e;i[e>>2]=1;break e}if(!B9(f+2140|0,0)){if(r=9,!e)break e;i[e>>2]=1;break e}l[d+15|0]=0,A=i[f+580>>2];A:{f:{if(A){if(A&&(k=i[f+564>>2],r=i[f+576>>2],C=i[i[k+(r>>>8&16777212)>>2]+((r&1023)<<2)>>2],i[f+580>>2]=A-1,r=r+1|0,i[f+576>>2]=r,r>>>0>=2048&&(G(i[k>>2]),i[f+564>>2]=i[f+564>>2]+4,i[f+576>>2]=i[f+576>>2]-1024),i[f+584>>2]=i[f+584>>2]-i[C+24>>2]),!C)break r;S=B-32|0,B=S,Z=i[C+20>>2],h=i[C+24>>2],r=S+8|0,i[r+16>>2]=0,i[r+8>>2]=0,i[r+12>>2]=0,i[r+4>>2]=h,i[r>>2]=Z,k=-64;k:{if(!h||(i[r>>2]=Z+1,A=s[Z|0],t=h-1|0,i[r+4>>2]=t,i[r+8>>2]=0,A=A<<24,i[r+12>>2]=A,!t)||(i[r>>2]=Z+2,t=s[Z+1|0],_=h-2|0,i[r+4>>2]=_,i[r+8>>2]=w,A=t<<16|A,i[r+12>>2]=A,!_)||(i[r>>2]=Z+3,t=s[Z+2|0],_=h-3|0,i[r+4>>2]=_,A=t<<8|A,t=A,i[r+8>>2]=w,i[r+12>>2]=A,!_)||(i[r>>2]=Z+4,A=s[Z+3|0],_=h-4|0,i[r+4>>2]=_,i[r+8>>2]=u,A=A|t,i[r+12>>2]=A,!_)||(i[r>>2]=Z+5,t=s[Z+4|0],_=h-5|0,i[r+4>>2]=_,u=A,A=t,t=A>>>8|0,w=A<<24|w,i[r+8>>2]=w,A=t|u,i[r+12>>2]=A,!_)||(i[r>>2]=Z+6,t=s[Z+5|0],_=h-6|0,i[r+4>>2]=_,w=t<<16|w,i[r+8>>2]=w,A=t>>>16|A,i[r+12>>2]=A,!_)||(i[r>>2]=Z+7,t=s[Z+6|0],_=h-7|0,i[r+4>>2]=_,u=A,A=t,t=A>>>24|0,A=A<<8|w,i[r+8>>2]=A,t=t|u,i[r+12>>2]=t,!_))break k;i[r>>2]=Z+8,k=s[Z+7|0],i[r+4>>2]=h-8,i[r+8>>2]=A|k,i[r+12>>2]=t,k=-56}i[r+16>>2]=(((h>>>0>=7?7:h)<<3)+k|0)- -64,l[S+7|0]=0,l[S+5|0]=0,l[S+6|0]=0,ni(r,1),j=S,L=u0(r,6),l[j+5|0]=L,j=S,L=u0(r,6),l[j+6|0]=L,j=S,L=u0(r,3)-1|0,l[j+7|0]=L,r=s[S+5|0],l[f+3204|0]=r,l[f+3206|0]=(r&248)==16,l[f+3205|0]=(r-19&255)>>>0<2;k:{if(s[S+6|0]){w4(f+548|0,C);break k}if(i[f+1904>>2]<s[S+7|0]){w4(f+548|0,C);break k}if(r>>>0<=31){o=f,f=S+8|0,t=C,Z=B-16|0,B=Z,A=U(1364),i[A+792>>2]=0,i[A+784>>2]=0,i[A+788>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,q=A+1340|0,r=q,i[r>>2]=0,i[r+4>>2]=0,i[A+1360>>2]=0,i[A+1352>>2]=0,i[A+1356>>2]=0,r=i[A+8>>2],i[A+4>>2]=0,i[A+8>>2]=0;n:{if(!r||(n=i[r+4>>2],i[r+4>>2]=n-1,n))break n;V[i[i[r>>2]+8>>2]](r),g(r)}l[A+40|0]=0,i[A+36>>2]=0,l[A+20|0]=0,i[A+16>>2]=0,X[A+12>>1]=0,i[A>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,X[A+32>>1]=0,Ue(A+42|0),i[A+776>>2]=0,i[A+780>>2]=0,B0(A+144|0,0,237),B0(A+384|0,0,358),l[A+759|0]=0,l[A+760|0]=0,l[A+761|0]=0,l[A+762|0]=0,i[A+752>>2]=0,i[A+756>>2]=0,i[A+744>>2]=0,i[A+748>>2]=0,i[A+764>>2]=0,i[A+768>>2]=0,l[A+772|0]=0,i[A+796>>2]=0,i[A+800>>2]=0,i[A+804>>2]=0,i[A+808>>2]=0,i[A+812>>2]=0,i[A+816>>2]=0,i[A+788>>2]=i[A+784>>2],Ue(A+820|0),B0(A+920|0,0,420),l[A+1348|0]=0,i[A+1356>>2]=i[A+1352>>2],C=f,l[Z+15|0]=0,f=i[A+8>>2],i[A+4>>2]=0,i[A+8>>2]=0;n:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break n;V[i[i[f>>2]+8>>2]](f),g(f)}l[A+40|0]=0,i[A+36>>2]=0,l[A+20|0]=0,i[A+16>>2]=0,X[A+12>>1]=0,i[A>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,X[A+32>>1]=0,k=A+42|0,Ue(k),i[A+776>>2]=0,i[A+780>>2]=0,_=B0(A+144|0,0,237),w=B0(A+384|0,0,358),l[A+759|0]=0,l[A+760|0]=0,l[A+761|0]=0,l[A+762|0]=0,i[A+752>>2]=0,i[A+756>>2]=0,i[A+744>>2]=0,i[A+748>>2]=0,i[A+764>>2]=0,i[A+768>>2]=0,l[A+772|0]=0,i[A+796>>2]=0,i[A+800>>2]=0,i[A+804>>2]=0,i[A+808>>2]=0,i[A+812>>2]=0,i[A+816>>2]=0,i[A+788>>2]=i[A+784>>2],v=A+820|0,Ue(v),B0(A+920|0,0,420),l[A+1348|0]=0,l[A+20|0]=0,i[A+1356>>2]=i[A+1352>>2],j=A,L=u0(C,1),l[j+12|0]=L,s[o+3206|0]&&(j=A,L=u0(C,1),l[j+13|0]=L),f=M0(C),i[A+16>>2]=f;n:{t:{o:{u:{l:{if(!((f|0)!=-99999&(f|0)<=63)||(f=o+(f<<3)|0,n=i[f+856>>2],!n))break l;r=i[f+860>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),i[A+4>>2]=n,f=i[A+8>>2],i[A+8>>2]=r;s:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break s;V[i[i[f>>2]+8>>2]](f),g(f)}if(r=i[A+4>>2],n=i[r+4>>2],!s[n|0]){v2(o+4|0,1010,0);break u}s:{h:{w:{_:{if(!s[A+12|0]){for(f=0,s[r+14|0]?r=u0(C,1):r=0,l[A+20|0]=r,u=i[n+16908>>2];r=f,f=r+1|0,(u|0)>1<<r;);if(h=u0(C,r),p=s[A+20|0],p){if(!h){l[Z+15|0]=0,v2(o+4|0,1021,0),u=0;break n}if(u=16,f=i[o+2220>>2],!f)break n;i[A>>2]=i[f>>2],r=i[f+4>>2],u=i[f+8>>2],u&&(i[u+4>>2]=i[u+4>>2]+1),i[A+4>>2]=r,r=i[A+8>>2],i[A+8>>2]=u;v:{if(!r||(u=i[r+4>>2],i[r+4>>2]=u-1,u))break v;V[i[i[r>>2]+8>>2]](r),g(r)}l0(A+12|0,f+12|0,772);v:{if((f|0)!=(A|0)){r=i[f+784>>2],u=i[f+788>>2],ki(A+784|0,r,u,u-r>>2),l0(A+796|0,f+796|0,544),Ii(A+1340|0,f+1340|0),l[A+1348|0]=s[f+1348|0],r=i[f+1352>>2],f=i[f+1356>>2],ki(A+1352|0,r,f,f-r>>2);break v}l0(A+796|0,f+796|0,544),Ii(A+1340|0,f+1340|0),l[A+1348|0]=s[f+1348|0]}l[A+20|0]=1,l[A+12|0]=0}if(i[A+24>>2]=h,(h|0)<0)break s;if((h|0)<i[n+16908>>2])break _;break s}if(i[A+24>>2]=0,l[A+20|0]=0,i[n+16908>>2]<=0)break s;r=i[A+4>>2];break w}if(r=i[A+4>>2],p)break h}if(f=0,l[r+8240|0]>0)for(;ni(C,1),f=f+1|0,(f|0)<l[i[A+4>>2]+8240|0];);if(f=M0(C),i[A+28>>2]=f,!((f|0)!=-99999&(f|0)<=2)){v2(o+4|0,1007,0);break u}s[i[A+4>>2]+43|0]?f=u0(C,1):f=1,l[A+32|0]=f,s[n+480|0]==1&&(j=A,L=u0(C,2),l[j+33|0]=L),h=0,l[A+40|0]=0,i[A+36>>2]=0;w:{_:{v:{Z:{m:{if((s[o+3204|0]-19&255)>>>0>=2){j=A,L=u0(C,i[n+520>>2]),i[j+36>>2]=L,f=u0(C,1),l[A+40|0]=f;B:{if(!(f&255)){Dk(o+4|0,n,C,k,(i[n+8820>>2]-i[n+8816>>2]|0)/100|0,n+8816|0,1),i[A+816>>2]=(i[n+8820>>2]-i[n+8816>>2]|0)/100;break B}for(k=i[n+8816>>2],h=(i[n+8820>>2]-k|0)/100|0,r=0;f=r,r=r+1|0,1<<f<(h|0););p:{if(!f){f=0;break p}f=u0(C,f),k=i[n+8816>>2],h=(i[n+8820>>2]-k|0)/100|0}if(i[_>>2]=f,(f|0)>=(h|0))break Z;i[A+816>>2]=f,k=m(f,100)+k|0}l0(v,k,100);B:{p:{if(s[n+8828|0]){W:{if(i[n+8832>>2]>0){if(f=M0(C),i[A+148>>2]=f,(f|0)!=-99999)break W;u=8;break n}i[A+148>>2]=0}if(r=M0(C),i[A+152>>2]=r,u=8,(r|0)==-99999)break n;if(f=i[A+148>>2],r=r+f|0,i[(n+(l[n+2|0]<<2)|0)+524>>2]<(s[A+917|0]+(r+s[A+916|0]|0)|0))break v;if((r|0)<=0)break p;for(_=o+2352|0,v=A+268|0,y=A+252|0,W=n+8964|0,I=n+8836|0,z=A+156|0,R=o+2288|0,p=o+2224|0,D=A+236|0,J=A+172|0,h=0,k=0;;){W:{if((f|0)>(k|0)){for(E=i[n+8832>>2],f=0;r=f,f=r+1|0,(E|0)>1<<r;);if(f=k+z|0,r=u0(C,r),l[f|0]=r,r=r&255,(r|0)<i[n+8832>>2]){i[p+(k<<2)>>2]=i[I+(r<<2)>>2],f=W+s[f|0]|0;break W}v2(o+4|0,1023,0);break u}r=k<<2,E=r+J|0,j=E,L=u0(C,i[n+520>>2]),i[j>>2]=L,f=k+D|0,j=f,L=u0(C,1),l[j|0]=L,i[r+p>>2]=i[E>>2]}r=k<<2,E=l[f|0],i[r+R>>2]=E,f=u0(C,1),l[k+y|0]=f;W:{if(f&255){if(f=M0(C),i[r+v>>2]=f,(f|0)!=-99999)break W;break n}f=0,i[r+v>>2]=0}if(h=((E|0)!=0)+h|0,i[r+_>>2]=!k|i[A+148>>2]==(k|0)?f:i[(r+_|0)-4>>2]+f|0,k=k+1|0,f=i[A+148>>2],!((k|0)<(f+i[A+152>>2]|0)))break}break B}i[A+148>>2]=0,i[A+152>>2]=0}h=0}if(s[n+8996|0]){j=A,L=u0(C,1),l[j+332|0]=L;break m}l[A+332|0]=0;break m}i[A+148>>2]=0,i[A+152>>2]=0}m:{if(s[n+8799|0]){if(j=A,L=u0(C,1),l[j+333|0]=L,f=0,!i[n+16848>>2])break m;f=u0(C,1);break m}l[A+333|0]=0,f=0}if(i[A+336>>2]=0,i[A+340>>2]=0,l[A+334|0]=f,k0[A+28>>2]>1)break w;f=u0(C,1),l[A+335|0]=f;m:{if(f&255){if(f=M0(C),i[A+336>>2]=f,(f|0)==-99999)break o;if(f=f+1|0,i[A+336>>2]=f,i[A+28>>2]){r=i[A+340>>2];break m}if(f=M0(C),i[A+340>>2]=f,(f|0)==-99999)break o;r=f+1|0,i[A+340>>2]=r,f=i[A+336>>2];break m}r=i[A+4>>2],f=l[r+17|0],i[A+336>>2]=f,r=l[r+18|0],i[A+340>>2]=r}if(u=8,(f|0)>16|(r|0)>16)break n;k=s[A+919|0]+h|0,i[A+920>>2]=k;m:{B:{if(!(!s[i[A+4>>2]+8233|0]|(k|0)<2)){for(r=0;f=r,r=r+1|0,(k|0)>1<<f;);if(r=u0(C,1),l[A+344|0]=r,!(!(r&255)|i[A+336>>2]<=0))for(k=A+346|0,r=0;j=r+k|0,L=u0(C,f),l[j|0]=L,r=r+1|0,(r|0)<i[A+336>>2];);if(!i[A+28>>2]){if(r=u0(C,1),l[A+345|0]=r,!(r&255)|i[A+340>>2]<=0)break B;for(k=A+362|0,r=0;j=r+k|0,L=u0(C,f),l[j|0]=L,r=r+1|0,(r|0)<i[A+340>>2];);break B}l[A+345|0]=0;break m}X[A+344>>1]=0}if(i[A+28>>2])break m;j=A,L=u0(C,1),l[j+378|0]=L}if(s[i[A+4>>2]+16|0]?f=u0(C,1):f=0,l[A+379|0]=f,!s[A+332|0])break _;f=1,i[A+28>>2]||(f=u0(C,1)),l[A+380|0]=f,r=f&255;m:{if(!(i[A+340>>2]<2|r)||i[A+336>>2]>1&&r){if(r=M0(C),i[w>>2]=r,(r|0)!=-99999){f=s[A+380|0];break m}break o}r=0,i[w>>2]=0}m:{if(f&255){if(i[A+336>>2]<=(r|0))break m;break _}if(i[A+340>>2]>(r|0))break _}break t}v2(o+4|0,1015,0),u=8;break n}v2(o+4|0,1018,0);break u}_:{if(f=i[A+4>>2],r=i[A+28>>2],!(!(r|!s[f+42|0])||(r|0)==1&&s[f+41|0]))break _;v:{Z:{if(f=i[(o+(i[A+16>>2]<<3)|0)+856>>2],f){if(r=i[(o+(l[f+13|0]<<3)|0)+728>>2],!r)break Z;f=M0(C),l[A+388|0]=f,k=0;m:{if(f>>>0>7)break m;if(i[r+476>>2]){if(f=_1(C)+s[A+388|0]|0,f>>>0>7)break m;l[A+389|0]=f}u=A+678|0,_=A+550|0,z=A+518|0,v=A+454|0,p=A+422|0,y=A+390|0,f=0,w=i[A+336>>2];B:{if((w|0)<=0)break B;for(;j=f+y|0,L=u0(C,1),l[j|0]=L,f=f+1|0,(w|0)!=(f|0););if(!(!i[r+476>>2]|(w|0)<=0))for(f=0;j=f+p|0,L=u0(C,1),l[j|0]=L,f=f+1|0,(w|0)!=(f|0););if((w|0)<=0)break B;for(f=0;;){p:{if(s[f+y|0]){if(k=0,h=_1(C),h-128>>>0<4294967040)break v;if(X[v+(f<<1)>>1]=h+(1<<s[A+388|0]),h=_1(C),W=i[r+16996>>2],(h|0)<(0-W|0))break m;if((h|0)<(W|0))break p;break m}X[v+(f<<1)>>1]=1<<s[A+388|0],h=0}l[f+z|0]=h,A0=u+(f<<1)|0;p:{W:{if(s[f+p|0]){if(k=_1(C),k-128>>>0>=4294967040)break W;k=0;break v}k=_+(f<<2)|0,h=1<<s[A+389|0],X[k>>1]=h,l[u+(f<<1)|0]=0,X[k+2>>1]=h,k=0;break p}if(W=_+(f<<2)|0,X[W>>1]=k+(1<<s[A+389|0]),k=0,I=_1(C),h=i[r+17e3>>2],D=h<<2,(I|0)<(0-D|0)|(I|0)>=(D|0)||(D=0-h|0,I=(h+I|0)-(m(h,X[W>>1])>>s[A+389|0])|0,l[u+(f<<1)|0]=(I|0)<(D|0)?D:(h|0)>(I|0)?I:h-1|0,h=_1(C),h-128>>>0<4294967040)||(X[W+2>>1]=h+(1<<s[A+389|0]),I=_1(C),h=i[r+17e3>>2],D=h<<2,(I|0)<(0-D|0)|(I|0)>=(D|0)))break m;D=0-h|0,k=(h+I|0)-(m(h,X[W+2>>1])>>s[A+389|0])|0,k=(k|0)<(D|0)?D:(k|0)<(h|0)?k:h+255|0}if(l[A0+1|0]=k,f=f+1|0,(w|0)==(f|0))break}}if(k=1,i[A+28>>2])break v;if(w=i[A+340>>2],(w|0)<=0)break m;for(f=0;j=f+y|0,L=u0(C,1),l[j+16|0]=L,f=f+1|0,(w|0)!=(f|0););if(!(!i[r+476>>2]|(w|0)<=0))for(f=0;j=f+p|0,L=u0(C,1),l[j+16|0]=L,f=f+1|0,(w|0)!=(f|0););if((w|0)<=0)break m;for(f=0;;){B:{if(s[(f+y|0)+16|0]){if(k=0,h=_1(C),h-128>>>0<4294967040)break v;if(X[(v+(f<<1)|0)+32>>1]=h+(1<<s[A+388|0]),h=_1(C),W=i[r+16996>>2],(h|0)<(0-W|0))break m;if((h|0)<(W|0))break B;break m}X[(v+(f<<1)|0)+32>>1]=1<<s[A+388|0],h=0}l[(f+z|0)+16|0]=h;B:{if(s[(f+p|0)+16|0]){if(k=0,h=_1(C),h-128>>>0<4294967040)break v;if(I=_+(f<<2)|0,R=I- -64|0,X[R>>1]=h+(1<<s[A+389|0]),W=_1(C),h=i[r+17e3>>2],D=h<<2,(W|0)<(0-D|0)|(W|0)>=(D|0)||(D=0-h|0,W=(h+W|0)-(m(h,X[R>>1])>>s[A+389|0])|0,l[(u+(f<<1)|0)+32|0]=(W|0)<(D|0)?D:(h|0)>(W|0)?W:h-1|0,h=_1(C),h-128>>>0<4294967040)||(X[I+66>>1]=h+(1<<s[A+389|0]),W=_1(C),h=i[r+17e3>>2],R=h<<2,(W|0)<(0-R|0)|(W|0)>=(R|0)))break m;R=0-h|0,k=(h+W|0)-(m(h,X[I+66>>1])>>s[A+389|0])|0,h=(k|0)<(R|0)?R:(k|0)<(h|0)?k:h+255|0;break B}k=_+(f<<2)|0,h=1<<s[A+389|0],X[k- -64>>1]=h,l[(u+(f<<1)|0)+32|0]=0,X[k+66>>1]=h,h=0}if(k=1,l[(u+(f<<1)|0)+33|0]=h,f=f+1|0,(w|0)==(f|0))break}}break v}C0(3875,14036,152,10294),P()}C0(3871,14036,154,10294),P()}if(k)break _;break t}if(f=M0(C),i[A+744>>2]=f,(f|0)==-99999)break o;i[A+812>>2]=5-f}if(f=_1(C),i[A+748>>2]=f,(f|0)==-99999)break o;f=i[A+4>>2];w:{if(s[f+40|0]){if(f=_1(C),i[A+752>>2]=f,(f|0)==-99999)break o;if(f=_1(C),i[A+756>>2]=f,(f|0)!=-99999){f=i[A+4>>2];break w}break o}i[A+752>>2]=0,i[A+756>>2]=0}s[f+8248|0]==1&&(j=A,L=u0(C,1),l[j+760|0]=L,f=i[A+4>>2]);w:{_:{if(!s[f+60|0]){l[A+761|0]=0,i[A+764>>2]=i[f+64>>2],i[A+768>>2]=i[f+68>>2];break _}if(r=u0(C,1),l[A+761|0]=r,f=i[A+4>>2],i[A+764>>2]=i[f+64>>2],i[A+768>>2]=i[f+68>>2],!(r&255))break _;if(f=u0(C,1),l[A+762|0]=f,f&255)break w;if(f=_1(C),i[A+764>>2]=f,(f|0)==-99999||(i[A+764>>2]=f<<1,f=_1(C),i[A+768>>2]=f,(f|0)==-99999))break o;i[A+768>>2]=f<<1;break w}l[A+762|0]=s[f+61|0]}if(r=i[A+4>>2],f=s[r+58|0],!(!f|!(!s[A+762|0]||s[A+333|0]|s[A+334|0]))){j=A,L=u0(C,1),l[j+772|0]=L,r=i[A+4>>2];break h}l[A+772|0]=f}h:{if(s[r+46|0]|s[r+45|0]){if(f=M0(C),i[A+776>>2]=f,(f|0)==-99999||(r=i[A+4>>2],!(!s[r+45|0]|i[n+16900>>2]>(f+(i[A+24>>2]/i[n+16892>>2]|0)|0))|!(!s[r+46|0]|(f|0)<=(m(i[r+52>>2],i[r+48>>2])|0))))break o;r=A+784|0,n=i[r>>2],k=i[r+4>>2]-n>>2;w:{if(k>>>0<f>>>0){Qi(r,f-k|0);break w}f>>>0<k>>>0&&(i[r+4>>2]=n+(f<<2))}if(i[A+776>>2]<=0)break h;if(f=M0(C),i[A+780>>2]=f,(f|0)==-99999)break o;if(r=f+1|0,i[A+780>>2]=r,u=8,(f|0)>31)break n;if(i[A+776>>2]<=0||(f=1,r=u0(C,r),i[i[A+784>>2]>>2]=r+1,i[A+776>>2]<2))break h;for(;r=u0(C,i[A+780>>2]),n=i[A+784>>2]+(f<<2)|0,i[n>>2]=(r+i[n-4>>2]|0)+1,f=f+1|0,(f|0)<i[A+776>>2];);break h}i[A+776>>2]=0}h:{if(!s[i[A+4>>2]+8241|0])break h;if(r=M0(C),i[A+796>>2]=r,(r|0)==-99999|(r|0)>1e3)break o;if(f=0,(r|0)<=0)break h;for(;u0(C,8),f=f+1|0,(f|0)<i[A+796>>2];);}i[A+800>>2]=i[A+748>>2]+i[i[A+4>>2]+20>>2],f=0;h:{w:{_:switch(i[A+28>>2]){case 1:f=l[A+379|0]+1|0;break w;case 2:break w;case 0:break _;default:break h}f=2-l[A+379|0]|0}i[A+804>>2]=f}i[A+812>>2]=5-i[A+744>>2],l[Z+15|0]=1,u=0;break n}v2(o+4|0,1020,0),u=8;break n}v2(o+4|0,1009,0),u=0;break n}l[Z+15|0]=0,u=0;break n}v2(o+4|0,1007,0),u=8;break n}v2(o+4|0,8,0),u=8}i[Z+8>>2]=u;n:{t:{o:{if(!s[Z+15|0]){f=i[o+2216>>2],f&&(l[f+312|0]=2),w4(o+548|0,t),f=i[A+1352>>2],f&&(i[A+1356>>2]=f,G(f)),C8(q),f=i[A+784>>2],f&&(i[A+788>>2]=f,G(f)),f=i[A+8>>2];u:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break u;V[i[i[f>>2]+8>>2]](f),g(f)}G(A),n=i[Z+8>>2];break o}if(n=i[o+528>>2],(n|0)>=0)u:{f=B-864|0,B=f,r=49876;l:{s:{h:{w:switch(n-1|0){case 1:r=49872;break;case 0:break w;default:break h}if(r=i[r>>2],c(r,30991,0),n=i[(o+(i[A+16>>2]<<3)|0)+856>>2],!n){c(r,22306,0);break h}if(!s[n|0])break s;if(u=i[(o+(l[n+13|0]<<3)|0)+728>>2],!u){c(r,22282,0);break h}if(!s[u|0])break l;i[f+848>>2]=l[A+12|0],c(r,27520,f+848|0),(s[o+3204|0]&248)==16&&(i[f+832>>2]=l[A+13|0],c(r,28158,f+832|0)),i[f+816>>2]=i[A+16>>2],c(r,28880,f+816|0),s[A+12|0]||(i[f+800>>2]=l[A+20|0],c(r,28115,f+800|0),i[f+784>>2]=i[A+24>>2],c(r,29656,f+784|0)),k=i[A+28>>2],i[f+768>>2]=k?(k|0)==1?80:73:66,c(r,30364,f+768|0),s[n+43|0]&&(i[f+752>>2]=l[A+32|0],c(r,30104,f+752|0)),s[u+480|0]==1&&(i[f+736>>2]=l[A+33|0],c(r,30147,f+736|0)),i[f+720>>2]=i[A+36>>2],c(r,29388,f+720|0);w:{if((s[o+3204|0]-19&255)>>>0<2)break w;i[f+704>>2]=l[A+40|0],c(r,27239,f+704|0),k=i[u+8820>>2]-i[u+8816>>2]|0;_:{v:{if(!s[A+40|0]){i[f+672>>2]=(k|0)/100,c(r,21478,f+672|0),k=A+42|0;break v}if((k|0)<101)break _;i[f+688>>2]=i[A+144>>2],c(r,28611,f+688|0),k=i[u+8816>>2]+m(i[A+144>>2],100)|0}o7(k,r)}if(s[u+8828|0]&&(i[u+8832>>2]>0&&(i[f+656>>2]=i[A+148>>2],c(r,30281,f+656|0)),i[f+640>>2]=i[A+152>>2],c(r,30190,f+640|0)),!s[u+8996|0])break w;i[f+624>>2]=l[A+332|0],c(r,24824,f+624|0)}if(s[u+8799|0]&&(i[f+608>>2]=l[A+333|0],c(r,29277,f+608|0),i[f+592>>2]=l[A+334|0],c(r,28842,f+592|0)),k0[A+28>>2]<=1){i[f+576>>2]=l[A+335|0],c(r,24531,f+576|0),k=s[A+335|0],i[f+560>>2]=i[A+336>>2],i[f+564>>2]=k?31341:18367,c(r,21891,f+560|0),i[A+28>>2]||(k=s[A+335|0],i[f+544>>2]=i[A+340>>2],i[f+548>>2]=k?31341:18367,c(r,21851,f+544|0));w:{if(!s[n+8233|0]|i[A+920>>2]<2)break w;if(i[f+528>>2]=l[A+344|0],c(r,25449,f+528|0),!(!s[A+344|0]|i[A+336>>2]<=0))for(h=A+346|0,k=0;i[f+516>>2]=s[k+h|0],i[f+512>>2]=k,c(r,23514,f+512|0),k=k+1|0,(k|0)<i[A+336>>2];);if(i[f+496>>2]=l[A+345|0],c(r,25409,f+496|0),!s[A+345|0]|i[A+340>>2]<=0)break w;for(h=A+362|0,k=0;i[f+484>>2]=s[k+h|0],i[f+480>>2]=k,c(r,23514,f+480|0),k=k+1|0,(k|0)<i[A+340>>2];);}i[A+28>>2]||(i[f+464>>2]=l[A+378|0],c(r,29589,f+464|0)),i[f+448>>2]=l[A+379|0],c(r,29732,f+448|0),s[A+332|0]&&(i[f+432>>2]=l[A+380|0],c(r,27935,f+432|0),i[f+416>>2]=i[A+384>>2],c(r,29078,f+416|0)),k=i[A+28>>2];w:{if(!(!(k|!s[n+42|0])||(k|0)==1&&s[n+41|0]))break w;if(i[f+400>>2]=s[A+388|0],c(r,28078,f+400|0),i[u+476>>2]&&(i[f+384>>2]=s[A+389|0],c(r,28406,f+384|0)),u=A+678|0,h=A+550|0,w=A+518|0,_=A+454|0,v=i[A+336>>2],(v|0)>0)for(k=0;p=k<<1,i[f+376>>2]=X[p+_>>1],i[f+372>>2]=k,i[f+368>>2]=0,c(r,29315,f+368|0),i[f+360>>2]=l[k+w|0],i[f+356>>2]=k,i[f+352>>2]=0,c(r,29041,f+352|0),y=h+(k<<2)|0,i[f+348>>2]=X[y>>1],i[f+344>>2]=0,i[f+340>>2]=k,i[f+336>>2]=0,c(r,27972,f+336|0),p=u+p|0,i[f+332>>2]=l[p|0],i[f+328>>2]=0,i[f+324>>2]=k,i[f+320>>2]=0,c(r,28010,f+320|0),i[f+316>>2]=X[y+2>>1],i[f+312>>2]=1,i[f+308>>2]=k,i[f+304>>2]=0,c(r,27972,f+304|0),i[f+300>>2]=l[p+1|0],i[f+296>>2]=1,i[f+292>>2]=k,i[f+288>>2]=0,c(r,28010,f+288|0),k=k+1|0,(v|0)!=(k|0););if(i[A+28>>2]||(v=i[A+340>>2],(v|0)<=0))break w;for(k=0;p=k<<1,i[f+280>>2]=X[(p+_|0)+32>>1],i[f+276>>2]=k,i[f+272>>2]=1,c(r,29315,f+272|0),i[f+264>>2]=l[(k+w|0)+16|0],i[f+260>>2]=k,i[f+256>>2]=1,c(r,29041,f+256|0),y=h+(k<<2)|0,i[f+252>>2]=X[y- -64>>1],i[f+248>>2]=0,i[f+244>>2]=k,i[f+240>>2]=1,c(r,27972,f+240|0),p=u+p|0,i[f+236>>2]=l[p+32|0],i[f+232>>2]=0,i[f+228>>2]=k,i[f+224>>2]=1,c(r,28010,f+224|0),i[f+220>>2]=X[y+66>>1],i[f+216>>2]=1,i[f+212>>2]=k,i[f+208>>2]=1,c(r,27972,f+208|0),i[f+204>>2]=l[p+33|0],i[f+200>>2]=1,i[f+196>>2]=k,i[f+192>>2]=1,c(r,28010,f+192|0),k=k+1|0,(v|0)!=(k|0););}i[f+176>>2]=i[A+744>>2],c(r,25798,f+176|0)}if(i[f+160>>2]=i[A+748>>2],c(r,28306,f+160|0),s[n+40|0]&&(i[f+144>>2]=i[A+752>>2],c(r,26696,f+144|0),i[f+128>>2]=i[A+756>>2],c(r,26667,f+128|0)),s[n+60|0]&&(i[f+112>>2]=l[A+761|0],c(r,24493,f+112|0)),k=s[A+761|0],i[f+96>>2]=l[A+762|0],i[f+100>>2]=k?18333:18201,c(r,21804,f+96|0),s[A+762|0]|!s[A+761|0]||(i[f+80>>2]=i[A+764>>2],c(r,25635,f+80|0),i[f+64>>2]=i[A+768>>2],c(r,26250,f- -64|0)),!s[n+58|0]|!(!s[A+762|0]||s[A+333|0]|s[A+334|0])||(i[f+48>>2]=l[A+772|0],c(r,24773,f+48|0)),!(s[n+46|0]|s[n+45|0])||(i[f+32>>2]=i[A+776>>2],c(r,26312,f+32|0),i[A+776>>2]<=0)||(i[f+16>>2]=i[A+780>>2],c(r,29849,f+16|0),i[A+776>>2]<=0))break h;for(k=0;i[f+4>>2]=i[i[A+784>>2]+(k<<2)>>2],i[f>>2]=k,c(r,25347,f),k=k+1|0,(k|0)<i[A+776>>2];);}B=f+864|0;break u}C0(13583,14036,1287,5797),P()}C0(13569,14036,1294,5797),P()}u=i[t+8>>2],I=i[t+12>>2],z=i[t+16>>2],_=B-80|0,B=_,i[Z+8>>2]=0,l[o+3220|0]=0,r=i[A+16>>2],n=o+(r<<3)|0,f=i[n+856>>2];u:{if(!(s[f|0]&&f)){if(i[_>>2]=r,r=B-16|0,B=r,s[95749]|i[23936]<-9999||(f=i[12469],n=s[22330]==42,n||F1(21511,5,1,f),i[r+12>>2]=_,qr(f,n+22330|0,_,976,977),x8(f)),B=r+16|0,f=i[i[o+2216>>2]+112>>2],r=i[f+84>>2],(r|0)==20){i[f+80>>2]=1001,r=0;break u}i[f+84>>2]=r+1,i[(f+(r<<2)|0)+4>>2]=1009,r=0;break u}r=i[n+860>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),i[o+1384>>2]=f,f=i[o+1388>>2],i[o+1388>>2]=r;l:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break l;V[i[i[f>>2]+8>>2]](f),g(f)}f=o+(l[i[o+1384>>2]+13|0]<<3)|0,n=i[f+728>>2],r=i[f+732>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),i[o+1376>>2]=n,f=i[o+1380>>2],i[o+1380>>2]=r;l:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break l;V[i[i[f>>2]+8>>2]](f),g(f)}f=o+(l[i[o+1376>>2]+1|0]<<3)|0,n=i[f+600>>2],r=i[f+604>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),i[o+1368>>2]=n,f=i[o+1372>>2],i[o+1372>>2]=r;l:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break l;V[i[i[f>>2]+8>>2]](f),g(f)}l:{s:{h:{w:{if(f=i[o+1376>>2],!f){if(f=i[o+1368>>2],f)break w;if(f=6,s[o+2108|0]!=6)break s;break l}if(k=l[f+2|0],f=k-1|0,(f|0)!=l[o+2108|0])break h;break l}if(k=i[f+8>>2],l[o+2108|0]==(k-1|0))break l;f=k-1|0}if((k|0)<=0)break l}for(R=o+2112|0,v=o+1908|0,p=f+1|0;;){r=m(f,100),w=(r+100|0)/(p|0)|0,n=(r|0)/(p|0)|0;s:{if((w|0)<(n|0)){r=f;break s}h=i[o+1888>>2];h:{if(n+w&1){r=f,k=n;break h}r=v+(n<<1)|0,l[r+1|0]=(f|0)>(h|0)?100:0,k=r,r=(f|0)<(h|0)?f:h,l[k|0]=r,k=n+1|0}if((n|0)==(w|0))break s;for(y=w-n|0,f=r;W=v+(k<<1)|0,r=(f|0)<(h|0)?f:h,l[W|0]=r,l[W+1|0]=(f|0)>(h|0)?100:(m(k-n|0,100)|0)/(y|0)|0,W=k+1|0,f=v+(W<<1)|0,l[f+1|0]=(m(W-n|0,100)|0)/(y|0),l[f|0]=r,k=k+2|0,f=r,(w|0)!=(W|0););}if(i[R+(r<<2)>>2]=w,f=r-1|0,!((r|0)>0))break}}f=o+(i[o+1892>>2]<<1)|0,r=l[f+1908|0],i[o+1896>>2]=r,i[o+1900>>2]=l[f+1909|0],i[o+1904>>2]=r;l:{s:{if(s[A+12|0]){if(i[o+2196>>2]=i[A+36>>2],r=s[o+533|0],f=i[o+1376>>2],n=s[f+8799|0],i[_+72>>2]=f,f=i[o+1380>>2],i[_+76>>2]=f,f&&(i[f+4>>2]=i[f+4>>2]+1),f=i[_+76>>2],i[_+40>>2]=i[_+72>>2],i[_+44>>2]=f,f=fn(o+2140|0,_+40|0,o,u,I,z,(r|!n)&1),(f|0)<0){r=0,i[Z+8>>2]=0-f;break u}r=0,n=i[o+2148>>2],f>>>0<i[o+2152>>2]-n>>2>>>0&&(r=i[n+(f<<2)>>2]),i[o+2216>>2]=r,l[r+316|0]=s[S+7|0],f=s[S+5|0]|s[S+6|0]<<8,l[r+314|0]=f,l[r+315|0]=f>>>8,f=i[o+2216>>2],i[_+64>>2]=i[o+1368>>2],r=i[o+1372>>2],i[_+68>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),i[_+56>>2]=i[o+1376>>2],r=i[o+1380>>2],i[_+60>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),i[_+48>>2]=i[o+1384>>2],r=i[o+1388>>2],i[_+52>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),r=i[_+68>>2],i[_+32>>2]=i[_+64>>2],i[_+36>>2]=r,r=i[_+60>>2],i[_+24>>2]=i[_+56>>2],i[_+28>>2]=r,r=i[_+52>>2],i[_+16>>2]=i[_+48>>2],i[_+20>>2]=r,r=i[_+32>>2],n=i[_+36>>2],n&&(i[n+4>>2]=i[n+4>>2]+1),i[f+116>>2]=r,r=i[f+120>>2],i[f+120>>2]=n;h:{if(!r||(n=i[r+4>>2],i[r+4>>2]=n-1,n))break h;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[_+24>>2],n=i[_+28>>2],n&&(i[n+4>>2]=i[n+4>>2]+1),i[f+124>>2]=r,r=i[f+128>>2],i[f+128>>2]=n;h:{if(!r||(n=i[r+4>>2],i[r+4>>2]=n-1,n))break h;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[_+16>>2],n=i[_+20>>2],n&&(i[n+4>>2]=i[n+4>>2]+1),i[f+132>>2]=r,r=i[f+136>>2],i[f+136>>2]=n;h:{if(!r||(f=i[r+4>>2],i[r+4>>2]=f-1,f))break h;V[i[i[r>>2]+8>>2]](r),g(r)}f=i[_+20>>2];h:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break h;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[_+28>>2];h:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break h;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[_+36>>2];h:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break h;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[o+2216>>2],i[f+112>>2]=o,k=0,h=0,r=i[f+160>>2],r&&B0(r,0,m(i[f+164>>2],3)),r=i[f+140>>2],r&&B0(r,0,m(i[f+144>>2],24)),r=i[f+260>>2],r&&B0(r,0,i[f+264>>2]),n=i[f+144>>2];h:{if((n|0)<=0)break h;if(r=i[f+320>>2],f=0,n>>>0>=8)for(u=n&2147483640;i[r+m(f,76)>>2]=0,i[r+m(f|1,76)>>2]=0,i[r+m(f|2,76)>>2]=0,i[r+m(f|3,76)>>2]=0,i[r+m(f|4,76)>>2]=0,i[r+m(f|5,76)>>2]=0,i[r+m(f|6,76)>>2]=0,i[r+m(f|7,76)>>2]=0,f=f+8|0,h=h+8|0,(u|0)!=(h|0););if(n=n&7,!n)break h;for(;i[r+m(f,76)>>2]=0,f=f+1|0,k=k+1|0,(n|0)!=(k|0););}f=s[o+3204|0];h:{if((f&248)!=16)break h;w:{if(!(s[o+2200|0]|((f|0)==18|(f&254)==16|(f-19&255)>>>0<2))&&s[o+2203|0]!=1)break w;l[o+2203|0]=0,l[o+2201|0]=1;break h}l[o+2201|0]=0,l[o+2202|0]=0}h:{if(!((s[o+3204|0]&254)!=8|s[o+2201|0]!=1)){l[i[o+2216>>2]+104|0]=0;break h}l[i[o+2216>>2]+104|0]=s[A+32|0]!=0}n=0;h:{if(!((s[o+3204|0]&248)!=16|s[o+2201|0]!=1)){l[o+3220|0]=1,i[o+2204>>2]=0,f=i[A+36>>2];break h}f=i[A+36>>2],n=i[o+2208>>2],r=i[i[o+1376>>2]+16868>>2];w:{if(!((f|0)>=(n|0)|(n-f|0)<((r|0)/2|0))){u=r+i[o+2212>>2]|0;break w}if(u=i[o+2212>>2]-r|0,!((f|0)<=(n|0)|(f-n|0)<=((r|0)/2|0)))break w;u=i[o+2212>>2]}n=u,i[o+2204>>2]=n}r=i[o+2216>>2],i[r+92>>2]=f,i[r+96>>2]=f+n;h:{if(s[r+316|0]||(f=s[o+3204|0],!(f&241))||(f=f&254,(f|0)==8|(f|0)==6))break h;i[o+2208>>2]=i[A+36>>2],i[o+2212>>2]=i[o+2204>>2]}if(!s[A+12|0])break s;i[i[o+2216>>2]+100>>2]=1,n=0,k=0,u=0,p=0,w=B-32|0,B=w,i[w+28>>2]=0,i[w+20>>2]=0,i[w+24>>2]=0,f=i[o+2216>>2],y=i[f>>2];h:{if((s[o+3204|0]&248)!=16|s[o+2201|0]!=1||(h=i[o+2148>>2],v=i[o+2152>>2],(h|0)==(v|0)))break h;for(z=i[f+96>>2];;){W=i[(u<<2)+h>>2];w:{if(!i[W+100>>2]|(z|0)<=i[W+96>>2]||(I=i[W>>2],I>>>0>=k0[W+108>>2]))break w;_:{if(k>>>0<p>>>0){i[k>>2]=I,k=k+4|0;break _}if(r=k-n>>2,f=r+1|0,f>>>0>=1073741824)break t;if(p=p-n|0,R=p>>1,f=p>>>0>=2147483644?1073741823:f>>>0<R>>>0?R:f,f){if(f>>>0>=1073741824)break i;p=U(f<<2)}else p=0;if(r=p+(r<<2)|0,i[r>>2]=I,p=p+(f<<2)|0,f=r,(k|0)!=(n|0))for(;f=f-4|0,k=k-4|0,i[f>>2]=i[k>>2],(k|0)!=(n|0););k=r+4|0,i[w+28>>2]=p,i[w+20>>2]=f,n&&(G(n),v=i[o+2152>>2],h=i[o+2148>>2]),n=f}i[w+24>>2]=k,i[W+108>>2]=i[W>>2]}if(u=u+1|0,!(u>>>0<v-h>>2>>>0))break}}h:{if((s[o+3204|0]-19&255)>>>0<2){i[o+2544>>2]=0,i[o+2548>>2]=0,i[o+2560>>2]=0,f=o+2552|0,i[f>>2]=0,i[f+4>>2]=0;break h}if(u=0,k=0,n=0,h=s[A+916|0],h)for(v=A+820|0,p=o+2692|0,W=o+2564|0,I=A+884|0,z=i[o+2216>>2],f=0;r=s[f+I|0],i[(r?W+(n<<2)|0:p+(k<<2)|0)>>2]=i[z+96>>2]+X[v+(f<<1)>>1],n=((r|0)!=0)+n|0,k=!r+k|0,f=f+1|0,(h|0)!=(f|0););if(i[o+2544>>2]=n,n=s[A+917|0],n)for(h=o+2692|0,v=o+2628|0,p=A+852|0,W=A+900|0,I=i[o+2216>>2],f=0;r=s[f+W|0],i[(r?v+(u<<2)|0:h+(k<<2)|0)>>2]=i[I+96>>2]+X[p+(f<<1)>>1],u=((r|0)!=0)+u|0,k=!r+k|0,f=f+1|0,(n|0)!=(f|0););i[o+2552>>2]=k,i[o+2548>>2]=u;w:{if((i[A+152>>2]+i[A+148>>2]|0)<=0){n=0,h=0;break w}for(v=o+2480|0,p=o+2820|0,W=o+2416|0,I=o+2756|0,z=o+2288|0,R=o+2352|0,D=A+252|0,J=o+2224|0,E=i[o+1376>>2],a=i[o+2216>>2],k=0,h=0,n=0;;){r=k<<2,f=i[r+J>>2],u=k+D|0,s[u|0]&&(f=i[a+96>>2]+f-(i[A+36>>2]+m(i[E+16868>>2],i[r+R>>2]))|0);_:{if(i[r+z>>2]){r=h<<2,i[r+I>>2]=f,i[r+W>>2]=l[u|0],h=h+1|0;break _}r=n<<2,i[r+p>>2]=f,i[r+v>>2]=l[u|0],n=n+1|0}if(k=k+1|0,!((k|0)<(i[A+152>>2]+i[A+148>>2]|0)))break}}i[o+2560>>2]=n,i[o+2556>>2]=h}if(f=i[o+2148>>2],r=i[o+2152>>2],i[w+16>>2]=0,i[w+8>>2]=0,i[w+12>>2]=0,(f|0)!=(r|0)){if(f=r-f>>2,(f|0)<0)break t;r=U(f),i[w+8>>2]=r,n=f+r|0,i[w+16>>2]=n,B0(r,0,f),i[w+12>>2]=n}r=o+2140|0;h:{w:{if(n=i[o+2556>>2],(n|0)<=0)break w;for(v=o+3076|0,p=o+2756|0,W=o+2416|0,u=0;;){f=u<<2,h=f+p|0,n=i[h>>2],I=f+v|0;_:{if(!i[f+W>>2]){k=a7(r,n,y);break _}k=X6(r,n,y,1)}i[I>>2]=k;_:{if((k|0)>=0)f=i[w+8>>2]+k|0;else{if(k=zr(o,i[o+1376>>2],i[h>>2],1),(k|0)<0)break _;f=i[o+2148>>2],n=i[o+2152>>2],l[w+7|0]=0,f=n-f>>2,h=i[w+8>>2],n=i[w+12>>2]-h|0;v:{if(f>>>0>n>>>0){Lr(w+8|0,f-n|0,w+7|0),h=i[w+8>>2];break v}if(f>>>0>=n>>>0)break v;i[w+12>>2]=f+h}i[I>>2]=k,f=k+h|0}if(l[f|0]=1,s[i[i[o+2148>>2]+(k<<2)>>2]+312|0]&&(l[i[o+2216>>2]+312|0]=4),n=i[o+2556>>2],u=u+1|0,(n|0)>(u|0))continue;break w}break}k=0-k|0;break h}if(v=i[o+2560>>2],(v|0)>0){p=o+3140|0,W=o+2820|0,I=o+2480|0,u=0;w:{for(;;){f=u<<2,k=f+W|0,n=i[k>>2],v=f+p|0;_:{if(!i[f+I>>2]){f=a7(r,n,y);break _}f=X6(r,n,y,1)}i[v>>2]=f;_:{if((f|0)>=0)f=f+i[w+8>>2]|0;else{if(f=zr(o,i[o+1376>>2],i[k>>2],1),(f|0)<0)break _;n=i[o+2148>>2],k=i[o+2152>>2],l[w+7|0]=0,n=k-n>>2,h=i[w+8>>2],k=i[w+12>>2]-h|0;v:{if(n>>>0>k>>>0){Lr(w+8|0,n-k|0,w+7|0),h=i[w+8>>2];break v}if(k>>>0<=n>>>0)break v;i[w+12>>2]=n+h}i[v>>2]=f,f=f+h|0}if(l[f|0]=1,u=u+1|0,v=i[o+2560>>2],(u|0)>=(v|0))break w;continue}break}k=0-f|0;break h}n=i[o+2556>>2]}w:{if((n|0)<=0)break w;if(W=o+3076|0,f=i[o+2148>>2],h=0,k=0,n>>>0>=4)for(I=n&2147483644,p=0;u=W+(k<<2)|0,i[i[f+(i[u>>2]<<2)>>2]+100>>2]=2,i[i[f+(i[u+4>>2]<<2)>>2]+100>>2]=2,i[i[f+(i[u+8>>2]<<2)>>2]+100>>2]=2,i[i[f+(i[u+12>>2]<<2)>>2]+100>>2]=2,k=k+4|0,p=p+4|0,(I|0)!=(p|0););if(n=n&3,!n)break w;for(;i[i[f+(i[W+(k<<2)>>2]<<2)>>2]+100>>2]=2,k=k+1|0,h=h+1|0,(n|0)!=(h|0););}w:{if((v|0)<=0)break w;if(u=v&3,p=o+3140|0,f=i[o+2148>>2],h=0,k=0,v>>>0>=4)for(W=v&2147483644,v=0;n=p+(k<<2)|0,i[i[f+(i[n>>2]<<2)>>2]+100>>2]=2,i[i[f+(i[n+4>>2]<<2)>>2]+100>>2]=2,i[i[f+(i[n+8>>2]<<2)>>2]+100>>2]=2,i[i[f+(i[n+12>>2]<<2)>>2]+100>>2]=2,k=k+4|0,v=v+4|0,(W|0)!=(v|0););if(!u)break w;for(;i[i[f+(i[p+(k<<2)>>2]<<2)>>2]+100>>2]=2,k=k+1|0,h=h+1|0,(u|0)!=(h|0););}w:{if(i[o+2544>>2]<=0)break w;for(v=o+2884|0,p=o+2564|0,u=0;;){_:{if(f=u<<2,n=f+v|0,f=f+p|0,k=X6(r,i[f>>2],y,0),i[n>>2]=k,(k|0)>=0)f=i[w+8>>2]+k|0;else{if(k=zr(o,i[o+1376>>2],i[f>>2],0),(k|0)<0)break _;i[n>>2]=k,f=i[o+2148>>2],n=i[o+2152>>2],l[w+7|0]=0,f=n-f>>2,n=i[w+8>>2],h=i[w+12>>2]-n|0;v:{if(f>>>0>h>>>0){Lr(w+8|0,f-h|0,w+7|0),n=i[w+8>>2];break v}if(f>>>0>=h>>>0)break v;i[w+12>>2]=f+n}f=k+n|0}if(l[f|0]=1,s[i[i[o+2148>>2]+(k<<2)>>2]+312|0]&&(l[i[o+2216>>2]+312|0]=4),u=u+1|0,(u|0)<i[o+2544>>2])continue;break w}break}k=0-k|0;break h}w:{if(i[o+2548>>2]<=0)break w;for(v=o+2948|0,p=o+2628|0,u=0;;){_:{if(f=u<<2,n=f+v|0,f=f+p|0,k=X6(r,i[f>>2],y,0),i[n>>2]=k,(k|0)>=0)f=i[w+8>>2]+k|0;else{if(k=zr(o,i[o+1376>>2],i[f>>2],0),(k|0)<0)break _;i[n>>2]=k,f=i[o+2148>>2],n=i[o+2152>>2],l[w+7|0]=0,f=n-f>>2,n=i[w+8>>2],h=i[w+12>>2]-n|0;v:{if(f>>>0>h>>>0){Lr(w+8|0,f-h|0,w+7|0),n=i[w+8>>2];break v}if(f>>>0>=h>>>0)break v;i[w+12>>2]=f+n}f=k+n|0}if(l[f|0]=1,s[i[i[o+2148>>2]+(k<<2)>>2]+312|0]&&(l[i[o+2216>>2]+312|0]=4),u=u+1|0,(u|0)<i[o+2548>>2])continue;break w}break}k=0-k|0;break h}if(i[o+2552>>2]>0)for(n=o+3012|0,u=o+2692|0,k=0;h=k<<2,f=X6(r,i[h+u>>2],y,0),i[n+h>>2]=f,(f|0)>=0&&(l[f+i[w+8>>2]|0]=1),k=k+1|0,(k|0)<i[o+2552>>2];);if(r=0,n=i[o+2152>>2],u=i[o+2148>>2],(n-u|0)>0)for(;;){f=i[w+8>>2];w:{if(s[f+r|0]&&i[w+12>>2]-f>>>0>r>>>0||(y=i[(r<<2)+u>>2],f=i[o+2216>>2],(y|0)==(f|0)|k0[y+108>>2]<=k0[f>>2]|!i[y+100>>2]))break w;v=i[y>>2],k=i[w+24>>2],h=i[w+28>>2];_:{if(k>>>0<h>>>0){i[k>>2]=v,v=k+4|0;break _}if(p=i[w+20>>2],I=k-p>>2,f=I+1|0,f>>>0>=1073741824)break t;if(h=h-p|0,W=h>>1,W=h>>>0>=2147483644?1073741823:f>>>0<W>>>0?W:f,W){if(W>>>0>=1073741824)break i;h=U(W<<2)}else h=0;if(f=h+(I<<2)|0,i[f>>2]=v,v=f+4|0,(k|0)!=(p|0))for(;f=f-4|0,k=k-4|0,i[f>>2]=i[k>>2],(k|0)!=(p|0););if(i[w+28>>2]=h+(W<<2),i[w+24>>2]=v,i[w+20>>2]=f,!p)break _;G(p),u=i[o+2148>>2],n=i[o+2152>>2]}i[w+24>>2]=v,i[y+108>>2]=i[i[o+2216>>2]>>2]}if(r=r+1|0,!((r|0)<n-u>>2))break}if(k=0,f=A+1352|0,(f|0)==(w+20|0))break h;n=f,f=i[w+20>>2],r=i[w+24>>2],ki(n,f,r,r-f>>2)}if(f=i[w+8>>2],f&&(i[w+12>>2]=f,G(f)),f=i[w+20>>2],f&&(i[w+24>>2]=f,G(f)),B=w+32|0,i[Z+8>>2]=k,!k)break s;r=0;break u}if(i[o+2216>>2])break l;r=0;break u}f=i[o+2216>>2],i[f+100>>2]=1,i[23936]=i[f+96>>2],l[o+2200|0]=0}r=1;l:{if(k0[A+28>>2]>1)break l;f=0,n=B-480|0,B=n,u=i[A+336>>2],h=i[A+920>>2],k=B0(n,0,96),v=o+3076|0,p=o+2948|0,y=o+2884|0,n=(u|0)>(h|0)?u:h,w=n-1|0,R=i[o+2556>>2],W=R-1|0,D=i[o+2548>>2],I=D-1|0,J=i[o+2544>>2],z=J-1|0,J=(J|0)<=0;s:{h:{w:{_:{v:{for(;;){if((f|0)>=(n|0))break v;if(J||(E=w-f|0,E=E>>>0<z>>>0?E:z,l0((k+288|0)+(f<<2)|0,y,(E<<2)+4|0),f=(f+E|0)+1|0),(D|0)<=0|(f|0)>=(n|0)||(E=w-f|0,E=I>>>0>E>>>0?E:I,l0((k+288|0)+(f<<2)|0,p,(E<<2)+4|0),f=(f+E|0)+1|0),(R|0)<=0|(f|0)>=(n|0)||(E=w-f|0,E=W>>>0>E>>>0?E:W,a=E+1|0,B0(f+k|0,1,a),l0((k+288|0)+(f<<2)|0,v,(E<<2)+4|0),f=f+a|0),!f)break}if(f=i[o+84>>2],(f|0)==20){i[o+80>>2]=1001,n=0;break _}i[o+84>>2]=f+1,i[(o+(f<<2)|0)+4>>2]=1016,n=0;break _}if((u|0)>16)break w;if((u|0)>0)for(I=A+1180|0,z=A+1052|0,R=A+1308|0,D=A+924|0,J=A+346|0,f=0,E=s[A+344|0];;){if(w=f<<2,W=w+D|0,n=E?s[f+J|0]:f,i[W>>2]=i[(k+288|0)+(n<<2)>>2],l[f+R|0]=s[k+n|0],n=0,W=i[W>>2],a=i[o+2148>>2],W>>>0>=i[o+2152>>2]-a>>2>>>0||(W=i[a+(W<<2)>>2],!W))break _;if(i[w+z>>2]=i[W+96>>2],i[w+I>>2]=i[W+100>>2],f=f+1|0,(u|0)==(f|0))break}if(n=1,i[A+28>>2])break _;R=i[o+2556>>2],w=R-1|0,D=i[o+2544>>2],W=D-1|0,J=i[o+2548>>2],I=J-1|0,u=i[A+340>>2],n=(u|0)>(h|0)?u:h,h=n-1|0,z=k+48|0,f=0,J=(J|0)<=0;v:{for(;;){if((f|0)>=(n|0))break v;if(J||(E=h-f|0,E=I>>>0>E>>>0?E:I,l0((k+96|0)+(f<<2)|0,p,(E<<2)+4|0),f=(f+E|0)+1|0),(D|0)<=0|(f|0)>=(n|0)||(E=h-f|0,E=W>>>0>E>>>0?E:W,l0((k+96|0)+(f<<2)|0,y,(E<<2)+4|0),f=(f+E|0)+1|0),(R|0)<=0|(f|0)>=(n|0)||(E=h-f|0,E=w>>>0>E>>>0?E:w,a=E+1|0,B0(f+z|0,1,a),l0((k+96|0)+(f<<2)|0,v,(E<<2)+4|0),f=f+a|0),!f)break}if(f=i[o+84>>2],(f|0)==20){i[o+80>>2]=1001,n=0;break _}i[o+84>>2]=f+1,i[(o+(f<<2)|0)+4>>2]=1016,n=0;break _}if((u|0)>16)break h;if(n=1,(u|0)<=0)break _;for(v=A+1244|0,p=A+1116|0,y=A+1324|0,W=A+988|0,I=A+362|0,f=0,R=s[A+345|0];;){if(h=f<<2,w=h+W|0,n=R?s[f+I|0]:f,i[w>>2]=i[(k+96|0)+(n<<2)>>2],l[f+y|0]=s[n+z|0],n=0,w=i[w>>2],D=i[o+2148>>2],w>>>0>=i[o+2152>>2]-D>>2>>>0||(w=i[D+(w<<2)>>2],!w))break _;if(i[h+p>>2]=i[w+96>>2],i[h+v>>2]=i[w+100>>2],n=1,f=f+1|0,(u|0)==(f|0))break}}B=k+480|0;break s}C0(16464,13894,1799,3606),P()}C0(16431,13894,1852,3606),P()}if(n)break l;r=0;break u}i[A+808>>2]=i[(s[A+20|0]?i[o+2220>>2]+808|0:A+24|0)>>2],i[o+2220>>2]=A}if(B=_+80|0,u=i[o+2216>>2],!r){u&&(l[u+312|0]=2),w4(o+548|0,t),f=i[A+1352>>2],f&&(i[A+1356>>2]=f,G(f)),C8(q),f=i[A+784>>2],f&&(i[A+788>>2]=f,G(f)),f=i[A+8>>2];u:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break u;V[i[i[f>>2]+8>>2]](f),g(f)}G(A),n=i[Z+8>>2];break o}n=i[u+56>>2],r=i[u+52>>2],k=n-r>>2,i[A>>2]=k;u:{if(h=i[u+60>>2],h>>>0>n>>>0){i[n>>2]=A,i[u+56>>2]=n+4;break u}l:{if(f=k+1|0,f>>>0<1073741824){if(h=h-r|0,w=h>>1,h=h>>>0>=2147483644?1073741823:f>>>0<w>>>0?w:f,h){if(h>>>0>=1073741824)break l;f=U(h<<2)}else f=0;if(k=f+(k<<2)|0,i[k>>2]=A,w=k+4|0,(r|0)!=(n|0)){for(;k=k-4|0,n=n-4|0,i[k>>2]=i[n>>2],(r|0)!=(n|0););r=i[u+52>>2]}i[u+60>>2]=f+(h<<2),i[u+56>>2]=w,i[u+52>>2]=k,r&&G(r),i[u+56>>2]=w;break u}break t}break i}if(ni(C,1),Gt(C),i[A+776>>2]>0)for(h=i[C>>2]-i[t+20>>2]|0,n=i[A+784>>2],k=0;;){w=k<<2,n=i[w+n>>2],_=i[t+32>>2],f=i[t+36>>2]-_>>2;u:{for(;;){if(r=f,u=0,(r|0)<=0)break u;if(f=r-1|0,!((n|0)<(i[_+(f<<2)>>2]-h|0)))break}u=r}if(n=i[A+784>>2],f=w+n|0,i[f>>2]=i[f>>2]-u,k=k+1|0,!((k|0)<i[A+776>>2]))break}u:{if(!s[A+12|0]){f=i[o+3212>>2];break u}h=U(480),N7(h+8|0),i[h+472>>2]=0,i[h+476>>2]=0,i[h+464>>2]=0,i[h+468>>2]=0,i[h+456>>2]=0,i[h+460>>2]=0,i[h+448>>2]=0,i[h+452>>2]=0,i[h+440>>2]=0,i[h+444>>2]=0,i[h+432>>2]=0,i[h+436>>2]=0,i[h+424>>2]=0,i[h+428>>2]=0,i[h>>2]=i[o+2216>>2],k=i[o+3212>>2],n=i[o+3216>>2];l:{if(k>>>0<n>>>0){i[k>>2]=h,f=k+4|0;break l}if(r=i[o+3208>>2],u=k-r>>2,f=u+1|0,f>>>0>=1073741824)break t;if(v=u<<2,n=n-r|0,w=n>>1,w=n>>>0>=2147483644?1073741823:f>>>0<w>>>0?w:f,w){if(w>>>0>=1073741824)break i;u=U(w<<2)}else u=0;if(n=v+u|0,i[n>>2]=h,f=n+4|0,(r|0)!=(k|0)){for(;n=n-4|0,k=k-4|0,i[n>>2]=i[k>>2],(r|0)!=(k|0););r=i[o+3208>>2]}if(i[o+3216>>2]=u+(w<<2),i[o+3212>>2]=f,i[o+3208>>2]=n,!r)break l;G(r)}i[o+3212>>2]=f}if(i[o+3208>>2]!=(f|0)){n=U(144),l[n+36|0]=0,i[n+32>>2]=0,i[n>>2]=0,i[n+4>>2]=0,i[n+44>>2]=0,i[n+140>>2]=o,i[n+128>>2]=-1,i[n+132>>2]=0,i[n+120>>2]=0,i[n+124>>2]=-1,i[n+136>>2]=0,i[n+40>>2]=0,i[n+4>>2]=A,i[n>>2]=t,f=i[C+4>>2],i[n+8>>2]=i[C>>2],i[n+12>>2]=f,f=i[C+12>>2],i[n+16>>2]=i[C+8>>2],i[n+20>>2]=f,f=i[C+20>>2],i[n+24>>2]=i[C+16>>2],i[n+28>>2]=f,l[n+36|0]=s[o+3220|0],A=i[i[o+3212>>2]-4>>2],t=i[A+428>>2],k=i[A+432>>2];u:{if(t>>>0<k>>>0){i[t>>2]=n,n=t+4|0;break u}if(r=i[A+424>>2],u=t-r>>2,f=u+1|0,f>>>0>=1073741824)break t;if(k=k-r|0,C=k>>1,C=k>>>0>=2147483644?1073741823:f>>>0<C>>>0?C:f,C){if(C>>>0>=1073741824)break i;f=U(C<<2)}else f=0;if(k=f+(u<<2)|0,i[k>>2]=n,n=k+4|0,(r|0)!=(t|0)){for(;k=k-4|0,t=t-4|0,i[k>>2]=i[t>>2],(r|0)!=(t|0););r=i[A+424>>2]}if(i[A+432>>2]=f+(C<<2),i[A+428>>2]=n,i[A+424>>2]=k,!r)break u;G(r)}i[A+428>>2]=n}fk(o,Z+7|0),n=0}B=Z+16|0;break n}y0(),P()}break k}n:switch(r-32|0){case 0:Z=U(668),i[Z>>2]=43652,i[Z+4>>2]=0,i[Z+8>>2]=0,k=f,w=f+4|0,A=B0(Z+12|0,0,656),u=S+8|0,f=u0(u,4),i[A>>2]=f,n=8;t:{if((f|0)>15||(ni(u,2),f=u0(u,6),i[A+4>>2]=f+1,(f|0)>62)||(f=u0(u,3),i[A+8>>2]=f+1,(f|0)>6))break t;if(j=A,L=u0(u,1),i[j+12>>2]=L,ni(u,16),K7(A+16|0,u,i[A+8>>2]),f=u0(u,1),i[A+484>>2]=f,o=i[A+8>>2],r=f?0:o-1|0,(r|0)<(o|0)){for(t=A+488|0,f=r;;){if(o=t+m(f,12)|0,j=o,L=M0(u),i[j>>2]=L,j=o,L=M0(u),i[j+4>>2]=L,h=M0(u),i[o+8>>2]=h,i[o>>2]==-99999|(h|0)==-99999|i[o+4>>2]==-99999)break t;if(f=f+1|0,!((f|0)<i[A+8>>2]))break}f=i[A+484>>2]}o:{u:{l:{if(f)break l;if((r|0)>7)break u;if((r|0)<=0||(o=(A+488|0)+m(r,12)|0,f=i[o>>2],n=i[o+4>>2],o=i[o+8>>2],i[A+496>>2]=o,i[A+492>>2]=n,i[A+488>>2]=f,(r|0)==1)||(i[A+508>>2]=o,i[A+504>>2]=n,i[A+500>>2]=f,(r|0)==2)||(i[A+520>>2]=o,i[A+516>>2]=n,i[A+512>>2]=f,(r|0)==3)||(i[A+532>>2]=o,i[A+528>>2]=n,i[A+524>>2]=f,(r|0)==4)||(i[A+544>>2]=o,i[A+540>>2]=n,i[A+536>>2]=f,(r|0)==5)||(i[A+556>>2]=o,i[A+552>>2]=n,i[A+548>>2]=f,(r|0)==6))break l;i[A+568>>2]=o,i[A+564>>2]=n,i[A+560>>2]=f}if(j=A,L=u0(u,6),l[j+584|0]=L,f=M0(u),i[A+588>>2]=f,f-1023>>>0<=4294966271)break o;n=f+1|0,i[A+588>>2]=n,f=i[A+596>>2],r=f,t=i[A+592>>2],o=(r-t|0)/12|0;l:{if(o>>>0<n>>>0){if(r=0,t=n-o|0,h=i[A+600>>2],t>>>0<=(h-f|0)/12>>>0){t&&(r=f,f=m(t,12)-12|0,f=(f-((f>>>0)%12|0)|0)+12|0,f=B0(r,0,f)+f|0),i[A+596>>2]=f;break l}s:{if(o=i[A+592>>2],_=(f-o|0)/12|0,n=_+t|0,n>>>0<357913942){if(h=(h-o|0)/12|0,v=h<<1,h=h>>>0>=178956970?357913941:n>>>0<v>>>0?v:n,h){if(h>>>0>=357913942)break s;r=U(m(h,12))}n=m(_,12)+r|0,t=m(t,12)-12|0,_=(t-((t>>>0)%12|0)|0)+12|0,t=B0(n,0,_),_=t+_|0,h=m(h,12)+r|0;h:{if((f|0)==(o|0)){r=t;break h}for(;v=n-4|0,i[v>>2]=0,r=n-12|0,t=f-12|0,i[r>>2]=i[t>>2],i[n-8>>2]=i[f-8>>2],f=f-4|0,i[v>>2]=i[f>>2],i[f>>2]=0,i[t>>2]=0,i[t+4>>2]=0,n=r,f=t,(o|0)!=(f|0););f=i[A+596>>2],o=i[A+592>>2]}if(i[A+600>>2]=h,i[A+596>>2]=_,i[A+592>>2]=r,(f|0)!=(o|0))for(;r=f-12|0,n=i[r>>2],n&&(i[f-8>>2]=n,G(n)),f=r,(o|0)!=(r|0););o&&G(o);break l}y0(),P()}break i}if(n>>>0>=o>>>0)break l;if(n=t+m(n,12)|0,(n|0)!=(r|0))for(;f=r-12|0,o=i[f>>2],o&&(i[r-8>>2]=o,G(o)),r=f,(r|0)!=(n|0););i[A+596>>2]=n}if(i[A+588>>2]>=2)for(n=s[A+584|0],f=1;;){r=n+1|0,h=m(f,12),o=h+i[A+592>>2]|0,t=i[o>>2],v=n,n=i[o+4>>2]-t|0;l:{if(v>>>0>=n>>>0){L2(o,r-n|0);break l}if(r>>>0>=n>>>0)break l;i[o+4>>2]=r+t}for(r=0;n=u0(u,1),l[i[h+i[A+592>>2]>>2]+r|0]=n,n=s[A+584|0],o=n>>>0>r>>>0,r=r+1|0,!!o;);if(f=f+1|0,!((f|0)<i[A+588>>2]))break}f=u0(u,1),l[A+604|0]=f;l:{s:{if(!(f&255)||(j=A,L=u0(u,32),i[j+608>>2]=L,j=A,L=u0(u,32),i[j+612>>2]=L,f=u0(u,1),l[A+616|0]=f,!(f&255)))break s;if(j=A,L=M0(u)+1|0,i[j+620>>2]=L,r=M0(u),i[A+624>>2]=r,r>>>0>=1024)break o;t=0,f=i[A+632>>2],o=i[A+628>>2],n=f-o>>1;h:{if(n>>>0<r>>>0){if(n=r-n|0,h=i[A+636>>2],n>>>0<=h-f>>1>>>0){n&&(r=f,f=n<<1,f=B0(r,0,f)+f|0),i[A+632>>2]=f;break h}w:{if(r=i[A+628>>2],w=f-r>>1,o=w+n|0,(o|0)>=0){if(h=h-r|0,h=h>>>0>=2147483646?2147483647:o>>>0<h>>>0?h:o,h){if((h|0)<0)break w;t=U(h<<1)}if(o=(w<<1)+t|0,n=n<<1,n=B0(o,0,n)+n|0,(f|0)!=(r|0))for(;o=o-2|0,f=f-2|0,X[o>>1]=Q[f>>1],(f|0)!=(r|0););i[A+636>>2]=(h<<1)+t,i[A+632>>2]=n,i[A+628>>2]=o,r&&G(r);break h}y0(),P()}break i}r>>>0<n>>>0&&(i[A+632>>2]=o+(r<<1))}f=A+640|0,n=i[f>>2],r=i[A+624>>2],o=i[f+4>>2]-n|0;h:{if(r>>>0>o>>>0){L2(f,r-o|0);break h}r>>>0<o>>>0&&(i[f+4>>2]=r+n)}if(i[A+624>>2]<=0)break s;f=M0(u),X[i[A+628>>2]>>1]=f;break l}j=A,L=u0(u,1),l[j+652|0]=L}n=0;break t}C0(14842,13920,144,13592),P()}v2(w,8,0),n=8}r=n;t:{if(r)break t;if(n=i[k+520>>2],(n|0)>=0){o=B-368|0,B=o,f=49876;o:{u:switch(n-1|0){case 1:f=49872;break;case 0:break u;default:break o}if(t=i[f>>2],c(t,30827,0),i[o+352>>2]=i[A>>2],c(t,29805,o+352|0),i[o+336>>2]=i[A+4>>2],c(t,30237,o+336|0),i[o+320>>2]=i[A+8>>2],c(t,29882,o+320|0),i[o+304>>2]=i[A+12>>2],c(t,28489,o+304|0),f=i[A+8>>2],Cr(A+16|0,1,t),(f|0)>=2)for(n=f-2|0,u=A+68|0,f=0;i[o+288>>2]=f,c(t,30407,o+288|0),Cr(u+m(f,52)|0,0,t),h=(f|0)!=(n|0),f=f+1|0,!!h;);i[o+272>>2]=i[A+484>>2],c(t,23930,o+272|0);u:{if(i[A+484>>2]){if(i[A+8>>2]<=0)break u;for(u=A+488|0,f=0;n=u+m(f,12)|0,i[o+260>>2]=i[n>>2],i[o+256>>2]=f,c(t,22455,o+256|0),i[o+240>>2]=i[n+4>>2],c(t,22746,o+240|0),i[o+224>>2]=i[n+8>>2],c(t,22791,o+224|0),f=f+1|0,(f|0)<i[A+8>>2];);break u}i[o+208>>2]=i[A+488>>2],c(t,22497,o+208|0),i[o+192>>2]=i[A+492>>2],c(t,22742,o+192|0),i[o+176>>2]=i[A+496>>2],c(t,22787,o+176|0)}if(i[o+160>>2]=s[A+584|0],c(t,22832,o+160|0),i[o+144>>2]=i[A+588>>2],c(t,22402,o+144|0),i[A+588>>2]>=2)for(n=1;;){for(f=0,u=m(n,12);i[o+136>>2]=l[i[u+i[A+592>>2]>>2]+f|0],i[o+132>>2]=f,i[o+128>>2]=n,c(t,22705,o+128|0),h=s[A+584|0]>f>>>0,f=f+1|0,!!h;);if(n=n+1|0,!((n|0)<i[A+588>>2]))break}i[o+112>>2]=l[A+604|0],c(t,22542,o+112|0);u:{if(!s[A+604|0]||(i[o+96>>2]=i[A+608>>2],c(t,22427,o+96|0),i[o+80>>2]=i[A+612>>2],c(t,22890,o+80|0),i[o+64>>2]=l[A+616|0],c(t,22602,o- -64|0),!s[A+616|0])||(i[o+48>>2]=i[A+620>>2],c(t,22644,o+48|0),i[o+32>>2]=i[A+624>>2],c(t,22857,o+32|0),i[A+624>>2]<=0))break u;i[o+20>>2]=Q[i[A+628>>2]>>1],i[o+16>>2]=0,c(t,22677,o+16|0);break o}i[o>>2]=l[A+652|0],c(t,22577,o)}B=o+368|0}if(i[Z+4>>2]=i[Z+4>>2]+1,n=k+(i[Z+12>>2]<<3)|0,i[n+600>>2]=A,f=i[n+604>>2],i[n+604>>2]=Z,!f||(n=i[f+4>>2],i[f+4>>2]=n-1,n))break t;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[Z+4>>2],i[Z+4>>2]=f-1,f||(V[i[i[Z>>2]+8>>2]](Z),g(Z)),n=r,w4(k+548|0,C);break k;case 1:u=0,Z=U(17016),i[Z>>2]=43768,i[Z+4>>2]=0,i[Z+8>>2]=0,o=f+4|0,A=Z+12|0,i[A+8824>>2]=0,i[A+8816>>2]=0,i[A+8820>>2]=0,r=A+9e3|0,X[r+2>>1]=0,X[r+4>>1]=0,l[r|0]=0,l[r+21|0]=0,l[r+22|0]=0,l[r+23|0]=0,l[r+24|0]=0,l[r+25|0]=0,l[r+26|0]=0,l[r+27|0]=0,l[r+28|0]=0,l[r+20|0]=2,i[r+12>>2]=5,i[r+16>>2]=33685504,i[r+48>>2]=0,i[r+52>>2]=0,X[r+7810>>1]=258,X[r+7812>>1]=3855,X[r+7808>>1]=0,i[r+7804>>2]=65536,l[r+64|0]=0,i[r+60>>2]=1,l[r+5|0]=0,l[r+6|0]=0,l[r+7|0]=0,l[r+8|0]=0,l[r+29|0]=0,l[r+30|0]=0,l[r+31|0]=0,l[r+32|0]=0,l[r+33|0]=0,l[r+34|0]=0,l[r+35|0]=0,l[r+36|0]=0,l[r+37|0]=0,l[r+38|0]=0,l[r+39|0]=0,l[r+40|0]=0,l[r+41|0]=0,l[r+42|0]=0,l[r+43|0]=0,l[r+44|0]=0,l[r+56|0]=0,l[A+16828|0]=0,i[A+16820>>2]=0,i[A+16824>>2]=0,l[A|0]=0,k=S+8|0,j=A,L=u0(k,4),l[j+1|0]=L,n=u0(k,3)+1|0,l[A+2|0]=n,r=8;t:{if(n<<24>>24>7)break t;j=A,L=u0(k,1),l[j+3|0]=L,K7(A+4|0,k,l[A+2|0]);o:{u:{l:{if(n=M0(k),(n|0)==-99999)break l;if(i[A+472>>2]=n,(n|0)>15)break t;if(t=M0(k),(t|0)==-99999)break l;if(i[A+476>>2]=t,(t|0)==3&&(u=u0(k,1),t=i[A+476>>2]),l[A+480|0]=u,t>>>0>=4){v2(o,1019,0);break t}if(n=M0(k),(n|0)==-99999||(i[A+484>>2]=n,n=M0(k),(n|0)==-99999))break l;if(i[A+488>>2]=n,!n||(t=i[A+484>>2],!t|(n|0)>65535|(t|0)>65535))break t;r=u0(k,1),l[A+492|0]=r;s:{if(r&255){if(r=M0(k),(r|0)==-99999||(i[A+496>>2]=r,r=M0(k),(r|0)==-99999)||(i[A+500>>2]=r,r=M0(k),(r|0)==-99999)||(i[A+504>>2]=r,r=M0(k),(r|0)==-99999))break l;i[A+508>>2]=r;break s}i[A+496>>2]=0,i[A+500>>2]=0,i[A+504>>2]=0,i[A+508>>2]=0}if(r=M0(k),(r|0)==-99999||(i[A+512>>2]=r+8,r=M0(k),(r|0)==-99999))break l;if(i[A+516>>2]=r+8,!(i[A+512>>2]<17&(r|0)<=8))break u;if(r=M0(k),(r|0)==-99999)break l;if(n=r+4|0,i[A+520>>2]=n,r>>>0>=13)break u;if(i[A+16868>>2]=1<<n,n=u0(k,1),l[A+524|0]=n,t=l[A+2|0],r=n&255?0:t-1|0,(r|0)<(t|0)){for(u=A+16964|0,h=A+584|0,w=A+556|0,_=A+528|0;;){if(t=M0(k),!((t|0)!=-99999&(t|0)<16)||(n=r<<2,i[n+_>>2]=t+1,t=M0(k),(t|0)==-99999)||(v=n+w|0,i[v>>2]=t,t=M0(k),(t|0)==-99999))break l;if(i[n+h>>2]=t,i[n+u>>2]=(t+i[v>>2]|0)-1,r=r+1|0,t=l[A+2|0],!((r|0)<(t|0)))break}n=s[A+524|0]}s:{h:{if(!(n&255))break h;if((t|0)>7)break s;if((t|0)<2||(r=t-1|0,u=r<<2,n=u+(A+528|0)|0,i[A+528>>2]=i[n>>2],t=u+(A+556|0)|0,i[A+556>>2]=i[t>>2],u=u+(A+584|0)|0,i[A+584>>2]=i[u>>2],(r|0)==1)||(i[A+532>>2]=i[n>>2],i[A+560>>2]=i[t>>2],i[A+588>>2]=i[u>>2],(r|0)==2)||(i[A+536>>2]=i[n>>2],i[A+564>>2]=i[t>>2],i[A+592>>2]=i[u>>2],(r|0)==3)||(i[A+540>>2]=i[n>>2],i[A+568>>2]=i[t>>2],i[A+596>>2]=i[u>>2],(r|0)==4)||(i[A+544>>2]=i[n>>2],i[A+572>>2]=i[t>>2],i[A+600>>2]=i[u>>2],(r|0)==5))break h;i[A+548>>2]=i[n>>2],i[A+576>>2]=i[t>>2],i[A+604>>2]=i[u>>2]}if(r=M0(k),(r|0)==-99999||(i[A+612>>2]=r+3,r=M0(k),(r|0)==-99999)||(i[A+616>>2]=r,r=M0(k),(r|0)==-99999)||(i[A+620>>2]=r+2,r=M0(k),(r|0)==-99999)||(i[A+624>>2]=r,r=M0(k),(r|0)==-99999)||(i[A+628>>2]=r,r=M0(k),(r|0)==-99999))break l;if(i[A+632>>2]=r,r=8,n=i[A+612>>2],(n|0)>6|(n+i[A+616>>2]|0)>6||(n=i[A+620>>2],(n|0)>5|(n+i[A+624>>2]|0)>5))break t;r=u0(k,1),l[A+636|0]=r;h:{if(!(r&255))break h;if(r=u0(k,1),l[A+637|0]=r,n=A+638|0,r&255){if(r=Yk(k,n),!r)break h;break t}for(r=0,L4(n,77632,0),L4(n+16|0,77632,0),L4(n+32|0,77632,0),L4(n+48|0,77632,0),L4(n- -64|0,77632,0),L4(n+80|0,77632,0),u=n+96|0,h=i[i[11334]+12>>2];t=h+(r<<1)|0,l[(u+(s[t+1|0]<<3)|0)+s[t|0]|0]=s[r+77648|0],l[s[t+2|0]+(u+(s[t+3|0]<<3)|0)|0]=s[r+77649|0],r=r+2|0,(r|0)!=64;);for(u=n+288|0,r=0,h=i[i[11334]+12>>2];t=h+(r<<1)|0,l[(u+(s[t+1|0]<<3)|0)+s[t|0]|0]=s[r+77712|0],l[s[t+2|0]+(u+(s[t+3|0]<<3)|0)|0]=s[r+77713|0],r=r+2|0,(r|0)!=64;);for(u=n+160|0,r=0,h=i[i[11334]+12>>2];t=h+(r<<1)|0,l[(u+(s[t+1|0]<<3)|0)+s[t|0]|0]=s[r+77648|0],l[s[t+2|0]+(u+(s[t+3|0]<<3)|0)|0]=s[r+77649|0],r=r+2|0,(r|0)!=64;);for(u=n+352|0,r=0,h=i[i[11334]+12>>2];t=h+(r<<1)|0,l[(u+(s[t+1|0]<<3)|0)+s[t|0]|0]=s[r+77712|0],l[s[t+2|0]+(u+(s[t+3|0]<<3)|0)|0]=s[r+77713|0],r=r+2|0,(r|0)!=64;);for(u=n+224|0,r=0,h=i[i[11334]+12>>2];t=h+(r<<1)|0,l[(u+(s[t+1|0]<<3)|0)+s[t|0]|0]=s[r+77648|0],l[s[t+2|0]+(u+(s[t+3|0]<<3)|0)|0]=s[r+77649|0],r=r+2|0,(r|0)!=64;);for(u=n+416|0,r=0,h=i[i[11334]+12>>2];t=h+(r<<1)|0,l[(u+(s[t+1|0]<<3)|0)+s[t|0]|0]=s[r+77712|0],l[s[t+2|0]+(u+(s[t+3|0]<<3)|0)|0]=s[r+77713|0],r=r+2|0,(r|0)!=64;);for(u=n+481|0,h=n+480|0,r=0,w=i[i[11334]+12>>2];t=w+(r<<1)|0,_=r+77648|0,v=s[_|0],l[(h+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0]=v,l[(u+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0]=v,_=s[_|0],l[((h+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0)+16|0]=_,l[((u+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0)+16|0]=_,r=r+1|0,(r|0)!=64;);for(u=n+1249|0,h=n+1248|0,r=0,w=i[i[11334]+12>>2];t=w+(r<<1)|0,_=r+77712|0,v=s[_|0],l[(h+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0]=v,l[(u+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0]=v,_=s[_|0],l[((h+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0)+16|0]=_,l[((u+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0)+16|0]=_,r=r+1|0,(r|0)!=64;);for(u=n+737|0,h=n+736|0,r=0,w=i[i[11334]+12>>2];t=w+(r<<1)|0,_=r+77648|0,v=s[_|0],l[(h+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0]=v,l[(u+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0]=v,_=s[_|0],l[((h+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0)+16|0]=_,l[((u+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0)+16|0]=_,r=r+1|0,(r|0)!=64;);for(u=n+1505|0,h=n+1504|0,r=0,w=i[i[11334]+12>>2];t=w+(r<<1)|0,_=r+77712|0,v=s[_|0],l[(h+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0]=v,l[(u+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0]=v,_=s[_|0],l[((h+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0)+16|0]=_,l[((u+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0)+16|0]=_,r=r+1|0,(r|0)!=64;);for(u=n+993|0,h=n+992|0,r=0,w=i[i[11334]+12>>2];t=w+(r<<1)|0,_=r+77648|0,v=s[_|0],l[(h+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0]=v,l[(u+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0]=v,_=s[_|0],l[((h+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0)+16|0]=_,l[((u+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0)+16|0]=_,r=r+1|0,(r|0)!=64;);for(u=n+1761|0,h=n+1760|0,r=0,w=i[i[11334]+12>>2];t=w+(r<<1)|0,_=r+77712|0,v=s[_|0],l[(h+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0]=v,l[(u+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0]=v,_=s[_|0],l[((h+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0)+16|0]=_,l[((u+(s[t|0]<<1)|0)+(s[t+1|0]<<5)|0)+16|0]=_,r=r+1|0,(r|0)!=64;);L4(n+2016|0,77648,3),L4(n+3040|0,77712,3)}j=A,L=u0(k,1),l[j+8798|0]=L,j=A,L=u0(k,1),l[j+8799|0]=L,r=u0(k,1),l[A+8800|0]=r;h:{if(r&255){if(j=A,L=u0(k,4)+1|0,l[j+8801|0]=L,j=A,L=u0(k,4)+1|0,l[j+8802|0]=L,r=M0(k),(r|0)==-99999||(i[A+8804>>2]=r+3,r=M0(k),(r|0)==-99999))break l;if(i[A+8808>>2]=r,j=A,L=u0(k,1),l[j+8812|0]=L,i[A+512>>2]<l[A+8801|0])break o;if(i[A+516>>2]>=l[A+8802|0])break h;break o}i[A+8804>>2]=0,i[A+8808>>2]=0,l[A+8801|0]=0,l[A+8802|0]=0,l[A+8812|0]=0}if(n=M0(k),(n|0)==-99999)break l;if(n>>>0>=65){v2(o,1014,0),r=8;break t}u=0,r=A+8816|0,t=i[r+4>>2],w=i[r>>2],h=(t-w|0)/100|0;h:{if(h>>>0<n>>>0){if(w=n-h|0,v=i[r+8>>2],w>>>0<=(v-t|0)/100>>>0){w&&(u=t,t=m(w,100)-100|0,t=(t-((t>>>0)%100|0)|0)+100|0,t=B0(u,0,t)+t|0),i[r+4>>2]=t;break h}w:{if(h=i[r>>2],p=(t-h|0)/100|0,_=p+w|0,_>>>0<42949673){if(v=(v-h|0)/100|0,y=v<<1,_=v>>>0>=21474836?42949672:_>>>0<y>>>0?y:_,_){if(_>>>0>=42949673)break w;u=U(m(_,100))}if(v=m(p,100)+u|0,w=m(w,100)-100|0,w=(w-((w>>>0)%100|0)|0)+100|0,w=B0(v,0,w)+w|0,(t|0)!=(h|0)){for(;v=v-100|0,t=t-100|0,l0(v,t,100),(t|0)!=(h|0););h=i[r>>2]}i[r+8>>2]=m(_,100)+u,i[r+4>>2]=w,i[r>>2]=v,h&&G(h);break h}y0(),P()}break i}n>>>0<h>>>0&&(i[r+4>>2]=w+m(n,100))}h:{if(!n)break h;for(t=0;;){if(Dk(o,A,k,i[A+8816>>2]+m(t,100)|0,t,r,0)){if(t=t+1|0,(n|0)!=(t|0))continue;break h}break}r=1005;break t}r=u0(k,1),l[A+8828|0]=r;h:{if(r&255){if(n=M0(k),(n|0)==-99999)break l;if(i[A+8832>>2]=n,r=8,(n|0)>32)break t;if((n|0)<=0)break h;for(r=A+8964|0,n=A+8836|0,t=0;j=n+(t<<2)|0,L=u0(k,i[A+520>>2]),i[j>>2]=L,j=r+t|0,L=u0(k,1),l[j|0]=L,t=t+1|0,(t|0)<i[A+8832>>2];);break h}i[A+8832>>2]=0}if(j=A,L=u0(k,1),l[j+8996|0]=L,j=A,L=u0(k,1),l[j+8997|0]=L,r=u0(k,1),l[A+8998|0]=r,r&255){r=0,n=A+9e3|0,t=u0(k,1),l[n|0]=(t|0)!=0;h:{if(t){if(r=u0(k,8),(r|0)<=17){r=r<<2,X[n+2>>1]=Q[r+46144>>1],r=Q[r+46146>>1];break h}if((r|0)==255){j=n,L=u0(k,16),X[j+2>>1]=L,r=u0(k,16);break h}r=0}X[n+2>>1]=0}X[n+4>>1]=r,r=u0(k,1),l[n+6|0]=(r|0)!=0,r&&(j=n,L=(u0(k,1)|0)!=0,l[j+7|0]=L),l[n+20|0]=2,X[n+18>>1]=514,l[n+16|0]=0,i[n+12>>2]=5,r=u0(k,1),l[n+8|0]=(r|0)!=0;h:{if(!r||(r=u0(k,3),i[n+12>>2]=(r|0)>=5?5:r,j=n,L=(u0(k,1)|0)!=0,l[j+16|0]=L,r=u0(k,1),l[n+17|0]=(r|0)!=0,!r))break h;r=u0(k,8),l[n+18|0]=r;w:{_:{v:switch(r=r&255,r|0){case 0:case 3:break _;default:break v}if(r>>>0<11)break w}l[n+18|0]=2}r=u0(k,8),l[n+19|0]=r;w:{_:switch(r&255){default:if((r&254)>>>0<18)break w;break;case 0:case 3:break _}l[n+19|0]=2}r=u0(k,8),l[n+20|0]=(r&255)>>>0>10?2:r}r=0,t=u0(k,1),l[n+21|0]=(t|0)!=0;h:{w:{_:{if(t){if(r=M0(k),(r|0)==-99999)break w;if(l[n+22|0]=r,r=M0(k),(r|0)!=-99999)break _;break w}l[n+22|0]=0}l[n+23|0]=r,j=n,L=(u0(k,1)|0)!=0,l[j+24|0]=L,j=n,L=(u0(k,1)|0)!=0,l[j+25|0]=L,j=n,L=(u0(k,1)|0)!=0,l[j+26|0]=L,r=u0(k,1),l[n+27|0]=(r|0)!=0;_:{if(r){if(r=M0(k),(r|0)==-99999||(i[n+28>>2]=r,r=M0(k),(r|0)==-99999)||(i[n+32>>2]=r,r=M0(k),(r|0)==-99999)||(i[n+36>>2]=r,r=M0(k),(r|0)==-99999))break w;i[n+40>>2]=r;break _}i[n+28>>2]=0,i[n+32>>2]=0,i[n+36>>2]=0,i[n+40>>2]=0}r=u0(k,1),l[n+44|0]=(r|0)!=0;_:{v:{if(!r)break v;if(j=n,L=u0(k,32),i[j+48>>2]=L,j=n,L=u0(k,32),i[j+52>>2]=L,r=u0(k,1),l[n+56|0]=(r|0)!=0,r){if(r=M0(k),(r|0)==-99999)break w;i[n+60>>2]=r+1}if(r=u0(k,1),l[n+64|0]=(r|0)!=0,!r)break v;u=0,j=n,L=(u0(k,1)|0)!=0,l[j+65|0]=L,r=u0(k,1),l[n+66|0]=(r|0)!=0,r|l[n+65|0]&1&&(r=u0(k,1),l[n+67|0]=(r|0)!=0,r&&(j=n,L=u0(k,8),i[j+68>>2]=L,j=n,L=u0(k,5),i[j+72>>2]=L,j=n,L=(u0(k,1)|0)!=0,l[j+76|0]=L,j=n,L=u0(k,5),i[j+80>>2]=L),j=n,L=u0(k,4),i[j+84>>2]=L,j=n,L=u0(k,4),i[j+88>>2]=L,s[n+67|0]==1&&(j=n,L=u0(k,4),i[j+92>>2]=L),j=n,L=u0(k,5),i[j+96>>2]=L,j=n,L=u0(k,5),i[j+100>>2]=L,j=n,L=u0(k,5),i[j+104>>2]=L),r=0;Z:{if(l[A+2|0]<=0)break Z;_=n+7356|0,v=n+5564|0,p=n+3772|0,y=n+1980|0,W=n+188|0,R=n+160|0,I=n+132|0,q=n+122|0,z=n+115|0,D=n+108|0;m:{for(;;){B:{r=u0(k,1),l[u+D|0]=(r|0)!=0;p:{W:{G:{C:{if(r){l[u+z|0]=1,r=u+q|0,l[r|0]=0,h=I+(u<<2)|0,i[h>>2]=0;break C}if(t=u0(k,1),l[u+z|0]=(t|0)!=0,r=u+q|0,l[r|0]=0,h=I+(u<<2)|0,i[h>>2]=0,!t)break G}if(t=M0(k),(t|0)==-99999)break B;if(i[R+(u<<2)>>2]=t,l[r|0]&1)break p;break W}if(t=r,r=u0(k,1),l[t|0]=(r|0)!=0,r)break p}if(r=M0(k),(r|0)==-99999)break B;if(i[h>>2]=r,r>>>0<=31)break p;r=8;break Z}if(r=0,s[n+65|0]==1)for(;;){if(J=M0(k),(J|0)==-99999||(w=r<<3,t=u<<8,i[w+(t+W|0)>>2]=J,J=M0(k),(J|0)==-99999))break B;if(i[w+(t+y|0)>>2]=J,s[n+67|0]==1){if(J=M0(k),(J|0)==-99999||(i[w+(t+p|0)>>2]=J,J=M0(k),(J|0)==-99999))break B;i[w+(t+v|0)>>2]=J}if(j=(_+(u<<6)|0)+(r<<1)|0,L=(u0(k,1)|0)!=0,l[j|0]=L,t=k0[h>>2]>r>>>0,r=r+1|0,!t)break}if(r=0,s[n+66|0]==1)for(;;){if(J=M0(k),(J|0)==-99999||(w=r<<3,t=u<<8,i[(w+(t+W|0)|0)+4>>2]=J,J=M0(k),(J|0)==-99999))break B;if(i[(w+(t+y|0)|0)+4>>2]=J,s[n+67|0]==1){if(J=M0(k),(J|0)==-99999||(i[(w+(t+p|0)|0)+4>>2]=J,J=M0(k),(J|0)==-99999))break B;i[(w+(t+v|0)|0)+4>>2]=J}if(j=(_+(u<<6)|0)+(r<<1)|0,L=(u0(k,1)|0)!=0,l[j+1|0]=L,t=k0[h>>2]>r>>>0,r=r+1|0,!t)break}if(r=0,u=u+1|0,(u|0)<l[A+2|0])continue;break m}break}r=8,v2(o,8,0)}}if(r)break _}if(r=u0(k,1),l[n+7804|0]=(r|0)!=0,r){if(j=n,L=(u0(k,1)|0)!=0,l[j+7805|0]=L,j=n,L=(u0(k,1)|0)!=0,l[j+7806|0]=L,j=n,L=(u0(k,1)|0)!=0,l[j+7807|0]=L,r=M0(k),(r|0)==-99999||(X[n+7808>>1]=r,r&61440&&(v2(o,8,0),X[n+7808>>1]=0),r=M0(k),(r|0)==-99999)||(l[n+7810|0]=r,(r&255)>>>0>=17&&(v2(o,8,0),l[n+7810|0]=2),r=M0(k),(r|0)==-99999)||(l[n+7811|0]=r,(r&255)>>>0>=17&&(v2(o,8,0),l[n+7811|0]=1),r=M0(k),(r|0)==-99999)||(l[n+7812|0]=r,r&240&&(v2(o,8,0),l[n+7812|0]=15),t=M0(k),(t|0)==-99999))break w;if(l[n+7813|0]=t,r=0,!(t&240))break _;v2(o,8,0),l[n+7813|0]=15;break h}X[n+7810>>1]=258,X[n+7812>>1]=3855,r=0,X[n+7808>>1]=0,l[n+7807|0]=0,l[n+7805|0]=0,l[n+7806|0]=1}break h}v2(o,8,0),r=8}if(r)break t}r=u0(k,1),l[A+16816|0]=r;h:{if(!(r&255)){l[A+16817|0]=0;break h}if(j=A,L=u0(k,1),l[j+16817|0]=L,j=A,L=u0(k,1),l[j+16818|0]=L,j=A,L=u0(k,6),l[j+16819|0]=L,!s[A+16817|0])break h;r=A+16820|0,j=r,L=u0(k,1),l[j|0]=L,j=r,L=u0(k,1),l[j+1|0]=L,j=r,L=u0(k,1),l[j+2|0]=L,j=r,L=u0(k,1),l[j+3|0]=L,j=r,L=u0(k,1),l[j+4|0]=L,j=r,L=u0(k,1),l[j+5|0]=L,j=r,L=u0(k,1),l[j+6|0]=L,j=r,L=u0(k,1),l[j+7|0]=L,j=r,L=u0(k,1),l[j+8|0]=L}o=i[A+476>>2],r=o<<2,y=i[r+46e3>>2],i[A+16856>>2]=y,W=i[r+45984>>2],i[A+16852>>2]=W,z=s[A+480|0];h:{if(z){i[A+16848>>2]=0,n=1,r=1;break h}i[A+16848>>2]=o,n=o?y:1,r=o?W:1}i[A+16864>>2]=n,i[A+16860>>2]=r,t=i[A+512>>2],i[A+16832>>2]=t,h=i[A+516>>2],i[A+16840>>2]=h,w=i[A+612>>2],i[A+16872>>2]=w,k=1<<w,i[A+16880>>2]=k,R=i[A+616>>2],_=R+w|0,i[A+16876>>2]=_,I=i[A+488>>2],q=i[A+484>>2],i[A+16912>>2]=m(I,q),i[A+16836>>2]=m(t,6)-48,i[A+16844>>2]=m(h,6)-48,r=1<<_,i[A+16884>>2]=r,n=q-1|0,u=(n+k|0)/(k|0)|0,i[A+16888>>2]=u,v=I-1|0,p=(v+k|0)/(k|0)|0,i[A+16896>>2]=p,n=(r+n|0)/(r|0)|0,i[A+16892>>2]=n,i[A+16904>>2]=m(u,p),u=(r+v|0)/(r|0)|0,i[A+16900>>2]=u,i[A+16908>>2]=m(n,u),p=0,v=0;h:{if(!o||(v=0,z))break h;p=(r|0)/(W|0)|0,v=(r|0)/(y|0)|0}i[A+16920>>2]=v,i[A+16916>>2]=p,r=i[A+620>>2],i[A+16936>>2]=r,p=r+i[A+624>>2]|0,i[A+16940>>2]=p;h:{w:{if(o=_-r|0,(o|0)<i[A+628>>2]){F1(22089,70,1,i[12468]);break w}if((o|0)<i[A+632>>2]){F1(22160,70,1,i[12468]);break w}i[A+16944>>2]=w-1,v=i[A+8804>>2],i[A+16956>>2]=v,y=u<<o,i[A+16928>>2]=y,o=n<<o,i[A+16924>>2]=o,A0=u,u=R+1|0,i[A+16952>>2]=A0<<u,i[A+16948>>2]=n<<u,i[A+16960>>2]=v+i[A+8808>>2],i[A+16932>>2]=m(o,y);_:{if(s[A+16826|0]){u=1<<h-1,v=0,o=0,n=1<<t-1;break _}v=t-8|0,u=128,o=h-8|0,n=128}if(i[A+17e3>>2]=u,i[A+16996>>2]=n,l[A+16993|0]=o,l[A+16992|0]=v,k-1&(I|q)){F1(21765,24,1,i[12468]);break w}if((r|0)>(w|0)){F1(30545,19,1,i[12468]);break w}if((p|0)>(((_|0)>=5?5:_)|0)){F1(30514,30,1,i[12468]);break w}if(t-17>>>0<=4294967286){F1(30440,36,1,i[12468]);break w}if(h-17>>>0<=4294967286){F1(30477,36,1,i[12468]);break w}l[A|0]=1,r=0;break h}r=8}if(r)break t;l[A|0]=1,r=0;break t}C0(16425,13927,320,13592),P()}v2(o,8,0),r=8;break t}v2(o,1005,0),r=8;break t}v2(o,1027,0),r=8}if(n=r,!r){if(u=i[f+516>>2],(u|0)>=0){n=B-928|0,B=n,t=49876;t:{o:switch(u-1|0){case 1:t=49872;break;case 0:break o;default:break t}if(r=i[t>>2],c(r,30868,0),i[n+912>>2]=l[A+1|0],c(r,25835,n+912|0),i[n+896>>2]=l[A+2|0],c(r,27092,n+896|0),i[n+880>>2]=l[A+3|0],c(r,24311,n+880|0),o=l[A+2|0],k=B-16|0,B=k,t=A+4|0,Cr(t,1,r),(o|0)>=2)for(o=o-2|0,h=t+52|0,t=0;i[k>>2]=t,c(r,30407,k),Cr(h+m(t,52)|0,0,r),w=(t|0)==(o|0),t=t+1|0,!w;);B=k+16|0,i[n+864>>2]=i[A+472>>2],c(r,26637,n+864|0),k=i[A+476>>2];o:{if(k>>>0>=3){t=(k|0)==3?16639:6156;break o}t=i[(k<<2)+46016>>2]}if(i[n+852>>2]=t,i[n+848>>2]=k,c(r,31116,n+848|0),i[A+476>>2]==3&&(i[n+832>>2]=l[A+480|0],c(r,24388,n+832|0)),i[n+816>>2]=i[A+484>>2],c(r,25660,n+816|0),i[n+800>>2]=i[A+488>>2],c(r,23619,n+800|0),i[n+784>>2]=l[A+492|0],c(r,26448,n+784|0),s[A+492|0]&&(i[n+768>>2]=i[A+496>>2],c(r,25571,n+768|0),i[n+752>>2]=i[A+500>>2],c(r,23524,n+752|0),i[n+736>>2]=i[A+504>>2],c(r,25901,n+736|0),i[n+720>>2]=i[A+508>>2],c(r,22918,n+720|0)),i[n+704>>2]=i[A+512>>2],c(r,26079,n+704|0),i[n+688>>2]=i[A+516>>2],c(r,25324,n+688|0),i[n+672>>2]=i[A+520>>2],c(r,25249,n+672|0),i[n+656>>2]=l[A+524|0],c(r,23977,n+656|0),k=l[A+2|0],t=s[A+524|0]?0:k-1|0,(t|0)<(k|0))for(o=A+584|0,h=A+556|0,w=A+528|0;i[n+640>>2]=t,c(r,22392,n+640|0),k=t<<2,i[n+624>>2]=i[k+w>>2],c(r,27200,n+624|0),i[n+608>>2]=i[k+h>>2],c(r,27635,n+608|0),i[n+592>>2]=i[k+o>>2],c(r,25370,n+592|0),t=t+1|0,(t|0)<l[A+2|0];);i[n+576>>2]=i[A+612>>2],c(r,25046,n+576|0),i[n+560>>2]=i[A+616>>2],c(r,24999,n+560|0),i[n+544>>2]=i[A+620>>2],c(r,25998,n+544|0),i[n+528>>2]=i[A+624>>2],c(r,24954,n+528|0),i[n+512>>2]=i[A+628>>2],c(r,23652,n+512|0),i[n+496>>2]=i[A+632>>2],c(r,25282,n+496|0),i[n+480>>2]=l[A+636|0],c(r,24421,n+480|0);o:{if(!s[A+636|0]||(i[n+464>>2]=l[A+637|0],c(r,24150,n+464|0),!s[A+637|0]))break o;c(r,12407,0)}if(i[n+448>>2]=l[A+8798|0],c(r,29926,n+448|0),i[n+432>>2]=l[A+8799|0],c(r,24643,n+432|0),i[n+416>>2]=l[A+8800|0],c(r,29968,n+416|0),s[A+8800|0]&&(i[n+400>>2]=l[A+8801|0],c(r,27037,n+400|0),i[n+384>>2]=l[A+8802|0],c(r,26102,n+384|0),i[n+368>>2]=i[A+8804>>2],c(r,25135,n+368|0),i[n+352>>2]=i[A+8808>>2],c(r,25084,n+352|0),i[n+336>>2]=l[A+8812|0],c(r,25762,n+336|0)),i[n+320>>2]=(i[A+8820>>2]-i[A+8816>>2]|0)/100,c(r,23552,n+320|0),i[A+8820>>2]!=i[A+8816>>2])for(t=0;i[n+304>>2]=t,c(r,21478,n+304|0),o7(i[A+8816>>2]+m(t,100)|0,r),t=t+1|0,t>>>0<(i[A+8820>>2]-i[A+8816>>2]|0)/100>>>0;);i[n+288>>2]=l[A+8828|0],c(r,23859,n+288|0);o:{if(!s[A+8828|0]||(i[n+272>>2]=i[A+8832>>2],c(r,23586,n+272|0),i[A+8832>>2]<=0))break o;for(k=A+8964|0,o=A+8836|0,t=0;h=i[o+(t<<2)>>2],i[n+264>>2]=l[k+t|0],i[n+260>>2]=h,i[n+256>>2]=t,c(r,31243,n+256|0),t=t+1|0,(t|0)<i[A+8832>>2];);}if(i[n+240>>2]=l[A+8996|0],c(r,27479,n+240|0),i[n+224>>2]=l[A+8997|0],c(r,24452,n+224|0),i[n+208>>2]=l[A+8998|0],c(r,27894,n+208|0),i[n+192>>2]=l[A+16816|0],c(r,26514,n+192|0),i[n+176>>2]=l[A+16817|0],c(r,27282,n+176|0),i[n+160>>2]=l[A+16818|0],c(r,24239,n+160|0),i[n+144>>2]=l[A+16819|0],c(r,28654,n+144|0),i[n+128>>2]=i[A+16884>>2],c(r,27073,n+128|0),i[n+112>>2]=i[A+16880>>2],c(r,26157,n+112|0),i[n+96>>2]=1<<i[A+616>>2]+i[A+612>>2],c(r,26138,n+96|0),i[n+80>>2]=1<<i[A+620>>2],c(r,26195,n+80|0),i[n+64>>2]=1<<i[A+624>>2]+i[A+620>>2],c(r,26176,n- -64|0),i[n+48>>2]=i[A+16892>>2],c(r,28335,n+48|0),i[n+32>>2]=i[A+16900>>2],c(r,28048,n+32|0),i[n+16>>2]=i[A+16852>>2],c(r,29626,n+16|0),i[n>>2]=i[A+16856>>2],c(r,29477,n),s[A+16817|0]){o=A+16820|0,k=B-144|0,B=k,r=49876;o:switch(u-1|0){case 1:r=49872;case 0:r=i[r>>2],c(r,30770,0),i[k+128>>2]=s[o|0],c(r,26591,k+128|0),i[k+112>>2]=s[o+1|0],c(r,26829,k+112|0),i[k+96>>2]=s[o+2|0],c(r,29231,k+96|0),i[k+80>>2]=s[o+3|0],c(r,29185,k+80|0),i[k+64>>2]=s[o+4|0],c(r,27354,k- -64|0),i[k+48>>2]=s[o+5|0],c(r,28761,k+48|0),i[k+32>>2]=s[o+6|0],c(r,26921,k+32|0),i[k+16>>2]=s[o+7|0],c(r,24908,k+16|0),i[k>>2]=s[o+8|0],c(r,26875,k);break;default:break o}B=k+144|0}if(!s[A+8998|0])break t;o=A+9e3|0,k=B-576|0,B=k,r=49876;o:{u:switch(u-1|0){case 1:r=49872;break;case 0:break u;default:break o}if(r=i[r>>2],c(r,30950,0),t=Q[o+2>>1],i[k+564>>2]=Q[o+4>>1],i[k+560>>2]=t,c(r,22356,k+560|0),i[k+544>>2]=s[o+6|0],c(r,23897,k+544|0),i[k+528>>2]=s[o+7|0],c(r,25729,k+528|0),i[k+512>>2]=s[o+8|0],c(r,23061,k+512|0),s[o+8|0]==1&&(t=i[o+12>>2],t>>>0<=4?u=i[(t<<2)+46216>>2]:u=12991,i[k+496>>2]=u,c(r,21960,k+496|0),i[k+480>>2]=s[o+16|0],c(r,27751,k+480|0),i[k+464>>2]=s[o+17|0],c(r,24060,k+464|0),i[k+448>>2]=s[o+18|0],c(r,28923,k+448|0),i[k+432>>2]=s[o+19|0],c(r,26371,k+432|0),i[k+416>>2]=s[o+20|0],c(r,29507,k+416|0)),i[k+400>>2]=s[o+21|0],c(r,22946,k+400|0),s[o+21|0]==1&&(i[k+384>>2]=s[o+22|0],c(r,26036,k+384|0),i[k+368>>2]=s[o+23|0],c(r,23471,k+368|0)),i[k+352>>2]=s[o+24|0],c(r,23177,k+352|0),i[k+336>>2]=s[o+25|0],c(r,29769,k+336|0),i[k+320>>2]=s[o+26|0],c(r,24024,k+320|0),i[k+304>>2]=s[o+27|0],c(r,25929,k+304|0),i[k+288>>2]=i[o+28>>2],c(r,26214,k+288|0),i[k+272>>2]=i[o+32>>2],c(r,25865,k+272|0),i[k+256>>2]=i[o+36>>2],c(r,26725,k+256|0),i[k+240>>2]=i[o+40>>2],c(r,25599,k+240|0),i[k+224>>2]=s[o+44|0],c(r,25693,k+224|0),s[o+44|0]==1&&(i[k+208>>2]=i[o+48>>2],c(r,27674,k+208|0),i[k+192>>2]=i[o+52>>2],c(r,29352,k+192|0)),i[k+176>>2]=s[o+56|0],c(r,24346,k+176|0),i[k+160>>2]=i[o+60>>2],c(r,28569,k+160|0),i[k+144>>2]=s[o+64|0],c(r,23821,k+144|0),i[k+128>>2]=s[o+7804|0],c(r,28230,k+128|0),s[o+7804|0]!=1)break o;i[k+112>>2]=s[o+7805|0],c(r,27710,k+112|0),i[k+96>>2]=s[o+7806|0],c(r,24191,k+96|0),i[k+80>>2]=s[o+7807|0],c(r,26550,k+80|0),i[k+64>>2]=Q[o+7808>>1],c(r,26996,k- -64|0),i[k+48>>2]=s[o+7810|0],c(r,28365,k+48|0),i[k+32>>2]=s[o+7811|0],c(r,27853,k+32|0),i[k+16>>2]=s[o+7812|0],c(r,26407,k+16|0),i[k>>2]=s[o+7813|0],c(r,27159,k)}B=k+576|0}B=n+928|0}i[Z+4>>2]=i[Z+4>>2]+1,n=(i[Z+484>>2]<<3)+f|0,i[n+728>>2]=A,r=i[n+732>>2],i[n+732>>2]=Z;t:{if(!r||(n=i[r+4>>2],i[r+4>>2]=n-1,n))break t;V[i[i[r>>2]+8>>2]](r),g(r)}for(n=856,t=f+856|0;;){r=i[t>>2];t:{if(!r|i[Z+484>>2]!=l[r+13|0]||(r=i[t+4>>2],i[t>>2]=0,i[t+4>>2]=0,!r)||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break t;V[i[i[r>>2]+8>>2]](r),g(r)}if(n=n+8|0,t=n+f|0,(n|0)==1368)break}n=0}r=i[Z+4>>2],i[Z+4>>2]=r-1,r||(V[i[i[Z>>2]+8>>2]](Z),g(Z)),w4(f+548|0,C);break k;case 2:A=f,f=S+8|0,w=U(8520),i[w>>2]=43880,i[w+4>>2]=0,i[w+8>>2]=0,n=1006,t=w+12|0,l[t+8263|0]=0,l[t+8264|0]=0,l[t+8246|0]=2,l[t+8247|0]=0,l[t+8248|0]=0,l[t+8249|0]=0,l[t+8250|0]=0,i[t+4>>2]=0,i[t+8>>2]=0,l[t|0]=0,i[t+8448>>2]=0,i[t+8452>>2]=0,l[t+26|0]=0,X[t+24>>1]=0,i[t+20>>2]=27,l[t+17|0]=1,l[t+18|0]=1,l[t+9|0]=0,l[t+10|0]=0,l[t+11|0]=0,l[t+12|0]=0,l[t+13|0]=0,l[t+14|0]=0,l[t+15|0]=0,l[t+16|0]=0,r=t+8456|0,i[r>>2]=0,i[r+4>>2]=0,r=t+8464|0,i[r>>2]=0,i[r+4>>2]=0,k=t+8472|0,i[k>>2]=0,i[k+4>>2]=0,k=t+8480|0,i[k>>2]=0,i[k+4>>2]=0,k=t+8488|0,i[k>>2]=0,i[k+4>>2]=0,u=t+8496|0,i[u>>2]=0,i[u+4>>2]=0,i[t+8504>>2]=0,l[t+43|0]=0,l[t+44|0]=0,l[t+45|0]=0,l[t+46|0]=0,i[t+36>>2]=0,i[t+40>>2]=0,i[t+28>>2]=0,i[t+32>>2]=0,X[t+56>>1]=257,i[t+48>>2]=1,i[t+52>>2]=1,l[t+58|0]=1,B0(t+8280|0,0,168),i[k>>2]=0,i[r>>2]=0,i[t+8268>>2]=0,l[t+8233|0]=0,l[t+61|0]=0,l[t+59|0]=0,l[t+60|0]=0,i[t+64>>2]=0,i[t+68>>2]=0,l[t+72|0]=0,i[t+8236>>2]=2,i[t+8240>>2]=0,X[t+8244>>1]=0,l[t|0]=0,r=i[t+8>>2],i[t+4>>2]=0,i[t+8>>2]=0;t:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break t;V[i[i[r>>2]+8>>2]](r),g(r)}i[t+12>>2]=0,i[t+28>>2]=0,i[t+32>>2]=0,l[t+26|0]=0,X[t+24>>1]=0,i[t+20>>2]=27,l[t+18|0]=1,l[t+58|0]=1,X[t+56>>1]=257,i[t+48>>2]=1,i[t+52>>2]=1,X[t+16>>1]=256,i[t+36>>2]=0,i[t+40>>2]=0,l[t+43|0]=0,l[t+44|0]=0,l[t+45|0]=0,l[t+46|0]=0,Z=B0(t+8280|0,0,168),i[t+8268>>2]=0,l[t+8233|0]=0,l[t+61|0]=0,l[t+59|0]=0,l[t+60|0]=0,i[t+64>>2]=0,i[t+68>>2]=0,l[t+72|0]=0,i[t+8236>>2]=2,i[t+8240>>2]=0,X[t+8244>>1]=0,i[t+8452>>2]=i[t+8448>>2],i[t+8464>>2]=i[t+8460>>2],i[t+8476>>2]=i[t+8472>>2],i[t+8488>>2]=i[t+8484>>2],i[t+8500>>2]=i[t+8496>>2],r=M0(f),l[t+12|0]=r;t:{if(!((r|0)!=-99999&(r|0)<=63)){v2(A+4|0,1009,0);break t}r=M0(f),l[t+13|0]=r;o:{u:{if(!((r|0)!=-99999&(r|0)<=15))break u;if(j=t,L=u0(f,1),l[j+14|0]=L,j=t,L=u0(f,1),l[j+43|0]=L,j=t,L=u0(f,3),l[j+8240|0]=L,j=t,L=u0(f,1),l[j+15|0]=L,j=t,L=u0(f,1),l[j+16|0]=L,r=M0(f),l[t+17|0]=r,(r|0)==-99999||(l[t+17|0]=r+1,r=M0(f),l[t+18|0]=r,(r|0)==-99999))break o;if(l[t+18|0]=r+1,r=A+(l[t+13|0]<<3)|0,u=i[r+728>>2],!u)break u;k=i[r+732>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),i[t+4>>2]=u,r=i[t+8>>2],i[t+8>>2]=k;l:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break l;V[i[i[r>>2]+8>>2]](r),g(r)}if(r=_1(f),i[t+20>>2]=r,(r|0)==-99999)break o;i[t+20>>2]=r+26,j=t,L=u0(f,1),l[j+24|0]=L,j=t,L=u0(f,1),l[j+25|0]=L,r=u0(f,1),l[t+26|0]=r;l:{if(r&255){if(r=M0(f),i[t+28>>2]=r,(r|0)!=-99999)break l;break o}i[t+28>>2]=0}if(r=_1(f),i[t+32>>2]=r,(r|0)==-99999||(r=_1(f),i[t+36>>2]=r,(r|0)==-99999))break o;j=t,L=u0(f,1),l[j+40|0]=L,j=t,L=u0(f,1),l[j+41|0]=L,j=t,L=u0(f,1),l[j+42|0]=L,j=t,L=u0(f,1),l[j+44|0]=L,j=t,L=u0(f,1),l[j+46|0]=L,j=t,L=u0(f,1),l[j+45|0]=L;l:{s:{if(s[t+46|0]){if(r=M0(f),i[t+48>>2]=r,!((r|0)!=-99999&(r|0)<10)||(i[t+48>>2]=r+1,r=M0(f),i[t+52>>2]=r,!((r|0)!=-99999&(r|0)<10)))break o;if(i[t+52>>2]=r+1,r=u0(f,1),l[t+56|0]=r,!(r&255)){if(r=i[t+4>>2],u=i[r+16900>>2],k=i[r+16892>>2],h=i[t+48>>2],(h|0)>=2)for(r=0;;){if(h=Z+(r<<2)|0,o=M0(f),i[h>>2]=o,(o|0)==-99999)break o;if(o=o+1|0,i[h>>2]=o,k=k-o|0,r=r+1|0,h=i[t+48>>2],!((r|0)<(h-1|0)))break}if(o=0,(k|0)<=0)break l;if(i[(Z+(h<<2)|0)-4>>2]=k,k=i[t+52>>2],(k|0)>=2)for(Z=t+8320|0,r=0;;){if(h=Z+(r<<2)|0,k=M0(f),i[h>>2]=k,(k|0)==-99999)break o;if(k=k+1|0,i[h>>2]=k,u=u-k|0,r=r+1|0,k=i[t+52>>2],!((r|0)<(k-1|0)))break}if((u|0)<=0)break l;i[(t+(k<<2)|0)+8316>>2]=u}r=u0(f,1);break s}l[t+56|0]=1,i[t+48>>2]=1,i[t+52>>2]=1,r=0}i[t+64>>2]=0,i[t+68>>2]=0,l[t+57|0]=r,j=t,L=u0(f,1),l[j+58|0]=L,r=u0(f,1),l[t+59|0]=r;s:{if(r&255){if(j=t,L=u0(f,1),l[j+60|0]=L,r=u0(f,1),l[t+61|0]=r,r&255)break s;if(r=_1(f),i[t- -64>>2]=r,(r|0)==-99999||(i[t+64>>2]=r<<1,r=_1(f),i[t+68>>2]=r,(r|0)==-99999))break o;i[t+68>>2]=r<<1;break s}X[t+60>>1]=0}if(k=u0(f,1),l[t+72|0]=k,r=i[t+4>>2],u=k&255,!(s[r+636|0]|!u))break o;k=t+73|0;s:{if(u){if(r=Yk(f,k),!r)break s;v2(A+4|0,r,0);break t}l0(k,r+638|0,8160)}if(j=t,L=u0(f,1),l[j+8233|0]=L,r=M0(f),i[t+8236>>2]=r,(r|0)==-99999)break o;if(i[t+8236>>2]=r+2,k=i[t+4>>2],(r|0)>((i[k+612>>2]+i[k+616>>2]|0)-2|0))break l;j=t,L=u0(f,1),l[j+8241|0]=L,r=u0(f,1),l[t+8242|0]=r;s:{if(!(r&255)||(j=t,L=u0(f,1),l[j+8243|0]=L,j=t,L=u0(f,1),l[j+8244|0]=L,j=t,L=u0(f,6),l[j+8245|0]=L,!s[t+8243|0]))break s;r=t+8246|0,u=i[(A+(l[t+13|0]<<3)|0)+728>>2],s[t+25|0]&&(j=r,L=M0(f)+2|0,l[j|0]=L),k=u0(f,1),l[r+1|0]=(k|0)!=0,!k|i[u+16848>>2]==3||v2(A+4|0,1006,0),k=u0(f,1),l[r+2|0]=(k|0)!=0;h:{w:{_:{v:{if(!(i[u+16848>>2]|!k)){if(v2(A+4|0,1006,0),l[r+2|0]&1)break v;break _}if(!k)break _}if(k=M0(f),!((k|0)!=-99999&(k|0)<=i[u+616>>2])||(l[r+3|0]=k,k=M0(f),!((k|0)!=-99999&(k|0)<6)))break w;if(k=(k&255)+1|0,l[r+4|0]=k,(k|0)!=(k&255))break _;for(Z=r+11|0,h=r+5|0,k=0;;){if(_=_1(f),_-13>>>0<=4294967270||(l[k+h|0]=_,_=_1(f),_-13>>>0<=4294967270))break w;if(l[k+Z|0]=_,k=k+1|0,!(k>>>0<s[r+4|0]))break}}_:{if(k=M0(f),(k|0)!=-99999&&(Z=i[u+16832>>2],(k|0)<=(((Z|0)>=10?Z-10|0:0)|0)))break _;break w}l[r+17|0]=k;_:{if(f=M0(f),(f|0)!=-99999&&(k=i[u+16840>>2],(f|0)<=(((k|0)>=10?k-10|0:0)|0)))break _;break w}l[r+18|0]=f,f=1;break h}v2(A+4|0,1006,0),f=0}if(!f)break l}u=0,r=B,A0=r,Z=i[t+4>>2],f=i[Z+16876>>2],i[t+8276>>2]=s[t+8246|0],i[t+8268>>2]=f-i[t+28>>2],i[t+8272>>2]=f-s[t+8249|0],k=i[t+48>>2];s:{if(!s[t+56|0])break s;_=r-((k<<2)+19&-16)|0,B=_;h:{if((k|0)<0)break h;if(f=i[Z+16892>>2],k)for(o=k+1&-2,r=0;i[_+(u<<2)>>2]=(m(f,u)|0)/(k|0),h=u|1,i[_+(h<<2)>>2]=(m(f,h)|0)/(k|0),u=u+2|0,r=r+2|0,(o|0)!=(r|0););k&1||(i[_+(u<<2)>>2]=(m(f,u)|0)/(k|0)),p=k&3,v=t+8280|0,r=i[_>>2],h=0;w:{if(k-1>>>0<3){u=0;break w}for(W=k&2147483644,u=0,o=0;f=u<<2,I=f|4,y=i[I+_>>2],i[f+v>>2]=y-r,q=v+I|0,r=f|8,I=i[r+_>>2],i[q>>2]=I-y,f=f|12,y=i[f+_>>2],i[r+v>>2]=y-I,u=u+4|0,r=i[_+(u<<2)>>2],i[f+v>>2]=r-y,o=o+4|0,(W|0)!=(o|0););}if(!p)break h;for(;o=v+(u<<2)|0,u=u+1|0,f=i[_+(u<<2)>>2],i[o>>2]=f-r,r=f,h=h+1|0,(p|0)!=(h|0););}if(u=0,f=i[t+52>>2],_=_-((f<<2)+19&-16)|0,B=_,(f|0)<0)break s;if(o=i[Z+16900>>2],f)for(h=f+1&-2,r=0;i[_+(u<<2)>>2]=(m(o,u)|0)/(f|0),v=u|1,i[_+(v<<2)>>2]=(m(o,v)|0)/(f|0),u=u+2|0,r=r+2|0,(h|0)!=(r|0););f&1||(i[_+(u<<2)>>2]=(m(o,u)|0)/(f|0)),p=f&3,v=t+8320|0,r=i[_>>2],h=0;h:{if(f-1>>>0<3){u=0;break h}for(W=f&2147483644,u=0,o=0;f=u<<2,I=f|4,y=i[I+_>>2],i[f+v>>2]=y-r,q=v+I|0,r=f|8,I=i[r+_>>2],i[q>>2]=I-y,f=f|12,y=i[f+_>>2],i[r+v>>2]=y-I,u=u+4|0,r=i[_+(u<<2)>>2],i[f+v>>2]=r-y,o=o+4|0,(W|0)!=(o|0););}if(!p)break s;for(;o=v+(u<<2)|0,u=u+1|0,f=i[_+(u<<2)>>2],i[o>>2]=f-r,r=f,h=h+1|0,(p|0)!=(h|0););}if(i[t+8360>>2]=0,_=t+8360|0,(k|0)>0)for(o=t+8280|0,k=0,f=0;r=f+1|0,k=i[o+(f<<2)>>2]+k|0,i[_+(r<<2)>>2]=k,f=r,(r|0)<i[t+48>>2];);if(i[t+8404>>2]=0,v=t+8404|0,i[t+52>>2]>0)for(o=t+8320|0,k=0,f=0;r=f+1|0,k=i[o+(f<<2)>>2]+k|0,i[v+(r<<2)>>2]=k,f=r,(r|0)<i[t+52>>2];);q=t+8448|0,f=i[Z+16908>>2],k=i[t+8448>>2],r=i[t+8452>>2]-k>>2;s:{if(f>>>0>r>>>0){Qi(q,f-r|0),f=i[Z+16908>>2];break s}if(f>>>0>=r>>>0)break s;i[t+8452>>2]=k+(f<<2)}k=i[t+8460>>2],r=i[t+8464>>2]-k>>2;s:{if(r>>>0<f>>>0){Qi(t+8460|0,f-r|0),f=i[Z+16908>>2];break s}if(f>>>0>=r>>>0)break s;i[t+8464>>2]=k+(f<<2)}D=t+8472|0,k=i[t+8472>>2],r=i[t+8476>>2]-k>>2;s:{if(r>>>0<f>>>0){Qi(D,f-r|0),f=i[Z+16908>>2];break s}if(f>>>0>=r>>>0)break s;i[t+8476>>2]=k+(f<<2)}J=t+8484|0,k=i[t+8484>>2],r=i[t+8488>>2]-k>>2;s:{if(r>>>0<f>>>0){Qi(J,f-r|0);break s}if(f>>>0>=r>>>0)break s;i[t+8488>>2]=k+(f<<2)}E=t+8496|0,f=i[Z+16932>>2],k=i[t+8496>>2],r=i[t+8500>>2]-k>>2;s:{if(f>>>0>r>>>0){Qi(E,f-r|0);break s}if(f>>>0>=r>>>0)break s;i[t+8500>>2]=k+(f<<2)}if(i[Z+16908>>2]>0)for(z=t+8280|0,R=t+8320|0,f0=i[t+8460>>2],h0=i[t+8448>>2],r=0;;){f=i[Z+16892>>2],y=(r|0)/(f|0)|0,W=r-m(f,y)|0,h=-1,o=i[t+48>>2];s:{if((o|0)<=0)break s;if(u=0,f=0,o>>>0>=4)for(p=o&2147483644,k=0;I=(W|0)<i[_+(f<<2)>>2]?h:f,h=f|1,I=(W|0)<i[_+(h<<2)>>2]?I:h,h=f|2,I=(W|0)<i[_+(h<<2)>>2]?I:h,h=f|3,h=(W|0)<i[_+(h<<2)>>2]?I:h,f=f+4|0,k=k+4|0,(p|0)!=(k|0););if(k=o&3,!k)break s;for(;h=(W|0)<i[_+(f<<2)>>2]?h:f,f=f+1|0,u=u+1|0,(k|0)!=(u|0););}p=i[t+52>>2];s:{if((p|0)<=0){o=-1;break s}if(o=-1,u=0,f=0,p>>>0>=4)for(I=p&2147483644,k=0;H=(y|0)<i[v+(f<<2)>>2]?o:f,o=f|1,H=(y|0)<i[v+(o<<2)>>2]?H:o,o=f|2,H=(y|0)<i[v+(o<<2)>>2]?H:o,o=f|3,o=(y|0)<i[v+(o<<2)>>2]?H:o,f=f+4|0,k=k+4|0,(I|0)!=(k|0););if(k=p&3,!k)break s;for(;o=(y|0)<i[v+(f<<2)>>2]?o:f,f=f+1|0,u=u+1|0,(k|0)!=(u|0););}u=0,f=(r<<2)+h0|0,i[f>>2]=0;s:{if((h|0)<=0)break s;if(I=R+(o<<2)|0,p=0,k=0,h>>>0>=4)for(n0=h&2147483644,a=0;H=u,u=z+(k<<2)|0,H=H+m(i[u>>2],i[I>>2])|0,i[f>>2]=H,H=H+m(i[u+4>>2],i[I>>2])|0,i[f>>2]=H,H=H+m(i[u+8>>2],i[I>>2])|0,i[f>>2]=H,u=H+m(i[u+12>>2],i[I>>2])|0,i[f>>2]=u,k=k+4|0,a=a+4|0,(n0|0)!=(a|0););if(a=h&3,!a)break s;for(;u=m(i[z+(k<<2)>>2],i[I>>2])+u|0,i[f>>2]=u,k=k+1|0,p=p+1|0,(a|0)!=(p|0););}s:{if((o|0)<=0)break s;a=o&3,I=0;h:{if(o>>>0<4){k=0;break h}for(n0=o&2147483644,k=0,p=0;H=u,u=R+(k<<2)|0,H=H+m(i[u>>2],i[Z+16892>>2])|0,i[f>>2]=H,H=H+m(i[u+4>>2],i[Z+16892>>2])|0,i[f>>2]=H,H=H+m(i[u+8>>2],i[Z+16892>>2])|0,i[f>>2]=H,u=H+m(i[u+12>>2],i[Z+16892>>2])|0,i[f>>2]=u,k=k+4|0,p=p+4|0,(n0|0)!=(p|0););}if(!a)break s;for(;u=m(i[R+(k<<2)>>2],i[Z+16892>>2])+u|0,i[f>>2]=u,k=k+1|0,I=I+1|0,(a|0)!=(I|0););}if((o|h)<0&&(C0(17156,13934,620,4120),P()),k=h<<2,o=m(i[k+z>>2],y-i[v+(o<<2)>>2]|0)+u|0,i[f>>2]=o,u=f,f=o+(W-i[k+_>>2]|0)|0,i[u>>2]=f,i[(f<<2)+f0>>2]=r,r=r+1|0,!((r|0)<i[Z+16908>>2]))break}u=i[t+52>>2];s:{if((u|0)<=0||(k=0,f=i[t+48>>2],(f|0)<=0))break s;for(h=0;;){h:{if((f|0)<=0){h=h+1|0;break h}if(o=0,p=v+(h<<2)|0,h=h+1|0,W=v+(h<<2)|0,I=i[W>>2],(I|0)<=i[p>>2]){k=((f|0)<=1?1:f)+k|0;break h}for(;;){u=i[p>>2];w:{if((I|0)<=(u|0)){o=o+1|0;break w}if(y=_+(o<<2)|0,o=o+1|0,z=_+(o<<2)|0,r=i[z>>2],(r|0)<=i[y>>2])break w;for(R=i[J>>2],a=i[D>>2],f0=i[q>>2];;){if(f=i[y>>2],(r|0)>(f|0)){for(;r=f<<2,i[a+(i[r+(f0+(m(i[Z+16892>>2],u)<<2)|0)>>2]<<2)>>2]=k,i[r+(R+(m(i[Z+16892>>2],u)<<2)|0)>>2]=k,f=f+1|0,r=i[z>>2],(f|0)<(r|0););I=i[W>>2]}if(u=u+1|0,!((I|0)>(u|0)))break}f=i[t+48>>2]}if(k=k+1|0,!((f|0)>(o|0)))break}u=i[t+52>>2]}if(!((u|0)>(h|0)))break}}u=i[Z+16928>>2];s:{if((u|0)<=0||(k=0,f=i[Z+16924>>2],(f|0)<=0))break s;for(v=i[E>>2],p=i[q>>2];;){if(r=0,(f|0)>0){for(;;){y=v+(r<<2)|0,u=y+(m(f,k)<<2)|0,f=i[Z+16936>>2],o=i[Z+16876>>2],i[u>>2]=i[(p+(m(i[Z+16892>>2],k<<f>>o)<<2)|0)+(r<<f>>o<<2)>>2]<<(o-f<<1),o=i[Z+16876>>2],h=i[Z+16936>>2],_=o-h|0;h:{if((_|0)<=0){u=0;break h}if(f=0,u=0,(o|0)!=(h+1|0))for(W=_&2147483646,h=0;I=f|1,o=2<<f,q=u,u=1<<f,u=((o&k?4<<f<<I:0)+((q+(u&k?o<<f:0)|0)+(r&u?u<<f:0)|0)|0)+(r&o?o<<I:0)|0,f=f+2|0,h=h+2|0,(W|0)!=(h|0););if(!(_&1))break h;o=1<<f,u=((o&k?2<<f<<f:0)+u|0)+(r&o?o<<f:0)|0}if(f=y+(m(i[Z+16924>>2],k)<<2)|0,i[f>>2]=i[f>>2]+u,f=i[Z+16924>>2],r=r+1|0,!((f|0)>(r|0)))break}u=i[Z+16928>>2]}if(k=k+1|0,!((k|0)<(u|0)))break}}B=A0,l[t|0]=1,o=1}break t}v2(A+4|0,1010,0);break t}v2(A+4|0,1006,0),o=0}t:{if(!o)break t;if(n=0,Z=i[A+524>>2],(Z|0)>=0){u=0,f=B-720|0,B=f,r=49876;o:{u:switch(Z-1|0){case 1:r=49872;break;case 0:break u;default:break o}if(r=i[r>>2],c(r,30909,0),i[f+704>>2]=l[t+12|0],c(r,27820,f+704|0),i[f+688>>2]=l[t+13|0],c(r,27787,f+688|0),i[f+672>>2]=l[t+14|0],c(r,24685,f+672|0),i[f+656>>2]=l[t+15|0],c(r,27400,f+656|0),i[f+640>>2]=l[t+16|0],c(r,26481,f+640|0),i[f+624>>2]=l[t+17|0],c(r,25213,f+624|0),i[f+608>>2]=l[t+18|0],c(r,25177,f+608|0),i[f+592>>2]=i[t+20>>2],c(r,29699,f+592|0),i[f+576>>2]=l[t+24|0],c(r,23274,f+576|0),i[f+560>>2]=l[t+25|0],c(r,23355,f+560|0),i[f+544>>2]=l[t+26|0],c(r,25965,f+544|0),s[t+26|0]&&(i[f+528>>2]=i[t+28>>2],c(r,26761,f+528|0)),i[f+512>>2]=i[t+32>>2],c(r,29150,f+512|0),i[f+496>>2]=i[t+36>>2],c(r,29115,f+496|0),i[f+480>>2]=l[t+40|0],c(r,23774,f+480|0),i[f+464>>2]=l[t+41|0],c(r,28726,f+464|0),i[f+448>>2]=l[t+42|0],c(r,28271,f+448|0),i[f+432>>2]=l[t+43|0],c(r,26794,f+432|0),i[f+416>>2]=l[t+44|0],c(r,23239,f+416|0),i[f+400>>2]=l[t+46|0],c(r,28807,f+400|0),i[f+384>>2]=l[t+45|0],c(r,23433,f+384|0),s[t+46|0]){if(i[f+368>>2]=i[t+48>>2],c(r,26345,f+368|0),i[f+352>>2]=i[t+52>>2],c(r,27609,f+352|0),i[f+336>>2]=l[t+56|0],c(r,23213,f+336|0),c(r,20060,0),i[t+48>>2]>=0)for(k=t+8360|0;i[f+320>>2]=i[k+(u<<2)>>2],c(r,19295,f+320|0),o=i[t+48>>2]>(u|0),u=u+1|0,!!o;);if(u=0,c(r,31103,0),c(r,20038,0),i[t+52>>2]>=0)for(k=t+8404|0;i[f+304>>2]=i[k+(u<<2)>>2],c(r,19295,f+304|0),o=i[t+52>>2]>(u|0),u=u+1|0,!!o;);c(r,31103,0),i[f+288>>2]=l[t+57|0],c(r,24729,f+288|0)}if(i[f+272>>2]=l[t+58|0],c(r,23307,f+272|0),i[f+256>>2]=l[t+59|0],c(r,23017,f+256|0),s[t+59|0]&&(i[f+240>>2]=l[t+60|0],c(r,23388,f+240|0),i[f+224>>2]=l[t+61|0],c(r,23137,f+224|0),i[f+208>>2]=i[t+64>>2],c(r,30328,f+208|0),i[f+192>>2]=i[t+68>>2],c(r,30346,f+192|0)),i[f+176>>2]=l[t+72|0],c(r,23097,f+176|0),i[f+160>>2]=l[t+8233|0],c(r,22980,f+160|0),i[f+144>>2]=i[t+8236>>2],c(r,27122,f+144|0),i[f+128>>2]=l[t+8240|0],c(r,26275,f+128|0),i[f+112>>2]=l[t+8241|0],c(r,24100,f+112|0),i[f+96>>2]=l[t+8242|0],c(r,28959,f+96|0),i[f+80>>2]=l[t+8243|0],c(r,27318,f+80|0),i[f+64>>2]=l[t+8244|0],c(r,24275,f- -64|0),i[f+48>>2]=l[t+8245|0],c(r,28690,f+48|0),i[f+32>>2]=i[t+8268>>2],c(r,28533,f+32|0),i[f+16>>2]=i[t+8272>>2],c(r,25489,f+16|0),i[f>>2]=i[t+8276>>2],c(r,25530,f),!s[t+8243|0])break o;o=t+8246|0,r=B-144|0,B=r,k=49876;u:switch(Z-1|0){case 1:k=49872;case 0:u=i[k>>2],c(u,31034,0),i[r+128>>2]=s[o|0],c(u,27563,r+128|0),i[r+112>>2]=s[o+1|0],c(u,24862,r+112|0),i[r+96>>2]=s[o+2|0],c(u,27433,r+96|0);l:{if(s[o+2|0]!=1||(i[r+80>>2]=s[o+3|0],c(u,28443,r+80|0),i[r+64>>2]=s[o+4|0],c(u,29543,r- -64|0),!s[o+4|0]))break l;for(Z=o+11|0,h=o+5|0,k=0;i[r+52>>2]=l[k+h|0],i[r+48>>2]=k,c(u,30057,r+48|0),i[r+36>>2]=l[k+Z|0],i[r+32>>2]=k,c(u,30010,r+32|0),k=k+1|0,k>>>0<s[o+4|0];);}i[r+16>>2]=s[o+17|0],c(u,29431,r+16|0),i[r>>2]=s[o+18|0],c(u,28995,r);break;default:break u}B=r+144|0}B=f+720|0}if(i[w+4>>2]=i[w+4>>2]+1,r=A+(l[w+24|0]<<3)|0,i[r+856>>2]=t,f=i[r+860>>2],i[r+860>>2]=w,!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break t;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[w+4>>2],i[w+4>>2]=f-1,f||(V[i[i[w>>2]+8>>2]](w),g(w)),w4(A+548|0,C);break k;case 7:case 8:k=S+8|0,u=(r|0)==40,r=0,t=B-80|0,B=t;t:{o:{for(o=i[f+1376>>2];A=u0(k,8),r=A+r|0,(A|0)==255;);for(;A=u0(k,8),n=A+n|0,(A|0)==255;);i[t+4>>2]=n,i[t>>2]=r,A=0;u:{if((r|0)!=132||(j=t,L=u0(k,8),i[j+8>>2]=L,A=1025,!o))break u;for(A=t+12|0,Z=t+60|0,h=t+68|0,o=i[o+476>>2],n=0;;){l:{s:switch(i[t+8>>2]){case 0:r=A+(n<<4)|0,j=r,L=u0(k,8),l[j|0]=L,j=r,L=u0(k,8),l[j+1|0]=L,j=r,L=u0(k,8),l[j+2|0]=L,j=r,L=u0(k,8),l[j+3|0]=L,j=r,L=u0(k,8),l[j+4|0]=L,j=r,L=u0(k,8),l[j+5|0]=L,j=r,L=u0(k,8),l[j+6|0]=L,j=r,L=u0(k,8),l[j+7|0]=L,j=r,L=u0(k,8),l[j+8|0]=L,j=r,L=u0(k,8),l[j+9|0]=L,j=r,L=u0(k,8),l[j+10|0]=L,j=r,L=u0(k,8),l[j+11|0]=L,j=r,L=u0(k,8),l[j+12|0]=L,j=r,L=u0(k,8),l[j+13|0]=L,j=r,L=u0(k,8),l[j+14|0]=L,j=r,L=u0(k,8),l[j+15|0]=L;break l;case 1:j=Z+(n<<1)|0,L=u0(k,16),X[j>>1]=L;break l;case 2:break s;default:break l}j=h+(n<<2)|0,L=u0(k,32),i[j>>2]=L}if(!(o&&(r=n>>>0<2,n=n+1|0,r)))break}A=0}u:{if(!A){if(r=i[f+3212>>2],!u|(r|0)==i[f+3208>>2])break u;if(u=i[r-4>>2],r=i[u+440>>2],o=i[u+444>>2],r>>>0<o>>>0){j=u,L=l0(r,t,80)+80|0,i[j+440>>2]=L;break u}if(n=i[u+436>>2],h=(r-n|0)/80|0,k=h+1|0,k>>>0>=53687092)break o;if(o=(o-n|0)/80|0,Z=o<<1,Z=o>>>0>=26843545?53687091:k>>>0<Z>>>0?Z:k,Z){if(Z>>>0>=53687092)break i;k=U(m(Z,80))}else k=0;if(o=k+m(h,80)|0,h=l0(o,t,80)+80|0,(r|0)!=(n|0)){for(;o=o-80|0,r=r-80|0,l0(o,r,80),(r|0)!=(n|0););n=i[u+436>>2]}i[u+444>>2]=k+m(Z,80),i[u+440>>2]=h,i[u+436>>2]=o,n&&G(n),i[u+440>>2]=h;break u}if(r=i[f+84>>2],(r|0)==20){i[f+80>>2]=1001;break u}i[f+84>>2]=r+1,i[((r<<2)+f|0)+4>>2]=A}B=t+80|0,n=A;break t}y0(),P()}w4(f+548|0,C);break k;case 4:l[f+2203|0]=1,w4(f+548|0,C);break k;default:break n}w4(f+548|0,C)}B=S+32|0,l[d+15|0]=1,r=n;break f}if(!(s[r|0]!=1|i[f+3208>>2]!=i[f+3212>>2])){if(r=13,f=1,e)break A;break e}r=fk(f,d+15|0)}if(!e)break e;f=r?0:s[d+15|0]}i[e>>2]=f}return B=d+16|0,r}C0(7808,13894,1328,11303),P()}_2(),P()}function f6(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=0,r2=0;u=B-128|0,B=u,W6(u+116|0,i[e+48>>2],r);i:{r:{w=i[e+20>>2];e:{if(!w)break e;for(n0=e+20|0,o=n0,G0=w;h=k0[G0+16>>2]<r>>>0,o=h?o:G0,G0=i[(h<<2)+G0>>2],!!G0;);if(G0=0,(o|0)==(n0|0)|k0[o+16>>2]>r>>>0)break e;for(G0=n0;o=k0[w+16>>2]<r>>>0,G0=o?G0:w,w=i[(o<<2)+w>>2],!!w;);if(G0=(n0|0)!=(G0|0)&k0[G0+16>>2]<=r>>>0?G0:n0,_=i[G0+20>>2],G0=i[G0+24>>2],G0&&(i[G0+4>>2]=i[G0+4>>2]+1),_)break r}if(l[u+96|0]=0,l[u+107|0]=0,r0(f,2,2e3,u+96|0),l[u+107|0]>=0)break i;G(i[u+96>>2]);break i}i[u+96>>2]=0,i[u+100>>2]=0,i[u+112>>2]=0,i[u+104>>2]=0,i[u+108>>2]=0,ei(u+88|0,i[e+48>>2],r);r:{e:{if(o=i[u+88>>2],!o||(l6(u- -64|0,e,i[o+56>>2],i[o+60>>2]),h=i[u+68>>2],o=i[u+64>>2],i[u+96>>2]=o,i[u+100>>2]=h,l[u+115|0]<0&&(G(i[u+104>>2]),o=i[u+96>>2]),h=i[u+76>>2],i[u+104>>2]=i[u+72>>2],i[u+108>>2]=h,i[u+112>>2]=i[u+80>>2],!o))break e;e=i[u+100>>2],i[f>>2]=i[u+96>>2],i[f+4>>2]=e,i[f+16>>2]=i[u+112>>2],e=i[u+108>>2],i[f+8>>2]=i[u+104>>2],i[f+12>>2]=e,i[u+104>>2]=0,i[u+108>>2]=0,i[u+112>>2]=0;break r}w=l[u+127|0],h=(w|0)<0;e:{A:{f:{k:{o=i[u+120>>2];n:{if(((h?o:w)|0)==4&&(h=h?i[u+116>>2]:u+116|0,Z=s[h+1|0]<<8,D=s[h+2|0]<<16|s[h+3|0]<<24,(s[h|0]|Z|D)==828601960||(h=D|(Z|s[h|0]),(h|0)==828601974|(h|0)==825259617|((h|0)==829108842|(h|0)==1734701162))))break n;if(!E4(u+116|0,9980)||(o=u- -64|0,cr(o,i[e+48>>2],r),o=E4(o,8704),l[u+75|0]<0&&G(i[u+64>>2]),!o))break k;w=s[u+127|0],o=i[u+120>>2]}n:{t:{if(h=o,o=w<<24>>24<0,((o?h:w)|0)!=4)break t;if(o=o?i[u+116>>2]:u+116|0,h=s[o+1|0]<<8,w=s[o+2|0]<<16|s[o+3|0]<<24,Z=1,(s[o|0]|h|w)==828601960||(o=w|(h|s[o|0]),Z=5,(o|0)==828601974)||(Z=4,(o|0)==825259617))break n;if((o|0)!=1734701162)break t;Z=3;break n}t:{if(!E4(u+116|0,9980)||(o=u- -64|0,cr(o,i[e+48>>2],r),o=E4(o,8704),l[u+75|0]<0&&G(i[u+64>>2]),!o))break t;Z=3;break n}Z=E4(u+116|0,16929)?7:0}if(Z=n7(Z,i[n+24>>2]),!Z){if(l[u+64|0]=0,l[u+75|0]=0,r0(f,11,6003,u- -64|0),l[u+75|0]>=0)break r;G(i[u+64>>2]);break r}i[u+8>>2]=0,i[u>>2]=0,i[u+4>>2]=0,w8(u- -64|0,i[e+48>>2],r,u),h=i[u+68>>2],o=i[u+64>>2],i[u+96>>2]=o,i[u+100>>2]=h,l[u+115|0]<0&&(G(i[u+104>>2]),o=i[u+96>>2]),h=i[u+76>>2],i[u+104>>2]=i[u+72>>2],i[u+108>>2]=h,i[u+112>>2]=i[u+80>>2];n:{if(o){k=i[u+100>>2],i[f>>2]=i[u+96>>2],i[f+4>>2]=k,i[f+16>>2]=i[u+112>>2],k=i[u+108>>2],i[f+8>>2]=i[u+104>>2],i[f+12>>2]=k,i[u+104>>2]=0,i[u+108>>2]=0,i[u+112>>2]=0,w=1;break n}if(V[i[Z+20>>2]](u- -64|0,u+60|0),h=i[u+64>>2],h){if(o=i[u+68>>2],t=i[u+72>>2],_=G2(t),_>>>0>=2147483640)break f;t:{o:{if(_>>>0>=11){k=(_|7)+1|0,w=U(k),i[u+56>>2]=k|-2147483648,i[u+48>>2]=w,i[u+52>>2]=_;break o}if(l[u+59|0]=_,w=u+48|0,!_)break t}F2(w,t,_)}l[w+_|0]=0,r0(f,h,o,u+48|0),l[u+59|0]<0&&G(i[u+48>>2]),w=1;break n}t:{if(i[Z>>2]<2||(o=i[Z+36>>2],!o))break t;V[o|0](i[u+60>>2],s[n+21|0])}if(h=u+48|0,o=i[u>>2],V[i[Z+28>>2]](h,i[u+60>>2],o,i[u+4>>2]-o|0),i[u+72>>2]=i[u+56>>2],o=i[u+52>>2],w=i[u+48>>2],i[u+64>>2]=w,i[u+68>>2]=o,w){V[i[Z+24>>2]](i[u+60>>2]),t=i[u+64>>2],o=i[u+68>>2],k=C1(h,i[u+72>>2]),r0(f,t,o,k),l[k+11|0]<0&&G(i[k>>2]),w=1;break n}if(i[u+44>>2]=0,h=u+48|0,V[i[Z+32>>2]](h,i[u+60>>2],u+44|0),i[u+72>>2]=i[u+56>>2],o=i[u+52>>2],w=i[u+48>>2],i[u+64>>2]=w,i[u+68>>2]=o,w){V[i[Z+24>>2]](i[u+60>>2]),t=i[u+64>>2],o=i[u+68>>2],k=C1(h,i[u+72>>2]),r0(f,t,o,k),l[k+11|0]<0&&G(i[k>>2]),w=1;break n}if(o=i[u+44>>2],!o){V[i[Z+24>>2]](i[u+60>>2]),k=C1(u+48|0,31341),r0(f,7,0,k),l[k+11|0]<0&&G(i[k>>2]),w=1;break n}if(si(A,o),G4(i[u+44>>2]),V[i[Z+24>>2]](i[u+60>>2]),o=i[_+176>>2],i[u+36>>2]=o,h=i[_+180>>2],i[u+40>>2]=h,h&&(i[h+4>>2]=i[h+4>>2]+1),o){w=i[A>>2],o=i[u+36>>2],h=i[u+40>>2],h&&(i[h+4>>2]=i[h+4>>2]+1),i[w+44>>2]=o,Z=i[w+48>>2],i[w+48>>2]=h;t:{if(!Z||(o=i[Z+4>>2],i[Z+4>>2]=o-1,o))break t;V[i[i[Z>>2]+8>>2]](Z),g(Z)}}if(o=i[_+184>>2],i[u+28>>2]=o,h=i[_+188>>2],i[u+32>>2]=h,h&&(i[h+4>>2]=i[h+4>>2]+1),o){w=i[A>>2],o=i[u+28>>2],h=i[u+32>>2],h&&(i[h+4>>2]=i[h+4>>2]+1),i[w+52>>2]=o,_=i[w+56>>2],i[w+56>>2]=h;t:{if(!_||(o=i[_+4>>2],i[_+4>>2]=o-1,o))break t;V[i[i[_>>2]+8>>2]](_),g(_)}}w=0;t:{if(t||(o=i[A>>2],t=i[o+32>>2],k=(k|0)==99?t:k,h=k>>>0<=1?1:k,k=(k|0)!=2?3:0,w=0,(k|0)==i[o+36>>2]&(t|0)==(h|0))||(i[u+20>>2]=0,i[u+24>>2]=0,t=u+48|0,o=k,k=u+20|0,N8(t,A,h,o,k,0,n+28|0),si(A,t),v1(t),v1(k),w=0,i[A>>2]))break t;k=C1(t,31341),r0(f,4,3003,k),l[k+11|0]<0&&G(i[k>>2]),w=1}v1(u+28|0),v1(u+36|0)}if(k=i[u>>2],k&&(i[u+4>>2]=k,G(k)),w)break r;break e}k=l[u+127|0],t=(k|0)<0;k:{n:{t:{if(((t?i[u+120>>2]:k)|0)!=4)break t;if(k=t?i[u+116>>2]:u+116|0,(s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24))==1684632167){if(i[u+8>>2]=0,i[u>>2]=0,i[u+4>>2]=0,w8(u- -64|0,i[e+48>>2],r,u),t=i[u+68>>2],k=i[u+64>>2],i[u+96>>2]=k,i[u+100>>2]=t,l[u+115|0]<0&&(G(i[u+104>>2]),k=i[u+96>>2]),t=i[u+76>>2],i[u+104>>2]=i[u+72>>2],i[u+108>>2]=t,i[u+112>>2]=i[u+80>>2],k)break n;q=u- -64|0,v=B-224|0,B=v,i[v+216>>2]=0,i[v+208>>2]=0,i[v+212>>2]=0,Uk(v+184|0,v+208|0,u);o:{if(i[v+184>>2]){k=i[v+188>>2],i[q>>2]=i[v+184>>2],i[q+4>>2]=k,i[q+16>>2]=i[v+200>>2],k=i[v+196>>2],i[q+8>>2]=i[v+192>>2],i[q+12>>2]=k,i[v+200>>2]=0,i[v+192>>2]=0,i[v+196>>2]=0;break o}k=i[e+48>>2],t=i[k+76>>2],L=i[k+80>>2],L&&(i[L+4>>2]=i[L+4>>2]+1);u:{if(!t){if(o=U(56),i[v+24>>2]=o,i[v+28>>2]=48,i[v+32>>2]=-2147483592,t=s[11139]|s[11140]<<8|(s[11141]<<16|s[11142]<<24),k=s[11135]|s[11136]<<8|(s[11137]<<16|s[11138]<<24),l[o|0]=k,l[o+1|0]=k>>>8,l[o+2|0]=k>>>16,l[o+3|0]=k>>>24,l[o+4|0]=t,l[o+5|0]=t>>>8,l[o+6|0]=t>>>16,l[o+7|0]=t>>>24,l[o+48|0]=0,t=s[11179]|s[11180]<<8|(s[11181]<<16|s[11182]<<24),k=s[11175]|s[11176]<<8|(s[11177]<<16|s[11178]<<24),l[o+40|0]=k,l[o+41|0]=k>>>8,l[o+42|0]=k>>>16,l[o+43|0]=k>>>24,l[o+44|0]=t,l[o+45|0]=t>>>8,l[o+46|0]=t>>>16,l[o+47|0]=t>>>24,t=s[11171]|s[11172]<<8|(s[11173]<<16|s[11174]<<24),k=s[11167]|s[11168]<<8|(s[11169]<<16|s[11170]<<24),l[o+32|0]=k,l[o+33|0]=k>>>8,l[o+34|0]=k>>>16,l[o+35|0]=k>>>24,l[o+36|0]=t,l[o+37|0]=t>>>8,l[o+38|0]=t>>>16,l[o+39|0]=t>>>24,t=s[11163]|s[11164]<<8|(s[11165]<<16|s[11166]<<24),k=s[11159]|s[11160]<<8|(s[11161]<<16|s[11162]<<24),l[o+24|0]=k,l[o+25|0]=k>>>8,l[o+26|0]=k>>>16,l[o+27|0]=k>>>24,l[o+28|0]=t,l[o+29|0]=t>>>8,l[o+30|0]=t>>>16,l[o+31|0]=t>>>24,t=s[11155]|s[11156]<<8|(s[11157]<<16|s[11158]<<24),k=s[11151]|s[11152]<<8|(s[11153]<<16|s[11154]<<24),l[o+16|0]=k,l[o+17|0]=k>>>8,l[o+18|0]=k>>>16,l[o+19|0]=k>>>24,l[o+20|0]=t,l[o+21|0]=t>>>8,l[o+22|0]=t>>>16,l[o+23|0]=t>>>24,t=s[11147]|s[11148]<<8|(s[11149]<<16|s[11150]<<24),k=s[11143]|s[11144]<<8|(s[11145]<<16|s[11146]<<24),l[o+8|0]=k,l[o+9|0]=k>>>8,l[o+10|0]=k>>>16,l[o+11|0]=k>>>24,l[o+12|0]=t,l[o+13|0]=t>>>8,l[o+14|0]=t>>>16,l[o+15|0]=t>>>24,r0(q,2,113,v+24|0),l[v+35|0]>=0)break u;G(i[v+24>>2]);break u}oi(v+172|0,t,r);l:{s:{h:{if(Z=Q[v+210>>1],_=Q[v+208>>1],w=m(Z,_),y=i[v+176>>2],h=i[v+172>>2],(w|0)==y-h>>2){if((h|0)!=(y|0)){if(o=i[e+16>>2],w=e+20|0,(o|0)==(w|0))break h;for(;;){for(_=i[h>>2],t=o;;){if(i[t+16>>2]!=(_|0)){k=i[t+4>>2];w:{if(k){for(;;)if(t=k,k=i[k>>2],!k)break w}for(;k=t,t=i[t+8>>2],(k|0)!=i[t>>2];);}if((t|0)!=(w|0))continue;break s}break}if(h=h+4|0,(y|0)==(h|0))break}}t=i[e+48>>2],i[v+12>>2]=i[t+52>>2],k=i[t+56>>2],i[v+16>>2]=k,k&&(i[k+4>>2]=i[k+4>>2]+1,t=i[e+48>>2]),k=i[t+44>>2],R=i[t+48>>2],R&&(i[R+4>>2]=i[R+4>>2]+1),p4(v+4|0,k,r,v+12|0,1885960297);w:{_:{if(k=i[v+4>>2],!k||(k=N0(k,68572,69712),!k))break _;if(p0=i[v+8>>2],!p0){p0=0;break w}i[p0+4>>2]=i[p0+4>>2]+1;break w}k=0}Z=i[v+212>>2],_=i[v+216>>2],l6(v+24|0,e,Z,_),o=i[v+28>>2],t=i[v+24>>2],i[v+184>>2]=t,i[v+188>>2]=o,l[v+203|0]<0&&(G(i[v+192>>2]),t=i[v+184>>2]),o=i[v+36>>2],i[v+192>>2]=i[v+32>>2],i[v+196>>2]=o,i[v+200>>2]=i[v+40>>2];w:{if(t){k=i[v+188>>2],i[q>>2]=i[v+184>>2],i[q+4>>2]=k,i[q+16>>2]=i[v+200>>2],k=i[v+196>>2],i[q+8>>2]=i[v+192>>2],i[q+12>>2]=k,i[v+192>>2]=0,i[v+196>>2]=0,i[v+200>>2]=0;break w}t=U(136),i[t+4>>2]=0,i[t+8>>2]=0,i[t>>2]=72792,B0(t+20|0,0,104),w=i[t+4>>2],h=w+1|0,i[t+4>>2]=h,i[t+56>>2]=0,i[t+60>>2]=0,i[t+44>>2]=99,i[t+48>>2]=99,i[t+32>>2]=34648,o=t- -64|0,i[o>>2]=0,i[o+4>>2]=0,i[t+132>>2]=0,i[t+124>>2]=0,i[t+128>>2]=0,i[t+84>>2]=1,i[t+88>>2]=1,i[t+72>>2]=t+76,i[t+92>>2]=0,i[t+96>>2]=0,i[t+100>>2]=0,i[t+104>>2]=0,i[t+108>>2]=0,i[t+112>>2]=0,l[t+113|0]=0,l[t+114|0]=0,l[t+115|0]=0,l[t+116|0]=0,l[t+117|0]=0,l[t+118|0]=0,l[t+119|0]=0,l[t+120|0]=0,o=t+12|0,i[t+12>>2]=o,i[t+8>>2]=i[t+8>>2]+1,i[t+4>>2]=w,i[t+16>>2]=t,h||(V[i[i[t>>2]+8>>2]](t),g(t)),i[A>>2]=o,o=i[A+4>>2],i[A+4>>2]=t;_:{if(!o||(t=i[o+4>>2],i[o+4>>2]=t-1,t))break _;V[i[i[o>>2]+8>>2]](o),g(o)}t=i[A>>2],i[t+36>>2]=3,i[t+32>>2]=1,i[t+28>>2]=_,i[t+24>>2]=Z;_:{if(k){if(o=i[k+56>>2],k=i[k+60>>2]-o|0,(k|0)<=0){if(k=C1(v+24|0,17788),r0(q,2,130,k),l[k+11|0]>=0)break w;G(i[k>>2]);break w}if(t=s[o|0],(t|0)==s[o+1|0]&s[o+2|0]==(t|0)|(k|0)!=3)break _;if(k=C1(v+24|0,17736),r0(q,2,130,k),l[k+11|0]>=0)break w;G(i[k>>2]);break w}v:{t=i[e+20>>2];Z:{if(!t)break Z;for(w=i[i[v+172>>2]>>2],h=e+20|0,k=h;o=w>>>0>k0[t+16>>2],k=o?k:t,t=i[(o<<2)+t>>2],!!t;);if((k|0)==(h|0))break Z;if(w>>>0>=k0[k+16>>2])break v}if(k=C1(v+24|0,13463),r0(q,2,119,k),l[k+11|0]>=0)break w;G(i[k>>2]);break w}t=i[k+20>>2],i[v+24>>2]=t,k=i[k+24>>2],i[v+28>>2]=k,k&&(i[k+4>>2]=i[k+4>>2]+1),t=Ek(t),v1(v+24|0)}if(t-17>>>0<=4294967286){if(k=C1(v+24|0,17390),r0(q,2,130,k),l[k+11|0]>=0)break w;G(i[k>>2]);break w}if(J0(i[A>>2],3,Z,_,t),J0(i[A>>2],4,Z,_,t),J0(i[A>>2],5,Z,_,t),t=Q[v+208>>1],t)for(y=e+20|0,D=Q[v+210>>1],h=0,o=0;;){_:{if(!D){D=0;break _}for(h0=0,_=0;;){v:{t=i[y>>2];Z:{if(!t)break Z;for(Z=i[i[v+172>>2]+(Y0<<2)>>2],k=y;w=Z>>>0>k0[t+16>>2],k=w?k:t,t=i[(w<<2)+t>>2],!!t;);if((k|0)==(y|0))break Z;if(Z>>>0>=k0[k+16>>2])break v}if(o=U(40),i[v+24>>2]=o,i[v+28>>2]=33,i[v+32>>2]=-2147483608,t=s[13467]|s[13468]<<8|(s[13469]<<16|s[13470]<<24),k=s[13463]|s[13464]<<8|(s[13465]<<16|s[13466]<<24),l[o|0]=k,l[o+1|0]=k>>>8,l[o+2|0]=k>>>16,l[o+3|0]=k>>>24,l[o+4|0]=t,l[o+5|0]=t>>>8,l[o+6|0]=t>>>16,l[o+7|0]=t>>>24,l[o+33|0]=0,l[o+32|0]=s[13495],t=s[13491]|s[13492]<<8|(s[13493]<<16|s[13494]<<24),k=s[13487]|s[13488]<<8|(s[13489]<<16|s[13490]<<24),l[o+24|0]=k,l[o+25|0]=k>>>8,l[o+26|0]=k>>>16,l[o+27|0]=k>>>24,l[o+28|0]=t,l[o+29|0]=t>>>8,l[o+30|0]=t>>>16,l[o+31|0]=t>>>24,t=s[13483]|s[13484]<<8|(s[13485]<<16|s[13486]<<24),k=s[13479]|s[13480]<<8|(s[13481]<<16|s[13482]<<24),l[o+16|0]=k,l[o+17|0]=k>>>8,l[o+18|0]=k>>>16,l[o+19|0]=k>>>24,l[o+20|0]=t,l[o+21|0]=t>>>8,l[o+22|0]=t>>>16,l[o+23|0]=t>>>24,t=s[13475]|s[13476]<<8|(s[13477]<<16|s[13478]<<24),k=s[13471]|s[13472]<<8|(s[13473]<<16|s[13474]<<24),l[o+8|0]=k,l[o+9|0]=k>>>8,l[o+10|0]=k>>>16,l[o+11|0]=k>>>24,l[o+12|0]=t,l[o+13|0]=t>>>8,l[o+14|0]=t>>>16,l[o+15|0]=t>>>24,r0(q,2,119,v+24|0),l[v+35|0]>=0)break w;G(i[v+24>>2]);break w}t=i[k+20>>2],d=i[k+24>>2],d&&(i[d+4>>2]=i[d+4>>2]+1),p=i[t+24>>2],t=i[t+28>>2],l6(v+24|0,e,p,t),w=i[v+28>>2],k=i[v+24>>2],i[v+184>>2]=k,i[v+188>>2]=w,l[v+203|0]<0&&(G(i[v+192>>2]),k=i[v+184>>2]),w=i[v+36>>2],i[v+192>>2]=i[v+32>>2],i[v+196>>2]=w,i[v+200>>2]=i[v+40>>2];v:{Z:{if(k)break Z;m:{if(p>>>0>=k0[v+212>>2]/(D>>>0)>>>0&&t>>>0>=k0[v+216>>2]/Q[v+208>>1]>>>0)break m;w=U(40),i[v+24>>2]=w,i[v+28>>2]=35,i[v+32>>2]=-2147483608,t=s[11055]|s[11056]<<8|(s[11057]<<16|s[11058]<<24),k=s[11051]|s[11052]<<8|(s[11053]<<16|s[11054]<<24),l[w|0]=k,l[w+1|0]=k>>>8,l[w+2|0]=k>>>16,l[w+3|0]=k>>>24,l[w+4|0]=t,l[w+5|0]=t>>>8,l[w+6|0]=t>>>16,l[w+7|0]=t>>>24,l[w+35|0]=0,k=s[11082]|s[11083]<<8|(s[11084]<<16|s[11085]<<24),l[w+31|0]=k,l[w+32|0]=k>>>8,l[w+33|0]=k>>>16,l[w+34|0]=k>>>24,t=s[11079]|s[11080]<<8|(s[11081]<<16|s[11082]<<24),k=s[11075]|s[11076]<<8|(s[11077]<<16|s[11078]<<24),l[w+24|0]=k,l[w+25|0]=k>>>8,l[w+26|0]=k>>>16,l[w+27|0]=k>>>24,l[w+28|0]=t,l[w+29|0]=t>>>8,l[w+30|0]=t>>>16,l[w+31|0]=t>>>24,t=s[11071]|s[11072]<<8|(s[11073]<<16|s[11074]<<24),k=s[11067]|s[11068]<<8|(s[11069]<<16|s[11070]<<24),l[w+16|0]=k,l[w+17|0]=k>>>8,l[w+18|0]=k>>>16,l[w+19|0]=k>>>24,l[w+20|0]=t,l[w+21|0]=t>>>8,l[w+22|0]=t>>>16,l[w+23|0]=t>>>24,t=s[11063]|s[11064]<<8|(s[11065]<<16|s[11066]<<24),k=s[11059]|s[11060]<<8|(s[11061]<<16|s[11062]<<24),l[w+8|0]=k,l[w+9|0]=k>>>8,l[w+10|0]=k>>>16,l[w+11|0]=k>>>24,l[w+12|0]=t,l[w+13|0]=t>>>8,l[w+14|0]=t>>>16,l[w+15|0]=t>>>24,r0(q,2,118,v+24|0),l[v+35|0]<0&&G(i[v+24>>2]),k=0;break v}m:{if(!(H|h0)){o=p,h=t;break m}if((o|0)==(p|0)&(t|0)==(h|0))break m;w=U(32),i[v+24>>2]=w,i[v+28>>2]=31,i[v+32>>2]=-2147483616,t=s[4092]|s[4093]<<8|(s[4094]<<16|s[4095]<<24),k=s[4088]|s[4089]<<8|(s[4090]<<16|s[4091]<<24),l[w|0]=k,l[w+1|0]=k>>>8,l[w+2|0]=k>>>16,l[w+3|0]=k>>>24,l[w+4|0]=t,l[w+5|0]=t>>>8,l[w+6|0]=t>>>16,l[w+7|0]=t>>>24,l[w+31|0]=0,t=s[4115]|s[4116]<<8|(s[4117]<<16|s[4118]<<24),k=s[4111]|s[4112]<<8|(s[4113]<<16|s[4114]<<24),l[w+23|0]=k,l[w+24|0]=k>>>8,l[w+25|0]=k>>>16,l[w+26|0]=k>>>24,l[w+27|0]=t,l[w+28|0]=t>>>8,l[w+29|0]=t>>>16,l[w+30|0]=t>>>24,t=s[4108]|s[4109]<<8|(s[4110]<<16|s[4111]<<24),k=s[4104]|s[4105]<<8|(s[4106]<<16|s[4107]<<24),l[w+16|0]=k,l[w+17|0]=k>>>8,l[w+18|0]=k>>>16,l[w+19|0]=k>>>24,l[w+20|0]=t,l[w+21|0]=t>>>8,l[w+22|0]=t>>>16,l[w+23|0]=t>>>24,t=s[4100]|s[4101]<<8|(s[4102]<<16|s[4103]<<24),k=s[4096]|s[4097]<<8|(s[4098]<<16|s[4099]<<24),l[w+8|0]=k,l[w+9|0]=k>>>8,l[w+10|0]=k>>>16,l[w+11|0]=k>>>24,l[w+12|0]=t,l[w+13|0]=t>>>8,l[w+14|0]=t>>>16,l[w+15|0]=t>>>24,r0(q,2,118,v+24|0),l[v+35|0]<0&&G(i[v+24>>2]),k=0;break v}j=v+24|0,I=B+-64|0,B=I,i[I+56>>2]=0,i[I+60>>2]=0,f6(I+32|0,e,Z,I+56|0,i[i[A>>2]+32>>2],n,0);m:{if(i[I+32>>2]!=i[19564]){k=i[I+36>>2],i[j>>2]=i[I+32>>2],i[j+4>>2]=k,i[j+16>>2]=i[I+48>>2],k=i[I+44>>2],i[j+8>>2]=i[I+40>>2],i[j+12>>2]=k,i[I+48>>2]=0,i[I+40>>2]=0,i[I+44>>2]=0;break m}if(k=i[A>>2],t=i[I+56>>2],i[k+36>>2]!=i[t+36>>2]){if(w=U(64),i[I+20>>2]=w,i[I+24>>2]=58,i[I+28>>2]=-2147483584,t=s[11188]|s[11189]<<8|(s[11190]<<16|s[11191]<<24),k=s[11184]|s[11185]<<8|(s[11186]<<16|s[11187]<<24),l[w|0]=k,l[w+1|0]=k>>>8,l[w+2|0]=k>>>16,l[w+3|0]=k>>>24,l[w+4|0]=t,l[w+5|0]=t>>>8,l[w+6|0]=t>>>16,l[w+7|0]=t>>>24,l[w+58|0]=0,k=s[11240]|s[11241]<<8,l[w+56|0]=k,l[w+57|0]=k>>>8,t=s[11236]|s[11237]<<8|(s[11238]<<16|s[11239]<<24),k=s[11232]|s[11233]<<8|(s[11234]<<16|s[11235]<<24),l[w+48|0]=k,l[w+49|0]=k>>>8,l[w+50|0]=k>>>16,l[w+51|0]=k>>>24,l[w+52|0]=t,l[w+53|0]=t>>>8,l[w+54|0]=t>>>16,l[w+55|0]=t>>>24,t=s[11228]|s[11229]<<8|(s[11230]<<16|s[11231]<<24),k=s[11224]|s[11225]<<8|(s[11226]<<16|s[11227]<<24),l[w+40|0]=k,l[w+41|0]=k>>>8,l[w+42|0]=k>>>16,l[w+43|0]=k>>>24,l[w+44|0]=t,l[w+45|0]=t>>>8,l[w+46|0]=t>>>16,l[w+47|0]=t>>>24,t=s[11220]|s[11221]<<8|(s[11222]<<16|s[11223]<<24),k=s[11216]|s[11217]<<8|(s[11218]<<16|s[11219]<<24),l[w+32|0]=k,l[w+33|0]=k>>>8,l[w+34|0]=k>>>16,l[w+35|0]=k>>>24,l[w+36|0]=t,l[w+37|0]=t>>>8,l[w+38|0]=t>>>16,l[w+39|0]=t>>>24,t=s[11212]|s[11213]<<8|(s[11214]<<16|s[11215]<<24),k=s[11208]|s[11209]<<8|(s[11210]<<16|s[11211]<<24),l[w+24|0]=k,l[w+25|0]=k>>>8,l[w+26|0]=k>>>16,l[w+27|0]=k>>>24,l[w+28|0]=t,l[w+29|0]=t>>>8,l[w+30|0]=t>>>16,l[w+31|0]=t>>>24,t=s[11204]|s[11205]<<8|(s[11206]<<16|s[11207]<<24),k=s[11200]|s[11201]<<8|(s[11202]<<16|s[11203]<<24),l[w+16|0]=k,l[w+17|0]=k>>>8,l[w+18|0]=k>>>16,l[w+19|0]=k>>>24,l[w+20|0]=t,l[w+21|0]=t>>>8,l[w+22|0]=t>>>16,l[w+23|0]=t>>>24,t=s[11196]|s[11197]<<8|(s[11198]<<16|s[11199]<<24),k=s[11192]|s[11193]<<8|(s[11194]<<16|s[11195]<<24),l[w+8|0]=k,l[w+9|0]=k>>>8,l[w+10|0]=k>>>16,l[w+11|0]=k>>>24,l[w+12|0]=t,l[w+13|0]=t>>>8,l[w+14|0]=t>>>16,l[w+15|0]=t>>>24,r0(j,2,127,I+20|0),l[I+31|0]>=0)break m;G(i[I+20>>2]);break m}J=i[t+28>>2],S=i[t+24>>2],A0=i[k+28>>2],f0=i[k+24>>2];B:{if(!V9(t)||V9(i[A>>2]))break B;t=U0(i[I+56>>2],6),a=(-1<<t^-1)&65535,X0=i[A>>2],J0(X0,6,f0,A0,t),w=X0- -64|0,E=1;p:{W:switch(i[X0+36>>2]){case 10:case 12:case 14:Z=3;break p;case 11:case 13:case 15:Z=4;break p;default:E=0;break;case 0:case 1:case 2:case 3:case 99:break W}Z=E}E=i[X0+64>>2];p:{W:{G:{if((t|0)<=8){if(!E)break G;for(k=w;t=i[E+16>>2]<6,k=t?k:E,E=i[(t<<2)+E>>2],!!E;);if((k|0)==(w|0))break G;if(w=0,t=0,i[k+16>>2]>6)break W;w=i[k+48>>2],t=i[k+40>>2];break W}C:{y:{if(!E)break y;for(t=w;k=i[E+16>>2]<6,t=k?t:E,E=i[(k<<2)+E>>2],!!E;);if((t|0)==(w|0))break y;if(w=0,k=0,i[t+16>>2]>6)break C;w=i[t+48>>2]/2|0,k=i[t+40>>2];break C}w=0,k=0}if((A0|0)<=0||(t=m(Z,f0),(t|0)<=0))break p;for(X0=t&2147483640,Q0=t&7,F0=0,Z=t>>>0<8;;){if(I0=(m(w,F0)<<1)+k|0,t=0,E=0,!Z)for(;z=I0+(t<<1)|0,X[z>>1]=a,X[z+2>>1]=a,X[z+4>>1]=a,X[z+6>>1]=a,X[z+8>>1]=a,X[z+10>>1]=a,X[z+12>>1]=a,X[z+14>>1]=a,t=t+8|0,E=E+8|0,(X0|0)!=(E|0););if(E=0,Q0)for(;X[I0+(t<<1)>>1]=a,t=t+1|0,E=E+1|0,(Q0|0)!=(E|0););if(F0=F0+1|0,(A0|0)==(F0|0))break}break p}w=0,t=0}if((A0|0)<=0)break p;if(X0=m(Z,f0),k=0,E=0,A0>>>0>=4)for(Z=A0&2147483644,F0=0;B0(m(w,E)+t|0,a,X0),B0(m(w,E|1)+t|0,a,X0),B0(m(w,E|2)+t|0,a,X0),B0(m(w,E|3)+t|0,a,X0),E=E+4|0,F0=F0+4|0,(Z|0)!=(F0|0););if(Z=A0&3,!Z)break p;for(;B0(m(w,E)+t|0,a,X0),E=E+1|0,k=k+1|0,(Z|0)!=(k|0););}}l7(I+20|0,i[I+56>>2]);B:{p:{if(w=i[I+20>>2],z=I+24|0,(w|0)!=(z|0)){if(C>>>0>=A0>>>0|_>>>0>=f0>>>0)break p;for(k=f0-_|0,Q0=k>>>0<S>>>0?k:S,k=A0-C|0,f0=k>>>0<J>>>0?k:J,I0=f0&2147483646,X0=f0&1,E=(f0|0)>0;;){k=i[w+16>>2],J=v0(i[I+56>>2],k,I+16|0),Z=v0(i[A>>2],k,I+12|0);W:{G:{if((U0(i[A>>2],k)|0)==(U0(i[I+56>>2],k)|0)){if(t=r3(i[I+56>>2],3),k=r3(i[I+56>>2],3),!E)break W;if(S=m(Q0,t>>>3|0),Z=Z+m(k>>>3|0,_)|0,k=0,F0=0,(f0|0)==1)break G;for(;l0(Z+m(i[I+12>>2],k+C|0)|0,J+m(i[I+16>>2],k)|0,S),t=k|1,l0(Z+m(i[I+12>>2],t+C|0)|0,J+m(t,i[I+16>>2])|0,S),k=k+2|0,F0=F0+2|0,(I0|0)!=(F0|0););break G}if(l[I|0]=0,l[I+11|0]=0,r0(j,2,132,I),l[I+11|0]>=0)break B;G(i[I>>2]);break B}if(!X0)break W;l0(Z+m(i[I+12>>2],k+C|0)|0,J+m(i[I+16>>2],k)|0,S)}t=i[w+4>>2];W:{if(t){for(;;)if(k=t,t=i[k>>2],!t)break W}for(;k=i[w+8>>2],t=i[k>>2]!=(w|0),w=k,!!t;);}if(w=k,(k|0)==(z|0))break}}if(k=i[19565],i[j>>2]=i[19564],i[j+4>>2]=k,t=j+8|0,l[78275]>=0){k=i[19567],i[t>>2]=i[19566],i[t+4>>2]=k,i[t+8>>2]=i[19568];break B}_0(t,i[19566],i[19567]);break B}if(k=i[w+16>>2],v0(i[I+56>>2],k,I+16|0),v0(i[A>>2],k,I+12|0),l[I|0]=0,l[I+11|0]=0,r0(j,2,118,I),l[I+11|0]>=0)break B;G(i[I>>2])}j6(I+20|0,i[I+24>>2])}l[I+51|0]<0&&G(i[I+40>>2]),t=i[I+60>>2];m:{if(!t||(k=i[t+4>>2],i[t+4>>2]=k-1,k))break m;V[i[i[t>>2]+8>>2]](t),g(t)}if(B=I- -64|0,t=i[v+28>>2],k=i[v+24>>2],i[v+184>>2]=k,i[v+188>>2]=t,l[v+203|0]<0&&(G(i[v+192>>2]),k=i[v+184>>2]),t=i[v+36>>2],i[v+192>>2]=i[v+32>>2],i[v+196>>2]=t,i[v+200>>2]=i[v+40>>2],k)break Z;Y0=Y0+1|0,_=_+p|0,k=1;break v}k=i[v+188>>2],i[q>>2]=i[v+184>>2],i[q+4>>2]=k,i[q+16>>2]=i[v+200>>2],k=i[v+196>>2],i[q+8>>2]=i[v+192>>2],i[q+12>>2]=k,i[v+192>>2]=0,i[v+196>>2]=0,i[v+200>>2]=0,k=0}v:{if(!d||(t=i[d+4>>2],i[d+4>>2]=t-1,t))break v;V[i[i[d>>2]+8>>2]](d),g(d)}if(!k)break w;if(D=Q[v+210>>1],h0=h0+1|0,!(D>>>0>h0>>>0))break}t=Q[v+208>>1]}if(C=h+C|0,H=H+1|0,!(H>>>0<(t&65535)>>>0))break}V3(q)}w:{if(!p0||(k=i[p0+4>>2],i[p0+4>>2]=k-1,k))break w;V[i[i[p0>>2]+8>>2]](p0),g(p0)}t=i[v+8>>2];w:{if(!t||(k=i[t+4>>2],i[t+4>>2]=k-1,k))break w;V[i[i[t>>2]+8>>2]](t),g(t)}w:{if(!R||(k=i[R+4>>2],i[R+4>>2]=k-1,k))break w;V[i[i[R>>2]+8>>2]](R),g(R)}if(t=i[v+16>>2],!t||(k=i[t+4>>2],i[t+4>>2]=k-1,k))break l;V[i[i[t>>2]+8>>2]](t),g(t);break l}i[v+32>>2]=54496,i[v+88>>2]=54516,k=i[13633],i[v+24>>2]=k,h=v+24|0,i[h+i[k-12>>2]>>2]=i[13634],i[v+28>>2]=0,k=h+i[i[v+24>>2]-12>>2]|0,o=v+36|0,b0(k,o),i[k+72>>2]=0,i[k+76>>2]=-1,k=i[13635],i[v+32>>2]=k,t=v+32|0,i[t+i[k-12>>2]>>2]=i[13636],k=i[13632],i[v+24>>2]=k,i[h+i[k-12>>2]>>2]=i[13637],i[v+88>>2]=54516,i[v+24>>2]=54476,i[v+32>>2]=54496,o=$0(o),i[o>>2]=53552,i[v+76>>2]=0,i[v+80>>2]=0,i[v+68>>2]=0,i[v+72>>2]=0,i[v+84>>2]=24,x(L0(x(H0(x(L0(x(L0(x(t,18988,17),_),2490,1),Z),16374,1),w),18716,17),i[v+176>>2]-i[v+172>>2]>>2),10094,20),k=v+12|0,i2(k,o),r0(q,2,119,k),l[v+23|0]<0&&G(i[v+12>>2]),k=i[13631],i[v+24>>2]=k,i[i[k-12>>2]+(v+24|0)>>2]=i[13639],i[v+32>>2]=i[13640],i[o>>2]=53552,l[v+79|0]<0&&G(i[v+68>>2]),K0(o),T0(v+88|0);break l}_=i[h>>2]}i[v+32>>2]=54496,i[v+88>>2]=54516,k=i[13633],i[v+24>>2]=k,h=v+24|0,i[h+i[k-12>>2]>>2]=i[13634],i[v+28>>2]=0,k=h+i[i[v+24>>2]-12>>2]|0,o=v+36|0,b0(k,o),i[k+72>>2]=0,i[k+76>>2]=-1,k=i[13635],i[v+32>>2]=k,t=v+32|0,i[t+i[k-12>>2]>>2]=i[13636],k=i[13632],i[v+24>>2]=k,i[h+i[k-12>>2]>>2]=i[13637],i[v+88>>2]=54516,i[v+24>>2]=54476,i[v+32>>2]=54496,o=$0(o),i[o>>2]=53552,i[v+76>>2]=0,i[v+80>>2]=0,i[v+68>>2]=0,i[v+72>>2]=0,i[v+84>>2]=24,x(L0(x(t,16361,14),_),17905,23),k=v+12|0,i2(k,o),r0(q,2,119,k),l[v+23|0]<0&&G(i[v+12>>2]),k=i[13631],i[v+24>>2]=k,i[i[k-12>>2]+(v+24|0)>>2]=i[13639],i[v+32>>2]=i[13640],i[o>>2]=53552,l[v+79|0]<0&&G(i[v+68>>2]),K0(o),T0(v+88|0)}if(k=i[v+172>>2],!k)break u;i[v+176>>2]=k,G(k)}if(!L||(k=i[L+4>>2],i[L+4>>2]=k-1,k))break o;V[i[i[L>>2]+8>>2]](L),g(L)}if(l[v+203|0]<0&&G(i[v+192>>2]),B=v+224|0,t=i[u+68>>2],k=i[u+64>>2],i[u+96>>2]=k,i[u+100>>2]=t,l[u+115|0]<0&&(G(i[u+104>>2]),k=i[u+96>>2]),t=i[u+76>>2],i[u+104>>2]=i[u+72>>2],i[u+108>>2]=t,i[u+112>>2]=i[u+80>>2],k)break n;if(k=i[u>>2],!k)break e;i[u+4>>2]=k,G(k);break e}if((s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24))==1852138601){w=B-32|0,B=w,k=i[e+48>>2],t=i[k+76>>2],h=i[k+80>>2],h&&(i[h+4>>2]=i[h+4>>2]+1),o=u- -64|0;o:{if(!t){if(_=U(56),i[w+20>>2]=_,i[w+24>>2]=48,i[w+28>>2]=-2147483592,t=s[10630]|s[10631]<<8|(s[10632]<<16|s[10633]<<24),k=s[10626]|s[10627]<<8|(s[10628]<<16|s[10629]<<24),l[_|0]=k,l[_+1|0]=k>>>8,l[_+2|0]=k>>>16,l[_+3|0]=k>>>24,l[_+4|0]=t,l[_+5|0]=t>>>8,l[_+6|0]=t>>>16,l[_+7|0]=t>>>24,l[_+48|0]=0,t=s[10670]|s[10671]<<8|(s[10672]<<16|s[10673]<<24),k=s[10666]|s[10667]<<8|(s[10668]<<16|s[10669]<<24),l[_+40|0]=k,l[_+41|0]=k>>>8,l[_+42|0]=k>>>16,l[_+43|0]=k>>>24,l[_+44|0]=t,l[_+45|0]=t>>>8,l[_+46|0]=t>>>16,l[_+47|0]=t>>>24,t=s[10662]|s[10663]<<8|(s[10664]<<16|s[10665]<<24),k=s[10658]|s[10659]<<8|(s[10660]<<16|s[10661]<<24),l[_+32|0]=k,l[_+33|0]=k>>>8,l[_+34|0]=k>>>16,l[_+35|0]=k>>>24,l[_+36|0]=t,l[_+37|0]=t>>>8,l[_+38|0]=t>>>16,l[_+39|0]=t>>>24,t=s[10654]|s[10655]<<8|(s[10656]<<16|s[10657]<<24),k=s[10650]|s[10651]<<8|(s[10652]<<16|s[10653]<<24),l[_+24|0]=k,l[_+25|0]=k>>>8,l[_+26|0]=k>>>16,l[_+27|0]=k>>>24,l[_+28|0]=t,l[_+29|0]=t>>>8,l[_+30|0]=t>>>16,l[_+31|0]=t>>>24,t=s[10646]|s[10647]<<8|(s[10648]<<16|s[10649]<<24),k=s[10642]|s[10643]<<8|(s[10644]<<16|s[10645]<<24),l[_+16|0]=k,l[_+17|0]=k>>>8,l[_+18|0]=k>>>16,l[_+19|0]=k>>>24,l[_+20|0]=t,l[_+21|0]=t>>>8,l[_+22|0]=t>>>16,l[_+23|0]=t>>>24,t=s[10638]|s[10639]<<8|(s[10640]<<16|s[10641]<<24),k=s[10634]|s[10635]<<8|(s[10636]<<16|s[10637]<<24),l[_+8|0]=k,l[_+9|0]=k>>>8,l[_+10|0]=k>>>16,l[_+11|0]=k>>>24,l[_+12|0]=t,l[_+13|0]=t>>>8,l[_+14|0]=t>>>16,l[_+15|0]=t>>>24,r0(o,2,113,w+20|0),l[w+31|0]>=0)break o;G(i[w+20>>2]);break o}oi(w+20|0,t,r),k=i[w+20>>2];u:{if((i[w+24>>2]-k|0)!=4){if(_=U(48),i[w+8>>2]=_,i[w+12>>2]=47,i[w+16>>2]=-2147483600,t=s[11091]|s[11092]<<8|(s[11093]<<16|s[11094]<<24),k=s[11087]|s[11088]<<8|(s[11089]<<16|s[11090]<<24),l[_|0]=k,l[_+1|0]=k>>>8,l[_+2|0]=k>>>16,l[_+3|0]=k>>>24,l[_+4|0]=t,l[_+5|0]=t>>>8,l[_+6|0]=t>>>16,l[_+7|0]=t>>>24,l[_+47|0]=0,t=s[11130]|s[11131]<<8|(s[11132]<<16|s[11133]<<24),k=s[11126]|s[11127]<<8|(s[11128]<<16|s[11129]<<24),l[_+39|0]=k,l[_+40|0]=k>>>8,l[_+41|0]=k>>>16,l[_+42|0]=k>>>24,l[_+43|0]=t,l[_+44|0]=t>>>8,l[_+45|0]=t>>>16,l[_+46|0]=t>>>24,t=s[11123]|s[11124]<<8|(s[11125]<<16|s[11126]<<24),k=s[11119]|s[11120]<<8|(s[11121]<<16|s[11122]<<24),l[_+32|0]=k,l[_+33|0]=k>>>8,l[_+34|0]=k>>>16,l[_+35|0]=k>>>24,l[_+36|0]=t,l[_+37|0]=t>>>8,l[_+38|0]=t>>>16,l[_+39|0]=t>>>24,t=s[11115]|s[11116]<<8|(s[11117]<<16|s[11118]<<24),k=s[11111]|s[11112]<<8|(s[11113]<<16|s[11114]<<24),l[_+24|0]=k,l[_+25|0]=k>>>8,l[_+26|0]=k>>>16,l[_+27|0]=k>>>24,l[_+28|0]=t,l[_+29|0]=t>>>8,l[_+30|0]=t>>>16,l[_+31|0]=t>>>24,t=s[11107]|s[11108]<<8|(s[11109]<<16|s[11110]<<24),k=s[11103]|s[11104]<<8|(s[11105]<<16|s[11106]<<24),l[_+16|0]=k,l[_+17|0]=k>>>8,l[_+18|0]=k>>>16,l[_+19|0]=k>>>24,l[_+20|0]=t,l[_+21|0]=t>>>8,l[_+22|0]=t>>>16,l[_+23|0]=t>>>24,t=s[11099]|s[11100]<<8|(s[11101]<<16|s[11102]<<24),k=s[11095]|s[11096]<<8|(s[11097]<<16|s[11098]<<24),l[_+8|0]=k,l[_+9|0]=k>>>8,l[_+10|0]=k>>>16,l[_+11|0]=k>>>24,l[_+12|0]=t,l[_+13|0]=t>>>8,l[_+14|0]=t>>>16,l[_+15|0]=t>>>24,r0(o,2,0,w+8|0),l[w+19|0]>=0)break u;G(i[w+8>>2]);break u}if(k=i[k>>2],(k|0)==(r|0)){if(_=U(40),i[w+8>>2]=_,i[w+12>>2]=32,i[w+16>>2]=-2147483608,t=s[8751]|s[8752]<<8|(s[8753]<<16|s[8754]<<24),k=s[8747]|s[8748]<<8|(s[8749]<<16|s[8750]<<24),l[_|0]=k,l[_+1|0]=k>>>8,l[_+2|0]=k>>>16,l[_+3|0]=k>>>24,l[_+4|0]=t,l[_+5|0]=t>>>8,l[_+6|0]=t>>>16,l[_+7|0]=t>>>24,l[_+32|0]=0,t=s[8775]|s[8776]<<8|(s[8777]<<16|s[8778]<<24),k=s[8771]|s[8772]<<8|(s[8773]<<16|s[8774]<<24),l[_+24|0]=k,l[_+25|0]=k>>>8,l[_+26|0]=k>>>16,l[_+27|0]=k>>>24,l[_+28|0]=t,l[_+29|0]=t>>>8,l[_+30|0]=t>>>16,l[_+31|0]=t>>>24,t=s[8767]|s[8768]<<8|(s[8769]<<16|s[8770]<<24),k=s[8763]|s[8764]<<8|(s[8765]<<16|s[8766]<<24),l[_+16|0]=k,l[_+17|0]=k>>>8,l[_+18|0]=k>>>16,l[_+19|0]=k>>>24,l[_+20|0]=t,l[_+21|0]=t>>>8,l[_+22|0]=t>>>16,l[_+23|0]=t>>>24,t=s[8759]|s[8760]<<8|(s[8761]<<16|s[8762]<<24),k=s[8755]|s[8756]<<8|(s[8757]<<16|s[8758]<<24),l[_+8|0]=k,l[_+9|0]=k>>>8,l[_+10|0]=k>>>16,l[_+11|0]=k>>>24,l[_+12|0]=t,l[_+13|0]=t>>>8,l[_+14|0]=t>>>16,l[_+15|0]=t>>>24,r0(o,2,0,w+8|0),l[w+19|0]>=0)break u;G(i[w+8>>2]);break u}f6(o,e,k,A,1,n,0)}if(k=i[w+20>>2],!k)break o;i[w+24>>2]=k,G(k)}o:{if(!h||(k=i[h+4>>2],i[h+4>>2]=k-1,k))break o;V[i[i[h>>2]+8>>2]](h),g(h)}if(B=w+32|0,t=i[u+68>>2],k=i[u+64>>2],i[u+96>>2]=k,i[u+100>>2]=t,l[u+115|0]<0&&(G(i[u+104>>2]),k=i[u+96>>2]),t=i[u+76>>2],i[u+104>>2]=i[u+72>>2],i[u+108>>2]=t,i[u+112>>2]=i[u+80>>2],!k)break e;e=i[u+100>>2],i[f>>2]=i[u+96>>2],i[f+4>>2]=e,i[f+16>>2]=i[u+112>>2],e=i[u+108>>2],i[f+8>>2]=i[u+104>>2],i[f+12>>2]=e,i[u+104>>2]=0,i[u+108>>2]=0,i[u+112>>2]=0;break r}if((s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24))==1819701097){if(i[u+8>>2]=0,i[u>>2]=0,i[u+4>>2]=0,w8(u- -64|0,i[e+48>>2],r,u),t=i[u+68>>2],k=i[u+64>>2],i[u+96>>2]=k,i[u+100>>2]=t,l[u+115|0]<0&&(G(i[u+104>>2]),k=i[u+96>>2]),t=i[u+76>>2],i[u+104>>2]=i[u+72>>2],i[u+108>>2]=t,i[u+112>>2]=i[u+80>>2],k)break k;W=B-112|0,B=W,k=i[e+48>>2],t=i[k+76>>2],a=i[k+80>>2],a&&(i[a+4>>2]=i[a+4>>2]+1),I=u- -64|0;o:{if(!t){if(o=U(56),i[W+68>>2]=o,i[W+72>>2]=48,i[W+76>>2]=-2147483592,t=s[10723]|s[10724]<<8|(s[10725]<<16|s[10726]<<24),k=s[10719]|s[10720]<<8|(s[10721]<<16|s[10722]<<24),l[o|0]=k,l[o+1|0]=k>>>8,l[o+2|0]=k>>>16,l[o+3|0]=k>>>24,l[o+4|0]=t,l[o+5|0]=t>>>8,l[o+6|0]=t>>>16,l[o+7|0]=t>>>24,l[o+48|0]=0,t=s[10763]|s[10764]<<8|(s[10765]<<16|s[10766]<<24),k=s[10759]|s[10760]<<8|(s[10761]<<16|s[10762]<<24),l[o+40|0]=k,l[o+41|0]=k>>>8,l[o+42|0]=k>>>16,l[o+43|0]=k>>>24,l[o+44|0]=t,l[o+45|0]=t>>>8,l[o+46|0]=t>>>16,l[o+47|0]=t>>>24,t=s[10755]|s[10756]<<8|(s[10757]<<16|s[10758]<<24),k=s[10751]|s[10752]<<8|(s[10753]<<16|s[10754]<<24),l[o+32|0]=k,l[o+33|0]=k>>>8,l[o+34|0]=k>>>16,l[o+35|0]=k>>>24,l[o+36|0]=t,l[o+37|0]=t>>>8,l[o+38|0]=t>>>16,l[o+39|0]=t>>>24,t=s[10747]|s[10748]<<8|(s[10749]<<16|s[10750]<<24),k=s[10743]|s[10744]<<8|(s[10745]<<16|s[10746]<<24),l[o+24|0]=k,l[o+25|0]=k>>>8,l[o+26|0]=k>>>16,l[o+27|0]=k>>>24,l[o+28|0]=t,l[o+29|0]=t>>>8,l[o+30|0]=t>>>16,l[o+31|0]=t>>>24,t=s[10739]|s[10740]<<8|(s[10741]<<16|s[10742]<<24),k=s[10735]|s[10736]<<8|(s[10737]<<16|s[10738]<<24),l[o+16|0]=k,l[o+17|0]=k>>>8,l[o+18|0]=k>>>16,l[o+19|0]=k>>>24,l[o+20|0]=t,l[o+21|0]=t>>>8,l[o+22|0]=t>>>16,l[o+23|0]=t>>>24,t=s[10731]|s[10732]<<8|(s[10733]<<16|s[10734]<<24),k=s[10727]|s[10728]<<8|(s[10729]<<16|s[10730]<<24),l[o+8|0]=k,l[o+9|0]=k>>>8,l[o+10|0]=k>>>16,l[o+11|0]=k>>>24,l[o+12|0]=t,l[o+13|0]=t>>>8,l[o+14|0]=t>>>16,l[o+15|0]=t>>>24,r0(I,2,113,W+68|0),l[W+79|0]>=0)break o;G(i[W+68>>2]);break o}oi(W+100|0,t,r),i[W+96>>2]=0,i[W+88>>2]=0,i[W+92>>2]=0,w=W+68|0,H=i[W+104>>2]-i[W+100>>2]>>2,_=0,R=B-192|0,B=R,o=U(32),i[R+24>>2]=o,i[R+28>>2]=29,i[R+32>>2]=-2147483616,t=s[9309]|s[9310]<<8|(s[9311]<<16|s[9312]<<24),k=s[9305]|s[9306]<<8|(s[9307]<<16|s[9308]<<24),l[o+21|0]=k,l[o+22|0]=k>>>8,l[o+23|0]=k>>>16,l[o+24|0]=k>>>24,l[o+25|0]=t,l[o+26|0]=t>>>8,l[o+27|0]=t>>>16,l[o+28|0]=t>>>24,t=s[9304]|s[9305]<<8|(s[9306]<<16|s[9307]<<24),k=s[9300]|s[9301]<<8|(s[9302]<<16|s[9303]<<24),l[o+16|0]=k,l[o+17|0]=k>>>8,l[o+18|0]=k>>>16,l[o+19|0]=k>>>24,l[o+20|0]=t,l[o+21|0]=t>>>8,l[o+22|0]=t>>>16,l[o+23|0]=t>>>24,t=s[9296]|s[9297]<<8|(s[9298]<<16|s[9299]<<24),k=s[9292]|s[9293]<<8|(s[9294]<<16|s[9295]<<24),l[o+8|0]=k,l[o+9|0]=k>>>8,l[o+10|0]=k>>>16,l[o+11|0]=k>>>24,l[o+12|0]=t,l[o+13|0]=t>>>8,l[o+14|0]=t>>>16,l[o+15|0]=t>>>24,t=s[9288]|s[9289]<<8|(s[9290]<<16|s[9291]<<24),k=s[9284]|s[9285]<<8|(s[9286]<<16|s[9287]<<24),l[o|0]=k,l[o+1|0]=k>>>8,l[o+2|0]=k>>>16,l[o+3|0]=k>>>24,l[o+4|0]=t,l[o+5|0]=t>>>8,l[o+6|0]=t>>>16,l[o+7|0]=t>>>24,l[o+29|0]=0,o=r0(R+168|0,2,121,R+24|0),l[R+35|0]<0&&G(i[R+24>>2]),d=W+48|0,t=i[u>>2],h=i[u+4>>2]-t|0;u:{if(h>>>0<=9){k=i[o+4>>2],i[d>>2]=i[o>>2],i[d+4>>2]=k,i[d+16>>2]=i[o+16>>2],k=i[o+12>>2],i[d+8>>2]=i[o+8>>2],i[d+12>>2]=k,i[o+16>>2]=0,i[o+8>>2]=0,i[o+12>>2]=0;break u}if(k=s[t|0],l[w|0]=k,k){i[R+32>>2]=54496,i[R+88>>2]=54516,k=i[13633],i[R+24>>2]=k,_=R+24|0,i[_+i[k-12>>2]>>2]=i[13634],i[R+28>>2]=0,k=_+i[i[R+24>>2]-12>>2]|0,h=R+36|0,b0(k,h),i[k+72>>2]=0,i[k+76>>2]=-1,k=i[13635],i[R+32>>2]=k,t=R+32|0,i[t+i[k-12>>2]>>2]=i[13636],k=i[13632],i[R+24>>2]=k,i[_+i[k-12>>2]>>2]=i[13637],i[R+88>>2]=54516,i[R+24>>2]=54476,i[R+32>>2]=54496,h=$0(h),i[h>>2]=53552,i[R+76>>2]=0,i[R+80>>2]=0,i[R+68>>2]=0,i[R+72>>2]=0,i[R+84>>2]=24,x(H0(x(t,18932,27),s[w|0]),3320,23),k=R+12|0,i2(k,h),r0(d,4,3002,k),l[R+23|0]<0&&G(i[R+12>>2]),k=i[13631],i[R+24>>2]=k,i[i[k-12>>2]+(R+24|0)>>2]=i[13639],i[R+32>>2]=i[13640],i[h>>2]=53552,l[R+79|0]<0&&G(i[R+68>>2]),K0(h),T0(R+88|0);break u}if(t=s[t+1|0],l[w+1|0]=t,k=10,z=t&1,f0=z?4:2,y=f0<<1,t=y+10|0,h>>>0>=t+(H<<1<<(z?2:1))>>>0){if(h=i[u>>2],h=s[h+2|0]|s[h+3|0]<<8,X[w+2>>1]=h<<8|h>>>8,h=i[u>>2],h=s[h+4|0]|s[h+5|0]<<8,X[w+4>>1]=h<<8|h>>>8,h=i[u>>2],h=s[h+6|0]|s[h+7|0]<<8,X[w+6>>1]=h<<8|h>>>8,h=i[u>>2],h=s[h+8|0]|s[h+9|0]<<8,X[w+8>>1]=h<<8|h>>>8,C=i[u>>2],z){for(Z=f0&4;h=k,k=k+4|0,_=_+4|0,(Z|0)!=(_|0););h=h+C|0,_=(s[h|0]<<16|s[h+1|0]<<8|s[h+2|0])<<8|s[h+3|0]}if(h=f0&2,h)for(;_=s[k+C|0]|_<<8,k=k+1|0,S=S+1|0,(h|0)!=(S|0););if(i[w+12>>2]=_,p=f0&2,k=f0+10|0,C=i[u>>2],z){for(Z=f0&4,S=0;h=k,k=k+4|0,S=S+4|0,(Z|0)!=(S|0););h=h+C|0,S=(s[h|0]<<16|s[h+1|0]<<8|s[h+2|0])<<8|s[h+3|0]}else S=0;if(p)for(;S=s[k+C|0]|S<<8,k=k+1|0,J=J+1|0,(p|0)!=(J|0););if(i[w+16>>2]=S,!(S&&_)){if(h=U(48),i[R+24>>2]=h,i[R+28>>2]=40,i[R+32>>2]=-2147483600,t=s[17511]|s[17512]<<8|(s[17513]<<16|s[17514]<<24),k=s[17507]|s[17508]<<8|(s[17509]<<16|s[17510]<<24),l[h|0]=k,l[h+1|0]=k>>>8,l[h+2|0]=k>>>16,l[h+3|0]=k>>>24,l[h+4|0]=t,l[h+5|0]=t>>>8,l[h+6|0]=t>>>16,l[h+7|0]=t>>>24,l[h+40|0]=0,t=s[17543]|s[17544]<<8|(s[17545]<<16|s[17546]<<24),k=s[17539]|s[17540]<<8|(s[17541]<<16|s[17542]<<24),l[h+32|0]=k,l[h+33|0]=k>>>8,l[h+34|0]=k>>>16,l[h+35|0]=k>>>24,l[h+36|0]=t,l[h+37|0]=t>>>8,l[h+38|0]=t>>>16,l[h+39|0]=t>>>24,t=s[17535]|s[17536]<<8|(s[17537]<<16|s[17538]<<24),k=s[17531]|s[17532]<<8|(s[17533]<<16|s[17534]<<24),l[h+24|0]=k,l[h+25|0]=k>>>8,l[h+26|0]=k>>>16,l[h+27|0]=k>>>24,l[h+28|0]=t,l[h+29|0]=t>>>8,l[h+30|0]=t>>>16,l[h+31|0]=t>>>24,t=s[17527]|s[17528]<<8|(s[17529]<<16|s[17530]<<24),k=s[17523]|s[17524]<<8|(s[17525]<<16|s[17526]<<24),l[h+16|0]=k,l[h+17|0]=k>>>8,l[h+18|0]=k>>>16,l[h+19|0]=k>>>24,l[h+20|0]=t,l[h+21|0]=t>>>8,l[h+22|0]=t>>>16,l[h+23|0]=t>>>24,t=s[17519]|s[17520]<<8|(s[17521]<<16|s[17522]<<24),k=s[17515]|s[17516]<<8|(s[17517]<<16|s[17518]<<24),l[h+8|0]=k,l[h+9|0]=k>>>8,l[h+10|0]=k>>>16,l[h+11|0]=k>>>24,l[h+12|0]=t,l[h+13|0]=t>>>8,l[h+14|0]=t>>>16,l[h+15|0]=t>>>24,r0(d,2,121,R+24|0),l[R+35|0]>=0)break u;G(i[R+24>>2]);break u}_=w+20|0,k=i[w+20>>2],h=i[w+24>>2]-k>>3;l:{s:{if(h>>>0<H>>>0){SA(_,H-h|0);break s}if(h>>>0>H>>>0&&(i[w+24>>2]=k+(H<<3)),!H)break l}for(X0=f0&4,Q0=f0&2,I0=128<<(f0<<3)-8,E=I0^-1,C=i[_>>2];;){if(S=i[u>>2],k=t,J=0,_=0,z){for(;h=k,k=k+4|0,J=J+4|0,(X0|0)!=(J|0););h=h+S|0,w=(s[h|0]<<16|s[h+1|0]<<8|s[h+2|0])<<8,_=w|s[h+3|0]}if(J=0,Q0)for(;w=_<<8,_=w|s[k+S|0],k=k+1|0,J=J+1|0,(Q0|0)!=(J|0););if(J=0,Z=C+(F0<<3)|0,i[Z>>2]=(_&E)-(w&I0?I0:0),k=t+f0|0,p=i[u>>2],w=0,_=0,z){for(;h=k,k=k+4|0,w=w+4|0,(X0|0)!=(w|0););h=h+p|0,S=(s[h|0]<<16|s[h+1|0]<<8|s[h+2|0])<<8,_=S|s[h+3|0]}if(Q0)for(;S=_<<8,_=S|s[k+p|0],k=k+1|0,J=J+1|0,(Q0|0)!=(J|0););if(i[Z+4>>2]=(_&E)-(S&I0?I0:0),t=t+y|0,F0=F0+1|0,(H|0)==(F0|0))break}}if(k=i[19565],i[d>>2]=i[19564],i[d+4>>2]=k,t=d+8|0,l[78275]>=0){k=i[19567],i[t>>2]=i[19566],i[t+4>>2]=k,i[t+8>>2]=i[19568];break u}_0(t,i[19566],i[19567]);break u}k=i[o+4>>2],i[d>>2]=i[o>>2],i[d+4>>2]=k,i[d+16>>2]=i[o+16>>2],k=i[o+12>>2],i[d+8>>2]=i[o+8>>2],i[d+12>>2]=k,i[o+16>>2]=0,i[o+8>>2]=0,i[o+12>>2]=0}l[o+19|0]<0&&G(i[o+8>>2]),B=R+192|0;u:{if(i[W+48>>2]){k=i[W+52>>2],i[I>>2]=i[W+48>>2],i[I+4>>2]=k,t=W- -64|0,i[I+16>>2]=i[t>>2],k=i[W+60>>2],i[I+8>>2]=i[W+56>>2],i[I+12>>2]=k,i[t>>2]=0,i[W+56>>2]=0,i[W+60>>2]=0;break u}if(i[W+104>>2]-i[W+100>>2]>>2!=i[W+92>>2]-i[W+88>>2]>>3){if(k=U(72),i[W+24>>2]=k,i[W+28>>2]=69,i[W+32>>2]=-2147483576,c0=l0(k,4597,69),r2=0,l[c0+69|0]=r2,r0(I,2,121,W+24|0),l[W+35|0]>=0)break u;G(i[W+24>>2]);break u}if(_=i[W+80>>2],w=i[W+84>>2],l6(W+24|0,e,_,w),t=i[W+28>>2],k=i[W+24>>2],i[W+48>>2]=k,i[W+52>>2]=t,v=W+56|0,l[W+67|0]<0&&(G(i[W+56>>2]),k=i[W+48>>2]),t=i[W+36>>2],i[v>>2]=i[W+32>>2],i[v+4>>2]=t,i[v+8>>2]=i[W+40>>2],k){k=i[W+52>>2],i[I>>2]=i[W+48>>2],i[I+4>>2]=k,i[I+16>>2]=i[v+8>>2],k=i[v+4>>2],i[I+8>>2]=i[v>>2],i[I+12>>2]=k,i[v>>2]=0,i[v+4>>2]=0,i[v+8>>2]=0;break u}k=U(136),i[k+4>>2]=0,i[k+8>>2]=0,i[k>>2]=72792,B0(k+20|0,0,104),h=i[k+4>>2],o=h+1|0,i[k+4>>2]=o,i[k+56>>2]=0,i[k+60>>2]=0,i[k+44>>2]=99,i[k+48>>2]=99,i[k+32>>2]=34648,t=k- -64|0,i[t>>2]=0,i[t+4>>2]=0,i[k+132>>2]=0,i[k+124>>2]=0,i[k+128>>2]=0,i[k+84>>2]=1,i[k+88>>2]=1,i[k+72>>2]=k+76,i[k+92>>2]=0,i[k+96>>2]=0,i[k+100>>2]=0,i[k+104>>2]=0,i[k+108>>2]=0,i[k+112>>2]=0,l[k+113|0]=0,l[k+114|0]=0,l[k+115|0]=0,l[k+116|0]=0,l[k+117|0]=0,l[k+118|0]=0,l[k+119|0]=0,l[k+120|0]=0,t=k+12|0,i[k+12>>2]=t,i[k+8>>2]=i[k+8>>2]+1,i[k+4>>2]=h,i[k+16>>2]=k,o||(V[i[i[k>>2]+8>>2]](k),g(k)),i[A>>2]=t,t=i[A+4>>2],i[A+4>>2]=k;l:{if(!t||(k=i[t+4>>2],i[t+4>>2]=k-1,k))break l;V[i[i[t>>2]+8>>2]](t),g(t)}k=i[A>>2],i[k+36>>2]=3,i[k+32>>2]=1,i[k+28>>2]=w,i[k+24>>2]=_,J0(i[A>>2],3,_,w,8),J0(i[A>>2],4,_,w,8),J0(i[A>>2],5,_,w,8),y=W+24|0,C=Q[W+70>>1],_=Q[W+72>>1],w=Q[W+74>>1],Z=Q[W+76>>1],p=B-16|0,B=p;l:{s:{if(k=i[A>>2],o=i[k+64>>2],!o)break s;for(t=k- -64|0,k=t;h=i[o+16>>2]<3,k=h?k:o,o=i[(h<<2)+o>>2],!!o;);if((k|0)==(t|0)|i[k+16>>2]>=4)break s;_=_>>>8|0,w=w>>>8|0,Z=Z>>>8|0,h=C>>>8|0;h:{if(s[k+20|0]!=8)break h;if(B0(i[k+40>>2],h,m(i[k+28>>2],i[k+48>>2])),o=i[t>>2],!o)break s;for(k=t;h=i[o+16>>2]<4,k=h?k:o,o=i[(h<<2)+o>>2],!!o;);if((k|0)==(t|0)|i[k+16>>2]>4)break s;if(s[k+20|0]!=8)break h;if(B0(i[k+40>>2],_,m(i[k+28>>2],i[k+48>>2])),o=i[t>>2],!o)break s;for(k=t;h=i[o+16>>2]<5,k=h?k:o,o=i[(h<<2)+o>>2],!!o;);if((k|0)==(t|0)|i[k+16>>2]>5)break s;if(s[k+20|0]!=8)break h;B0(i[k+40>>2],w,m(i[k+28>>2],i[k+48>>2])),o=i[t>>2];w:{if(!o)break w;for(k=t;h=i[o+16>>2]<6,k=h?k:o,o=i[(h<<2)+o>>2],!!o;);if((k|0)==(t|0)|i[k+16>>2]>6)break w;if(s[k+20|0]!=8)break h;if(o=i[k+48>>2],t=i[k+28>>2],h=m(o,t),k=i[k+40>>2],t>>>0>=4294967295/(o>>>0)>>>0){B0(k,Z,h);break w}B0(k,Z,h)}if(k=i[19565],i[y>>2]=i[19564],i[y+4>>2]=k,t=y+8|0,l[78275]>=0){k=i[19567],i[t>>2]=i[19566],i[t+4>>2]=k,i[t+8>>2]=i[19568];break l}_0(t,i[19566],i[19567]);break l}if(o=U(56),i[p+4>>2]=o,i[p+8>>2]=52,i[p+12>>2]=-2147483592,t=s[7647]|s[7648]<<8|(s[7649]<<16|s[7650]<<24),k=s[7643]|s[7644]<<8|(s[7645]<<16|s[7646]<<24),l[o|0]=k,l[o+1|0]=k>>>8,l[o+2|0]=k>>>16,l[o+3|0]=k>>>24,l[o+4|0]=t,l[o+5|0]=t>>>8,l[o+6|0]=t>>>16,l[o+7|0]=t>>>24,l[o+52|0]=0,k=s[7691]|s[7692]<<8|(s[7693]<<16|s[7694]<<24),l[o+48|0]=k,l[o+49|0]=k>>>8,l[o+50|0]=k>>>16,l[o+51|0]=k>>>24,t=s[7687]|s[7688]<<8|(s[7689]<<16|s[7690]<<24),k=s[7683]|s[7684]<<8|(s[7685]<<16|s[7686]<<24),l[o+40|0]=k,l[o+41|0]=k>>>8,l[o+42|0]=k>>>16,l[o+43|0]=k>>>24,l[o+44|0]=t,l[o+45|0]=t>>>8,l[o+46|0]=t>>>16,l[o+47|0]=t>>>24,t=s[7679]|s[7680]<<8|(s[7681]<<16|s[7682]<<24),k=s[7675]|s[7676]<<8|(s[7677]<<16|s[7678]<<24),l[o+32|0]=k,l[o+33|0]=k>>>8,l[o+34|0]=k>>>16,l[o+35|0]=k>>>24,l[o+36|0]=t,l[o+37|0]=t>>>8,l[o+38|0]=t>>>16,l[o+39|0]=t>>>24,t=s[7671]|s[7672]<<8|(s[7673]<<16|s[7674]<<24),k=s[7667]|s[7668]<<8|(s[7669]<<16|s[7670]<<24),l[o+24|0]=k,l[o+25|0]=k>>>8,l[o+26|0]=k>>>16,l[o+27|0]=k>>>24,l[o+28|0]=t,l[o+29|0]=t>>>8,l[o+30|0]=t>>>16,l[o+31|0]=t>>>24,t=s[7663]|s[7664]<<8|(s[7665]<<16|s[7666]<<24),k=s[7659]|s[7660]<<8|(s[7661]<<16|s[7662]<<24),l[o+16|0]=k,l[o+17|0]=k>>>8,l[o+18|0]=k>>>16,l[o+19|0]=k>>>24,l[o+20|0]=t,l[o+21|0]=t>>>8,l[o+22|0]=t>>>16,l[o+23|0]=t>>>24,t=s[7655]|s[7656]<<8|(s[7657]<<16|s[7658]<<24),k=s[7651]|s[7652]<<8|(s[7653]<<16|s[7654]<<24),l[o+8|0]=k,l[o+9|0]=k>>>8,l[o+10|0]=k>>>16,l[o+11|0]=k>>>24,l[o+12|0]=t,l[o+13|0]=t>>>8,l[o+14|0]=t>>>16,l[o+15|0]=t>>>24,r0(y,4,0,p+4|0),l[p+15|0]>=0)break l;G(i[p+4>>2]);break l}if(l[p+4|0]=0,l[p+15|0]=0,r0(y,5,2002,p+4|0),l[p+15|0]>=0)break l;G(i[p+4>>2])}B=p+16|0,t=i[W+28>>2],k=i[W+24>>2],i[W+48>>2]=k,i[W+52>>2]=t,l[W+67|0]<0&&(G(i[W+56>>2]),k=i[W+48>>2]),t=i[W+36>>2],i[v>>2]=i[W+32>>2],i[v+4>>2]=t,i[v+8>>2]=i[W+40>>2];l:{s:{if(!k){if(h=i[W+100>>2],(h|0)==i[W+104>>2])break l;L=n+28|0,w=0;break s}k=i[W+52>>2],i[I>>2]=i[W+48>>2],i[I+4>>2]=k,i[I+16>>2]=i[v+8>>2],k=i[v+4>>2],i[I+8>>2]=i[v>>2],i[I+12>>2]=k,i[v>>2]=0,i[v+4>>2]=0,i[v+8>>2]=0;break u}for(;;){i[W+16>>2]=0,i[W+20>>2]=0,f6(W+24|0,e,i[(w<<2)+h>>2],W+16|0,1,n,0),t=i[W+28>>2],k=i[W+24>>2],i[W+48>>2]=k,i[W+52>>2]=t,l[W+67|0]<0&&(G(i[W+56>>2]),k=i[W+48>>2]),t=i[W+36>>2],i[v>>2]=i[W+32>>2],i[v+4>>2]=t,i[v+8>>2]=i[W+40>>2];s:{if((k|0)==i[19564]){i[W+8>>2]=0,i[W+12>>2]=0,N8(W+24|0,W+16|0,1,3,W+8|0,0,L),t=i[W+24>>2],k=i[W+28>>2],i[W+24>>2]=0,i[W+28>>2]=0,o=i[W+20>>2],i[W+16>>2]=t,i[W+20>>2]=k;h:{if(!o||(k=i[o+4>>2],i[o+4>>2]=k-1,k||(V[i[i[o>>2]+8>>2]](o),g(o)),t=i[W+28>>2],!t)||(k=i[t+4>>2],i[t+4>>2]=k-1,k))break h;V[i[i[t>>2]+8>>2]](t),g(t)}t=i[W+12>>2];h:{if(!t||(k=i[t+4>>2],i[t+4>>2]=k-1,k))break h;V[i[i[t>>2]+8>>2]](t),g(t)}if(!i[W+16>>2]){l[W+24|0]=0,l[W+35|0]=0,r0(I,4,3003,W+24|0),l[W+35|0]<0&&G(i[W+24>>2]),h=0;break s}if(C=i[A>>2],k=i[W+88>>2]+(w<<3)|0,z=i[k>>2],Q0=i[k+4>>2],Y0=0,h0=B-16|0,B=h0,k=i[W+16>>2],I0=h0+8|0,i[h0+4>>2]=I0,i[h0+8>>2]=0,i[h0+12>>2]=0,q=W+24|0,t=i[k+60>>2],_=k- -64|0,(t|0)!=(_|0)){for(;;){Z=i[t+16>>2],h=I0,k=h,o=i[h0+8>>2];h:{w:{if(!o)break w;for(;;){if(k=o,o=i[k+16>>2],(o|0)>(Z|0)){if(h=k,o=i[k>>2],o)continue;break w}if((o|0)>=(Z|0))break h;if(o=i[k+4>>2],!o)break}h=k+4|0}o=U(20),i[o+8>>2]=k,i[o>>2]=0,i[o+4>>2]=0,i[o+16>>2]=Z,i[h>>2]=o,k=i[i[h0+4>>2]>>2],k&&(i[h0+4>>2]=k,o=i[h>>2]),D1(i[h0+8>>2],o),i[h0+12>>2]=i[h0+12>>2]+1}o=i[t+4>>2];h:{if(o){for(;;)if(k=o,o=i[k>>2],!o)break h}for(;k=i[t+8>>2],o=i[k>>2]!=(t|0),t=k,!!o;);}if(t=k,(k|0)==(_|0))break}k=i[W+16>>2]}Z=k- -64|0,k=i[k+64>>2];h:{w:{if(!k)break w;for(t=Z,o=k;h=i[o+16>>2]<6,t=h?t:o,o=i[(h<<2)+o>>2],!!o;);if((t|0)==(Z|0))break w;if(i[t+16>>2]<7)break h}t=Z}h:{if(!k)break h;for(o=Z;h=i[k+16>>2]<6,o=h?o:k,k=i[(h<<2)+k>>2],!!k;);if((o|0)==(Z|0)|i[o+16>>2]>6)break h;Y0=i[o+40>>2]}h:{w:{if(h=i[h0+4>>2],(I0|0)==(h|0)||(o=i[C+64>>2],!o))break w;for(X0=0-Q0|0,E=0-z|0,_=C- -64|0,R=(z|0)<=0,d=(z|0)>=0,f0=(t|0)!=(Z|0);;){_:{if(!o)break _;for(H=i[h+16>>2],t=_,k=o;Z=(H|0)>i[k+16>>2],t=Z?t:k,k=i[(Z<<2)+k>>2],!!k;);if((t|0)==(_|0)|(H|0)<i[t+16>>2])break _;k=i[W+16>>2],Z=k- -64|0,C=Z;v:{Z:{if(t=i[k+64>>2],k=t,!k)break Z;for(;y=(H|0)>i[k+16>>2],C=y?C:k,k=i[(y<<2)+k>>2],!!k;);if((Z|0)==(C|0))break Z;if(F0=0,p=0,(H|0)<i[C+16>>2])break v;F0=i[C+48>>2],p=i[C+40>>2];break v}F0=0,p=0}for(C=_,k=o;y=(H|0)>i[k+16>>2],C=y?C:k,k=i[(y<<2)+k>>2],!!k;);v:{if((_|0)==(C|0)){S=0,y=0;break v}if(S=0,y=0,(H|0)<i[C+16>>2])break v;S=i[C+40>>2],y=i[C+48>>2]}C=Z,k=t;v:{if(!k){D=-1,A0=-1;break v}for(;J=(H|0)>i[k+16>>2],C=J?C:k,k=i[(J<<2)+k>>2],!!k;);for(D=-1,D=(Z|0)==(C|0)|(H|0)<i[C+16>>2]?D:i[C+24>>2],k=Z;C=(H|0)>i[t+16>>2],k=C?k:t,t=i[(C<<2)+t>>2],!!t;);if(A0=-1,(k|0)==(Z|0)|(H|0)<i[k+16>>2])break v;A0=i[k+28>>2]}for(t=_,k=o;Z=(H|0)>i[k+16>>2],t=Z?t:k,k=i[(Z<<2)+k>>2],!!k;);for(C=-1,C=(t|0)==(_|0)|(H|0)<i[t+16>>2]?C:i[t+24>>2],k=_;t=(H|0)>i[o+16>>2],k=t?k:o,o=i[(t<<2)+o>>2],!!o;);if(t=-1,t=(k|0)==(_|0)|(H|0)<i[k+16>>2]?t:i[k+28>>2],!(C>>>0>z>>>0|R)){if(k=i[19565],i[q>>2]=i[19564],i[q+4>>2]=k,t=q+8|0,l[78275]>=0){k=i[19567],i[t>>2]=i[19566],i[t+4>>2]=k,i[t+8>>2]=i[19568];break h}_0(t,i[19566],i[19567]);break h}if(o=0,d)k=z;else{if(E>>>0>=D>>>0){if(k=i[19565],i[q>>2]=i[19564],i[q+4>>2]=k,t=q+8|0,l[78275]>=0){k=i[19567],i[t>>2]=i[19566],i[t+4>>2]=k,i[t+8>>2]=i[19568];break h}_0(t,i[19566],i[19567]);break h}D=z+D|0,o=E,k=0}if(!((Q0|0)<=0|t>>>0>Q0>>>0)){if(k=i[19565],i[q>>2]=i[19564],i[q+4>>2]=k,t=q+8|0,l[78275]>=0){k=i[19567],i[t>>2]=i[19566],i[t+4>>2]=k,i[t+8>>2]=i[19568];break h}_0(t,i[19566],i[19567]);break h}if(J=0,(Q0|0)>=0)Z=Q0;else{if(A0>>>0<=X0>>>0){if(k=i[19565],i[q>>2]=i[19564],i[q+4>>2]=k,t=q+8|0,l[78275]>=0){k=i[19567],i[t>>2]=i[19566],i[t+4>>2]=k,i[t+8>>2]=i[19568];break h}_0(t,i[19566],i[19567]);break h}A0=A0+Q0|0,J=X0,Z=0}if(H=t-Q0|0,p0=Q0>>>0>(A0^-1)>>>0||A0+Q0>>>0>t>>>0?H:A0,p0>>>0<=J>>>0)break _;if(t=C-z|0,j=z>>>0>(D^-1)>>>0||z+D>>>0>C>>>0?t:D,A0=k+S|0,H=Z-J|0,!f0){for(t=j-o|0,k=o+p|0;l0(A0+m(y,J+H|0)|0,k+m(J,F0)|0,t),J=J+1|0,(p0|0)!=(J|0););break _}if(o>>>0>=j>>>0)break _;for(;;){for(S=m(J,F0)+o|0,C=A0+m(y,J+H|0)|0,k=o;t=k+C|0,D=t,S0=s[t|0],Z=k+S|0,t=s[Z+Y0|0],l[D|0]=(m(S0,t^255)+m(t,s[Z+p|0])>>>0)/255,k=k+1|0,(j|0)!=(k|0););if(J=J+1|0,(p0|0)==(J|0))break}}o=i[h+4>>2];_:{if(o){for(;;)if(k=o,o=i[k>>2],!o)break _}for(;k=i[h+8>>2],t=i[k>>2]!=(h|0),h=k,!!t;);}if((k|0)==(I0|0))break w;o=i[_>>2],h=k}}if(k=i[19565],i[q>>2]=i[19564],i[q+4>>2]=k,t=q+8|0,l[78275]>=0){k=i[19567],i[t>>2]=i[19566],i[t+4>>2]=k,i[t+8>>2]=i[19568];break h}_0(t,i[19566],i[19567])}if(j6(h0+4|0,i[h0+8>>2]),B=h0+16|0,t=i[W+28>>2],k=i[W+24>>2],i[W+48>>2]=k,i[W+52>>2]=t,l[W+67|0]<0&&(G(i[W+56>>2]),k=i[W+48>>2]),t=i[W+36>>2],i[v>>2]=i[W+32>>2],i[v+4>>2]=t,i[v+8>>2]=i[W+40>>2],h=1,!k)break s;if(!((k|0)!=2|i[W+52>>2]!=122)){if(k=i[19565],i[W+48>>2]=i[19564],i[W+52>>2]=k,t=l[78275],l[W+67|0]>=0){if((t|0)>=0){k=i[19567],i[v>>2]=i[19566],i[v+4>>2]=k,i[v+8>>2]=i[19568];break s}i4(v,i[19566],i[19567]);break s}k=(t|0)<0,_4(v,k?i[19566]:78264,k?i[19567]:t);break s}}k=i[W+52>>2],i[I>>2]=i[W+48>>2],i[I+4>>2]=k,i[I+16>>2]=i[v+8>>2],k=i[v+4>>2],i[I+8>>2]=i[v>>2],i[I+12>>2]=k,i[v>>2]=0,i[v+4>>2]=0,h=0,i[v+8>>2]=0}t=i[W+20>>2];s:{if(!t||(k=i[t+4>>2],i[t+4>>2]=k-1,k))break s;V[i[i[t>>2]+8>>2]](t),g(t)}if(!h)break u;if(w=w+1|0,h=i[W+100>>2],!(w>>>0<i[W+104>>2]-h>>2>>>0))break}}k=i[W+52>>2],i[I>>2]=i[W+48>>2],i[I+4>>2]=k,i[I+16>>2]=i[v+8>>2],k=i[v+4>>2],i[I+8>>2]=i[v>>2],i[I+12>>2]=k,i[v>>2]=0,i[v+4>>2]=0,i[v+8>>2]=0}if(l[W+67|0]<0&&G(i[W+56>>2]),k=i[W+88>>2],k&&(i[W+92>>2]=k,G(k)),k=i[W+100>>2],!k)break o;i[W+104>>2]=k,G(k)}o:{if(!a||(k=i[a+4>>2],i[a+4>>2]=k-1,k))break o;V[i[i[a>>2]+8>>2]](a),g(a)}if(B=W+112|0,t=i[u+68>>2],k=i[u+64>>2],i[u+96>>2]=k,i[u+100>>2]=t,l[u+115|0]<0&&(G(i[u+104>>2]),k=i[u+96>>2]),t=i[u+76>>2],i[u+104>>2]=i[u+72>>2],i[u+108>>2]=t,i[u+112>>2]=i[u+80>>2],k)break k;if(k=i[u>>2],!k)break e;i[u+4>>2]=k,G(k);break e}if((s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24))!=1768649581)break t;if(i[u+8>>2]=0,i[u>>2]=0,i[u+4>>2]=0,w8(u- -64|0,i[e+48>>2],r,u),t=i[u+68>>2],k=i[u+64>>2],i[u+96>>2]=k,i[u+100>>2]=t,l[u+115|0]<0&&(G(i[u+104>>2]),k=i[u+96>>2]),t=i[u+76>>2],i[u+104>>2]=i[u+72>>2],i[u+108>>2]=t,i[u+112>>2]=i[u+80>>2],k){k=x(98732,17113,12),A=B-16|0,B=A,r=A+12|0,e=i[(k+i[i[k>>2]-12>>2]|0)+28>>2],i[r>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(r,100192),e=V[i[i[e>>2]+28>>2]](e,10)|0,O0(r),D9(k,e),Ni(k),B=A+16|0;break A}y=u- -64|0,h=0,p=B+-64|0,B=p,i[p+60>>2]=0,i[p+52>>2]=0,i[p+56>>2]=0,k=i[e+48>>2],t=i[e+52>>2];o:{if(!t){I1(p+32|0,k,r,p+52|0);break o}if(i[t+4>>2]=i[t+4>>2]+1,I1(p+32|0,k,r,p+52|0),k=i[t+4>>2],i[t+4>>2]=k-1,k)break o;V[i[i[t>>2]+8>>2]](t),g(t)}o:{if(i[p+32>>2]){k=i[p+36>>2],i[y>>2]=i[p+32>>2],i[y+4>>2]=k,i[y+16>>2]=i[p+48>>2],k=i[p+44>>2],i[y+8>>2]=i[p+40>>2],i[y+12>>2]=k,i[p+48>>2]=0,i[p+40>>2]=0,i[p+44>>2]=0;break o}u:{l:{if(D=i[p+52>>2],Z=i[p+56>>2],(D|0)!=(Z|0)){for(t=0;;){if(h0=i[D>>2],h0){w=0;s:{h:{if(k=N0(h0,68572,68596),!k)break h;if(w=i[D+4>>2],w&&(i[w+4>>2]=i[w+4>>2]+1),Y0=i[k+56>>2],C=i[k+60>>2],l6(p+8|0,e,Y0,C),o=i[p+12>>2],k=i[p+8>>2],i[p+32>>2]=k,i[p+36>>2]=o,l[p+51|0]<0&&(G(i[p+40>>2]),k=i[p+32>>2]),o=i[p+20>>2],i[p+40>>2]=i[p+16>>2],i[p+44>>2]=o,i[p+48>>2]=i[p+24>>2],k){k=i[p+36>>2],i[y>>2]=i[p+32>>2],i[y+4>>2]=k,i[y+16>>2]=i[p+48>>2],k=i[p+44>>2],i[y+8>>2]=i[p+40>>2],i[y+12>>2]=k,i[p+40>>2]=0,i[p+44>>2]=0,_=0,i[p+48>>2]=0;break s}if(E=1,h0=i[D>>2],h0)break h;_=1;break s}if(_=1,k=N0(h0,68572,75128),!k)break s;o=i[D+4>>2],o&&(i[o+4>>2]=i[o+4>>2]+2);h:{if(!h||(t=i[h+4>>2],i[h+4>>2]=t-1,t))break h;V[i[i[h>>2]+8>>2]](h),g(h)}if(!o){h=0,t=k;break s}t=i[o+4>>2],i[o+4>>2]=t-1,t||(V[i[i[o>>2]+8>>2]](o),g(o)),t=k,h=o}s:{if(!w||(k=i[w+4>>2],i[w+4>>2]=k-1,k))break s;V[i[i[w>>2]+8>>2]](w),g(w)}if(!_)break u}if(D=D+8|0,(Z|0)==(D|0))break}if((t|0)!=0&E)break l}if(o=U(40),i[p+8>>2]=o,i[p+12>>2]=35,i[p+16>>2]=-2147483608,t=s[13840]|s[13841]<<8|(s[13842]<<16|s[13843]<<24),k=s[13836]|s[13837]<<8|(s[13838]<<16|s[13839]<<24),l[o|0]=k,l[o+1|0]=k>>>8,l[o+2|0]=k>>>16,l[o+3|0]=k>>>24,l[o+4|0]=t,l[o+5|0]=t>>>8,l[o+6|0]=t>>>16,l[o+7|0]=t>>>24,l[o+35|0]=0,k=s[13867]|s[13868]<<8|(s[13869]<<16|s[13870]<<24),l[o+31|0]=k,l[o+32|0]=k>>>8,l[o+33|0]=k>>>16,l[o+34|0]=k>>>24,t=s[13864]|s[13865]<<8|(s[13866]<<16|s[13867]<<24),k=s[13860]|s[13861]<<8|(s[13862]<<16|s[13863]<<24),l[o+24|0]=k,l[o+25|0]=k>>>8,l[o+26|0]=k>>>16,l[o+27|0]=k>>>24,l[o+28|0]=t,l[o+29|0]=t>>>8,l[o+30|0]=t>>>16,l[o+31|0]=t>>>24,t=s[13856]|s[13857]<<8|(s[13858]<<16|s[13859]<<24),k=s[13852]|s[13853]<<8|(s[13854]<<16|s[13855]<<24),l[o+16|0]=k,l[o+17|0]=k>>>8,l[o+18|0]=k>>>16,l[o+19|0]=k>>>24,l[o+20|0]=t,l[o+21|0]=t>>>8,l[o+22|0]=t>>>16,l[o+23|0]=t>>>24,t=s[13848]|s[13849]<<8|(s[13850]<<16|s[13851]<<24),k=s[13844]|s[13845]<<8|(s[13846]<<16|s[13847]<<24),l[o+8|0]=k,l[o+9|0]=k>>>8,l[o+10|0]=k>>>16,l[o+11|0]=k>>>24,l[o+12|0]=t,l[o+13|0]=t>>>8,l[o+14|0]=t>>>16,l[o+15|0]=t>>>24,r0(y,4,3002,p+8|0),l[p+19|0]>=0)break u;G(i[p+8>>2]);break u}l:switch(s[t+56|0]-8|0){default:if(k=C1(p+8|0,7329),r0(y,4,3002,k),l[k+11|0]>=0)break u;G(i[k>>2]);break u;case 0:case 8:break l}if(i[u+4>>2]-i[u>>2]>>>0<m(C,Y0)>>>0){if(o=U(32),i[p+8>>2]=o,i[p+12>>2]=28,i[p+16>>2]=-2147483616,t=s[2982]|s[2983]<<8|(s[2984]<<16|s[2985]<<24),k=s[2978]|s[2979]<<8|(s[2980]<<16|s[2981]<<24),l[o|0]=k,l[o+1|0]=k>>>8,l[o+2|0]=k>>>16,l[o+3|0]=k>>>24,l[o+4|0]=t,l[o+5|0]=t>>>8,l[o+6|0]=t>>>16,l[o+7|0]=t>>>24,l[o+28|0]=0,k=s[3002]|s[3003]<<8|(s[3004]<<16|s[3005]<<24),l[o+24|0]=k,l[o+25|0]=k>>>8,l[o+26|0]=k>>>16,l[o+27|0]=k>>>24,t=s[2998]|s[2999]<<8|(s[3e3]<<16|s[3001]<<24),k=s[2994]|s[2995]<<8|(s[2996]<<16|s[2997]<<24),l[o+16|0]=k,l[o+17|0]=k>>>8,l[o+18|0]=k>>>16,l[o+19|0]=k>>>24,l[o+20|0]=t,l[o+21|0]=t>>>8,l[o+22|0]=t>>>16,l[o+23|0]=t>>>24,t=s[2990]|s[2991]<<8|(s[2992]<<16|s[2993]<<24),k=s[2986]|s[2987]<<8|(s[2988]<<16|s[2989]<<24),l[o+8|0]=k,l[o+9|0]=k>>>8,l[o+10|0]=k>>>16,l[o+11|0]=k>>>24,l[o+12|0]=t,l[o+13|0]=t>>>8,l[o+14|0]=t>>>16,l[o+15|0]=t>>>24,r0(y,2,0,p+8|0),l[p+19|0]>=0)break u;G(i[p+8>>2]);break u}k=U(136),i[k+4>>2]=0,i[k+8>>2]=0,i[k>>2]=72792,B0(k+20|0,0,104),_=i[k+4>>2],w=_+1|0,i[k+4>>2]=w,i[k+56>>2]=0,i[k+60>>2]=0,i[k+44>>2]=99,i[k+48>>2]=99,i[k+32>>2]=3795,o=k- -64|0,i[o>>2]=0,i[o+4>>2]=0,i[k+132>>2]=0,i[k+124>>2]=0,i[k+128>>2]=0,i[k+84>>2]=1,i[k+88>>2]=1,i[k+72>>2]=k+76,i[k+92>>2]=0,i[k+96>>2]=0,i[k+100>>2]=0,i[k+104>>2]=0,i[k+108>>2]=0,i[k+112>>2]=0,l[k+113|0]=0,l[k+114|0]=0,l[k+115|0]=0,l[k+116|0]=0,l[k+117|0]=0,l[k+118|0]=0,l[k+119|0]=0,l[k+120|0]=0,o=k+12|0,i[k+12>>2]=o,i[k+8>>2]=i[k+8>>2]+1,i[k+4>>2]=_,i[k+16>>2]=k,w||(V[i[i[k>>2]+8>>2]](k),g(k)),i[A>>2]=o,o=i[A+4>>2],i[A+4>>2]=k;l:{if(!o||(k=i[o+4>>2],i[o+4>>2]=k-1,k))break l;V[i[i[o>>2]+8>>2]](o),g(o)}k=i[A>>2],i[k+36>>2]=0,i[k+32>>2]=2,i[k+28>>2]=C,i[k+24>>2]=Y0,J0(i[A>>2],0,Y0,C,s[t+56|0]),o=v0(i[A>>2],0,p+8|0);l:{if(i[p+8>>2]!=(Y0|0)){if(!C)break l;if(D=0,(C|0)!=1)for(t=C&-2,h0=0;l0(o+m(i[p+8>>2],D)|0,i[u>>2]+m(D,Y0)|0,Y0),k=D|1,l0(o+m(k,i[p+8>>2])|0,i[u>>2]+m(k,Y0)|0,Y0),D=D+2|0,h0=h0+2|0,(t|0)!=(h0|0););if(!(C&1))break l;l0(o+m(i[p+8>>2],D)|0,i[u>>2]+m(D,Y0)|0,Y0);break l}k=i[u>>2],l0(o,k,i[u+4>>2]-k|0)}if(k=i[19565],i[y>>2]=i[19564],i[y+4>>2]=k,t=y+8|0,l[78275]>=0){k=i[19567],i[t>>2]=i[19566],i[t+4>>2]=k,i[t+8>>2]=i[19568];break u}_0(t,i[19566],i[19567])}if(!h||(k=i[h+4>>2],i[h+4>>2]=k-1,k))break o;V[i[i[h>>2]+8>>2]](h),g(h)}if(l[p+51|0]<0&&G(i[p+40>>2]),k=i[p+52>>2],k){if(D=i[p+56>>2],w=k,(D|0)!=(k|0)){for(;;){o=i[D-4>>2];o:{if(!o||(t=i[o+4>>2],i[o+4>>2]=t-1,t))break o;V[i[i[o>>2]+8>>2]](o),g(o)}if(D=D-8|0,(k|0)==(D|0))break}w=i[p+52>>2]}i[p+56>>2]=k,G(w)}if(B=p- -64|0,t=i[u+68>>2],k=i[u+64>>2],i[u+96>>2]=k,i[u+100>>2]=t,l[u+115|0]<0&&(G(i[u+104>>2]),k=i[u+96>>2]),t=i[u+76>>2],i[u+104>>2]=i[u+72>>2],i[u+108>>2]=t,i[u+112>>2]=i[u+80>>2],k)break A;if(k=i[u>>2],!k)break e;i[u+4>>2]=k,G(k);break e}if(e=f,f=C1(u- -64|0,31341),r0(e,4,3001,f),l[f+11|0]>=0)break r;G(i[f>>2]);break r}if(e=i[u+100>>2],i[f>>2]=i[u+96>>2],i[f+4>>2]=e,i[f+16>>2]=i[u+112>>2],e=i[u+108>>2],i[f+8>>2]=i[u+104>>2],i[f+12>>2]=e,i[u+104>>2]=0,i[u+108>>2]=0,i[u+112>>2]=0,f=i[u>>2],!f)break r;i[u+4>>2]=f,G(f);break r}if(e=i[u+100>>2],i[f>>2]=i[u+96>>2],i[f+4>>2]=e,i[f+16>>2]=i[u+112>>2],e=i[u+108>>2],i[f+8>>2]=i[u+104>>2],i[f+12>>2]=e,i[u+104>>2]=0,i[u+108>>2]=0,i[u+112>>2]=0,f=i[u>>2],!f)break r;i[u+4>>2]=f,G(f);break r}c2(),P()}if(e=i[u+100>>2],i[f>>2]=i[u+96>>2],i[f+4>>2]=e,i[f+16>>2]=i[u+112>>2],e=i[u+108>>2],i[f+8>>2]=i[u+104>>2],i[f+12>>2]=e,i[u+104>>2]=0,i[u+108>>2]=0,i[u+112>>2]=0,f=i[u>>2],!f)break r;i[u+4>>2]=f,G(f);break r}e:{if(!s[n+1|0]){if(i[u+8>>2]=0,i[u>>2]=0,i[u+4>>2]=0,t=i[e+48>>2],k=i[t+44>>2],i[u+48>>2]=k,o=i[t+48>>2],i[u+52>>2]=o,o&&(i[o+4>>2]=i[o+4>>2]+1,t=i[e+48>>2]),i[u+36>>2]=i[t+52>>2],t=i[t+56>>2],i[u+40>>2]=t,t&&(i[t+4>>2]=i[t+4>>2]+1),ii(u- -64|0,k,r,u+36|0,u),k=i[u+68>>2],i[u+96>>2]=i[u+64>>2],i[u+100>>2]=k,l[u+115|0]<0&&G(i[u+104>>2]),k=i[u+76>>2],i[u+104>>2]=i[u+72>>2],i[u+108>>2]=k,i[u+112>>2]=i[u+80>>2],t=i[u>>2],Q0=i[u+4>>2],(t|0)!=(Q0|0))for(;;){if(k=i[t>>2],w=i[k+16>>2],(w|0)==1769107316){w=0,o=N0(k,68572,69472);A:{if(!o||(k=i[t+4>>2],!k))break A;i[k+4>>2]=i[k+4>>2]+1,w=k}i[u+28>>2]=0,i[u+32>>2]=0,L=u- -64|0,p0=i[A>>2];A:{f:{k:{n:{t:{o:{if(A0=i[o+48>>2],!A0){if(k=i[p0+4>>2],!k)break o;for(o=i[p0>>2],C=B-16|0,B=C,h=i[k+4>>2],i[C+12>>2]=h;;){u:{if((h|0)==-1){k=0;break u}if(_=i[k+4>>2],Z=(_|0)==i[C+12>>2],i[k+4>>2]=Z?h+1|0:_,Z||(i[C+12>>2]=_),Z)break u;h=i[C+12>>2];continue}break}if(B=C+16|0,!k)break o;i[u+28>>2]=o,o=i[u+32>>2],i[u+32>>2]=k;u:{if(!o||(k=i[o+4>>2],i[o+4>>2]=k-1,k))break u;V[i[i[o>>2]+8>>2]](o),g(o)}if(k=i[19565],i[L>>2]=i[19564],i[L+4>>2]=k,k=L+8|0,l[78275]<0)break t;break f}k=i[p0+28>>2],o=i[p0+24>>2];u:{if(!((A0|0)==270|(A0|0)==90)){h=o,o=k;break u}h=k}k=U(136),i[k+4>>2]=0,i[k+8>>2]=0,i[k>>2]=72792,B0(k+20|0,0,104),C=i[k+4>>2],Z=C+1|0,i[k+4>>2]=Z,i[k+56>>2]=0,i[k+60>>2]=0,i[k+44>>2]=99,i[k+48>>2]=99,i[k+32>>2]=3795,_=k- -64|0,i[_>>2]=0,i[_+4>>2]=0,i[k+132>>2]=0,i[k+124>>2]=0,i[k+128>>2]=0,i[k+84>>2]=1,i[k+88>>2]=1,i[k+72>>2]=k+76,i[k+92>>2]=0,i[k+96>>2]=0,i[k+100>>2]=0,i[k+104>>2]=0,i[k+108>>2]=0,i[k+112>>2]=0,l[k+113|0]=0,l[k+114|0]=0,l[k+115|0]=0,l[k+116|0]=0,l[k+117|0]=0,l[k+118|0]=0,l[k+119|0]=0,l[k+120|0]=0,_=k+12|0,i[k+12>>2]=_,i[k+8>>2]=i[k+8>>2]+1,i[k+4>>2]=C,i[k+16>>2]=k,Z||(V[i[i[k>>2]+8>>2]](k),g(k)),i[u+28>>2]=_,_=i[u+32>>2],i[u+32>>2]=k;u:{if(!_||(k=i[_+4>>2],i[_+4>>2]=k-1,k))break u;V[i[i[_>>2]+8>>2]](_),g(_)}if(Z=i[p0+32>>2],_=i[p0+36>>2],k=i[u+28>>2],i[k+28>>2]=o,i[k+32>>2]=Z,i[k+36>>2]=_,i[k+24>>2]=h,_=i[p0+60>>2],I0=p0- -64|0,(_|0)==(I0|0))break k;for(X0=(A0|0)==270,S=(A0|0)!=180,f0=(A0|0)!=90;;){h=i[_+28>>2],k=i[_+24>>2];u:{if(!(!f0|X0)){o=k,k=h;break u}o=h}C=i[_+16>>2],J0(i[u+28>>2],C,o,k,s[_+20|0]),k=i[u+28>>2],Z=k- -64|0,o=Z;u:{l:{if(k=i[k+64>>2],!k)break l;for(;h=(C|0)>i[k+16>>2],o=h?o:k,k=i[(h<<2)+k>>2],!!k;);if((o|0)==(Z|0))break l;if(E=0,k=0,(C|0)<i[o+16>>2])break u;E=i[o+40>>2],k=i[o+48>>2];break u}E=0,k=0}o=k,R=i[_+40>>2],d=i[_+48>>2],j=i[_+28>>2],a=i[_+24>>2];u:{l:{if(s[_+20|0]==8){if((A0|0)!=270)break l;if((j|0)<=0)break u;for(C=a&2147483644,y=a&3,h0=0,Z=a-1>>>0>2;;){s:{if((a|0)<=0)break s;if(z=E+h0|0,p=R+m(d,j+(h0^-1)|0)|0,J=0,k=0,D=0,Z)for(;l[z+m(k,o)|0]=s[k+p|0],h=k|1,l[z+m(h,o)|0]=s[h+p|0],h=k|2,l[z+m(h,o)|0]=s[h+p|0],h=k|3,l[z+m(h,o)|0]=s[h+p|0],k=k+4|0,D=D+4|0,(C|0)!=(D|0););if(!y)break s;for(;l[z+m(k,o)|0]=s[k+p|0],k=k+1|0,J=J+1|0,(y|0)!=(J|0););}if(h0=h0+1|0,(j|0)==(h0|0))break}break u}if((A0|0)==270){if((j|0)<=0|(a|0)<=0)break u;for(p=a&2147483646,y=a&1,h=0;;){if(H=(h<<1)+E|0,z=R+m(d,j+(h^-1)|0)|0,k=0,J=0,(a|0)!=1)for(;C=H+m(k,o)|0,Z=z+(k<<1)|0,l[C|0]=s[Z|0],l[C+1|0]=s[Z+1|0],Z=k|1,C=H+m(Z,o)|0,Z=z+(Z<<1)|0,l[C|0]=s[Z|0],l[C+1|0]=s[Z+1|0],k=k+2|0,J=J+2|0,(p|0)!=(J|0););if(y&&(Z=H+m(k,o)|0,k=z+(k<<1)|0,l[Z|0]=s[k|0],l[Z+1|0]=s[k+1|0]),h=h+1|0,(j|0)==(h|0))break}break u}if(!S){if((j|0)<=0|(a|0)<=0)break u;for(y=a&2147483646,C=a&1,h=0;;){if(p=m(o,h)+E|0,H=R+m(d,j+(h^-1)|0)|0,k=0,J=0,(a|0)!=1)for(;z=p+(k<<1)|0,Z=H+(a+(k^-1)<<1)|0,l[z|0]=s[Z|0],l[z+1|0]=s[Z+1|0],Z=H+(a+(k^2147483646)<<1)|0,l[z+2|0]=s[Z|0],l[z+3|0]=s[Z+1|0],k=k+2|0,J=J+2|0,(y|0)!=(J|0););if(C&&(Z=p+(k<<1)|0,k=H+(a+(k^-1)<<1)|0,l[Z|0]=s[k|0],l[Z+1|0]=s[k+1|0]),h=h+1|0,(j|0)==(h|0))break}break u}if((j|0)<=0|f0|(a|0)<=0)break u;for(p=a&2147483646,y=a&1,h=0;;){if(H=(h<<1)+E|0,z=R+m(h,d)|0,k=0,J=0,(a|0)!=1)for(;C=H+m(k,o)|0,Z=z+(a+(k^-1)<<1)|0,l[C|0]=s[Z|0],l[C+1|0]=s[Z+1|0],C=H+m(o,k|1)|0,Z=z+(a+(k^2147483646)<<1)|0,l[C|0]=s[Z|0],l[C+1|0]=s[Z+1|0],k=k+2|0,J=J+2|0,(p|0)!=(J|0););if(y&&(Z=H+m(k,o)|0,k=z+(a+(k^-1)<<1)|0,l[Z|0]=s[k|0],l[Z+1|0]=s[k+1|0]),h=h+1|0,(j|0)==(h|0))break}break u}if(!S){if((j|0)<=0|(a|0)<=0)break u;for(y=R+a|0,C=a&2147483644,z=a&3,D=0,Z=a-1>>>0<3;;){if(p=m(o,D)+E|0,H=y+m(d,j+(D^-1)|0)|0,k=0,J=0,!Z)for(;h=k+p|0,l[h|0]=s[H+(k^-1)|0],l[h+1|0]=s[H+(k^-2)|0],l[h+2|0]=s[H+(k^-3)|0],l[h+3|0]=s[H+(k^-4)|0],k=k+4|0,J=J+4|0,(C|0)!=(J|0););if(h=0,z)for(;l[k+p|0]=s[H+(k^-1)|0],k=k+1|0,h=h+1|0,(z|0)!=(h|0););if(D=D+1|0,(j|0)==(D|0))break}break u}if((j|0)<=0|f0)break u;for(y=a&2147483644,p=a&3,C=R+a|0,h=0,Z=a-1>>>0>2;;){l:{if((a|0)<=0)break l;if(H=h+E|0,z=C+m(h,d)|0,J=0,k=0,D=0,Z)for(;l[H+m(k,o)|0]=s[z+(k^-1)|0],l[H+m(o,k|1)|0]=s[z+(k^-2)|0],l[H+m(o,k|2)|0]=s[z+(k^-3)|0],l[H+m(o,k|3)|0]=s[z+(k^-4)|0],k=k+4|0,D=D+4|0,(y|0)!=(D|0););if(!p)break l;for(;l[H+m(k,o)|0]=s[z+(k^-1)|0],k=k+1|0,J=J+1|0,(p|0)!=(J|0););}if(h=h+1|0,(j|0)==(h|0))break}}o=i[_+4>>2];u:{if(o){for(;;)if(k=o,o=i[k>>2],!o)break u}for(;k=i[_+8>>2],o=i[k>>2]!=(_|0),_=k,!!o;);}if(_=k,(k|0)==(I0|0))break}break n}f=Ne(4),i[f>>2]=67064,wr(f|0,67100,407),P()}_0(k,i[19566],i[19567]);break A}k=i[u+28>>2]}o=i[p0+44>>2],h=i[p0+48>>2],h&&(i[h+4>>2]=i[h+4>>2]+1),i[k+44>>2]=o,o=i[k+48>>2],i[k+48>>2]=h;k:{if(!o||(k=i[o+4>>2],i[o+4>>2]=k-1,k))break k;V[i[i[o>>2]+8>>2]](o),g(o)}k=i[p0+52>>2],h=i[u+28>>2],o=i[p0+56>>2],o&&(i[o+4>>2]=i[o+4>>2]+1),i[h+52>>2]=k,_=i[h+56>>2],i[h+56>>2]=o;k:{if(!_||(k=i[_+4>>2],i[_+4>>2]=k-1,k))break k;V[i[i[_>>2]+8>>2]](_),g(_)}if(k=i[19565],i[L>>2]=i[19564],i[L+4>>2]=k,k=L+8|0,l[78275]>=0)break f;_0(k,i[19566],i[19567]);break A}o=i[19567],i[k>>2]=i[19566],i[k+4>>2]=o,i[k+8>>2]=i[19568]}o=i[u+68>>2],k=i[u+64>>2],i[u+96>>2]=k,i[u+100>>2]=o,l[u+115|0]<0&&(G(i[u+104>>2]),k=i[u+96>>2]),o=i[u+76>>2],i[u+104>>2]=i[u+72>>2],i[u+108>>2]=o,i[u+112>>2]=i[u+80>>2];A:{if(k){o=i[u+100>>2],i[f>>2]=i[u+96>>2],i[f+4>>2]=o,i[f+16>>2]=i[u+112>>2],o=i[u+108>>2],i[f+8>>2]=i[u+104>>2],i[f+12>>2]=o,i[u+104>>2]=0,i[u+108>>2]=0,i[u+112>>2]=0;break A}if(o=i[u+32>>2],o&&(i[o+4>>2]=i[o+4>>2]+1),i[A>>2]=i[u+28>>2],h=i[A+4>>2],i[A+4>>2]=o,!h||(o=i[h+4>>2],i[h+4>>2]=o-1,o))break A;V[i[i[h>>2]+8>>2]](h),g(h)}h=i[u+32>>2];A:{if(!h||(o=i[h+4>>2],i[h+4>>2]=o-1,o))break A;V[i[i[h>>2]+8>>2]](h),g(h)}A:{if(!w||(o=i[w+4>>2],i[w+4>>2]=o-1,o))break A;V[i[i[w>>2]+8>>2]](w),g(w)}if(k)break e;k=i[t>>2],w=i[k+16>>2]}if((w|0)==1768778098){k=N0(k,68572,69532);A:{f:{if(k){if(i[u+28>>2]=k,w=i[t+4>>2],i[u+32>>2]=w,!w)break f;i[w+4>>2]=i[w+4>>2]+1;break A}i[u+28>>2]=0,i[u+32>>2]=0}w=0}R=u- -64|0,h=i[k+48>>2],L=B-16|0,B=L;A:{f:{k=i[A>>2],o=i[k+60>>2],H=k- -64|0;k:{if((o|0)==(H|0))break k;if((h|0)==1)for(;;){if(s[o+20|0]!=8)break f;I0=i[o+28>>2];n:{if((I0|0)<=0||(d=i[o+24>>2],(d|0)<2))break n;for(X0=i[o+40>>2],E=i[o+48>>2],k=(d|0)/2|0,p=k&1073741822,y=k&1,J=0,C=(d&2147483646)==2;;){if(z=X0+m(E,J)|0,f0=z+d|0,k=0,h=0,!C)for(;S=k+z|0,Z=s[S|0],_=f0+(k^-1)|0,l[S|0]=s[_|0],l[_|0]=Z,Z=s[S+1|0],_=f0+(k^-2)|0,l[S+1|0]=s[_|0],l[_|0]=Z,k=k+2|0,h=h+2|0,(p|0)!=(h|0););if(y&&(_=k+z|0,h=s[_|0],k=f0+(k^-1)|0,l[_|0]=s[k|0],l[k|0]=h),J=J+1|0,(I0|0)==(J|0))break}}h=i[o+4>>2];n:{if(!h){for(;;)if(k=i[o+8>>2],h=i[k>>2]!=(o|0),o=k,!h)break n}for(;k=h,h=i[k>>2],!!h;);}if(o=k,(k|0)==(H|0))break k}for(;;){if(s[o+20|0]!=8)break f;S=i[o+28>>2],E=(S|0)/2|0;n:{if((S|0)<2||(k=i[o+24>>2],(k|0)<=0))break n;for(z=i[o+40>>2],I0=i[o+48>>2],p=k&2147483644,X0=k&3,D=0,y=k>>>0<4;;){if(f0=z+m(D,I0)|0,J=z+m(I0,S+(D^-1)|0)|0,k=0,h=0,!y)for(;_=k+f0|0,Z=s[_|0],C=_,_=k+J|0,l[C|0]=s[_|0],l[_|0]=Z,C=k|1,_=C+f0|0,Z=s[_|0],A0=_,_=C+J|0,l[A0|0]=s[_|0],l[_|0]=Z,C=k|2,_=C+f0|0,Z=s[_|0],A0=_,_=C+J|0,l[A0|0]=s[_|0],l[_|0]=Z,C=k|3,_=C+f0|0,Z=s[_|0],A0=_,_=C+J|0,l[A0|0]=s[_|0],l[_|0]=Z,k=k+4|0,h=h+4|0,(p|0)!=(h|0););if(h=0,X0)for(;_=k+f0|0,Z=s[_|0],C=_,_=k+J|0,l[C|0]=s[_|0],l[_|0]=Z,k=k+1|0,h=h+1|0,(X0|0)!=(h|0););if(D=D+1|0,(E|0)==(D|0))break}}h=i[o+4>>2];n:{if(h){for(;;)if(k=h,h=i[k>>2],!h)break n}for(;k=i[o+8>>2],h=i[k>>2]!=(o|0),o=k,!!h;);}if(o=k,(k|0)==(H|0))break}}if(k=i[19565],i[R>>2]=i[19564],i[R+4>>2]=k,o=R+8|0,l[78275]>=0){k=i[19567],i[o>>2]=i[19566],i[o+4>>2]=k,i[o+8>>2]=i[19568];break A}_0(o,i[19566],i[19567]);break A}if(h=U(56),i[L+4>>2]=h,i[L+8>>2]=54,i[L+12>>2]=-2147483592,o=s[7592]|s[7593]<<8|(s[7594]<<16|s[7595]<<24),k=s[7588]|s[7589]<<8|(s[7590]<<16|s[7591]<<24),l[h|0]=k,l[h+1|0]=k>>>8,l[h+2|0]=k>>>16,l[h+3|0]=k>>>24,l[h+4|0]=o,l[h+5|0]=o>>>8,l[h+6|0]=o>>>16,l[h+7|0]=o>>>24,l[h+54|0]=0,o=s[7638]|s[7639]<<8|(s[7640]<<16|s[7641]<<24),k=s[7634]|s[7635]<<8|(s[7636]<<16|s[7637]<<24),l[h+46|0]=k,l[h+47|0]=k>>>8,l[h+48|0]=k>>>16,l[h+49|0]=k>>>24,l[h+50|0]=o,l[h+51|0]=o>>>8,l[h+52|0]=o>>>16,l[h+53|0]=o>>>24,o=s[7632]|s[7633]<<8|(s[7634]<<16|s[7635]<<24),k=s[7628]|s[7629]<<8|(s[7630]<<16|s[7631]<<24),l[h+40|0]=k,l[h+41|0]=k>>>8,l[h+42|0]=k>>>16,l[h+43|0]=k>>>24,l[h+44|0]=o,l[h+45|0]=o>>>8,l[h+46|0]=o>>>16,l[h+47|0]=o>>>24,o=s[7624]|s[7625]<<8|(s[7626]<<16|s[7627]<<24),k=s[7620]|s[7621]<<8|(s[7622]<<16|s[7623]<<24),l[h+32|0]=k,l[h+33|0]=k>>>8,l[h+34|0]=k>>>16,l[h+35|0]=k>>>24,l[h+36|0]=o,l[h+37|0]=o>>>8,l[h+38|0]=o>>>16,l[h+39|0]=o>>>24,o=s[7616]|s[7617]<<8|(s[7618]<<16|s[7619]<<24),k=s[7612]|s[7613]<<8|(s[7614]<<16|s[7615]<<24),l[h+24|0]=k,l[h+25|0]=k>>>8,l[h+26|0]=k>>>16,l[h+27|0]=k>>>24,l[h+28|0]=o,l[h+29|0]=o>>>8,l[h+30|0]=o>>>16,l[h+31|0]=o>>>24,o=s[7608]|s[7609]<<8|(s[7610]<<16|s[7611]<<24),k=s[7604]|s[7605]<<8|(s[7606]<<16|s[7607]<<24),l[h+16|0]=k,l[h+17|0]=k>>>8,l[h+18|0]=k>>>16,l[h+19|0]=k>>>24,l[h+20|0]=o,l[h+21|0]=o>>>8,l[h+22|0]=o>>>16,l[h+23|0]=o>>>24,o=s[7600]|s[7601]<<8|(s[7602]<<16|s[7603]<<24),k=s[7596]|s[7597]<<8|(s[7598]<<16|s[7599]<<24),l[h+8|0]=k,l[h+9|0]=k>>>8,l[h+10|0]=k>>>16,l[h+11|0]=k>>>24,l[h+12|0]=o,l[h+13|0]=o>>>8,l[h+14|0]=o>>>16,l[h+15|0]=o>>>24,r0(R,4,0,L+4|0),l[L+15|0]>=0)break A;G(i[L+4>>2])}if(B=L+16|0,o=i[u+68>>2],k=i[u+64>>2],i[u+96>>2]=k,i[u+100>>2]=o,l[u+115|0]<0&&(G(i[u+104>>2]),k=i[u+96>>2]),o=i[u+76>>2],i[u+104>>2]=i[u+72>>2],i[u+108>>2]=o,i[u+112>>2]=i[u+80>>2],k){e=i[u+100>>2],i[f>>2]=i[u+96>>2],i[f+4>>2]=e,i[f+16>>2]=i[u+112>>2],e=i[u+108>>2],i[f+8>>2]=i[u+104>>2],i[f+12>>2]=e,i[u+104>>2]=0,i[u+108>>2]=0,i[u+112>>2]=0,v1(u+28|0);break e}A:{if(!w||(k=i[w+4>>2],i[w+4>>2]=k-1,k))break A;V[i[i[w>>2]+8>>2]](w),g(w)}k=i[t>>2],w=i[k+16>>2]}if((w|0)==1668047216){o=0,y=N0(k,68572,69592);A:{if(!y||(k=i[t+4>>2],!k))break A;i[k+4>>2]=i[k+4>>2]+1,o=k}k=i[A>>2],C=i[k+28>>2],Z=i[k+24>>2],_=Ir(y,Z),w=Ln(y,Z),h=Vr(y,C),k=Kn(y,C);A:{f:{if(_=(_|0)>0?_:0,w=(w|0)<(Z|0)?w:Z-1|0,(_|0)<=(w|0)&&(h=(h|0)>0?h:0,k=(k|0)<(C|0)?k:C-1|0,(h|0)<=(k|0)))break f;l[u+64|0]=0,l[u+75|0]=0,r0(f,2,120,u- -64|0),l[u+75|0]<0&&G(i[u+64>>2]),w=1;break A}i[u+28>>2]=0,i[u+32>>2]=0,Mk(u- -64|0,i[A>>2],_,w,h,k,u+28|0),h=i[u+68>>2],k=i[u+64>>2],i[u+96>>2]=k,i[u+100>>2]=h,l[u+115|0]<0&&(G(i[u+104>>2]),k=i[u+96>>2]),h=i[u+76>>2],i[u+104>>2]=i[u+72>>2],i[u+108>>2]=h,i[u+112>>2]=i[u+80>>2];f:{if(k){k=i[u+100>>2],i[f>>2]=i[u+96>>2],i[f+4>>2]=k,i[f+16>>2]=i[u+112>>2],k=i[u+108>>2],i[f+8>>2]=i[u+104>>2],i[f+12>>2]=k,i[u+104>>2]=0,i[u+108>>2]=0,i[u+112>>2]=0,w=1;break f}if(k=i[u+32>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),i[A>>2]=i[u+28>>2],h=i[A+4>>2],i[A+4>>2]=k,w=0,!h||(k=i[h+4>>2],i[h+4>>2]=k-1,k))break f;V[i[i[h>>2]+8>>2]](h),g(h)}if(h=i[u+32>>2],!h||(k=i[h+4>>2],i[h+4>>2]=k-1,k))break A;V[i[i[h>>2]+8>>2]](h),g(h)}A:{if(!o||(k=i[o+4>>2],i[o+4>>2]=k-1,k))break A;V[i[i[o>>2]+8>>2]](o),g(o)}if(w)break e}if(t=t+8|0,(Q0|0)==(t|0))break}v1(u+36|0),v1(u+48|0),_3(u)}A:{f:{k:{n:{k=i[n0>>2];t:{if(!k)break t;for(w=n0,t=k;o=k0[t+16>>2]<r>>>0,w=o?w:t,t=i[(o<<2)+t>>2],!!t;);if((w|0)==(n0|0)|k0[w+16>>2]>r>>>0)break t;for(t=n0;o=k0[k+16>>2]<r>>>0,t=o?t:k,k=i[(o<<2)+k>>2],!!k;);if(t=(t|0)!=(n0|0)&k0[t+16>>2]<=r>>>0?t:n0,C=i[t+20>>2],p=i[t+24>>2],p&&(i[p+4>>2]=i[p+4>>2]+1),h=i[C+52>>2],y=i[C+56>>2],y&&(i[y+4>>2]=i[y+4>>2]+1),h){if(i[u+48>>2]=0,i[u+52>>2]=0,f6(u- -64|0,e,i[h+20>>2],u+48|0,99,n,1),i[u+64>>2]){e=i[u+68>>2],i[f>>2]=i[u+64>>2],i[f+4>>2]=e,i[f+16>>2]=i[u+80>>2],e=i[u+76>>2],i[f+8>>2]=i[u+72>>2],i[f+12>>2]=e,i[u+80>>2]=0,i[u+72>>2]=0,i[u+76>>2]=0;break k}if(o=i[u+48>>2],k=i[o+32>>2],k>>>0>=3){if(e=f,f=C1(u,31341),r0(e,2,3003,f),l[f+11|0]>=0)break k;G(i[f>>2]);break k}n0=i[(k<<2)+35180>>2],n=i[A>>2],k=i[n+24>>2];o:{u:{if((k|0)!=i[h+24>>2]){t=i[n+28>>2];break u}if(t=i[n+28>>2],(t|0)==i[h+28>>2])break o}if(i[u+36>>2]=0,i[u+40>>2]=0,vA(u,o,u+36|0,k,t),n=i[u+4>>2],k=i[u>>2],i[u+64>>2]=k,i[u+68>>2]=n,l[u+83|0]<0&&(G(i[u+72>>2]),k=i[u+64>>2]),n=i[u+12>>2],i[u+72>>2]=i[u+8>>2],i[u+76>>2]=n,i[u+80>>2]=i[u+16>>2],k)break n;n=i[u+36>>2],k=i[u+40>>2],i[u+36>>2]=0,i[u+40>>2]=0,t=i[u+52>>2],i[u+48>>2]=n,i[u+52>>2]=k;u:{if(!t||(k=i[t+4>>2],i[t+4>>2]=k-1,k))break u;V[i[i[t>>2]+8>>2]](t),g(t)}v1(u+36|0),n=i[A>>2]}w=n,E=B-32|0,B=E,_=i[u+48>>2],o=i[_+64>>2];o:{u:{if(!o){t=_- -64|0,k=t;break u}for(n=o;;){if(k=n,n=i[k+16>>2],(n|0)>(n0|0)){if(t=k,n=i[k>>2],n)continue;break u}if((n|0)>=(n0|0)){n=k;break o}if(n=i[k+4>>2],!n)break}t=k+4|0}n=U(52),i[n+20>>2]=0,i[n+24>>2]=0,i[n+16>>2]=n0,i[n+8>>2]=k,i[n>>2]=0,i[n+4>>2]=0,i[n+28>>2]=0,i[n+32>>2]=0,i[n+36>>2]=0,i[n+40>>2]=0,i[n+44>>2]=0,i[n+48>>2]=0,i[t>>2]=n,k=n,o=i[i[_+60>>2]>>2],o&&(i[_+60>>2]=o,k=i[t>>2]),D1(i[_+64>>2],k),i[_+68>>2]=i[_+68>>2]+1,_=i[u+48>>2],o=i[_+64>>2]}k=i[n+48>>2],i[E+24>>2]=i[n+44>>2],i[E+28>>2]=k,k=i[n+40>>2],i[E+16>>2]=i[n+36>>2],i[E+20>>2]=k,k=i[n+32>>2],i[E+8>>2]=i[n+28>>2],i[E+12>>2]=k,k=i[n+24>>2],i[E>>2]=i[n+20>>2],i[E+4>>2]=k;o:{if(!o)break o;for(h=_- -64|0,n=h,k=o;t=(n0|0)>i[k+16>>2],n=t?n:k,k=i[(t<<2)+k>>2],!!k;);if((n|0)==(h|0)|(n0|0)<i[n+16>>2])break o;t=i[n+4>>2];u:{if(!t){for(t=n;k=i[t+8>>2],h=i[k>>2]!=(t|0),t=k,!!h;);break u}for(;k=t,t=i[k>>2],!!t;);}i[_+60>>2]==(n|0)&&(i[_+60>>2]=k),i[_+68>>2]=i[_+68>>2]-1;u:{l:{if(n0=n,t=i[n>>2],t){if(k=i[n+4>>2],!k)break l;for(;n=k,k=i[k>>2],!!k;);}if(t=i[n+4>>2],t)break l;_=i[n+8>>2],t=0,h=1;break u}_=i[n+8>>2],i[t+8>>2]=_,h=0}k=i[_>>2];u:{if((n|0)==(k|0)){if(i[_>>2]=t,(n|0)==(o|0)){k=0,o=t;break u}k=i[_+4>>2];break u}i[_+4>>2]=t}Z=s[n+12|0],(n|0)!=(n0|0)&&(_=i[n0+8>>2],i[n+8>>2]=_,i[_+(((n0|0)!=i[_>>2])<<2)>>2]=n,_=i[n0>>2],i[n>>2]=_,i[_+8>>2]=n,_=i[n0+4>>2],i[n+4>>2]=_,_&&(i[_+8>>2]=n),l[n+12|0]=s[n0+12|0],o=(o|0)==(n0|0)?n:o);u:{if(!o|!(Z&1))break u;if(h)for(;;){n=s[k+12|0];l:{if(h=i[k+8>>2],t=i[h>>2],(t|0)!=(k|0)){n&1||(l[k+12|0]=1,l[h+12|0]=0,t=i[h+4>>2],n=i[t>>2],i[h+4>>2]=n,n&&(i[n+8>>2]=h),n=i[h+8>>2],i[t+8>>2]=n,i[n+(((h|0)!=i[n>>2])<<2)>>2]=t,i[t>>2]=h,i[h+8>>2]=t,n=k,k=i[k>>2],o=(k|0)==(o|0)?n:o,k=i[k+4>>2]);s:{h:{n=i[k>>2];w:{if(!(s[n+12|0]!=1&&n)){if(t=i[k+4>>2],s[t+12|0]!=1&&t)break w;if(l[k+12|0]=0,k=i[k+8>>2],s[k+12|0]&&(o|0)!=(k|0))break l;l[k+12|0]=1;break u}if(t=i[k+4>>2],!t)break h}if(s[t+12|0]==1)break h;n=k;break s}l[n+12|0]=1,l[k+12|0]=0,t=i[n+4>>2],i[k>>2]=t,t&&(i[t+8>>2]=k),t=i[k+8>>2],i[n+8>>2]=t,i[t+((i[t>>2]!=(k|0))<<2)>>2]=n,i[n+4>>2]=k,i[k+8>>2]=n,t=k}o=i[n+8>>2],l[n+12|0]=s[o+12|0],l[o+12|0]=1,l[t+12|0]=1,n=i[o+4>>2],k=i[n>>2],i[o+4>>2]=k,k&&(i[k+8>>2]=o),k=i[o+8>>2],i[n+8>>2]=k,i[k+(((o|0)!=i[k>>2])<<2)>>2]=n,i[n>>2]=o,i[o+8>>2]=n;break u}n&1||(l[k+12|0]=1,l[h+12|0]=0,n=i[t+4>>2],i[h>>2]=n,n&&(i[n+8>>2]=h),n=i[h+8>>2],i[t+8>>2]=n,i[n+(((h|0)!=i[n>>2])<<2)>>2]=t,i[t+4>>2]=h,i[h+8>>2]=t,n=k,k=i[k+4>>2],o=(k|0)==(o|0)?n:o,k=i[k>>2]);s:{h:{w:{_:{if(t=i[k>>2],t&&(n=s[t+12|0],(n|0)!=1))break _;if(n=i[k+4>>2],!(s[n+12|0]!=1&&n)){if(l[k+12|0]=0,k=i[k+8>>2],s[k+12|0]==1&(k|0)!=(o|0))break l;l[k+12|0]=1;break u}if(!t)break h;if(l[t+12|0]&1)break w;n=k;break s}if(n)break w;n=k;break s}n=i[k+4>>2]}l[n+12|0]=1,l[k+12|0]=0,t=i[n>>2],i[k+4>>2]=t,t&&(i[t+8>>2]=k),t=i[k+8>>2],i[n+8>>2]=t,i[t+((i[t>>2]!=(k|0))<<2)>>2]=n,i[n>>2]=k,i[k+8>>2]=n,t=k}o=i[n+8>>2],l[n+12|0]=s[o+12|0],l[o+12|0]=1,l[t+12|0]=1,n=i[o>>2],k=i[n+4>>2],i[o>>2]=k,k&&(i[k+8>>2]=o),k=i[o+8>>2],i[n+8>>2]=k,i[k+(((o|0)!=i[k>>2])<<2)>>2]=n,i[n+4>>2]=o,i[o+8>>2]=n;break u}n=k,k=i[k+8>>2],k=i[(((n|0)==i[k>>2])<<2)+k>>2]}l[t+12|0]=1}G(n0)}n=i[w+64>>2];o:{u:{if(!n){t=w- -64|0,k=t;break u}for(;;){if(k=n,n=i[k+16>>2],(n|0)>6){if(t=k,n=i[k>>2],n)continue;break u}if((n|0)>=6)break o;if(n=i[k+4>>2],!n)break}t=k+4|0}n=U(52),i[n+16>>2]=6,o=i[E+4>>2],i[n+20>>2]=i[E>>2],i[n+24>>2]=o,o=i[E+12>>2],i[n+28>>2]=i[E+8>>2],i[n+32>>2]=o,o=i[E+20>>2],i[n+36>>2]=i[E+16>>2],i[n+40>>2]=o,o=i[E+28>>2],i[n+44>>2]=i[E+24>>2],i[n+48>>2]=o,i[n+8>>2]=k,i[n>>2]=0,i[n+4>>2]=0,i[t>>2]=n,k=i[i[w+60>>2]>>2],k&&(i[w+60>>2]=k,n=i[t>>2]),D1(i[w+64>>2],n),i[w+68>>2]=i[w+68>>2]+1}B=E+32|0,s[C+49|0]==1&&(l[i[A>>2]+40|0]=1),l[u+83|0]<0&&G(i[u+72>>2]),v1(u+48|0)}o:{if(!y||(k=i[y+4>>2],i[y+4>>2]=k-1,k))break o;V[i[i[y>>2]+8>>2]](y),g(y)}if(!p||(k=i[p+4>>2],i[p+4>>2]=k-1,k))break t;V[i[i[p>>2]+8>>2]](p),g(p)}t=i[e+48>>2],n=i[t+44>>2],n0=i[t+48>>2],n0&&(i[n0+4>>2]=i[n0+4>>2]+1,t=i[e+48>>2]),i[u+64>>2]=i[t+52>>2],e=i[t+56>>2],i[u+68>>2]=e,e&&(i[e+4>>2]=i[e+4>>2]+1),p4(u,n,r,u- -64|0,1668050025),t=0,w=0,e=i[u>>2];t:{if(!e||(e=N0(e,68572,69892),!e))break t;w=i[u+4>>2],w&&(i[w+4>>2]=i[w+4>>2]+1),i[i[A>>2]+80>>2]=Q[e+48>>1]|Q[e+50>>1]<<16}p4(u+48|0,n,r,u- -64|0,1835295606),e=i[u+48>>2];t:{if(!e||(h=N0(e,68572,70084),!h))break t;t=i[u+52>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),e=i[h+52>>2],o=i[A>>2],k=o,i[k+84>>2]=i[h+48>>2],i[k+88>>2]=e,k=h- -64|0,e=i[k+4>>2],i[o+100>>2]=i[k>>2],i[o+104>>2]=e,e=i[h+60>>2],i[o+92>>2]=i[h+56>>2],i[o+96>>2]=e,l[o+108|0]=1}if(p4(u+36|0,n,r,u- -64|0,1885434736),e=i[u+36>>2],!e||(k=N0(e,68572,69772),!k))break A;if(n=i[u+40>>2],n)break f;e=i[k+52>>2],r=i[A>>2],i[r+72>>2]=i[k+48>>2],i[r+76>>2]=e;break A}e=i[u+68>>2],i[f>>2]=i[u+64>>2],i[f+4>>2]=e,i[f+16>>2]=i[u+80>>2],e=i[u+76>>2],i[f+8>>2]=i[u+72>>2],i[f+12>>2]=e,i[u+72>>2]=0,i[u+76>>2]=0,i[u+80>>2]=0,v1(u+36|0)}l[u+83|0]<0&&G(i[u+72>>2]),e=i[u+52>>2];k:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break k;V[i[i[e>>2]+8>>2]](e),g(e)}k:{if(!y||(f=i[y+4>>2],i[y+4>>2]=f-1,f))break k;V[i[i[y>>2]+8>>2]](y),g(y)}if(!p||(f=i[p+4>>2],i[p+4>>2]=f-1,f))break r;V[i[i[p>>2]+8>>2]](p),g(p);break r}if(i[n+4>>2]=i[n+4>>2]+1,e=i[k+52>>2],r=i[A>>2],i[r+72>>2]=i[k+48>>2],i[r+76>>2]=e,e=i[n+4>>2],i[n+4>>2]=e-1,e)break A;V[i[i[n>>2]+8>>2]](n),g(n)}r=i[u+40>>2];A:{if(!r||(e=i[r+4>>2],i[r+4>>2]=e-1,e))break A;V[i[i[r>>2]+8>>2]](r),g(r)}A:{if(!t||(e=i[t+4>>2],i[t+4>>2]=e-1,e))break A;V[i[i[t>>2]+8>>2]](t),g(t)}r=i[u+52>>2];A:{if(!r||(e=i[r+4>>2],i[r+4>>2]=e-1,e))break A;V[i[i[r>>2]+8>>2]](r),g(r)}A:{if(!w||(e=i[w+4>>2],i[w+4>>2]=e-1,e))break A;V[i[i[w>>2]+8>>2]](w),g(w)}r=i[u+4>>2];A:{if(!r||(e=i[r+4>>2],i[r+4>>2]=e-1,e))break A;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[u+68>>2];A:{if(!r||(e=i[r+4>>2],i[r+4>>2]=e-1,e))break A;V[i[i[r>>2]+8>>2]](r),g(r)}A:{if(!n0||(e=i[n0+4>>2],i[n0+4>>2]=e-1,e))break A;V[i[i[n0>>2]+8>>2]](n0),g(n0)}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,e=f+8|0,l[78275]>=0){f=i[19567],i[e>>2]=i[19566],i[e+4>>2]=f,i[e+8>>2]=i[19568];break r}_0(e,i[19566],i[19567]);break r}e=i[u+40>>2];e:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break e;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[u+52>>2];e:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break e;V[i[i[e>>2]+8>>2]](e),g(e)}if(f=i[u>>2],!f)break r;if(t=i[u+4>>2],r=f,(t|0)!=(f|0)){for(;;){r=i[t-4>>2];e:{if(!r||(e=i[r+4>>2],i[r+4>>2]=e-1,e))break e;V[i[i[r>>2]+8>>2]](r),g(r)}if(t=t-8|0,(f|0)==(t|0))break}r=i[u>>2]}i[u+4>>2]=f,G(r)}e=i[u+92>>2];r:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break r;V[i[i[e>>2]+8>>2]](e),g(e)}if(l[u+115|0]>=0)break i;G(i[u+104>>2])}i:{if(!G0||(f=i[G0+4>>2],i[G0+4>>2]=f-1,f))break i;V[i[i[G0>>2]+8>>2]](G0),g(G0)}l[u+127|0]<0&&G(i[u+116>>2]),B=u+128|0}function hA(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=0,r2=0,n2=0,s2=0,W2=0;if(t=B-272|0,B=t,H6(e+16|0,i[e+20>>2]),I=e+20|0,i[e+16>>2]=I,i[e+20>>2]=0,i[e+24>>2]=0,A=i[e+32>>2],k=i[e+28>>2],(A|0)!=(k|0))for(;;){r=i[A-4>>2];i:{if(!r||(n=i[r+4>>2],i[r+4>>2]=n-1,n))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(k|0)==(A|0))break}i[e+32>>2]=k,r=i[e+44>>2],i[e+40>>2]=0,i[e+44>>2]=0;i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(RA(t+260|0,i[e+48>>2]),k=i[t+260>>2],u=i[t+264>>2],(k|0)!=(u|0))for(_=e+28|0;;){o=i[k>>2],fe(t+80|0,i[e+48>>2],o),A=i[t+80>>2];i:{if(A){n=l[A+75|0],r=(n|0)<0;r:{if(((r?i[A+68>>2]:n)|0)!=4)break r;r=r?i[A+64>>2]:A- -64|0,h=s[r+1|0]<<8,w=s[r+2|0]<<16|s[r+3|0]<<24;e:{if((s[r|0]|h|w)==828601960||(n=w|(h|s[r|0]),(n|0)==1684632167|(n|0)==1852138601|((n|0)==1819701097|(n|0)==825259617))||(n|0)==1768124021|(n|0)==828601974|(n|0)==1734701162)break e;A:{if((n|0)!=1701669229||(w=l[A+99|0],n=(w|0)<0,((n?i[A+92>>2]:w)|0)!=10))break A;if(A=A+88|0,!K2(n?i[A>>2]:A,8704,10))break e}if(r=s[r|0]|s[r+1|0]<<8|(s[r+2|0]<<16|s[r+3|0]<<24),(r|0)==829108842)break e;if((r|0)!=1768649581)break r}A=U(360),r=A,i[r+16>>2]=0,i[r+20>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,l[r+152|0]=0,i[r+36>>2]=o,i[r+32>>2]=e,i[r+28>>2]=34648,i[r+40>>2]=0,i[r+44>>2]=0,i[r+52>>2]=0,i[r+56>>2]=0,i[r+68>>2]=0,i[r+72>>2]=0,i[r+80>>2]=0,i[r+84>>2]=0,i[r+156>>2]=0,i[r+160>>2]=0,i[r>>2]=72656,i[r+24>>2]=0,X[r+48>>1]=0,X[r+58>>1]=0,X[r+60>>1]=0,X[r+62>>1]=0,X[r+64>>1]=0,l[r+76|0]=0,l[r+88|0]=0,i[r+204>>2]=0,i[r+196>>2]=0,i[r+200>>2]=0,i[r+188>>2]=0,i[r+192>>2]=0,i[r+180>>2]=0,i[r+184>>2]=0,i[r+172>>2]=0,i[r+176>>2]=0,i[r+164>>2]=0,i[r+168>>2]=0,i[r+212>>2]=0,i[r+216>>2]=0,l[r+208|0]=1,l[r+217|0]=0,l[r+218|0]=0,l[r+219|0]=0,l[r+220|0]=0,l[r+221|0]=0,l[r+222|0]=0,l[r+223|0]=0,l[r+224|0]=0,i[r+232>>2]=0,i[r+236>>2]=0,i[r+240>>2]=0,i[r+244>>2]=0,i[r+248>>2]=0,i[r+252>>2]=0,i[r+256>>2]=0,i[r+260>>2]=0,i[r+264>>2]=0,i[r+268>>2]=0,l[r+272|0]=0,B0(r+280|0,0,80),i[r+296>>2]=0,i[r+300>>2]=0,l[r+292|0]=1,i[r+304>>2]=0,i[r+308>>2]=0,i[r+312>>2]=0,i[r+316>>2]=0,i[r+328>>2]=0,i[r+332>>2]=0,i[r+320>>2]=0,i[r+324>>2]=1072693248,i[r+336>>2]=0,i[r+340>>2]=0,i[r+344>>2]=0,i[r+348>>2]=0,i[r+352>>2]=0,i[r+96>>2]=0,i[r+100>>2]=0,i[r+104>>2]=0,i[r+108>>2]=0,i[r+112>>2]=0,i[r+116>>2]=0,i[r+120>>2]=0,i[r+124>>2]=0,i[r+128>>2]=0,i[r+132>>2]=0,i[r+136>>2]=0,i[r+140>>2]=0,i[r+144>>2]=0,i[r+148>>2]=0,i[t+228>>2]=r,n=r+16|0,i[t+224>>2]=n,i[r+4>>2]=i[r+4>>2]+1,C=I,r=I;e:{A:{w=i[e+20>>2];f:{if(!w)break f;for(;;){if(r=w,w=i[r+16>>2],w>>>0>o>>>0){if(C=r,w=i[r>>2],w)continue;break f}if(o>>>0<=w>>>0)break A;if(w=i[r+4>>2],!w)break}C=r+4|0}w=U(28),i[w+24>>2]=A,i[w+20>>2]=n,i[w+16>>2]=o,i[w+8>>2]=r,i[w>>2]=0,i[w+4>>2]=0,i[C>>2]=w,r=i[i[e+16>>2]>>2],r&&(i[e+16>>2]=r,w=i[C>>2]),D1(i[e+20>>2],w),i[e+24>>2]=i[e+24>>2]+1;break e}if(r=i[A+4>>2],i[A+4>>2]=r-1,r)break e;V[i[i[A>>2]+8>>2]](A),g(A)}if(!s[i[t+80>>2]+124|0]){e:{if((o|0)!=i[i[i[e+48>>2]+84>>2]+56>>2]||(r=i[t+224>>2],l[r+32|0]=1,A=i[t+228>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[e+40>>2]=r,r=i[e+44>>2],i[e+44>>2]=A,!r)||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break e;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[e+32>>2];e:{if(r>>>0<k0[e+36>>2]){i[r>>2]=i[t+224>>2],A=i[t+228>>2],i[r+4>>2]=A,A&&(i[A+4>>2]=i[A+4>>2]+1),r=r+8|0;break e}r=Q2(_,t+224|0)}i[e+32>>2]=r}if(r=i[t+228>>2],!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(r=i[t+84>>2],!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break i;V[i[i[r>>2]+8>>2]](r),g(r);break i}if(r=i[t+84>>2],!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(k=k+4|0,(u|0)==(k|0))break}i:{r:{e:{if(!i[e+40>>2]){if(e=U(48),i[t+80>>2]=e,i[t+84>>2]=42,i[t+88>>2]=-2147483600,r=s[10898]|s[10899]<<8|(s[10900]<<16|s[10901]<<24),k=s[10894]|s[10895]<<8|(s[10896]<<16|s[10897]<<24),l[e|0]=k,l[e+1|0]=k>>>8,l[e+2|0]=k>>>16,l[e+3|0]=k>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+42|0]=0,r=s[10934]|s[10935]<<8,l[e+40|0]=r,l[e+41|0]=r>>>8,r=s[10930]|s[10931]<<8|(s[10932]<<16|s[10933]<<24),k=s[10926]|s[10927]<<8|(s[10928]<<16|s[10929]<<24),l[e+32|0]=k,l[e+33|0]=k>>>8,l[e+34|0]=k>>>16,l[e+35|0]=k>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[10922]|s[10923]<<8|(s[10924]<<16|s[10925]<<24),k=s[10918]|s[10919]<<8|(s[10920]<<16|s[10921]<<24),l[e+24|0]=k,l[e+25|0]=k>>>8,l[e+26|0]=k>>>16,l[e+27|0]=k>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[10914]|s[10915]<<8|(s[10916]<<16|s[10917]<<24),k=s[10910]|s[10911]<<8|(s[10912]<<16|s[10913]<<24),l[e+16|0]=k,l[e+17|0]=k>>>8,l[e+18|0]=k>>>16,l[e+19|0]=k>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[10906]|s[10907]<<8|(s[10908]<<16|s[10909]<<24),k=s[10902]|s[10903]<<8|(s[10904]<<16|s[10905]<<24),l[e+8|0]=k,l[e+9|0]=k>>>8,l[e+10|0]=k>>>16,l[e+11|0]=k>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,2e3,t+80|0),l[t+91|0]>=0)break e;G(i[t+80>>2]);break e}if(A=i[e+16>>2],(I|0)!=(A|0))for(S=i[13631],n0=S-12|0,d=i[13632],L=d-12|0,A0=i[13635],p0=A0-12|0,f0=i[13633],X0=f0-12|0,h0=i[13640],G0=i[13639],I0=i[13637],Q0=i[13636],F0=i[13634],D=t+92|0,R=t+88|0,Y0=t+144|0;;){i[t+256>>2]=0,i[t+248>>2]=0,i[t+252>>2]=0,I1(t+224|0,i[e+48>>2],i[A+16>>2],t+248|0);A:{if(i[t+224>>2]){r=i[t+228>>2],i[f>>2]=i[t+224>>2],i[f+4>>2]=r,i[f+16>>2]=i[t+240>>2],r=i[t+236>>2],i[f+8>>2]=i[t+232>>2],i[f+12>>2]=r,i[t+232>>2]=0,i[t+236>>2]=0,C=0,i[t+240>>2]=0;break A}Z=0;f:{if(r=i[t+248>>2],p=i[t+252>>2],(r|0)!=(p|0)){for(;;){k:{if(k=i[r>>2],!k||(n=N0(k,68572,68596),!n))break k;k=i[r+4>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),o=i[n+56>>2],u=i[n+60>>2],_=o>>>0<2147483647&u>>>0<2147483647;n:{if(!_){i[t+80>>2]=f0,i[t+88>>2]=54496,i[t+144>>2]=54516,n=t+80|0,i[n+i[X0>>2]>>2]=F0,i[t+84>>2]=0,w=n+i[i[t+80>>2]-12>>2]|0,b0(w,D),i[w+72>>2]=0,i[w+76>>2]=-1,i[t+88>>2]=A0,i[R+i[p0>>2]>>2]=Q0,i[t+80>>2]=d,i[n+i[L>>2]>>2]=I0,i[t+144>>2]=54516,i[t+80>>2]=54476,i[t+88>>2]=54496,n=$0(D),i[n>>2]=53552,i[t+132>>2]=0,i[t+136>>2]=0,i[t+124>>2]=0,i[t+128>>2]=0,i[t+140>>2]=24,x(n4(x(L0(x(L0(x(R,19153,11),o),2490,1),u),19120,32),i[e+64>>2],i[e+68>>2]),31338,1),o=t+68|0,i2(o,n),r0(f,6,1e3,o),l[t+79|0]<0&&G(i[t+68>>2]),i[t+80>>2]=S,i[i[n0>>2]+(t+80|0)>>2]=G0,i[t+88>>2]=h0,i[n>>2]=53552,l[t+135|0]<0&&G(i[t+124>>2]),K0(n),T0(Y0);break n}n=i[A+20>>2],i[n+28>>2]=u,i[n+24>>2]=o,Z=1}n:{if(!k||(n=i[k+4>>2],i[k+4>>2]=n-1,n))break n;if(V[i[i[k>>2]+8>>2]](k),g(k),_)break k;C=0;break A}if(_)break k;C=0;break A}if(r=r+8|0,(p|0)==(r|0))break}if(Z)break f}r=U(32),i[t+80>>2]=r,i[t+84>>2]=28,i[t+88>>2]=-2147483616,k=s[1305]|s[1306]<<8|(s[1307]<<16|s[1308]<<24),n=s[1301]|s[1302]<<8|(s[1303]<<16|s[1304]<<24),l[r|0]=n,l[r+1|0]=n>>>8,l[r+2|0]=n>>>16,l[r+3|0]=n>>>24,l[r+4|0]=k,l[r+5|0]=k>>>8,l[r+6|0]=k>>>16,l[r+7|0]=k>>>24,l[r+28|0]=0,k=s[1325]|s[1326]<<8|(s[1327]<<16|s[1328]<<24),l[r+24|0]=k,l[r+25|0]=k>>>8,l[r+26|0]=k>>>16,l[r+27|0]=k>>>24,k=s[1321]|s[1322]<<8|(s[1323]<<16|s[1324]<<24),n=s[1317]|s[1318]<<8|(s[1319]<<16|s[1320]<<24),l[r+16|0]=n,l[r+17|0]=n>>>8,l[r+18|0]=n>>>16,l[r+19|0]=n>>>24,l[r+20|0]=k,l[r+21|0]=k>>>8,l[r+22|0]=k>>>16,l[r+23|0]=k>>>24,k=s[1313]|s[1314]<<8|(s[1315]<<16|s[1316]<<24),n=s[1309]|s[1310]<<8|(s[1311]<<16|s[1312]<<24),l[r+8|0]=n,l[r+9|0]=n>>>8,l[r+10|0]=n>>>16,l[r+11|0]=n>>>24,l[r+12|0]=k,l[r+13|0]=k>>>8,l[r+14|0]=k>>>16,l[r+15|0]=k>>>24,r0(f,2,137,t+80|0),l[t+91|0]<0&&G(i[t+80>>2]),C=0;break A}if(C=1,r=i[t+248>>2],h=i[t+252>>2],(r|0)==(h|0))break A;for(;;){Z=i[r>>2];f:{if(!Z)break f;k=N0(Z,68572,73072);k:{if(k){w=i[r+4>>2],w&&(i[w+4>>2]=i[w+4>>2]+1),i[t+80>>2]=i[k+48>>2],k=i[k+52>>2],i[t+84>>2]=k,k&&(i[k+4>>2]=i[k+4>>2]+1),jA(i[A+20>>2],t+80|0),k=i[t+84>>2];n:{if(!k||(n=i[k+4>>2],i[k+4>>2]=n-1,n))break n;V[i[i[k>>2]+8>>2]](k),g(k)}if(!w)break f;if(k=i[w+4>>2],i[w+4>>2]=k-1,!k)break k;break f}w=0,k=N0(Z,68572,69952);n:{if(k){w=i[r+4>>2],w&&(i[w+4>>2]=i[w+4>>2]+1),u=i[A+20>>2],n=i[k+100>>2],i[t+120>>2]=i[k+96>>2],i[t+124>>2]=n,n=i[k+92>>2],i[t+112>>2]=i[k+88>>2],i[t+116>>2]=n,n=i[k+84>>2],i[t+104>>2]=i[k+80>>2],i[t+108>>2]=n,n=i[k+76>>2],i[t+96>>2]=i[k+72>>2],i[t+100>>2]=n,n=k- -64|0,o=i[n+4>>2],i[R>>2]=i[n>>2],i[R+4>>2]=o,n=i[k+60>>2],i[t+80>>2]=i[k+56>>2],i[t+84>>2]=n,_=t+80|0,o=B-48|0,B=o,l[u+208|0]=1,ei(o+8|0,i[i[u+16>>2]+48>>2],i[u+20>>2]),k=i[o+8>>2],k?n=i[k+56>>2]:n=0,k=i[o+12>>2];t:{if(!k||(p=i[k+4>>2],i[k+4>>2]=p-1,p))break t;V[i[i[k>>2]+8>>2]](k),g(k)}ei(o+8|0,i[i[u+16>>2]+48>>2],i[u+20>>2]),k=i[o+8>>2],k?k=i[k+60>>2]:k=0,p=i[o+12>>2];t:{if(!p||(Z=i[p+4>>2],i[p+4>>2]=Z-1,Z))break t;V[i[i[p>>2]+8>>2]](p),g(p)}if(E=+(n|0),H=i0[_>>3]*E,i0[o+8>>3]=H,c0=+(k|0),i0[o+16>>3]=s[_+24|0]?i0[_+32>>3]*c0:H,i0[o+24>>3]=i0[_+8>>3]*E,i0[o+32>>3]=i0[_+16>>3]*c0,i0[o+40>>3]=i0[_+40>>3],k=i[o+44>>2],i[u+248>>2]=i[o+40>>2],i[u+252>>2]=k,k=i[o+36>>2],i[u+240>>2]=i[o+32>>2],i[u+244>>2]=k,k=i[o+28>>2],i[u+232>>2]=i[o+24>>2],i[u+236>>2]=k,k=i[o+20>>2],i[u+224>>2]=i[o+16>>2],i[u+228>>2]=k,k=i[o+12>>2],i[u+216>>2]=i[o+8>>2],i[u+220>>2]=k,B=o+48|0,Z=i[r>>2],!Z)break n}if(o=N0(Z,68572,70012),!o||(k=i[r+4>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),n=i[A+20>>2],u=t+80|0,l0(u,o+56|0,80),l[n+256|0]=1,l0(n+264|0,u,76),!k)||(n=i[k+4>>2],i[k+4>>2]=n-1,n))break n;V[i[i[k>>2]+8>>2]](k),g(k)}if(!w||(k=i[w+4>>2],i[w+4>>2]=k-1,k))break f}V[i[i[w>>2]+8>>2]](w),g(w)}if(r=r+8|0,(h|0)==(r|0))break}if(r=i[t+248>>2],j=i[t+252>>2],(r|0)==(j|0))break A;for(;;){k=i[r>>2];f:{if(!k)break f;Z=0,w=0,y=N0(k,68572,69592);k:{if(y){if(w=i[r+4>>2],w&&(i[w+4>>2]=i[w+4>>2]+1),o=i[y+48>>2],k=i[y+52>>2],u=(k|0)/2|0,n=o+u|0,v=(o>>31)+(u>>31)|0,k=o2(n,n>>>0<u>>>0?v+1|0:v,k,k>>31),_=i[y+56>>2],n=i[y+60>>2],p=(n|0)/2|0,o=_+p|0,h=(_>>31)+(p>>31)|0,u=i[A+20>>2],s2=u,W2=o2(o,o>>>0<p>>>0?h+1|0:h,n,n>>31),i[s2+28>>2]=W2,i[u+24>>2]=k,J=i[A+20>>2],s[J+208|0]==1){a=i[J+28>>2],k=i[J+24>>2],n=k-1|0,k=k+65535>>>0<131073,_=k?n:(n|0)/2|0,n=i[y+64>>2],u=n>>31,p=k?2:1,o=i[y+68>>2];n:{if((p|0)==(o|0)){if(h=(_>>31)+u|0,k=_,_=n+_|0,h=k>>>0>_>>>0?h+1|0:h,k=h,(k-(_>>>0<2147483648)|0)==-1)break n;h=k>>31,n=_+(h|1)|0,h=k+h|0,_=o2(n,n>>>0<_>>>0?h+1|0:h,2,0),p=1;break n}if(p=o,W=o>>31,_=q0(o,W,_,_>>31),S0=w0,o=k,q=_,h=n,_=k&31,(k&63)>>>0>=32?(v=n<<_,k=0):(v=(1<<_)-1&h>>>32-_|u<<_,k=h<<_),_=q+k|0,h=v+S0|0,h=k>>>0>_>>>0?h+1|0:h,k=h,v=(k-(_>>>0<2147483648)|0)==-1,u=p,n=o&31,(o&63)>>>0>=32?(h=u<<n,n=0):(h=(1<<n)-1&u>>>32-n|W<<n,n=u<<n),o=h,!((o-(n>>>0<2147483648)|0)==-1&v))for(;h=o>>31,u=n+(h|1)|0,h=o+h|0,n=o2(u,n>>>0>u>>>0?h+1|0:h,2,0),o=w0,p=o-(n>>>0<2147483648)|0,h=k>>31,u=_+(h|1)|0,h=k+h|0,_=o2(u,u>>>0<_>>>0?h+1|0:h,2,0),k=w0,(k-(_>>>0<2147483648)&p)!=-1;);p=n}if(o=i[y+48>>2],k=i[y+52>>2],n=o-k|0,u=k>>31,o=(o>>31)-(u+(k>>>0>o>>>0)|0)|0,h=o-(n>>>0<2147483648)|0,(h|0)==-2|h>>>0<4294967294){for(;h=u>>31,W=k+(h|1)|0,h=u+h|0,k=o2(W,k>>>0>W>>>0?h+1|0:h,2,0),u=w0,h=o>>31,W=n+(h|1)|0,h=o+h|0,n=o2(W,n>>>0>W>>>0?h+1|0:h,2,0),o=w0,(o-(n>>>0<2147483648)|0)!=-1;);u=k>>31}if(h=u<<1|k>>>31,k=k<<1,u=h,h=u-(k>>>0<2147483648)|0,(h|0)==-2|h>>>0<4294967294)for(;h=o>>31,W=n+(h|1)|0,v=o+h|0,n=o2(W,n>>>0>W>>>0?v+1|0:v,2,0),o=w0,h=u>>31,W=k+(h|1)|0,h=u+h|0,k=o2(W,k>>>0>W>>>0?h+1|0:h,2,0),u=w0,(u-(k>>>0<2147483648)|0)!=-1;);o=_>>31;n:{if((k|0)==(p|0)){if(o=o-((n>>31)+(n>>>0>_>>>0)|0)|0,n=_-n|0,(o-(n>>>0<2147483648)|0)==-1)break n;for(k=p,u=k>>31;h=u>>31,_=k+(h|1)|0,h=u+h|0,k=o2(_,k>>>0>_>>>0?h+1|0:h,2,0),u=w0,h=o>>31,_=n+(h|1)|0,h=o+h|0,n=o2(_,n>>>0>_>>>0?h+1|0:h,2,0),o=w0,(o-(n>>>0<2147483648)|0)!=-1;);p=k;break n}if(o=q0(k,u,_,o),_=w0,h=p>>31,W=q0(p,h,n,n>>31),n=o-W|0,o=_-(w0+(o>>>0<W>>>0)|0)|0,k=q0(k,u,p,h),u=w0,(o-(n>>>0<2147483648)&u-(k>>>0<2147483648))!=-1)for(;h=u>>31,_=k+(h|1)|0,h=u+h|0,k=o2(_,k>>>0>_>>>0?h+1|0:h,2,0),u=w0,p=u-(k>>>0<2147483648)|0,h=o>>31,_=n+(h|1)|0,h=o+h|0,n=o2(_,n>>>0>_>>>0?h+1|0:h,2,0),o=w0,(o-(n>>>0<2147483648)&p)!=-1;);p=k}i0[J+232>>3]=i0[J+232>>3]-+(n|0)/+(p|0),k=a-1|0,h=k,n=(k|0)/2|0,k=a+65535>>>0<131073,_=k?h:n,n=i[y+72>>2],u=n>>31,p=k?2:1,o=i[y+76>>2];n:{if((p|0)==(o|0)){if(h=(_>>31)+u|0,k=_,_=n+_|0,h=k>>>0>_>>>0?h+1|0:h,k=h,(k-(_>>>0<2147483648)|0)==-1)break n;h=k>>31,n=_+(h|1)|0,h=k+h|0,_=o2(n,n>>>0<_>>>0?h+1|0:h,2,0),p=1;break n}if(p=o,W=o>>31,_=q0(o,W,_,_>>31),a=w0,o=k,q=_,h=n,_=k&31,(k&63)>>>0>=32?(v=n<<_,k=0):(v=(1<<_)-1&h>>>32-_|u<<_,k=h<<_),_=q+k|0,h=v+a|0,h=k>>>0>_>>>0?h+1|0:h,k=h,v=(k-(_>>>0<2147483648)|0)==-1,u=p,n=o&31,(o&63)>>>0>=32?(h=u<<n,n=0):(h=(1<<n)-1&u>>>32-n|W<<n,n=u<<n),o=h,!((o-(n>>>0<2147483648)|0)==-1&v))for(;h=o>>31,u=n+(h|1)|0,h=o+h|0,n=o2(u,n>>>0>u>>>0?h+1|0:h,2,0),o=w0,p=o-(n>>>0<2147483648)|0,h=k>>31,u=_+(h|1)|0,h=k+h|0,_=o2(u,u>>>0<_>>>0?h+1|0:h,2,0),k=w0,(k-(_>>>0<2147483648)&p)!=-1;);p=n}if(o=i[y+56>>2],k=i[y+60>>2],n=o-k|0,u=k>>31,o=(o>>31)-(u+(k>>>0>o>>>0)|0)|0,h=o-(n>>>0<2147483648)|0,(h|0)==-2|h>>>0<4294967294){for(;h=u>>31,W=k+(h|1)|0,h=u+h|0,k=o2(W,k>>>0>W>>>0?h+1|0:h,2,0),u=w0,h=o>>31,W=n+(h|1)|0,h=o+h|0,n=o2(W,n>>>0>W>>>0?h+1|0:h,2,0),o=w0,(o-(n>>>0<2147483648)|0)!=-1;);u=k>>31}if(h=u<<1|k>>>31,k=k<<1,u=h,h=u-(k>>>0<2147483648)|0,(h|0)==-2|h>>>0<4294967294)for(;h=o>>31,W=n+(h|1)|0,v=o+h|0,n=o2(W,n>>>0>W>>>0?v+1|0:v,2,0),o=w0,h=u>>31,W=k+(h|1)|0,h=u+h|0,k=o2(W,k>>>0>W>>>0?h+1|0:h,2,0),u=w0,(u-(k>>>0<2147483648)|0)!=-1;);o=_>>31;n:{if((k|0)==(p|0)){if(o=o-((n>>31)+(n>>>0>_>>>0)|0)|0,n=_-n|0,(o-(n>>>0<2147483648)|0)==-1)break n;for(k=p,u=k>>31;h=u>>31,_=k+(h|1)|0,h=u+h|0,k=o2(_,k>>>0>_>>>0?h+1|0:h,2,0),u=w0,h=o>>31,_=n+(h|1)|0,h=o+h|0,n=o2(_,n>>>0>_>>>0?h+1|0:h,2,0),o=w0,(o-(n>>>0<2147483648)|0)!=-1;);p=k;break n}if(o=q0(k,u,_,o),_=w0,h=p>>31,W=q0(p,h,n,n>>31),n=o-W|0,o=_-(w0+(o>>>0<W>>>0)|0)|0,k=q0(k,u,p,h),u=w0,(o-(n>>>0<2147483648)&u-(k>>>0<2147483648))!=-1)for(;h=u>>31,_=k+(h|1)|0,h=u+h|0,k=o2(_,k>>>0>_>>>0?h+1|0:h,2,0),u=w0,p=u-(k>>>0<2147483648)|0,h=o>>31,_=n+(h|1)|0,h=o+h|0,n=o2(_,n>>>0>_>>>0?h+1|0:h,2,0),o=w0,(o-(n>>>0<2147483648)&p)!=-1;);p=k}i0[J+240>>3]=i0[J+240>>3]-+(n|0)/+(p|0)}if(k=i[r>>2],!k)break k}n=N0(k,68572,69532);n:{if(!n)break n;Z=i[r+4>>2],Z&&(i[Z+4>>2]=i[Z+4>>2]+1),k=i[A+20>>2],p=i[k+28>>2],_=24,u=8;t:switch(i[n+48>>2]){case 1:i0[k+216>>3]=-i0[k+216>>3],p=i[k+24>>2],_=16,u=32;break;case 0:break t;default:break n}k=k+216|0,n=k+u|0,i0[n>>3]=-i0[n>>3],k=k+_|0,i0[k>>3]=+(p-1|0)-i0[k>>3]}k=i[r>>2];n:{if(!k||(n=N0(k,68572,69472),!n)||(k=i[r+4>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),n=i[n+48>>2],(n|0)!=270&(n|0)!=90||(n=i[A+20>>2],o=i[n+28>>2],i[n+28>>2]=i[n+24>>2],i[n+24>>2]=o),!k)||(n=i[k+4>>2],i[k+4>>2]=n-1,n))break n;V[i[i[k>>2]+8>>2]](k),g(k)}if(!Z||(k=i[Z+4>>2],i[Z+4>>2]=k-1,k))break k;V[i[i[Z>>2]+8>>2]](Z),g(Z)}if(!w||(k=i[w+4>>2],i[w+4>>2]=k-1,k))break f;V[i[i[w>>2]+8>>2]](w),g(w)}if(r=r+8|0,(j|0)==(r|0))break}}if(l[t+243|0]<0&&G(i[t+232>>2]),k=i[t+248>>2],k){if(r=i[t+252>>2],w=k,(r|0)!=(k|0)){for(;;){n=i[r-4>>2];A:{if(!n||(o=i[n+4>>2],i[n+4>>2]=o-1,o))break A;V[i[i[n>>2]+8>>2]](n),g(n)}if(r=r-8|0,(k|0)==(r|0))break}w=i[t+248>>2]}i[t+252>>2]=k,G(w)}if(!C)break e;w=A,r=i[A+4>>2];A:{if(r){for(;;)if(A=r,r=i[r>>2],!r)break A}for(;A=i[w+8>>2],r=i[A>>2]!=(w|0),w=A,!!r;);}if((A|0)==(I|0))break}r=i[e+48>>2],R=i[r+76>>2],D=i[r+80>>2],D&&(i[D+4>>2]=i[D+4>>2]+1),k=i[e+16>>2];A:{if(!(!R|(I|0)==(k|0))){for(d=i[13631],L=d-12|0,A0=i[13632],p0=A0-12|0,f0=i[13635],X0=f0-12|0,h0=i[13633],G0=h0-12|0,I0=i[13640],Q0=i[13639],F0=i[13637],Y0=i[13636],j=i[13634],n0=t+92|0,a=t+88|0,S0=t+144|0;;){oe(t+248|0,R,i[i[k+20>>2]+20>>2]),C=i[t+248>>2],r2=i[t+252>>2];f:{if((C|0)==(r2|0)){Z=14;break f}y=k+20|0;k:{for(;;){n:{t:{o:{u:{l:{s:{h:{w:{_:{v:{Z:{m:{B:{if(r=i[C+16>>2],(r|0)!=1635088492){if((r|0)!=1953000802)break n;i[t+88>>2]=0,i[t+80>>2]=0,i[t+84>>2]=0,r=i[C+48>>2],A=i[C+44>>2],o=(r|0)==(A|0);p:{W:{if(o)break W;if(r=r-A|0,(r|0)<0)break B;if(n=U(r),i[t+80>>2]=n,u=r+n|0,i[t+88>>2]=u,l0(n,A,r),i[t+84>>2]=u,o)break W;for(;;){o=i[n>>2],_=i[y>>2],l[_+33|0]=1;G:{r=I,A=i[r>>2];C:{if(!A)break C;for(;w=o>>>0>k0[A+16>>2],r=w?r:A,A=i[(w<<2)+A>>2],!!A;);if((r|0)==(I|0))break C;if(o>>>0>=k0[r+16>>2])break G}r=U(48),i[t+224>>2]=r,i[t+228>>2]=41,i[t+232>>2]=-2147483600,A=s[10941]|s[10942]<<8|(s[10943]<<16|s[10944]<<24),n=s[10937]|s[10938]<<8|(s[10939]<<16|s[10940]<<24),l[r|0]=n,l[r+1|0]=n>>>8,l[r+2|0]=n>>>16,l[r+3|0]=n>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+41|0]=0,l[r+40|0]=s[10977],A=s[10973]|s[10974]<<8|(s[10975]<<16|s[10976]<<24),n=s[10969]|s[10970]<<8|(s[10971]<<16|s[10972]<<24),l[r+32|0]=n,l[r+33|0]=n>>>8,l[r+34|0]=n>>>16,l[r+35|0]=n>>>24,l[r+36|0]=A,l[r+37|0]=A>>>8,l[r+38|0]=A>>>16,l[r+39|0]=A>>>24,A=s[10965]|s[10966]<<8|(s[10967]<<16|s[10968]<<24),n=s[10961]|s[10962]<<8|(s[10963]<<16|s[10964]<<24),l[r+24|0]=n,l[r+25|0]=n>>>8,l[r+26|0]=n>>>16,l[r+27|0]=n>>>24,l[r+28|0]=A,l[r+29|0]=A>>>8,l[r+30|0]=A>>>16,l[r+31|0]=A>>>24,A=s[10957]|s[10958]<<8|(s[10959]<<16|s[10960]<<24),n=s[10953]|s[10954]<<8|(s[10955]<<16|s[10956]<<24),l[r+16|0]=n,l[r+17|0]=n>>>8,l[r+18|0]=n>>>16,l[r+19|0]=n>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[10949]|s[10950]<<8|(s[10951]<<16|s[10952]<<24),n=s[10945]|s[10946]<<8|(s[10947]<<16|s[10948]<<24),l[r+8|0]=n,l[r+9|0]=n>>>8,l[r+10|0]=n>>>16,l[r+11|0]=n>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(f,2,2e3,t+224|0),l[t+235|0]<0&&G(i[t+224>>2]),r=0;break p}if(r=i[r+20>>2],s[r+33|0]==1){r=U(40),i[t+224>>2]=r,i[t+228>>2]=38,i[t+232>>2]=-2147483608,A=s[7553]|s[7554]<<8|(s[7555]<<16|s[7556]<<24),n=s[7549]|s[7550]<<8|(s[7551]<<16|s[7552]<<24),l[r|0]=n,l[r+1|0]=n>>>8,l[r+2|0]=n>>>16,l[r+3|0]=n>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+38|0]=0,A=s[7583]|s[7584]<<8|(s[7585]<<16|s[7586]<<24),n=s[7579]|s[7580]<<8|(s[7581]<<16|s[7582]<<24),l[r+30|0]=n,l[r+31|0]=n>>>8,l[r+32|0]=n>>>16,l[r+33|0]=n>>>24,l[r+34|0]=A,l[r+35|0]=A>>>8,l[r+36|0]=A>>>16,l[r+37|0]=A>>>24,A=s[7577]|s[7578]<<8|(s[7579]<<16|s[7580]<<24),n=s[7573]|s[7574]<<8|(s[7575]<<16|s[7576]<<24),l[r+24|0]=n,l[r+25|0]=n>>>8,l[r+26|0]=n>>>16,l[r+27|0]=n>>>24,l[r+28|0]=A,l[r+29|0]=A>>>8,l[r+30|0]=A>>>16,l[r+31|0]=A>>>24,A=s[7569]|s[7570]<<8|(s[7571]<<16|s[7572]<<24),n=s[7565]|s[7566]<<8|(s[7567]<<16|s[7568]<<24),l[r+16|0]=n,l[r+17|0]=n>>>8,l[r+18|0]=n>>>16,l[r+19|0]=n>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[7561]|s[7562]<<8|(s[7563]<<16|s[7564]<<24),n=s[7557]|s[7558]<<8|(s[7559]<<16|s[7560]<<24),l[r+8|0]=n,l[r+9|0]=n>>>8,l[r+10|0]=n>>>16,l[r+11|0]=n>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(f,2,2e3,t+224|0),l[t+235|0]<0&&G(i[t+224>>2]),r=0;break p}if((r|0)==(_|0)){r=U(40),i[t+224>>2]=r,i[t+228>>2]=34,i[t+232>>2]=-2147483608,A=s[12484]|s[12485]<<8|(s[12486]<<16|s[12487]<<24),n=s[12480]|s[12481]<<8|(s[12482]<<16|s[12483]<<24),l[r|0]=n,l[r+1|0]=n>>>8,l[r+2|0]=n>>>16,l[r+3|0]=n>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+34|0]=0,A=s[12512]|s[12513]<<8,l[r+32|0]=A,l[r+33|0]=A>>>8,A=s[12508]|s[12509]<<8|(s[12510]<<16|s[12511]<<24),n=s[12504]|s[12505]<<8|(s[12506]<<16|s[12507]<<24),l[r+24|0]=n,l[r+25|0]=n>>>8,l[r+26|0]=n>>>16,l[r+27|0]=n>>>24,l[r+28|0]=A,l[r+29|0]=A>>>8,l[r+30|0]=A>>>16,l[r+31|0]=A>>>24,A=s[12500]|s[12501]<<8|(s[12502]<<16|s[12503]<<24),n=s[12496]|s[12497]<<8|(s[12498]<<16|s[12499]<<24),l[r+16|0]=n,l[r+17|0]=n>>>8,l[r+18|0]=n>>>16,l[r+19|0]=n>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[12492]|s[12493]<<8|(s[12494]<<16|s[12495]<<24),n=s[12488]|s[12489]<<8|(s[12490]<<16|s[12491]<<24),l[r+8|0]=n,l[r+9|0]=n>>>8,l[r+10|0]=n>>>16,l[r+11|0]=n>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(f,2,2e3,t+224|0),l[t+235|0]<0&&G(i[t+224>>2]),r=0;break p}A=i[r+40>>2];G:{if(A>>>0<k0[r+44>>2]){i[A>>2]=_,o=i[k+24>>2],i[A+4>>2]=o,o&&(i[o+4>>2]=i[o+4>>2]+1),A=A+8|0;break G}A=Q2(r+36|0,y)}if(i[r+40>>2]=A,n=n+4|0,(u|0)==(n|0))break}}VA(e,y),r=1}if(A=i[t+80>>2],A&&G(A),r)break n;Z=1;break k}if(i[t+76>>2]=0,i[t+68>>2]=0,i[t+72>>2]=0,I1(t+224|0,i[e+48>>2],i[i[y>>2]+20>>2],t+68|0),i[t+224>>2]){r=i[t+228>>2],i[f>>2]=i[t+224>>2],i[f+4>>2]=r,i[f+16>>2]=i[t+240>>2],r=i[t+236>>2],i[f+8>>2]=i[t+232>>2],i[f+12>>2]=r,i[t+232>>2]=0,i[t+236>>2]=0,i[t+240>>2]=0,Z=1;break t}if(n=0,p=0,A=i[t+68>>2],u=i[t+72>>2],(A|0)!=(u|0))break m;break Z}y0(),P()}for(;;){r=i[A>>2];m:{if(!r||(o=N0(r,68572,69412),!o))break m;r=i[A+4>>2],r&&(i[r+4>>2]=i[r+4>>2]+2);B:{if(!n||(_=i[n+4>>2],i[n+4>>2]=_-1,_))break B;V[i[i[n>>2]+8>>2]](n),g(n)}r?(n=i[r+4>>2],i[r+4>>2]=n-1,n||(V[i[i[r>>2]+8>>2]](r),g(r))):r=0,n=r,p=o}if(A=A+8|0,(u|0)==(A|0))break}if(!p)break Z;if(u=0,i[t+64>>2]=0,i[t+56>>2]=0,i[t+60>>2]=0,o=0,r=i[C+48>>2],A=i[C+44>>2],(r|0)!=(A|0)){if(r=r-A|0,(r|0)<0)break i;o=U(r),i[t+56>>2]=o,u=r+o|0,i[t+64>>2]=u,l0(o,A,r),i[t+60>>2]=u}switch(W=p+56|0,A=l[p+67|0],_=(A|0)<0,r=i[p+60>>2],(_?r:A)-25|0){case 18:break w;case 1:break _;case 0:break v;default:break s}}i[t+80>>2]=h0,i[t+88>>2]=54496,i[t+144>>2]=54516,r=t+80|0,i[r+i[G0>>2]>>2]=j,i[t+84>>2]=0,A=r+i[i[t+80>>2]-12>>2]|0,b0(A,n0),i[A+72>>2]=0,i[A+76>>2]=-1,i[t+88>>2]=f0,i[i[X0>>2]+a>>2]=Y0,i[t+80>>2]=A0,i[r+i[p0>>2]>>2]=F0,i[t+144>>2]=54516,i[t+80>>2]=54476,i[t+88>>2]=54496,r=$0(n0),i[r>>2]=53552,i[t+132>>2]=0,i[t+136>>2]=0,i[t+124>>2]=0,i[t+128>>2]=0,i[t+140>>2]=24,L0(x(a,19165,27),i[i[y>>2]+20>>2]),A=t+56|0,i2(A,r),r0(f,2,123,A),l[t+67|0]<0&&G(i[t+56>>2]),i[t+80>>2]=d,i[i[L>>2]+(t+80|0)>>2]=Q0,i[t+88>>2]=I0,i[r>>2]=53552,l[t+135|0]<0&&G(i[t+124>>2]),K0(r),T0(S0),Z=1;break o}if(K2(_?i[W>>2]:W,17041,25))break s;if((o|0)!=(u|0))break h;break s}if(K2(_?i[W>>2]:W,17014,26))break s;if((o|0)!=(u|0))break h;break s}if(K2(_?i[W>>2]:W,14619,43)|(o|0)==(u|0))break s}for(;;){_=i[o>>2];h:{w:{r=I,A=i[r>>2];_:{if(!A)break _;for(;w=_>>>0>k0[A+16>>2],r=w?r:A,A=i[(w<<2)+A>>2],!!A;);if((r|0)==(I|0))break _;if(_>>>0>=k0[r+16>>2])break w}if(ne(i[e+48>>2],_))break h;r=U(40),i[t+80>>2]=r,i[t+84>>2]=35,i[t+88>>2]=-2147483608,A=s[13501]|s[13502]<<8|(s[13503]<<16|s[13504]<<24),o=s[13497]|s[13498]<<8|(s[13499]<<16|s[13500]<<24),l[r|0]=o,l[r+1|0]=o>>>8,l[r+2|0]=o>>>16,l[r+3|0]=o>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+35|0]=0,A=s[13528]|s[13529]<<8|(s[13530]<<16|s[13531]<<24),l[r+31|0]=A,l[r+32|0]=A>>>8,l[r+33|0]=A>>>16,l[r+34|0]=A>>>24,A=s[13525]|s[13526]<<8|(s[13527]<<16|s[13528]<<24),o=s[13521]|s[13522]<<8|(s[13523]<<16|s[13524]<<24),l[r+24|0]=o,l[r+25|0]=o>>>8,l[r+26|0]=o>>>16,l[r+27|0]=o>>>24,l[r+28|0]=A,l[r+29|0]=A>>>8,l[r+30|0]=A>>>16,l[r+31|0]=A>>>24,A=s[13517]|s[13518]<<8|(s[13519]<<16|s[13520]<<24),o=s[13513]|s[13514]<<8|(s[13515]<<16|s[13516]<<24),l[r+16|0]=o,l[r+17|0]=o>>>8,l[r+18|0]=o>>>16,l[r+19|0]=o>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[13509]|s[13510]<<8|(s[13511]<<16|s[13512]<<24),o=s[13505]|s[13506]<<8|(s[13507]<<16|s[13508]<<24),l[r+8|0]=o,l[r+9|0]=o>>>8,l[r+10|0]=o>>>16,l[r+11|0]=o>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(f,2,2e3,t+80|0),l[t+91|0]<0&&G(i[t+80>>2]),Z=1;break l}_=i[r+20>>2],A=i[r+24>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),h=i[y>>2];w:{if((h|0)==(_|0)){r=U(32),i[t+80>>2]=r,i[t+84>>2]=30,i[t+88>>2]=-2147483616,w=s[12550]|s[12551]<<8|(s[12552]<<16|s[12553]<<24),Z=s[12546]|s[12547]<<8|(s[12548]<<16|s[12549]<<24),l[r|0]=Z,l[r+1|0]=Z>>>8,l[r+2|0]=Z>>>16,l[r+3|0]=Z>>>24,l[r+4|0]=w,l[r+5|0]=w>>>8,l[r+6|0]=w>>>16,l[r+7|0]=w>>>24,l[r+30|0]=0,w=s[12572]|s[12573]<<8|(s[12574]<<16|s[12575]<<24),Z=s[12568]|s[12569]<<8|(s[12570]<<16|s[12571]<<24),l[r+22|0]=Z,l[r+23|0]=Z>>>8,l[r+24|0]=Z>>>16,l[r+25|0]=Z>>>24,l[r+26|0]=w,l[r+27|0]=w>>>8,l[r+28|0]=w>>>16,l[r+29|0]=w>>>24,w=s[12566]|s[12567]<<8|(s[12568]<<16|s[12569]<<24),Z=s[12562]|s[12563]<<8|(s[12564]<<16|s[12565]<<24),l[r+16|0]=Z,l[r+17|0]=Z>>>8,l[r+18|0]=Z>>>16,l[r+19|0]=Z>>>24,l[r+20|0]=w,l[r+21|0]=w>>>8,l[r+22|0]=w>>>16,l[r+23|0]=w>>>24,w=s[12558]|s[12559]<<8|(s[12560]<<16|s[12561]<<24),Z=s[12554]|s[12555]<<8|(s[12556]<<16|s[12557]<<24),l[r+8|0]=Z,l[r+9|0]=Z>>>8,l[r+10|0]=Z>>>16,l[r+11|0]=Z>>>24,l[r+12|0]=w,l[r+13|0]=w>>>8,l[r+14|0]=w>>>16,l[r+15|0]=w>>>24,r0(f,2,2e3,t+80|0),l[t+91|0]<0&&G(i[t+80>>2]),Z=1;break w}if(l[h+48|0]=1,w=i[k+24>>2],w&&(i[w+4>>2]=i[w+4>>2]+1),i[_+52>>2]=h,r=i[_+56>>2],i[_+56>>2]=w,Z=0,!r||(w=i[r+4>>2],i[r+4>>2]=w-1,w))break w;V[i[i[r>>2]+8>>2]](r),g(r)}w:{if(!A||(r=i[A+4>>2],i[A+4>>2]=r-1,r))break w;V[i[i[A>>2]+8>>2]](A),g(A)}if((h|0)==(_|0))break l}if(o=o+4|0,(u|0)==(o|0))break}A=s[p+67|0],r=i[p+60>>2]}s:{h:{w:{if(h=r,r=A<<24>>24<0,A=(r?h:A)-26|0,A){if((A|0)==17)break w;break s}if(!K2(r?i[W>>2]:W,16753,26))break h;break s}if(K2(r?i[W>>2]:W,8263,43))break s}if(l[i[y>>2]+60|0]=1,Z=i[t+56>>2],n2=i[t+60>>2],(Z|0)==(n2|0))break s;for(;;){o=i[Z>>2];h:{w:{r=I,A=i[r>>2];_:{if(!A)break _;for(;u=o>>>0>k0[A+16>>2],r=u?r:A,A=i[(u<<2)+A>>2],!!A;);if((r|0)==(I|0))break _;if(o>>>0>=k0[r+16>>2])break w}if(ne(i[e+48>>2],o))break h;r=U(40),i[t+80>>2]=r,i[t+84>>2]=35,i[t+88>>2]=-2147483608,A=s[13431]|s[13432]<<8|(s[13433]<<16|s[13434]<<24),o=s[13427]|s[13428]<<8|(s[13429]<<16|s[13430]<<24),l[r|0]=o,l[r+1|0]=o>>>8,l[r+2|0]=o>>>16,l[r+3|0]=o>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+35|0]=0,A=s[13458]|s[13459]<<8|(s[13460]<<16|s[13461]<<24),l[r+31|0]=A,l[r+32|0]=A>>>8,l[r+33|0]=A>>>16,l[r+34|0]=A>>>24,A=s[13455]|s[13456]<<8|(s[13457]<<16|s[13458]<<24),o=s[13451]|s[13452]<<8|(s[13453]<<16|s[13454]<<24),l[r+24|0]=o,l[r+25|0]=o>>>8,l[r+26|0]=o>>>16,l[r+27|0]=o>>>24,l[r+28|0]=A,l[r+29|0]=A>>>8,l[r+30|0]=A>>>16,l[r+31|0]=A>>>24,A=s[13447]|s[13448]<<8|(s[13449]<<16|s[13450]<<24),o=s[13443]|s[13444]<<8|(s[13445]<<16|s[13446]<<24),l[r+16|0]=o,l[r+17|0]=o>>>8,l[r+18|0]=o>>>16,l[r+19|0]=o>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[13439]|s[13440]<<8|(s[13441]<<16|s[13442]<<24),o=s[13435]|s[13436]<<8|(s[13437]<<16|s[13438]<<24),l[r+8|0]=o,l[r+9|0]=o>>>8,l[r+10|0]=o>>>16,l[r+11|0]=o>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(f,2,2e3,t+80|0),l[t+91|0]<0&&G(i[t+80>>2]),Z=1;break l}if(u=i[y>>2],A=i[r+20>>2],(u|0)==(A|0)){r=U(32),i[t+80>>2]=r,i[t+84>>2]=30,i[t+88>>2]=-2147483616,A=s[12519]|s[12520]<<8|(s[12521]<<16|s[12522]<<24),o=s[12515]|s[12516]<<8|(s[12517]<<16|s[12518]<<24),l[r|0]=o,l[r+1|0]=o>>>8,l[r+2|0]=o>>>16,l[r+3|0]=o>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+30|0]=0,A=s[12541]|s[12542]<<8|(s[12543]<<16|s[12544]<<24),o=s[12537]|s[12538]<<8|(s[12539]<<16|s[12540]<<24),l[r+22|0]=o,l[r+23|0]=o>>>8,l[r+24|0]=o>>>16,l[r+25|0]=o>>>24,l[r+26|0]=A,l[r+27|0]=A>>>8,l[r+28|0]=A>>>16,l[r+29|0]=A>>>24,A=s[12535]|s[12536]<<8|(s[12537]<<16|s[12538]<<24),o=s[12531]|s[12532]<<8|(s[12533]<<16|s[12534]<<24),l[r+16|0]=o,l[r+17|0]=o>>>8,l[r+18|0]=o>>>16,l[r+19|0]=o>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[12527]|s[12528]<<8|(s[12529]<<16|s[12530]<<24),o=s[12523]|s[12524]<<8|(s[12525]<<16|s[12526]<<24),l[r+8|0]=o,l[r+9|0]=o>>>8,l[r+10|0]=o>>>16,l[r+11|0]=o>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(f,2,2e3,t+80|0),l[t+91|0]<0&&G(i[t+80>>2]),Z=1;break l}o=i[k+24>>2],o&&(i[o+4>>2]=i[o+4>>2]+1),i[A+64>>2]=u,r=i[A+68>>2],i[A+68>>2]=o;w:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break w;V[i[i[r>>2]+8>>2]](r),g(r)}if(i[t+52>>2]=0,i[t+44>>2]=0,i[t+48>>2]=0,r=i[p+72>>2],o=i[p+68>>2],(r|0)!=(o|0)){if(r=r-o|0,(r|0)<0)break r;A=U(r),i[t+48>>2]=A,i[t+44>>2]=A,u=r+A|0,i[t+52>>2]=u,l0(A,o,r),i[t+48>>2]=u}i[t+40>>2]=0,i[t+32>>2]=0,i[t+36>>2]=0,J=t+80|0,S=t+32|0,o=B-96|0,B=o,r=i[t+44>>2],A=w6(o- -64|0,r,i[t+48>>2]-r|0),r=i[A+8>>2],h=r>>31<<3|r>>>29,u=i[A+24>>2],r=u+(r<<3)|0,h=(u>>31)+h|0,h=r>>>0<u>>>0?h+1|0:h;w:{if((h|0)<=0&r>>>0<=31|(h|0)<0){if(r=U(24),i[o+32>>2]=r,i[o+36>>2]=22,i[o+40>>2]=-2147483624,A=s[3011]|s[3012]<<8|(s[3013]<<16|s[3014]<<24),u=s[3007]|s[3008]<<8|(s[3009]<<16|s[3010]<<24),l[r|0]=u,l[r+1|0]=u>>>8,l[r+2|0]=u>>>16,l[r+3|0]=u>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+22|0]=0,A=s[3025]|s[3026]<<8|(s[3027]<<16|s[3028]<<24),u=s[3021]|s[3022]<<8|(s[3023]<<16|s[3024]<<24),l[r+14|0]=u,l[r+15|0]=u>>>8,l[r+16|0]=u>>>16,l[r+17|0]=u>>>24,l[r+18|0]=A,l[r+19|0]=A>>>8,l[r+20|0]=A>>>16,l[r+21|0]=A>>>24,A=s[3019]|s[3020]<<8|(s[3021]<<16|s[3022]<<24),u=s[3015]|s[3016]<<8|(s[3017]<<16|s[3018]<<24),l[r+8|0]=u,l[r+9|0]=u>>>8,l[r+10|0]=u>>>16,l[r+11|0]=u>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(J,2,100,o+32|0),l[o+43|0]>=0)break w;G(i[o+32>>2]);break w}h=g0(A,32),r=(i[A+4>>2]-i[A+8>>2]|0)+(i[A+24>>2]/-8|0)|0;_:{if((h|0)<=(r|0))break _;if(r=r+i[t+44>>2]|0,u=w6(o+32|0,r,i[t+48>>2]-r|0),r=i[u+8>>2],h=r>>31<<3|r>>>29,A=i[u+24>>2],r=A+(r<<3)|0,v=(A>>31)+h|0,v=r>>>0<A>>>0?v+1|0:v,(v|0)<=0&r>>>0<=39|(v|0)<0){if(r=U(24),i[o+4>>2]=r,i[o+8>>2]=22,i[o+12>>2]=-2147483624,A=s[3011]|s[3012]<<8|(s[3013]<<16|s[3014]<<24),u=s[3007]|s[3008]<<8|(s[3009]<<16|s[3010]<<24),l[r|0]=u,l[r+1|0]=u>>>8,l[r+2|0]=u>>>16,l[r+3|0]=u>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+22|0]=0,A=s[3025]|s[3026]<<8|(s[3027]<<16|s[3028]<<24),u=s[3021]|s[3022]<<8|(s[3023]<<16|s[3024]<<24),l[r+14|0]=u,l[r+15|0]=u>>>8,l[r+16|0]=u>>>16,l[r+17|0]=u>>>24,l[r+18|0]=A,l[r+19|0]=A>>>8,l[r+20|0]=A>>>16,l[r+21|0]=A>>>24,A=s[3019]|s[3020]<<8|(s[3021]<<16|s[3022]<<24),u=s[3015]|s[3016]<<8|(s[3017]<<16|s[3018]<<24),l[r+8|0]=u,l[r+9|0]=u>>>8,l[r+10|0]=u>>>16,l[r+11|0]=u>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(J,2,100,o+4|0),l[o+15|0]>=0)break w;G(i[o+4>>2]);break w}if(g0(u,32),r=g0(u,8),p2(u,8),(r>>>1&255)-39>>>0>1)break _;if(r=i[u+24>>2],A=r,_=r>>31,r=i[u+8>>2],h=r>>31<<3|r>>>29,w=A,A=r<<3,r=w+A|0,h=h+_|0,h=r>>>0<A>>>0?h+1|0:h,(h|0)<=0&r>>>0<=15|(h|0)<0){if(r=U(24),i[o+4>>2]=r,i[o+8>>2]=22,i[o+12>>2]=-2147483624,A=s[3011]|s[3012]<<8|(s[3013]<<16|s[3014]<<24),u=s[3007]|s[3008]<<8|(s[3009]<<16|s[3010]<<24),l[r|0]=u,l[r+1|0]=u>>>8,l[r+2|0]=u>>>16,l[r+3|0]=u>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+22|0]=0,A=s[3025]|s[3026]<<8|(s[3027]<<16|s[3028]<<24),u=s[3021]|s[3022]<<8|(s[3023]<<16|s[3024]<<24),l[r+14|0]=u,l[r+15|0]=u>>>8,l[r+16|0]=u>>>16,l[r+17|0]=u>>>24,l[r+18|0]=A,l[r+19|0]=A>>>8,l[r+20|0]=A>>>16,l[r+21|0]=A>>>24,A=s[3019]|s[3020]<<8|(s[3021]<<16|s[3022]<<24),u=s[3015]|s[3016]<<8|(s[3017]<<16|s[3018]<<24),l[r+8|0]=u,l[r+9|0]=u>>>8,l[r+10|0]=u>>>16,l[r+11|0]=u>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(J,2,100,o+4|0),l[o+15|0]>=0)break w;G(i[o+4>>2]);break w}if(r=g0(u,8),g0(u,8),(r&255)!=177)break _;_=B-48|0,B=_,w=o+4|0,r=w,i[r>>2]=0,i[r+4>>2]=0,h=r+8|0,r=h,i[r>>2]=0,i[r+4>>2]=0,i[r+16>>2]=0,i[r+8>>2]=0,i[r+12>>2]=0,r=U(80),i[r+16>>2]=0,i[r+20>>2]=0,i[r+24>>2]=0,i[r+28>>2]=0,i[r>>2]=74312,i[r+4>>2]=0,i[r+8>>2]=0,i[r+72>>2]=0,i[r+76>>2]=0,i[r+16>>2]=74352,i[r+32>>2]=0,i[r+36>>2]=0,i[r+40>>2]=0,i[r+44>>2]=0,i[r+48>>2]=0,i[r+52>>2]=0,i[r+56>>2]=0,i[r+60>>2]=0,A=r- -64|0,i[A>>2]=0,i[A+4>>2]=0,l[r+24|0]=1,A=g0(u,1),l[r+25|0]=A,s2=r,W2=g0(u,1),l[s2+26|0]=W2,v=g0(u,1),l[r+27|0]=v,z=g0(u,1),l[r+28|0]=z;v:{Z:{m:{if(!g1(u,_+44|0)){if(A=U(48),i[_+12>>2]=A,i[_+16>>2]=42,i[_+20>>2]=-2147483600,u=s[2744]|s[2745]<<8,l[A+40|0]=u,l[A+41|0]=u>>>8,u=s[2740]|s[2741]<<8|(s[2742]<<16|s[2743]<<24),v=s[2736]|s[2737]<<8|(s[2738]<<16|s[2739]<<24),l[A+32|0]=v,l[A+33|0]=v>>>8,l[A+34|0]=v>>>16,l[A+35|0]=v>>>24,l[A+36|0]=u,l[A+37|0]=u>>>8,l[A+38|0]=u>>>16,l[A+39|0]=u>>>24,u=s[2732]|s[2733]<<8|(s[2734]<<16|s[2735]<<24),v=s[2728]|s[2729]<<8|(s[2730]<<16|s[2731]<<24),l[A+24|0]=v,l[A+25|0]=v>>>8,l[A+26|0]=v>>>16,l[A+27|0]=v>>>24,l[A+28|0]=u,l[A+29|0]=u>>>8,l[A+30|0]=u>>>16,l[A+31|0]=u>>>24,u=s[2724]|s[2725]<<8|(s[2726]<<16|s[2727]<<24),v=s[2720]|s[2721]<<8|(s[2722]<<16|s[2723]<<24),l[A+16|0]=v,l[A+17|0]=v>>>8,l[A+18|0]=v>>>16,l[A+19|0]=v>>>24,l[A+20|0]=u,l[A+21|0]=u>>>8,l[A+22|0]=u>>>16,l[A+23|0]=u>>>24,u=s[2716]|s[2717]<<8|(s[2718]<<16|s[2719]<<24),v=s[2712]|s[2713]<<8|(s[2714]<<16|s[2715]<<24),l[A+8|0]=v,l[A+9|0]=v>>>8,l[A+10|0]=v>>>16,l[A+11|0]=v>>>24,l[A+12|0]=u,l[A+13|0]=u>>>8,l[A+14|0]=u>>>16,l[A+15|0]=u>>>24,u=s[2708]|s[2709]<<8|(s[2710]<<16|s[2711]<<24),v=s[2704]|s[2705]<<8|(s[2706]<<16|s[2707]<<24),l[A|0]=v,l[A+1|0]=v>>>8,l[A+2|0]=v>>>16,l[A+3|0]=v>>>24,l[A+4|0]=u,l[A+5|0]=u>>>8,l[A+6|0]=u>>>16,l[A+7|0]=u>>>24,l[A+42|0]=0,A=r0(_+24|0,2,2006,_+12|0),u=i[A+4>>2],i[h>>2]=i[A>>2],i[h+4>>2]=u,l[w+27|0]<0&&G(i[w+16>>2]),u=i[A+12>>2],i[w+16>>2]=i[A+8>>2],i[w+20>>2]=u,i[w+24>>2]=i[A+16>>2],l[A+19|0]=0,l[A+8|0]=0,l[_+23|0]>=0)break m;G(i[_+12>>2]);break m}if(q=i[_+44>>2],q>>>0>=4){if(A=U(48),i[_+12>>2]=A,i[_+16>>2]=44,i[_+20>>2]=-2147483600,u=s[10456]|s[10457]<<8|(s[10458]<<16|s[10459]<<24),l[A+40|0]=u,l[A+41|0]=u>>>8,l[A+42|0]=u>>>16,l[A+43|0]=u>>>24,u=s[10452]|s[10453]<<8|(s[10454]<<16|s[10455]<<24),v=s[10448]|s[10449]<<8|(s[10450]<<16|s[10451]<<24),l[A+32|0]=v,l[A+33|0]=v>>>8,l[A+34|0]=v>>>16,l[A+35|0]=v>>>24,l[A+36|0]=u,l[A+37|0]=u>>>8,l[A+38|0]=u>>>16,l[A+39|0]=u>>>24,u=s[10444]|s[10445]<<8|(s[10446]<<16|s[10447]<<24),v=s[10440]|s[10441]<<8|(s[10442]<<16|s[10443]<<24),l[A+24|0]=v,l[A+25|0]=v>>>8,l[A+26|0]=v>>>16,l[A+27|0]=v>>>24,l[A+28|0]=u,l[A+29|0]=u>>>8,l[A+30|0]=u>>>16,l[A+31|0]=u>>>24,u=s[10436]|s[10437]<<8|(s[10438]<<16|s[10439]<<24),v=s[10432]|s[10433]<<8|(s[10434]<<16|s[10435]<<24),l[A+16|0]=v,l[A+17|0]=v>>>8,l[A+18|0]=v>>>16,l[A+19|0]=v>>>24,l[A+20|0]=u,l[A+21|0]=u>>>8,l[A+22|0]=u>>>16,l[A+23|0]=u>>>24,u=s[10428]|s[10429]<<8|(s[10430]<<16|s[10431]<<24),v=s[10424]|s[10425]<<8|(s[10426]<<16|s[10427]<<24),l[A+8|0]=v,l[A+9|0]=v>>>8,l[A+10|0]=v>>>16,l[A+11|0]=v>>>24,l[A+12|0]=u,l[A+13|0]=u>>>8,l[A+14|0]=u>>>16,l[A+15|0]=u>>>24,u=s[10420]|s[10421]<<8|(s[10422]<<16|s[10423]<<24),v=s[10416]|s[10417]<<8|(s[10418]<<16|s[10419]<<24),l[A|0]=v,l[A+1|0]=v>>>8,l[A+2|0]=v>>>16,l[A+3|0]=v>>>24,l[A+4|0]=u,l[A+5|0]=u>>>8,l[A+6|0]=u>>>16,l[A+7|0]=u>>>24,l[A+44|0]=0,A=r0(_+24|0,2,2006,_+12|0),u=i[A+4>>2],i[h>>2]=i[A>>2],i[h+4>>2]=u,l[w+27|0]<0&&G(i[w+16>>2]),u=i[A+12>>2],i[w+16>>2]=i[A+8>>2],i[w+20>>2]=u,i[w+24>>2]=i[A+16>>2],l[A+19|0]=0,l[A+8|0]=0,l[_+23|0]>=0)break m;G(i[_+12>>2]);break m}if(i[r+64>>2]=q,(v|z)&255){if(!g1(u,_+8|0)){if(A=U(48),i[_+12>>2]=A,i[_+16>>2]=41,i[_+20>>2]=-2147483600,l[A+40|0]=s[2702],u=s[2698]|s[2699]<<8|(s[2700]<<16|s[2701]<<24),v=s[2694]|s[2695]<<8|(s[2696]<<16|s[2697]<<24),l[A+32|0]=v,l[A+33|0]=v>>>8,l[A+34|0]=v>>>16,l[A+35|0]=v>>>24,l[A+36|0]=u,l[A+37|0]=u>>>8,l[A+38|0]=u>>>16,l[A+39|0]=u>>>24,u=s[2690]|s[2691]<<8|(s[2692]<<16|s[2693]<<24),v=s[2686]|s[2687]<<8|(s[2688]<<16|s[2689]<<24),l[A+24|0]=v,l[A+25|0]=v>>>8,l[A+26|0]=v>>>16,l[A+27|0]=v>>>24,l[A+28|0]=u,l[A+29|0]=u>>>8,l[A+30|0]=u>>>16,l[A+31|0]=u>>>24,u=s[2682]|s[2683]<<8|(s[2684]<<16|s[2685]<<24),v=s[2678]|s[2679]<<8|(s[2680]<<16|s[2681]<<24),l[A+16|0]=v,l[A+17|0]=v>>>8,l[A+18|0]=v>>>16,l[A+19|0]=v>>>24,l[A+20|0]=u,l[A+21|0]=u>>>8,l[A+22|0]=u>>>16,l[A+23|0]=u>>>24,u=s[2674]|s[2675]<<8|(s[2676]<<16|s[2677]<<24),v=s[2670]|s[2671]<<8|(s[2672]<<16|s[2673]<<24),l[A+8|0]=v,l[A+9|0]=v>>>8,l[A+10|0]=v>>>16,l[A+11|0]=v>>>24,l[A+12|0]=u,l[A+13|0]=u>>>8,l[A+14|0]=u>>>16,l[A+15|0]=u>>>24,u=s[2666]|s[2667]<<8|(s[2668]<<16|s[2669]<<24),v=s[2662]|s[2663]<<8|(s[2664]<<16|s[2665]<<24),l[A|0]=v,l[A+1|0]=v>>>8,l[A+2|0]=v>>>16,l[A+3|0]=v>>>24,l[A+4|0]=u,l[A+5|0]=u>>>8,l[A+6|0]=u>>>16,l[A+7|0]=u>>>24,l[A+41|0]=0,A=r0(_+24|0,2,2006,_+12|0),u=i[A+4>>2],i[h>>2]=i[A>>2],i[h+4>>2]=u,l[w+27|0]<0&&G(i[w+16>>2]),u=i[A+12>>2],i[w+16>>2]=i[A+8>>2],i[w+20>>2]=u,i[w+24>>2]=i[A+16>>2],l[A+19|0]=0,l[A+8|0]=0,l[_+23|0]<0&&G(i[_+12>>2]),A=i[r+4>>2],i[r+4>>2]=A-1,!A)break Z;break v}i[r+68>>2]=i[_+8>>2],A=s[r+25|0]}if(A&255){h=g0(u,1),A=g0(u,7),v=g0(u,5),z=v+1|0,E=+(g0(u,z)|0);B:{if((A|0)>0){H=M1(1,z),E=M1(1,A-31|0)*(E/H+1);break B}E=M1(1,-31-v|0)*E}i0[r+32>>3]=h?-E:E}if(s[r+26|0]){h=g0(u,1),A=g0(u,7),v=g0(u,5),z=v+1|0,E=+(g0(u,z)|0);B:{if((A|0)>0){H=M1(1,z),E=M1(1,A-31|0)*(E/H+1);break B}E=M1(1,-31-v|0)*E}i0[r+40>>3]=h?-E:E}if(s[r+27|0]){h=g0(u,1),A=g0(u,7),v=g0(u,5),z=v+1|0,E=+(g0(u,z)|0);B:{if((A|0)>0){H=M1(1,z),E=M1(1,A-31|0)*(E/H+1);break B}E=M1(1,-31-v|0)*E}i0[r+48>>3]=h?-E:E}if(s[r+28|0]){h=g0(u,1),A=g0(u,7),q=u,u=g0(u,5),v=u+1|0,E=+(g0(q,v)|0);B:{if((A|0)>0){H=M1(1,v),E=M1(1,A-31|0)*(E/H+1);break B}E=M1(1,-31-u|0)*E}i0[r+56>>3]=h?-E:E}if(i[r+4>>2]=i[r+4>>2]+1,i[w>>2]=r+16,A=i[w+4>>2],i[w+4>>2]=r,!A||(u=i[A+4>>2],i[A+4>>2]=u-1,u))break m;V[i[i[A>>2]+8>>2]](A),g(A)}if(A=i[r+4>>2],i[r+4>>2]=A-1,A)break v}V[i[i[r>>2]+8>>2]](r),g(r)}if(B=_+48|0,i[o+12>>2]){r=i[o+16>>2],i[J>>2]=i[o+12>>2],i[J+4>>2]=r,r=J+8|0;v:{if(l[o+31|0]>=0){A=i[o+24>>2],i[r>>2]=i[o+20>>2],i[r+4>>2]=A,i[r+8>>2]=i[o+28>>2];break v}_0(r,i[o+20>>2],i[o+24>>2])}it(o+4|0);break w}r=o+4|0,A=i[S+4>>2];v:{if(A>>>0<k0[S+8>>2]){i[A>>2]=i[r>>2],u=i[r+4>>2],i[A+4>>2]=u,u&&(i[u+4>>2]=i[u+4>>2]+1),i[S+4>>2]=A+8;break v}s2=S,W2=Q2(S,r),i[s2+4>>2]=W2}it(r)}if(r=i[19565],i[J>>2]=i[19564],i[J+4>>2]=r,r=J+8|0,l[78275]>=0){A=i[19567],i[r>>2]=i[19566],i[r+4>>2]=A,i[r+8>>2]=i[19568];break w}_0(r,i[19566],i[19567])}if(B=o+96|0,r=i[t+84>>2],i[t+224>>2]=i[t+80>>2],i[t+228>>2]=r,l[t+243|0]<0&&G(i[t+232>>2]),r=i[a+4>>2],i[t+232>>2]=i[a>>2],i[t+236>>2]=r,i[t+240>>2]=i[a+8>>2],A=i[t+32>>2],_=i[t+36>>2],(A|0)!=(_|0)){for(;;){r=i[A>>2];w:{if(!r||(r=N0(r,72688,72704),!r))break w;if(u=i[A+4>>2],!u){o=i[y>>2],l[o+72|0]=1,u=i[r+12>>2],i[o+80>>2]=i[r+8>>2],i[o+84>>2]=u,u=i[r+20>>2],i[o+88>>2]=i[r+16>>2],i[o+92>>2]=u,u=i[r+28>>2],i[o+96>>2]=i[r+24>>2],i[o+100>>2]=u,u=i[r+36>>2],i[o+104>>2]=i[r+32>>2],i[o+108>>2]=u,u=i[r+44>>2],i[o+112>>2]=i[r+40>>2],i[o+116>>2]=u,u=i[r+52>>2],i[o+120>>2]=i[r+48>>2],i[o+124>>2]=u,u=i[r+60>>2],i[o+128>>2]=i[r+56>>2],i[o+132>>2]=u;break w}if(i[u+4>>2]=i[u+4>>2]+1,o=i[y>>2],l[o+72|0]=1,w=i[r+12>>2],i[o+80>>2]=i[r+8>>2],i[o+84>>2]=w,w=i[r+20>>2],i[o+88>>2]=i[r+16>>2],i[o+92>>2]=w,w=i[r+28>>2],i[o+96>>2]=i[r+24>>2],i[o+100>>2]=w,w=i[r+36>>2],i[o+104>>2]=i[r+32>>2],i[o+108>>2]=w,w=i[r+44>>2],i[o+112>>2]=i[r+40>>2],i[o+116>>2]=w,w=i[r+52>>2],i[o+120>>2]=i[r+48>>2],i[o+124>>2]=w,w=i[r+60>>2],i[o+128>>2]=i[r+56>>2],i[o+132>>2]=w,r=i[u+4>>2],i[u+4>>2]=r-1,r)break w;V[i[i[u>>2]+8>>2]](u),g(u)}if(A=A+8|0,(_|0)==(A|0))break}A=i[t+32>>2]}if(A){if(w=A,r=i[t+36>>2],(A|0)!=(r|0)){for(;;){o=i[r-4>>2];w:{if(!o||(u=i[o+4>>2],i[o+4>>2]=u-1,u))break w;V[i[i[o>>2]+8>>2]](o),g(o)}if(r=r-8|0,(A|0)==(r|0))break}w=i[t+32>>2]}i[t+36>>2]=A,G(w)}if(r=i[t+44>>2],!r)break h;i[t+48>>2]=r,G(r)}if(Z=Z+4|0,(n2|0)==(Z|0))break}}o=i[y>>2],l[o+136|0]=1,r=o+140|0;s:{if((r|0)==(W|0))break s;if(A=l[p+67|0],l[o+151|0]>=0){if((A|0)>=0){A=i[W+4>>2],i[r>>2]=i[W>>2],i[r+4>>2]=A,i[r+8>>2]=i[W+8>>2];break s}i4(r,i[p+56>>2],i[p+60>>2]);break s}h=r,r=(A|0)<0,_4(h,r?i[p+56>>2]:W,r?i[p+60>>2]:A)}if(p=i[t+56>>2],_=i[t+60>>2],(p|0)==(_|0)){Z=0;break u}for(;;){o=i[p>>2];s:{h:{r=I,A=i[r>>2];w:{if(!A)break w;for(;u=o>>>0>k0[A+16>>2],r=u?r:A,A=i[(u<<2)+A>>2],!!A;);if((r|0)==(I|0))break w;if(o>>>0>=k0[r+16>>2])break h}if(ne(i[e+48>>2],o))break s;r=U(40),i[t+80>>2]=r,i[t+84>>2]=33,i[t+88>>2]=-2147483608,A=s[13397]|s[13398]<<8|(s[13399]<<16|s[13400]<<24),o=s[13393]|s[13394]<<8|(s[13395]<<16|s[13396]<<24),l[r|0]=o,l[r+1|0]=o>>>8,l[r+2|0]=o>>>16,l[r+3|0]=o>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+33|0]=0,l[r+32|0]=s[13425],A=s[13421]|s[13422]<<8|(s[13423]<<16|s[13424]<<24),o=s[13417]|s[13418]<<8|(s[13419]<<16|s[13420]<<24),l[r+24|0]=o,l[r+25|0]=o>>>8,l[r+26|0]=o>>>16,l[r+27|0]=o>>>24,l[r+28|0]=A,l[r+29|0]=A>>>8,l[r+30|0]=A>>>16,l[r+31|0]=A>>>24,A=s[13413]|s[13414]<<8|(s[13415]<<16|s[13416]<<24),o=s[13409]|s[13410]<<8|(s[13411]<<16|s[13412]<<24),l[r+16|0]=o,l[r+17|0]=o>>>8,l[r+18|0]=o>>>16,l[r+19|0]=o>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[13405]|s[13406]<<8|(s[13407]<<16|s[13408]<<24),o=s[13401]|s[13402]<<8|(s[13403]<<16|s[13404]<<24),l[r+8|0]=o,l[r+9|0]=o>>>8,l[r+10|0]=o>>>16,l[r+11|0]=o>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(f,2,2e3,t+80|0),l[t+91|0]<0&&G(i[t+80>>2]),Z=1;break l}if(u=i[y>>2],A=i[r+20>>2],(u|0)==(A|0)){r=U(32),i[t+80>>2]=r,i[t+84>>2]=28,i[t+88>>2]=-2147483616,A=s[12455]|s[12456]<<8|(s[12457]<<16|s[12458]<<24),o=s[12451]|s[12452]<<8|(s[12453]<<16|s[12454]<<24),l[r|0]=o,l[r+1|0]=o>>>8,l[r+2|0]=o>>>16,l[r+3|0]=o>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+28|0]=0,A=s[12475]|s[12476]<<8|(s[12477]<<16|s[12478]<<24),l[r+24|0]=A,l[r+25|0]=A>>>8,l[r+26|0]=A>>>16,l[r+27|0]=A>>>24,A=s[12471]|s[12472]<<8|(s[12473]<<16|s[12474]<<24),o=s[12467]|s[12468]<<8|(s[12469]<<16|s[12470]<<24),l[r+16|0]=o,l[r+17|0]=o>>>8,l[r+18|0]=o>>>16,l[r+19|0]=o>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[12463]|s[12464]<<8|(s[12465]<<16|s[12466]<<24),o=s[12459]|s[12460]<<8|(s[12461]<<16|s[12462]<<24),l[r+8|0]=o,l[r+9|0]=o>>>8,l[r+10|0]=o>>>16,l[r+11|0]=o>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(f,2,2e3,t+80|0),l[t+91|0]<0&&G(i[t+80>>2]),Z=1;break l}r=i[k+24>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),i[t+84>>2]=r,i[t+80>>2]=u,o=i[A+156>>2];h:{if(o>>>0<k0[A+160>>2]){i[o+4>>2]=r,i[o>>2]=u,i[A+156>>2]=o+8;break h}if(o=z2(A+152|0,t+80|0),r=i[t+84>>2],i[A+156>>2]=o,!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break h;V[i[i[r>>2]+8>>2]](r),g(r)}VA(e,y)}if(p=p+4|0,(_|0)==(p|0))break}Z=0}p=i[t+56>>2]}if(!p)break o;G(p)}if(!n||(r=i[n+4>>2],i[n+4>>2]=r-1,r))break t;V[i[i[n>>2]+8>>2]](n),g(n)}if(l[t+243|0]<0&&G(i[t+232>>2]),n=i[t+68>>2],n){if(r=n,A=i[t+72>>2],(r|0)!=(A|0)){for(;;){r=i[A-4>>2];t:{if(!r||(o=i[r+4>>2],i[r+4>>2]=o-1,o))break t;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(n|0)==(A|0))break}r=i[t+68>>2]}i[t+72>>2]=n,G(r)}if(Z)break k}if(C=C+56|0,(r2|0)==(C|0))break}Z=14}C=i[t+248>>2]}if(C){if(r=C,A=i[t+252>>2],(r|0)!=(A|0)){for(;r=i[A-12>>2],r&&(i[A-8>>2]=r,G(r)),r=A-56|0,i[r>>2]=68500,n=i[A-36>>2],n&&(i[A-32>>2]=n,G(n)),A=r,(r|0)!=(C|0););r=i[t+248>>2]}i[t+252>>2]=C,G(r)}f:{if((Z|0)!=14){if((Z|0)==12)break f;break A}r=k,A=i[r+4>>2];k:{if(A){for(;;)if(k=A,A=i[A>>2],!A)break k}for(;k=i[r+8>>2],A=i[k>>2]!=(r|0),r=k,!!A;);}if((k|0)!=(I|0))continue}break}k=i[e+16>>2]}f:{if((k|0)!=(I|0)){for(;;){fe(t+224|0,i[e+48>>2],i[i[k+20>>2]+20>>2]),A=i[t+224>>2],w=i[A+68>>2],r=l[A+75|0],n=(r|0)<0;k:{if(((n?w:r)|0)!=4||(n=n?i[A+64>>2]:A- -64|0,(s[n|0]|s[n+1|0]<<8|(s[n+2|0]<<16|s[n+3|0]<<24))!=828601960))break k;A=i[e+48>>2],i[t+248>>2]=i[A+52>>2],r=i[A+56>>2],i[t+252>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1,A=i[e+48>>2]),n=i[A+44>>2],r=i[A+48>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),p4(t+80|0,n,i[i[k+20>>2]+20>>2],t+248|0,1752589123),n=i[t+80>>2],A=i[t+84>>2];n:{if(!A||(o=i[A+4>>2],i[A+4>>2]=o-1,o))break n;V[i[i[A>>2]+8>>2]](A),g(A)}if(!n){e=U(40),i[t+80>>2]=e,i[t+84>>2]=35,i[t+88>>2]=-2147483608,k=s[11019]|s[11020]<<8|(s[11021]<<16|s[11022]<<24),A=s[11015]|s[11016]<<8|(s[11017]<<16|s[11018]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=k,l[e+5|0]=k>>>8,l[e+6|0]=k>>>16,l[e+7|0]=k>>>24,l[e+35|0]=0,k=s[11046]|s[11047]<<8|(s[11048]<<16|s[11049]<<24),l[e+31|0]=k,l[e+32|0]=k>>>8,l[e+33|0]=k>>>16,l[e+34|0]=k>>>24,k=s[11043]|s[11044]<<8|(s[11045]<<16|s[11046]<<24),A=s[11039]|s[11040]<<8|(s[11041]<<16|s[11042]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=k,l[e+29|0]=k>>>8,l[e+30|0]=k>>>16,l[e+31|0]=k>>>24,k=s[11035]|s[11036]<<8|(s[11037]<<16|s[11038]<<24),A=s[11031]|s[11032]<<8|(s[11033]<<16|s[11034]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=k,l[e+21|0]=k>>>8,l[e+22|0]=k>>>16,l[e+23|0]=k>>>24,k=s[11027]|s[11028]<<8|(s[11029]<<16|s[11030]<<24),A=s[11023]|s[11024]<<8|(s[11025]<<16|s[11026]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=k,l[e+13|0]=k>>>8,l[e+14|0]=k>>>16,l[e+15|0]=k>>>24,r0(f,2,106,t+80|0),l[t+91|0]<0&&G(i[t+80>>2]);n:{if(!r||(f=i[r+4>>2],i[r+4>>2]=f-1,f))break n;V[i[i[r>>2]+8>>2]](r),g(r)}if(f=i[t+252>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break f;V[i[i[f>>2]+8>>2]](f),g(f);break f}n:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break n;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[t+252>>2];n:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break n;V[i[i[r>>2]+8>>2]](r),g(r)}A=i[t+224>>2],r=s[A+75|0],w=i[A+68>>2]}h=r,r=r<<24>>24<0;k:{if(((r?w:h)|0)!=4||(r=r?i[A+64>>2]:A- -64|0,(s[r|0]|s[r+1|0]<<8|(s[r+2|0]<<16|s[r+3|0]<<24))!=828601974))break k;A=i[e+48>>2],i[t+248>>2]=i[A+52>>2],r=i[A+56>>2],i[t+252>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1,A=i[e+48>>2]),n=i[A+44>>2],r=i[A+48>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),p4(t+80|0,n,i[i[k+20>>2]+20>>2],t+248|0,1987470147),n=i[t+80>>2],A=i[t+84>>2];n:{if(!A||(o=i[A+4>>2],i[A+4>>2]=o-1,o))break n;V[i[i[A>>2]+8>>2]](A),g(A)}if(!n){e=U(40),i[t+80>>2]=e,i[t+84>>2]=35,i[t+88>>2]=-2147483608,k=s[10983]|s[10984]<<8|(s[10985]<<16|s[10986]<<24),A=s[10979]|s[10980]<<8|(s[10981]<<16|s[10982]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=k,l[e+5|0]=k>>>8,l[e+6|0]=k>>>16,l[e+7|0]=k>>>24,l[e+35|0]=0,k=s[11010]|s[11011]<<8|(s[11012]<<16|s[11013]<<24),l[e+31|0]=k,l[e+32|0]=k>>>8,l[e+33|0]=k>>>16,l[e+34|0]=k>>>24,k=s[11007]|s[11008]<<8|(s[11009]<<16|s[11010]<<24),A=s[11003]|s[11004]<<8|(s[11005]<<16|s[11006]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=k,l[e+29|0]=k>>>8,l[e+30|0]=k>>>16,l[e+31|0]=k>>>24,k=s[10999]|s[11e3]<<8|(s[11001]<<16|s[11002]<<24),A=s[10995]|s[10996]<<8|(s[10997]<<16|s[10998]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=k,l[e+21|0]=k>>>8,l[e+22|0]=k>>>16,l[e+23|0]=k>>>24,k=s[10991]|s[10992]<<8|(s[10993]<<16|s[10994]<<24),A=s[10987]|s[10988]<<8|(s[10989]<<16|s[10990]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=k,l[e+13|0]=k>>>8,l[e+14|0]=k>>>16,l[e+15|0]=k>>>24,r0(f,2,141,t+80|0),l[t+91|0]<0&&G(i[t+80>>2]);n:{if(!r||(f=i[r+4>>2],i[r+4>>2]=f-1,f))break n;V[i[i[r>>2]+8>>2]](r),g(r)}if(f=i[t+252>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break f;V[i[i[f>>2]+8>>2]](f),g(f);break f}n:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break n;V[i[i[r>>2]+8>>2]](r),g(r)}if(r=i[t+252>>2],!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break k;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[t+228>>2];k:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break k;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[k+4>>2];k:{if(r){for(;;)if(A=r,r=i[r>>2],!r)break k}for(;A=i[k+8>>2],r=i[A>>2]!=(k|0),k=A,!!r;);}if(k=A,(A|0)==(I|0))break}k=i[e+16>>2]}k:{if((k|0)==(I|0))break k;for(;;){n=i[k+16>>2],fe(t+224|0,i[e+48>>2],n),A=i[t+224>>2],r=A?30:31;n:{if(!R|!A)break n;o=l[A+75|0],r=(o|0)<0;t:{if(((r?i[A+68>>2]:o)|0)!=4||(r=r?i[A+64>>2]:A- -64|0,(s[r|0]|s[r+1|0]<<8|(s[r+2|0]<<16|s[r+3|0]<<24))!=1684632167))break t;oi(t+80|0,R,n),w=i[t+80>>2];o:{if((w|0)==i[t+84>>2]){r=31;break o}r=31,A=i[I>>2];u:{if(!A)break u;for(n=i[w>>2],w=I;o=n>>>0>k0[A+16>>2],w=o?w:A,A=i[(o<<2)+A>>2],!!A;);if((w|0)==(I|0)|n>>>0<k0[w+16>>2])break u;n=i[w+20>>2],A=i[w+24>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),r=i[k+20>>2];l:{if(i[r+184>>2]||(o=i[n+184>>2],!o))break l;i[t+248>>2]=o,o=i[n+188>>2],i[t+252>>2]=o,o&&(i[o+4>>2]=i[o+4>>2]+1),jA(r,t+248|0),r=i[t+252>>2];s:{if(!r||(o=i[r+4>>2],i[r+4>>2]=o-1,o))break s;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[k+20>>2]}l:{if(i[r+176>>2]||(o=i[n+176>>2],!o)||(i[t+248>>2]=o,n=i[n+180>>2],i[t+252>>2]=n,n&&(i[n+4>>2]=i[n+4>>2]+1),jA(r,t+248|0),r=i[t+252>>2],!r)||(n=i[r+4>>2],i[r+4>>2]=n-1,n))break l;V[i[i[r>>2]+8>>2]](r),g(r)}if(r=0,!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break u;V[i[i[A>>2]+8>>2]](A),g(A)}w=i[t+80>>2]}if(w&&(i[t+84>>2]=w,G(w)),r)break n}r=0}A=i[t+228>>2];n:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break n;V[i[i[A>>2]+8>>2]](A),g(A)}if(r&&(r|0)!=31)break k;r=i[k+4>>2];n:{if(r){for(;;)if(A=r,r=i[r>>2],!r)break n}for(;A=i[k+8>>2],r=i[A>>2]!=(k|0),k=A,!!r;);}if(k=A,(A|0)==(I|0))break}}k:{p=i[t+260>>2],h=i[t+264>>2];n:{if((p|0)==(h|0))break n;for(;;){n=t+224|0,A=i[p>>2],W6(n,i[e+48>>2],A),r=l[t+235|0],k=(r|0)<0;t:{if(((k?i[t+228>>2]:r)|0)==4&&(Z=33,k=k?i[t+224>>2]:n,w=s[k+1|0]<<8,o=s[k+2|0]<<16|s[k+3|0]<<24,(s[k|0]|w|o)==1851877234|(o|(w|s[k|0]))==1852138601))break t;cr(t+248|0,i[e+48>>2],A),n=t+68|0,r=0;o:{u:{o=i[e+48>>2],k=i[o+112>>2];l:{if(!k)break l;for(o=o+112|0,w=o;r=A>>>0>k0[k+16>>2],w=r?w:k,k=i[(r<<2)+k>>2],!!k;);if(r=0,(o|0)==(w|0)|A>>>0<k0[w+16>>2])break l;if(k=i[w+20>>2],r=i[w+24>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),k)break u}l[n|0]=0,l[n+11|0]=0;break o}if(l[k+123|0]>=0){o=i[k+116>>2],i[n>>2]=i[k+112>>2],i[n+4>>2]=o,i[n+8>>2]=i[k+120>>2];break o}_0(n,i[k+112>>2],i[k+116>>2])}o:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break o;V[i[i[r>>2]+8>>2]](r),g(r)}k=U(64),r=k,i[r+16>>2]=0,i[r+20>>2]=0,i[r>>2]=72744,i[r+4>>2]=0,i[r+8>>2]=0,i[r+12>>2]=A,i[r+24>>2]=0,i[r+28>>2]=0,i[r+32>>2]=0,i[r+36>>2]=0,n=r+40|0,r=n,i[r>>2]=0,i[r+4>>2]=0,i[k+48>>2]=0,i[k+52>>2]=0,i[k+56>>2]=0,i[k+60>>2]=0,r=k+16|0;o:{u:{l:{s:{if(l[t+235|0]>=0){if(o=i[t+228>>2],i[r>>2]=i[t+224>>2],i[r+4>>2]=o,i[r+8>>2]=i[t+232>>2],r=k+28|0,l[t+259|0]>=0)break s;break u}if(i4(r,i[t+224>>2],i[t+228>>2]),r=k+28|0,o=l[t+259|0],l[k+39|0]<0)break l;if((o|0)<0)break u}o=i[t+252>>2],i[r>>2]=i[t+248>>2],i[r+4>>2]=o,i[r+8>>2]=i[t+256>>2];break o}w=r,r=(o|0)<0,_4(w,r?i[t+248>>2]:t+248|0,r?i[t+252>>2]:o);break o}i4(r,i[t+248>>2],i[t+252>>2])}r=l[t+79|0];o:{if(l[k+51|0]>=0){if((r|0)>=0){r=i[t+72>>2],i[n>>2]=i[t+68>>2],i[n+4>>2]=r,i[n+8>>2]=i[t+76>>2];break o}i4(n,i[t+68>>2],i[t+72>>2]);break o}w=n,n=(r|0)<0,_4(w,n?i[t+68>>2]:t+68|0,n?i[t+72>>2]:r)}w8(t+80|0,i[e+48>>2],A,k+52|0);o:{if(i[t+80>>2]){if(Z=33,A=l[t+235|0],r=(A|0)<0,((r?i[t+228>>2]:A)|0)!=4||(r=r?i[t+224>>2]:t+224|0,A=s[r+1|0]<<8,w=s[r+2|0]<<16|s[r+3|0]<<24,(s[r|0]|A|w)!=1718188101&(w|(A|s[r|0]))!=1701669229))break o;r=i[t+84>>2],i[f>>2]=i[t+80>>2],i[f+4>>2]=r,i[f+16>>2]=i[t+96>>2],r=i[t+92>>2],i[f+8>>2]=i[t+88>>2],i[f+12>>2]=r,i[t+88>>2]=0,i[t+92>>2]=0,i[t+96>>2]=0,Z=1;break o}if(R){oe(t+56|0,R,A),n=i[t+56>>2],w=i[t+60>>2];u:{if((n|0)!=(w|0)){u=k+12|0;l:{for(;;){r=i[n+16>>2];s:{if((r|0)!=1886545261){if((r|0)!=1667527523||(i[t+52>>2]=0,i[t+44>>2]=0,i[t+48>>2]=0,o=i[n+48>>2],r=i[n+44>>2],(o|0)==(r|0)))break s;if(A=o-r|0,(A|0)<0)break r;C=U(A),i[t+44>>2]=C,_=A+C|0,i[t+52>>2]=_,l0(C,r,A),i[t+48>>2]=_;h:{w:{if((r|0)==(o|0)){A=0;break w}_:{for(;;){o=i[C>>2];v:{Z:{r=I,A=i[r>>2];m:{if(!A)break m;for(;Z=o>>>0>k0[A+16>>2],r=Z?r:A,A=i[(Z<<2)+A>>2],!!A;);if((r|0)==(I|0))break m;if(o>>>0>=k0[r+16>>2])break Z}if(ne(i[e+48>>2],o))break v;r=U(40),i[t+32>>2]=r,i[t+36>>2]=39,i[t+40>>2]=-2147483608,A=s[10858]|s[10859]<<8|(s[10860]<<16|s[10861]<<24),o=s[10854]|s[10855]<<8|(s[10856]<<16|s[10857]<<24),l[r|0]=o,l[r+1|0]=o>>>8,l[r+2|0]=o>>>16,l[r+3|0]=o>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+39|0]=0,A=s[10889]|s[10890]<<8|(s[10891]<<16|s[10892]<<24),o=s[10885]|s[10886]<<8|(s[10887]<<16|s[10888]<<24),l[r+31|0]=o,l[r+32|0]=o>>>8,l[r+33|0]=o>>>16,l[r+34|0]=o>>>24,l[r+35|0]=A,l[r+36|0]=A>>>8,l[r+37|0]=A>>>16,l[r+38|0]=A>>>24,A=s[10882]|s[10883]<<8|(s[10884]<<16|s[10885]<<24),o=s[10878]|s[10879]<<8|(s[10880]<<16|s[10881]<<24),l[r+24|0]=o,l[r+25|0]=o>>>8,l[r+26|0]=o>>>16,l[r+27|0]=o>>>24,l[r+28|0]=A,l[r+29|0]=A>>>8,l[r+30|0]=A>>>16,l[r+31|0]=A>>>24,A=s[10874]|s[10875]<<8|(s[10876]<<16|s[10877]<<24),o=s[10870]|s[10871]<<8|(s[10872]<<16|s[10873]<<24),l[r+16|0]=o,l[r+17|0]=o>>>8,l[r+18|0]=o>>>16,l[r+19|0]=o>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[10866]|s[10867]<<8|(s[10868]<<16|s[10869]<<24),o=s[10862]|s[10863]<<8|(s[10864]<<16|s[10865]<<24),l[r+8|0]=o,l[r+9|0]=o>>>8,l[r+10|0]=o>>>16,l[r+11|0]=o>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(f,2,2e3,t+32|0),l[t+43|0]<0&&G(i[t+32>>2]),A=1;break _}if(A=i[r+20>>2],i[k+4>>2]=i[k+4>>2]+1,i[t+36>>2]=k,i[t+32>>2]=u,r=i[A+168>>2],r>>>0<k0[A+172>>2]){i[r+4>>2]=k,i[r>>2]=u,i[A+168>>2]=r+8;break v}if(o=z2(A+164|0,t+32|0),r=i[t+36>>2],i[A+168>>2]=o,!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break v;V[i[i[r>>2]+8>>2]](r),g(r)}if(C=C+4|0,(_|0)==(C|0))break}A=0}if(C=i[t+44>>2],!C)break h}G(C)}if(!A)break s;Z=1;break l}h:{A=i[I>>2];w:{if(!A)break w;for(o=i[n+40>>2],r=I;_=o>>>0>k0[A+16>>2],r=_?r:A,A=i[(_<<2)+A>>2],!!A;);if((r|0)==(I|0))break w;if(o>>>0>=k0[r+16>>2])break h}r=U(48),i[t+44>>2]=r,i[t+48>>2]=42,i[t+52>>2]=-2147483600,A=s[10815]|s[10816]<<8|(s[10817]<<16|s[10818]<<24),n=s[10811]|s[10812]<<8|(s[10813]<<16|s[10814]<<24),l[r|0]=n,l[r+1|0]=n>>>8,l[r+2|0]=n>>>16,l[r+3|0]=n>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+42|0]=0,A=s[10851]|s[10852]<<8,l[r+40|0]=A,l[r+41|0]=A>>>8,A=s[10847]|s[10848]<<8|(s[10849]<<16|s[10850]<<24),n=s[10843]|s[10844]<<8|(s[10845]<<16|s[10846]<<24),l[r+32|0]=n,l[r+33|0]=n>>>8,l[r+34|0]=n>>>16,l[r+35|0]=n>>>24,l[r+36|0]=A,l[r+37|0]=A>>>8,l[r+38|0]=A>>>16,l[r+39|0]=A>>>24,A=s[10839]|s[10840]<<8|(s[10841]<<16|s[10842]<<24),n=s[10835]|s[10836]<<8|(s[10837]<<16|s[10838]<<24),l[r+24|0]=n,l[r+25|0]=n>>>8,l[r+26|0]=n>>>16,l[r+27|0]=n>>>24,l[r+28|0]=A,l[r+29|0]=A>>>8,l[r+30|0]=A>>>16,l[r+31|0]=A>>>24,A=s[10831]|s[10832]<<8|(s[10833]<<16|s[10834]<<24),n=s[10827]|s[10828]<<8|(s[10829]<<16|s[10830]<<24),l[r+16|0]=n,l[r+17|0]=n>>>8,l[r+18|0]=n>>>16,l[r+19|0]=n>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[10823]|s[10824]<<8|(s[10825]<<16|s[10826]<<24),n=s[10819]|s[10820]<<8|(s[10821]<<16|s[10822]<<24),l[r+8|0]=n,l[r+9|0]=n>>>8,l[r+10|0]=n>>>16,l[r+11|0]=n>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(f,2,2e3,t+44|0),l[t+55|0]<0&&G(i[t+44>>2]),Z=1;break l}l[i[r+20>>2]+49|0]=1}if(n=n+56|0,(w|0)==(n|0))break}Z=34}n=i[t+56>>2];break u}Z=34}if(n){if(r=n,A=i[t+60>>2],(r|0)!=(A|0)){for(;r=i[A-12>>2],r&&(i[A-8>>2]=r,G(r)),r=A-56|0,i[r>>2]=68500,o=i[A-36>>2],o&&(i[A-32>>2]=o,G(o)),A=r,(r|0)!=(n|0););r=i[t+56>>2]}i[t+60>>2]=n,G(r)}if((Z|0)!=34)break o}Z=0}l[t+99|0]<0&&G(i[t+88>>2]),r=i[k+4>>2],i[k+4>>2]=r-1,r||(V[i[i[k>>2]+8>>2]](k),g(k)),l[t+79|0]<0&&G(i[t+68>>2]),l[t+259|0]<0&&G(i[t+248>>2]),r=s[t+235|0]}r<<24>>24<0&&G(i[t+224>>2]);t:switch(Z-32|0){default:if(Z)break A;case 1:if(p=p+4|0,(h|0)!=(p|0))continue;break;case 0:break t}break}if(C=i[t+260>>2],W=i[t+264>>2],(C|0)==(W|0))break n;for(v=e+72|0;;){k=t+224|0,h=i[C>>2],W6(k,i[e+48>>2],h),A=l[t+235|0],r=(A|0)<0;t:{o:{if(((r?i[t+228>>2]:A)|0)!=4||(r=r?i[t+224>>2]:k,(s[r|0]|s[r+1|0]<<8|(s[r+2|0]<<16|s[r+3|0]<<24))!=1851877234))break o;r=U(36),i[r+16>>2]=0,i[r+20>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=72616,i[r+24>>2]=0,i[r+28>>2]=0,i[r+32>>2]=0,i[t+36>>2]=r,i[t+32>>2]=r+12,i[r+12>>2]=h,i[t+256>>2]=0,i[t+248>>2]=0,i[t+252>>2]=0,w8(t+80|0,i[e+48>>2],h,t+248|0);u:{if(i[t+80>>2]){r=i[t+84>>2],i[f>>2]=i[t+80>>2],i[f+4>>2]=r,i[f+16>>2]=i[t+96>>2],r=i[t+92>>2],i[f+8>>2]=i[t+88>>2],i[f+12>>2]=r,i[t+88>>2]=0,i[t+92>>2]=0,i[t+96>>2]=0,r=1;break u}u=t+12|0,k=i[t+32>>2],A=B-16|0,B=A,_=t+248|0,r=i[_>>2],n=i[_+4>>2]-r|0;l:{if(n>>>0<=7){if(r=U(32),i[A+4>>2]=r,i[A+8>>2]=25,i[A+12>>2]=-2147483616,k=s[14528]|s[14529]<<8|(s[14530]<<16|s[14531]<<24),n=s[14524]|s[14525]<<8|(s[14526]<<16|s[14527]<<24),l[r|0]=n,l[r+1|0]=n>>>8,l[r+2|0]=n>>>16,l[r+3|0]=n>>>24,l[r+4|0]=k,l[r+5|0]=k>>>8,l[r+6|0]=k>>>16,l[r+7|0]=k>>>24,l[r+25|0]=0,l[r+24|0]=s[14548],k=s[14544]|s[14545]<<8|(s[14546]<<16|s[14547]<<24),n=s[14540]|s[14541]<<8|(s[14542]<<16|s[14543]<<24),l[r+16|0]=n,l[r+17|0]=n>>>8,l[r+18|0]=n>>>16,l[r+19|0]=n>>>24,l[r+20|0]=k,l[r+21|0]=k>>>8,l[r+22|0]=k>>>16,l[r+23|0]=k>>>24,k=s[14536]|s[14537]<<8|(s[14538]<<16|s[14539]<<24),n=s[14532]|s[14533]<<8|(s[14534]<<16|s[14535]<<24),l[r+8|0]=n,l[r+9|0]=n>>>8,l[r+10|0]=n>>>16,l[r+11|0]=n>>>24,l[r+12|0]=k,l[r+13|0]=k>>>8,l[r+14|0]=k>>>16,l[r+15|0]=k>>>24,r0(u,2,136,A+4|0),l[A+15|0]>=0)break l;G(i[A+4>>2]);break l}Z=l[r+1|0]&1;s:{if(Z){if(n>>>0<=11){if(r=U(24),i[A+4>>2]=r,i[A+8>>2]=22,i[A+12>>2]=-2147483624,k=s[9265]|s[9266]<<8|(s[9267]<<16|s[9268]<<24),n=s[9261]|s[9262]<<8|(s[9263]<<16|s[9264]<<24),l[r|0]=n,l[r+1|0]=n>>>8,l[r+2|0]=n>>>16,l[r+3|0]=n>>>24,l[r+4|0]=k,l[r+5|0]=k>>>8,l[r+6|0]=k>>>16,l[r+7|0]=k>>>24,l[r+22|0]=0,k=s[9279]|s[9280]<<8|(s[9281]<<16|s[9282]<<24),n=s[9275]|s[9276]<<8|(s[9277]<<16|s[9278]<<24),l[r+14|0]=n,l[r+15|0]=n>>>8,l[r+16|0]=n>>>16,l[r+17|0]=n>>>24,l[r+18|0]=k,l[r+19|0]=k>>>8,l[r+20|0]=k>>>16,l[r+21|0]=k>>>24,k=s[9273]|s[9274]<<8|(s[9275]<<16|s[9276]<<24),n=s[9269]|s[9270]<<8|(s[9271]<<16|s[9272]<<24),l[r+8|0]=n,l[r+9|0]=n>>>8,l[r+10|0]=n>>>16,l[r+11|0]=n>>>24,l[r+12|0]=k,l[r+13|0]=k>>>8,l[r+14|0]=k>>>16,l[r+15|0]=k>>>24,r0(u,2,136,A+4|0),l[A+15|0]>=0)break l;G(i[A+4>>2]);break l}n=s[r+2|0]|s[r+3|0]<<8|(s[r+4|0]<<16|s[r+5|0]<<24),i[k+4>>2]=n<<24|(n&65280)<<8|(n>>>8&65280|n>>>24),p=s[r+7|0]<<16|s[r+6|0]<<24|s[r+8|0]<<8,o=10,n=9;break s}i[k+4>>2]=s[r+3|0]|s[r+2|0]<<8,p=s[r+4|0]<<8,o=6,n=5}if(i[k+8>>2]=s[r+n|0]|p,w=s[r+o|0],i[A>>2]=o|1,w)for(p=Z?32:16,Z=k+12|0,o=0;;){if(r=i[A>>2],n=i[_>>2],r>>>0>=i[_+4>>2]-n>>>0){if(r=U(24),i[A+4>>2]=r,i[A+8>>2]=22,i[A+12>>2]=-2147483624,k=s[9265]|s[9266]<<8|(s[9267]<<16|s[9268]<<24),n=s[9261]|s[9262]<<8|(s[9263]<<16|s[9264]<<24),l[r|0]=n,l[r+1|0]=n>>>8,l[r+2|0]=n>>>16,l[r+3|0]=n>>>24,l[r+4|0]=k,l[r+5|0]=k>>>8,l[r+6|0]=k>>>16,l[r+7|0]=k>>>24,l[r+22|0]=0,k=s[9279]|s[9280]<<8|(s[9281]<<16|s[9282]<<24),n=s[9275]|s[9276]<<8|(s[9277]<<16|s[9278]<<24),l[r+14|0]=n,l[r+15|0]=n>>>8,l[r+16|0]=n>>>16,l[r+17|0]=n>>>24,l[r+18|0]=k,l[r+19|0]=k>>>8,l[r+20|0]=k>>>16,l[r+21|0]=k>>>24,k=s[9273]|s[9274]<<8|(s[9275]<<16|s[9276]<<24),n=s[9269]|s[9270]<<8|(s[9271]<<16|s[9272]<<24),l[r+8|0]=n,l[r+9|0]=n>>>8,l[r+10|0]=n>>>16,l[r+11|0]=n>>>24,l[r+12|0]=k,l[r+13|0]=k>>>8,l[r+14|0]=k>>>16,l[r+15|0]=k>>>24,r0(u,2,136,A+4|0),l[A+15|0]>=0)break l;G(i[A+4>>2]);break l}n=s[r+n|0],i[A>>2]=r+1;s:{h:{w:switch(n|0){case 0:r=U(24),i[r+16>>2]=0,i[r+20>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=73408,i[r+12>>2]=73144,i[A+8>>2]=r,i[A+4>>2]=r+12;break h;case 1:r=U(32),i[r+16>>2]=0,i[r+20>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=73448,i[r+24>>2]=0,i[r+28>>2]=0,i[r+12>>2]=73188,i[A+8>>2]=r,i[A+4>>2]=r+12;break h;case 2:r=U(32),i[r+16>>2]=0,i[r+20>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=73488,i[r+24>>2]=0,i[r+28>>2]=0,i[r+12>>2]=73232,i[A+8>>2]=r,i[A+4>>2]=r+12;break h;case 3:if(r=U(32),i[r+16>>2]=1,i[r+28>>2]=0,i[r+20>>2]=0,i[r+24>>2]=0,i[r+4>>2]=1,i[r+8>>2]=0,i[r>>2]=73528,i[r+12>>2]=73276,i[A+8>>2]=r,i[A+4>>2]=r+12,n=i[r+4>>2],i[r+4>>2]=n-1,n)break h;V[i[i[r>>2]+8>>2]](r),g(r);break h;case 4:r=U(36),i[r+16>>2]=0,i[r+20>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=73568,i[r+24>>2]=0,i[r+28>>2]=0,i[r+32>>2]=0,i[r+12>>2]=73320,i[A+8>>2]=r,i[A+4>>2]=r+12;break h;case 5:r=U(44),i[r+16>>2]=0,i[r+20>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,i[r+40>>2]=0,i[r+32>>2]=0,i[r+36>>2]=0,i[r>>2]=73608,i[r+24>>2]=0,i[r+28>>2]=0,i[r+12>>2]=73364,i[A+8>>2]=r,i[A+4>>2]=r+12;break h;case 6:break w;default:break s}if(r=U(32),i[r+16>>2]=0,i[r+28>>2]=0,i[r+20>>2]=0,i[r+24>>2]=0,i[r+4>>2]=1,i[r+8>>2]=0,i[r>>2]=73528,i[r+12>>2]=73276,i[A+8>>2]=r,i[A+4>>2]=r+12,n=i[r+4>>2],i[r+4>>2]=n-1,n)break h;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[A+4>>2],V[i[i[r>>2]+12>>2]](u,r,_,p,A),y=i[u>>2];h:{if(y)break h;r=i[k+16>>2];w:{if(r>>>0<k0[k+20>>2]){i[r>>2]=i[A+4>>2],n=i[A+8>>2],i[r+4>>2]=n,n&&(i[n+4>>2]=i[n+4>>2]+1),r=r+8|0;break w}r=Q2(Z,A+4|0)}if(i[k+16>>2]=r,l[u+19|0]>=0)break h;G(i[u+8>>2])}r=i[A+8>>2];h:{if(!r||(n=i[r+4>>2],i[r+4>>2]=n-1,n))break h;V[i[i[r>>2]+8>>2]](r),g(r)}if(y)break l}if(o=o+1|0,(w|0)==(o|0))break}if(r=i[19565],i[u>>2]=i[19564],i[u+4>>2]=r,r=u+8|0,l[78275]>=0){k=i[19567],i[r>>2]=i[19566],i[r+4>>2]=k,i[r+8>>2]=i[19568];break l}_0(r,i[19566],i[19567])}if(B=A+16|0,l[t+31|0]<0&&G(i[t+20>>2]),R){oe(t+68|0,R,h),o=i[t+68>>2],y=i[t+72>>2];l:{if((o|0)==(y|0)){r=40;break l}s:{for(;;){if(r=i[o+16>>2],(r|0)==1667527523){if(i[t+64>>2]=0,i[t+56>>2]=0,i[t+60>>2]=0,A=i[o+48>>2],r=i[o+44>>2],(A|0)!=(r|0)){if(k=A-r|0,(k|0)<0)break i;if(n=l0(U(k),r,k),(r|0)!=(A|0))for(_=k+n|0,k=n;;){h:{A=i[I>>2];w:{if(!A)break w;for(u=i[k>>2],r=I;w=u>>>0>k0[A+16>>2],r=w?r:A,A=i[(w<<2)+A>>2],!!A;);if((r|0)==(I|0))break w;if(u>>>0>=k0[r+16>>2])break h}r=U(48),i[t+44>>2]=r,i[t+48>>2]=42,i[t+52>>2]=-2147483600,k=s[10772]|s[10773]<<8|(s[10774]<<16|s[10775]<<24),A=s[10768]|s[10769]<<8|(s[10770]<<16|s[10771]<<24),l[r|0]=A,l[r+1|0]=A>>>8,l[r+2|0]=A>>>16,l[r+3|0]=A>>>24,l[r+4|0]=k,l[r+5|0]=k>>>8,l[r+6|0]=k>>>16,l[r+7|0]=k>>>24,l[r+42|0]=0,k=s[10808]|s[10809]<<8,l[r+40|0]=k,l[r+41|0]=k>>>8,k=s[10804]|s[10805]<<8|(s[10806]<<16|s[10807]<<24),A=s[10800]|s[10801]<<8|(s[10802]<<16|s[10803]<<24),l[r+32|0]=A,l[r+33|0]=A>>>8,l[r+34|0]=A>>>16,l[r+35|0]=A>>>24,l[r+36|0]=k,l[r+37|0]=k>>>8,l[r+38|0]=k>>>16,l[r+39|0]=k>>>24,k=s[10796]|s[10797]<<8|(s[10798]<<16|s[10799]<<24),A=s[10792]|s[10793]<<8|(s[10794]<<16|s[10795]<<24),l[r+24|0]=A,l[r+25|0]=A>>>8,l[r+26|0]=A>>>16,l[r+27|0]=A>>>24,l[r+28|0]=k,l[r+29|0]=k>>>8,l[r+30|0]=k>>>16,l[r+31|0]=k>>>24,k=s[10788]|s[10789]<<8|(s[10790]<<16|s[10791]<<24),A=s[10784]|s[10785]<<8|(s[10786]<<16|s[10787]<<24),l[r+16|0]=A,l[r+17|0]=A>>>8,l[r+18|0]=A>>>16,l[r+19|0]=A>>>24,l[r+20|0]=k,l[r+21|0]=k>>>8,l[r+22|0]=k>>>16,l[r+23|0]=k>>>24,k=s[10780]|s[10781]<<8|(s[10782]<<16|s[10783]<<24),A=s[10776]|s[10777]<<8|(s[10778]<<16|s[10779]<<24),l[r+8|0]=A,l[r+9|0]=A>>>8,l[r+10|0]=A>>>16,l[r+11|0]=A>>>24,l[r+12|0]=k,l[r+13|0]=k>>>8,l[r+14|0]=k>>>16,l[r+15|0]=k>>>24,r0(f,2,2e3,t+44|0),l[t+55|0]<0&&G(i[t+44>>2]),G(n),r=1;break s}y7(i[r+20>>2],h),r=i[e+76>>2];h:{if(r>>>0<k0[e+80>>2]){i[r>>2]=i[t+32>>2],A=i[t+36>>2],i[r+4>>2]=A,A&&(i[A+4>>2]=i[A+4>>2]+1),r=r+8|0;break h}r=Q2(v,t+32|0)}if(i[e+76>>2]=r,k=k+4|0,(_|0)==(k|0))break}G(n)}r=i[o+16>>2]}if((r|0)==1835103083){if(n=0,i[t+64>>2]=0,i[t+56>>2]=0,i[t+60>>2]=0,A=0,r=i[o+48>>2],k=i[o+44>>2],(r|0)!=(k|0)){if(r=r-k|0,(r|0)<0)break i;A=U(r),i[t+56>>2]=A,u=r+A|0,i[t+64>>2]=u,l0(A,k,r),i[t+60>>2]=u}_=0,r=i[t+32>>2],k=i[r+16>>2],r=i[r+12>>2],w=k-r|0;h:{if((w|0)<=0){r=44;break h}w:{for(;;){if(A=0,i[t+52>>2]=0,i[t+44>>2]=0,i[t+48>>2]=0,Z=0,(r|0)!=(k|0)){if((w|0)<0)break r;for(Z=U(w),i[t+44>>2]=Z,i[t+52>>2]=w+Z,A=Z;i[A>>2]=i[r>>2],u=i[r+4>>2],i[A+4>>2]=u,u&&(i[u+4>>2]=i[u+4>>2]+1),A=A+8|0,r=r+8|0,(k|0)!=(r|0););i[t+48>>2]=A}if(w=n<<3,r=i[w+Z>>2],k=V[i[i[r>>2]+8>>2]](r)|0,r=Z,(A|0)!=(r|0)){for(;;){r=i[A-4>>2];_:{if(!r||(u=i[r+4>>2],i[r+4>>2]=u-1,u))break _;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(Z|0)==(A|0))break}r=i[t+44>>2]}i[t+48>>2]=Z,G(r);_:{if((k|0)!=4)break _;if(p=0,i[t+52>>2]=0,i[t+44>>2]=0,i[t+48>>2]=0,A=0,Z=0,r=i[t+32>>2],k=i[r+16>>2],r=i[r+12>>2],(k|0)!=(r|0)){if(A=k-r|0,(A|0)<0)break k;for(Z=U(A),i[t+44>>2]=Z,i[t+52>>2]=A+Z,A=Z;i[A>>2]=i[r>>2],u=i[r+4>>2],i[A+4>>2]=u,u&&(i[u+4>>2]=i[u+4>>2]+1),A=A+8|0,r=r+8|0,(k|0)!=(r|0););i[t+48>>2]=A}k=0,r=w+Z|0,u=i[r>>2];v:{if(!u)break v;if(k=N0(u,72776,73344),!k){k=0;break v}if(p=i[r+4>>2],!p){p=0;break v}i[p+4>>2]=i[p+4>>2]+1}if(r=Z,(A|0)!=(r|0)){for(;;){r=i[A-4>>2];v:{if(!r||(u=i[r+4>>2],i[r+4>>2]=u-1,u))break v;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(Z|0)==(A|0))break}r=i[t+44>>2]}i[t+48>>2]=Z,G(r),r=i[t+56>>2];v:{if(i[t+60>>2]-r>>2>>>0<=_>>>0){r=U(64),i[t+44>>2]=r,i[t+48>>2]=60,i[t+52>>2]=-2147483584,k=s[11447]|s[11448]<<8|(s[11449]<<16|s[11450]<<24),A=s[11443]|s[11444]<<8|(s[11445]<<16|s[11446]<<24),l[r|0]=A,l[r+1|0]=A>>>8,l[r+2|0]=A>>>16,l[r+3|0]=A>>>24,l[r+4|0]=k,l[r+5|0]=k>>>8,l[r+6|0]=k>>>16,l[r+7|0]=k>>>24,l[r+60|0]=0,k=s[11499]|s[11500]<<8|(s[11501]<<16|s[11502]<<24),l[r+56|0]=k,l[r+57|0]=k>>>8,l[r+58|0]=k>>>16,l[r+59|0]=k>>>24,k=s[11495]|s[11496]<<8|(s[11497]<<16|s[11498]<<24),A=s[11491]|s[11492]<<8|(s[11493]<<16|s[11494]<<24),l[r+48|0]=A,l[r+49|0]=A>>>8,l[r+50|0]=A>>>16,l[r+51|0]=A>>>24,l[r+52|0]=k,l[r+53|0]=k>>>8,l[r+54|0]=k>>>16,l[r+55|0]=k>>>24,k=s[11487]|s[11488]<<8|(s[11489]<<16|s[11490]<<24),A=s[11483]|s[11484]<<8|(s[11485]<<16|s[11486]<<24),l[r+40|0]=A,l[r+41|0]=A>>>8,l[r+42|0]=A>>>16,l[r+43|0]=A>>>24,l[r+44|0]=k,l[r+45|0]=k>>>8,l[r+46|0]=k>>>16,l[r+47|0]=k>>>24,k=s[11479]|s[11480]<<8|(s[11481]<<16|s[11482]<<24),A=s[11475]|s[11476]<<8|(s[11477]<<16|s[11478]<<24),l[r+32|0]=A,l[r+33|0]=A>>>8,l[r+34|0]=A>>>16,l[r+35|0]=A>>>24,l[r+36|0]=k,l[r+37|0]=k>>>8,l[r+38|0]=k>>>16,l[r+39|0]=k>>>24,k=s[11471]|s[11472]<<8|(s[11473]<<16|s[11474]<<24),A=s[11467]|s[11468]<<8|(s[11469]<<16|s[11470]<<24),l[r+24|0]=A,l[r+25|0]=A>>>8,l[r+26|0]=A>>>16,l[r+27|0]=A>>>24,l[r+28|0]=k,l[r+29|0]=k>>>8,l[r+30|0]=k>>>16,l[r+31|0]=k>>>24,k=s[11463]|s[11464]<<8|(s[11465]<<16|s[11466]<<24),A=s[11459]|s[11460]<<8|(s[11461]<<16|s[11462]<<24),l[r+16|0]=A,l[r+17|0]=A>>>8,l[r+18|0]=A>>>16,l[r+19|0]=A>>>24,l[r+20|0]=k,l[r+21|0]=k>>>8,l[r+22|0]=k>>>16,l[r+23|0]=k>>>24,k=s[11455]|s[11456]<<8|(s[11457]<<16|s[11458]<<24),A=s[11451]|s[11452]<<8|(s[11453]<<16|s[11454]<<24),l[r+8|0]=A,l[r+9|0]=A>>>8,l[r+10|0]=A>>>16,l[r+11|0]=A>>>24,l[r+12|0]=k,l[r+13|0]=k>>>8,l[r+14|0]=k>>>16,l[r+15|0]=k>>>24,r0(f,2,0,t+44|0),l[t+55|0]<0&&G(i[t+44>>2]),r=0;break v}Z:{if(A=i[e+16>>2],(I|0)!=(A|0))for(u=i[r+(_<<2)>>2];;){if((u|0)==i[A+16>>2])break Z;w=A,r=i[A+4>>2];m:{if(r){for(;;)if(A=r,r=i[r>>2],!r)break m}for(;A=i[w+8>>2],r=i[A>>2]!=(w|0),w=A,!!r;);}if((A|0)==(I|0))break}r=U(48),i[t+44>>2]=r,i[t+48>>2]=43,i[t+52>>2]=-2147483600,k=s[10679]|s[10680]<<8|(s[10681]<<16|s[10682]<<24),A=s[10675]|s[10676]<<8|(s[10677]<<16|s[10678]<<24),l[r|0]=A,l[r+1|0]=A>>>8,l[r+2|0]=A>>>16,l[r+3|0]=A>>>24,l[r+4|0]=k,l[r+5|0]=k>>>8,l[r+6|0]=k>>>16,l[r+7|0]=k>>>24,l[r+43|0]=0,k=s[10714]|s[10715]<<8|(s[10716]<<16|s[10717]<<24),l[r+39|0]=k,l[r+40|0]=k>>>8,l[r+41|0]=k>>>16,l[r+42|0]=k>>>24,k=s[10711]|s[10712]<<8|(s[10713]<<16|s[10714]<<24),A=s[10707]|s[10708]<<8|(s[10709]<<16|s[10710]<<24),l[r+32|0]=A,l[r+33|0]=A>>>8,l[r+34|0]=A>>>16,l[r+35|0]=A>>>24,l[r+36|0]=k,l[r+37|0]=k>>>8,l[r+38|0]=k>>>16,l[r+39|0]=k>>>24,k=s[10703]|s[10704]<<8|(s[10705]<<16|s[10706]<<24),A=s[10699]|s[10700]<<8|(s[10701]<<16|s[10702]<<24),l[r+24|0]=A,l[r+25|0]=A>>>8,l[r+26|0]=A>>>16,l[r+27|0]=A>>>24,l[r+28|0]=k,l[r+29|0]=k>>>8,l[r+30|0]=k>>>16,l[r+31|0]=k>>>24,k=s[10695]|s[10696]<<8|(s[10697]<<16|s[10698]<<24),A=s[10691]|s[10692]<<8|(s[10693]<<16|s[10694]<<24),l[r+16|0]=A,l[r+17|0]=A>>>8,l[r+18|0]=A>>>16,l[r+19|0]=A>>>24,l[r+20|0]=k,l[r+21|0]=k>>>8,l[r+22|0]=k>>>16,l[r+23|0]=k>>>24,k=s[10687]|s[10688]<<8|(s[10689]<<16|s[10690]<<24),A=s[10683]|s[10684]<<8|(s[10685]<<16|s[10686]<<24),l[r+8|0]=A,l[r+9|0]=A>>>8,l[r+10|0]=A>>>16,l[r+11|0]=A>>>24,l[r+12|0]=k,l[r+13|0]=k>>>8,l[r+14|0]=k>>>16,l[r+15|0]=k>>>24,r0(f,2,0,t+44|0),l[t+55|0]<0&&G(i[t+44>>2]),r=0;break v}r=I,A=i[r>>2];Z:{m:{if(!A)break m;for(;w=u>>>0>k0[A+16>>2],r=w?r:A,A=i[(w<<2)+A>>2],!!A;);if((r|0)==(I|0))break m;if(u>>>0>=k0[r+16>>2])break Z}r=I}if(A=i[r+20>>2],i[t+4>>2]=A,r=i[r+24>>2],i[t+8>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),i[k+20>>2]=u,!i[k+12>>2]){ei(t+44|0,i[i[A+16>>2]+48>>2],i[A+20>>2]),r=i[t+44>>2],r?r=i[r+56>>2]:r=0,A=i[t+48>>2];Z:{if(!A||(u=i[A+4>>2],i[A+4>>2]=u-1,u))break Z;V[i[i[A>>2]+8>>2]](A),g(A)}i[k+12>>2]=r}if(!i[k+16>>2]){r=i[t+4>>2],ei(t+44|0,i[i[r+16>>2]+48>>2],i[r+20>>2]),r=i[t+44>>2],r?r=i[r+60>>2]:r=0,A=i[t+48>>2];Z:{if(!A||(u=i[A+4>>2],i[A+4>>2]=u-1,u))break Z;V[i[i[A>>2]+8>>2]](A),g(A)}i[k+16>>2]=r}VA(e,t+4|0),r=i[t+8>>2];Z:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break Z;V[i[i[r>>2]+8>>2]](r),g(r)}_=_+1|0,r=1}v:{if(!p||(k=i[p+4>>2],i[p+4>>2]=k-1,k))break v;V[i[i[p>>2]+8>>2]](p),g(p)}if(r)break _;n=1,r=1;break w}if(n=n+1|0,r=i[t+32>>2],k=i[r+16>>2],r=i[r+12>>2],w=k-r|0,!((n|0)<w>>3))break}n=0,r=44}A=i[t+56>>2]}if(A&&(i[t+60>>2]=A,G(A)),n)break s}if(o=o+56|0,(y|0)==(o|0))break}r=40}o=i[t+68>>2]}if(o){if(A=i[t+72>>2],w=o,(A|0)!=(o|0)){for(;k=i[A-12>>2],k&&(i[A-8>>2]=k,G(k)),k=A-56|0,i[k>>2]=68500,n=i[A-36>>2],n&&(i[A-32>>2]=n,G(n)),A=k,(o|0)!=(A|0););w=i[t+68>>2]}i[t+72>>2]=o,G(w)}if((r|0)!=40)break u}r=0}l[t+99|0]<0&&G(i[t+88>>2]),k=i[t+248>>2],k&&(i[t+252>>2]=k,G(k)),k=i[t+36>>2];u:{if(!k||(A=i[k+4>>2],i[k+4>>2]=A-1,A))break u;V[i[i[k>>2]+8>>2]](k),g(k)}if(r)break t}r=0}if(l[t+235|0]<0&&G(i[t+224>>2]),r){if((r|0)==38)break n;break A}if(C=C+4|0,(W|0)==(C|0))break}}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break A}_0(f,i[19566],i[19567]);break A}break r}if(f=i[t+228>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break A;V[i[i[f>>2]+8>>2]](f),g(f)}if(!D||(f=i[D+4>>2],i[D+4>>2]=f-1,f))break e;V[i[i[D>>2]+8>>2]](D),g(D)}f=i[t+260>>2],f&&(i[t+264>>2]=f,G(f)),B=t+272|0;return}y0(),P()}y0(),P()}function h8(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0;i:{r:{e:{if(!n){y=i[f+18588>>2],f0=i[y+124>>2];A:{if(!k){if(u=i[y+208>>2],o=e>>u,(o|0)<0||(w=i[y+212>>2],(w|0)<=(o|0)))break r;if(u=r>>u,(u|0)<0|(u|0)>=i[y+216>>2])break i;o=s[(o+i[y+200>>2]|0)+m(u,w)|0],o=o>>>0<=34?o:0;break A}if(u=i[y+228>>2],o=m(i[f0+16852>>2],e)>>u,(o|0)<0||(w=i[y+232>>2],(w|0)<=(o|0)))break r;if(u=m(i[f0+16856>>2],r)>>u,(u|0)<0|(u|0)>=i[y+236>>2])break i;o=s[(o+i[y+220>>2]|0)+m(u,w)|0]&63}n0=o>>>0>34?1:o,C=n0,z=i[y+(k?44:40)>>2],o=m(z,r),u=i[(y+(k<<2)|0)+4>>2];A:{f:{k:{n:{t:{o:{if(i[i[y+124>>2]+(k?16840:16832)>>2]>=9){R=u+(e+o<<1)|0,a=B-528|0,B=a,W=B-336|0,B=W,i[W+24>>2]=k,i[W+16>>2]=y,i[W+32>>2]=r,i[W+28>>2]=e,v=a+256|0,i[W+12>>2]=v,i[W+20>>2]=A;u:{if((A|0)<65){i[W+316>>2]=16843009,h=W+12|0,An(h);l:{if(i[h+8>>2]<33){if(u=i[h+4>>2],o=i[h+12>>2],Z=i[u+(o?44:40)>>2],p=i[h+16>>2],w=i[h+24>>2],I=i[w+16936>>2],H=i[h+20>>2],I=i[(i[i[h+28>>2]+8496>>2]+(m(p,i[h+296>>2])>>I<<2)|0)+(m(i[w+16924>>2],m(H,i[h+300>>2])>>I)<<2)>>2],D=i[(u+(o<<2)|0)+4>>2],o=i[h+308>>2],!(s[h+304|0]!=1|(o|0)<=0))for(u=D-2|0,w=o-1|0;;){o=w;s:{if(s[h+304|0]!=1)break s;J=i[h+28>>2],S=m(i[h+296>>2],p-1|0),E=i[h+24>>2],q=i[E+16936>>2],d=o+H|0,A0=m(d,i[h+300>>2]),E=i[(i[J+8496>>2]+(S>>q<<2)|0)+(m(i[E+16924>>2],A0>>q)<<2)>>2];h:{if(s[J+24|0]){if(J=S,w=i[h+4>>2],S=i[w+168>>2],J=J>>S,(J|0)<0||(q=i[w+172>>2],(q|0)<=(J|0)))break r;if(S=A0>>S,(S|0)<0|(S|0)>=i[w+176>>2])break i;if(s[((i[w+160>>2]+m(J,3)|0)+m(m(S,q),3)|0)+1|0]&3)break s;if((I|0)>=(E|0))break h;break s}if((I|0)<(E|0))break s}i[h+316>>2]||(X[h+320>>1]=Q[(u+(p<<1)|0)+(m(Z,d)<<1)>>1]),w=o^-1,l[w+i[h+292>>2]|0]=1,X[i[h>>2]+(w<<1)>>1]=Q[(u+(i[h+16>>2]<<1)|0)+(m(Z,o+i[h+20>>2]|0)<<1)>>1],l[i[h+292>>2]-o|0]=1,X[i[h>>2]-(o<<1)>>1]=Q[(u+(i[h+16>>2]<<1)|0)+(m(Z,(o+i[h+20>>2]|0)-1|0)<<1)>>1],w=1-o|0,l[w+i[h+292>>2]|0]=1,X[i[h>>2]+(w<<1)>>1]=Q[(u+(i[h+16>>2]<<1)|0)+(m(Z,(o+i[h+20>>2]|0)-2|0)<<1)>>1],w=2-o|0,l[w+i[h+292>>2]|0]=1,p=i[h+16>>2],H=i[h+20>>2],X[i[h>>2]+(w<<1)>>1]=Q[(u+(p<<1)|0)+(m(Z,(o+H|0)-3|0)<<1)>>1],i[h+316>>2]=i[h+316>>2]+4}if(w=o-4|0,!((o|0)>3))break}s:{if(!s[h+307|0])break s;o=i[h+28>>2],w=m(i[h+296>>2],p-1|0),u=i[h+24>>2],E=i[u+16936>>2],J=H-1|0,H=m(J,i[h+300>>2]),u=i[(i[o+8496>>2]+(w>>E<<2)|0)+(m(i[u+16924>>2],H>>E)<<2)>>2];h:{if(s[o+24|0]){if(o=i[h+4>>2],E=i[o+168>>2],w=w>>E,(w|0)<0||(S=i[o+172>>2],(S|0)<=(w|0)))break r;if(H=H>>E,(H|0)<0|(H|0)>=i[o+176>>2])break i;if(s[((i[o+160>>2]+m(w,3)|0)+m(m(H,S),3)|0)+1|0]&3)break s;if((u|0)<=(I|0))break h;break s}if((u|0)>(I|0))break s}o=m(Z,J),i[h+316>>2]||(X[h+320>>1]=Q[((D+(p<<1)|0)+(o<<1)|0)-2>>1]),X[i[h>>2]>>1]=Q[((D+(p<<1)|0)+(o<<1)|0)-2>>1],l[i[h+292>>2]]=1,i[h+316>>2]=i[h+316>>2]+1}if(w=i[h+312>>2],(w|0)>0)for(u=0;;){s:{if(s[h+(i[h+8>>2]>(u|0)?305:306)|0]!=1)break s;o=i[h+28>>2],p=i[h+16>>2],E=m(i[h+296>>2],p+u|0),H=i[h+24>>2],J=i[H+16936>>2],S=i[h+20>>2]-1|0,q=m(S,i[h+300>>2]),H=i[(i[o+8496>>2]+(E>>J<<2)|0)+(m(i[H+16924>>2],q>>J)<<2)>>2];h:{if(s[o+24|0]){if(o=i[h+4>>2],J=i[o+168>>2],E=E>>J,(E|0)<0||(d=i[o+172>>2],(d|0)<=(E|0)))break r;if(J=q>>J,(J|0)<0|(J|0)>=i[o+176>>2])break i;if(s[((i[o+160>>2]+m(E,3)|0)+m(m(J,d),3)|0)+1|0]&3)break s;if((I|0)>=(H|0))break h;break s}if((I|0)<(H|0))break s}w=m(Z,S),i[h+316>>2]||(X[h+320>>1]=Q[((D+(p<<1)|0)+(u<<1)|0)+(w<<1)>>1]),H=u|1,o=D+(u<<1)|0,X[i[h>>2]+(H<<1)>>1]=Q[(o+(p<<1)|0)+(w<<1)>>1],l[H+i[h+292>>2]|0]=1,w=u|2,X[i[h>>2]+(w<<1)>>1]=Q[((o+(i[h+16>>2]<<1)|0)+(m(Z,i[h+20>>2]-1|0)<<1)|0)+2>>1],l[w+i[h+292>>2]|0]=1,w=u|3,X[i[h>>2]+(w<<1)>>1]=Q[((o+(i[h+16>>2]<<1)|0)+(m(Z,i[h+20>>2]-1|0)<<1)|0)+4>>1],l[w+i[h+292>>2]|0]=1,w=u+4|0,X[i[h>>2]+(w<<1)>>1]=Q[((o+(i[h+16>>2]<<1)|0)+(m(Z,i[h+20>>2]-1|0)<<1)|0)+6>>1],l[w+i[h+292>>2]|0]=1,i[h+316>>2]=i[h+316>>2]+4,w=i[h+312>>2]}if(u=u+4|0,!((w|0)>(u|0)))break}break l}break o}u=i[W+328>>2],o=i[W+20>>2],p=o<<2,w=p|1;l:{if((u|0)==(w|0))break l;if(!u){if(h=0,Z=o<<1,u=0-Z|0,(u|0)>(Z|0))break l;for(I=w&5,o=1<<i[i[i[W+16>>2]+124>>2]+(i[W+24>>2]?16840:16832)>>2]-1,w=i[W+12>>2];X[w+(u<<1)>>1]=o,u=u+1|0,h=h+1|0,(I|0)!=(h|0););if(p>>>0<7)break l;for(p=w+12|0,I=w+10|0,D=w+8|0,H=w+6|0,E=w+4|0,J=w+2|0;h=u<<1,X[h+w>>1]=o,X[h+J>>1]=o,X[h+E>>1]=o,X[h+H>>1]=o,X[h+D>>1]=o,X[h+I>>1]=o,X[h+p>>1]=o,h=u+7|0,X[w+(h<<1)>>1]=o,u=u+8|0,(h|0)!=(Z|0););break l}if(o=o<<1,u=0-o|0,w=i[W+304>>2],s[w-o|0]||(X[i[W+12>>2]+(u<<1)>>1]=Q[W+332>>1]),(o|0)<=(u|0))break l;for(u=u|1,h=i[W+12>>2];s[u+w|0]||(Z=h+(u<<1)|0,X[Z>>1]=Q[Z-2>>1]),Z=u+1|0,s[Z+w|0]||(p=h+(Z<<1)|0,X[p>>1]=Q[p-2>>1]),u=u+2|0,(o|0)!=(Z|0););}B=W+336|0;break u}break t}u=i[y+124>>2];u:{if(s[u+16825|0]||k&&(_=k,i[u+16848>>2]!=3))break u;w=B-272|0,B=w;l:{if((A|0)==4|(C|0)==1)break l;o=(C|0)<26?26-C|0:C-26|0,h=(C|0)<10?10-C|0:C-10|0,o=(o|0)<(h|0)?o:h;s:{h:switch(a0(A-8|0,29)|0){case 1:if((o|0)>1)break s;break l;case 3:if((o|0)>0)break s;break l;case 7:break l;case 0:break h;default:break n}if((o|0)<8)break l}s:{h:{w:{if(!(!s[u+8997|0]|(_|(A|0)!=32))&&(_=Q[v+128>>1],o=Q[v>>1],W=(_+o|0)-(Q[v+64>>1]<<1)|0,h=W>>31,Z=1<<i[u+512>>2]-5,(Z|0)>((h^W)-h|0)))break w;u=w+128|0;break h}if(u=w+128|0,h=Q[v-128>>1],p=(h+o|0)-(Q[v+-64>>1]<<1)|0,W=p>>31,Z>>>0<=(W^p)-W>>>0)break h;for(X[w+256>>1]=_,X[w>>1]=h,X[w+128>>1]=o,W=_-o|0,Z=h-o|0,_=1;;){if(h=_<<1,X[u-h>>1]=o+(m(_,Z)+32>>>6|0),X[u+h>>1]=o+(m(_,W)+32>>>6|0),h=_+1|0,(h|0)!=64){X[((_^-1)<<1)+u>>1]=o+(m(h,Z)+32>>>6|0),X[(h<<1)+u>>1]=o+(m(h,W)+32>>>6|0),_=_+2|0;continue}break}p=0-(A<<1)|0;break s}if(o=w+128|0,_=A<<2,X[o-_>>1]=Q[v-_>>1],X[o+_>>1]=Q[_+v>>1],h=A<<1,p=0-h|0,_=1-h|0,(_|0)>=(h|0))break s;for(Z=_<<1,D=v-2|0,_=2-h|0,W=Q[v+(_<<1)>>1],X[Z+o>>1]=(Q[D+Z>>1]+(W+(Q[v+Z>>1]<<1)|0)|0)+2>>>2;Z=_<<1,H=Z+2|0,I=Q[H+v>>1],X[o+Z>>1]=(Q[Z+D>>1]+(I+(W<<1)|0)|0)+2>>>2,_=_+2|0,W=Q[v+(_<<1)>>1],X[o+H>>1]=(Q[v+Z>>1]+(W+(I<<1)|0)|0)+2>>>2,(h|0)!=(_|0););}o=p<<1,l0(o+v|0,o+u|0,A<<3|2)}B=w+272|0}u:{l:switch(C|0){case 0:if(w=1,(A|0)>=2){for(u=0,o=A;w=u,u=u+1|0,_=o>>>0>3,o=o>>>1|0,!!_;);w=w+2|0}if((A|0)<=0)break u;for(H=A&2147483646,E=A&1,_=A-1|0,J=Q[v+((A^-1)<<1)>>1],h=Q[(v+(A<<1)|0)+2>>1],o=0;;){if(C=_-o|0,u=o+1|0,y=m(u,J),W=R+(m(o,z)<<1)|0,Z=Q[v+((o^-1)<<1)>>1],o=0,p=0,(A|0)!=1)for(;I=o|1,D=I<<1,X[W+(o<<1)>>1]=y+(((m(Z,_-o|0)+A|0)+m(h,I)|0)+m(C,Q[v+D>>1])|0)>>w,o=o+2|0,X[W+D>>1]=y+(((m(Z,_-I|0)+A|0)+m(h,o)|0)+m(C,Q[v+(o<<1)>>1])|0)>>w,p=p+2|0,(H|0)!=(p|0););if(E&&(S=W+(o<<1)|0,Z=m(Z,_-o|0)+A|0,o=o+1|0,X[S>>1]=y+((Z+m(o,h)|0)+m(C,Q[v+(o<<1)>>1])|0)>>w),o=u,(o|0)==(A|0))break}break u;case 1:if(u=0,_=1,(A|0)>=2){for(o=A;w=u,u=u+1|0,_=o>>>0>3,o=o>>>1|0,!!_;);_=w+2|0}s:{h:{w:{_:{if((A|0)>0){if(C=A&1,(A|0)!=1)break _;w=0,u=0;break w}if(k)break s;o=A>>_;break h}for(y=A&2147483646,o=0,u=0,h=0;w=o+2|0,u=Q[v+((o^2147483646)<<1)>>1]+(Q[v+(w<<1)>>1]+(Q[v+((o^-1)<<1)>>1]+(Q[(v+(o<<1)|0)+2>>1]+u|0)|0)|0)|0,o=w,h=h+2|0,(y|0)!=(h|0););}if(C&&(u=Q[v+((w^-1)<<1)>>1]+(Q[(v+(w<<1)|0)+2>>1]+u|0)|0),o=A+u>>_,!k&(A|0)<=31)break h;if((A|0)<=0)break s;for(y=A&2147483640,v=A&7,w=0,W=A>>>0<8;;){if(C=R+(m(w,z)<<1)|0,u=0,h=0,!W)for(;_=C+(u<<1)|0,X[_>>1]=o,X[_+2>>1]=o,X[_+4>>1]=o,X[_+6>>1]=o,X[_+8>>1]=o,X[_+10>>1]=o,X[_+12>>1]=o,X[_+14>>1]=o,u=u+8|0,h=h+8|0,(y|0)!=(h|0););if(h=0,v)for(;X[C+(u<<1)>>1]=o,u=u+1|0,h=h+1|0,(v|0)!=(h|0););if(w=w+1|0,(w|0)==(A|0))break}break s}if(u=1,X[R>>1]=(Q[v+2>>1]+(Q[v-2>>1]+(o<<1)|0)|0)+2>>>2,(A|0)<2)break s;if(_=A-1|0,y=_&3,C=m(o,3)+2|0,W=A-2|0,W>>>0>=3)for(p=_&-4,w=0;h=u<<1,Z=h+2|0,X[h+R>>1]=C+Q[v+Z>>1]>>>2,E=Z+R|0,Z=h+4|0,X[E>>1]=C+Q[Z+v>>1]>>>2,h=h+6|0,X[Z+R>>1]=C+Q[h+v>>1]>>>2,u=u+4|0,X[h+R>>1]=C+Q[v+(u<<1)>>1]>>>2,w=w+4|0,(p|0)!=(w|0););if(y)for(h=0;w=R+(u<<1)|0,u=u+1|0,X[w>>1]=C+Q[v+(u<<1)>>1]>>>2,h=h+1|0,(y|0)!=(h|0););if((A|0)<2)break s;if(u=1,w=m(o,3)+2|0,W)for(C=_&-2,h=0;X[R+(m(u,z)<<1)>>1]=w+Q[v+((u^-1)<<1)>>1]>>>2,X[R+(m(z,u+1|0)<<1)>>1]=w+Q[v+(-2-u<<1)>>1]>>>2,u=u+2|0,h=h+2|0,(C|0)!=(h|0););if(_&1&&(X[R+(m(u,z)<<1)>>1]=w+Q[v+((u^-1)<<1)>>1]>>>2),(A|0)<2)break s;for(y=_&-8,C=_&7,w=1;;){if(_=R+(m(w,z)<<1)|0,u=1,W>>>0>=7)for(Z=_+14|0,p=_+12|0,I=_+10|0,D=_+8|0,H=_+6|0,E=_+4|0,J=_+2|0,h=0;v=u<<1,X[v+_>>1]=o,X[v+J>>1]=o,X[v+E>>1]=o,X[v+H>>1]=o,X[v+D>>1]=o,X[v+I>>1]=o,X[v+p>>1]=o,X[v+Z>>1]=o,u=u+8|0,h=h+8|0,(y|0)!=(h|0););if(h=0,C)for(;X[_+(u<<1)>>1]=o,u=u+1|0,h=h+1|0,(C|0)!=(h|0););if(w=w+1|0,(w|0)==(A|0))break}}break u;default:break l}if(o=i[y+124>>2],H=i[o+(k?16840:16832)>>2],s[o+16822|0]){if(u=i[y+168>>2],o=e>>u,(o|0)<0||(w=i[y+172>>2],(w|0)<=(o|0)))break r;if(u=r>>u,(u|0)<0|(u|0)>=i[y+176>>2])break i;w=(s[((i[y+160>>2]+m(o,3)|0)+m(m(u,w),3)|0)+1|0]&8)>>>3|0}else w=0;o=0,_=0,y=B-528|0,B=y;l:{s:{h:{if((C|0)<35){if((C|0)>1){if(h=y+256|0,W=i[(C<<2)+45360>>2],C>>>0<=17){w:{if((A|0)<0)break w;if(u=A+1|0,Z=u&3,A>>>0>=3)for(p=u&-4;u=o<<1,X[u+h>>1]=Q[v-u>>1],I=u|2,X[I+h>>1]=Q[v-I>>1],I=u|4,X[I+h>>1]=Q[v-I>>1],u=u|6,X[u+h>>1]=Q[v-u>>1],o=o+4|0,_=_+4|0,(p|0)!=(_|0););if(!Z)break w;for(u=0;_=o<<1,X[_+h>>1]=Q[v-_>>1],o=o+1|0,u=u+1|0,(Z|0)!=(u|0););}if(u=C-11|0,u>>>0<15)break h;if(Z=A<<1,(Z|0)<=(A|0))break s;if(o=A,p=o&3,p)for(_=0,u=o;o=u+1|0,X[h+(o<<1)>>1]=Q[v+((u^-1)<<1)>>1],u=o,_=_+1|0,(p|0)!=(_|0););if(A-1>>>0<3)break s;for(_=h+6|0,p=h+4|0,I=h+2|0;u=o<<1,X[u+I>>1]=Q[v+((o^-1)<<1)>>1],X[u+p>>1]=Q[v+(-2-o<<1)>>1],X[u+_>>1]=Q[v+(-3-o<<1)>>1],u=o+4|0,X[h+(u<<1)>>1]=Q[v+(-4-o<<1)>>1],o=u,(o|0)!=(Z|0););break s}(A|0)>=0&&l0(h,v,(A<<1)+2|0),u=C-11|0;w:{if(u>>>0>=15){if(o=A<<1,(o|0)<=(A|0))break w;l0((o+y|0)+258|0,(o+v|0)+2|0,o);break w}if(_=m(A,W),o=_>>5,(o|0)>-2)break w;for(u=i[(u<<2)+45504>>2],_&32&&(X[h+(o<<1)>>1]=Q[v-(m(o,u)+128>>8<<1)>>1],o=o+1|0);X[h+(o<<1)>>1]=Q[v-(m(o,u)+128>>8<<1)>>1],_=o+1|0,X[h+(_<<1)>>1]=Q[v-(m(u,_)+128>>8<<1)>>1],o=o+2|0,!!o;);}if((A|0)>0)for(S=y+258|0,q=A&2147483646,d=A&1,A0=A<<1,j=z<<1,u=0;;){o=u,u=o+1|0,Z=m(W,u),_=Z>>5<<1,Z=Z&31;w:{if(Z){if(p=R+(m(o,z)<<1)|0,I=32-Z|0,D=h+_|0,o=0,(A|0)!=1)for(L=D+4|0,_=0;E=o<<1,h0=E+D|0,J=Q[h0+4>>1],X[p+E>>1]=(m(I,Q[h0+2>>1])+m(Z,J)|0)+16>>>5,E=E|2,X[E+p>>1]=(m(I,J)+m(Z,Q[E+L>>1])|0)+16>>>5,o=o+2|0,_=_+2|0,(q|0)!=(_|0););if(!d)break w;_=o<<1,o=_+D|0,X[_+p>>1]=(m(I,Q[o+2>>1])+m(Z,Q[o+4>>1])|0)+16>>>5;break w}l0(R+m(o,j)|0,_+S|0,A0)}if((A|0)==(u|0))break}if((C|0)!=26|A-32>>>0<4294967265|(k|w))break l;for(u=-1<<H^-1,o=0;w=Q[v+2>>1]+(Q[v+((o^-1)<<1)>>1]-Q[v>>1]>>1)|0,X[R+(m(o,z)<<1)>>1]=(w|0)>=0?(u|0)>(w|0)?w:u:0,o=o+1|0,(o|0)!=(A|0););break l}break k}break f}if(_=m(A,W),o=_>>5,(o|0)>-2)break s;for(u=i[(u<<2)+45504>>2],_&32&&(X[h+(o<<1)>>1]=Q[v+(m(o,u)+128>>8<<1)>>1],o=o+1|0);X[h+(o<<1)>>1]=Q[v+(m(o,u)+128>>8<<1)>>1],_=o+1|0,X[h+(_<<1)>>1]=Q[v+(m(u,_)+128>>8<<1)>>1],o=o+2|0,!!o;);}if((A|0)>0)for(p=y+258|0,_=0;;){for(o=_<<1,I=o+p|0,D=o+h|0,E=R+(m(_,z)<<1)|0,o=0;;){u=o+1|0,J=m(u,W),Z=J>>5,S=E+(o<<1)|0,o=J&31;s:{if(o){Z=D+(Z<<1)|0,o=(m(Q[Z+2>>1],32-o|0)+m(o,Q[Z+4>>1])|0)+16>>>5|0;break s}o=Q[I+(Z<<1)>>1]}if(X[S>>1]=o,o=u,(o|0)==(A|0))break}if(_=_+1|0,(_|0)==(A|0))break}if((C|0)!=10|A-32>>>0<4294967265|(k|w))break l;if(w=v-2|0,o=-1<<H^-1,u=0,(A|0)!=1)for(C=A&30,h=0;z=u<<1,W=z|2,_=Q[w>>1]+(Q[W+v>>1]-Q[v>>1]>>1)|0,X[R+z>>1]=(_|0)>=0?(o|0)>(_|0)?_:o:0,u=u+2|0,_=Q[w>>1]+(Q[v+(u<<1)>>1]-Q[v>>1]>>1)|0,X[W+R>>1]=(_|0)>=0?(o|0)>(_|0)?_:o:0,h=h+2|0,(C|0)!=(h|0););if(!(A&1))break l;_=Q[w>>1],w=u<<1,u=_+(Q[(w+v|0)+2>>1]-Q[v>>1]>>1)|0,X[w+R>>1]=(u|0)>=0?(o|0)>(u|0)?u:o:0}B=y+528|0}B=a+528|0;break A}R=(o+u|0)+e|0,H=B-272|0,B=H,W=B-336|0,B=W,i[W+24>>2]=k,i[W+16>>2]=y,i[W+32>>2]=r,i[W+28>>2]=e,v=H+128|0,i[W+12>>2]=v,i[W+20>>2]=A;u:{if((A|0)<65){i[W+316>>2]=16843009,h=W+12|0,An(h);l:{if(i[h+8>>2]<33){if(u=i[h+4>>2],o=i[h+12>>2],Z=i[u+(o?44:40)>>2],w=i[h+24>>2],p=i[w+16936>>2],p=i[(i[i[h+28>>2]+8496>>2]+(m(i[h+296>>2],i[h+16>>2])>>p<<2)|0)+(m(i[w+16924>>2],m(i[h+300>>2],i[h+20>>2])>>p)<<2)>>2],I=i[(u+(o<<2)|0)+4>>2],o=i[h+308>>2],!(s[h+304|0]!=1|(o|0)<=0))for(u=I-1|0,w=o-1|0;;){o=w;s:{if(s[h+304|0]!=1)break s;a=i[h+28>>2],J=i[h+16>>2],E=m(i[h+296>>2],J-1|0),D=i[h+24>>2],S=i[D+16936>>2],q=o+i[h+20>>2]|0,d=m(q,i[h+300>>2]),D=i[(i[a+8496>>2]+(E>>S<<2)|0)+(m(i[D+16924>>2],d>>S)<<2)>>2];h:{if(s[a+24|0]){if(a=E,w=i[h+4>>2],E=i[w+168>>2],a=a>>E,(a|0)<0||(S=i[w+172>>2],(S|0)<=(a|0)))break r;if(E=d>>E,(E|0)<0|(E|0)>=i[w+176>>2])break i;if(s[((i[w+160>>2]+m(a,3)|0)+m(m(E,S),3)|0)+1|0]&3)break s;if((p|0)>=(D|0))break h;break s}if((p|0)<(D|0))break s}i[h+316>>2]||(l[h+320|0]=s[(u+J|0)+m(Z,q)|0]),w=o^-1,l[w+i[h+292>>2]|0]=1,l[w+i[h>>2]|0]=s[(u+i[h+16>>2]|0)+m(Z,o+i[h+20>>2]|0)|0],l[i[h+292>>2]-o|0]=1,l[i[h>>2]-o|0]=s[(u+i[h+16>>2]|0)+m(Z,(o+i[h+20>>2]|0)-1|0)|0],w=1-o|0,l[w+i[h+292>>2]|0]=1,l[w+i[h>>2]|0]=s[(u+i[h+16>>2]|0)+m(Z,(o+i[h+20>>2]|0)-2|0)|0],w=2-o|0,l[w+i[h+292>>2]|0]=1,l[w+i[h>>2]|0]=s[(u+i[h+16>>2]|0)+m(Z,(o+i[h+20>>2]|0)-3|0)|0],i[h+316>>2]=i[h+316>>2]+4}if(w=o-4|0,!((o|0)>3))break}s:{if(!s[h+307|0])break s;o=i[h+28>>2],u=i[h+16>>2],D=m(i[h+296>>2],u-1|0),w=i[h+24>>2],a=i[w+16936>>2],E=i[h+20>>2]-1|0,J=m(E,i[h+300>>2]),w=i[(i[o+8496>>2]+(D>>a<<2)|0)+(m(i[w+16924>>2],J>>a)<<2)>>2];h:{if(s[o+24|0]){if(o=i[h+4>>2],a=i[o+168>>2],D=D>>a,(D|0)<0||(S=i[o+172>>2],(S|0)<=(D|0)))break r;if(a=J>>a,(a|0)<0|(a|0)>=i[o+176>>2])break i;if(s[((i[o+160>>2]+m(D,3)|0)+m(m(a,S),3)|0)+1|0]&3)break s;if((w|0)<=(p|0))break h;break s}if((w|0)>(p|0))break s}o=m(Z,E),i[h+316>>2]||(l[h+320|0]=s[(o+(u+I|0)|0)-1|0]),l[i[h>>2]]=s[(o+(u+I|0)|0)-1|0],l[i[h+292>>2]]=1,i[h+316>>2]=i[h+316>>2]+1}if(w=i[h+312>>2],(w|0)>0)for(u=0;;){s:{if(s[h+(i[h+8>>2]>(u|0)?305:306)|0]!=1)break s;o=i[h+28>>2],D=i[h+16>>2],E=m(i[h+296>>2],D+u|0),a=i[h+24>>2],J=i[a+16936>>2],S=i[h+20>>2]-1|0,q=m(S,i[h+300>>2]),a=i[(i[o+8496>>2]+(E>>J<<2)|0)+(m(i[a+16924>>2],q>>J)<<2)>>2];h:{if(s[o+24|0]){if(o=i[h+4>>2],J=i[o+168>>2],E=E>>J,(E|0)<0||(d=i[o+172>>2],(d|0)<=(E|0)))break r;if(J=q>>J,(J|0)<0|(J|0)>=i[o+176>>2])break i;if(s[((i[o+160>>2]+m(E,3)|0)+m(m(J,d),3)|0)+1|0]&3)break s;if((p|0)>=(a|0))break h;break s}if((p|0)<(a|0))break s}w=m(Z,S),i[h+316>>2]||(l[h+320|0]=s[w+((I+D|0)+u|0)|0]),a=u|1,o=u+I|0,l[a+i[h>>2]|0]=s[w+(o+D|0)|0],l[a+i[h+292>>2]|0]=1,w=u|2,l[w+i[h>>2]|0]=s[((o+i[h+16>>2]|0)+m(Z,i[h+20>>2]-1|0)|0)+1|0],l[w+i[h+292>>2]|0]=1,w=u|3,l[w+i[h>>2]|0]=s[((o+i[h+16>>2]|0)+m(Z,i[h+20>>2]-1|0)|0)+2|0],l[w+i[h+292>>2]|0]=1,w=u+4|0,l[w+i[h>>2]|0]=s[((o+i[h+16>>2]|0)+m(Z,i[h+20>>2]-1|0)|0)+3|0],l[w+i[h+292>>2]|0]=1,i[h+316>>2]=i[h+316>>2]+4,w=i[h+312>>2]}if(u=u+4|0,!((w|0)>(u|0)))break}break l}break o}o=i[W+328>>2],w=i[W+20>>2],u=w<<2|1;l:{if((o|0)==(u|0))break l;if(!o){B0(i[W+12>>2]-(w<<1)|0,1<<i[i[i[W+16>>2]+124>>2]+(i[W+24>>2]?16840:16832)>>2]-1,u);break l}if(o=w<<1,u=0-o|0,s[i[W+304>>2]-o|0]||(l[i[W+12>>2]+u|0]=s[W+332|0],w=i[W+20>>2],u=0-(w<<1)|0),w<<1<=(u|0))break l;for(u=u|1;s[i[W+304>>2]+u|0]||(o=i[W+12>>2]+u|0,l[o|0]=s[o-1|0],w=i[W+20>>2]),o=w<<1>(u|0),u=u+1|0,!!o;);}B=W+336|0;break u}break t}u=i[y+124>>2];u:{if(s[u+16825|0]||k&&(_=k,i[u+16848>>2]!=3))break u;w=B-144|0,B=w;l:{if((A|0)==4|(C|0)==1)break l;o=(C|0)<26?26-C|0:C-26|0,h=(C|0)<10?10-C|0:C-10|0,o=(o|0)<(h|0)?o:h;s:{h:switch(a0(A-8|0,29)|0){case 1:if((o|0)>1)break s;break l;case 3:if((o|0)>0)break s;break l;case 7:break l;case 0:break h;default:break n}if((o|0)<8)break l}s:{h:{w:{if(!(!s[u+8997|0]|(_|(A|0)!=32))&&(_=s[v+64|0],o=s[v|0],W=(_+o|0)-(s[v+32|0]<<1)|0,h=W>>31,Z=1<<i[u+512>>2]-5,(Z|0)>((h^W)-h|0)))break w;u=w- -64|0;break h}if(u=w- -64|0,h=s[v+-64|0],p=(h+o|0)-(s[v-32|0]<<1)|0,W=p>>31,Z>>>0<=(W^p)-W>>>0)break h;for(l[w+128|0]=_,l[w|0]=h,l[w+64|0]=o,W=_-o|0,Z=h-o|0,_=1;;){if(l[u-_|0]=o+(m(_,Z)+32>>>6|0),l[u+_|0]=o+(m(_,W)+32>>>6|0),h=_+1|0,(h|0)!=64){l[(_^-1)+u|0]=o+(m(h,Z)+32>>>6|0),l[u+h|0]=o+(m(h,W)+32>>>6|0),_=_+2|0;continue}break}h=0-(A<<1)|0;break s}if(Z=w- -64|0,o=A<<1,l[Z-o|0]=s[v-o|0],l[o+Z|0]=s[o+v|0],h=0-o|0,p=1-o|0,(p|0)>=(o|0))break s;for(I=v-1|0,_=2-o|0,W=s[v+_|0],l[Z+p|0]=(s[I+p|0]+(W+(s[v+p|0]<<1)|0)|0)+2>>>2;E=W<<1,W=_+1|0,p=s[W+v|0],l[_+Z|0]=(s[_+I|0]+(E+p|0)|0)+2>>>2,E=Z+W|0,J=s[_+v|0],_=_+2|0,W=s[v+_|0],l[E|0]=(J+(W+(p<<1)|0)|0)+2>>>2,(o|0)!=(_|0););}l0(h+v|0,u+h|0,A<<2|1)}B=w+144|0}u:{l:switch(C|0){case 0:if(w=1,(A|0)>=2){for(u=0,o=A;w=u,u=u+1|0,_=o>>>0>3,o=o>>>1|0,!!_;);w=w+2|0}if((A|0)<=0)break u;for(D=A&2147483646,a=A&1,_=A-1|0,E=s[v+(A^-1)|0],C=s[(A+v|0)+1|0],o=0;;){if(y=_-o|0,u=o+1|0,W=m(u,E),Z=R+m(o,z)|0,p=s[v+(o^-1)|0],o=0,h=0,(A|0)!=1)for(;I=o|1,l[o+Z|0]=W+(((m(p,_-o|0)+A|0)+m(I,C)|0)+m(y,s[v+I|0])|0)>>w,o=o+2|0,l[Z+I|0]=W+(((m(p,_-I|0)+A|0)+m(C,o)|0)+m(y,s[o+v|0])|0)>>w,h=h+2|0,(D|0)!=(h|0););if(a&&(J=o+Z|0,S=m(p,_-o|0)+A|0,o=o+1|0,l[J|0]=W+((S+m(o,C)|0)+m(y,s[o+v|0])|0)>>w),o=u,(o|0)==(A|0))break}break u;case 1:if(u=0,h=0,_=1,(A|0)>=2){for(o=A;w=u,u=u+1|0,_=o>>>0>3,o=o>>>1|0,!!_;);_=w+2|0}s:{h:{w:{_:{if((A|0)>0){if(C=A&1,(A|0)!=1)break _;w=0,u=0;break w}if(k)break s;u=A>>_;break h}for(y=A&2147483646,o=0,u=0;w=o+2|0,u=s[v+(o^-2)|0]+(s[v+w|0]+(s[v+(o^-1)|0]+(s[(o+v|0)+1|0]+u|0)|0)|0)|0,o=w,h=h+2|0,(y|0)!=(h|0););}if(C&&(u=s[v+(w^-1)|0]+(s[(w+v|0)+1|0]+u|0)|0),u=A+u>>_,!k&(A|0)<=31)break h;if((A|0)<=0)break s;if(o=0,h=0,A>>>0>=4)for(_=A&2147483644,w=0;B0(R+m(h,z)|0,u,A),B0(R+m(z,h|1)|0,u,A),B0(R+m(z,h|2)|0,u,A),B0(R+m(z,h|3)|0,u,A),h=h+4|0,w=w+4|0,(_|0)!=(w|0););if(w=A&3,!w)break s;for(;B0(R+m(h,z)|0,u,A),h=h+1|0,o=o+1|0,(w|0)!=(o|0););break s}if(o=1,l[R|0]=(s[v+1|0]+(s[v-1|0]+(u<<1)|0)|0)+2>>>2,(A|0)<2)break s;if(C=A-1|0,_=C&3,w=m(u,3)+2|0,y=A-2|0,y>>>0>=3)for(W=C&-4,h=0;Z=o+1|0,l[o+R|0]=w+s[Z+v|0]>>>2,E=Z+R|0,Z=o+2|0,l[E|0]=w+s[Z+v|0]>>>2,E=Z+R|0,Z=o+3|0,l[E|0]=w+s[Z+v|0]>>>2,o=o+4|0,l[Z+R|0]=w+s[v+o|0]>>>2,h=h+4|0,(W|0)!=(h|0););if(_)for(h=0;E=o+R|0,o=o+1|0,l[E|0]=w+s[v+o|0]>>>2,h=h+1|0,(_|0)!=(h|0););if((A|0)<2)break s;if(o=1,w=m(u,3)+2|0,y)for(_=C&-2,h=0;l[R+m(o,z)|0]=w+s[v+(o^-1)|0]>>>2,l[R+m(z,o+1|0)|0]=w+s[(v-o|0)-2|0]>>>2,o=o+2|0,h=h+2|0,(_|0)!=(h|0););if(C&1&&(l[R+m(o,z)|0]=w+s[v+(o^-1)|0]>>>2),(A|0)<2)break s;if(o=A-1|0,v=(R+z|0)+1|0,w=0,h=0,y>>>0>=3)for(y=C&-4,_=0;B0(v+m(h,z)|0,u,o),B0(v+m(z,h|1)|0,u,o),B0(v+m(z,h|2)|0,u,o),B0(v+m(z,h|3)|0,u,o),h=h+4|0,_=_+4|0,(y|0)!=(_|0););if(_=C&3,!_)break s;for(;B0(v+m(h,z)|0,u,o),h=h+1|0,w=w+1|0,(_|0)!=(w|0););}break u;default:break l}if(o=i[y+124>>2],a=i[o+(k?16840:16832)>>2],s[o+16822|0]){if(u=i[y+168>>2],o=e>>u,(o|0)<0||(w=i[y+172>>2],(w|0)<=(o|0)))break r;if(u=r>>u,(u|0)<0|(u|0)>=i[y+176>>2])break i;w=(s[((i[y+160>>2]+m(o,3)|0)+m(m(u,w),3)|0)+1|0]&8)>>>3|0}else w=0;o=0,y=B-272|0,B=y;l:{s:{h:{if((C|0)<35){if((C|0)>1){if(h=y+128|0,W=i[(C<<2)+45360>>2],C>>>0<=17){w:{if((A|0)<0)break w;if(u=A+1|0,_=u&3,A>>>0>=3)for(Z=u&-4,u=0;l[o+h|0]=s[v-o|0],p=o|1,l[p+h|0]=s[v-p|0],p=o|2,l[p+h|0]=s[v-p|0],p=o|3,l[p+h|0]=s[v-p|0],o=o+4|0,u=u+4|0,(Z|0)!=(u|0););if(!_)break w;for(u=0;l[o+h|0]=s[v-o|0],o=o+1|0,u=u+1|0,(_|0)!=(u|0););}if(u=C-11|0,u>>>0<15)break h;if(Z=A<<1,(Z|0)<=(A|0))break s;if(o=A,p=o&3,p)for(_=0,u=o;o=u+1|0,l[h+o|0]=s[v+(u^-1)|0],u=o,_=_+1|0,(p|0)!=(_|0););if(A-1>>>0<3)break s;for(_=h+3|0,p=h+2|0,I=h+1|0;l[o+I|0]=s[v+(o^-1)|0],u=v-o|0,l[o+p|0]=s[u-2|0],l[o+_|0]=s[u-3|0],o=o+4|0,l[h+o|0]=s[u-4|0],(o|0)!=(Z|0););break s}(A|0)>=0&&l0(h,v,A+1|0),u=C-11|0;w:{if(u>>>0>=15){if(A<<1<=(A|0))break w;l0((A+y|0)+129|0,(A+v|0)+1|0,A);break w}if(_=m(A,W),o=_>>5,(o|0)>-2)break w;for(u=i[(u<<2)+45504>>2],_&32&&(l[o+h|0]=s[v-(m(o,u)+128>>8)|0],o=o+1|0);l[o+h|0]=s[v-(m(o,u)+128>>8)|0],_=o+1|0,l[_+h|0]=s[v-(m(u,_)+128>>8)|0],o=o+2|0,!!o;);}if((A|0)>0)for(J=y+129|0,S=A&2147483646,q=A&1,u=0;;){Z=R+m(u,z)|0,u=u+1|0,_=m(W,u),o=_>>5,p=_&31;w:{if(p){if(I=o+h|0,D=32-p|0,o=0,(A|0)!=1)for(d=I+2|0,_=0;A0=o+I|0,E=s[A0+2|0],l[o+Z|0]=(m(D,s[A0+1|0])+m(p,E)|0)+16>>>5,A0=o|1,l[A0+Z|0]=(m(E,D)+m(p,s[d+A0|0])|0)+16>>>5,o=o+2|0,_=_+2|0,(S|0)!=(_|0););if(!q)break w;_=o+Z|0,o=o+I|0,l[_|0]=(m(D,s[o+1|0])+m(p,s[o+2|0])|0)+16>>>5;break w}l0(Z,o+J|0,A)}if((A|0)==(u|0))break}if((C|0)!=26|A-32>>>0<4294967265|(k|w))break l;for(u=-1<<a^-1,o=0;w=s[v+1|0]+(s[v+(o^-1)|0]-s[v|0]>>1)|0,l[R+m(o,z)|0]=(w|0)>=0?(u|0)>(w|0)?w:u:0,o=o+1|0,(o|0)!=(A|0););break l}break k}break f}if(_=m(A,W),o=_>>5,(o|0)>-2)break s;for(u=i[(u<<2)+45504>>2],_&32&&(l[o+h|0]=s[v+(m(o,u)+128>>8)|0],o=o+1|0);l[o+h|0]=s[v+(m(o,u)+128>>8)|0],_=o+1|0,l[_+h|0]=s[v+(m(u,_)+128>>8)|0],o=o+2|0,!!o;);}if((A|0)>0)for(p=y+129|0,_=0;;){for(I=_+p|0,D=h+_|0,E=R+m(_,z)|0,o=0;;){u=o+1|0,J=m(u,W),Z=J>>5,S=o+E|0,o=J&31;s:{if(o){Z=Z+D|0,o=(m(s[Z+1|0],32-o|0)+m(o,s[Z+2|0])|0)+16>>>5|0;break s}o=s[Z+I|0]}if(l[S|0]=o,o=u,(o|0)==(A|0))break}if(_=_+1|0,(_|0)==(A|0))break}if((C|0)!=10|A-32>>>0<4294967265|(k|w))break l;if(w=v-1|0,u=-1<<a^-1,o=0,(A|0)!=1)for(C=A&30,h=0;z=o|1,_=s[w|0]+(s[z+v|0]-s[v|0]>>1)|0,l[o+R|0]=(_|0)>=0?(u|0)>(_|0)?_:u:0,o=o+2|0,_=s[w|0]+(s[v+o|0]-s[v|0]>>1)|0,l[R+z|0]=(_|0)>=0?(u|0)>(_|0)?_:u:0,h=h+2|0,(C|0)!=(h|0););if(!(A&1))break l;_=o+R|0,o=s[w|0]+(s[(o+v|0)+1|0]-s[v|0]>>1)|0,l[_|0]=(o|0)>=0?(o|0)<(u|0)?o:u:0}B=y+272|0}B=H+272|0;break A}C0(16812,8483,533,10587),P()}C0(15164,8483,146,3205),P()}C0(9349,8483,211,8639),P()}C0(16720,8483,343,5959),P()}C0(16598,8483,342,5959),P()}o=0,o=!s[f0+16822|0]|!(s[f+32|0]|s[(f+k|0)+33|0])?o:(n0&47)==10,o=(n0|0)==26?o&&2:o;break e}if(o=0,!s[f+36|0])break e;o=s[f+37|0]?2:1}e:{A:{f:{k:{if(!t){if(!k|!i[f+28>>2])break k;X[((k<<1)+f|0)+14396>>1]=0,o=0}Z=s[(f+k|0)+33|0]!=0,w=!n,n=k?16840:16832;n:{if(i[n+i[i[f+18588>>2]+124>>2]>>2]>=9){t=f,W=B-4096|0,B=W;t:{if(k>>>0<3){if(u=i[f+18588>>2],h=i[u+168>>2],_=e>>h,(_|0)<0||(R=i[u+172>>2],(R|0)<=(_|0)))break r;if(v=r>>h,(v|0)<0|(v|0)>=i[u+176>>2])break i;p=k<<2,z=i[u+(k?44:40)>>2],y=i[(p+u|0)+4>>2]+(m(z,r)+e<<1)|0,C=i[u+124>>2],h=i[C+n>>2],n=i[f+2104>>2],e=0,I=s[((i[u+160>>2]+m(_,3)|0)+m(m(v,R),3)|0)+1|0]&3,R=!I&(A|0)==4&s[C+16820|0]!=0;o:{if(s[f+32|0]){if(e=(f+(k<<1)|0)+14396|0,X[e>>1]>0)for(f=0,r=k<<11,u=r+(t+8252|0)|0,r=r+(t+2108|0)|0;w=f<<1,X[n+(X[w+u>>1]<<1)>>1]=Q[r+w>>1],f=f+1|0,(f|0)<X[e>>1];);if(R&&V[i[i[t+18584>>2]+432>>2]](n,4),w=t+14404|0,u=k?W:w,V[i[i[t+18584>>2]+(o?(o|0)==2?368:372:364)>>2]](u,n,A),!(!k|!i[t+28>>2]|(A|0)<=0))for(f=i[i[t+18588>>2]+124>>2],o=i[f+16832>>2],_=i[f+16840>>2],Z=A&2147483646,p=A&1,r=0;;){if(v=m(r,A),f=0,e=0,(A|0)!=1)for(;C=f+v<<2,I=C+u|0,i[I>>2]=i[I>>2]+(m(i[t+28>>2],i[w+C>>2]<<_>>o)>>3),C=C+4|0,I=C+u|0,i[I>>2]=i[I>>2]+(m(i[t+28>>2],i[w+C>>2]<<_>>o)>>3),f=f+2|0,e=e+2|0,(Z|0)!=(e|0););if(p&&(f=f+v<<2,e=f+u|0,i[e>>2]=i[e>>2]+(m(i[t+28>>2],i[f+w>>2]<<_>>o)>>3)),r=r+1|0,(A|0)==(r|0))break}if(V[i[i[t+18584>>2]+460>>2]](y,z,u,A,h),!R)break o;X[n>>1]=0,X[n+2>>1]=0,X[n+4>>1]=0,X[n+6>>1]=0,X[n+24>>1]=0,X[n+26>>1]=0,X[n+28>>1]=0,X[n+30>>1]=0,X[n+16>>1]=0,X[n+18>>1]=0,X[n+20>>1]=0,X[n+22>>1]=0,X[n+8>>1]=0,X[n+10>>1]=0,X[n+12>>1]=0,X[n+14>>1]=0;break o}if((A|0)>=2)for(f=A;e=e+1|0,r=f>>>0>3,f=f>>>1|0,!!r;);v=i[u+132>>2],r=i[(t+p|0)+18536>>2],e=e+h|0;u:{if(!s[C+636|0]){if(u=(t+(k<<1)|0)+14396|0,X[u>>1]<=0)break u;for(r=i[((r|0)%6<<2)+46096>>2]<<(r|0)/6,w=e-9|0,_=1<<e-10,f=0,e=k<<11,C=e+(t+2108|0)|0,p=e+(t+8252|0)|0;D=f<<1,e=_+m(r,X[D+C>>1])>>w,e=(e|0)>=32767?32767:e,X[n+(X[p+D>>1]<<1)>>1]=(e|0)<=-32768?-32768:e,f=f+1|0,(f|0)<X[u>>1];);break u}f=k,u=f;l:{if(w||(u=f+3|0,(A|0)<=31))break l;u=f+1|0}f=u;l:{s:switch(a0(A-4|0,30)|0){case 1:f=(v+(f<<6)|0)+169|0;break l;case 3:f=(v+(f<<8)|0)+553|0;break l;case 7:f=(v+(f<<10)|0)+2089|0;break l;case 0:break s;default:break f}f=(v+(f<<4)|0)+73|0}if(p=(t+(k<<1)|0)+14396|0,X[p>>1]<=0)break u;for(_=f,D=(r|0)/6|0,f0=i[(r-m(D,6)<<2)+46096>>2],u=e-5|0,w=1<<e-6,H=w>>31,f=0,e=k<<11,n0=e+(t+2108|0)|0,a=e+(t+8252|0)|0;e=f<<1,r=X[e+a>>1],E=n+(r<<1)|0,e=X[e+n0>>1],C=e,J=e>>31,e=m(f0,s[r+_|0])<<D,e=q0(C,J,e,e>>31),r=H+w0|0,e=e+w|0,r=e>>>0<w>>>0?r+1|0:r,J=e,C=u&31,(u&63)>>>0>=32?(e=r>>31,r=r>>C):(e=r>>C,r=((1<<C)-1&r)<<32-C|J>>>C),C=(e|0)>=0&r>>>0>=32767|(e|0)>0,r=C?32767:r,e=C?0:e,(e|0)<-1?e=1:e=(e|0)<0&r>>>0<=4294934528,X[E>>1]=e?-32768:r,f=f+1|0,(f|0)<X[p>>1];);}if(Z){if(f=5,(A|0)>=2){for(e=0,f=A;r=e,e=e+1|0,u=f>>>0>3,f=f>>>1|0,!!u;);f=r+6|0}if(R&&V[i[i[t+18584>>2]+432>>2]](n,4),w=t+14404|0,u=k?W:w,V[i[i[t+18584>>2]+(o?(o|0)==2?464:468:472)>>2]](u,n,A,f,(h|0)<20?20-h|0:0),!(!k|!i[t+28>>2]|(A|0)<=0))for(f=i[i[t+18588>>2]+124>>2],o=i[f+16832>>2],_=i[f+16840>>2],Z=A&2147483646,p=A&1,r=0;;){if(v=m(r,A),f=0,e=0,(A|0)!=1)for(;C=f+v<<2,I=C+u|0,i[I>>2]=i[I>>2]+(m(i[t+28>>2],i[w+C>>2]<<_>>o)>>3),C=C+4|0,I=C+u|0,i[I>>2]=i[I>>2]+(m(i[t+28>>2],i[w+C>>2]<<_>>o)>>3),f=f+2|0,e=e+2|0,(Z|0)!=(e|0););if(p&&(f=f+v<<2,e=f+u|0,i[e>>2]=i[e>>2]+(m(i[t+28>>2],i[f+w>>2]<<_>>o)>>3)),r=r+1|0,(A|0)==(r|0))break}if(V[i[i[t+18584>>2]+460>>2]](y,z,u,A,h),!R)break o;X[n>>1]=0,X[n+2>>1]=0,X[n+4>>1]=0,X[n+6>>1]=0,X[n+24>>1]=0,X[n+26>>1]=0,X[n+28>>1]=0,X[n+30>>1]=0,X[n+16>>1]=0,X[n+18>>1]=0,X[n+20>>1]=0,X[n+22>>1]=0,X[n+8>>1]=0,X[n+10>>1]=0,X[n+12>>1]=0,X[n+14>>1]=0;break o}if(o)break t;if(e=!(k|I)&(A|0)==4,s[v+8247|0]==1){r=0,w=B-4096|0,B=w,u=20-h|0,o=t+14404|0,f=k?w:o,_=i[t+18584>>2];u:{if(e){e=436;break u}e=440;l:switch(A-4|0){case 4:e=444;break u;case 12:e=448;break u;case 0:break u;default:break l}e=452}if(V[i[e+_>>2]](f,n,u,15),!(!k|!i[t+28>>2]|(A|0)<=0))for(e=i[i[t+18588>>2]+124>>2],n=i[e+16832>>2],u=i[e+16840>>2],Z=A&2147483646,p=A&1;;){if(v=m(r,A),e=0,C=0,(A|0)!=1)for(;R=e+v<<2,I=R+f|0,i[I>>2]=i[I>>2]+(m(i[t+28>>2],i[o+R>>2]<<u>>n)>>3),R=R+4|0,I=R+f|0,i[I>>2]=i[I>>2]+(m(i[t+28>>2],i[o+R>>2]<<u>>n)>>3),e=e+2|0,C=C+2|0,(Z|0)!=(C|0););if(p&&(e=e+v<<2,v=e+f|0,i[v>>2]=i[v>>2]+(m(i[t+28>>2],i[e+o>>2]<<u>>n)>>3)),r=r+1|0,(A|0)==(r|0))break}V[i[_+460>>2]](y,z,f,A,h),B=w+4096|0;break o}r=i[t+18584>>2]+172|0;u:{if(e){f=240;break u}f=244;l:switch(A-4|0){case 4:f=248;break u;case 12:f=252;break u;case 0:break u;default:break l}f=256}V[i[f+r>>2]](y,n,z,h)}if(e=(t+(k<<1)|0)+14396|0,X[e>>1]>0)for(r=i[t+2104>>2],A=(t+8252|0)+(k<<11)|0,f=0;X[r+(X[A+(f<<1)>>1]<<1)>>1]=0,f=f+1|0,(f|0)<X[e>>1];);B=W+4096|0;break n}break A}break e}t=f,R=B-4096|0,B=R;t:{if(k>>>0<3){if(u=i[f+18588>>2],n=i[u+168>>2],_=e>>n,(_|0)<0||(v=i[u+172>>2],(v|0)<=(_|0)))break r;if(h=r>>n,(h|0)<0|(h|0)>=i[u+176>>2])break i;W=k<<2,C=i[u+(k?44:40)>>2],z=(i[(W+u|0)+4>>2]+m(C,r)|0)+e|0,n=i[f+2104>>2],e=0,p=s[((i[u+160>>2]+m(_,3)|0)+m(m(h,v),3)|0)+1|0]&3,_=i[u+124>>2],y=!p&(A|0)==4&s[_+16820|0]!=0;o:{if(s[f+32|0]){if(e=(f+(k<<1)|0)+14396|0,X[e>>1]>0)for(f=0,r=k<<11,u=r+(t+8252|0)|0,r=r+(t+2108|0)|0;w=f<<1,X[n+(X[w+u>>1]<<1)>>1]=Q[r+w>>1],f=f+1|0,(f|0)<X[e>>1];);if(y&&V[i[i[t+18584>>2]+432>>2]](n,4),w=t+14404|0,u=k?R:w,V[i[i[t+18584>>2]+(o?(o|0)==2?368:372:364)>>2]](u,n,A),!(!k|!i[t+28>>2]|(A|0)<=0))for(f=i[i[t+18588>>2]+124>>2],o=i[f+16832>>2],_=i[f+16840>>2],W=A&2147483646,Z=A&1,r=0;;){if(h=m(r,A),f=0,e=0,(A|0)!=1)for(;v=f+h<<2,p=v+u|0,i[p>>2]=i[p>>2]+(m(i[t+28>>2],i[w+v>>2]<<_>>o)>>3),v=v+4|0,p=v+u|0,i[p>>2]=i[p>>2]+(m(i[t+28>>2],i[w+v>>2]<<_>>o)>>3),f=f+2|0,e=e+2|0,(W|0)!=(e|0););if(Z&&(f=f+h<<2,e=f+u|0,i[e>>2]=i[e>>2]+(m(i[t+28>>2],i[f+w>>2]<<_>>o)>>3)),r=r+1|0,(A|0)==(r|0))break}if(V[i[i[t+18584>>2]+456>>2]](z,C,u,A,8),!y)break o;X[n>>1]=0,X[n+2>>1]=0,X[n+4>>1]=0,X[n+6>>1]=0,X[n+24>>1]=0,X[n+26>>1]=0,X[n+28>>1]=0,X[n+30>>1]=0,X[n+16>>1]=0,X[n+18>>1]=0,X[n+20>>1]=0,X[n+22>>1]=0,X[n+8>>1]=0,X[n+10>>1]=0,X[n+12>>1]=0,X[n+14>>1]=0;break o}if(v=i[_+(k?16840:16832)>>2],(A|0)>=2)for(f=A;e=e+1|0,r=f>>>0>3,f=f>>>1|0,!!r;);h=i[u+132>>2],r=i[(t+W|0)+18536>>2],e=e+v|0;u:{if(!s[_+636|0]){if(u=(t+(k<<1)|0)+14396|0,X[u>>1]<=0)break u;for(r=i[((r|0)%6<<2)+46096>>2]<<(r|0)/6,w=e-9|0,_=1<<e-10,f=0,e=k<<11,v=e+(t+2108|0)|0,W=e+(t+8252|0)|0;I=f<<1,e=_+m(r,X[I+v>>1])>>w,e=(e|0)>=32767?32767:e,X[n+(X[W+I>>1]<<1)>>1]=(e|0)<=-32768?-32768:e,f=f+1|0,(f|0)<X[u>>1];);break u}f=k,u=f;l:{if(w||(u=f+3|0,(A|0)<=31))break l;u=f+1|0}f=u;l:{s:switch(a0(A-4|0,30)|0){case 1:f=(h+(f<<6)|0)+169|0;break l;case 3:f=(h+(f<<8)|0)+553|0;break l;case 7:f=(h+(f<<10)|0)+2089|0;break l;case 0:break s;default:break f}f=(h+(f<<4)|0)+73|0}if(W=(t+(k<<1)|0)+14396|0,X[W>>1]<=0)break u;for(_=f,I=(r|0)/6|0,D=i[(r-m(I,6)<<2)+46096>>2],u=e-5|0,w=1<<e-6,f0=w>>31,f=0,e=k<<11,H=e+(t+2108|0)|0,n0=e+(t+8252|0)|0;e=f<<1,r=X[e+n0>>1],a=n+(r<<1)|0,e=X[e+H>>1],E=e,J=e>>31,e=m(D,s[r+_|0])<<I,e=q0(E,J,e,e>>31),r=f0+w0|0,e=e+w|0,r=e>>>0<w>>>0?r+1|0:r,E=e,v=u&31,(u&63)>>>0>=32?(e=r>>31,r=r>>v):(e=r>>v,r=((1<<v)-1&r)<<32-v|E>>>v),v=(e|0)>=0&r>>>0>=32767|(e|0)>0,r=v?32767:r,e=v?0:e,(e|0)<-1?e=1:e=(e|0)<0&r>>>0<=4294934528,X[a>>1]=e?-32768:r,f=f+1|0,(f|0)<X[W>>1];);}if(Z){if(f=5,(A|0)>=2){for(e=0,f=A;r=e,e=e+1|0,u=f>>>0>3,f=f>>>1|0,!!u;);f=r+6|0}if(y&&V[i[i[t+18584>>2]+432>>2]](n,4),w=t+14404|0,u=k?R:w,V[i[i[t+18584>>2]+(o?(o|0)==2?464:468:472)>>2]](u,n,A,f,12),!(!k|!i[t+28>>2]|(A|0)<=0))for(f=i[i[t+18588>>2]+124>>2],o=i[f+16832>>2],_=i[f+16840>>2],W=A&2147483646,Z=A&1,r=0;;){if(h=m(r,A),f=0,e=0,(A|0)!=1)for(;v=f+h<<2,p=v+u|0,i[p>>2]=i[p>>2]+(m(i[t+28>>2],i[w+v>>2]<<_>>o)>>3),v=v+4|0,p=v+u|0,i[p>>2]=i[p>>2]+(m(i[t+28>>2],i[w+v>>2]<<_>>o)>>3),f=f+2|0,e=e+2|0,(W|0)!=(e|0););if(Z&&(f=f+h<<2,e=f+u|0,i[e>>2]=i[e>>2]+(m(i[t+28>>2],i[f+w>>2]<<_>>o)>>3)),r=r+1|0,(A|0)==(r|0))break}if(V[i[i[t+18584>>2]+456>>2]](z,C,u,A,8),!y)break o;X[n>>1]=0,X[n+2>>1]=0,X[n+4>>1]=0,X[n+6>>1]=0,X[n+24>>1]=0,X[n+26>>1]=0,X[n+28>>1]=0,X[n+30>>1]=0,X[n+16>>1]=0,X[n+18>>1]=0,X[n+20>>1]=0,X[n+22>>1]=0,X[n+8>>1]=0,X[n+10>>1]=0,X[n+12>>1]=0,X[n+14>>1]=0;break o}if(o)break e;if(e=!(k|p)&(A|0)==4,s[h+8247|0]==1){r=0,w=B-4096|0,B=w,o=t+14404|0,f=k?w:o,_=i[t+18584>>2];u:{if(e){e=436;break u}e=440;l:switch(A-4|0){case 4:e=444;break u;case 12:e=448;break u;case 0:break u;default:break l}e=452}if(V[i[e+_>>2]](f,n,12,15),!(!k|!i[t+28>>2]|(A|0)<=0))for(e=i[i[t+18588>>2]+124>>2],n=i[e+16832>>2],u=i[e+16840>>2],W=A&2147483646,Z=A&1;;){if(h=m(r,A),e=0,v=0,(A|0)!=1)for(;y=e+h<<2,p=y+f|0,i[p>>2]=i[p>>2]+(m(i[t+28>>2],i[o+y>>2]<<u>>n)>>3),y=y+4|0,p=y+f|0,i[p>>2]=i[p>>2]+(m(i[t+28>>2],i[o+y>>2]<<u>>n)>>3),e=e+2|0,v=v+2|0,(W|0)!=(v|0););if(Z&&(e=e+h<<2,h=e+f|0,i[h>>2]=i[h>>2]+(m(i[t+28>>2],i[e+o>>2]<<u>>n)>>3)),r=r+1|0,(A|0)==(r|0))break}V[i[_+456>>2]](z,C,f,A,8),B=w+4096|0;break o}r=i[t+18584>>2]+172|0;u:{if(e){f=216;break u}f=220;l:switch(A-4|0){case 4:f=224;break u;case 12:f=228;break u;case 0:break u;default:break l}f=232}V[i[f+r>>2]](z,n,C)}if(e=(t+(k<<1)|0)+14396|0,X[e>>1]>0)for(r=i[t+2104>>2],A=(t+8252|0)+(k<<11)|0,f=0;X[r+(X[A+(f<<1)>>1]<<1)>>1]=0,f=f+1|0,(f|0)<X[e>>1];);B=R+4096|0;break t}break A}}}return}C0(17356,13974,502,7784),P()}C0(17356,13974,377,7784),P()}C0(17177,13974,599,7784),P()}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function _r(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0;k=B-304|0,B=k,i[k+280>>2]=0,i[k+284>>2]=0,i[k+288>>2]=0,i[k+292>>2]=0,i[k+296>>2]=0,i[k+272>>2]=0,i[k+276>>2]=0,i[k+264>>2]=68500,xk(k+240|0,k+264|0,e);i:{if(i[k+240>>2]){e=i[k+244>>2],i[f>>2]=i[k+240>>2],i[f+4>>2]=e,i[f+16>>2]=i[k+256>>2],e=i[k+252>>2],i[f+8>>2]=i[k+248>>2],i[f+12>>2]=e,i[k+256>>2]=0,i[k+248>>2]=0,i[k+252>>2]=0;break i}if(s[e+20|0]==1){if(l[k+60|0]=0,l[k+71|0]=0,r0(f,2,100,k+60|0),l[k+71|0]>=0)break i;G(i[k+60>>2]);break i}i[k+232>>2]=0,i[k+236>>2]=0;r:{e:{A:{f:{k:{n:{t:{o:{u:{l:{s:{h:{w:{_:{v:{Z:{m:{B:{p:{W:{G:{C:{y:{Y:{V:{F:{I:{D:{U:{M:{J:{x:{E:{Q:{g:{N:{if(A=i[k+280>>2],(A|0)<=1768973166){if((A|0)<=1668246641){if((A|0)<=1667523941){if((A|0)<=1635088450){if((A|0)==1630628984)break _;if((A|0)==1630629744)break v;if((A|0)!=1634497650)break A;A=U(88),i[A+16>>2]=0,i[A+20>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+80>>2]=0,i[A+84>>2]=0,i[A>>2]=71464,i[A+16>>2]=70224,i[A+24>>2]=0,i[A+28>>2]=0,i[A+32>>2]=0,i[A+36>>2]=0,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,n=A- -64|0,i[n>>2]=0,i[n+4>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}if((A|0)==1635088451)break M;if((A|0)==1635135811)break Y;if((A|0)!=1635148611)break A;A=U(96),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[A+16>>2]=75028,i[A>>2]=72384,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+80>>2]=0,i[A+84>>2]=0,i[A+88>>2]=0,i[A+92>>2]=0,i[A+32>>2]=1635148611,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}if((A|0)<=1668112751){if((A|0)==1667523942)break s;if((A|0)==1668047216)break I;if((A|0)!=1668050025)break A;A=U(72),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+64>>2]=0,i[A>>2]=71904,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+16>>2]=69852,i[A+32>>2]=1668050025,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}if((A|0)==1668112752)break l;if((A|0)==1668113784)break w;if((A|0)!=1668114798)break A;R7(k+60|0),n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;X:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break X;V[i[i[A>>2]+8>>2]](A),g(A)}break r}if((A|0)<=1752589122){if((A|0)<=1718909295){if((A|0)==1668246642)break m;if((A|0)==1684631142)break p;if((A|0)!=1685218662)break A;A=U(72),i[A+16>>2]=0,i[A+20>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=71584,i[A+16>>2]=70464,i[A+24>>2]=0,i[A+28>>2]=0,i[A+32>>2]=0,i[A+36>>2]=0,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,n=A- -64|0,i[n>>2]=0,i[n+4>>2]=0,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}if((A|0)==1718909296)break N;if((A|0)==1735553132)break C;if((A|0)!=1751411826)break A;A=U(104),i[A+32>>2]=0,i[A+36>>2]=0,i[A+68>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+80>>2]=0,i[A+84>>2]=0,i[A+72>>2]=0,i[A+76>>2]=1885954932,i[A>>2]=70664,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+16>>2]=68844,i[A+88>>2]=0,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+32>>2]=1751411826,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;X:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break X;V[i[i[A>>2]+8>>2]](A),g(A)}break r}if((A|0)<=1768714082){if((A|0)==1752589123)break V;if((A|0)==1768186228)break y;if((A|0)!=1768517222)break A;A=U(72),i[A+32>>2]=0,i[A+36>>2]=0,i[A+68>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A>>2]=70784,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+16>>2]=69084,i[A+32>>2]=1768517222,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}if((A|0)==1768714083)break E;if((A|0)==1768778098)break D;if((A|0)!=1768842853)break A;A=U(144),i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+80>>2]=0,i[A+84>>2]=0,X[A+76>>1]=0,i[A+68>>2]=0,i[A+72>>2]=0,i[A>>2]=70824,i[A+32>>2]=0,i[A+36>>2]=0,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+16>>2]=69024,i[A+88>>2]=0,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,i[A+116>>2]=0,i[A+120>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+132>>2]=0,l[A+133|0]=0,l[A+134|0]=0,l[A+135|0]=0,l[A+136|0]=0,l[A+137|0]=0,l[A+138|0]=0,l[A+139|0]=0,l[A+140|0]=0,i[A+32>>2]=1768842853,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;X:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break X;V[i[i[A>>2]+8>>2]](A),g(A)}break r}if((A|0)<=1835365472){if((A|0)<=1781689159){if((A|0)<=1769104741){if((A|0)==1768973167)break x;if((A|0)==1768975713)break J;if((A|0)!=1768977008)break A;A=U(64),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=70864,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+16>>2]=69144,i[A+32>>2]=1768977008,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}if((A|0)==1769104742)break F;if((A|0)==1769107316)break U;if((A|0)!=1769173093)break A;A=U(80),i[A+32>>2]=0,i[A+36>>2]=0,i[A+68>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[A>>2]=70984,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+16>>2]=69264,i[A+32>>2]=1769173093,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;X:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break X;V[i[i[A>>2]+8>>2]](A),g(A)}break r}if((A|0)<=1819501931)switch(A-1781689160|0){case 4:break o;case 0:break h;case 1:case 2:case 3:break A;default:break f}if((A|0)==1819501932)break Z;if((A|0)==1835295092)break n;if((A|0)!=1835295606)break A;A=U(88),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+64>>2]=0,i[A+68>>2]=0,i[A>>2]=71944,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+16>>2]=68524,i[A+72>>2]=0,i[A+76>>2]=0,i[A+80>>2]=0,i[A+84>>2]=0,i[A+32>>2]=1835295606,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}if((A|0)<=1887006051){if((A|0)<=1885564017){if((A|0)==1835365473)break g;if((A|0)==1836280643)break t;if((A|0)!=1885434736)break A;A=U(72),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+64>>2]=1,i[A+68>>2]=1,i[A>>2]=71744,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+16>>2]=69732,i[A+32>>2]=1885434736,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}if((A|0)==1885564018)break u;if((A|0)==1885959277)break Q;if((A|0)!=1885960297)break A;A=U(88),i[A+32>>2]=0,i[A+36>>2]=0,i[A+68>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+80>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[A>>2]=71704,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+16>>2]=69672,i[A+32>>2]=1885960297,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;X:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break X;V[i[i[A>>2]+8>>2]](A),g(A)}break r}if((A|0)<=1970433055){if((A|0)==1887006052)break G;if((A|0)==1937007986)break W;if((A|0)!=1969513843)break A;A=U(120),i[A+32>>2]=0,i[A+36>>2]=0,i[A+68>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[A>>2]=72064,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+16>>2]=70032,i[A+80>>2]=0,i[A+84>>2]=0,i[A+88>>2]=0,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,i[A+116>>2]=0,i[A+32>>2]=1969513843,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}if((A|0)==1970433056)break B;if((A|0)==1970628964)break k;if((A|0)!=1987470147)break A;A=U(160),i[A+68>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+88>>2]=0,i[A+92>>2]=0,X[A+72>>1]=259,i[A+16>>2]=74936,i[A+152>>2]=0,i[A+144>>2]=0,i[A+148>>2]=0,i[A>>2]=71304,i[A+32>>2]=0,i[A+36>>2]=0,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,i[A+116>>2]=0,i[A+120>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+132>>2]=0,i[A+32>>2]=1987470147,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;X:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break X;V[i[i[A>>2]+8>>2]](A),g(A)}break r}A=U(88),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+64>>2]=0,i[A+68>>2]=0,i[A>>2]=70584,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+16>>2]=68724,i[A+72>>2]=0,i[A+76>>2]=0,i[A+80>>2]=0,i[A+32>>2]=1718909296,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(72),i[A+32>>2]=0,i[A+36>>2]=0,i[A+68>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A>>2]=70624,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+16>>2]=68784,i[A+32>>2]=1835365473,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(80),i[A+32>>2]=0,i[A+36>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+68>>2]=0,i[A+72>>2]=0,i[A>>2]=70704,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+16>>2]=68904,i[A+32>>2]=1885959277,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(104),i[A+32>>2]=0,i[A+36>>2]=0,i[A+68>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+96>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[A>>2]=70744,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+16>>2]=68964,i[A+80>>2]=0,i[A+84>>2]=0,l[A+85|0]=0,l[A+86|0]=0,l[A+87|0]=0,l[A+88|0]=0,l[A+89|0]=0,l[A+90|0]=0,l[A+91|0]=0,l[A+92|0]=0,i[A+32>>2]=1768714083,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;E:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break E;V[i[i[A>>2]+8>>2]](A),g(A)}break r}A=U(64),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=70904,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+16>>2]=69204,i[A+32>>2]=1768973167,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(88),i[A+32>>2]=0,i[A+36>>2]=0,i[A+68>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+80>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[A>>2]=70944,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+16>>2]=69312,i[A+32>>2]=1768975713,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;J:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break J;V[i[i[A>>2]+8>>2]](A),g(A)}break r}A=U(96),i[A+32>>2]=0,i[A+36>>2]=0,i[A+68>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[A>>2]=71024,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+16>>2]=69372,i[A+80>>2]=0,i[A+84>>2]=0,i[A+88>>2]=0,i[A+92>>2]=0,i[A+32>>2]=1635088451,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(72),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+64>>2]=0,i[A>>2]=71064,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+16>>2]=69432,i[A+32>>2]=1769107316,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(72),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+64>>2]=0,i[A>>2]=71104,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+16>>2]=69492,i[A+32>>2]=1768778098,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(96),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+88>>2]=0,i[A+92>>2]=1,i[A+80>>2]=0,i[A+84>>2]=1,i[A+72>>2]=0,i[A+76>>2]=1,i[A+64>>2]=0,i[A+68>>2]=1,i[A>>2]=71144,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+16>>2]=69552,i[A+32>>2]=1668047216,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;I:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break I;V[i[i[A>>2]+8>>2]](A),g(A)}break r}A=U(88),i[A+32>>2]=0,i[A+36>>2]=0,i[A+68>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+80>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[A>>2]=71184,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+16>>2]=69612,i[A+32>>2]=1769104742,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;F:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break F;V[i[i[A>>2]+8>>2]](A),g(A)}break r}A=U(112),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+108>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,l[A+96|0]=4,i[A+72>>2]=0,i[A+76>>2]=0,i[A+16>>2]=74252,i[A>>2]=71224,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+32>>2]=1752589123,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;V:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break V;V[i[i[A>>2]+8>>2]](A),g(A)}break r}A=U(88),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,l[A+65|0]=0,l[A+66|0]=0,l[A+67|0]=0,l[A+68|0]=0,l[A+69|0]=0,l[A+70|0]=0,l[A+71|0]=0,l[A+72|0]=0,l[A+64|0]=1,i[A+16>>2]=74368,i[A>>2]=71264,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A+73|0]=0,l[A+74|0]=0,l[A+75|0]=0,l[A+76|0]=0,l[A+77|0]=0,l[A+78|0]=0,l[A+79|0]=0,l[A+80|0]=0,l[A+80|0]=0,l[A+81|0]=0,l[A+82|0]=0,l[A+83|0]=0,l[A+84|0]=0,l[A+85|0]=0,l[A+86|0]=0,l[A+87|0]=0,i[A+32>>2]=1635135811,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(96),i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=71344,n=B0(A+16|0,0,80),i[A+64>>2]=0,i[A+68>>2]=0,i[A+16>>2]=70104,i[A+72>>2]=0,i[A+76>>2]=0,i[A+80>>2]=0,i[A+84>>2]=0,i[A+88>>2]=0,i[k+236>>2]=A,i[k+232>>2]=n,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(64),i[A+16>>2]=0,i[A+20>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=71384,i[A+16>>2]=70164,i[A+24>>2]=0,i[A+28>>2]=0,i[A+32>>2]=0,i[A+36>>2]=0,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(104),i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=71424,n=B0(A+16|0,0,80),i[A+96>>2]=0,i[A+100>>2]=0,i[A+16>>2]=70344,i[k+236>>2]=A,i[k+232>>2]=n,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(88),i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=71504,n=B0(A+16|0,0,72),i[A+16>>2]=70284,i[k+236>>2]=A,i[k+232>>2]=n,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(64),i[A+16>>2]=0,i[A+20>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=71544,i[A+16>>2]=70404,i[A+24>>2]=0,i[A+28>>2]=0,i[A+32>>2]=0,i[A+36>>2]=0,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(88),i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=71624,n=B0(A+16|0,0,72),i[A+72>>2]=0,i[A+76>>2]=0,i[A+16>>2]=70524,i[A+80>>2]=0,i[k+236>>2]=A,i[k+232>>2]=n,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(72),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+64>>2]=0,i[A+68>>2]=0,i[A+16>>2]=73032,i[A>>2]=71664,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+32>>2]=1668246642,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(72),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,X[A+64>>1]=0,i[A>>2]=71784,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+16>>2]=69792,i[A+32>>2]=1819501932,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(72),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,l[A+64|0]=0,i[A+16>>2]=74428,i[A>>2]=71824,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+32>>2]=1630629744,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(80),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+64>>2]=0,i[A+68>>2]=0,i[A+16>>2]=74488,i[A>>2]=71864,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+72>>2]=0,i[A+32>>2]=1630628984,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}m7(k+60|0),n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;w:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break w;V[i[i[A>>2]+8>>2]](A),g(A)}break r}A=U(64),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+16>>2]=74848,i[A>>2]=72144,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+32>>2]=1781689160,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(80),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+72>>2]=0,i[A+64>>2]=0,i[A+68>>2]=0,i[A+16>>2]=74608,i[A>>2]=72184,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+32>>2]=1667523942,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;s:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break s;V[i[i[A>>2]+8>>2]](A),g(A)}break r}A=U(80),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+72>>2]=0,i[A+64>>2]=0,i[A+68>>2]=0,i[A+16>>2]=74668,i[A>>2]=72224,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+32>>2]=1668112752,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;l:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break l;V[i[i[A>>2]+8>>2]](A),g(A)}break r}A=U(88),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+64>>2]=0,i[A+68>>2]=0,i[A+16>>2]=74728,i[A>>2]=72264,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[A+80>>2]=0,i[A+84>>2]=0,i[A+32>>2]=1885564018,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(88),i[A+32>>2]=0,i[A+36>>2]=0,i[A+68>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+80>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[A+16>>2]=74788,i[A>>2]=72304,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+32>>2]=1781689164,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;o:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break o;V[i[i[A>>2]+8>>2]](A),g(A)}break r}A=U(80),i[A+32>>2]=0,i[A+36>>2]=0,i[A+68>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+16>>2]=75088,i[A>>2]=72344,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,l[A- -64|0]=0,i[A+32>>2]=1836280643,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(64),i[A+16>>2]=0,i[A+20>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A>>2]=72424,i[A+16>>2]=68616,i[A+24>>2]=0,i[A+28>>2]=0,i[A+32>>2]=0,i[A+36>>2]=0,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[k+236>>2]=A,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}if(Z9(k+32|0,k+264|0),i[k+216>>2]=16,l[k+68|0]=157,l[k+69|0]=144,l[k+70|0]=78,l[k+71|0]=182,l[k+72|0]=236,l[k+73|0]=186,l[k+74|0]=243,l[k+75|0]=163,l[k+60|0]=34,l[k+61|0]=204,l[k+62|0]=4,l[k+63|0]=199,l[k+64|0]=214,l[k+65|0]=217,l[k+66|0]=78,l[k+67|0]=7,i[k+212>>2]=k+60,A=i[k+216>>2],i[k+24>>2]=i[k+212>>2],i[k+28>>2]=A,o=R9(k+220|0,k+24|0),n=i[o>>2],A=i[k+32>>2],u=i[k+36>>2]-A|0,(i[o+4>>2]-n|0)==(u|0)&&(t=!K2(A,n,u)),n&&(i[o+4>>2]=n,G(n),A=i[k+32>>2]),A&&(i[k+36>>2]=A,G(A)),t){R7(k+60|0),n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;k:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break k;V[i[i[A>>2]+8>>2]](A),g(A)}break r}if(Z9(k+32|0,k+264|0),i[k+208>>2]=16,l[k+68|0]=151,l[k+69|0]=174,l[k+70|0]=190,l[k+71|0]=166,l[k+72|0]=152,l[k+73|0]=3,l[k+74|0]=180,l[k+75|0]=52,l[k+60|0]=67,l[k+61|0]=99,l[k+62|0]=233,l[k+63|0]=20,l[k+64|0]=91,l[k+65|0]=125,l[k+66|0]=74,l[k+67|0]=171,i[k+204>>2]=k+60,A=i[k+208>>2],i[k+16>>2]=i[k+204>>2],i[k+20>>2]=A,t=0,o=R9(k+220|0,k+16|0),n=i[o>>2],A=i[k+32>>2],u=i[k+36>>2]-A|0,(i[o+4>>2]-n|0)==(u|0)&&(t=!K2(A,n,u)),n&&(i[o+4>>2]=n,G(n),A=i[k+32>>2]),A&&(i[k+36>>2]=A,G(A)),t){m7(k+60|0),n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;k:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break k;V[i[i[A>>2]+8>>2]](A),g(A)}break r}n=i[k+280>>2],A=U(80),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+72>>2]=0,i[A+64>>2]=0,i[A+68>>2]=0,i[A>>2]=72464,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+16>>2]=68664,i[A+32>>2]=n,i[k+232>>2]=A+16,i[k+60>>2]=0,i[k+64>>2]=0,n=i[k+236>>2],i[k+236>>2]=A;k:{if(!n||(A=i[n+4>>2],i[n+4>>2]=A-1,A))break k;V[i[i[n>>2]+8>>2]](n),g(n)}break r}if((A|0)==1785751363)break e}n=U(80),i[n+32>>2]=0,i[n+36>>2]=0,i[n+24>>2]=0,i[n+28>>2]=0,i[n+4>>2]=0,i[n+8>>2]=0,i[n+72>>2]=0,i[n+64>>2]=0,i[n+68>>2]=0,i[n>>2]=72464,i[n+40>>2]=0,i[n+44>>2]=0,i[n+48>>2]=0,i[n+52>>2]=0,i[n+56>>2]=0,i[n+60>>2]=0,i[n+16>>2]=68664,i[n+32>>2]=A,i[k+236>>2]=n,i[k+232>>2]=n+16,i[k+60>>2]=0,i[k+64>>2]=0;break r}A=U(80),i[A+32>>2]=0,i[A+36>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A+72>>2]=0,i[A+64>>2]=0,i[A+68>>2]=0,i[A+16>>2]=74548,i[A>>2]=72104,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,i[A+32>>2]=1785751363,i[k+64>>2]=A,i[k+60>>2]=A+16,n=i[k+60>>2],t=i[k+64>>2],i[k+60>>2]=0,i[k+64>>2]=0,A=i[k+236>>2],i[k+232>>2]=n,i[k+236>>2]=t;e:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break e;V[i[i[A>>2]+8>>2]](A),g(A)}}v1(k+60|0),n=i[k+276>>2],A=i[k+232>>2],i[A+8>>2]=i[k+272>>2],i[A+12>>2]=n,i[A+16>>2]=i[k+280>>2],(A|0)!=(k+264|0)&&(n=i[k+284>>2],t=i[k+288>>2],W8(A+20|0,n,t,t-n|0)),n=i[k+296>>2],i[A+32>>2]=n;r:{if(i[e+12>>2]>=21){if(e=U(64),i[k+60>>2]=e,i[k+64>>2]=61,i[k+68>>2]=-2147483584,r=s[13095]|s[13096]<<8|(s[13097]<<16|s[13098]<<24),A=s[13091]|s[13092]<<8|(s[13093]<<16|s[13094]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+61|0]=0,r=s[13148]|s[13149]<<8|(s[13150]<<16|s[13151]<<24),A=s[13144]|s[13145]<<8|(s[13146]<<16|s[13147]<<24),l[e+53|0]=A,l[e+54|0]=A>>>8,l[e+55|0]=A>>>16,l[e+56|0]=A>>>24,l[e+57|0]=r,l[e+58|0]=r>>>8,l[e+59|0]=r>>>16,l[e+60|0]=r>>>24,r=s[13143]|s[13144]<<8|(s[13145]<<16|s[13146]<<24),A=s[13139]|s[13140]<<8|(s[13141]<<16|s[13142]<<24),l[e+48|0]=A,l[e+49|0]=A>>>8,l[e+50|0]=A>>>16,l[e+51|0]=A>>>24,l[e+52|0]=r,l[e+53|0]=r>>>8,l[e+54|0]=r>>>16,l[e+55|0]=r>>>24,r=s[13135]|s[13136]<<8|(s[13137]<<16|s[13138]<<24),A=s[13131]|s[13132]<<8|(s[13133]<<16|s[13134]<<24),l[e+40|0]=A,l[e+41|0]=A>>>8,l[e+42|0]=A>>>16,l[e+43|0]=A>>>24,l[e+44|0]=r,l[e+45|0]=r>>>8,l[e+46|0]=r>>>16,l[e+47|0]=r>>>24,r=s[13127]|s[13128]<<8|(s[13129]<<16|s[13130]<<24),A=s[13123]|s[13124]<<8|(s[13125]<<16|s[13126]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[13119]|s[13120]<<8|(s[13121]<<16|s[13122]<<24),A=s[13115]|s[13116]<<8|(s[13117]<<16|s[13118]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[13111]|s[13112]<<8|(s[13113]<<16|s[13114]<<24),A=s[13107]|s[13108]<<8|(s[13109]<<16|s[13110]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[13103]|s[13104]<<8|(s[13105]<<16|s[13106]<<24),A=s[13099]|s[13100]<<8|(s[13101]<<16|s[13102]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,6,1e3,k+60|0),l[k+71|0]>=0)break r;G(i[k+60>>2]);break r}t=i[k+276>>2],o=t;e:{A:{if(A=i[k+272>>2],t|A){if(!t&A>>>0<n>>>0){i[k+68>>2]=54496,i[k+124>>2]=54516,e=i[13633],i[k+60>>2]=e,r=i[e-12>>2],e=k+60|0,i[r+e>>2]=i[13634],i[k+64>>2]=0,r=e+i[i[k+60>>2]-12>>2]|0,A=k+72|0,b0(r,A),i[r+72>>2]=0,i[r+76>>2]=-1,r=i[13635],i[k+68>>2]=r,t=i[r-12>>2],r=k+68|0,i[t+r>>2]=i[13636],n=i[13632],i[k+60>>2]=n,i[e+i[n-12>>2]>>2]=i[13637],i[k+124>>2]=54516,i[k+60>>2]=54476,i[k+68>>2]=54496,e=$0(A),i[e>>2]=53552,i[k+112>>2]=0,i[k+116>>2]=0,i[k+104>>2]=0,i[k+108>>2]=0,i[k+120>>2]=24,x(L0(x(n4(x(r,18592,10),i[k+272>>2],i[k+276>>2]),18603,34),i[k+296>>2]),18243,7),r=k+32|0,i2(r,e),r0(f,2,101,r),l[k+43|0]<0&&G(i[k+32>>2]),f=i[13631],i[k+60>>2]=f,i[i[f-12>>2]+(k+60|0)>>2]=i[13639],i[k+68>>2]=i[13640],i[e>>2]=53552,l[k+115|0]<0&&G(i[k+104>>2]),K0(e),T0(k+124|0);break r}if(t=A-n|0,A=o-(A>>>0<n>>>0)|0,(A|0)==1|A>>>0>1){if(e=f,f=C1(k+60|0,10369),r0(e,6,101,f),l[f+11|0]>=0)break r;G(i[f>>2]);break r}if((o|0)<0){if(e=f,f=C1(k+60|0,31341),r0(e,2,101,f),l[f+11|0]>=0)break r;G(i[f>>2]);break r}if(A=i[e>>2],n=V[i[i[A>>2]+8>>2]](A)|0,o=i[e>>2],A=w0,n=n+t|0,A=n>>>0<t>>>0?A+1|0:A,V[i[i[o>>2]+12>>2]](o,n,A)|0){if(e=f,f=C1(k+60|0,31341),r0(e,2,100,f),l[f+11|0]>=0)break r;G(i[f>>2]);break r}if(A=i[k+276>>2],t=A,n=i[k+272>>2],A|n)break A}A=i[e+16>>2];break e}if(o=i[k+296>>2],A=n-o|0,n=t-(n>>>0<o>>>0)|0,(n|0)<=0&k0[e+16>>2]>=A>>>0|(n|0)<0)break e;if(l[k+60|0]=0,l[k+71|0]=0,r0(f,2,101,k+60|0),l[k+71|0]>=0)break r;G(i[k+60>>2]);break r}if(i[k+52>>2]=i[e>>2],n=i[e+4>>2],i[k+56>>2]=n,n&&(i[n+4>>2]=i[n+4>>2]+1),n=i[k+56>>2],i[k+8>>2]=i[k+52>>2],i[k+12>>2]=n,n=_e(k+60|0,k+8|0,A,e),e=i[k+232>>2],V[i[i[e>>2]+28>>2]](k+32|0,e,n),A=i[k+36>>2],e=i[k+32>>2],i[k+240>>2]=e,i[k+244>>2]=A,l[k+259|0]<0&&(G(i[k+248>>2]),e=i[k+240>>2]),A=i[k+44>>2],i[k+248>>2]=i[k+40>>2],i[k+252>>2]=A,i[k+256>>2]=i[k+48>>2],(e|0)==i[19564]&&si(r,k+232|0),A=i[n+16>>2],A&&(e=i[n+8>>2],e&&($t(e,A),A=i[n+16>>2]),e=i[n>>2],t=V[i[i[e>>2]+8>>2]](e)|0,r=w0,o=A,A=A+t|0,r=o>>>0>A>>>0?r+1|0:r,V[i[i[e>>2]+20>>2]](e,A,r)|0,i[n+16>>2]=0),e=i[k+244>>2],i[f>>2]=i[k+240>>2],i[f+4>>2]=e,i[f+16>>2]=i[k+256>>2],e=i[k+252>>2],i[f+8>>2]=i[k+248>>2],i[f+12>>2]=e,i[k+248>>2]=0,i[k+252>>2]=0,i[k+256>>2]=0,f=i[n+4>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=i[k+236>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}l[k+259|0]<0&&G(i[k+248>>2]),i[k+264>>2]=68500,f=i[k+284>>2],f&&(i[k+288>>2]=f,G(f)),B=k+304|0}function N8(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0;h=B-112|0,B=h,o=i[e>>2],u=i[o+28>>2],w=i[o+24>>2];i:{r:{if(!H2(o,6)||(y4(i[e>>2],6)|0)==(w|0)&&(F4(i[e>>2],6)|0)==(u|0))break r;i[f>>2]=0,i[f+4>>2]=0;break i}if(!(A-4>>>0>4294967292|r)){i[f>>2]=0,i[f+4>>2]=0;break i}l[h+110|0]=1,X[h+108>>1]=2,i[h+104>>2]=131074,l[h+92|0]=0,i[h+84>>2]=99,i[h+88>>2]=99,i[h+96>>2]=8,i[h+100>>2]=72992,u=h+100|0,o=u,l[o+10|0]=1,X[o+8>>1]=6,i[o+4>>2]=851969,o=i[e>>2],i[h+84>>2]=i[o+32>>2],i[h+88>>2]=i[o+36>>2],H2(o,6)?w=1:(o=i[i[e>>2]+36>>2],w=43008>>>o&o>>>0<16),l[h+92|0]=w,o=i[i[e>>2]+44>>2],o&&(i[h+104>>2]=i[o+4>>2],o=s[o+7|0]|s[o+8|0]<<8|(s[o+9|0]<<16|s[o+10|0]<<24),l[h+107|0]=o,l[h+108|0]=o>>>8,l[h+109|0]=o>>>16,l[h+110|0]=o>>>24),Dt(u),l7(h+72|0,i[e>>2]),D=h,z=U0(i[e>>2],i[i[h+72>>2]+16>>2]),i[D+96>>2]=z,o=i[h+96>>2],i[h+48>>2]=i[h+92>>2],i[h+52>>2]=o,o=i[h+88>>2],i[h+40>>2]=i[h+84>>2],i[h+44>>2]=o,i[h+56>>2]=72992,o=s[h+107|0]|s[h+108|0]<<8|(s[h+109|0]<<16|s[h+110|0]<<24),l[h+63|0]=o,l[h+64|0]=o>>>8,l[h+65|0]=o>>>16,l[h+66|0]=o>>>24,o=i[h+104>>2],i[h+40>>2]=r,i[h+44>>2]=A,i[h+60>>2]=o,r=i[k>>2],r&&(i[h+60>>2]=i[r+4>>2],r=s[r+7|0]|s[r+8|0]<<8|(s[r+9|0]<<16|s[r+10|0]<<24),l[h+63|0]=r,l[h+64|0]=r>>>8,l[h+65|0]=r>>>16,l[h+66|0]=r>>>24),Q[h+64>>1]==2&&(X[h+64>>1]=Q[h+108>>1]),Q[h+60>>1]==2&&(X[h+60>>1]=Q[h+104>>1]),Q[h+62>>1]==2&&(X[h+62>>1]=Q[h+106>>1]),r=1;r:{e:switch(A|0){case 10:case 12:case 14:r=3;break r;case 11:case 13:case 15:r=4;break r;case 0:case 1:case 2:case 3:case 99:break r;default:break e}r=0}if(l[h+48|0]=(r|0)>=2?43008>>>A&A>>>0<16:s[h+92|0],n&&(i[h+52>>2]=n),(A&-2)!=10?r=i[h+52>>2]<9:(i[h+52>>2]=8,r=1),!r|(A&-4)!=12||(i[h+52>>2]=10),i[h+20>>2]=0,i[h+12>>2]=0,i[h+16>>2]=0,p=h+40|0,o=B-112|0,B=o,A=i[h+16>>2],k=i[h+12>>2],(A|0)!=(k|0))for(;;){r=i[A-60>>2];r:{if(!r||(n=i[r+4>>2],i[r+4>>2]=n-1,n))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A+-64|0,(k|0)==(A|0))break}i[h+16>>2]=k,r=i[t+12>>2],i[h+32>>2]=i[t+8>>2],i[h+36>>2]=r,r=i[t+4>>2],i[h+24>>2]=i[t>>2],i[h+28>>2]=r,r=i[h+84>>2];r:{e:{if((r|0)!=i[p>>2]|i[h+88>>2]!=i[p+4>>2]|(s[h+92|0]!=s[p+8|0]|i[h+96>>2]!=i[p+12>>2]))break e;if(w=1,r)break r;if(s[h+110|0]!=s[p+26|0]|Q[h+108>>1]!=Q[p+24>>1])break e;if(Q[h+104>>1]==Q[p+20>>1])break r}mA(),i[o+108>>2]=0,i[o+100>>2]=0,i[o+104>>2]=0,i[o+96>>2]=0,i[o+88>>2]=0,i[o+92>>2]=0,l[o+82|0]=1,X[o+80>>1]=2,i[o+76>>2]=131074,l[o+64|0]=0,i[o+60>>2]=99,i[o+52>>2]=0,i[o+56>>2]=99,i[o+44>>2]=-1,i[o+48>>2]=0,i[o+68>>2]=8,i[o+72>>2]=72992,l[o+82|0]=1,X[o+80>>1]=6,i[o+76>>2]=851969,i[o+44>>2]=-1,i[o+48>>2]=0,r=i[o+52>>2],i[o+52>>2]=0;e:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break e;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[h+88>>2],i[o+56>>2]=i[h+84>>2],i[o+60>>2]=r,r=i[h+96>>2],i[o+64>>2]=i[h+92>>2],i[o+68>>2]=r,r=s[h+107|0]|s[h+108|0]<<8|(s[h+109|0]<<16|s[h+110|0]<<24),l[o+79|0]=r,l[o+80|0]=r>>>8,l[o+81|0]=r>>>16,l[o+82|0]=r>>>24,i[o+76>>2]=i[h+104>>2],i[o+84>>2]=0,r=i[o+92>>2];e:{if(r>>>0<k0[o+96>>2]){i[r>>2]=i[o+44>>2],i[r+4>>2]=i[o+48>>2],i[r+8>>2]=i[o+52>>2],i[o+48>>2]=0,i[o+52>>2]=0,A=i[o+68>>2],i[r+20>>2]=i[o+64>>2],i[r+24>>2]=A,A=i[o+60>>2],i[r+12>>2]=i[o+56>>2],i[r+16>>2]=A,i[r+28>>2]=72992,i[r+32>>2]=i[o+76>>2],A=s[o+79|0]|s[o+80|0]<<8|(s[o+81|0]<<16|s[o+82|0]<<24),l[r+35|0]=A,l[r+36|0]=A>>>8,l[r+37|0]=A>>>16,l[r+38|0]=A>>>24,i[r+40>>2]=i[o+84>>2],i[o+92>>2]=r+44;break e}A:{f:{if(k=i[o+92>>2],Z=i[o+88>>2],A=(k-Z|0)/44|0,r=A+1|0,r>>>0<97612894){if(n=(i[o+96>>2]-Z|0)/44|0,u=n<<1,r=n>>>0>=48806446?97612893:r>>>0<u>>>0?u:r,r){if(r>>>0>=97612894)break f;n=U(m(r,44))}else n=0;A=n+m(A,44)|0,i[A>>2]=i[o+44>>2],i[A+4>>2]=i[o+48>>2],i[A+8>>2]=i[o+52>>2],i[o+48>>2]=0,i[o+52>>2]=0,u=i[o+68>>2],i[A+20>>2]=i[o+64>>2],i[A+24>>2]=u,u=i[o+60>>2],i[A+12>>2]=i[o+56>>2],i[A+16>>2]=u,i[A+28>>2]=72992,i[A+32>>2]=i[o+76>>2],u=s[o+79|0]|s[o+80|0]<<8|(s[o+81|0]<<16|s[o+82|0]<<24),l[A+35|0]=u,l[A+36|0]=u>>>8,l[A+37|0]=u>>>16,l[A+38|0]=u>>>24,i[A+40>>2]=i[o+84>>2],v=n+m(r,44)|0,n=A+44|0;k:{if((k|0)==(Z|0)){r=A;break k}for(;r=A-44|0,u=k-44|0,i[r>>2]=i[u>>2],w=k-40|0,i[A-40>>2]=i[w>>2],i[A-36>>2]=i[k-36>>2],i[w>>2]=0,i[w+4>>2]=0,w=k-32|0,W=i[w+12>>2],_=A-32|0,i[_+8>>2]=i[w+8>>2],i[_+12>>2]=W,W=i[w+4>>2],i[_>>2]=i[w>>2],i[_+4>>2]=W,i[A-16>>2]=72992,w=A-12|0,_=k-12|0,i[w>>2]=i[_>>2],_=s[_+3|0]|s[_+4|0]<<8|(s[_+5|0]<<16|s[_+6|0]<<24),l[w+3|0]=_,l[w+4|0]=_>>>8,l[w+5|0]=_>>>16,l[w+6|0]=_>>>24,i[A-4>>2]=i[k-4>>2],A=r,k=u,(Z|0)!=(k|0););}if(i[o+96>>2]=v,k=i[o+88>>2],i[o+88>>2]=r,A=i[o+92>>2],i[o+92>>2]=n,(A|0)!=(k|0))for(;;){r=i[A-36>>2];k:{if(!r||(u=i[r+4>>2],i[r+4>>2]=u-1,u))break k;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-44|0,(k|0)==(A|0))break}k&&G(k);break A}y0(),P()}_2(),P()}if(i[o+92>>2]=n,r=i[o+52>>2],!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break e;V[i[i[r>>2]+8>>2]](r),g(r)}A=i[o+92>>2],u=i[o+88>>2],w=0;e:{if((A|0)==(u|0))break e;for(;;){k=-1,r=A-u|0;A:{if((r|0)<=0)break A;A=(r>>>0)/44|0,A=A>>>0<=1?1:A,_=A&3,w=0;f:{if(r>>>0<176){r=2147483647,A=0;break f}for(E=A&67108860,A=0,r=2147483647,n=0;v=i[(m(A,44)+u|0)+40>>2],Z=(v|0)<(r|0),y=A|1,W=i[(m(y,44)+u|0)+40>>2],r=Z?v:r,v=(W|0)<(r|0),I=A|2,C=i[(m(I,44)+u|0)+40>>2],r=v?W:r,W=(C|0)<(r|0),J=A|3,R=i[(m(J,44)+u|0)+40>>2],r=W?C:r,C=(R|0)<(r|0),r=C?R:r,k=C?J:W?I:v?y:Z?A:k,A=A+4|0,n=n+4|0,(E|0)!=(n|0););}if(!_)break A;for(;Z=i[(m(A,44)+u|0)+40>>2],n=(Z|0)<(r|0),r=n?Z:r,k=n?A:k,A=A+1|0,w=w+1|0,(_|0)!=(w|0););}v=m(k,44),n=v+u|0,r=i[o+104>>2];A:{if(r>>>0<k0[o+108>>2]){i[r>>2]=i[n>>2],i[r+4>>2]=i[n+4>>2],A=i[n+8>>2],i[r+8>>2]=A,A&&(i[A+4>>2]=i[A+4>>2]+1),A=i[n+16>>2],i[r+12>>2]=i[n+12>>2],i[r+16>>2]=A,A=i[n+24>>2],i[r+20>>2]=i[n+20>>2],i[r+24>>2]=A,i[r+28>>2]=72992,i[r+32>>2]=i[n+32>>2],A=s[n+35|0]|s[n+36|0]<<8|(s[n+37|0]<<16|s[n+38|0]<<24),l[r+35|0]=A,l[r+36|0]=A>>>8,l[r+37|0]=A>>>16,l[r+38|0]=A>>>24,i[r+40>>2]=i[n+40>>2],A=r+44|0;break A}f:{k:{if(k=i[o+104>>2],u=i[o+100>>2],A=(k-u|0)/44|0,r=A+1|0,r>>>0<97612894){if(w=(i[o+108>>2]-u|0)/44|0,_=w<<1,w=w>>>0>=48806446?97612893:r>>>0<_>>>0?_:r,w){if(w>>>0>=97612894)break k;r=U(m(w,44))}else r=0;A=r+m(A,44)|0,i[A>>2]=i[n>>2],i[A+4>>2]=i[n+4>>2],_=i[n+8>>2],i[A+8>>2]=_,_&&(i[_+4>>2]=i[_+4>>2]+1,u=i[o+100>>2],k=i[o+104>>2]),W=r+m(w,44)|0,r=i[n+16>>2],i[A+12>>2]=i[n+12>>2],i[A+16>>2]=r,r=i[n+24>>2],i[A+20>>2]=i[n+20>>2],i[A+24>>2]=r,i[A+28>>2]=72992,i[A+32>>2]=i[n+32>>2],r=s[n+35|0]|s[n+36|0]<<8|(s[n+37|0]<<16|s[n+38|0]<<24),l[A+35|0]=r,l[A+36|0]=r>>>8,l[A+37|0]=r>>>16,l[A+38|0]=r>>>24,i[A+40>>2]=i[n+40>>2],n=A+44|0;n:{if((k|0)==(u|0)){r=A;break n}for(;r=A-44|0,w=k-44|0,i[r>>2]=i[w>>2],_=k-40|0,i[A-40>>2]=i[_>>2],i[A-36>>2]=i[k-36>>2],i[_>>2]=0,i[_+4>>2]=0,_=k-32|0,C=i[_+12>>2],Z=A-32|0,i[Z+8>>2]=i[_+8>>2],i[Z+12>>2]=C,C=i[_+4>>2],i[Z>>2]=i[_>>2],i[Z+4>>2]=C,i[A-16>>2]=72992,_=A-12|0,Z=k-12|0,i[_>>2]=i[Z>>2],Z=s[Z+3|0]|s[Z+4|0]<<8|(s[Z+5|0]<<16|s[Z+6|0]<<24),l[_+3|0]=Z,l[_+4|0]=Z>>>8,l[_+5|0]=Z>>>16,l[_+6|0]=Z>>>24,i[A-4>>2]=i[k-4>>2],A=r,k=w,(u|0)!=(k|0););k=i[o+104>>2],u=i[o+100>>2]}if(i[o+108>>2]=W,i[o+104>>2]=n,i[o+100>>2]=r,(k|0)!=(u|0))for(;;){r=i[k-36>>2];n:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break n;V[i[i[r>>2]+8>>2]](r),g(r)}if(k=k-44|0,(u|0)==(k|0))break}u&&G(u),A=n;break f}y0(),P()}_2(),P()}u=i[o+88>>2]}i[o+104>>2]=A,r=u+v|0,k=i[o+92>>2],i[r>>2]=i[k-44>>2],A=i[k-40>>2],n=i[k-36>>2],n&&(i[n+4>>2]=i[n+4>>2]+1),i[r+4>>2]=A,A=i[r+8>>2],i[r+8>>2]=n;A:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break A;V[i[i[A>>2]+8>>2]](A),g(A)}A=k-32|0,n=i[A+4>>2],i[r+12>>2]=i[A>>2],i[r+16>>2]=n,n=i[A+12>>2],i[r+20>>2]=i[A+8>>2],i[r+24>>2]=n,A=k-12|0,i[r+32>>2]=i[A>>2],A=s[A+3|0]|s[A+4|0]<<8|(s[A+5|0]<<16|s[A+6|0]<<24),l[r+35|0]=A,l[r+36|0]=A>>>8,l[r+37|0]=A>>>16,l[r+38|0]=A>>>24,i[r+40>>2]=i[k-4>>2],A=i[o+92>>2],r=i[A-36>>2];A:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break A;V[i[i[r>>2]+8>>2]](r),g(r)}A=A-44|0,i[o+92>>2]=A;A:{if(r=i[o+104>>2],k=i[r-32>>2],(k|0)!=i[p>>2]|i[r-28>>2]!=i[p+4>>2]|(s[r-24|0]!=s[p+8|0]|i[r-20>>2]!=i[p+12>>2])||!k&&s[r-6|0]!=s[p+26|0]|Q[r-8>>1]!=Q[p+24>>1]|Q[r-12>>1]!=Q[p+20>>1])break A;k=i[o+100>>2],r=((r-k|0)/44|0)-1|0;f:{k:{if(r){for(A=0;n=A,A=A+1|0,r=i[k+m(r,44)>>2],!!r;);if(k=i[h+16>>2],r=k,w=i[h+12>>2],u=r-w>>6,n>>>0<u>>>0)break k;t=0;n:{if(n=A-u|0,w=i[h+20>>2],n>>>0<=w-r>>6>>>0){if(n)for(r=(n<<6)+r|0;i[k+32>>2]=0,i[k+36>>2]=0,n=k+24|0,i[n>>2]=0,i[n+4>>2]=0,i[k+16>>2]=0,i[k+20>>2]=0,i[k>>2]=0,i[k+4>>2]=0,i[k+56>>2]=0,i[k+60>>2]=0,i[k+48>>2]=0,i[k+52>>2]=0,i[k+40>>2]=0,i[k+44>>2]=0,i[k+8>>2]=99,i[k+12>>2]=99,l[k+34|0]=1,X[k+32>>1]=2,i[k+28>>2]=131074,i[k+24>>2]=72992,i[k+20>>2]=8,l[k+34|0]=1,X[k+32>>1]=6,i[k+28>>2]=851969,l[k+62|0]=1,X[k+60>>1]=2,i[k+56>>2]=131074,i[k+52>>2]=72992,i[k+48>>2]=8,l[k+44|0]=0,i[k+36>>2]=99,i[k+40>>2]=99,l[k+62|0]=1,X[k+60>>1]=6,i[k+56>>2]=851969,k=k- -64|0,(r|0)!=(k|0););i[h+16>>2]=k;break n}t:{if(r=k,k=i[h+12>>2],_=r-k>>6,r=_+n|0,r>>>0<67108864){if(k=w-k|0,u=k>>5,u=k>>>0>=2147483584?67108863:r>>>0<u>>>0?u:r,u){if(u>>>0>=67108864)break t;t=U(u<<6)}for(r=(_<<6)+t|0,n=r+(n<<6)|0,k=r;i[k+32>>2]=0,i[k+36>>2]=0,w=k+24|0,i[w>>2]=0,i[w+4>>2]=0,i[k+16>>2]=0,i[k+20>>2]=0,i[k>>2]=0,i[k+4>>2]=0,i[k+56>>2]=0,i[k+60>>2]=0,i[k+48>>2]=0,i[k+52>>2]=0,i[k+40>>2]=0,i[k+44>>2]=0,i[k+8>>2]=99,i[k+12>>2]=99,l[k+34|0]=1,X[k+32>>1]=2,i[k+28>>2]=131074,i[k+24>>2]=72992,i[k+20>>2]=8,l[k+34|0]=1,X[k+32>>1]=6,i[k+28>>2]=851969,l[k+62|0]=1,X[k+60>>1]=2,i[k+56>>2]=131074,i[k+52>>2]=72992,i[k+48>>2]=8,l[k+44|0]=0,i[k+36>>2]=99,i[k+40>>2]=99,l[k+62|0]=1,X[k+60>>1]=6,i[k+56>>2]=851969,k=k- -64|0,(n|0)!=(k|0););Z=(u<<6)+t|0,n=i[h+16>>2],u=i[h+12>>2];o:{if((n|0)==(u|0)){t=r;break o}for(;t=r+-64|0,w=n+-64|0,i[t>>2]=i[w>>2],i[r-60>>2]=i[n-60>>2],i[w>>2]=0,i[w+4>>2]=0,_=n-56|0,v=i[_+12>>2],p=r-56|0,i[p+8>>2]=i[_+8>>2],i[p+12>>2]=v,v=i[_+4>>2],i[p>>2]=i[_>>2],i[p+4>>2]=v,i[r-40>>2]=72992,_=r-36|0,p=n-36|0,i[_>>2]=i[p>>2],p=s[p+3|0]|s[p+4|0]<<8|(s[p+5|0]<<16|s[p+6|0]<<24),l[_+3|0]=p,l[_+4|0]=p>>>8,l[_+5|0]=p>>>16,l[_+6|0]=p>>>24,_=n-28|0,v=i[_+4>>2],p=r-28|0,i[p>>2]=i[_>>2],i[p+4>>2]=v,v=i[_+12>>2],i[p+8>>2]=i[_+8>>2],i[p+12>>2]=v,i[r-12>>2]=72992,r=r-8|0,n=n-8|0,i[r>>2]=i[n>>2],n=s[n+3|0]|s[n+4|0]<<8|(s[n+5|0]<<16|s[n+6|0]<<24),l[r+3|0]=n,l[r+4|0]=n>>>8,l[r+5|0]=n>>>16,l[r+6|0]=n>>>24,r=t,n=w,(u|0)!=(n|0););n=i[h+16>>2],u=i[h+12>>2]}if(i[h+20>>2]=Z,i[h+16>>2]=k,i[h+12>>2]=t,(n|0)!=(u|0))for(;;){r=i[n-60>>2];o:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break o;V[i[i[r>>2]+8>>2]](r),g(r)}if(n=n+-64|0,(u|0)==(n|0))break}u&&G(u);break n}y0(),P()}_2(),P()}break f}r=i[h+16>>2],w=i[h+12>>2],u=r-w>>6,A=0}if(A>>>0>=u>>>0)break f;if(n=(A<<6)+w|0,(n|0)!=(r|0))for(;;){k=i[r-60>>2];k:{if(!k||(t=i[k+4>>2],i[k+4>>2]=t-1,t))break k;V[i[i[k>>2]+8>>2]](k),g(k)}if(r=r+-64|0,(n|0)==(r|0))break}i[h+16>>2]=n}if(r=i[h+12>>2],n=i[o+100>>2],t=((i[o+104>>2]-n|0)/44|0)-1|0,t){u=A-1|0,k=(u<<6)+r|0,r=n+m(t,44)|0,w=i[r+4>>2],n=i[r+8>>2],n&&(i[n+4>>2]=i[n+4>>2]+1),i[k>>2]=w,r=i[k+4>>2],i[k+4>>2]=n;f:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break f;V[i[i[r>>2]+8>>2]](r),g(r)}if(t=m(t,44),k=t+i[o+100>>2]|0,n=i[k+16>>2],r=i[h+12>>2]+(u<<6)|0,i[r+36>>2]=i[k+12>>2],i[r+40>>2]=n,n=i[k+24>>2],i[r+44>>2]=i[k+20>>2],i[r+48>>2]=n,n=s[k+35|0]|s[k+36|0]<<8|(s[k+37|0]<<16|s[k+38|0]<<24),l[r+59|0]=n,l[r+60|0]=n>>>8,l[r+61|0]=n>>>16,l[r+62|0]=n>>>24,i[r+56>>2]=i[k+32>>2],k=i[o+100>>2],w=i[t+k>>2],w)for(r=1;;){u=(r^-1)+A<<6,n=u+i[h+12>>2]|0,w=m(w,44),k=w+k|0,_=i[k+4>>2],t=i[k+8>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),i[n>>2]=_,k=i[n+4>>2],i[n+4>>2]=t;f:{if(!k||(n=i[k+4>>2],i[k+4>>2]=n-1,n))break f;V[i[i[k>>2]+8>>2]](k),g(k)}if(n=w+i[o+100>>2]|0,t=i[n+16>>2],k=u+i[h+12>>2]|0,i[k+36>>2]=i[n+12>>2],i[k+40>>2]=t,t=i[n+24>>2],i[k+44>>2]=i[n+20>>2],i[k+48>>2]=t,t=s[n+35|0]|s[n+36|0]<<8|(s[n+37|0]<<16|s[n+38|0]<<24),l[k+59|0]=t,l[k+60|0]=t>>>8,l[k+61|0]=t>>>16,l[k+62|0]=t>>>24,i[k+56>>2]=i[n+32>>2],n=i[h+12>>2],k=n+(A-r<<6)|0,n=n+u|0,t=i[n+40>>2],i[k+8>>2]=i[n+36>>2],i[k+12>>2]=t,t=i[n+48>>2],i[k+16>>2]=i[n+44>>2],i[k+20>>2]=t,t=s[n+59|0]|s[n+60|0]<<8|(s[n+61|0]<<16|s[n+62|0]<<24),l[k+31|0]=t,l[k+32|0]=t>>>8,l[k+33|0]=t>>>16,l[k+34|0]=t>>>24,i[k+28>>2]=i[n+56>>2],r=r+1|0,k=i[o+100>>2],w=i[w+k>>2],!w)break}r=i[h+12>>2]}A=i[h+88>>2],i[r+8>>2]=i[h+84>>2],i[r+12>>2]=A,A=i[h+96>>2],i[r+16>>2]=i[h+92>>2],i[r+20>>2]=A,A=s[h+107|0]|s[h+108|0]<<8|(s[h+109|0]<<16|s[h+110|0]<<24),l[r+31|0]=A,l[r+32|0]=A>>>8,l[r+33|0]=A>>>16,l[r+34|0]=A>>>24,i[r+28>>2]=i[h+104>>2],u=i[o+88>>2],w=1;break e}if(_=i[19590],C=i[19591],(_|0)!=(C|0)){for(;;){if(r=i[_>>2],V[i[i[r>>2]+8>>2]](o+32|0,r,i[o+104>>2]-32|0,p,t),u=i[o+32>>2],E=i[o+36>>2],(u|0)!=(E|0)){A:{f:{for(;;){k:{k=i[o+104>>2],Z=i[k-4>>2],w=i[u+28>>2],r=i[o+100>>2];n:{if((r|0)!=(k|0))for(n=i[u>>2],A=r;;){t:{if((n|0)!=i[A+12>>2]|i[A+16>>2]!=i[u+4>>2]|(s[A+20|0]!=s[u+8|0]|i[A+24>>2]!=i[u+12>>2]))break t;if(n)break n;if(s[A+38|0]!=s[u+26|0]|Q[A+36>>1]!=Q[u+24>>1])break t;if(Q[A+32>>1]==Q[u+20>>1])break n}if(A=A+44|0,(k|0)==(A|0))break}if(n=w+Z|0,A=i[o+88>>2],v=i[o+92>>2],(A|0)!=(v|0))for(Z=i[u>>2];;){t:{if((Z|0)!=i[A+12>>2]|i[A+16>>2]!=i[u+4>>2]|(s[A+20|0]!=s[u+8|0]|i[A+24>>2]!=i[u+12>>2])||!Z&&s[A+38|0]!=s[u+26|0]|Q[A+36>>1]!=Q[u+24>>1]|Q[A+32>>1]!=Q[u+20>>1])break t;if((n|0)>=i[A+40>>2])break n;l[o+82|0]=1,X[o+80>>1]=2,i[o+76>>2]=131074,l[o+64|0]=0,i[o+60>>2]=99,i[o+52>>2]=0,i[o+56>>2]=99,i[o+44>>2]=-1,i[o+48>>2]=0,i[o+68>>2]=8,i[o+72>>2]=72992,l[o+82|0]=1,X[o+80>>1]=6,i[o+76>>2]=851969,i[o+44>>2]=((k-r|0)/44|0)-1,r=i[_>>2],k=i[_+4>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),i[o+48>>2]=r,r=i[o+52>>2],i[o+52>>2]=k;o:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break o;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[u+4>>2],i[o+56>>2]=i[u>>2],i[o+60>>2]=r,r=i[u+12>>2],i[o+64>>2]=i[u+8>>2],i[o+68>>2]=r,r=s[u+23|0]|s[u+24|0]<<8|(s[u+25|0]<<16|s[u+26|0]<<24),l[o+79|0]=r,l[o+80|0]=r>>>8,l[o+81|0]=r>>>16,l[o+82|0]=r>>>24,i[o+76>>2]=i[u+20>>2],i[o+84>>2]=w,i[A>>2]=i[o+44>>2],k=i[o+48>>2],w=i[o+52>>2],i[o+48>>2]=0,i[o+52>>2]=0,r=i[A+8>>2],i[A+4>>2]=k,i[A+8>>2]=w;o:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break o;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[o+60>>2],i[A+12>>2]=i[o+56>>2],i[A+16>>2]=r,r=i[o+68>>2],i[A+20>>2]=i[o+64>>2],i[A+24>>2]=r,r=s[o+79|0]|s[o+80|0]<<8|(s[o+81|0]<<16|s[o+82|0]<<24),l[A+35|0]=r,l[A+36|0]=r>>>8,l[A+37|0]=r>>>16,l[A+38|0]=r>>>24,i[A+32>>2]=i[o+76>>2],i[A+40>>2]=i[o+84>>2],r=i[o+52>>2];o:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break o;V[i[i[r>>2]+8>>2]](r),g(r)}i[A+40>>2]=n;break n}if(A=A+44|0,(v|0)==(A|0))break}A=i[u+12>>2],i[o+24>>2]=i[u+8>>2],i[o+28>>2]=A,A=i[u+4>>2],i[o+16>>2]=i[u>>2],i[o+20>>2]=A,i[o+8>>2]=i[u+20>>2],A=s[u+23|0]|s[u+24|0]<<8|(s[u+25|0]<<16|s[u+26|0]<<24),l[o+11|0]=A,l[o+12|0]=A>>>8,l[o+13|0]=A>>>16,l[o+14|0]=A>>>24,l[o+82|0]=1,X[o+80>>1]=2,i[o+76>>2]=131074,i[o+72>>2]=72992,i[o+68>>2]=8,l[o+64|0]=0,i[o+60>>2]=99,i[o+52>>2]=0,i[o+56>>2]=99,i[o+44>>2]=-1,i[o+48>>2]=0,l[o+82|0]=1,X[o+80>>1]=6,i[o+76>>2]=851969,i[o+44>>2]=((k-r|0)/44|0)-1,r=i[_>>2],A=i[_+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[o+48>>2]=r,r=i[o+52>>2],i[o+52>>2]=A;t:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break t;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[o+20>>2],i[o+56>>2]=i[o+16>>2],i[o+60>>2]=r,r=i[o+28>>2],i[o+64>>2]=i[o+24>>2],i[o+68>>2]=r,r=s[o+11|0]|s[o+12|0]<<8|(s[o+13|0]<<16|s[o+14|0]<<24),l[o+79|0]=r,l[o+80|0]=r>>>8,l[o+81|0]=r>>>16,l[o+82|0]=r>>>24,i[o+76>>2]=i[o+8>>2],i[o+84>>2]=n,A=i[o+92>>2],k=i[o+96>>2];t:{if(A>>>0<k>>>0){i[A>>2]=i[o+44>>2],i[A+4>>2]=i[o+48>>2],i[A+8>>2]=i[o+52>>2],i[o+48>>2]=0,i[o+52>>2]=0,r=i[o+68>>2],i[A+20>>2]=i[o+64>>2],i[A+24>>2]=r,r=i[o+60>>2],i[A+12>>2]=i[o+56>>2],i[A+16>>2]=r,i[A+28>>2]=72992,i[A+32>>2]=i[o+76>>2],r=s[o+79|0]|s[o+80|0]<<8|(s[o+81|0]<<16|s[o+82|0]<<24),l[A+35|0]=r,l[A+36|0]=r>>>8,l[A+37|0]=r>>>16,l[A+38|0]=r>>>24,i[A+40>>2]=i[o+84>>2],Z=A+44|0;break t}if(w=i[o+88>>2],v=(A-w|0)/44|0,r=v+1|0,r>>>0>=97612894)break k;if(k=(k-w|0)/44|0,Z=k<<1,k=k>>>0>=48806446?97612893:r>>>0<Z>>>0?Z:r,k){if(k>>>0>=97612894)break f;Z=U(m(k,44))}else Z=0;r=Z+m(v,44)|0,i[r>>2]=i[o+44>>2],i[r+4>>2]=i[o+48>>2],i[r+8>>2]=i[o+52>>2],i[o+48>>2]=0,i[o+52>>2]=0,v=i[o+28>>2],i[r+20>>2]=i[o+24>>2],i[r+24>>2]=v,v=i[o+20>>2],i[r+12>>2]=i[o+16>>2],i[r+16>>2]=v,i[r+28>>2]=72992,i[r+32>>2]=i[o+8>>2],v=s[o+11|0]|s[o+12|0]<<8|(s[o+13|0]<<16|s[o+14|0]<<24),l[r+35|0]=v,l[r+36|0]=v>>>8,l[r+37|0]=v>>>16,l[r+38|0]=v>>>24,i[r+40>>2]=n,y=Z+m(k,44)|0,Z=r+44|0;o:{if((A|0)==(w|0)){n=r;break o}for(;n=r-44|0,k=A-44|0,i[n>>2]=i[k>>2],v=A-40|0,i[r-40>>2]=i[v>>2],i[r-36>>2]=i[A-36>>2],i[v>>2]=0,i[v+4>>2]=0,v=A-32|0,I=i[v+12>>2],W=r-32|0,i[W+8>>2]=i[v+8>>2],i[W+12>>2]=I,I=i[v+4>>2],i[W>>2]=i[v>>2],i[W+4>>2]=I,i[r-16>>2]=72992,v=r-12|0,W=A-12|0,i[v>>2]=i[W>>2],W=s[W+3|0]|s[W+4|0]<<8|(s[W+5|0]<<16|s[W+6|0]<<24),l[v+3|0]=W,l[v+4|0]=W>>>8,l[v+5|0]=W>>>16,l[v+6|0]=W>>>24,i[r-4>>2]=i[A-4>>2],r=n,A=k,(w|0)!=(k|0););A=i[o+92>>2],w=i[o+88>>2]}if(i[o+96>>2]=y,i[o+92>>2]=Z,i[o+88>>2]=n,(A|0)!=(w|0))for(;;){r=i[A-36>>2];o:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break o;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-44|0,(w|0)==(A|0))break}if(!w)break t;G(w)}if(i[o+92>>2]=Z,r=i[o+52>>2],!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break n;V[i[i[r>>2]+8>>2]](r),g(r)}if(u=u+32|0,(E|0)!=(u|0))continue;break A}break}y0(),P()}_2(),P()}u=i[o+32>>2]}if(u&&(i[o+36>>2]=u,G(u)),_=_+8|0,(C|0)==(_|0))break}A=i[o+92>>2]}if(u=i[o+88>>2],(u|0)==(A|0))break}w=0}if(u){if(r=u,A=i[o+92>>2],(r|0)!=(A|0)){for(;;){r=i[A-36>>2];e:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break e;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-44|0,(u|0)==(A|0))break}r=i[o+88>>2]}i[o+92>>2]=u,G(r)}if(k=i[o+100>>2],!k)break r;if(r=k,A=i[o+104>>2],(r|0)!=(A|0)){for(;;){r=i[A-36>>2];e:{if(!r||(n=i[r+4>>2],i[r+4>>2]=n-1,n))break e;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-44|0,(k|0)==(A|0))break}r=i[o+100>>2]}i[o+104>>2]=k,G(r)}B=o+112|0;r:{if(!w){i[f>>2]=0,i[f+4>>2]=0;break r}t=f,u=B-48|0,B=u,f=i[e>>2],e=i[e+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+2),r=h+12|0,Z=i[r>>2],C=i[r+4>>2];e:{A:{if((Z|0)==(C|0)){A=f,r=e;break A}for(E=r+12|0,w=u+16|0;;){r=i[Z>>2],i[u+36>>2]=e,i[u+32>>2]=f,e&&(i[e+4>>2]=i[e+4>>2]+1),V[i[i[r>>2]+12>>2]](u+40|0,r,u+32|0,Z+8|0,Z+36|0,E),r=i[u+44>>2],A=i[u+40>>2],i[u+40>>2]=0,i[u+44>>2]=0;f:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k||(V[i[i[e>>2]+8>>2]](e),g(e)),k=i[u+44>>2],!k)||(n=i[k+4>>2],i[k+4>>2]=n-1,n))break f;V[i[i[k>>2]+8>>2]](k),g(k)}k=i[u+36>>2];f:{if(!k||(n=i[k+4>>2],i[k+4>>2]=n-1,n))break f;V[i[i[k>>2]+8>>2]](k),g(k)}f:{k:{n:{if(A){p=U(24),k=p,i[k+4>>2]=0,i[k+8>>2]=0,i[k+12>>2]=72992,i[k>>2]=72832,i[k+16>>2]=i[Z+56>>2],n=s[Z+59|0]|s[Z+60|0]<<8|(s[Z+61|0]<<16|s[Z+62|0]<<24),l[k+19|0]=n,l[k+20|0]=n>>>8,l[k+21|0]=n>>>16,l[k+22|0]=n>>>24,i[k+4>>2]=2,i[A+44>>2]=k+12,n=i[A+48>>2],i[A+48>>2]=k;t:{if(!n||(k=i[n+4>>2],i[n+4>>2]=k-1,k))break t;V[i[i[n>>2]+8>>2]](n),g(n)}k=i[p+4>>2],i[p+4>>2]=k-1,k||(V[i[i[p>>2]+8>>2]](p),g(p)),k=i[f+52>>2],n=i[f+56>>2],n&&(i[n+4>>2]=i[n+4>>2]+1),i[A+52>>2]=k,k=i[A+56>>2],i[A+56>>2]=n;t:{if(!k||(n=i[k+4>>2],i[k+4>>2]=n-1,n))break t;V[i[i[k>>2]+8>>2]](k),g(k)}if(l[A+40|0]=s[f+40|0],Q[f+80>>1]|Q[f+82>>1]&&(i[A+80>>2]=i[f+80>>2]),s[f+108|0]==1&&(k=i[f+92>>2],n=i[f+96>>2],o=i[f+84>>2],_=i[f+88>>2],v=i[f+104>>2],i[A+100>>2]=i[f+100>>2],i[A+104>>2]=v,i[A+92>>2]=k,i[A+96>>2]=n,i[A+84>>2]=o,i[A+88>>2]=_,l[A+108|0]=1),k=i[f+72>>2],n=i[f+76>>2],(k|0)!=(n|0)&&(i[A+76>>2]=n,i[A+72>>2]=k),_=i[f+112>>2],y=i[f+116>>2],(_|0)==(y|0))break f;for(;;){f=i[_+4>>2],i[u+8>>2]=i[_>>2],i[u+12>>2]=f;t:{if(l[_+19|0]>=0){f=i[_+12>>2],i[w>>2]=i[_+8>>2],i[w+4>>2]=f,i[w+8>>2]=i[_+16>>2];break t}_0(w,i[_+8>>2],i[_+12>>2])}f=i[A+116>>2],k=i[A+120>>2];t:{if(f>>>0<k>>>0){k=i[u+12>>2],i[f>>2]=i[u+8>>2],i[f+4>>2]=k,i[f+16>>2]=i[w+8>>2],k=i[w+4>>2],i[f+8>>2]=i[w>>2],i[f+12>>2]=k,i[w>>2]=0,i[w+4>>2]=0,i[w+8>>2]=0,W=f+20|0;break t}if(n=i[A+112>>2],o=(f-n|0)/20|0,f=o+1|0,f>>>0>=214748365)break n;if(k=(k-n|0)/20|0,n=k<<1,f=k>>>0>=107374182?214748364:f>>>0<n>>>0?n:f,f){if(f>>>0>=214748365)break k;n=U(m(f,20))}else n=0;k=n+m(o,20)|0,o=i[u+12>>2],i[k>>2]=i[u+8>>2],i[k+4>>2]=o,i[k+16>>2]=i[w+8>>2],o=i[w+4>>2],i[k+8>>2]=i[w>>2],i[k+12>>2]=o,i[w>>2]=0,i[w+4>>2]=0,i[w+8>>2]=0,I=n+m(f,20)|0,W=k+20|0,f=i[A+116>>2],v=i[A+112>>2];o:{if((f|0)==(v|0)){n=k;break o}for(;o=f-20|0,J=i[o+4>>2],n=k-20|0,i[n>>2]=i[o>>2],i[n+4>>2]=J,k=k-12|0,f=f-12|0,i[k+8>>2]=i[f+8>>2],J=i[f+4>>2],i[k>>2]=i[f>>2],i[k+4>>2]=J,i[f>>2]=0,i[f+4>>2]=0,i[f+8>>2]=0,k=n,f=o,(o|0)!=(v|0););f=i[A+116>>2],v=i[A+112>>2]}if(i[A+120>>2]=I,i[A+116>>2]=W,i[A+112>>2]=n,(f|0)!=(v|0))for(;l[f-1|0]<0&&G(i[f-12>>2]),f=f-20|0,(v|0)!=(f|0););if(!v)break t;G(v)}if(i[A+116>>2]=W,l[u+27|0]<0&&G(i[u+16>>2]),_=_+20|0,(y|0)==(_|0))break}break f}i[t>>2]=0,i[t+4>>2]=0;t:{if(!r||(f=i[r+4>>2],i[r+4>>2]=f-1,f))break t;V[i[i[r>>2]+8>>2]](r),g(r)}r=e;break e}y0(),P()}_2(),P()}r&&(i[r+4>>2]=i[r+4>>2]+1);f:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break f;V[i[i[e>>2]+8>>2]](e),g(e)}if(f=i[p+4>>2],i[p+4>>2]=f-1,f||(V[i[i[p>>2]+8>>2]](p),g(p)),e=r,f=A,Z=Z- -64|0,(C|0)==(Z|0))break}}i[t+4>>2]=r,i[t>>2]=A}e:{if(!r||(f=i[r+4>>2],i[r+4>>2]=f-1,f))break e;V[i[i[r>>2]+8>>2]](r),g(r)}B=u+48|0}if(f=i[h+12>>2],f){if(e=i[h+16>>2],r=f,(e|0)!=(r|0)){for(;;){r=i[e-60>>2];r:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(e=e+-64|0,(f|0)==(e|0))break}r=i[h+12>>2]}i[h+16>>2]=f,G(r)}j6(h+72|0,i[h+76>>2])}B=h+112|0}function fk(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0;if(l[e|0]=0,r=i[f+3208>>2],t=i[f+3212>>2],(r|0)==(t|0))return 0;i:{r:{W=i[r>>2],A=i[W+428>>2],k=i[W+424>>2];e:{A:{if((A|0)==(k|0))break A;for(A=A-k>>2,A=A>>>0<=1?1:A;;){if(n=i[k+(I<<2)>>2],i[n+40>>2]){if(I=I+1|0,(A|0)!=(I|0))continue;break A}break}if(s[n+36|0]==1&&Ut(f+2140|0),l[e|0]=1,t=0,o=i[n+4>>2],A=i[o+1352>>2],(A|0)!=i[o+1356>>2])for(k=f+2140|0;r=M9(k,i[(t<<2)+A>>2]),(r|0)>=0&&(i[i[i[f+2148>>2]+(r<<2)>>2]+100>>2]=0),t=t+1|0,A=i[o+1352>>2],t>>>0<i[o+1356>>2]-A>>2>>>0;);w=i[W>>2],r=i[w+132>>2],i[n+40>>2]=1,u=s[r+46|0],Z=s[r+45|0],k=i[w+112>>2],o=i[k+1884>>2];f:{if(u|(Z|(o|0)<=0))break f;A=i[k+168>>2];k:{if((A|0)>0){for(r=k+88|0,t=0;;){if(i[r+(t<<2)>>2]==1e3)break f;if(t=t+1|0,(A|0)==(t|0))break}if((A|0)>19)break k}i[k+168>>2]=A+1,i[(k+(A<<2)|0)+88>>2]=1e3}if(r=i[k+84>>2],(r|0)==20){i[k+80>>2]=1001;break f}i[k+84>>2]=r+1,i[(k+4|0)+(r<<2)>>2]=1e3}A=i[W+424>>2],t=i[W+428>>2];f:{if((A|0)==(t|0)|(n|0)!=i[A>>2]||(k=i[i[n+4>>2]+24>>2],(k|0)<=0))break f;for(t=0;r=i[w+320>>2]+m(t,76)|0,i[r>>2]<=0&&(i[r>>2]=1),t=t+1|0,(k|0)!=(t|0););A=i[W+424>>2],t=i[W+428>>2]}k=t-A>>2;f:{if(k>>>0<2)break f;for(t=1;;){if(r=(t<<2)+A|0,(n|0)!=i[r>>2]){if(t=t+1|0,(k|0)!=(t|0))continue;break f}break}if(w=i[r-4>>2],!w|i[w+40>>2]!=2||(k=k-1|0,!k))break f;for(t=0;;){if(r=(t<<2)+A|0,(w|0)!=i[r>>2]){if(t=t+1|0,(k|0)!=(t|0))continue;break f}break}if(A=i[r+4>>2],!A||(t=i[i[w+4>>2]+24>>2],(t|0)>=i[i[A+4>>2]+24>>2]))break f;for(;;){if(r=i[W>>2],i[r+144>>2]<=(t|0))break f;if(r=i[r+320>>2]+m(t,76)|0,i[r>>2]<=0&&(i[r>>2]=1),t=t+1|0,!((t|0)<i[i[A+4>>2]+24>>2]))break}}t=0;f:{k:{n:{if(!(u|Z&&(o|0)>0)){if(o=0,u=B-18608|0,B=u,I=i[n+4>>2],A=i[I+1352>>2],(A|0)!=i[I+1356>>2]){for(k=f+2140|0;r=M9(k,i[(o<<2)+A>>2]),(r|0)>=0&&(i[i[i[f+2148>>2]+(r<<2)>>2]+100>>2]=0),o=o+1|0,A=i[I+1352>>2],o>>>0<i[I+1356>>2]-A>>2>>>0;);I=i[n+4>>2]}if(o=6,r=i[i[W>>2]+132>>2],k0[I+24>>2]<i[r+8452>>2]-i[r+8448>>2]>>2>>>0){Z=u+18572|0,i[Z>>2]=0,i[Z+4>>2]=0,i[u+18516>>2]=0,r=u+18508|0,i[r>>2]=0,i[r+4>>2]=0,i[u+18500>>2]=0,i[u+18504>>2]=0,r=(u+38&-16)+16|0,i[u+2104>>2]=r,B0(r,0,2048),r=i[n+4>>2],i[u+18592>>2]=r,A=i[W>>2],i[u+18600>>2]=n,i[u+18596>>2]=W,i[u+18584>>2]=f,i[u+18588>>2]=A,r=i[i[i[A+132>>2]+8448>>2]+(i[r+24>>2]<<2)>>2],i[u+18604>>2]=0,i[u+4>>2]=r,m6(u),r=i[n+12>>2];t:{if((r|0)<=0){o=17;break t}S6(u+18548|0,i[n+8>>2],r);o:{if(!s[i[i[W>>2]+132>>2]+45|0]|!s[i[n+4>>2]+12|0])break o;if(k=i[i[i[f+2216>>2]+124>>2]+16900>>2]-1|0,o=i[W+472>>2],r=i[W+468>>2],A=o-r>>3,k>>>0>A>>>0){Un(W+468|0,k-A|0);break o}if(A>>>0<=k>>>0)break o;if(r=r+(k<<3)|0,(r|0)!=(o|0))for(;o=C8(o-8|0),(r|0)!=(o|0););i[W+472>>2]=r}i[n+120>>2]=1,o=0,I=0,k=i[u+18588>>2],A=i[k+124>>2],h=i[A+16908>>2],r=i[u+4>>2],(h|0)>(r|0)&&(h=i[i[i[k+132>>2]+8460>>2]+(r<<2)>>2]),A=i[A+16892>>2],i[u>>2]=h,r=(h|0)/(A|0)|0,i[u+12>>2]=r,i[u+8>>2]=h-m(r,A),r=i[u+18592>>2],w=i[k+132>>2],k=18;o:{u:{l:{if(!JA(u)||(Y6(u+18548|0),k=0,!(mr(u,0,!s[r+20|0])&-3)))break l;A=u+18572|0,h=1;s:{if(s[w+46|0]){if(o=i[u+18592>>2],I=i[o+804>>2],I>>>0>2)break u;k=0;break s}k=1}for(;;){if(!k){k6(A,I,i[o+800>>2]),l[u+18580|0]=0,l[u+18581|0]=0,l[u+18582|0]=0,l[u+18583|0]=0,k=1;continue}for(;;){r=i[u+18592>>2],k=i[r+784>>2],o=i[r+788>>2]-k>>2,r=h-1|0;s:{if(o>>>0>r>>>0&&i[k+(r<<2)>>2]==((i[u+18552>>2]-i[u+18548>>2]|0)-2|0))break s;v2(i[u+18584>>2]+4|0,1003,1)}if(k=0,!(mr(u,0,0)&-3))break l;if(h=h+1|0,!!s[w+46|0])break}if(o=i[u+18592>>2],I=i[o+804>>2],!(I>>>0<3))break}break u}r=k;break o}C0(16898,14036,1520,4043),P()}o=r,i[n+44>>2]<=0&&(i[n+44>>2]=1)}C8(Z)}if(B=u+18608|0,A=o,i[n+40>>2]=2,o=i[W+424>>2],k=(i[W+428>>2]-o>>2)-1|0,!k)break n;for(;;){if(r=o+(t<<2)|0,(n|0)!=i[r>>2]){if(t=t+1|0,(k|0)!=(t|0))continue;break n}break}if(k=i[r+4>>2],!k||(t=i[i[n+4>>2]+24>>2],(t|0)>=i[i[k+4>>2]+24>>2]))break n;for(;;){if(r=i[W>>2],i[r+144>>2]<=(t|0))break n;if(r=i[r+320>>2]+m(t,76)|0,i[r>>2]<=0&&(i[r>>2]=1),t=t+1|0,!((t|0)<i[i[k+4>>2]+24>>2]))break}break n}if(Z&&(A=1006,u))break n;if(Z){t:{if(E=i[W>>2],i[E+332>>2]==(0-i[E+328>>2]|0)){u=i[n+4>>2],C=i[u+776>>2],h=i[E+132>>2],r=i[E+124>>2],Z=i[r+16892>>2];o:{if(!s[u+12|0])break o;if(o=i[r+16900>>2]-1|0,r=i[W+472>>2],A=i[W+468>>2],k=r-A>>3,o>>>0>k>>>0){Un(W+468|0,o-k|0);break o}if(k>>>0<=o>>>0)break o;if(A=A+(o<<3)|0,(A|0)!=(r|0))for(;r=C8(r-8|0),(A|0)!=(r|0););i[W+472>>2]=A}if(i[n+132>>2])break r;w=C+1|0,p=U((n0=-1,h0=q0(w,0,18608,0)|4,j=w0,j?n0:h0)),i[p>>2]=w,A=p+4|0;o:{if(!w){i[n+136>>2]=w,i[n+132>>2]=A;break o}for(o=A+m(w,18608)|0,r=A;k=r+18572|0,i[k>>2]=0,i[k+4>>2]=0,i[r+18516>>2]=0,k=r+18508|0,i[k>>2]=0,i[k+4>>2]=0,i[r+18500>>2]=0,i[r+18504>>2]=0,i[r+18584>>2]=0,i[r+18588>>2]=0,k=r+18592|0,i[k>>2]=0,i[k+4>>2]=0,i[r+18600>>2]=0,k=(r+38&-15)+16|0,i[r+2104>>2]=k,B0(k,0,2048),r=r+18608|0,(o|0)!=(r|0););if(i[n+136>>2]=w,i[n+132>>2]=A,(C|0)<0)break o;if(k=i[u+24>>2],y=(k|0)/(Z|0)|0,C){if(k-m(Z,y)|0)break o;if((C|0)==2147483647)break i}if(i[p+18596>>2]=u,r=i[E+112>>2],i[p+18604>>2]=n,i[p+18600>>2]=W,i[p+18592>>2]=E,i[p+18588>>2]=r,i[p+8>>2]=i[i[h+8448>>2]+(k<<2)>>2],m6(A),w=n+12|0,r=w,C&&(r=i[u+784>>2]),r=i[r>>2],(r|0)>i[w>>2]||(o=1,(r|0)<=0)||(S6(p+18552|0,i[n+8>>2],r),i[E+324>>2]=i[E+324>>2]+1,i[E+340>>2]=i[E+340>>2]+1,i[n+120>>2]=i[n+120>>2]+1,u7(f,A,1,y),!C))break o;for(;;){if(i[n+136>>2]<=(o|0))break i;if(p=i[n+132>>2]+m(o,18608)|0,i[p+18592>>2]=u,r=i[E+112>>2],i[p+18600>>2]=n,i[p+18596>>2]=W,i[p+18588>>2]=E,i[p+18584>>2]=r,y=y+1|0,i[p+4>>2]=i[i[h+8448>>2]+(m(Z,y)<<2)>>2],m6(p),A=o<<2,r=i[u+784>>2],k=i[(A+r|0)-4>>2],(k|0)<0||(A=r+A|0,r=(o|0)!=(C|0),A=i[(r?A:w)>>2],(A|0)>i[w>>2]|(A|0)<=(k|0)))break o;if(S6(p+18548|0,k+i[n+8>>2]|0,A-k|0),i[E+324>>2]=i[E+324>>2]+1,i[E+340>>2]=i[E+340>>2]+1,i[n+120>>2]=i[n+120>>2]+1,u7(f,p,0,y),o=o+1|0,!r)break}}if(We(E),A=i[W+460>>2],o=i[W+456>>2],(A|0)!=(o|0))for(r=0;k=i[(r<<2)+o>>2],k&&(V[i[i[k>>2]+4>>2]](k),o=i[W+456>>2],A=i[W+460>>2]),r=r+1|0,r>>>0<A-o>>2>>>0;);i[W+460>>2]=o;break t}C0(17327,13894,1003,14969),P()}if(i[n+40>>2]=2,A=0,o=i[W+424>>2],k=(i[W+428>>2]-o>>2)-1|0,!k)break n;for(;;){if(r=o+(t<<2)|0,(n|0)!=i[r>>2]){if(t=t+1|0,(k|0)!=(t|0))continue;break n}break}if(k=i[r+4>>2],!k||(t=i[i[n+4>>2]+24>>2],(t|0)>=i[i[k+4>>2]+24>>2]))break n;for(;;){if(r=i[W>>2],i[r+144>>2]<=(t|0))break n;if(r=i[r+320>>2]+m(t,76)|0,i[r>>2]<=0&&(i[r>>2]=1),t=t+1|0,!((t|0)<i[i[k+4>>2]+24>>2]))break}break n}if(!u)break k;t:{if(z=i[W>>2],i[z+332>>2]==(0-i[z+328>>2]|0)){if(i[n+132>>2])break r;_=i[z+132>>2],R=i[i[z+124>>2]+16892>>2],E=i[n+4>>2],v=i[E+776>>2],w=v+1|0,Z=U((n0=-1,h0=q0(w,0,18608,0)|4,j=w0,j?n0:h0)),i[Z>>2]=w,A=Z+4|0;o:{if(!w){i[n+136>>2]=w,i[n+132>>2]=A;break o}for(o=A+m(w,18608)|0,r=A;k=r+18572|0,i[k>>2]=0,i[k+4>>2]=0,i[r+18516>>2]=0,k=r+18508|0,i[k>>2]=0,i[k+4>>2]=0,i[r+18500>>2]=0,i[r+18504>>2]=0,i[r+18584>>2]=0,i[r+18588>>2]=0,k=r+18592|0,i[k>>2]=0,i[k+4>>2]=0,i[r+18600>>2]=0,k=(r+38&-15)+16|0,i[r+2104>>2]=k,B0(k,0,2048),r=r+18608|0,(o|0)!=(r|0););if(i[n+136>>2]=w,i[n+132>>2]=A,(v|0)<0)break o;if((v|0)==2147483647)break i;if(w=i[E+24>>2],k=w<<2,p=i[k+i[_+8484>>2]>>2],i[Z+18596>>2]=E,r=i[z+112>>2],i[Z+18604>>2]=n,i[Z+18600>>2]=W,i[Z+18592>>2]=z,i[Z+18588>>2]=r,i[Z+8>>2]=i[k+i[_+8448>>2]>>2],m6(A),C=n+12|0,r=C,v&&(r=i[E+784>>2]),r=i[r>>2],(r|0)>i[C>>2]){h=17;break o}if(o=1,(r|0)<=0){h=17;break o}if(S6(Z+18552|0,i[n+8>>2],r),i[z+324>>2]=i[z+324>>2]+1,i[z+340>>2]=i[z+340>>2]+1,i[n+120>>2]=i[n+120>>2]+1,r=(w|0)/(R|0)|0,t7(f,A,1,w-m(r,R)|0,r),!v)break o;for(Z=_+8404|0,w=_+8360|0;;){if(p=p+1|0,A=i[_+48>>2],(p|0)>=(m(A,i[_+52>>2])|0)){h=1007;break o}if(i[n+136>>2]<=(o|0))break i;if(r=(p|0)/(A|0)|0,k=i[Z+(r<<2)>>2],A=i[w+(p-m(r,A)<<2)>>2],y=i[n+132>>2]+m(o,18608)|0,i[y+18592>>2]=E,r=i[z+112>>2],i[y+18600>>2]=n,i[y+18596>>2]=W,i[y+18588>>2]=z,i[y+18584>>2]=r,k=A+m(k,R)|0,i[y+4>>2]=i[i[_+8448>>2]+(k<<2)>>2],m6(y),A=o<<2,r=i[E+784>>2],u=i[(A+r|0)-4>>2],(u|0)<0){h=17;break o}if(r=i[((o|0)!=(v|0)?r+A|0:C)>>2],(r|0)>i[C>>2]){h=17;break o}if((r|0)<=(u|0)){h=17;break o}if(S6(y+18548|0,u+i[n+8>>2]|0,r-u|0),i[z+324>>2]=i[z+324>>2]+1,i[z+340>>2]=i[z+340>>2]+1,i[n+120>>2]=i[n+120>>2]+1,r=(k|0)/(R|0)|0,t7(f,y,0,k-m(r,R)|0,r),r=(o|0)!=(v|0),o=o+1|0,!r)break}}if(We(z),A=i[W+460>>2],o=i[W+456>>2],(A|0)!=(o|0))for(r=0;k=i[(r<<2)+o>>2],k&&(V[i[i[k>>2]+4>>2]](k),o=i[W+456>>2],A=i[W+460>>2]),r=r+1|0,r>>>0<A-o>>2>>>0;);i[W+460>>2]=o,A=h;break t}C0(17327,13894,1117,4295),P()}if(i[n+40>>2]=2,o=i[W+424>>2],k=(i[W+428>>2]-o>>2)-1|0,!k)break n;for(;;){if(r=o+(t<<2)|0,(n|0)!=i[r>>2]){if(t=t+1|0,(k|0)!=(t|0))continue;break n}break}if(k=i[r+4>>2],!k||(t=i[i[n+4>>2]+24>>2],(t|0)>=i[i[k+4>>2]+24>>2]))break n;for(;;){if(r=i[W>>2],i[r+144>>2]<=(t|0))break n;if(r=i[r+320>>2]+m(t,76)|0,i[r>>2]<=0&&(i[r>>2]=1),t=t+1|0,!((t|0)<i[i[k+4>>2]+24>>2]))break}}r=A;break f}C0(9349,13894,985,7749),P()}if(r)break e;r=i[f+3208>>2],t=i[f+3212>>2]}A:{if(t-r>>>0>=5&&(h=i[r>>2],A=i[h+428>>2],i[i[A-4>>2]+40>>2]|(A|0)==i[h+424>>2]))break A;if((r|0)==(t|0))return 0;if(h=i[r>>2],A=i[h+428>>2],(A|0)!=i[h+424>>2]&&(r=0,!i[i[A-4>>2]+40>>2])||(r=0,i[f+580>>2]!=((i[f+556>>2]?-1:0)|0)))break e;if(s[f+548|0])break A;if(s[f+549|0]!=1)break e}if(l[e|0]=1,r=i[h>>2],i[r+144>>2]>0)for(I=0;e=i[r+320>>2]+m(I,76)|0,i[e>>2]<=0&&(i[e>>2]=1),I=I+1|0,(I|0)<i[r+144>>2];);_=i[h>>2],e=i[_+112>>2],A=s[e+532|0];A:{if(i[i[i[f+2216>>2]+112>>2]+1884>>2]){if(r=1,!(A&1)){A=0,Z=i[h>>2],r=i[Z+112>>2],e=i[i[Z+124>>2]+16900>>2]<<1,i[Z+324>>2]=e+i[Z+324>>2],i[Z+340>>2]=e+i[Z+340>>2];f:{if(i[i[Z+124>>2]+16900>>2]<=0)break f;o=r+1392|0;k:{n:{for(;;){w=U(20),l[w+16|0]=1,i[w+12>>2]=A,i[w+8>>2]=Z,i[w>>2]=42876,i[w+4>>2]=0,p=i[h+460>>2],e=i[h+464>>2];t:{if(p>>>0<e>>>0){i[p>>2]=w,k=p+4|0;break t}if(u=i[h+456>>2],k=p-u>>2,n=k+1|0,n>>>0>=1073741824)break n;if(r=e-u|0,e=r>>1,r=r>>>0>=2147483644?1073741823:e>>>0>n>>>0?e:n,r){if(r>>>0>=1073741824)break k;e=U(r<<2)}else e=0;if(n=e+(k<<2)|0,i[n>>2]=w,k=n+4|0,(u|0)!=(p|0)){for(;n=n-4|0,p=p-4|0,i[n>>2]=i[p>>2],(u|0)!=(p|0););u=i[h+456>>2]}if(i[h+464>>2]=e+(r<<2),i[h+460>>2]=k,i[h+456>>2]=n,!u)break t;G(u)}if(i[h+460>>2]=k,E6(o,w),A=A+1|0,e=i[i[Z+124>>2]+16900>>2],!((A|0)<(e|0)))break}if((e|0)<=0)break f;for(A=0;;){w=U(20),l[w+16|0]=0,i[w+12>>2]=A,i[w+8>>2]=Z,i[w>>2]=42876,i[w+4>>2]=0,p=i[h+460>>2],e=i[h+464>>2];t:{if(p>>>0>=e>>>0){if(u=i[h+456>>2],k=p-u>>2,n=k+1|0,n>>>0>1073741823)break n;if(r=e-u|0,e=r>>1,r=r>>>0>=2147483644?1073741823:e>>>0>n>>>0?e:n,r){if(r>>>0>1073741823)break k;e=U(r<<2)}else e=0;if(n=e+(k<<2)|0,i[n>>2]=w,k=n+4|0,(u|0)!=(p|0)){for(;n=n-4|0,p=p-4|0,i[n>>2]=i[p>>2],(u|0)!=(p|0););u=i[h+456>>2]}if(i[h+464>>2]=e+(r<<2),i[h+460>>2]=k,i[h+456>>2]=n,!u)break t;G(u);break t}i[p>>2]=w,k=p+4|0}if(i[h+460>>2]=k,E6(o,w),A=A+1|0,!((A|0)<i[i[Z+124>>2]+16900>>2]))break}break f}y0(),P()}_2(),P()}r=3,e=i[_+112>>2]}if(!s[e+533|0])f:{A=r,R=B-16|0,B=R;k:{n:{v=i[h>>2],E=i[v+124>>2];t:{if(!s[E+8799|0])break t;if(p=i[v+20>>2],C=i[v+28>>2],u=i[v+24>>2],e=i[v+112>>2],i[R+8>>2]=E,k=i[v+128>>2],i[R+12>>2]=k,r=e,k&&(i[k+4>>2]=i[k+4>>2]+1,r=i[v+112>>2]),w=i[v+288>>2],o=i[v+280>>2],n=i[v+284>>2],k=i[R+12>>2],i[R>>2]=i[R+8>>2],i[R+4>>2]=k,Z=h+8|0,Fk(Z,u,C,p,R,0,r,o,n,w,1)){v2(i[v+112>>2]+4|0,1024,0);break t}if(w=i[E+16900>>2],r=w,i[v+324>>2]=r+i[v+324>>2],i[v+340>>2]=r+i[v+340>>2],(r|0)>0)for(o=e+1392|0,p=0;;){C=U(28),i[C+20>>2]=Z,i[C+16>>2]=v,i[C>>2]=45048,i[C+4>>2]=0,i[C+12>>2]=v,i[C+24>>2]=A,i[C+8>>2]=p,I=i[h+460>>2],e=i[h+464>>2];o:{if(I>>>0<e>>>0){i[I>>2]=C,y=I+4|0;break o}if(r=i[h+456>>2],n=I-r>>2,u=n+1|0,u>>>0>=1073741824)break n;if(k=e-r|0,e=k>>1,u=k>>>0>=2147483644?1073741823:e>>>0>u>>>0?e:u,u){if(u>>>0>=1073741824)break k;e=U(u<<2)}else e=0;if(k=e+(n<<2)|0,i[k>>2]=C,y=k+4|0,(r|0)!=(I|0)){for(;k=k-4|0,I=I-4|0,i[k>>2]=i[I>>2],(r|0)!=(I|0););r=i[h+456>>2]}if(i[h+464>>2]=e+(u<<2),i[h+460>>2]=y,i[h+456>>2]=k,!r)break o;G(r)}if(i[h+460>>2]=y,E6(o,C),p=p+1|0,(w|0)==(p|0))break}We(v),e=i[v+4>>2],i[v+4>>2]=i[h+12>>2],i[h+12>>2]=e,e=i[v+64>>2],i[v+64>>2]=i[h+72>>2],i[h+72>>2]=e,e=i[v+292>>2],i[v+292>>2]=i[h+300>>2],i[h+300>>2]=e,e=i[v+8>>2],i[v+8>>2]=i[h+16>>2],i[h+16>>2]=e,e=i[v+68>>2],i[v+68>>2]=i[h+76>>2],i[h+76>>2]=e,e=i[v+296>>2],i[v+296>>2]=i[h+304>>2],i[h+304>>2]=e,e=i[v+12>>2],i[v+12>>2]=i[h+20>>2],i[h+20>>2]=e,e=i[v+72>>2],i[v+72>>2]=i[h+80>>2],i[h+80>>2]=e,e=i[v+300>>2],i[v+300>>2]=i[h+308>>2],i[h+308>>2]=e,e=i[v+40>>2],i[v+40>>2]=i[h+48>>2],i[h+48>>2]=e,e=i[v+44>>2],i[v+44>>2]=i[h+52>>2],i[h+52>>2]=e,A=i[v+304>>2],r=i[v+308>>2],e=i[h+316>>2],i[v+304>>2]=i[h+312>>2],i[v+308>>2]=e,i[h+312>>2]=A,i[h+316>>2]=r}B=R+16|0;break f}y0(),P()}_2(),P()}We(_);break A}if(!(A&1)){r=0,A=0;f:{if(i[i[_+124>>2]+16900>>2]<=0)break f;for(;A=Jk(_,r)|A,r=r+1|0,(r|0)<i[i[_+124>>2]+16900>>2];);if(!(A&1))break f;GA(_,1,0,i[_+276>>2],i[_+272>>2]),r=i[_+272>>2],e=i[_+276>>2];k:{if(i[i[_+124>>2]+16832>>2]>=9){ZA(_,1,0,e,r);break k}pA(_,1,0,e,r)}e=i[_+124>>2];k:{if(!i[e+16848>>2])break k;if(A=i[_+272>>2],r=i[_+276>>2],i[e+16840>>2]>=9){WA(_,1,0,r,A);break k}XA(_,1,0,r,A)}GA(_,0,0,i[_+276>>2],i[_+272>>2]),r=i[_+272>>2],e=i[_+276>>2];k:{if(i[i[_+124>>2]+16832>>2]>=9){ZA(_,0,0,e,r);break k}pA(_,0,0,e,r)}if(e=i[_+124>>2],!i[e+16848>>2])break f;if(A=i[_+272>>2],r=i[_+276>>2],i[e+16840>>2]>=9){WA(_,0,0,r,A);break f}XA(_,0,0,r,A)}e=i[_+112>>2]}if(s[e+533|0])break A;if(v=i[_+124>>2],s[v+8799|0]){for(r=m(m(i[_+28>>2],i[_+40>>2]),(i[v+16832>>2]+7|0)/8|0),e=m(m(i[_+36>>2],i[_+44>>2]),(i[v+16840>>2]+7|0)/8|0),u=U((e|0)<(r|0)?r:e),Z=i[v+16848>>2]?3:1,w=_+4|0,r=i[v+16900>>2],t=0;;){f:{o=w+(t<<2)|0,n=_+(t?44:40)|0,E=i[n>>2],R=l0(u,i[o>>2],m(m(E,i[_+(t?36:28)>>2]),(i[i[_+124>>2]+(t?16840:16832)>>2]+7|0)/8|0));k:{if((r|0)<=0||(e=0,k=i[v+16892>>2],(k|0)<=0))break k;for(;;){n:{if((k|0)<=0)break n;if(r=0,!t)for(;;){if(A=Q[((i[_+140>>2]+m(m(i[_+152>>2],e),24)|0)+m(r,24)|0)+2>>1],k=i[_+52>>2],A>>>0>=i[_+56>>2]-k>>2>>>0||(A=i[k+(A<<2)>>2],!A))break f;t:{if(!s[A+333|0])break t;if(C=1<<i[v+16876>>2],k=i[_+40>>2],A=i[_+4>>2],i[i[_+124>>2]+16832>>2]<=8){o6(_,r,e,0,C,C,R,E,A,k);break t}t6(_,r,e,0,C,C,R,E,A,k)}if(r=r+1|0,k=i[v+16892>>2],!((r|0)<(k|0)))break n}for(;;){if(A=Q[((i[_+140>>2]+m(m(i[_+152>>2],e),24)|0)+m(r,24)|0)+2>>1],k=i[_+52>>2],A>>>0>=i[_+56>>2]-k>>2>>>0||(A=i[k+(A<<2)>>2],!A))break f;t:{if(!s[A+334|0])break t;if(A=1<<i[v+16876>>2],p=(A|0)/i[v+16856>>2]|0,C=(A|0)/i[v+16852>>2]|0,k=i[n>>2],A=i[o>>2],i[i[_+124>>2]+16840>>2]>=9){t6(_,r,e,t,C,p,R,E,A,k);break t}o6(_,r,e,t,C,p,R,E,A,k)}if(r=r+1|0,k=i[v+16892>>2],!((r|0)<(k|0)))break}}if(e=e+1|0,r=i[v+16900>>2],!((e|0)<(r|0)))break}}if(t=t+1|0,(Z|0)!=(t|0))continue}break}G(R)}}e=i[h+436>>2];A:{if((e|0)==i[h+440>>2]){r=0;break A}for(I=0;;){r=0,k=0,J=B-176|0,B=J,d=m(I,80)+e|0,a=i[h>>2];f:{if(i[d>>2]!=132|s[i[a+112>>2]+512|0]!=1|!s[a+104|0])break f;for(_=d+12|0,v=d+60|0,R=d+68|0,E=a+4|0,p=i[i[a+124>>2]+476>>2];;){S=i[(k?44:40)+a>>2],H=i[(k?36:28)+a>>2],D=i[(k?32:24)+a>>2],u=k<<2,q=i[u+E>>2];k:{n:{t:{o:switch(i[d+8>>2]){case 0:e=i[i[a+124>>2]+(k?16840:16832)>>2],i[J+40>>2]=-1732584194,i[J+44>>2]=271733878,i[J+32>>2]=1732584193,i[J+36>>2]=-271733879,i[J+24>>2]=0,i[J+28>>2]=0;u:{if((H|0)>0){if((e|0)>=9){C=D<<1;l:{if((D|0)<=0){for(e=0;e||(e=U(C)),w3(J+24|0,e,C),r=r+1|0,(H|0)!=(r|0););break l}for(w=D&2147483646,o=D&1,y=0,e=0;;){if(e||(e=U(C)),u=(m(y,S)<<1)+q|0,r=0,t=0,(D|0)!=1)for(;Z=r<<1,n=Z+e|0,A=u+Z|0,l[n|0]=s[A|0],l[n+1|0]=s[A+1|0],A=Z|2,n=A+e|0,A=A+u|0,l[n|0]=s[A|0],l[n+1|0]=s[A+1|0],r=r+2|0,t=t+2|0,(w|0)!=(t|0););if(o&&(r=r<<1,A=r+e|0,r=r+u|0,l[A|0]=s[r|0],l[A+1|0]=s[r+1|0]),w3(J+24|0,e,C),y=y+1|0,(H|0)==(y|0))break}}w7(J,J+24|0),G(e);break u}for(;w3(J+24|0,m(r,S)+q|0,D),r=r+1|0,(H|0)!=(r|0););}w7(J,J+24|0)}e=_+(k<<4)|0;u:{if(s[J|0]!=s[e|0]|s[J+1|0]!=s[e+1|0]|(s[J+2|0]!=s[e+2|0]|s[J+3|0]!=s[e+3|0])||s[J+4|0]!=s[e+4|0]|s[J+5|0]!=s[e+5|0]|(s[J+6|0]!=s[e+6|0]|s[J+7|0]!=s[e+7|0])||s[J+8|0]!=s[e+8|0]|s[J+9|0]!=s[e+9|0]|(s[J+10|0]!=s[e+10|0]|s[J+11|0]!=s[e+11|0])||s[J+12|0]!=s[e+12|0]|s[J+13|0]!=s[e+13|0]|s[J+14|0]!=s[e+14|0])break u;if(s[J+15|0]==s[e+15|0])break k}r=5;break f;case 1:if(r=7439,(H|0)<=0)break n;if(i[i[a+124>>2]+(k?16840:16832)>>2]<9)break t;if(A0=D<<1,(D|0)<=0){for(r=0,A=0;A||(A=U(A0)),r=r+1|0,(H|0)!=(r|0););r=7439,G(A);break n}for(C=D&2147483646,u=D&1,W=(A0|0)<=1?1:A0,Z=W&2147483646,w=W&1,f0=0,A=0;;){if(A||(A=U(A0)),t=(m(S,f0)<<1)+q|0,e=0,z=0,(D|0)!=1)for(;y=e<<1,o=y+A|0,n=t+y|0,l[o|0]=s[n|0],l[o+1|0]=s[n+1|0],n=y|2,o=n+A|0,n=n+t|0,l[o|0]=s[n|0],l[o+1|0]=s[n+1|0],e=e+2|0,z=z+2|0,(C|0)!=(z|0););if(u&&(e=e<<1,n=e+A|0,e=e+t|0,l[n|0]=s[e|0],l[n+1|0]=s[e+1|0]),e=0,t=0,(W|0)!=1)for(;y=r<<8,n=e+A|0,r=s[n|0]^(r&65280)>>>8,o=r>>>4^r,r=(y|o)^o<<5,y=r<<8,r=s[n+1|0]^((r^o<<12)&65280)>>>8,r=r>>>4^r,r=(y|r)^r<<5^r<<12,e=e+2|0,t=t+2|0,(Z|0)!=(t|0););if(w&&(e=s[e+A|0]^(r&65280)>>>8,e=e>>>4^e,r=(e|r<<8)^e<<5^e<<12),f0=f0+1|0,(f0|0)==(H|0))break}G(A);break n;case 2:break o;default:break k}e=(D|0)>0&(H|0)>0;o:{if(i[i[a+124>>2]+(k?16840:16832)>>2]>=9){if(!e){A=0;break o}for(Z=D&2147483646,w=D&1,A=0,e=0;;){if(y=m(e,S)+q|0,r=0,t=0,(D|0)!=1)for(;o=(e^r)>>>8^e,n=r|1,C=(o^n)&255,W=A,A=(r^o)&255,A=(C+((W+A|0)+(A^s[r+y|0])|0)|0)+(C^s[n+y|0])|0,r=r+2|0,t=t+2|0,(Z|0)!=(t|0););if(w&&(o=A,A=((e^r)>>>8^e^r)&255,A=(o+A|0)+(A^s[r+y|0])|0),e=e+1|0,(H|0)==(e|0))break}break o}if(!e){A=0;break o}for(Z=D&2147483646,w=D&1,A=0,e=0;;){if(C=m(e,S)+q|0,r=0,t=0,(D|0)!=1)for(;o=(e^r)>>>8^e,n=r|1,A=((o^n)&255^s[n+C|0])+((s[r+C|0]^(r^o)&255)+A|0)|0,r=r+2|0,t=t+2|0,(Z|0)!=(t|0););if(w&&(A=(s[r+C|0]^((e^r)>>>8^e^r)&255)+A|0),e=e+1|0,(H|0)==(e|0))break}}if(i[u+R>>2]==(A|0))break k;r=5;break f}if((D|0)<=0)break n;for(w=D&2147483646,o=D&1,y=0;;){if(Z=m(y,S)+q|0,A=0,t=0,(D|0)!=1)for(;C=r<<8,n=A+Z|0,e=s[n|0]^(r&65280)>>>8,r=e>>>4^e,e=(C|r)^r<<5,C=e<<8,e=s[n+1|0]^((e^r<<12)&65280)>>>8,e=e>>>4^e,r=(C|e)^e<<5^e<<12,A=A+2|0,t=t+2|0,(w|0)!=(t|0););if(o&&(e=s[A+Z|0]^(r&65280)>>>8,e=e>>>4^e,r=(e|r<<8)^e<<5^e<<12),y=y+1|0,(H|0)==(y|0))break}}if(Q[v+(k<<1)>>1]==(r&65535))break k;r=5;break f}if(r=0,!p)break f;if(e=k>>>0<2,k=k+1|0,!e)break}}if(B=J+176|0,r)break A;if(I=I+1|0,e=i[h+436>>2],!(I>>>0<(i[h+440>>2]-e|0)/80>>>0))break}r=0}if(w=i[h>>2],w){if(!(s[w+104|0]!=1|(s[f+514|0]?s[w+312|0]:0)))A:{if(Z=f+2140|0,t=i[Z+24>>2],A=i[Z+28>>2],t>>>0<A>>>0){i[t>>2]=w,i[Z+24>>2]=t+4;break A}f:{if(e=i[Z+20>>2],n=t-e>>2,o=n+1|0,o>>>0<1073741824){if(k=A-e|0,A=k>>1,o=k>>>0>=2147483644?1073741823:A>>>0>o>>>0?A:o,o){if(o>>>0>=1073741824)break f;A=U(o<<2)}else A=0;if(I=A+(n<<2)|0,i[I>>2]=w,k=I+4|0,(e|0)!=(t|0)){for(;I=I-4|0,t=t-4|0,i[I>>2]=i[t>>2],(e|0)!=(t|0););e=i[Z+20>>2]}i[Z+28>>2]=A+(o<<2),i[Z+24>>2]=k,i[Z+20>>2]=I,e&&G(e),i[Z+24>>2]=k;break A}y0(),P()}_2(),P()}e=i[w+116>>2],e?e=i[(e+m(i[e+8>>2],12)|0)+480>>2]:e=0,(e|0)<i[f+2164>>2]-i[f+2160>>2]>>2&&On(f+2140|0)}if(G(Hn(h)),h=i[f+3212>>2],e=i[f+3208>>2],h-e>>>0>=5)for(I=1;e=(I<<2)+e|0,i[e-4>>2]=i[e>>2],I=I+1|0,h=i[f+3212>>2],e=i[f+3208>>2],I>>>0<h-e>>2>>>0;);i[f+3212>>2]=h-4}return r}C0(15010,13894,172,3561),P()}C0(3586,8442,174,2570),P()}function kk(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0;h=B-256|0,B=h,y=Ri(i[e+48>>2],16944),o=U(360),i[o+16>>2]=0,i[o+20>>2]=0,i[o>>2]=72656,i[o+4>>2]=0,i[o+8>>2]=0,l[o+152|0]=0,i[o+36>>2]=y,i[o+32>>2]=e,i[o+28>>2]=34648,i[o+40>>2]=0,i[o+44>>2]=0,i[o+52>>2]=0,i[o+56>>2]=0,i[o+68>>2]=0,i[o+72>>2]=0,i[o+80>>2]=0,i[o+84>>2]=0,i[o+156>>2]=0,i[o+160>>2]=0,i[o+24>>2]=0,X[o+48>>1]=0,X[o+58>>1]=0,X[o+60>>1]=0,X[o+62>>1]=0,X[o+64>>1]=0,l[o+76|0]=0,l[o+88|0]=0,i[o+204>>2]=0,i[o+196>>2]=0,i[o+200>>2]=0,i[o+188>>2]=0,i[o+192>>2]=0,i[o+180>>2]=0,i[o+184>>2]=0,i[o+172>>2]=0,i[o+176>>2]=0,i[o+164>>2]=0,i[o+168>>2]=0,i[o+212>>2]=0,i[o+216>>2]=0,l[o+208|0]=1,l[o+217|0]=0,l[o+218|0]=0,l[o+219|0]=0,l[o+220|0]=0,l[o+221|0]=0,l[o+222|0]=0,l[o+223|0]=0,l[o+224|0]=0,i[o+232>>2]=0,i[o+236>>2]=0,i[o+240>>2]=0,i[o+244>>2]=0,i[o+248>>2]=0,i[o+252>>2]=0,i[o+256>>2]=0,i[o+260>>2]=0,i[o+264>>2]=0,i[o+268>>2]=0,l[o+272|0]=0,B0(o+280|0,0,80),i[o+296>>2]=0,i[o+300>>2]=0,l[o+292|0]=1,i[o+304>>2]=0,i[o+308>>2]=0,i[o+312>>2]=0,i[o+316>>2]=0,i[o+328>>2]=0,i[o+332>>2]=0,i[o+320>>2]=0,i[o+324>>2]=1072693248,i[o+336>>2]=0,i[o+340>>2]=0,i[o+344>>2]=0,i[o+348>>2]=0,i[o+352>>2]=0,i[o+96>>2]=0,i[o+100>>2]=0,i[o+104>>2]=0,i[o+108>>2]=0,i[o+112>>2]=0,i[o+116>>2]=0,i[o+120>>2]=0,i[o+124>>2]=0,i[o+128>>2]=0,i[o+132>>2]=0,i[o+136>>2]=0,i[o+140>>2]=0,i[o+144>>2]=0,i[o+148>>2]=0,i[t>>2]=o+16,u=i[t+4>>2],i[t+4>>2]=o;i:{if(!u||(o=i[u+4>>2],i[u+4>>2]=o-1,o))break i;V[i[i[u>>2]+8>>2]](u),g(u)}o=i[r>>2],i[h+252>>2]=i[o+32>>2],i[h+248>>2]=i[o+36>>2],$r(h+240|0,r,i[k+4>>2]),o=i[A>>2];i:{if(i[o>>2]>=2){V[i[o+108>>2]](i[A+4>>2],h+252|0,h+248|0);break i}V[i[o+96>>2]](h+252|0,h+248|0)}i:{r:{e:{if(o=i[h+252>>2],w=i[r>>2],u=i[h+248>>2],!((o|0)!=i[w+32>>2]|(u|0)!=i[w+36>>2])){if(_=i[w+44>>2],u=i[w+48>>2],u&&(i[u+4>>2]=i[u+4>>2]+1),p6(o,_,u,i[k+4>>2]))break e;u=i[h+248>>2],o=i[h+252>>2]}if(i[h+212>>2]=i[h+240>>2],w=i[h+244>>2],i[h+216>>2]=w,w&&(i[w+4>>2]=i[w+4>>2]+1),N8(h+132|0,r,o,u,h+212|0,0,k+16|0),o=i[h+132>>2],r=i[h+136>>2],i[h+132>>2]=0,i[h+136>>2]=0,i[h+236>>2]=r,i[h+232>>2]=o,r=i[h+216>>2],r&&(o=i[r+4>>2],i[r+4>>2]=o-1,o||(V[i[i[r>>2]+8>>2]](r),g(r)),o=i[h+232>>2]),o){r=i[h+236>>2];break r}if(l[h+132|0]=0,l[h+143|0]=0,r0(f,4,3003,h+132|0),l[h+143|0]>=0)break i;G(i[h+132>>2]);break i}o=i[r>>2],r=i[r+4>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),i[h+236>>2]=r,i[h+232>>2]=o}z=y4(o,0),H=F4(o,0),u=i[t>>2],i[u+28>>2]=H,i[u+24>>2]=z,W=i[e+48>>2],_=B-16|0,B=_,w=U(160),u=w,i[u+4>>2]=0,i[u+8>>2]=0,i[u>>2]=71304,p=u+16|0,u=p,i[u+8>>2]=0,i[u+12>>2]=0,u=w,i[u+32>>2]=0,i[u+36>>2]=0,i[u+40>>2]=0,i[u+44>>2]=0,i[u+48>>2]=0,i[u+16>>2]=68500,i[u+52>>2]=0,i[u+56>>2]=0,i[u+68>>2]=0,l[u+57|0]=0,l[u+58|0]=0,l[u+59|0]=0,l[u+60|0]=0,l[u+61|0]=0,l[u+62|0]=0,l[u+63|0]=0,l[u+64|0]=0,i[u+16>>2]=74936,i[u+88>>2]=0,i[u+92>>2]=0,X[u+72>>1]=259,i[u+96>>2]=0,i[u+100>>2]=0,i[u+104>>2]=0,i[u+108>>2]=0,i[u+112>>2]=0,i[u+116>>2]=0,i[u+120>>2]=0,i[u+124>>2]=0,i[u+128>>2]=0,i[u+132>>2]=0,i[u+152>>2]=0,i[u+144>>2]=0,i[u+148>>2]=0,i[u+32>>2]=1987470147,Z=i[W+44>>2],i[_+12>>2]=u,i[_+8>>2]=p,i[u+4>>2]=i[u+4>>2]+1,v=i[Z+40>>2];r:{e:{if(v>>>0<k0[Z+44>>2]){i[v+4>>2]=u,i[v>>2]=p,i[u+4>>2]=i[u+4>>2]+1,v=v+8|0,i[Z+40>>2]=v,v=v-i[Z+36>>2]>>>3|0;break e}if(v=Q2(Z+36|0,_+8|0),u=i[_+12>>2],i[Z+40>>2]=v,v=v-i[Z+36>>2]>>>3|0,!u)break r}if(Z=i[u+4>>2],i[u+4>>2]=Z-1,Z)break r;V[i[i[u>>2]+8>>2]](u),g(u)}u=i[W+52>>2],X[_+6>>1]=v,l[_+4|0]=1,i[_>>2]=Q[_+4>>1]|Q[_+6>>1]<<16,c1(u,y,_),u=i[w+4>>2],i[w+4>>2]=u-1,u||(V[i[i[w>>2]+8>>2]](w),g(w)),B=_+16|0,i[h+228>>2]=0;r:{if(!r){i[h+228>>2]=0,i[h+224>>2]=o;break r}if(i[r+4>>2]=i[r+4>>2]+1,i[h+224>>2]=o,o=i[h+228>>2],i[h+228>>2]=r,!o||(r=i[o+4>>2],i[o+4>>2]=r-1,r))break r;V[i[i[o>>2]+8>>2]](o),g(o)}V[i[i[A>>2]+100>>2]](h+212|0,i[A+4>>2],h+224|0,n);r:{e:{A:{f:{k:{n:{if(r=i[h+212>>2],r){if(k=i[h+216>>2],n=i[h+220>>2],e=G2(n),e>>>0>=2147483640)break n;t:{o:{if(e>>>0>=11){t=(e|7)+1|0,A=U(t),i[h+140>>2]=t|-2147483648,i[h+132>>2]=A,i[h+136>>2]=e;break o}if(l[h+143|0]=e,A=h+132|0,!e)break t}F2(A,n,e)}if(l[e+A|0]=0,r0(f,r,k,h+132|0),l[h+143|0]>=0)break r;G(i[h+132>>2]);break r}if(i[h+208>>2]=0,i[h+204>>2]=0,V[i[i[A>>2]+104>>2]](h+132|0,i[A+4>>2],h+56|0,h+48|0,0),o=i[h+56>>2],o)for(;;){t:{o:{if(r=i[h+48>>2],(r|0)<2)break o;u:switch((s[o+1|0]>>>3|0)-14|0){case 1:X[h+132>>1]=259,i[h+188>>2]=0,i[h+192>>2]=0,i[h+180>>2]=0,i[h+184>>2]=0,i[h+172>>2]=0,i[h+176>>2]=0,i[h+164>>2]=0,i[h+168>>2]=0,i[h+156>>2]=0,i[h+160>>2]=0,i[h+148>>2]=0,i[h+152>>2]=0,a=h+112|0,E=o,p=h+132|0,w=0,o=0,v=0,Z=0,C=B-80|0,B=C,i[C+76>>2]=0,i[C+68>>2]=0,i[C+72>>2]=0;l:{s:{h:{w:{_:{v:{Z:{if(r){for(R=r;;){m:{B:{if(r=Z+2|0,R>>>0<=r>>>0||(u=Z+E|0,s[u|0]|s[u+1|0]|s[r+E|0]!=3))break B;p:{if(w>>>0>v>>>0){l[v|0]=0,Z=v+1|0;break p}if(J=v-o|0,u=J+1|0,(u|0)<0)break h;w=w-o|0,_=w<<1,D=w>>>0>=1073741823?2147483647:u>>>0<_>>>0?_:u,D?Z=U(D):Z=0,W=Z+J|0,l[W|0]=0,_=W;W:{if((o|0)==(v|0))break W;if(I=0,u=_,w=v,_=J&3,_)for(;u=u-1|0,w=w-1|0,l[u|0]=s[w|0],I=I+1|0,(_|0)!=(I|0););if(_=Z,o-v>>>0>4294967292)break W;for(;l[u-1|0]=s[w-1|0],l[u-2|0]=s[w-2|0],l[u-3|0]=s[w-3|0],u=u-4|0,w=w-4|0,l[u|0]=s[w|0],(o|0)!=(w|0););_=Z}w=Z+D|0,Z=W+1|0,o&&G(o),o=_}if(w>>>0>Z>>>0){l[Z|0]=0,v=Z+1|0;break m}if(J=Z-o|0,u=J+1|0,(u|0)<0)break Z;w=w-o|0,_=w<<1,D=w>>>0>=1073741823?2147483647:u>>>0<_>>>0?_:u,D?v=U(D):v=0,W=v+J|0,l[W|0]=0,_=W;p:{if((o|0)==(Z|0))break p;if(I=0,u=_,w=Z,_=J&3,_)for(;u=u-1|0,w=w-1|0,l[u|0]=s[w|0],I=I+1|0,(_|0)!=(I|0););if(_=v,o-Z>>>0>4294967292)break p;for(;l[u-1|0]=s[w-1|0],l[u-2|0]=s[w-2|0],l[u-3|0]=s[w-3|0],u=u-4|0,w=w-4|0,l[u|0]=s[w|0],(o|0)!=(w|0););_=v}if(w=v+D|0,v=W+1|0,!o){o=_;break m}G(o),o=_;break m}r=Z+E|0;B:{if(w>>>0>v>>>0){l[v|0]=s[r|0],v=v+1|0;break B}if(J=v-o|0,u=J+1|0,(u|0)<0)break h;w=w-o|0,_=w<<1,I=w>>>0>=1073741823?2147483647:u>>>0<_>>>0?_:u,I?_=U(I):_=0,W=_+J|0,l[W|0]=s[r|0],u=W;p:{if((o|0)==(v|0))break p;if(u=0,w=W,r=v,J=J&3,J)for(;w=w-1|0,r=r-1|0,l[w|0]=s[r|0],u=u+1|0,(J|0)!=(u|0););if(u=_,o-v>>>0>4294967292)break p;for(;l[w-1|0]=s[r-1|0],l[w-2|0]=s[r-2|0],l[w-3|0]=s[r-3|0],w=w-4|0,r=r-4|0,l[w|0]=s[r|0],(r|0)!=(o|0););u=_}w=_+I|0,v=W+1|0,o&&G(o),o=u}r=Z}if(Z=r+1|0,!(R>>>0>Z>>>0))break}i[C+72>>2]=v,i[C+68>>2]=o,i[C+76>>2]=w}if(w=w6(C+32|0,o,v-o|0),p2(w,16),p2(w,4),p2(w,4),X[p+2>>1]=0,S=p,q=M8(w,3)+1|0,l[S+4|0]=q,S=p,q=M8(w,2),l[S+6|0]=q,p2(w,2),!g0(w,1))break w;if(S=p,q=M8(w,7),l[S+9|0]=q,S=p,q=M8(w,1),l[S+10|0]=q,S=p,q=M8(w,8),l[S+11|0]=q,S=p,q=M8(w,1),l[S+12|0]=q,S=p,q=M8(w,1),l[S+13|0]=q,!g0(w,1)){l[p+8|0]=1,_=i[p+20>>2],u=i[p+24>>2];m:{if(_>>>0<u>>>0){l[_|0]=0,v=_+1|0;break m}if(I=i[p+16>>2],r=_-I|0,o=r+1|0,(o|0)<0)break v;Z=0,u=u-I|0,v=u<<1,o=u>>>0>=1073741823?2147483647:o>>>0<v>>>0?v:o,o&&(Z=U(o)),u=r+Z|0,l[u|0]=0,W=o+Z|0,v=u+1|0;B:{if((_|0)==(I|0)){Z=u;break B}E=r&3;p:{if(!E){r=_;break p}for(o=0,r=_;u=u-1|0,r=r-1|0,l[u|0]=s[r|0],o=o+1|0,(E|0)!=(o|0););}if(I-_>>>0<=4294967292)for(;l[u-1|0]=s[r-1|0],l[u-2|0]=s[r-2|0],l[u-3|0]=s[r-3|0],u=u-4|0,r=r-4|0,l[u|0]=s[r|0],(r|0)!=(I|0););I=i[p+16>>2]}if(i[p+24>>2]=W,i[p+20>>2]=v,i[p+16>>2]=Z,!I)break m;G(I)}i[p+20>>2]=v}if(r=i[w+24>>2],i[w+24>>2]=r&-8,_=i[w+20>>2],u=i[w+16>>2],o=r&7,r=o,(r&63)>>>0>=32?(o=u<<r,r=0):(o=(1<<r)-1&u>>>32-r|_<<r,r=u<<r),i[w+16>>2]=r,i[w+20>>2]=o,kn(p+28|0,s[p+4|0]),r=s[p+4|0],r>>>0<2)break _;for(r=r-2|0;o=1<<r,_=g0(w,1),u=i[p+28>>2]+(r>>>3&536870908)|0,_?_=o|i[u>>2]:_=i[u>>2]&(o^-1),i[u>>2]=_,o=(r|0)>0,r=r-1|0,!!o;);break _}i[C+72>>2]=Z;break s}y0(),P()}r=i[w+24>>2],i[w+24>>2]=r&-8,_=i[w+20>>2],u=i[w+16>>2],o=r&7,r=o,(r&63)>>>0>=32?(o=u<<r,r=0):(o=(1<<r)-1&u>>>32-r|_<<r,r=u<<r),i[w+16>>2]=r,i[w+20>>2]=o,o=p+40|0,r=s[p+4|0],_=i[p+40>>2],u=i[p+44>>2]-_|0;_:{if(r>>>0>u>>>0){L2(o,r-u|0),r=s[p+4|0];break _}if(r>>>0>=u>>>0)break _;i[p+44>>2]=r+_}if(r>>>0>=2)for(r=r-2|0;i[i[p+28>>2]+(r>>>3&536870908)>>2]>>>r&1&&(u=M8(w,8),l[i[o>>2]+r|0]=u),u=(r|0)>0,r=r-1|0,!!u;);o=g0(w,8),r=i[p+56>>2],_=i[p+52>>2],u=r-_>>2;_:{if(o>>>0>u>>>0){if(v=0,Z=o-u|0,W=i[p+60>>2],Z>>>0<=W-r>>2>>>0){Z&&(_=r,r=Z<<2,r=B0(_,0,r)+r|0),i[p+56>>2]=r;break _}v:{if(_=i[p+52>>2],E=r-_>>2,u=E+Z|0,u>>>0<1073741824){if(W=W-_|0,R=W>>1,W=W>>>0>=2147483644?1073741823:u>>>0<R>>>0?R:u,W){if(W>>>0>=1073741824)break v;v=U(W<<2)}if(u=(E<<2)+v|0,Z=Z<<2,Z=B0(u,0,Z)+Z|0,(r|0)!=(_|0))for(;u=u-4|0,r=r-4|0,i[u>>2]=i[r>>2],(r|0)!=(_|0););i[p+60>>2]=(W<<2)+v,i[p+56>>2]=Z,i[p+52>>2]=u,_&&G(_);break _}y0(),P()}_2(),P()}if(o>>>0>=u>>>0)break _;i[p+56>>2]=_+(o<<2)}if(r=0,(o|0)<=0)break w;for(;u=g0(w,32),i[i[p+52>>2]+(r<<2)>>2]=u,r=r+1|0,(o|0)!=(r|0););}p2(w,1),g0(w,1)&&p2(w,1),g1(w,C+28|0),g1(w,C+24|0),r=i[C+28>>2],i[h+208>>2]=r,o=i[C+24>>2],i[h+204>>2]=o;w:{if(!((o|0)<65536&(r|0)<=65535)){if(r=U(56),i[C+12>>2]=r,i[C+16>>2]=55,i[C+20>>2]=-2147483592,o=s[18382]|s[18383]<<8|(s[18384]<<16|s[18385]<<24),u=s[18378]|s[18379]<<8|(s[18380]<<16|s[18381]<<24),l[r|0]=u,l[r+1|0]=u>>>8,l[r+2|0]=u>>>16,l[r+3|0]=u>>>24,l[r+4|0]=o,l[r+5|0]=o>>>8,l[r+6|0]=o>>>16,l[r+7|0]=o>>>24,l[r+55|0]=0,o=s[18429]|s[18430]<<8|(s[18431]<<16|s[18432]<<24),u=s[18425]|s[18426]<<8|(s[18427]<<16|s[18428]<<24),l[r+47|0]=u,l[r+48|0]=u>>>8,l[r+49|0]=u>>>16,l[r+50|0]=u>>>24,l[r+51|0]=o,l[r+52|0]=o>>>8,l[r+53|0]=o>>>16,l[r+54|0]=o>>>24,o=s[18422]|s[18423]<<8|(s[18424]<<16|s[18425]<<24),u=s[18418]|s[18419]<<8|(s[18420]<<16|s[18421]<<24),l[r+40|0]=u,l[r+41|0]=u>>>8,l[r+42|0]=u>>>16,l[r+43|0]=u>>>24,l[r+44|0]=o,l[r+45|0]=o>>>8,l[r+46|0]=o>>>16,l[r+47|0]=o>>>24,o=s[18414]|s[18415]<<8|(s[18416]<<16|s[18417]<<24),u=s[18410]|s[18411]<<8|(s[18412]<<16|s[18413]<<24),l[r+32|0]=u,l[r+33|0]=u>>>8,l[r+34|0]=u>>>16,l[r+35|0]=u>>>24,l[r+36|0]=o,l[r+37|0]=o>>>8,l[r+38|0]=o>>>16,l[r+39|0]=o>>>24,o=s[18406]|s[18407]<<8|(s[18408]<<16|s[18409]<<24),u=s[18402]|s[18403]<<8|(s[18404]<<16|s[18405]<<24),l[r+24|0]=u,l[r+25|0]=u>>>8,l[r+26|0]=u>>>16,l[r+27|0]=u>>>24,l[r+28|0]=o,l[r+29|0]=o>>>8,l[r+30|0]=o>>>16,l[r+31|0]=o>>>24,o=s[18398]|s[18399]<<8|(s[18400]<<16|s[18401]<<24),u=s[18394]|s[18395]<<8|(s[18396]<<16|s[18397]<<24),l[r+16|0]=u,l[r+17|0]=u>>>8,l[r+18|0]=u>>>16,l[r+19|0]=u>>>24,l[r+20|0]=o,l[r+21|0]=o>>>8,l[r+22|0]=o>>>16,l[r+23|0]=o>>>24,o=s[18390]|s[18391]<<8|(s[18392]<<16|s[18393]<<24),u=s[18386]|s[18387]<<8|(s[18388]<<16|s[18389]<<24),l[r+8|0]=u,l[r+9|0]=u>>>8,l[r+10|0]=u>>>16,l[r+11|0]=u>>>24,l[r+12|0]=o,l[r+13|0]=o>>>8,l[r+14|0]=o>>>16,l[r+15|0]=o>>>24,r0(a,9,2006,C+12|0),l[C+23|0]>=0)break w;G(i[C+12>>2]);break w}if(X[p+66>>1]=o,X[p+64>>1]=r,g0(w,1)&&(g1(w,C+12|0),g1(w,C+8|0),g1(w,C+4|0),g1(w,C)),g0(w,1),g1(w,C+8|0),r=i[C+8>>2],(r|0)>=248){if(r=U(32),i[C+12>>2]=r,i[C+16>>2]=27,i[C+20>>2]=-2147483616,o=s[17849]|s[17850]<<8|(s[17851]<<16|s[17852]<<24),u=s[17845]|s[17846]<<8|(s[17847]<<16|s[17848]<<24),l[r|0]=u,l[r+1|0]=u>>>8,l[r+2|0]=u>>>16,l[r+3|0]=u>>>24,l[r+4|0]=o,l[r+5|0]=o>>>8,l[r+6|0]=o>>>16,l[r+7|0]=o>>>24,l[r+27|0]=0,o=s[17868]|s[17869]<<8|(s[17870]<<16|s[17871]<<24),l[r+23|0]=o,l[r+24|0]=o>>>8,l[r+25|0]=o>>>16,l[r+26|0]=o>>>24,o=s[17865]|s[17866]<<8|(s[17867]<<16|s[17868]<<24),u=s[17861]|s[17862]<<8|(s[17863]<<16|s[17864]<<24),l[r+16|0]=u,l[r+17|0]=u>>>8,l[r+18|0]=u>>>16,l[r+19|0]=u>>>24,l[r+20|0]=o,l[r+21|0]=o>>>8,l[r+22|0]=o>>>16,l[r+23|0]=o>>>24,o=s[17857]|s[17858]<<8|(s[17859]<<16|s[17860]<<24),u=s[17853]|s[17854]<<8|(s[17855]<<16|s[17856]<<24),l[r+8|0]=u,l[r+9|0]=u>>>8,l[r+10|0]=u>>>16,l[r+11|0]=u>>>24,l[r+12|0]=o,l[r+13|0]=o>>>8,l[r+14|0]=o>>>16,l[r+15|0]=o>>>24,r0(a,9,0,C+12|0),l[C+23|0]>=0)break w;G(i[C+12>>2]);break w}if(l[p+5|0]=1,l[p+7|0]=r,r=i[19565],i[a>>2]=i[19564],i[a+4>>2]=r,r=a+8|0,l[78275]>=0){o=i[19567],i[r>>2]=i[19566],i[r+4>>2]=o,i[r+8>>2]=i[19568];break w}_0(r,i[19566],i[19567])}r=i[C+68>>2],r&&(i[C+72>>2]=r,G(r)),B=C+80|0;break l}i[C+72>>2]=v}i[C+68>>2]=o,i[C+76>>2]=w,y0(),P()}l[h+131|0]<0&&G(i[h+120>>2]),_=h+92|0,r=h+132|0,o=B-16|0,B=o,u=i[e+48>>2],p4(o+4|0,i[u+44>>2],y,u+52|0,1987470147);l:{s:{if(u=i[o+4>>2],!u||(u=N0(u,68572,74976),!u))break s;if(v=i[o+8>>2],!v){v=0;break l}i[v+4>>2]=i[v+4>>2]+1;break l}v=0,u=0}w=i[o+8>>2];l:{if(!w||(Z=i[w+4>>2],i[w+4>>2]=Z-1,Z))break l;V[i[i[w>>2]+8>>2]](w),g(w)}l:{if(u){w=i[r+4>>2],i[u+56>>2]=i[r>>2],i[u+60>>2]=w,i[u+64>>2]=i[r+8>>2],X[u+68>>1]=Q[r+12>>1];s:{if((r|0)==(u+56|0)){L7(u+84|0,r+28|0);break s}w=i[r+16>>2],Z=i[r+20>>2],W8(u+72|0,w,Z,Z-w|0),L7(u+84|0,r+28|0),w=i[r+40>>2],Z=i[r+44>>2],W8(u+96|0,w,Z,Z-w|0),w=i[r+52>>2],Z=i[r+56>>2],ki(u+108|0,w,Z,Z-w>>2)}if(i[u+120>>2]=i[r+64>>2],X[u+124>>1]=Q[r+68>>1],r=i[19565],i[_>>2]=i[19564],i[_+4>>2]=r,r=_+8|0,l[78275]>=0){u=i[19567],i[r>>2]=i[19566],i[r+4>>2]=u,i[r+8>>2]=i[19568];break l}_0(r,i[19566],i[19567]);break l}if(l[o+4|0]=0,l[o+15|0]=0,r0(_,5,141,o+4|0),l[o+15|0]>=0)break l;G(i[o+4>>2])}l:{if(!v||(r=i[v+4>>2],i[v+4>>2]=r-1,r))break l;V[i[i[v>>2]+8>>2]](v),g(v)}B=o+16|0,l[h+111|0]<0&&G(i[h+100>>2]),r=i[h+184>>2],r&&(i[h+188>>2]=r,G(r)),r=i[h+172>>2],r&&(i[h+176>>2]=r,G(r)),r=i[h+160>>2],r&&G(r),r=i[h+148>>2],r&&(i[h+152>>2]=r,G(r)),r=i[h+48>>2],o=i[h+56>>2];break;case 0:case 2:break u;default:break o}p=h+72|0,Z=B-16|0,B=Z,u=i[e+48>>2],p4(Z+4|0,i[u+44>>2],y,u+52|0,1987470147);u:{l:{if(u=i[Z+4>>2],!u||(w=N0(u,68572,74976),!w))break l;if(v=i[Z+8>>2],!v){v=0;break u}i[v+4>>2]=i[v+4>>2]+1;break u}v=0,w=0}u=i[Z+8>>2];u:{if(!u||(_=i[u+4>>2],i[u+4>>2]=_-1,_))break u;V[i[i[u>>2]+8>>2]](u),g(u)}u:{if(w){W=B-16|0,B=W,i[W+12>>2]=0,i[W+4>>2]=0,i[W+8>>2]=0,r?(L2(W+4|0,r),_=i[W+4>>2]):_=0,l0(_,o,r),_=B-16|0,B=_,u=W+4|0,o=s[i[u>>2]+1|0]>>>3|0;l:{s:{r=i[w+128>>2],E=i[w+132>>2];h:{if((r|0)!=(E|0))for(;;){if((o|0)==s[r+1|0]){if(o=i[r+8>>2],o>>>0<k0[r+12>>2]){if(i[o+8>>2]=0,i[o>>2]=0,i[o+4>>2]=0,w=i[u+4>>2],E=i[u>>2],(w|0)!=(E|0)){if(u=w-E|0,(u|0)<0)break s;w=U(u),i[o+4>>2]=w,i[o>>2]=w,R=u+w|0,i[o+8>>2]=R,l0(w,E,u),i[o+4>>2]=R}i[r+8>>2]=o+12;break h}S=r,q=v6(r+4|0,u),i[S+8>>2]=q;break h}if(r=r+16|0,(E|0)==(r|0))break}i[_+12>>2]=0,i[_+4>>2]=0,i[_+8>>2]=0,l[_+1|0]=o,l[_|0]=1,o=v6(_+4|0,u),r=i[w+132>>2],i[_+8>>2]=o;w:{if(r>>>0<k0[w+136>>2]){o=Q[_>>1],i[r+12>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,X[r>>1]=o,o=i[_+4>>2],u=i[_+8>>2],qA(r+4|0,o,u,(u-o|0)/12|0),r=r+16|0;break w}r=yn(w+128|0,_)}if(i[w+132>>2]=r,o=i[_+4>>2],!o)break h;if(r=o,u=i[_+8>>2],(r|0)!=(u|0)){for(;r=u-12|0,w=i[r>>2],w&&(i[u-8>>2]=w,G(w)),u=r,(r|0)!=(o|0););r=i[_+4>>2]}i[_+8>>2]=o,G(r)}B=_+16|0;break l}y0(),P()}if(r=i[W+4>>2],r&&(i[W+8>>2]=r,G(r)),B=W+16|0,r=i[19565],i[p>>2]=i[19564],i[p+4>>2]=r,r=p+8|0,l[78275]>=0){o=i[19567],i[r>>2]=i[19566],i[r+4>>2]=o,i[r+8>>2]=i[19568];break u}_0(r,i[19566],i[19567]);break u}if(l[Z+4|0]=0,l[Z+15|0]=0,r0(p,5,141,Z+4|0),l[Z+15|0]>=0)break u;G(i[Z+4>>2])}u:{if(!v||(r=i[v+4>>2],i[v+4>>2]=r-1,r))break u;V[i[i[v>>2]+8>>2]](v),g(v)}if(B=Z+16|0,l[h+91|0]>=0)break t;G(i[h+80>>2]);break t}m9(i[e+48>>2],y,o,r)}if(V[i[i[A>>2]+104>>2]](h+132|0,i[A+4>>2],h+56|0,h+48|0,0),o=i[h+56>>2],!o)break}t:{if(o=i[h+208>>2],o&&(r=i[h+204>>2],r))break t;if(l[h+132|0]=0,l[h+143|0]=0,r0(f,8,129,h+132|0),l[h+143|0]>=0)break r;G(i[h+132>>2]);break r}u=i[A>>2];t:{if(i[u>>2]<3||(u=i[u+112>>2],!u))break t;i[h+132>>2]=z,i[h+56>>2]=H,V[u|0](i[A+4>>2],z,H,h+132|0,h+56|0),r=i[h+204>>2],o=i[h+208>>2]}Vi(i[e+48>>2],y,o,r),r=i[h+208>>2],o=i[h+204>>2];t:{if((r|0)==(z|0)&(o|0)==(H|0)||(ar(i[e+48>>2],y,z,H,r,o),E3(z,H,i[i[h+232>>2]+36>>2])))break t;l[i[t>>2]+192|0]=0}gr(i[e+48>>2],y,i[k+12>>2]);t:switch(n-1|0){case 0:case 3:break t;default:break e}n=i[h+232>>2],r=i[n+52>>2],n=i[n+56>>2];t:{if(!n){if(!r)break t;u=i[e+48>>2],i[h+136>>2]=0,i[h+132>>2]=r;break f}if(i[n+4>>2]=i[n+4>>2]+1,r)break k}r=s[k|0],o=i[k+4>>2]!=0;break A}c2(),P()}u=i[e+48>>2],i[h+136>>2]=n,i[h+132>>2]=r,i[n+4>>2]=i[n+4>>2]+1}p8(u,y,h+132|0),r=i[h+136>>2];f:{if(!r||(o=i[r+4>>2],i[r+4>>2]=o-1,o))break f;V[i[i[r>>2]+8>>2]](r),g(r)}r=s[k|0],o=s[k+3|0]!=0&i[k+4>>2]!=0&r>>>0>2}A:{if(!(!s[k+8|0]|(r&255)>>>0<4)|!o||(o=i[e+48>>2],i[h+132>>2]=i[h+240>>2],r=i[h+244>>2],i[h+136>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),p8(o,y,h+132|0),r=i[h+136>>2],!r)||(o=i[r+4>>2],i[r+4>>2]=o-1,o))break A;V[i[i[r>>2]+8>>2]](r),g(r)}if(!n||(r=i[n+4>>2],i[n+4>>2]=r-1,r))break e;V[i[i[n>>2]+8>>2]](n),g(n)}i[h+64>>2]=i[h+232>>2],r=i[h+236>>2],i[h+68>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),r=i[h+68>>2],i[h+16>>2]=i[h+64>>2],i[h+20>>2]=r,Wi(e,h+16|0,y),r=i[e+32>>2];e:{if(r>>>0<k0[e+36>>2]){i[r>>2]=i[t>>2],n=i[t+4>>2],i[r+4>>2]=n,n&&(i[n+4>>2]=i[n+4>>2]+1),r=r+8|0;break e}r=Q2(e+28|0,t)}i[e+32>>2]=r,r=i[e+20>>2];e:{A:{if(!r){u=e+20|0,o=u;break A}for(;;){if(o=r,n=i[r+16>>2],n>>>0>y>>>0){if(u=r,r=i[r>>2],r)continue;break A}if(n>>>0>=y>>>0)break e;if(r=i[o+4>>2],!r)break}u=o+4|0}r=U(28),i[r+20>>2]=0,i[r+24>>2]=0,i[r+16>>2]=y,i[r+8>>2]=o,i[r>>2]=0,i[r+4>>2]=0,i[u>>2]=r,o=r,n=i[i[e+16>>2]>>2],n&&(i[e+16>>2]=n,o=i[u>>2]),D1(i[e+20>>2],o),i[e+24>>2]=i[e+24>>2]+1}n=i[t>>2],t=i[t+4>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),i[r+20>>2]=n,n=i[r+24>>2],i[r+24>>2]=t;e:{if(!n||(r=i[n+4>>2],i[n+4>>2]=r-1,r))break e;V[i[i[n>>2]+8>>2]](n),g(n)}e:{A:{if(!s[k+1|0]||!H2(i[h+232>>2],6))break A;i[h+56>>2]=0,i[h+60>>2]=0,s6(h+132|0,h+232|0),n=i[h+132>>2],t=i[h+136>>2],i[h+132>>2]=0,i[h+136>>2]=0,r=i[h+60>>2],i[h+56>>2]=n,i[h+60>>2]=t;f:{if(!r||(n=i[r+4>>2],i[r+4>>2]=n-1,n||(V[i[i[r>>2]+8>>2]](r),g(r)),r=i[h+136>>2],!r)||(n=i[r+4>>2],i[r+4>>2]=n-1,n))break f;V[i[i[r>>2]+8>>2]](r),g(r)}if(i[h+48>>2]=0,i[h+52>>2]=0,kk(f,e,h+56|0,A,k,2,h+48|0),i[f>>2])break e;r=i[i[h+48>>2]+20>>2],A=i[e+48>>2],i[h+44>>2]=1,i[h+36>>2]=y,i[h+40>>2]=h+36,k=i[h+44>>2],i[h+8>>2]=i[h+40>>2],i[h+12>>2]=k,k=r,r=ue(h+132|0,h+8|0),P1(A,k,1635088492,r),A=i[r>>2],A&&(i[r+4>>2]=A,G(A));f:{if(s[i[h+232>>2]+40|0]!=1||(r=i[e+48>>2],A=i[i[h+48>>2]+20>>2],i[h+32>>2]=1,i[h+36>>2]=A,i[h+28>>2]=h+36,A=i[h+32>>2],i[h>>2]=i[h+28>>2],i[h+4>>2]=A,A=r,r=ue(h+132|0,h),P1(A,y,1886545261,r),A=i[r>>2],!A))break f;i[r+4>>2]=A,G(A)}r=i[e+48>>2],A=i[i[h+48>>2]+20>>2],e=C1(h+132|0,17014),_6(r,A,e),l[e+11|0]<0&&G(i[e>>2]),l[f+19|0]<0&&G(i[f+8>>2]),v1(h+48|0),v1(h+56|0)}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break r}_0(f,i[19566],i[19567]);break r}f=i[h+52>>2];e:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break e;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=i[h+60>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=i[h+228>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[h+236>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[h+244>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=h+256|0}function nk(f,e,r,A,k,n,t,o,u,h,w,_){var v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=0,r2=0,n2=0,s2=0,W2=0,y2=0,x2=0,T2=0,O2=0,q2=0,b2=0,e1=0,A1=0,h1=0,B1=0,p1=0,W1=0,X1=0,N1=0,r4=0,e4=0,V4=0,M4=0,x4=0;N1=B-16|0,B=N1,E=N1+4|0,A0=B-80|0,B=A0;i:{r:{if(v=i[r+168>>2],z=k>>v,(z|0)<0||(D=i[r+172>>2],(D|0)<=(z|0)))break r;if(S=n>>v,(S|0)<0|(S|0)>=i[r+176>>2])break i;v=n+o|0,C=k+t|0,y=s[A+10|0];e:{A:{f:switch((s[((i[r+160>>2]+m(z,3)|0)+m(m(D,S),3)|0)+1|0]&3)-1|0){case 0:if(!(y&16))break A;break;case 1:break f;default:break A}i[A0+12>>2]=r,i[A0+8>>2]=45672,Z=A0+8|0,A=v,z=h,S=w,D=_,G0=y>>>5|0,p=A0+16|0,y=B-16|0,B=y,I=i[i[r+132>>2]+8236>>2],(u|0)!=8|i[i[r+132>>2]+8236>>2]<3||(S=8,D=0,z=8,C=k,A=n),X0=A+S|0,R=X0-1|0,v=V[i[i[Z>>2]>>2]](Z,k,n)|0;f:{a=G0+1|0,d=C>>I,n0=C-1|0,q=(d|0)!=n0>>I;k:{if(!q&&(_=0,A>>I==R>>I)||!((D|0)!=1|v>>>0>7)&&(_=0,1<<v&196)||(_=0,!K4(r,k,n,u,C,A,z,S,D,n0,R)))break k;_=V[i[i[Z>>2]+4>>2]](Z,n0,R)|0,Z=Q[_+4>>1]|Q[_+6>>1]<<16,R=Q[_>>1]|Q[_+2>>1]<<16,X[p>>1]=R,X[p+2>>1]=R>>>16,X[p+4>>1]=Z,X[p+6>>1]=Z>>>16,_=Q[_+8>>1]|Q[_+10>>1]<<16,X[p+8>>1]=_,X[p+10>>1]=_>>>16,_=1}if((a|0)<=(_|0))break f;k:{n:{t:{if(W=C+z|0,Z=W-1|0,R=A-1|0,!(!(1<<v&50)||(D|0)!=1|v>>>0>5)|(d|0)==Z>>I&A>>I==R>>I||!K4(r,k,n,u,C,A,z,S,D,Z,R))break t;if(J=i[r+188>>2],v=Z>>J,(v|0)<0||(Z=i[r+192>>2],(Z|0)<=(v|0)))break r;if(J=R>>J,!((J|0)<0|(J|0)>=i[r+196>>2])){Z=(i[r+180>>2]+m(v,12)|0)+m(m(Z,J),12)|0;o:{if(!_||(v=s[p|0],(v|0)!=s[Z|0])||v&&Q[p+4>>1]!=Q[Z+4>>1]|Q[p+6>>1]!=Q[Z+6>>1]|s[p+2|0]!=s[Z+2|0]||(Y0=s[p+1|0],(Y0|0)!=s[Z+1|0]))break o;if(J=0,I0=1,v=_,!Y0)break n;if(Q[p+8>>1]!=Q[Z+8>>1]|Q[p+10>>1]!=Q[Z+10>>1]|s[p+3|0]!=s[Z+3|0])break o;v=_;break n}J=Q[Z+4>>1]|Q[Z+6>>1]<<16,v=p+m(_,12)|0,I0=Q[Z>>1]|Q[Z+2>>1]<<16,X[v>>1]=I0,X[v+2>>1]=I0>>>16,X[v+4>>1]=J,X[v+6>>1]=J>>>16,J=Q[Z+8>>1]|Q[Z+10>>1]<<16,X[v+8>>1]=J,X[v+10>>1]=J>>>16,I0=1,J=_,v=_+1|0;break n}break k}v=_}n:{if(a>>>0<=v>>>0)break n;t:{if((d|0)==W>>I&A>>I==R>>I||!K4(r,k,n,u,C,A,z,S,D,W,R))break t;if(Z=W,W=i[r+188>>2],Z=Z>>W,(Z|0)<0||(d=i[r+192>>2],(d|0)<=(Z|0)))break r;if(W=R>>W,(W|0)<0|(W|0)>=i[r+196>>2])break k;Z=(i[r+180>>2]+m(Z,12)|0)+m(m(W,d),12)|0;o:{if(!I0||(W=p+m(J,12)|0,d=s[W|0],(d|0)!=s[Z|0])||d&&Q[W+4>>1]!=Q[Z+4>>1]|Q[W+6>>1]!=Q[Z+6>>1]|s[W+2|0]!=s[Z+2|0]||(d=s[W+1|0],(d|0)!=s[Z+1|0]))break o;if(!d)break t;if(Q[W+8>>1]!=Q[Z+8>>1]|Q[W+10>>1]!=Q[Z+10>>1])break o;if(s[W+3|0]==s[Z+3|0])break t}d=Q[Z+4>>1]|Q[Z+6>>1]<<16,W=p+m(v,12)|0,Y0=Q[Z>>1]|Q[Z+2>>1]<<16,X[W>>1]=Y0,X[W+2>>1]=Y0>>>16,X[W+4>>1]=d,X[W+6>>1]=d>>>16,Z=Q[Z+8>>1]|Q[Z+10>>1]<<16,X[W+8>>1]=Z,X[W+10>>1]=Z>>>16,v=v+1|0}if(v>>>0>=a>>>0)break n;t:{o:{if(!q&&(Z=A>>I,(Z|0)==X0>>I))break o;u:{if(!K4(r,k,n,u,C,A,z,S,D,n0,X0))break u;if(W=i[r+188>>2],Z=n0>>W,(Z|0)<0||(d=i[r+192>>2],(d|0)<=(Z|0)))break r;if(W=X0>>W,(W|0)<0|(W|0)>=i[r+196>>2])break k;Z=(i[r+180>>2]+m(Z,12)|0)+m(m(W,d),12)|0;l:{if(!_||(W=s[p|0],(W|0)!=s[Z|0])||W&&Q[p+4>>1]!=Q[Z+4>>1]|Q[p+6>>1]!=Q[Z+6>>1]|s[p+2|0]!=s[Z+2|0]||(W=s[p+1|0],(W|0)!=s[Z+1|0]))break l;if(!W)break u;if(Q[p+8>>1]!=Q[Z+8>>1]|Q[p+10>>1]!=Q[Z+10>>1])break l;if(s[p+3|0]==s[Z+3|0])break u}X0=Q[Z+4>>1]|Q[Z+6>>1]<<16,W=p+m(v,12)|0,d=Q[Z>>1]|Q[Z+2>>1]<<16,X[W>>1]=d,X[W+2>>1]=d>>>16,X[W+4>>1]=X0,X[W+6>>1]=X0>>>16,Z=Q[Z+8>>1]|Q[Z+10>>1]<<16,X[W+8>>1]=Z,X[W+10>>1]=Z>>>16,v=v+1|0}if((v|0)==4|v>>>0>=a>>>0)break n;if(q)break t;Z=A>>I}if(R>>I==(Z|0))break n}if(!K4(r,k,n,u,C,A,z,S,D,n0,R))break n;if(I=i[r+188>>2],D=n0>>I,(D|0)<0||(Z=i[r+192>>2],(Z|0)<=(D|0)))break r;if(I=R>>I,(I|0)<0|(I|0)>=i[r+196>>2])break k;if(D=(i[r+180>>2]+m(D,12)|0)+m(m(Z,I),12)|0,I0&&W9(p+m(J,12)|0,D)||_&&W9(p,D))break n;J=Q[D+4>>1]|Q[D+6>>1]<<16,_=p+m(v,12)|0,I=Q[D>>1]|Q[D+2>>1]<<16,X[_>>1]=I,X[_+2>>1]=I>>>16,X[_+4>>1]=J,X[_+6>>1]=J>>>16,D=Q[D+8>>1]|Q[D+10>>1]<<16,X[_+8>>1]=D,X[_+10>>1]=D>>>16,v=v+1|0}_=v;break f}break i}i[y+12>>2]=_;f:{if((_|0)>(G0|0)||(dr(f,r,e,C,A,z,S,0,0,y+4|0,y+2|0),l[y+3|0]=0,v=s[y+2|0],i[e+28>>2]||(dr(f,r,e,C,A,z,S,0,1,y+8|0,y+3|0),f0=s[y+3|0],v=v|f0),!(v&255)))break f;i[y+12>>2]=_+1,A=p+m(_,12)|0,_=i[y+4>>2],X[A+4>>1]=_,X[A+6>>1]=_>>>16,_=i[y+8>>2],X[A+8>>1]=_,X[A+10>>1]=_>>>16,_=s[y+2|0],X[A+2>>1]=0,l[A+1|0]=f0,l[A|0]=_}if(_=i[e+28>>2],!_){C=0;f:{if(z=i[y+12>>2],(z|0)<2|(z|0)>=(a|0))break f;I=e+988|0,Z=e+924|0,R=m(z,z-1|0);k:{for(;;){if(A=C<<2,_=i[A+45568>>2],(_|0)>=(z|0)||(v=i[A+45616>>2],(v|0)>=(z|0)))break k;if(D=0,A=0,_=p+m(_,12)|0,s[_|0]&&(A=V[i[i[f>>2]+8>>2]](f,i[Z+(l[_+2|0]<<2)>>2])|0),v=p+m(v,12)|0,s[v+1|0]&&(D=V[i[i[f>>2]+8>>2]](f,i[I+(l[v+3|0]<<2)>>2])|0),S=s[_|0],!(!S||A)||(J=s[v+1|0],!(!J||D))||(!(i[A+96>>2]!=i[D+96>>2]|Q[_+4>>1]!=Q[v+8>>1])&Q[_+6>>1]==Q[v+10>>1]|(!S|!J)||(A=p+m(i[y+12>>2],12)|0,l[A+2|0]=s[_+2|0],D=s[v+3|0],l[A+1|0]=J,l[A|0]=S,l[A+3|0]=D,_=Q[_+4>>1]|Q[_+6>>1]<<16,X[A+4>>1]=_,X[A+6>>1]=_>>>16,_=Q[v+8>>1]|Q[v+10>>1]<<16,X[A+8>>1]=_,X[A+10>>1]=_>>>16,i[y+12>>2]=i[y+12>>2]+1),C=C+1|0,(R|0)==(C|0)))break f;if((a|0)==i[y+12>>2])break}break f}C0(9349,13964,1432,4146),P()}_=i[e+28>>2]}z=i[e+336>>2],(_|0)!=1&&(A=i[e+340>>2],z=(A|0)>(z|0)?z:A),S=i[y+12>>2];f:{if((G0|0)<(S|0))break f;if(A=a-S|0,C=A&1,_=0,(S|0)!=(G0|0))for(D=A&-2,A=0;a=i[e+28>>2],v=p+m(S,12)|0,J=(_|0)<(z|0)?_:0,l[v+2|0]=J,X[v+4>>1]=0,X[v+6>>1]=0,X[v+8>>1]=0,X[v+10>>1]=0,a=(a|0)!=1,l[v+1|0]=a,l[v|0]=1,l[v+3|0]=a?J:-1,a=i[e+28>>2],J=_|1,J=(J|0)<(z|0)?J:0,l[v+14|0]=J,X[v+16>>1]=0,X[v+18>>1]=0,X[v+20>>1]=0,X[v+22>>1]=0,l[v+12|0]=1,a=(a|0)!=1,l[v+13|0]=a,l[v+15|0]=a?J:-1,_=_+2|0,S=S+2|0,A=A+2|0,(D|0)!=(A|0););if(!C)break f;v=i[e+28>>2],A=p+m(S,12)|0,_=(_|0)<(z|0)?_:0,l[A+2|0]=_,X[A+4>>1]=0,X[A+6>>1]=0,X[A+8>>1]=0,X[A+10>>1]=0,v=(v|0)!=1,l[A+1|0]=v,l[A|0]=1,l[A+3|0]=v?_:-1}if(B=y+16|0,A=p+m(G0,12)|0,_=Q[A>>1]|Q[A+2>>1]<<16,v=Q[A+4>>1]|Q[A+6>>1]<<16,X[E>>1]=_,X[E+2>>1]=_>>>16,X[E+4>>1]=v,X[E+6>>1]=v>>>16,A=Q[A+8>>1]|Q[A+10>>1]<<16,X[E+8>>1]=A,X[E+10>>1]=A>>>16,!(_&255)|!s[E+1|0]|(h+w|0)!=12)break e;l[E+1|0]=0,l[E+3|0]=255;break e}A:{f:{k:{n:switch((y&3)-1|0){case 0:case 2:if(y=l[A|0],l[E|0]=1,l[E+2|0]=y,l[A|0]<16)break k;A=E+2|0;break A;default:break n}l[E|0]=0,l[E+2|0]=255;break f}z=Q[A+4>>1],S=Q[A+2>>1],a=y,y=A0+16|0,vk(f,e,r,k,n,u,C,v,h,w,0,a,_,y),y=y+(s[A+10|0]&4)|0,y=Q[y>>1]|Q[y+2>>1]<<16,X[E+4>>1]=y+S,X[E+6>>1]=z+(y>>>16|0)}if(!(s[A+10|0]&2)){l[E+1|0]=0,l[E+3|0]=255;break e}if(y=l[A+1|0],l[E+1|0]=1,l[E+3|0]=y,l[A+1|0]>15){A=E+3|0;break A}z=Q[A+8>>1],S=Q[A+6>>1],a=_,_=A0+16|0,vk(f,e,r,k,n,u,C,v,h,w,1,y,a,_),A=_+(s[A+10|0]>>>1&4)|0,A=Q[A>>1]|Q[A+2>>1]<<16,X[E+8>>1]=A+S,X[E+10>>1]=z+(A>>>16|0);break e}l[A|0]=0,l[r+312|0]=3,v2(f+4|0,1012,0)}B=A0+80|0,_=f,y=k,z=n,S=t,D=o,A=E,k=B-49152|0,B=k;e:{A:{if(n=e,e1=i[e+4>>2],A0=i[e1+4>>2],R=i[A0+16832>>2],f=i[r+124>>2],(R|0)==i[f+16832>>2]&&(Z=i[A0+16840>>2],(Z|0)==i[f+16840>>2]))break A;l[r+312|0]=3,v2(_+4|0,1031,0);break e}if(i[A0+476>>2]!=i[r+20>>2]){l[r+312|0]=3,v2(_+4|0,1030,0);break e}I=i[r+44>>2],W2=D+z|0,y2=i[A0+16856>>2],x2=y+S|0,T2=i[A0+16852>>2],f=m(I,(W2|0)/(y2|0)|0)+((x2|0)/(T2|0)|0)|0,e=f<<s[r+18|0],t=i[r+12>>2],f=f<<s[r+17|0],v=i[r+8>>2],G0=i[r+40>>2],E=m(G0,W2)+x2<<s[r+16|0],p=i[r+4>>2],C=s[A+1|0],o=s[A|0];A:{if(s[e1+41|0]|!o|(!C|Q[A+4>>1]!=Q[A+8>>1])||Q[A+6>>1]!=Q[A+10>>1])break A;C=i[(n+(l[A+2|0]<<2)|0)+924>>2]!=i[(n+(l[A+3|0]<<2)|0)+988>>2]?C:0}for(a=k+40960|0,J=k- -8192|0,X0=e+t|0,I0=f+v|0,d=p+E|0,M4=A+4|0,b2=_+4|0,x4=n+924|0,r4=A+2|0,Y0=k+16384|0,t=k+32768|0,e=k,E=1,f=o;;){A:{if(!f)break A;if(f=l[p1+r4|0],(f|0)>=16){l[r+312|0]=3,v2(b2,1012,0);break e}if(n0=V[i[i[_>>2]+8>>2]](_,i[((p1<<6)+x4|0)+(f<<2)>>2])|0,!(i[n0+100>>2]&&n0)){l[r+312|0]=3,v2(b2,1012,0);break A}if(!(!(i[n0+24>>2]!=i[A0+484>>2]|i[n0+28>>2]!=i[A0+488>>2])&i[r+20>>2]==i[n0+20>>2])){l[r+312|0]=3,v2(b2,1029,0);break A}if(v=i[r+124>>2],p=i[v+16832>>2],f=i[n0+124>>2],!((p|0)==i[f+16832>>2]&i[v+16840>>2]==i[f+16840>>2])){l[r+312|0]=3,v2(b2,1028,0);break A}O2=(p1<<2)+M4|0,f=X[O2+2>>1],v=X[O2>>1],W=i[n0+40>>2],q2=i[n0+4>>2];f:{if((p|0)>=9){h0=B-20448|0,B=h0,Q0=(f>>2)+W2|0,q=(v>>2)+x2|0,S0=i[A0+488>>2],f0=i[A0+484>>2];k:{if(!((f|v)&3)){f=i[A0+16832>>2];n:{if(!((q|Q0)<0|(f0|0)<(h+q|0))&&(S0|0)>=(w+Q0|0))break n;if((w|0)<=0|(h|0)<=0)break k;for(j=14-f|0,c0=S0-1|0,p0=f0-1|0,r2=h&2147483646,n2=h&1,p=0;;){if(f=p+Q0|0,F0=(m((f|0)>=0?(f|0)<(S0|0)?f:c0:0,W)<<1)+q2|0,L=(m(u,p)<<1)+t|0,f=0,v=0,(h|0)!=1)for(;H=f+q|0,X[L+(f<<1)>>1]=Q[F0+(((H|0)>=0?(H|0)<(f0|0)?H:p0:0)<<1)>>1]<<j,s2=f|1,H=s2+q|0,X[L+(s2<<1)>>1]=Q[F0+(((H|0)>=0?(H|0)<(f0|0)?H:p0:0)<<1)>>1]<<j,f=f+2|0,v=v+2|0,(r2|0)!=(v|0););if(n2&&(v=L+(f<<1)|0,f=f+q|0,X[v>>1]=Q[F0+(((f|0)>=0?(f|0)<(f0|0)?f:p0:0)<<1)>>1]<<j),p=p+1|0,(p|0)==(w|0))break}break k}if(f=((m(W,Q0)<<1)+q2|0)+(q<<1)|0,(R|0)<=8){V[i[_+220>>2]](t,u,f,W,h,w,h0+11360|0);break k}V[i[_+300>>2]](t,u,f,W,h,w,h0+11360|0,R);break k}c0=f&3,f=c0<<2,F0=i[f+45760>>2],p=i[f+45776>>2],r2=v&3,v=r2<<2,f=i[v+45776>>2],p0=i[v+45760>>2],L=q-p0|0;n:{if(!((f0|0)<=(f+(h+q|0)|0)|(S0|0)<=(p+(w+Q0|0)|0)|(L|Q0-F0)<0)){f=((q<<1)+q2|0)+(m(W,Q0)<<1)|0;break n}j=0-F0|0,A1=w+p|0;t:{if((j|0)>=(A1|0)||(h1=f+h|0,v=0-p0|0,(h1|0)<=(v|0)))break t;for(e4=S0-1|0,p=1-p0|0,W1=(f+p0|0)+h|0,X1=W1&1,n2=f0-1|0,V4=((L|0)>=0?(f0|0)>(L|0)?L:n2:0)<<1;;){if(f=j+Q0|0,L=(m((f|0)>=0?(f|0)<(S0|0)?f:e4:0,W)<<1)+q2|0,H=m(j+F0|0,80),f=v,X1&&(X[h0+(H<<1)>>1]=Q[L+V4>>1],f=p),(W1|0)!=1)for(s2=H+p0|0;H=f+q|0,X[h0+(f+s2<<1)>>1]=Q[L+(((H|0)>=0?(H|0)<(f0|0)?H:n2:0)<<1)>>1],B1=f+1|0,H=B1+q|0,X[h0+(s2+B1<<1)>>1]=Q[L+(((H|0)>=0?(H|0)<(f0|0)?H:n2:0)<<1)>>1],f=f+2|0,(h1|0)!=(f|0););if(j=j+1|0,(A1|0)==(j|0))break}}W=80,f=h0+(p0+m(F0,80)<<1)|0}if((R|0)<=8){V[i[((_+(r2<<4)|0)+(c0<<2)|0)+220>>2]](t,u,f,W,h,w,h0+11360|0);break k}V[i[((_+(r2<<4)|0)+(c0<<2)|0)+300>>2]](t,u,f,W,h,w,h0+11360|0,R)}B=h0+20448|0;break f}h0=B-14768|0,B=h0,Q0=(f>>2)+W2|0,q=(v>>2)+x2|0,S0=i[A0+488>>2],f0=i[A0+484>>2];k:{if(!((f|v)&3)){f=i[A0+16832>>2];n:{if(!((q|Q0)<0|(f0|0)<(h+q|0))&&(S0|0)>=(w+Q0|0))break n;if((w|0)<=0|(h|0)<=0)break k;for(j=14-f|0,c0=S0-1|0,p0=f0-1|0,r2=h&2147483646,n2=h&1,p=0;;){if(f=p+Q0|0,F0=m((f|0)>=0?(f|0)<(S0|0)?f:c0:0,W)+q2|0,L=(m(u,p)<<1)+t|0,f=0,v=0,(h|0)!=1)for(;H=f+q|0,X[L+(f<<1)>>1]=s[F0+((H|0)>=0?(H|0)<(f0|0)?H:p0:0)|0]<<j,s2=f|1,H=s2+q|0,X[L+(s2<<1)>>1]=s[F0+((H|0)>=0?(H|0)<(f0|0)?H:p0:0)|0]<<j,f=f+2|0,v=v+2|0,(r2|0)!=(v|0););if(n2&&(v=L+(f<<1)|0,f=f+q|0,X[v>>1]=s[F0+((f|0)>=0?(f|0)<(f0|0)?f:p0:0)|0]<<j),p=p+1|0,(p|0)==(w|0))break}break k}if(f=q+(m(W,Q0)+q2|0)|0,(R|0)<=8){V[i[_+220>>2]](t,u,f,W,h,w,h0+5680|0);break k}V[i[_+300>>2]](t,u,f,W,h,w,h0+5680|0,R);break k}c0=f&3,f=c0<<2,F0=i[f+45760>>2],L=i[f+45776>>2],r2=v&3,v=r2<<2,f=i[v+45776>>2],p0=i[v+45760>>2],p=q-p0|0;n:{if(!((f0|0)<=(f+(h+q|0)|0)|(S0|0)<=(L+(w+Q0|0)|0)|(p|Q0-F0)<0)){f=(q+q2|0)+m(W,Q0)|0;break n}j=0-F0|0,A1=w+L|0;t:{if((j|0)>=(A1|0)||(h1=f+h|0,v=0-p0|0,(h1|0)<=(v|0)))break t;for(e4=S0-1|0,n2=f0-1|0,W1=(p|0)>=0?(p|0)<(f0|0)?p:n2:0,p=1-p0|0,X1=(f+p0|0)+h|0,V4=X1&1;;){if(f=j+Q0|0,L=m((f|0)>=0?(f|0)<(S0|0)?f:e4:0,W)+q2|0,H=m(j+F0|0,80),f=v,V4&&(l[H+h0|0]=s[L+W1|0],f=p),(X1|0)!=1)for(s2=H+p0|0;H=f+q|0,l[h0+(f+s2|0)|0]=s[L+((H|0)>=0?(H|0)<(f0|0)?H:n2:0)|0],B1=f+1|0,H=B1+q|0,l[h0+(s2+B1|0)|0]=s[L+((H|0)>=0?(H|0)<(f0|0)?H:n2:0)|0],f=f+2|0,(h1|0)!=(f|0););if(j=j+1|0,(A1|0)==(j|0))break}}W=80,f=h0+(p0+m(F0,80)|0)|0}if((R|0)<=8){V[i[((_+(r2<<4)|0)+(c0<<2)|0)+220>>2]](t,u,f,W,h,w,h0+5680|0);break k}V[i[((_+(r2<<4)|0)+(c0<<2)|0)+300>>2]](t,u,f,W,h,w,h0+5680|0,R)}B=h0+14768|0}if(!i[r+20>>2])break A;if(f=(w|0)/(y2|0)|0,t=(h|0)/(T2|0)|0,v=Y0+(p1<<13)|0,p=X[O2+2>>1],W=X[O2>>1],q=i[n0+44>>2],f0=i[n0+8>>2],i[i[r+124>>2]+16840>>2]>=9){Pk(_,A0,W,p,x2,W2,e,u,f0,q,t,f,Z),Pk(_,A0,X[O2>>1],X[O2+2>>1],x2,W2,v,u,i[n0+12>>2],i[n0+44>>2],t,f,Z);break A}qk(_,A0,W,p,x2,W2,e,u,f0,q,t,f,Z),qk(_,A0,X[O2>>1],X[O2+2>>1],x2,W2,v,u,i[n0+12>>2],i[n0+44>>2],t,f,Z)}if(p1=1,v=E,E=0,f=C,e=J,t=a,!v)break}f=i[A0+16840>>2],v=(f|0)>12?2:14-f|0,f=i[A0+16832>>2],E=(f|0)>12?2:14-f|0,e=i[r+124>>2],f=s[e+16993|0],t=s[e+16992|0];A:switch(i[n+28>>2]){case 1:if(e=!C&(o|0)==1,!s[e1+41|0]){if(e){f:{if((R|0)<=8){V[i[_+176>>2]](d,G0,k+32768|0,u,h,w);break f}V[i[_+192>>2]](d,G0,k+32768|0,u,h,w,R)}if(!i[r+20>>2])break e;if(f=(w|0)/(y2|0)|0,e=(h|0)/(T2|0)|0,(Z|0)<=8){V[i[_+176>>2]](I0,I,k,u,e,f),V[i[_+176>>2]](X0,I,Y0,u,e,f);break e}V[i[_+192>>2]](I0,I,k,u,e,f,Z),V[i[_+192>>2]](X0,I,Y0,u,e,f,Z);break e}v2(b2,1011,0),l[r+312|0]=3;break e}if(e){e=E+s[n+388|0]|0,o=l[r4|0],t=l[(o+n|0)+518|0]<<t,C=n+(o<<1)|0,a=l[C+679|0],E=n+(o<<2)|0,o=X[E+552>>1],J=l[C+678|0],E=X[E+550>>1],C=X[C+454>>1],p=s[n+389|0];f:{if((R|0)<=8){V[i[_+180>>2]](d,G0,k+32768|0,u,h,w,C,t,e);break f}V[i[_+196>>2]](d,G0,k+32768|0,u,h,w,C,t,e,R)}if(!i[r+20>>2])break e;if(e=(w|0)/(y2|0)|0,n=(h|0)/(T2|0)|0,t=v+p|0,v=J<<f,f=a<<f,(Z|0)<=8){V[i[_+180>>2]](I0,I,k,u,n,e,E,v,t),V[i[_+180>>2]](X0,I,Y0,u,n,e,o,f,t);break e}V[i[_+196>>2]](I0,I,k,u,n,e,E,v,t,Z),V[i[_+196>>2]](X0,I,Y0,u,n,e,o,f,t,Z);break e}v2(b2,1011,0),l[r+312|0]=3;break e;default:C0(15527,13964,528,4261),P();case 0:break A}if(!((o|0)!=1|(C|0)!=1)){if(!s[e1+42|0]){f=k+40960|0;A:{if((R|0)<=8){V[i[_+172>>2]](d,G0,k+32768|0,f,u,h,w);break A}V[i[_+188>>2]](d,G0,k+32768|0,f,u,h,w,R)}if(!i[r+20>>2])break e;if(f=(w|0)/(y2|0)|0,e=(h|0)/(T2|0)|0,n=k- -8192|0,t=k+24576|0,(Z|0)<=8){V[i[_+172>>2]](I0,I,k,n,u,e,f),V[i[_+172>>2]](X0,I,Y0,t,u,e,f);break e}V[i[_+188>>2]](I0,I,k,n,u,e,f,Z),V[i[_+188>>2]](X0,I,Y0,t,u,e,f,Z);break e}if(e=l[A+3|0],o=n+(e<<1)|0,J=l[o+711|0],C=n+(e<<2)|0,p=X[C+616>>1],A0=l[o+710|0],W=X[C+614>>1],C=l[A+2|0],a=n+(C<<1)|0,n0=l[a+679|0],q=n+(C<<2)|0,f0=X[q+552>>1],h0=l[a+678|0],q=X[q+550>>1],j=s[n+389|0],_=_+172|0,F3(_,d,G0,k+32768|0,k+40960|0,u,h,w,X[a+454>>1],l[(n+C|0)+518|0]<<t,X[o+486>>1],l[(e+n|0)+534|0]<<t,E+s[n+388|0]|0,R),!i[r+20>>2])break e;e=(h|0)/(T2|0)|0,n=(w|0)/(y2|0)|0,t=v+j|0,F3(_,I0,I,k,k- -8192|0,u,e,n,q,h0<<f,W,A0<<f,t,Z),F3(_,X0,I,Y0,k+24576|0,u,e,n,f0,n0<<f,p,J<<f,t,Z);break e}if(!((o|0)!=1&(C|0)!=1)){if(!s[e1+42|0]){t=!o,f=(k+32768|0)+(t<<13)|0;A:{if((R|0)<=8){V[i[_+176>>2]](d,G0,f,u,h,w);break A}V[i[_+192>>2]](d,G0,f,u,h,w,R)}if(!i[r+20>>2])break e;if(n=o?Y0:k+24576|0,f=(w|0)/(y2|0)|0,e=(h|0)/(T2|0)|0,t=k+(t<<13)|0,(Z|0)<=8){V[i[_+176>>2]](I0,I,t,u,e,f),V[i[_+176>>2]](X0,I,n,u,e,f);break e}V[i[_+192>>2]](I0,I,t,u,e,f,Z),V[i[_+192>>2]](X0,I,n,u,e,f,Z);break e}e=!o,C=l[e+r4|0],t=l[(C+(n+(e<<4)|0)|0)+518|0]<<t,a=(n+(e<<5)|0)+(C<<1)|0,A0=l[a+679|0],J=(n+(e<<6)|0)+(C<<2)|0,C=X[J+552>>1],W=l[a+678|0],J=X[J+550>>1],a=X[a+454>>1],E=E+s[n+388|0]|0,p=(k+32768|0)+(e<<13)|0,n0=s[n+389|0];A:{if((R|0)<=8){V[i[_+180>>2]](d,G0,p,u,h,w,a,t,E);break A}V[i[_+196>>2]](d,G0,p,u,h,w,a,t,E,R)}if(!i[r+20>>2])break e;if(E=o?Y0:k+24576|0,n=(w|0)/(y2|0)|0,t=(h|0)/(T2|0)|0,o=v+n0|0,v=W<<f,f=A0<<f,e=k+(e<<13)|0,(Z|0)<=8){V[i[_+180>>2]](I0,I,e,u,t,n,J,v,o),V[i[_+180>>2]](X0,I,E,u,t,n,C,f,o);break e}V[i[_+196>>2]](I0,I,e,u,t,n,J,v,o,Z),V[i[_+196>>2]](X0,I,E,u,t,n,C,f,o,Z);break e}v2(b2,1011,0),l[r+312|0]=3}B=k+49152|0,k=y+S|0,n=D+z|0,f=A,w=w>>2;e:{if((w|0)<=0||(e=h>>2,(e|0)<=0))break e;for(_=n>>2,n=k>>2,v=i[r+192>>2],h=h&4,C=e&2147483646,A=0,E=(e|0)==1;;){if(o=m(v,A+_|0),e=0,t=0,!E)for(;u=Q[f+4>>1]|Q[f+6>>1]<<16,z=m(o,12),y=m(n,12),k=z+((y+i[r+180>>2]|0)+m(e,12)|0)|0,S=Q[f>>1]|Q[f+2>>1]<<16,X[k>>1]=S,X[k+2>>1]=S>>>16,X[k+4>>1]=u,X[k+6>>1]=u>>>16,u=Q[f+8>>1]|Q[f+10>>1]<<16,X[k+8>>1]=u,X[k+10>>1]=u>>>16,u=Q[f+4>>1]|Q[f+6>>1]<<16,k=z+((y+i[r+180>>2]|0)+m(e|1,12)|0)|0,y=Q[f>>1]|Q[f+2>>1]<<16,X[k>>1]=y,X[k+2>>1]=y>>>16,X[k+4>>1]=u,X[k+6>>1]=u>>>16,u=Q[f+8>>1]|Q[f+10>>1]<<16,X[k+8>>1]=u,X[k+10>>1]=u>>>16,e=e+2|0,t=t+2|0,(C|0)!=(t|0););if(h&&(k=Q[f+4>>1]|Q[f+6>>1]<<16,e=((i[r+180>>2]+m(n,12)|0)+m(e,12)|0)+m(o,12)|0,t=Q[f>>1]|Q[f+2>>1]<<16,X[e>>1]=t,X[e+2>>1]=t>>>16,X[e+4>>1]=k,X[e+6>>1]=k>>>16,k=Q[f+8>>1]|Q[f+10>>1]<<16,X[e+8>>1]=k,X[e+10>>1]=k>>>16),A=A+1|0,(w|0)==(A|0))break}}B=N1+16|0;return}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function w8(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0;u=B-208|0,B=u;i:{r:{e:{A:{f:{if(t=i[e+112>>2],!t)break f;for(n=e+112|0,Z=n,k=t;o=k0[k+16>>2]<r>>>0,Z=o?Z:k,k=i[(o<<2)+k>>2],!!k;);if((n|0)==(Z|0)|k0[Z+16>>2]>r>>>0)break f;for(k=n;Z=k0[t+16>>2]<r>>>0,k=Z?k:t,t=i[(Z<<2)+t>>2],!!t;);if(!((k|0)==(n|0)|k0[k+16>>2]>r>>>0)&&(n=i[k+20>>2],J=i[k+24>>2],J&&(i[J+4>>2]=i[J+4>>2]+1),n))break A;if(l[u+20|0]=0,l[u+31|0]=0,r0(f,5,2e3,u+20|0),l[u+31|0]>=0)break e;G(i[u+20>>2]);break e}if(l[u+20|0]=0,l[u+31|0]=0,r0(f,5,2e3,u+20|0),l[u+31|0]>=0)break r;G(i[u+20>>2]);break r}A:{if(l[n+75|0]>=0){k=n- -64|0,i[u+200>>2]=i[k+8>>2],t=i[k+4>>2],i[u+192>>2]=i[k>>2],i[u+196>>2]=t;break A}_0(u+192|0,i[n+64>>2],i[n+68>>2])}A:{if(l[n+99|0]>=0){i[u+184>>2]=i[n+96>>2],k=i[n+92>>2],i[u+176>>2]=i[n+88>>2],i[u+180>>2]=k;break A}_0(u+176|0,i[n+88>>2],i[n+92>>2])}k=i[e+60>>2],i[u+172>>2]=0,i[u+164>>2]=0,i[u+168>>2]=0;A:{f:{Z=i[k+56>>2],o=i[k+60>>2];k:{if((Z|0)==(o|0))break k;if(t=o-Z|0,(t|0)<0)break i;for(k=U(t),i[u+168>>2]=k,i[u+164>>2]=k,i[u+172>>2]=k+t;t=i[Z+4>>2],i[k>>2]=i[Z>>2],i[k+4>>2]=t,t=i[Z+12>>2],i[k+8>>2]=i[Z+8>>2],i[k+12>>2]=t,i[k+24>>2]=0,i[k+16>>2]=0,i[k+20>>2]=0,t=i[Z+16>>2],C=i[Z+20>>2],br(k+16|0,t,C,(C-t|0)/40|0),t=k,k=k+32|0,Z=Z+32|0,(o|0)!=(Z|0););if(i[u+168>>2]=k,Z=i[u+164>>2],(Z|0)==(k|0))break k;for(;;){if(i[Z>>2]==(r|0))break f;if(k=(t|0)!=(Z|0),Z=Z+32|0,!k)break}}i[u+28>>2]=54496,i[u+84>>2]=54516,e=i[13633],i[u+20>>2]=e,A=i[e-12>>2],e=u+20|0,i[A+e>>2]=i[13634],i[u+24>>2]=0,A=e+i[i[u+20>>2]-12>>2]|0,k=u+32|0,b0(A,k),i[A+72>>2]=0,i[A+76>>2]=-1,A=i[13635],i[u+28>>2]=A,t=i[A-12>>2],A=u+28|0,i[t+A>>2]=i[13636],t=i[13632],i[u+20>>2]=t,i[e+i[t-12>>2]>>2]=i[13637],i[u+84>>2]=54516,i[u+20>>2]=54476,i[u+28>>2]=54496,e=$0(k),i[e>>2]=53552,i[u+72>>2]=0,i[u+76>>2]=0,i[u+64>>2]=0,i[u+68>>2]=0,i[u+80>>2]=24,x(L0(x(A,19307,13),r),14568,23),r=u+8|0,i2(r,e),r0(f,2,117,r),l[u+19|0]<0&&G(i[u+8>>2]),f=i[13631],i[u+20>>2]=f,i[i[f-12>>2]+(u+20|0)>>2]=i[13639],i[u+28>>2]=i[13640],i[e>>2]=53552,l[u+75|0]<0&&G(i[u+64>>2]),K0(e),T0(u+84|0);break A}t=l[u+203|0],k=(t|0)<0;f:{if(((k?i[u+196>>2]:t)|0)!=4)break f;if(k=k?i[u+192>>2]:u+192|0,(s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24))==828601960){o=f,f=0,p=B-48|0,B=p,i[p+44>>2]=0,i[p+36>>2]=0,i[p+40>>2]=0,C=e,ii(p+16|0,i[e+44>>2],r,e+52|0,p+36|0);k:{if(i[p+16>>2]){f=i[p+20>>2],i[o>>2]=i[p+16>>2],i[o+4>>2]=f,i[o+16>>2]=i[p+32>>2],f=i[p+28>>2],i[o+8>>2]=i[p+24>>2],i[o+12>>2]=f,i[p+32>>2]=0,i[p+24>>2]=0,i[p+28>>2]=0;break k}n:{t:{if(n=i[p+36>>2],t=i[p+40>>2],(n|0)!=(t|0))for(;;){if(r=i[n>>2],i[r+16>>2]==1752589123){e=0,k=N0(r,68572,74292);o:{if(!k||(r=i[n+4>>2],!r))break o;i[r+4>>2]=i[r+4>>2]+1,e=r}o:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break o;V[i[i[f>>2]+8>>2]](f),g(f)}if(k)break t;f=e}if(n=n+8|0,(t|0)==(n|0))break}if(l[p+4|0]=0,l[p+15|0]=0,r0(o,2,106,p+4|0),l[p+15|0]>=0)break n;G(i[p+4>>2]);break n}if(n=A,_=i[k+84>>2],y=i[k+88>>2],(_|0)!=(y|0))for(;;){t:{if(v=i[_+4>>2],D=i[_+8>>2],(v|0)==(D|0))break t;for(;;){o:{f=i[v+4>>2]-i[v>>2]>>>24|0,t=i[n+4>>2],A=i[n+8>>2];u:{if(t>>>0<A>>>0){l[t|0]=f,k=t+1|0;break u}if(w=i[n>>2],h=t-w|0,r=h+1|0,(r|0)<0)break o;A=A-w|0,k=A<<1,k=A>>>0>=1073741823?2147483647:r>>>0<k>>>0?k:r,k?r=U(k):r=0,A=h+r|0,l[A|0]=f,I=r+k|0,k=A+1|0;l:{if((t|0)==(w|0)){r=A;break l}if(W=0,f=t,h=h&3,h)for(;A=A-1|0,f=f-1|0,l[A|0]=s[f|0],W=W+1|0,(h|0)!=(W|0););if(w-t>>>0<=4294967292)for(;l[A-1|0]=s[f-1|0],l[A-2|0]=s[f-2|0],l[A-3|0]=s[f-3|0],A=A-4|0,f=f-4|0,l[A|0]=s[f|0],(f|0)!=(w|0););w=i[n>>2]}if(i[n+8>>2]=I,i[n+4>>2]=k,i[n>>2]=r,!w)break u;G(w)}i[n+4>>2]=k,f=i[v+4>>2]-i[v>>2]>>>16|0,A=i[n+8>>2];u:{if(A>>>0>k>>>0){l[k|0]=f,t=k+1|0;break u}if(w=i[n>>2],h=k-w|0,r=h+1|0,(r|0)<0)break o;A=A-w|0,t=A<<1,t=A>>>0>=1073741823?2147483647:r>>>0<t>>>0?t:r,t?r=U(t):r=0,A=h+r|0,l[A|0]=f,I=r+t|0,t=A+1|0;l:{if((k|0)==(w|0)){r=A;break l}if(W=0,f=k,h=h&3,h)for(;A=A-1|0,f=f-1|0,l[A|0]=s[f|0],W=W+1|0,(h|0)!=(W|0););if(w-k>>>0<=4294967292)for(;l[A-1|0]=s[f-1|0],l[A-2|0]=s[f-2|0],l[A-3|0]=s[f-3|0],A=A-4|0,f=f-4|0,l[A|0]=s[f|0],(f|0)!=(w|0););w=i[n>>2]}if(i[n+8>>2]=I,i[n+4>>2]=t,i[n>>2]=r,!w)break u;G(w)}i[n+4>>2]=t,f=i[v+4>>2]-i[v>>2]>>>8|0,A=i[n+8>>2];u:{if(A>>>0>t>>>0){l[t|0]=f,k=t+1|0;break u}if(w=i[n>>2],h=t-w|0,r=h+1|0,(r|0)<0)break o;A=A-w|0,k=A<<1,k=A>>>0>=1073741823?2147483647:r>>>0<k>>>0?k:r,k?r=U(k):r=0,A=h+r|0,l[A|0]=f,I=r+k|0,k=A+1|0;l:{if((t|0)==(w|0)){r=A;break l}if(W=0,f=t,h=h&3,h)for(;A=A-1|0,f=f-1|0,l[A|0]=s[f|0],W=W+1|0,(h|0)!=(W|0););if(w-t>>>0<=4294967292)for(;l[A-1|0]=s[f-1|0],l[A-2|0]=s[f-2|0],l[A-3|0]=s[f-3|0],A=A-4|0,f=f-4|0,l[A|0]=s[f|0],(f|0)!=(w|0););w=i[n>>2]}if(i[n+8>>2]=I,i[n+4>>2]=k,i[n>>2]=r,!w)break u;G(w)}i[n+4>>2]=k,f=i[v+4>>2]-i[v>>2]|0,A=i[n+8>>2];u:{if(A>>>0>k>>>0){l[k|0]=f,t=k+1|0;break u}if(w=i[n>>2],h=k-w|0,r=h+1|0,(r|0)<0)break o;A=A-w|0,t=A<<1,t=A>>>0>=1073741823?2147483647:r>>>0<t>>>0?t:r,t?r=U(t):r=0,A=h+r|0,l[A|0]=f,I=r+t|0,t=A+1|0;l:{if((k|0)==(w|0)){r=A;break l}if(W=0,f=k,h=h&3,h)for(;A=A-1|0,f=f-1|0,l[A|0]=s[f|0],W=W+1|0,(h|0)!=(W|0););if(w-k>>>0<=4294967292)for(;l[A-1|0]=s[f-1|0],l[A-2|0]=s[f-2|0],l[A-3|0]=s[f-3|0],A=A-4|0,f=f-4|0,l[A|0]=s[f|0],(f|0)!=(w|0););w=i[n>>2]}if(i[n+8>>2]=I,i[n+4>>2]=t,i[n>>2]=r,!w)break u;G(w)}i[n+4>>2]=t,r=i[v+4>>2],h=i[v>>2],f=r-h|0;u:{if((f|0)<=0)break u;if(I=i[n+8>>2],(f|0)<=(I-t|0)){(r|0)!=(h|0)&&F2(t,h,f),i[n+4>>2]=f+t;break u}if(r=i[n>>2],w=t-r|0,A=w+f|0,(A|0)<0)break o;W=0,k=0,I=I-r|0,E=I<<1,A=I>>>0>=1073741823?2147483647:A>>>0<E>>>0?E:A,A&&(k=U(A)),I=A+k|0,R=f,A=k+w|0,f=l0(A,h,f),h=R+f|0;l:{if((r|0)==(t|0)){k=f;break l}if(f=t,w=w&3,w)for(;A=A-1|0,f=f-1|0,l[A|0]=s[f|0],W=W+1|0,(w|0)!=(W|0););if(r-t>>>0<=4294967292)for(;l[A-1|0]=s[f-1|0],l[A-2|0]=s[f-2|0],l[A-3|0]=s[f-3|0],A=A-4|0,f=f-4|0,l[A|0]=s[f|0],(f|0)!=(r|0););if(f=i[n+4>>2],W=f-t|0,(f|0)==(t|0))break l;F2(h,t,W)}if(i[n+8>>2]=I,i[n+4>>2]=h+W,f=i[n>>2],i[n>>2]=k,!f)break u;G(f)}if(v=v+12|0,(D|0)!=(v|0))continue;break t}break}y0(),P()}if(_=_+16|0,(y|0)==(_|0))break}R8(o,Z,C,C+68|0,n),f=e}if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break k;V[i[i[f>>2]+8>>2]](f),g(f)}if(l[p+35|0]<0&&G(i[p+24>>2]),e=i[p+36>>2],e){if(f=e,n=i[p+40>>2],(f|0)!=(n|0)){for(;;){f=i[n-4>>2];k:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break k;V[i[i[f>>2]+8>>2]](f),g(f)}if(n=n-8|0,(e|0)==(n|0))break}f=i[p+36>>2]}i[p+40>>2]=e,G(f)}B=p+48|0;break A}if((s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24))==828601974){o=f,f=0,w=B-48|0,B=w,i[w+44>>2]=0,i[w+36>>2]=0,i[w+40>>2]=0,C=e,ii(w+16|0,i[e+44>>2],r,e+52|0,w+36|0);k:{if(i[w+16>>2]){f=i[w+20>>2],i[o>>2]=i[w+16>>2],i[o+4>>2]=f,i[o+16>>2]=i[w+32>>2],f=i[w+28>>2],i[o+8>>2]=i[w+24>>2],i[o+12>>2]=f,i[w+32>>2]=0,i[w+24>>2]=0,i[w+28>>2]=0;break k}n:{t:{if(n=i[w+36>>2],t=i[w+40>>2],(n|0)!=(t|0))for(;;){if(r=i[n>>2],i[r+16>>2]==1987470147){e=0,k=N0(r,68572,74976);o:{if(!k||(r=i[n+4>>2],!r))break o;i[r+4>>2]=i[r+4>>2]+1,e=r}o:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break o;V[i[i[f>>2]+8>>2]](f),g(f)}if(k)break t;f=e}if(n=n+8|0,(t|0)==(n|0))break}if(l[w+4|0]=0,l[w+15|0]=0,r0(o,2,141,w+4|0),l[w+15|0]>=0)break n;G(i[w+4>>2]);break n}if(n=A,p=i[k+128>>2],D=i[k+132>>2],(p|0)!=(D|0))for(;;){t:{if(W=i[p+4>>2],I=i[p+8>>2],(W|0)==(I|0))break t;for(;;){o:{y=i[W>>2],E=i[W+4>>2],t=i[n+4>>2],r=i[n+8>>2];u:{if(t>>>0<r>>>0){l[t|0]=0,k=t+1|0;break u}if(_=i[n>>2],h=t-_|0,f=h+1|0,(f|0)<0)break o;r=r-_|0,A=r<<1,f=r>>>0>=1073741823?2147483647:f>>>0<A>>>0?A:f,f?r=U(f):r=0,A=h+r|0,l[A|0]=0,R=f+r|0,k=A+1|0;l:{if((t|0)==(_|0)){r=A;break l}if(v=0,f=t,h=h&3,h)for(;A=A-1|0,f=f-1|0,l[A|0]=s[f|0],v=v+1|0,(h|0)!=(v|0););if(_-t>>>0<=4294967292)for(;l[A-1|0]=s[f-1|0],l[A-2|0]=s[f-2|0],l[A-3|0]=s[f-3|0],A=A-4|0,f=f-4|0,l[A|0]=s[f|0],(f|0)!=(_|0););_=i[n>>2]}if(i[n+8>>2]=R,i[n+4>>2]=k,i[n>>2]=r,!_)break u;G(_)}i[n+4>>2]=k,r=i[n+8>>2];u:{if(r>>>0>k>>>0){l[k|0]=0,t=k+1|0;break u}if(_=i[n>>2],h=k-_|0,f=h+1|0,(f|0)<0)break o;r=r-_|0,A=r<<1,f=r>>>0>=1073741823?2147483647:f>>>0<A>>>0?A:f,f?r=U(f):r=0,A=h+r|0,l[A|0]=0,R=f+r|0,t=A+1|0;l:{if((k|0)==(_|0)){r=A;break l}if(v=0,f=k,h=h&3,h)for(;A=A-1|0,f=f-1|0,l[A|0]=s[f|0],v=v+1|0,(h|0)!=(v|0););if(_-k>>>0<=4294967292)for(;l[A-1|0]=s[f-1|0],l[A-2|0]=s[f-2|0],l[A-3|0]=s[f-3|0],A=A-4|0,f=f-4|0,l[A|0]=s[f|0],(f|0)!=(_|0););_=i[n>>2]}if(i[n+8>>2]=R,i[n+4>>2]=t,i[n>>2]=r,!_)break u;G(_)}i[n+4>>2]=t,y=E-y|0,f=y>>>8|0,A=i[n+8>>2];u:{if(A>>>0>t>>>0){l[t|0]=f,k=t+1|0;break u}if(_=i[n>>2],h=t-_|0,r=h+1|0,(r|0)<0)break o;A=A-_|0,k=A<<1,k=A>>>0>=1073741823?2147483647:r>>>0<k>>>0?k:r,k?r=U(k):r=0,A=h+r|0,l[A|0]=f,E=r+k|0,k=A+1|0;l:{if((t|0)==(_|0)){r=A;break l}if(v=0,f=t,h=h&3,h)for(;A=A-1|0,f=f-1|0,l[A|0]=s[f|0],v=v+1|0,(h|0)!=(v|0););if(_-t>>>0<=4294967292)for(;l[A-1|0]=s[f-1|0],l[A-2|0]=s[f-2|0],l[A-3|0]=s[f-3|0],A=A-4|0,f=f-4|0,l[A|0]=s[f|0],(f|0)!=(_|0););_=i[n>>2]}if(i[n+8>>2]=E,i[n+4>>2]=k,i[n>>2]=r,!_)break u;G(_)}i[n+4>>2]=k,r=i[n+8>>2];u:{if(r>>>0>k>>>0){l[k|0]=y,t=k+1|0;break u}if(_=i[n>>2],h=k-_|0,f=h+1|0,(f|0)<0)break o;r=r-_|0,A=r<<1,f=r>>>0>=1073741823?2147483647:f>>>0<A>>>0?A:f,f?r=U(f):r=0,A=h+r|0,l[A|0]=y,y=f+r|0,t=A+1|0;l:{if((k|0)==(_|0)){r=A;break l}if(v=0,f=k,h=h&3,h)for(;A=A-1|0,f=f-1|0,l[A|0]=s[f|0],v=v+1|0,(h|0)!=(v|0););if(_-k>>>0<=4294967292)for(;l[A-1|0]=s[f-1|0],l[A-2|0]=s[f-2|0],l[A-3|0]=s[f-3|0],A=A-4|0,f=f-4|0,l[A|0]=s[f|0],(f|0)!=(_|0););_=i[n>>2]}if(i[n+8>>2]=y,i[n+4>>2]=t,i[n>>2]=r,!_)break u;G(_)}i[n+4>>2]=t,r=i[W+4>>2],h=i[W>>2],f=r-h|0;u:{if((f|0)<=0)break u;if(v=i[n+8>>2],(f|0)<=(v-t|0)){(r|0)!=(h|0)&&F2(t,h,f),i[n+4>>2]=f+t;break u}if(r=i[n>>2],y=t-r|0,A=y+f|0,(A|0)<0)break o;_=0,k=0,v=v-r|0,E=v<<1,A=v>>>0>=1073741823?2147483647:A>>>0<E>>>0?E:A,A&&(k=U(A)),E=A+k|0,R=f,A=k+y|0,f=l0(A,h,f),h=R+f|0;l:{if((r|0)==(t|0)){k=f;break l}if(v=0,f=t,_=y&3,_)for(;A=A-1|0,f=f-1|0,l[A|0]=s[f|0],v=v+1|0,(_|0)!=(v|0););if(r-t>>>0<=4294967292)for(;l[A-1|0]=s[f-1|0],l[A-2|0]=s[f-2|0],l[A-3|0]=s[f-3|0],A=A-4|0,f=f-4|0,l[A|0]=s[f|0],(f|0)!=(r|0););if(f=i[n+4>>2],_=f-t|0,(f|0)==(t|0))break l;F2(h,t,_)}if(i[n+8>>2]=E,i[n+4>>2]=h+_,f=i[n>>2],i[n>>2]=k,!f)break u;G(f)}if(W=W+12|0,(I|0)!=(W|0))continue;break t}break}y0(),P()}if(p=p+16|0,(D|0)==(p|0))break}R8(o,Z,C,C+68|0,n),f=e}if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break k;V[i[i[f>>2]+8>>2]](f),g(f)}if(l[w+35|0]<0&&G(i[w+24>>2]),e=i[w+36>>2],e){if(f=e,n=i[w+40>>2],(f|0)!=(n|0)){for(;;){f=i[n-4>>2];k:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break k;V[i[i[f>>2]+8>>2]](f),g(f)}if(n=n-8|0,(e|0)==(n|0))break}f=i[w+36>>2]}i[w+40>>2]=e,G(f)}B=w+48|0;break A}if((s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24))!=825259617)break f;k=f,f=0,o=B-48|0,B=o,i[o+44>>2]=0,i[o+36>>2]=0,i[o+40>>2]=0,t=e,ii(o+16|0,i[t+44>>2],r,t+52|0,o+36|0);k:{if(i[o+16>>2]){f=i[o+20>>2],i[k>>2]=i[o+16>>2],i[k+4>>2]=f,i[k+16>>2]=i[o+32>>2],f=i[o+28>>2],i[k+8>>2]=i[o+24>>2],i[k+12>>2]=f,i[o+32>>2]=0,i[o+24>>2]=0,i[o+28>>2]=0;break k}n:{t:{if(n=i[o+36>>2],h=i[o+40>>2],(n|0)!=(h|0))for(;;){if(r=i[n>>2],i[r+16>>2]==1635135811){e=0,C=N0(r,68572,74408);o:{if(!C||(r=i[n+4>>2],!r))break o;i[r+4>>2]=i[r+4>>2]+1,e=r}o:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break o;V[i[i[f>>2]+8>>2]](f),g(f)}if(C)break t;f=e}if(n=n+8|0,(h|0)==(n|0))break}if(l[o+4|0]=0,l[o+15|0]=0,r0(k,2,131,o+4|0),l[o+15|0]>=0)break n;G(i[o+4>>2]);break n}(C+60|0)!=(A|0)&&(f=i[C+60>>2],r=i[C+64>>2],W8(A,f,r,r-f|0)),R8(k,Z,t,t+68|0,A),f=e}if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break k;V[i[i[f>>2]+8>>2]](f),g(f)}if(l[o+35|0]<0&&G(i[o+24>>2]),e=i[o+36>>2],e){if(f=e,n=i[o+40>>2],(f|0)!=(n|0)){for(;;){f=i[n-4>>2];k:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break k;V[i[i[f>>2]+8>>2]](f),g(f)}if(n=n-8|0,(e|0)==(n|0))break}f=i[o+36>>2]}i[o+40>>2]=e,G(f)}B=o+48|0;break A}f:{if(k=u+192|0,!E4(k,8710)&&(!E4(k,9980)||(k=u+20|0,cr(k,e,r),k=E4(k,8704),l[u+31|0]<0&&G(i[u+20>>2]),!k)))break f;k=f,f=0,o=B-32|0,B=o,i[o+28>>2]=0,i[o+20>>2]=0,i[o+24>>2]=0,t=e,ii(o,i[t+44>>2],r,t+52|0,o+20|0);k:{if(i[o>>2]){f=i[o+4>>2],i[k>>2]=i[o>>2],i[k+4>>2]=f,i[k+16>>2]=i[o+16>>2],f=i[o+12>>2],i[k+8>>2]=i[o+8>>2],i[k+12>>2]=f,i[o+16>>2]=0,i[o+8>>2]=0,i[o+12>>2]=0;break k}if(n=i[o+20>>2],h=i[o+24>>2],(n|0)!=(h|0)){n:{for(;;){t:{if(r=i[n>>2],i[r+16>>2]==1785751363){e=0,C=N0(r,68572,74588);o:{if(!C||(r=i[n+4>>2],!r))break o;i[r+4>>2]=i[r+4>>2]+1,e=r}o:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break o;V[i[i[f>>2]+8>>2]](f),g(f)}if(C)break t;f=e}if(n=n+8|0,(h|0)!=(n|0))continue;break n}break}(C+48|0)!=(A|0)&&(f=i[C+48>>2],r=i[C+52>>2],W8(A,f,r,r-f|0)),f=e}if(R8(k,Z,t,t+68|0,A),!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break k;V[i[i[f>>2]+8>>2]](f),g(f);break k}R8(k,Z,t,t+68|0,A)}if(l[o+19|0]<0&&G(i[o+8>>2]),e=i[o+20>>2],e){if(f=e,n=i[o+24>>2],(f|0)!=(n|0)){for(;;){f=i[n-4>>2];k:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break k;V[i[i[f>>2]+8>>2]](f),g(f)}if(n=n-8|0,(e|0)==(n|0))break}f=i[o+20>>2]}i[o+24>>2]=e,G(f)}B=o+32|0;break A}if(E4(u+192|0,16929)){k=f,f=0,o=B-32|0,B=o,i[o+28>>2]=0,i[o+20>>2]=0,i[o+24>>2]=0,t=e,ii(o,i[t+44>>2],r,t+52|0,o+20|0);f:{if(i[o>>2]){f=i[o+4>>2],i[k>>2]=i[o>>2],i[k+4>>2]=f,i[k+16>>2]=i[o+16>>2],f=i[o+12>>2],i[k+8>>2]=i[o+8>>2],i[k+12>>2]=f,i[o+16>>2]=0,i[o+8>>2]=0,i[o+12>>2]=0;break f}if(n=i[o+20>>2],C=i[o+24>>2],(n|0)!=(C|0)){for(;;){k:{r=i[n>>2];n:{if(i[r+16>>2]!=1781689160){e=f;break n}e=0,h=N0(r,68572,74888);t:{if(!h||(r=i[n+4>>2],!r))break t;i[r+4>>2]=i[r+4>>2]+1,e=r}t:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break t;V[i[i[f>>2]+8>>2]](f),g(f)}if(h)break k}if(f=e,n=n+8|0,(C|0)!=(n|0))continue}break}if(R8(k,Z,t,t+68|0,A),!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break f;V[i[i[e>>2]+8>>2]](e),g(e);break f}R8(k,Z,t,t+68|0,A)}if(l[o+19|0]<0&&G(i[o+8>>2]),e=i[o+20>>2],e){if(f=e,n=i[o+24>>2],(f|0)!=(n|0)){for(;;){f=i[n-4>>2];f:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break f;V[i[i[f>>2]+8>>2]](f),g(f)}if(n=n-8|0,(e|0)==(n|0))break}f=i[o+20>>2]}i[o+24>>2]=e,G(f)}B=o+32|0;break A}i[u+20>>2]=0,i[u+24>>2]=0,i[u+36>>2]=0,i[u+28>>2]=0,i[u+32>>2]=0;f:{k:{n:{if(!E4(u+192|0,9980))break n;t:{if(l[n+111|0]>=0){i[u+16>>2]=i[n+108>>2],r=i[n+104>>2],i[u+8>>2]=i[n+100>>2],i[u+12>>2]=r;break t}_0(u+8|0,i[n+100>>2],i[n+104>>2])}if(r=u+8|0,E4(r,14086)||E4(r,9341)||E4(r,5949))break k;if(l[u+19|0]>=0)break n;G(i[u+8>>2])}R8(f,Z,e,e+68|0,A);break f}if(r0(f,4,3005,u+8|0),l[u+19|0]>=0)break f;G(i[u+8>>2])}if(l[u+39|0]>=0)break A;G(i[u+28>>2])}if(e=i[u+164>>2],e){if(r=i[u+168>>2],(e|0)!=(r|0))for(;;){if(t=r-16|0,f=i[t>>2],f){if(n=r-12|0,k=i[n>>2],Z=f,(k|0)!=(f|0)){for(;A=i[k-16>>2],A&&(i[k-12>>2]=A,G(A)),k=k-40|0,(f|0)!=(k|0););Z=i[t>>2]}i[n>>2]=f,G(Z)}if(r=r-32|0,(e|0)==(r|0))break}G(e)}if(l[u+187|0]<0&&G(i[u+176>>2]),l[u+203|0]>=0)break e;G(i[u+192>>2])}if(!J||(f=i[J+4>>2],i[J+4>>2]=f-1,f))break r;V[i[i[J>>2]+8>>2]](J),g(J)}B=u+208|0;return}y0(),P()}function tk(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0;C=B-48|0,B=C;i:{r:{if(r>>>0>2)break r;for(r=r<<2,a=i[r+56188>>2],S=i[r+56176>>2];;){r=i[e+4>>2];e:{if((r|0)!=i[e+104>>2]){i[e+4>>2]=r+1,r=s[r|0];break e}r=I2(e)}if(!((r|0)==32|r-9>>>0<5))break}I=1;e:{A:switch(r-43|0){case 0:case 2:break A;default:break e}if(I=(r|0)==45?-1:1,r=i[e+4>>2],(r|0)!=i[e+104>>2]){i[e+4>>2]=r+1,r=s[r|0];break e}r=I2(e)}e:{A:{if((r&-33)==73)for(;;){if((n|0)==7)break A;r=i[e+4>>2];f:{if((r|0)!=i[e+104>>2]){i[e+4>>2]=r+1,r=s[r|0];break f}r=I2(e)}if(k=n+1331|0,n=n+1|0,l[k|0]!=(r|32))break}if((n|0)!=3){if(k=(n|0)==8,k)break A;if(!A|n>>>0<4)break e;if(k)break A}if(r=i[e+116>>2],(r|0)>=0|(r|0)>0&&(i[e+4>>2]=i[e+4>>2]-1),!A|n>>>0<4)break A;for(r=(r|0)<0;r||(i[e+4>>2]=i[e+4>>2]-1),n=n-1|0,n>>>0>3;);}o=B-16|0,B=o,p=(s1(Y(Y(I|0)*Y(1/0))),j0(2)),e=p&8388607,A=p>>>23|0,r=A&255;A:{if(r){if((r|0)!=255){r=e,e=e>>>7|0,t=r<<25,u=e,A=(A&255)+16256|0;break A}r=e,e=e>>>7|0,t=r<<25,u=e,A=32767;break A}if(A=0,!e)break A;r=e,e=$2(e),L1(o,r,0,0,0,e+81|0),t=i[o+8>>2],u=i[o+12>>2]^65536,h=i[o>>2],w=i[o+4>>2],A=16265-e|0}i[C>>2]=h,i[C+4>>2]=w,r=C,i[r+8>>2]=t,i[r+12>>2]=u|(p&-2147483648|A<<16),B=o+16|0,t=i[r+8>>2],u=i[r+12>>2],h=i[r>>2],w=i[r+4>>2];break i}e:{A:{f:{k:{n:{if(n||(n=0,(r&-33)!=78))break n;for(;;){if((n|0)==2)break k;r=i[e+4>>2];t:{if((r|0)!=i[e+104>>2]){i[e+4>>2]=r+1,r=s[r|0];break t}r=I2(e)}if(k=n+7074|0,n=n+1|0,l[k|0]!=(r|32))break}}switch(n|0){case 0:break e;case 3:break k;default:break f}}k:{r=i[e+4>>2];n:{if((r|0)!=i[e+104>>2]){i[e+4>>2]=r+1,r=s[r|0];break n}r=I2(e)}if((r|0)==40){n=1;break k}if(u=2147450880,i[e+116>>2]<0)break i;i[e+4>>2]=i[e+4>>2]-1;break i}for(;;){k:{r=i[e+4>>2];n:{if((r|0)!=i[e+104>>2]){i[e+4>>2]=r+1,r=s[r|0];break n}r=I2(e)}if(!(r-48>>>0<10|r-65>>>0<26|(r|0)==95)&&r-97>>>0>=26)break k;n=n+1|0;continue}break}if(u=2147450880,(r|0)==41)break i;r=i[e+116>>2],(r|0)>=0|(r|0)>0&&(i[e+4>>2]=i[e+4>>2]-1);k:{if(A){if(n)break k;break i}break A}for(;(r|0)>0|(r|0)>=0&&(i[e+4>>2]=i[e+4>>2]-1),n=n-1|0,!!n;);break i}r=i[e+116>>2],(r|0)>0?r=1:r=(r|0)>=0,r&&(i[e+4>>2]=i[e+4>>2]-1)}i[23944]=28,a4(e,0,0);break r}e:{if((r|0)!=48)break e;n=i[e+4>>2];A:{if((n|0)!=i[e+104>>2]){i[e+4>>2]=n+1,n=s[n|0];break A}n=I2(e)}if((n&-33)==88){k=B-432|0,B=k,r=i[e+4>>2];A:{if((r|0)!=i[e+104>>2]){i[e+4>>2]=r+1,r=s[r|0];break A}r=I2(e)}A:{f:{for(;;){if((r|0)!=48)k:{if((r|0)!=46)break A;if(r=i[e+4>>2],(r|0)==i[e+104>>2])break k;i[e+4>>2]=r+1,r=s[r|0];break f}else{r=i[e+4>>2],(r|0)!=i[e+104>>2]?(y=1,i[e+4>>2]=r+1,r=s[r|0]):(y=1,r=I2(e));continue}break}r=I2(e)}if((r|0)!=48){D=1;break A}for(;;){r=p,p=r-1|0,W=W-!r|0,r=i[e+4>>2];f:{if((r|0)!=i[e+104>>2]){i[e+4>>2]=r+1,r=s[r|0];break f}r=I2(e)}if((r|0)!=48)break}D=1,y=1}for(w=1073676288;;){A:{n=r;f:{k:{if(q=r-48|0,q>>>0<10)break k;if(A0=(r|0)!=46,n=r|32,A0&n-97>>>0>5)break A;if(A0)break k;if(D)break A;D=1,p=t,W=u;break f}r=(r|0)>57?n-87|0:q;k:{if((u|0)<=0&t>>>0<=7|(u|0)<0){_=r+(_<<4)|0;break k}if(!u&t>>>0<=28){W4(k+48|0,r),d2(k+32|0,z,H,h,w,0,0,0,1073414144),z=i[k+32>>2],H=i[k+36>>2],h=i[k+40>>2],w=i[k+44>>2],d2(k+16|0,i[k+48>>2],i[k+52>>2],i[k+56>>2],i[k+60>>2],z,H,h,w),s4(k,i[k+16>>2],i[k+20>>2],i[k+24>>2],i[k+28>>2],o,v,J,R),J=i[k+8>>2],R=i[k+12>>2],o=i[k>>2],v=i[k+4>>2];break k}if(Z|!r)break k;d2(k+80|0,z,H,h,w,0,0,0,1073610752),s4(k- -64|0,i[k+80>>2],i[k+84>>2],i[k+88>>2],i[k+92>>2],o,v,J,R),J=i[k+72>>2],R=i[k+76>>2],Z=1,o=i[k+64>>2],v=i[k+68>>2]}t=t+1|0,u=t?u:u+1|0,y=1}r=i[e+4>>2],(r|0)!=i[e+104>>2]?(i[e+4>>2]=r+1,r=s[r|0]):r=I2(e);continue}break}A:{if(!y){r=i[e+116>>2],(r|0)>0?r=1:r=(r|0)>=0;f:{k:{if(r){if(r=i[e+4>>2],i[e+4>>2]=r-1,!A)break k;if(i[e+4>>2]=r-2,!D)break f;i[e+4>>2]=r-3;break f}if(A)break f}a4(e,0,0)}U2(0),e=j0(1)|0,A=j0(0)|0,U2(+(I|0)),r=j0(1)|0,j0(0)|0,N2(0,A|0),N2(1,e&2147483647|r&-2147483648),b4(k+96|0,+m1()),o=i[k+96>>2],v=i[k+100>>2],r=i[k+108>>2],e=i[k+104>>2];break A}if((u|0)<=0&t>>>0<=7|(u|0)<0)for(h=t,w=u;_=_<<4,h=h+1|0,w=h?w:w+1|0,!!((h|0)!=8|w););f:{k:{n:{if((r&-33)==80){if(h=ln(e,A),r=w0,w=r,h|(r|0)!=-2147483648)break f;if(A){if(r=i[e+116>>2],(r|0)>0?r=1:r=(r|0)>=0,r)break n;break k}o=0,v=0,a4(e,0,0),r=0,e=0;break A}if(h=0,w=0,i[e+116>>2]<0)break f}i[e+4>>2]=i[e+4>>2]-1}h=0,w=0}if(!_){U2(0),e=j0(1)|0,A=j0(0)|0,U2(+(I|0)),r=j0(1)|0,j0(0)|0,N2(0,A|0),N2(1,e&2147483647|r&-2147483648),b4(k+112|0,+m1()),o=i[k+112>>2],v=i[k+116>>2],r=i[k+124>>2],e=i[k+120>>2];break A}if(e=D?p:t,A=h+(e<<2)|0,e=w+((D?W:u)<<2|e>>>30)|0,t=A-32|0,r=0-a|0,u=(A>>>0<h>>>0?e+1|0:e)-(A>>>0<32)|0,e=u,(e|0)>0?e=1:e=r>>>0<t>>>0&(e|0)>=0,e){i[23944]=68,W4(k+160|0,I),d2(k+144|0,i[k+160>>2],i[k+164>>2],i[k+168>>2],i[k+172>>2],-1,-1,-1,2147418111),d2(k+128|0,i[k+144>>2],i[k+148>>2],i[k+152>>2],i[k+156>>2],-1,-1,-1,2147418111),o=i[k+128>>2],v=i[k+132>>2],r=i[k+140>>2],e=i[k+136>>2];break A}if(e=a-226|0,r=e>>31,(u|0)>=(r|0)&e>>>0<=t>>>0|(r|0)<(u|0)){if((_|0)>=0)for(;s4(k+416|0,o,v,J,R,0,0,0,-1073807360),e=H7(o,v,J,R,1073610752),e=(e|0)>=0,s4(k+400|0,o,v,J,R,e?i[k+416>>2]:o,e?i[k+420>>2]:v,e?i[k+424>>2]:J,e?i[k+428>>2]:R),r=_<<1,_=r|e,e=t,t=e-1|0,u=u-!e|0,J=i[k+408>>2],R=i[k+412>>2],o=i[k+400>>2],v=i[k+404>>2],(r|0)>=0;);e=u-((a>>31)+(t>>>0<a>>>0)|0)|0,r=(t-a|0)+32|0,e=r>>>0<32?e+1|0:e,r=r>>>0<S>>>0&(e|0)<=0|(e|0)<0?(r|0)>0?r:0:S;f:{if((r|0)>=113){W4(k+384|0,I),p=i[k+392>>2],W=i[k+396>>2],z=i[k+384>>2],H=i[k+388>>2],h=0,e=0;break f}b4(k+352|0,M1(1,144-r|0)),W4(k+336|0,I),z=i[k+336>>2],H=i[k+340>>2],p=i[k+344>>2],W=i[k+348>>2],Qt(k+368|0,i[k+352>>2],i[k+356>>2],i[k+360>>2],i[k+364>>2],W),E=i[k+376>>2],d=i[k+380>>2],h=i[k+372>>2],e=i[k+368>>2]}A=!(_&1)&((fi(o,v,J,R,0,0,0,0)|0)!=0&(r|0)<32),Ji(k+320|0,A|_),d2(k+304|0,z,H,p,W,i[k+320>>2],i[k+324>>2],i[k+328>>2],i[k+332>>2]),r=e,s4(k+272|0,i[k+304>>2],i[k+308>>2],i[k+312>>2],i[k+316>>2],e,h,E,d),e=A,d2(k+288|0,z,H,p,W,e?0:o,e?0:v,e?0:J,e?0:R),s4(k+256|0,i[k+288>>2],i[k+292>>2],i[k+296>>2],i[k+300>>2],i[k+272>>2],i[k+276>>2],i[k+280>>2],i[k+284>>2]),C3(k+240|0,i[k+256>>2],i[k+260>>2],i[k+264>>2],i[k+268>>2],r,h,E,d),e=i[k+240>>2],A=i[k+244>>2],r=i[k+248>>2],h=i[k+252>>2],fi(e,A,r,h,0,0,0,0)||(i[23944]=68),$n(k+224|0,e,A,r,h,t),o=i[k+224>>2],v=i[k+228>>2],r=i[k+236>>2],e=i[k+232>>2];break A}i[23944]=68,W4(k+208|0,I),d2(k+192|0,i[k+208>>2],i[k+212>>2],i[k+216>>2],i[k+220>>2],0,0,0,65536),d2(k+176|0,i[k+192>>2],i[k+196>>2],i[k+200>>2],i[k+204>>2],0,0,0,65536),o=i[k+176>>2],v=i[k+180>>2],r=i[k+188>>2],e=i[k+184>>2]}i[C+16>>2]=o,i[C+20>>2]=v,i[C+24>>2]=e,i[C+28>>2]=r,B=k+432|0,t=i[C+24>>2],u=i[C+28>>2],h=i[C+16>>2],w=i[C+20>>2];break i}if(i[e+116>>2]<0)break e;i[e+4>>2]=i[e+4>>2]-1}n=e,o=r,E=A,A=0,k=B-8976|0,B=k,q=0-a|0,d=q-S|0;e:{A:{for(;;){if((o|0)!=48)f:{if((o|0)!=46)break e;if(e=i[n+4>>2],(e|0)==i[n+104>>2])break f;i[n+4>>2]=e+1,o=s[e|0];break A}else{e=i[n+4>>2],(e|0)!=i[n+104>>2]?(i[n+4>>2]=e+1,o=s[e|0]):o=I2(n),A=1;continue}break}o=I2(n)}if((o|0)==48){for(;;){e=t,t=e-1|0,u=u-!e|0,e=i[n+4>>2];A:{if((e|0)!=i[n+104>>2]){i[n+4>>2]=e+1,o=s[e|0];break A}o=I2(n)}if((o|0)!=48)break}A=1}D=1}i[k+784>>2]=0;e:{A:{e=(o|0)==46,r=o-48|0;f:{k:{n:{if(e|r>>>0<=9)for(;;){t:{if(e&1){if(!D){t=h,u=w,D=1;break t}e=!A;break n}if(e=w,h=h+1|0,w=h?e:e+1|0,(_|0)<=2044){y=(o|0)==48?y:h,e=(k+784|0)+(_<<2)|0,Z&&(r=(m(i[e>>2],10)+o|0)-48|0),i[e>>2]=r,A=1,r=Z+1|0,e=(r|0)==9,Z=e?0:r,_=e+_|0;break t}if((o|0)==48)break t;i[k+8960>>2]=i[k+8960>>2]|1,y=18396}e=i[n+4>>2];t:{if((e|0)!=i[n+104>>2]){i[n+4>>2]=e+1,o=s[e|0];break t}o=I2(n)}if(e=(o|0)==46,r=o-48|0,!(e|r>>>0<10))break}if(t=D?t:h,u=D?u:w,!(!A|(o&-33)!=69)){o=ln(n,E),e=w0,v=e;t:{if(o|(e|0)!=-2147483648)break t;if(!E)break f;if(o=0,v=0,i[n+116>>2]<0)break t;i[n+4>>2]=i[n+4>>2]-1}e=u+v|0,t=t+o|0,u=t>>>0<o>>>0?e+1|0:e;break A}if(e=!A,(o|0)<0)break k}if(i[n+116>>2]<0)break k;i[n+4>>2]=i[n+4>>2]-1}if(!e)break A;i[23944]=28}a4(n,0,0),t=0,u=0,r=0,e=0;break e}if(e=i[k+784>>2],!e){U2(0),e=j0(1)|0,A=j0(0)|0,U2(+(I|0)),r=j0(1)|0,j0(0)|0,N2(0,A|0),N2(1,e&2147483647|r&-2147483648),b4(k,+m1()),t=i[k+8>>2],u=i[k+12>>2],r=i[k+4>>2],e=i[k>>2];break e}if(!(h>>>0>9&(w|0)>=0|(w|0)>0|((t|0)!=(h|0)|(u|0)!=(w|0))|(e>>>S|0?(S|0)<=30:0))){W4(k+48|0,I),Ji(k+32|0,e),d2(k+16|0,i[k+48>>2],i[k+52>>2],i[k+56>>2],i[k+60>>2],i[k+32>>2],i[k+36>>2],i[k+40>>2],i[k+44>>2]),t=i[k+24>>2],u=i[k+28>>2],r=i[k+20>>2],e=i[k+16>>2];break e}if(e=q>>>1|0,e>>>0<t>>>0&(u|0)>=0|(u|0)>0){i[23944]=68,W4(k+96|0,I),d2(k+80|0,i[k+96>>2],i[k+100>>2],i[k+104>>2],i[k+108>>2],-1,-1,-1,2147418111),d2(k- -64|0,i[k+80>>2],i[k+84>>2],i[k+88>>2],i[k+92>>2],-1,-1,-1,2147418111),t=i[k+72>>2],u=i[k+76>>2],r=i[k+68>>2],e=i[k+64>>2];break e}if(e=a-226|0,r=t>>>0<e>>>0,e=e>>31,r&(u|0)<=(e|0)|(e|0)>(u|0)){i[23944]=68,W4(k+144|0,I),d2(k+128|0,i[k+144>>2],i[k+148>>2],i[k+152>>2],i[k+156>>2],0,0,0,65536),d2(k+112|0,i[k+128>>2],i[k+132>>2],i[k+136>>2],i[k+140>>2],0,0,0,65536),t=i[k+120>>2],u=i[k+124>>2],r=i[k+116>>2],e=i[k+112>>2];break e}if(Z){if((Z|0)<=8){for(e=(k+784|0)+(_<<2)|0,n=i[e>>2];n=m(n,10),Z=Z+1|0,(Z|0)!=9;);i[e>>2]=n}_=_+1|0}Z=t;A:{if(t>>>0>17&(u|0)>=0|(u|0)>0|(y|0)>=9|(t|0)<(y|0))break A;if(!u&(t|0)==9){W4(k+192|0,I),Ji(k+176|0,i[k+784>>2]),d2(k+160|0,i[k+192>>2],i[k+196>>2],i[k+200>>2],i[k+204>>2],i[k+176>>2],i[k+180>>2],i[k+184>>2],i[k+188>>2]),t=i[k+168>>2],u=i[k+172>>2],r=i[k+164>>2],e=i[k+160>>2];break e}if((u|0)<=0&t>>>0<=8|(u|0)<0){W4(k+272|0,I),Ji(k+256|0,i[k+784>>2]),d2(k+240|0,i[k+272>>2],i[k+276>>2],i[k+280>>2],i[k+284>>2],i[k+256>>2],i[k+260>>2],i[k+264>>2],i[k+268>>2]),W4(k+224|0,i[(0-Z<<2)+56176>>2]),Bk(k+208|0,i[k+240>>2],i[k+244>>2],i[k+248>>2],i[k+252>>2],i[k+224>>2],i[k+228>>2],i[k+232>>2],i[k+236>>2]),t=i[k+216>>2],u=i[k+220>>2],r=i[k+212>>2],e=i[k+208>>2];break e}if(e=(m(Z,-3)+S|0)+27|0,r=i[k+784>>2],r>>>e|0&&(e|0)<=30)break A;W4(k+352|0,I),Ji(k+336|0,r),d2(k+320|0,i[k+352>>2],i[k+356>>2],i[k+360>>2],i[k+364>>2],i[k+336>>2],i[k+340>>2],i[k+344>>2],i[k+348>>2]),W4(k+304|0,i[(Z<<2)+56104>>2]),d2(k+288|0,i[k+320>>2],i[k+324>>2],i[k+328>>2],i[k+332>>2],i[k+304>>2],i[k+308>>2],i[k+312>>2],i[k+316>>2]),t=i[k+296>>2],u=i[k+300>>2],r=i[k+292>>2],e=i[k+288>>2];break e}for(;e=_,_=e-1|0,!i[(k+784|0)+(_<<2)>>2];);y=0,r=(Z|0)%9|0;A:{if(!r){r=0;break A}A=(u|0)<0?r+9|0:r;f:{if(!e){r=0,e=0;break f}for(t=i[(0-A<<2)+56176>>2],u=1e9/(t|0)|0,o=0,n=0,r=0;h=o,w=k+784|0,o=w+(n<<2)|0,_=i[o>>2],E=(_>>>0)/(t>>>0)|0,h=h+E|0,i[o>>2]=h,h=!h&(r|0)==(n|0),r=h?r+1&2047:r,Z=h?Z-9|0:Z,o=m(u,_-m(t,E)|0),n=n+1|0,(n|0)!=(e|0););if(!o)break f;i[w+(e<<2)>>2]=o,e=e+1|0}Z=(Z-A|0)+9|0}for(;;){n=(k+784|0)+(r<<2)|0,E=(Z|0)<36;A:{for(;;){if(!E&((Z|0)!=36|k0[n>>2]>=10384593))break A;for(_=e+2047|0,A=0;h=e,t=A,o=_&2047,_=(k+784|0)+(o<<2)|0,A=i[_>>2],e=A>>>3|0,A=A<<29,t=t+A|0,u=A>>>0>t>>>0?e+1|0:e,!u&t>>>0<1000000001?A=0:(e=t,A=K6(e,u,1e9,0),w=q0(A,w0,1e9,0),t=e-w|0,u=u-(w0+(e>>>0<w>>>0)|0)|0),i[_>>2]=t,e=(r|0)==(o|0)||t|u?h:o,t=h-1&2047,e=(t|0)!=(o|0)?h:e,_=o-1|0,(r|0)!=(o|0););if(y=y-29|0,e=h,!!A)break}r=r-1&2047,(r|0)==(e|0)&&(o=(e+2046&2047)<<2,e=k+784|0,h=o+e|0,i[h>>2]=i[h>>2]|i[e+(t<<2)>>2],e=t),Z=Z+9|0,i[(k+784|0)+(r<<2)>>2]=A;continue}break}A:{f:for(;;){for(t=e+1&2047,u=(k+784|0)+((e-1&2047)<<2)|0;;){h=(Z|0)>45?9:1;k:{for(;;){A=r,n=0;n:{for(;;){t:{if(r=A+n&2047,(r|0)==(e|0)||(r=i[(k+784|0)+(r<<2)>>2],o=i[(n<<2)+56128>>2],r>>>0<o>>>0))break t;if(r>>>0>o>>>0)break n;if(n=n+1|0,(n|0)!=4)continue}break}if((Z|0)!=36)break n;for(t=0,u=0,n=0,h=0,w=0;r=A+n&2047,(r|0)==(e|0)&&(e=e+1&2047,i[((e<<2)+k|0)+780>>2]=0),Ji(k+768|0,i[(k+784|0)+(r<<2)>>2]),d2(k+752|0,t,u,h,w,0,0,1342177280,1075633366),s4(k+736|0,i[k+752>>2],i[k+756>>2],i[k+760>>2],i[k+764>>2],i[k+768>>2],i[k+772>>2],i[k+776>>2],i[k+780>>2]),h=i[k+744>>2],w=i[k+748>>2],t=i[k+736>>2],u=i[k+740>>2],n=n+1|0,(n|0)!=4;);if(W4(k+720|0,I),d2(k+704|0,t,u,h,w,i[k+720>>2],i[k+724>>2],i[k+728>>2],i[k+732>>2]),h=i[k+712>>2],w=i[k+716>>2],t=0,u=0,o=i[k+704>>2],v=i[k+708>>2],E=y+113|0,n=E-a|0,Z=(n|0)<(S|0),r=Z?(n|0)>0?n:0:S,(r|0)<=112)break k;break A}if(y=h+y|0,r=e,(e|0)!=(A|0))break}for(w=1e9>>>h|0,_=-1<<h^-1,n=0,r=A;o=n,E=k+784|0,n=E+(A<<2)|0,v=i[n>>2],o=o+(v>>>h|0)|0,i[n>>2]=o,o=!o&(r|0)==(A|0),r=o?r+1&2047:r,Z=o?Z-9|0:Z,n=m(w,_&v),A=A+1&2047,(A|0)!=(e|0););if(!n)continue;if((r|0)!=(t|0)){i[E+(e<<2)>>2]=n,e=t;continue f}i[u>>2]=i[u>>2]|1;continue}break}break}b4(k+656|0,M1(1,225-r|0)),Qt(k+688|0,i[k+656>>2],i[k+660>>2],i[k+664>>2],i[k+668>>2],w),z=i[k+696>>2],H=i[k+700>>2],J=i[k+688>>2],R=i[k+692>>2],b4(k+640|0,M1(1,113-r|0)),Sk(k+672|0,o,v,h,w,i[k+640>>2],i[k+644>>2],i[k+648>>2],i[k+652>>2]),t=i[k+672>>2],u=i[k+676>>2],p=i[k+680>>2],W=i[k+684>>2],C3(k+624|0,o,v,h,w,t,u,p,W),s4(k+608|0,J,R,z,H,i[k+624>>2],i[k+628>>2],i[k+632>>2],i[k+636>>2]),h=i[k+616>>2],w=i[k+620>>2],o=i[k+608>>2],v=i[k+612>>2]}_=A+4&2047;A:{if((_|0)==(e|0))break A;_=i[(k+784|0)+(_<<2)>>2];f:{if(_>>>0<=499999999){if(!_&(A+5&2047)==(e|0))break f;b4(k+496|0,+(I|0)*.25),s4(k+480|0,t,u,p,W,i[k+496>>2],i[k+500>>2],i[k+504>>2],i[k+508>>2]),p=i[k+488>>2],W=i[k+492>>2],t=i[k+480>>2],u=i[k+484>>2];break f}if((_|0)!=5e8){b4(k+592|0,+(I|0)*.75),s4(k+576|0,t,u,p,W,i[k+592>>2],i[k+596>>2],i[k+600>>2],i[k+604>>2]),p=i[k+584>>2],W=i[k+588>>2],t=i[k+576>>2],u=i[k+580>>2];break f}if(f0=+(I|0),(A+5&2047)==(e|0)){b4(k+528|0,f0*.5),s4(k+512|0,t,u,p,W,i[k+528>>2],i[k+532>>2],i[k+536>>2],i[k+540>>2]),p=i[k+520>>2],W=i[k+524>>2],t=i[k+512>>2],u=i[k+516>>2];break f}b4(k+560|0,f0*.75),s4(k+544|0,t,u,p,W,i[k+560>>2],i[k+564>>2],i[k+568>>2],i[k+572>>2]),p=i[k+552>>2],W=i[k+556>>2],t=i[k+544>>2],u=i[k+548>>2]}if((r|0)>111||(Sk(k+464|0,t,u,p,W,0,0,0,1073676288),fi(i[k+464>>2],i[k+468>>2],i[k+472>>2],i[k+476>>2],0,0,0,0)))break A;s4(k+448|0,t,u,p,W,0,0,0,1073676288),p=i[k+456>>2],W=i[k+460>>2],t=i[k+448>>2],u=i[k+452>>2]}s4(k+432|0,o,v,h,w,t,u,p,W),C3(k+416|0,i[k+432>>2],i[k+436>>2],i[k+440>>2],i[k+444>>2],J,R,z,H),h=i[k+424>>2],w=i[k+428>>2],o=i[k+416>>2],v=i[k+420>>2];A:{if((d-2|0)>=(E&2147483647)||(i[k+408>>2]=h,i[k+412>>2]=w&2147483647,i[k+400>>2]=o,i[k+404>>2]=v,d2(k+384|0,o,v,h,w,0,0,0,1073610752),A=H7(i[k+400>>2],i[k+404>>2],i[k+408>>2],i[k+412>>2],1081081856),e=(A|0)>=0,h=e?i[k+392>>2]:h,w=e?i[k+396>>2]:w,o=e?i[k+384>>2]:o,v=e?i[k+388>>2]:v,t=fi(t,u,p,W,0,0,0,0),y=e+y|0,(y+110|0)<=(d|0)&&!(Z&((r|0)!=(n|0)|(A|0)<0)&(t|0)!=0)))break A;i[23944]=68}$n(k+368|0,o,v,h,w,y),t=i[k+376>>2],u=i[k+380>>2],r=i[k+372>>2],e=i[k+368>>2]}i[C+40>>2]=t,i[C+44>>2]=u,i[C+32>>2]=e,i[C+36>>2]=r,B=k+8976|0,t=i[C+40>>2],u=i[C+44>>2],h=i[C+32>>2],w=i[C+36>>2];break i}u=0}i[f>>2]=h,i[f+4>>2]=w,i[f+8>>2]=t,i[f+12>>2]=u,B=C+48|0}function vr(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0;h=f+18548|0;i:{r:{e:{A:{f:{for(;;){v=i[f+18588>>2],o=i[v+132>>2];k:{n:{if(_=i[v+124>>2],Z=i[_+484>>2],n=1<<A,(Z|0)<(n+e|0)){t=i[_+16872>>2];break n}if(u=i[_+488>>2],t=i[_+16872>>2],(u|0)<(r+n|0)|(t|0)>=(A|0))break n;t=1,p=e-1|0,n=1;t:{if((p|r)<0||(n=1,(e|0)>(Z|0))||(n=1,(r|0)>=(u|0))||(w=i[_+16876>>2],W=m(i[_+16892>>2],r>>w),C=i[v+140>>2],I=W+(e>>w)|0,w=W+(p>>w)|0,n=1,Q[C+m(I,24)>>1]!=Q[C+m(w,24)>>1]))break t;n=i[o+8484>>2],n=i[n+(I<<2)>>2]!=i[n+(w<<2)>>2]}w=r-1|0;t:{if((w|e)<0|(e|0)>=(Z|0)|(r|0)>(u|0)||(Z=i[_+16876>>2],u=e>>Z,C=i[v+140>>2],W=i[_+16892>>2],I=u+m(W,r>>Z)|0,Z=u+m(W,w>>Z)|0,Q[C+m(I,24)>>1]!=Q[C+m(Z,24)>>1]))break t;t=i[o+8484>>2],t=i[t+(I<<2)>>2]!=i[t+(Z<<2)>>2]}if(Z=0,!n){if(Z=i[v+168>>2],n=p>>Z,(n|0)<0||(u=i[v+172>>2],(u|0)<=(n|0)))break r;if(Z=r>>Z,(Z|0)<0|(Z|0)>=i[v+176>>2])break i;n=(i[v+160>>2]+m(n,3)|0)+m(m(u,Z),3)|0,Z=((s[n|0]|s[n+1|0]<<8)>>>6&3)>(k|0)}t:{if(t)n=0;else{if(t=i[v+168>>2],n=e>>t,(n|0)<0||(u=i[v+172>>2],(u|0)<=(n|0)))break r;if(t=w>>t,(t|0)<0|(t|0)>=i[v+176>>2])break t;n=(i[v+160>>2]+m(n,3)|0)+m(m(t,u),3)|0,n=((s[n|0]|s[n+1|0]<<8)>>>6&3)>(k|0)}n=!f2(h,(n+(i[f+18572>>2]+Z|0)|0)+2|0);break k}break i}n=(A|0)<=(t|0)}if(!s[o+26|0]|i[o+8268>>2]>(A|0)||(i[f+18500>>2]=0,i[f+18504>>2]=0),!s[i[f+18592>>2]+760|0]|i[o+8272>>2]>(A|0)||(i[f+18508>>2]=0),!n){if(A=A-1|0,k=k+1|0,vr(f,e,r,A,k),o=1<<A,n=o+r|0,o=e+o|0,(o|0)<i[_+484>>2]&&vr(f,o,r,A,k),t=i[_+488>>2],(n|0)<(t|0)&&(vr(f,e,n,A,k),t=i[_+488>>2]),(o|0)>=i[_+484>>2])break f;if(e=o,r=n,(t|0)>(r|0))continue;break f}break}if(n=i[v+168>>2],o=A-n|0,(o|0)!=31)for(t=r>>n,o=1<<o,Z=t+o|0,h=o,o=e>>n,u=h+o|0,p=k<<6&192;;){for(n=o;h=(i[v+160>>2]+m(n,3)|0)+m(m(i[v+172>>2],t),3)|0,_=p|(s[h|0]|s[h+1|0]<<8)&65343,l[h|0]=_,l[h+1|0]=_>>>8,n=n+1|0,(u|0)>(n|0););if(t=t+1|0,!((Z|0)>(t|0)))break}if(p=B-80|0,B=p,t=f,Z=i[f+18592>>2],n=i[f+18588>>2],w=i[n+132>>2],I=i[n+124>>2],o=e,h=r,v=A,f=i[n+168>>2],e=A-f|0,(e|0)!=31)for(r=r>>f,e=1<<e,W=r+e|0,_=e,e=o>>f,C=_+e|0;;){for(f=e;_=(i[n+160>>2]+m(f,3)|0)+m(m(i[n+172>>2],r),3)|0,u=(s[_|0]|s[_+1|0]<<8)&65528,l[_|0]=u,l[_+1|0]=u>>>8,f=f+1|0,(C|0)>(f|0););if(r=r+1|0,!((W|0)>(r|0)))break}if(e=i[n+168>>2],f=o>>e,(f|0)<0||(r=i[n+172>>2],(r|0)<=(f|0)))break A;if(e=h>>e,(e|0)<0|(e|0)>=i[n+176>>2])break e;if(f=(i[n+160>>2]+m(f,3)|0)+m(m(e,r),3)|0,e=(s[f|0]|s[f+1|0]<<8)&65528|A&7,l[f|0]=e,l[f+1|0]=e>>>8,e=i[n+248>>2],r=v-e|0,(r|0)!=31)for(f=h>>e,r=1<<r,A=f+r|0,_=r,r=o>>e,_=_+r|0;;){for(e=r;l[(i[n+240>>2]+e|0)+m(i[n+252>>2],f)|0]=0,e=e+1|0,(_|0)>(e|0););if(f=f+1|0,!((A|0)>(f|0)))break}zk(t,o,h);k:{if(s[w+44|0]){if(f=f2(t+18548|0,i[t+18572>>2]+161|0),l[t+32|0]=f,!f)break k;if(f=i[n+168>>2],e=v-f|0,(e|0)!=31)for(r=h>>f,e=1<<e,u=r+e|0,A=e,e=o>>f,w=A+e|0;;){for(f=e;A=(i[n+160>>2]+m(f,3)|0)+m(m(i[n+172>>2],r),3)|0,_=(s[A|0]|s[A+1|0]<<8)&63487|2048,l[A|0]=_,l[A+1|0]=_>>>8,f=f+1|0,(w|0)>(f|0););if(r=r+1|0,!((u|0)>(r|0)))break}if(e=i[n+148>>2],f=o>>e,(f|0)<0||(r=i[n+152>>2],(r|0)<=(f|0)))break A;if(e=h>>e,(e|0)<0|(e|0)>=i[n+156>>2])break e;l[((i[n+140>>2]+m(f,24)|0)+m(m(e,r),24)|0)+22|0]=1;break k}l[t+32|0]=0}u=1<<v,A=0;k:{n:{if(i[Z+28>>2]==2)break n;e=i[t+18588>>2],_=1,A=o-1|0,f=1;t:{if((A|h)<0||(r=i[e+124>>2],f=1,(o|0)>i[r+484>>2])||(f=1,(h|0)>=i[r+488>>2])||(f=i[r+16892>>2],r=i[r+16876>>2],w=m(f,h>>r),C=i[e+140>>2],W=w+(o>>r)|0,r=w+(A>>r)|0,f=1,Q[C+m(W,24)>>1]!=Q[C+m(r,24)>>1]))break t;f=i[i[e+132>>2]+8484>>2],f=i[f+(W<<2)>>2]!=i[f+(r<<2)>>2]}W=h-1|0;t:{if((W|o)<0||(r=i[e+124>>2],(o|0)>=i[r+484>>2]|(h|0)>i[r+488>>2])||(w=i[r+16876>>2],C=o>>w,J=i[e+140>>2],r=i[r+16892>>2],y=C+m(r,h>>w)|0,r=C+m(r,W>>w)|0,Q[J+m(y,24)>>1]!=Q[J+m(r,24)>>1]))break t;_=i[i[e+132>>2]+8484>>2],_=i[_+(y<<2)>>2]!=i[_+(r<<2)>>2]}if(w=0,r=0,!f){if(r=i[e+168>>2],f=A>>r,(f|0)<0||(A=i[e+172>>2],(A|0)<=(f|0)))break r;if(r=h>>r,(r|0)<0|(r|0)>=i[e+176>>2])break i;f=(i[e+160>>2]+m(f,3)|0)+m(m(r,A),3)|0,r=((s[f|0]|s[f+1|0]<<8)&768)==512}if(!_){if(A=i[e+168>>2],f=o>>A,(f|0)<0||(_=i[e+172>>2],(_|0)<=(f|0)))break r;if(A=W>>A,(A|0)<0|(A|0)>=i[e+176>>2])break i;f=(i[e+160>>2]+m(f,3)|0)+m(m(A,_),3)|0,w=((s[f|0]|s[f+1|0]<<8)&768)==512}if(f=t+18548|0,f2(f,((i[t+18572>>2]+r|0)+w|0)+5|0)&255){e=16;t:{if(i[i[t+18592>>2]+812>>2]<2||!f2(f,i[t+18572>>2]+148|0)||(e=48,i[i[t+18592>>2]+812>>2]<3))break t;for(e=1;x1(f)&&(e=e+1|0,(e|0)<(i[i[t+18592>>2]+812>>2]-1|0)););e=e<<5|16}if(l[t+26|0]=s[t+26|0]&15|e,e=i[n+168>>2],f=o>>e,(f|0)<0||(r=i[n+172>>2],(r|0)<=(f|0)))break A;if(e=h>>e,(e|0)<0|(e|0)>=i[n+176>>2])break e;if(f=(i[n+160>>2]+m(f,3)|0)+m(m(e,r),3)|0,e=(s[f|0]|s[f+1|0]<<8)&65479,l[f|0]=e,l[f+1|0]=e>>>8,f=i[n+168>>2],e=v-f|0,(e|0)!=31)for(r=h>>f,e=1<<e,v=r+e|0,f=o>>f,_=f+e|0;;){for(e=f;A=(i[n+160>>2]+m(e,3)|0)+m(m(i[n+172>>2],r),3)|0,k=(s[A|0]|s[A+1|0]<<8)&64767|512,l[A|0]=k,l[A+1|0]=k>>>8,e=e+1|0,(_|0)>(e|0););if(r=r+1|0,!((v|0)>(r|0)))break}nk(i[t+18584>>2],i[t+18592>>2],i[t+18588>>2],t+16|0,o,h,0,0,u,u,u,0);break k}if(A=0,i[Z+28>>2]==2)break n;A=!f2(f,i[t+18572>>2]+149|0)}if(f=i[n+168>>2],e=v-f|0,(e|0)!=31)for(r=h>>f,e=1<<e,w=r+e|0,W=A<<8,f=o>>f,C=f+e|0;;){for(e=f;_=(i[n+160>>2]+m(e,3)|0)+m(m(i[n+172>>2],r),3)|0,Z=W|(s[_|0]|s[_+1|0]<<8)&64767,l[_|0]=Z,l[_+1|0]=Z>>>8,e=e+1|0,(C|0)>(e|0););if(r=r+1|0,!((w|0)>(r|0)))break}Z=!A;n:{t:{if(A){_=i[i[t+18588>>2]+124>>2],f=0,r=t+18548|0;o:{if(f2(r,i[t+18572>>2]+8|0))break o;e=f2(r,i[t+18572>>2]+9|0);u:{l:{if((v|0)>i[_+16872>>2]){if(f=e?1:2,!s[_+8798|0]||f2(r,i[t+18572>>2]+11|0))break o;if(f=x1(r),!(!e|!f)){f=5;break o}if(!(f|!e)){f=4;break o}if(f|e)break l;f=6;break o}if(f=1,e)break o;if((v|0)!=3)break u;f=2;break o}if(!(!f|e)){f=7;break o}C0(9349,14036,1774,11286),P()}f=3-f2(r,i[t+18572>>2]+10|0)|0}break t}if(e=0,_=0,(v|0)!=i[I+16872>>2])break n;f=f2(t+18548|0,i[t+18572>>2]+8|0)?0:3}e=f,_=(f|0)==3&Z}if(r=i[n+168>>2],f=o>>r,(f|0)<0||(Z=i[n+172>>2],(Z|0)<=(f|0)))break A;if(r=h>>r,(r|0)<0|(r|0)>=i[n+176>>2])break e;f=(i[n+160>>2]+m(f,3)|0)+m(m(r,Z),3)|0,r=(s[f|0]|s[f+1|0]<<8)&65479|e<<3&56,l[f|0]=r,l[f+1|0]=r>>>8;n:{if(!A){t:{if(!s[I+8800|0]|e|((v|0)<i[I+16956>>2]|(v|0)>i[I+16960>>2])||(C=t+18548|0,!t3(C)))break t;if(f=i[n+168>>2],e=v-f|0,(e|0)!=31)for(r=h>>f,e=1<<e,_=r+e|0,A=e,e=o>>f,Z=A+e|0;;){for(f=e;A=(i[n+160>>2]+m(f,3)|0)+m(m(i[n+172>>2],r),3)|0,k=(s[A|0]|s[A+1|0]<<8)&64511|1024,l[A|0]=k,l[A+1|0]=k>>>8,f=f+1|0,(Z|0)>(f|0););if(r=r+1|0,!((_|0)>(r|0)))break}if(e=i[n+148>>2],f=o>>e,(f|0)<0||(r=i[n+152>>2],(r|0)<=(f|0)))break A;if(e=h>>e,(e|0)<0|(e|0)>=i[n+156>>2])break e;l[((i[n+140>>2]+m(f,24)|0)+m(m(e,r),24)|0)+22|0]=1,f=i[t+18552>>2],i[p+48>>2]=f,e=i[t+18556>>2],w=0,i[p+64>>2]=0,i[p+56>>2]=0,i[p+60>>2]=0,i[p+52>>2]=e-f,f=i[t+18588>>2],e=i[f+40>>2],r=m(e,h),A=i[f+4>>2],k=i[f+124>>2],f=l[k+8801|0],k=i[k+16832>>2];o:{if((k|0)>=9){if((v|0)==31)break o;for(k=k-f|0,n=(k|0)>0?k:0,r=A+(r+o<<1)|0;;){for(A=r+(m(e,w)<<1)|0,k=0;f0=A+(k<<1)|0,n0=u0(p+48|0,f)<<n,X[f0>>1]=n0,k=k+1|0,(u|0)!=(k|0););if(w=w+1|0,(u|0)==(w|0))break}break o}if((v|0)==31)break o;for(k=k-f|0,n=(k|0)>0?k:0,r=o+(r+A|0)|0;;){for(A=r+m(e,w)|0,k=0;f0=A+k|0,n0=u0(p+48|0,f)<<n,l[f0|0]=n0,k=k+1|0,(u|0)!=(k|0););if(w=w+1|0,(u|0)==(w|0))break}}w=i[t+18588>>2],f=i[w+124>>2];o:{if(!i[f+16848>>2])break o;if(e=i[f+16852>>2],v=(o|0)/(e|0)|0,r=i[f+16856>>2],_=(u|0)/(r|0)|0,k=(u|0)/(e|0)|0,A=i[w+44>>2],W=m(A,(h|0)/(r|0)|0),Z=i[w+8>>2],e=l[f+8802|0],f=i[f+16840>>2],(f|0)>=9){if(n=0,f=f-e|0,r=(f|0)>0?f:0,f=v+W<<1,!((k|0)<=0|(_|0)<=0)){for(v=f+Z|0;;){for(Z=v+(m(A,n)<<1)|0,f=0;f0=Z+(f<<1)|0,n0=u0(p+48|0,e)<<r,X[f0>>1]=n0,f=f+1|0,(k|0)!=(f|0););if(n=n+1|0,(_|0)==(n|0))break}w=i[t+18588>>2],f=i[w+124>>2],e=l[f+8802|0],r=i[f+16840>>2]-e|0,r=(r|0)>0?r:0,A=i[w+44>>2],k=i[f+16856>>2],n=i[f+16852>>2],f=m(A,(h|0)/(k|0)|0)+((o|0)/(n|0)|0)<<1,_=(u|0)/(k|0)|0,k=(u|0)/(n|0)|0}if((_|0)<=0|(k|0)<=0)break o;for(o=i[w+12>>2]+f|0,n=0;;){for(h=o+(m(A,n)<<1)|0,f=0;f0=h+(f<<1)|0,n0=u0(p+48|0,e)<<r,X[f0>>1]=n0,f=f+1|0,(k|0)!=(f|0););if(n=n+1|0,(_|0)==(n|0))break}break o}if(n=0,f=f-e|0,r=(f|0)>0?f:0,!((k|0)<=0|(_|0)<=0)){for(v=(Z+W|0)+v|0;;){for(Z=v+m(A,n)|0,f=0;f0=f+Z|0,n0=u0(p+48|0,e)<<r,l[f0|0]=n0,f=f+1|0,(k|0)!=(f|0););if(n=n+1|0,(_|0)==(n|0))break}w=i[t+18588>>2],f=i[w+124>>2],e=l[f+8802|0],r=i[f+16840>>2]-e|0,r=(r|0)>0?r:0,A=i[f+16852>>2],v=(o|0)/(A|0)|0,f=i[f+16856>>2],_=(u|0)/(f|0)|0,k=(u|0)/(A|0)|0,A=i[w+44>>2],W=m(A,(h|0)/(f|0)|0)}if((_|0)<=0|(k|0)<=0)break o;for(o=(i[w+12>>2]+W|0)+v|0,n=0;;){for(h=o+m(A,n)|0,f=0;f0=f+h|0,n0=u0(p+48|0,e)<<r,l[f0|0]=n0,f=f+1|0,(k|0)!=(f|0););if(n=n+1|0,(_|0)==(n|0))break}}Gt(p+48|0),i[t+18552>>2]=i[p+48>>2],Y6(C);break k}if(A=(e|0)==3,C=A?(u|0)/2|0:u,(v|0)!=31)for(r=t+18548|0,e=0,w=0;;){for(f=0;f0=(p+48|0)+(e<<2)|0,n0=f2(r,i[t+18572>>2]+12|0),i[f0>>2]=n0,e=e+1|0,f=f+C|0,(u|0)>(f|0););if(w=w+C|0,!((u|0)>(w|0)))break}k=o-1|0,f=0;t:{if((k|h)<0||(e=i[n+124>>2],f=0,(o|0)>i[e+484>>2])||(f=0,(h|0)>=i[e+488>>2])||(f=i[e+16892>>2],e=i[e+16876>>2],r=m(f,h>>e),w=i[n+140>>2],Z=r+(o>>e)|0,e=r+(k>>e)|0,f=0,Q[w+m(Z,24)>>1]!=Q[w+m(e,24)>>1]))break t;f=i[i[n+132>>2]+8484>>2],f=i[f+(Z<<2)>>2]==i[f+(e<<2)>>2]}Z=f,k=h-1|0;t:{if((k|o)<0||(f=i[n+124>>2],(o|0)>=i[f+484>>2]|(h|0)>i[f+488>>2])||(e=i[f+16876>>2],r=o>>e,W=i[n+140>>2],f=i[f+16892>>2],w=r+m(f,h>>e)|0,f=r+m(f,k>>e)|0,Q[W+m(w,24)>>1]!=Q[W+m(f,24)>>1]))break t;e=i[i[n+132>>2]+8484>>2],d=i[e+(w<<2)>>2]==i[e+(f<<2)>>2]}if(k=v-A|0,(v|0)!=31)for(H=t+18548|0,J=0;;){for(y=h+J|0,A0=(J|0)>0|d,W=0;;){R=a<<2,S=i[R+(p+48|0)>>2];t:{if(S){w=Q6(H,2),f=p+32|0;break t}w=d4(H,5),f=p+16|0}i[f+R>>2]=w,r=o+W|0,z=r,f=i[I+16944>>2],w=m(i[I+16948>>2],y>>f)+(r>>f)|0,A=w,D=i[n+124>>2],e=1,f=1;t:{if(!((W|0)>0|Z))break t;if(f=i[n+168>>2],r=r-1>>f,(r|0)<0||(q=i[n+172>>2],(q|0)<=(r|0)))break r;if(E=y>>f,(E|0)<0|(E|0)>=i[n+176>>2])break i;if(f=1,s[((i[n+160>>2]+m(r,3)|0)+m(m(E,q),3)|0)+1|0]&7)break t;f=s[(A+i[n+200>>2]|0)-1|0]}t:{if(!A0)break t;if(E=i[n+168>>2],r=z>>E,(r|0)<0||(z=i[n+172>>2],(z|0)<=(r|0)))break r;if(E=y-1>>E,(E|0)<0|(E|0)>=i[n+176>>2])break i;if(s[((i[n+160>>2]+m(r,3)|0)+m(m(E,z),3)|0)+1|0]&7|(y|0)==(y&-1<<i[D+16876>>2]))break t;e=s[i[n+200>>2]+(A-i[D+16948>>2]|0)|0]}t:{if((f|0)==(e|0)){if(f>>>0<=1){i[p+12>>2]=26,i[p+4>>2]=0,i[p+8>>2]=1;break t}i[p+4>>2]=f,i[p+12>>2]=(f-1&31)+2,i[p+8>>2]=(f+29&31)+2;break t}if(i[p+8>>2]=e,i[p+4>>2]=f,!(!f|!e)){i[p+12>>2]=0;break t}if(!((f|0)==1|(e|0)==1)){i[p+12>>2]=1;break t}i[p+12>>2]=26}t:{if((S|0)!=1){f=i[p+4>>2],r=i[p+8>>2],e=(f|0)>(r|0)?f:r,f=(f|0)<(r|0)?f:r,r=i[p+12>>2];o:{if((f|0)<=(r|0)){A=f,f=r;break o}i[p+12>>2]=f,i[p+4>>2]=r,A=r}o:{if((f|0)>=(e|0)){r=f,f=e;break o}i[p+8>>2]=f,r=e}e=f,f=i[R+(p+16|0)>>2],f=((f|0)>=(A|0))+f|0,f=((e|0)<=(f|0))+f|0,A=((f|0)>=(r|0))+f|0;break t}A=i[(p+4|0)+(i[R+(p+32|0)>>2]<<2)>>2]}if(R=i[n+208>>2],f=k-R|0,(f|0)!=31)for(D=1<<f,E=D&2147483646,f=0;;){if(e=0,r=0,(k|0)!=(R|0))for(;l[(w+(i[n+200>>2]+e|0)|0)+m(i[n+212>>2],f)|0]=A,l[((w+(i[n+200>>2]+e|0)|0)+m(i[n+212>>2],f)|0)+1|0]=A,e=e+2|0,r=r+2|0,(E|0)!=(r|0););if((k|0)==(R|0)&&(l[(w+(i[n+200>>2]+e|0)|0)+m(i[n+212>>2],f)|0]=A),f=f+1|0,(D|0)==(f|0))break}if(a=a+1|0,W=W+C|0,!((u|0)>(W|0)))break}if(J=C+J|0,!((u|0)>(J|0)))break}t:switch(i[I+16848>>2]){case 3:if((v|0)==31)break n;w=t+18548|0,W=0;o:{for(;;){f=h+W|0,e=0;u:{for(;;){if(f2(w,i[t+18572>>2]+13|0)?r=d4(w,2):r=4,Z=e+o|0,y=i[n+208>>2],A=Z>>y,(A|0)<0||(J=i[n+212>>2],(J|0)<=(A|0)))break u;if(y=f>>y,(y|0)<0|(y|0)>=i[n+216>>2])break o;if(A=s[(A+i[n+200>>2]|0)+m(y,J)|0],A=A>>>0<=34?A:0,y=(r|0)==4,y||(r=i[(r<<2)+45808>>2],A=(r|0)==(A|0)?34:r),Q7(n,Z,f,k,A,y),e=e+C|0,!((u|0)>(e|0)))break}if(W=W+C|0,(u|0)>(W|0))continue;break n}break}break r}break i;case 0:break n;default:break t}if(f=t+18548|0,f2(f,i[t+18572>>2]+13|0)?f=d4(f,2):f=4,r=i[n+208>>2],e=o>>r,(e|0)<0||(A=i[n+212>>2],(A|0)<=(e|0)))break r;if(r=h>>r,(r|0)<0|(r|0)>=i[n+216>>2])break i;e=s[(e+i[n+200>>2]|0)+m(r,A)|0],e=e>>>0<=34?e:0,(f|0)!=4&&(r=i[(f<<2)+45808>>2],e=(e|0)==(r|0)?34:r),i[I+16848>>2]==2&&(e=s[e+45824|0]),Q7(n,o,h,v,e,(f|0)==4);break n}t:{o:{u:switch(e|0){case 1:f=(u|0)/2|0,d1(t,o,h,0,0,u,f,k,u,0),d1(t,o,h,0,f,u,f,k,u,1);break o;case 2:f=(u|0)/2|0,d1(t,o,h,0,0,f,u,k,u,0),d1(t,o,h,f,0,f,u,k,u,1);break o;case 4:f=(u|0)/4|0,d1(t,o,h,0,0,u,f,k,u,0),d1(t,o,h,0,f,u,(3<<v)/4|0,k,u,1);break o;case 5:f=(3<<v)/4|0,d1(t,o,h,0,0,u,f,k,u,0),d1(t,o,h,0,f,u,(u|0)/4|0,k,u,1);break o;case 6:f=(u|0)/4|0,d1(t,o,h,0,0,f,u,k,u,0),d1(t,o,h,f,0,(3<<v)/4|0,u,k,u,1);break o;case 7:f=(3<<v)/4|0,d1(t,o,h,0,0,f,u,k,u,0),d1(t,o,h,f,0,(u|0)/4|0,u,k,u,1);break o;case 3:f=(u|0)/2|0,d1(t,o,h,0,0,f,f,k,u,0),d1(t,o,h,f,0,f,f,k,u,1),d1(t,o,h,0,f,f,f,k,u,2),d1(t,o,h,f,f,f,f,k,u,3);break o;default:C0(17356,14036,4544,3188),P();case 0:break u}if(d1(t,o,h,0,0,u,u,k,u,0),s[t+26|0]&16)break t}if(!f2(t+18548|0,i[t+18572>>2]+153|0))break k}f=i[I+16848>>2]!=0,n6(t,o,h,o,h,o,h,v,0,0,i[I+628>>2],_,1,f,f);break k}f=i[I+16848>>2]!=0,n6(t,o,h,o,h,o,h,v,0,0,_+i[I+632>>2]|0,_,0,f,f)}B=p+80|0}return}C0(3758,8453,128,3372),P()}C0(3720,8453,129,3372),P()}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function ok(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;u=B-112|0,B=u,v=Ri(i[e+48>>2],17067),o=U(360),i[o+16>>2]=0,i[o+20>>2]=0,i[o>>2]=72656,i[o+4>>2]=0,i[o+8>>2]=0,l[o+152|0]=0,i[o+36>>2]=v,i[o+32>>2]=e,i[o+28>>2]=34648,i[o+40>>2]=0,i[o+44>>2]=0,i[o+52>>2]=0,i[o+56>>2]=0,i[o+68>>2]=0,i[o+72>>2]=0,i[o+80>>2]=0,i[o+84>>2]=0,i[o+156>>2]=0,i[o+160>>2]=0,i[o+24>>2]=0,X[o+48>>1]=0,X[o+58>>1]=0,X[o+60>>1]=0,X[o+62>>1]=0,X[o+64>>1]=0,l[o+76|0]=0,l[o+88|0]=0,i[o+204>>2]=0,i[o+196>>2]=0,i[o+200>>2]=0,i[o+188>>2]=0,i[o+192>>2]=0,i[o+180>>2]=0,i[o+184>>2]=0,i[o+172>>2]=0,i[o+176>>2]=0,i[o+164>>2]=0,i[o+168>>2]=0,i[o+212>>2]=0,i[o+216>>2]=0,l[o+208|0]=1,l[o+217|0]=0,l[o+218|0]=0,l[o+219|0]=0,l[o+220|0]=0,l[o+221|0]=0,l[o+222|0]=0,l[o+223|0]=0,l[o+224|0]=0,i[o+232>>2]=0,i[o+236>>2]=0,i[o+240>>2]=0,i[o+244>>2]=0,i[o+248>>2]=0,i[o+252>>2]=0,i[o+256>>2]=0,i[o+260>>2]=0,i[o+264>>2]=0,i[o+268>>2]=0,l[o+272|0]=0,B0(o+280|0,0,80),i[o+296>>2]=0,i[o+300>>2]=0,l[o+292|0]=1,i[o+304>>2]=0,i[o+308>>2]=0,i[o+312>>2]=0,i[o+316>>2]=0,i[o+328>>2]=0,i[o+332>>2]=0,i[o+320>>2]=0,i[o+324>>2]=1072693248,i[o+336>>2]=0,i[o+340>>2]=0,i[o+344>>2]=0,i[o+348>>2]=0,i[o+352>>2]=0,i[o+96>>2]=0,i[o+100>>2]=0,i[o+104>>2]=0,i[o+108>>2]=0,i[o+112>>2]=0,i[o+116>>2]=0,i[o+120>>2]=0,i[o+124>>2]=0,i[o+128>>2]=0,i[o+132>>2]=0,i[o+136>>2]=0,i[o+140>>2]=0,i[o+144>>2]=0,i[o+148>>2]=0,i[t>>2]=o+16,h=i[t+4>>2],i[t+4>>2]=o;i:{if(!h||(o=i[h+4>>2],i[h+4>>2]=o-1,o))break i;V[i[i[h>>2]+8>>2]](h),g(h)}o=i[e+32>>2];i:{if(o>>>0<k0[e+36>>2]){i[o>>2]=i[t>>2],h=i[t+4>>2],i[o+4>>2]=h,h&&(i[h+4>>2]=i[h+4>>2]+1),o=o+8|0;break i}o=Q2(e+28|0,t)}i[e+32>>2]=o,o=i[e+20>>2];i:{r:{if(!o){w=e+20|0,h=w;break r}for(;;){if(h=o,w=i[o+16>>2],w>>>0>v>>>0){if(w=o,o=i[o>>2],o)continue;break r}if(w>>>0>=v>>>0)break i;if(o=i[h+4>>2],!o)break}w=h+4|0}o=U(28),i[o+20>>2]=0,i[o+24>>2]=0,i[o+16>>2]=v,i[o+8>>2]=h,i[o>>2]=0,i[o+4>>2]=0,i[w>>2]=o,h=o,_=i[i[e+16>>2]>>2],_&&(i[e+16>>2]=_,h=i[w>>2]),D1(i[e+20>>2],h),i[e+24>>2]=i[e+24>>2]+1}w=i[t>>2],h=i[t+4>>2],h&&(i[h+4>>2]=i[h+4>>2]+1),i[o+20>>2]=w,t=i[o+24>>2],i[o+24>>2]=h;i:{if(!t||(o=i[t+4>>2],i[t+4>>2]=o-1,o))break i;V[i[i[t>>2]+8>>2]](t),g(t)}t=i[r>>2],i[u+108>>2]=i[t+32>>2],i[u+104>>2]=i[t+36>>2],$r(u+96|0,r,i[k+4>>2]),t=i[A>>2];i:{if(i[t>>2]>=2){V[i[t+108>>2]](i[A+4>>2],u+108|0,u+104|0);break i}V[i[t+96>>2]](u+108|0,u+104|0)}i[u+88>>2]=0,i[u+92>>2]=0;i:{r:{e:{A:{if(w=i[u+108>>2],t=i[r>>2],o=i[u+104>>2],!((w|0)!=i[t+32>>2]|(o|0)!=i[t+36>>2])){if(o=i[t+44>>2],t=i[t+48>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),p6(w,o,t,i[k+4>>2]))break A;w=i[u+108>>2],o=i[u+104>>2]}i[u+36>>2]=i[u+96>>2],t=i[u+100>>2],i[u+40>>2]=t,t&&(i[t+4>>2]=i[t+4>>2]+1),N8(u+76|0,r,w,o,u+36|0,0,k+16|0),t=i[u+76>>2],o=i[u+80>>2],i[u+76>>2]=0,i[u+80>>2]=0,r=i[u+92>>2],i[u+88>>2]=t,i[u+92>>2]=o;f:{if(!r||(t=i[r+4>>2],i[r+4>>2]=t-1,t||(V[i[i[r>>2]+8>>2]](r),g(r)),r=i[u+80>>2],!r)||(t=i[r+4>>2],i[r+4>>2]=t-1,t))break f;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[u+40>>2];f:{if(!r||(t=i[r+4>>2],i[r+4>>2]=t-1,t))break f;V[i[i[r>>2]+8>>2]](r),g(r)}if(i[u+88>>2])break e;if(l[u+76|0]=0,l[u+87|0]=0,r0(f,4,3003,u+76|0),l[u+87|0]>=0)break r;G(i[u+76>>2]);break r}if(o=i[r>>2],t=i[r+4>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),i[u+88>>2]=o,r=i[u+92>>2],i[u+92>>2]=t,!r||(t=i[r+4>>2],i[r+4>>2]=t-1,t))break e;V[i[i[r>>2]+8>>2]](r),g(r)}e:{A:switch(n-1|0){case 0:case 3:break A;default:break e}r=i[u+88>>2],t=i[r+52>>2],r=i[r+56>>2];A:{f:{k:{if(!r){if(!t)break f;w=i[e+48>>2],i[u+80>>2]=0,i[u+76>>2]=t;break k}if(i[r+4>>2]=i[r+4>>2]+1,!t)break f;w=i[e+48>>2],i[u+80>>2]=r,i[u+76>>2]=t,i[r+4>>2]=i[r+4>>2]+1}p8(w,v,u+76|0),t=i[u+80>>2];k:{if(!t||(o=i[t+4>>2],i[t+4>>2]=o-1,o))break k;V[i[i[t>>2]+8>>2]](t),g(t)}if(!s[k+3|0]|s[k|0]<3)break A}if(o=i[e+48>>2],i[u+76>>2]=i[u+96>>2],t=i[u+100>>2],i[u+80>>2]=t,t&&(i[t+4>>2]=i[t+4>>2]+1),p8(o,v,u+76|0),t=i[u+80>>2],!t||(o=i[t+4>>2],i[t+4>>2]=o-1,o))break A;V[i[i[t>>2]+8>>2]](t),g(t)}if(!r||(t=i[r+4>>2],i[r+4>>2]=t-1,t))break e;V[i[i[r>>2]+8>>2]](r),g(r)}e:{A:{f:{k:{if(!s[k+1|0]||!H2(i[u+88>>2],6))break k;i[u+36>>2]=0,i[u+40>>2]=0,s6(u+76|0,u+88|0),t=i[u+76>>2],o=i[u+80>>2],i[u+76>>2]=0,i[u+80>>2]=0,r=i[u+40>>2],i[u+36>>2]=t,i[u+40>>2]=o;n:{if(!r||(t=i[r+4>>2],i[r+4>>2]=t-1,t||(V[i[i[r>>2]+8>>2]](r),g(r)),r=i[u+80>>2],!r)||(t=i[r+4>>2],i[r+4>>2]=t-1,t))break n;V[i[i[r>>2]+8>>2]](r),g(r)}if(i[u+24>>2]=0,i[u+28>>2]=0,ok(f,e,u+36|0,A,k,2,u+24|0),i[f>>2])break f;t=i[i[u+24>>2]+20>>2],o=i[e+48>>2],r=U(4),i[u+76>>2]=r,h=r+4|0,i[u+84>>2]=h,i[r>>2]=v,i[u+80>>2]=h,P1(o,t,1635088492,u+76|0),r=i[u+76>>2],r&&(i[u+80>>2]=r,G(r)),h=i[i[u+24>>2]+20>>2],w=i[e+48>>2],r=U(48),i[u+76>>2]=r,i[u+80>>2]=43,i[u+84>>2]=-2147483600,t=s[14658]|s[14659]<<8|(s[14660]<<16|s[14661]<<24),l[r+39|0]=t,l[r+40|0]=t>>>8,l[r+41|0]=t>>>16,l[r+42|0]=t>>>24,t=s[14655]|s[14656]<<8|(s[14657]<<16|s[14658]<<24),o=s[14651]|s[14652]<<8|(s[14653]<<16|s[14654]<<24),l[r+32|0]=o,l[r+33|0]=o>>>8,l[r+34|0]=o>>>16,l[r+35|0]=o>>>24,l[r+36|0]=t,l[r+37|0]=t>>>8,l[r+38|0]=t>>>16,l[r+39|0]=t>>>24,t=s[14647]|s[14648]<<8|(s[14649]<<16|s[14650]<<24),o=s[14643]|s[14644]<<8|(s[14645]<<16|s[14646]<<24),l[r+24|0]=o,l[r+25|0]=o>>>8,l[r+26|0]=o>>>16,l[r+27|0]=o>>>24,l[r+28|0]=t,l[r+29|0]=t>>>8,l[r+30|0]=t>>>16,l[r+31|0]=t>>>24,t=s[14639]|s[14640]<<8|(s[14641]<<16|s[14642]<<24),o=s[14635]|s[14636]<<8|(s[14637]<<16|s[14638]<<24),l[r+16|0]=o,l[r+17|0]=o>>>8,l[r+18|0]=o>>>16,l[r+19|0]=o>>>24,l[r+20|0]=t,l[r+21|0]=t>>>8,l[r+22|0]=t>>>16,l[r+23|0]=t>>>24,t=s[14631]|s[14632]<<8|(s[14633]<<16|s[14634]<<24),o=s[14627]|s[14628]<<8|(s[14629]<<16|s[14630]<<24),l[r+8|0]=o,l[r+9|0]=o>>>8,l[r+10|0]=o>>>16,l[r+11|0]=o>>>24,l[r+12|0]=t,l[r+13|0]=t>>>8,l[r+14|0]=t>>>16,l[r+15|0]=t>>>24,t=s[14623]|s[14624]<<8|(s[14625]<<16|s[14626]<<24),o=s[14619]|s[14620]<<8|(s[14621]<<16|s[14622]<<24),l[r|0]=o,l[r+1|0]=o>>>8,l[r+2|0]=o>>>16,l[r+3|0]=o>>>24,l[r+4|0]=t,l[r+5|0]=t>>>8,l[r+6|0]=t>>>16,l[r+7|0]=t>>>24,l[r+43|0]=0,_6(w,h,u+76|0),l[u+87|0]<0&&G(i[u+76>>2]);n:{if(s[i[u+88>>2]+40|0]!=1||(t=i[e+48>>2],o=i[i[u+24>>2]+20>>2],r=U(4),i[u+76>>2]=r,h=r+4|0,i[u+84>>2]=h,i[r>>2]=o,i[u+80>>2]=h,P1(t,v,1886545261,u+76|0),r=i[u+76>>2],!r))break n;i[u+80>>2]=r,G(r)}l[f+19|0]<0&&G(i[f+8>>2]),r=i[u+28>>2];n:{if(!r||(t=i[r+4>>2],i[r+4>>2]=t-1,t))break n;V[i[i[r>>2]+8>>2]](r),g(r)}if(r=i[u+40>>2],!r||(t=i[r+4>>2],i[r+4>>2]=t-1,t))break k;V[i[i[r>>2]+8>>2]](r),g(r)}l[u+84|0]=0,l[u+85|0]=0,l[u+86|0]=0,l[u+87|0]=0,l[u+77|0]=0,l[u+78|0]=0,l[u+79|0]=0,l[u+80|0]=0,l[u+81|0]=0,l[u+82|0]=0,l[u+83|0]=0,l[u+84|0]=0,l[u+76|0]=1,r=u+56|0,o=U0(i[u+88>>2],0),t=i[i[u+88>>2]+36>>2],h=(o|0)<11,w=h&&(t|0)==3?1:2,Z=h?t>>>0>=2?w:0:w,h=y4(i[u+88>>2],0),w=F4(i[u+88>>2],0),_=m(h,w);k:{if(!((h|0)>8192|(w|0)>4352)&&(p=13,(_|0)<8912897))break k;p=(h|0)>=16385||(w|0)>=8705?31:(_|0)<35651585?17:31}l[u+78|0]=p,l[u+77|0]=Z,l[u+82|0]=!t,l[u+81|0]=o>>>0>11,l[u+80|0]=o>>>0>8,o=t<<3,h=t>>>0<4,l[u+83|0]=((h?16908801>>>o|0:0)&3)>>>1,l[u+85|0]=((t|0)!=1)<<1,l[u+84|0]=((h?16843265>>>o|0:0)&3)>>>1,t=i[19565],i[r>>2]=i[19564],i[r+4>>2]=t,r=r+8|0;k:{if(l[78275]>=0){t=i[19567],i[r>>2]=i[19566],i[r+4>>2]=t,i[r+8>>2]=i[19568];break k}_0(r,i[19566],i[19567])}l[u+75|0]<0&&G(i[u+64>>2]),i[u+52>>2]=0,r=i[u+88>>2],t=i[u+92>>2];k:{if(!t){i[u+52>>2]=0,i[u+48>>2]=r;break k}if(i[t+4>>2]=i[t+4>>2]+1,i[u+48>>2]=r,r=i[u+52>>2],i[u+52>>2]=t,!r||(t=i[r+4>>2],i[r+4>>2]=t-1,t))break k;V[i[i[r>>2]+8>>2]](r),g(r)}if(V[i[i[A>>2]+100>>2]](u+36|0,i[A+4>>2],u+48|0,n),n=i[u+36>>2],n)break A;for(;;){k:{V[i[i[A>>2]+104>>2]](u+24|0,i[A+4>>2],u+20|0,u+16|0,0),t=u+76|0,n=0,p=B-48|0,B=p,h=w6(p+16|0,i[u+20>>2],i[u+16>>2]),r=i[h+8>>2],o=r>>31<<3|r>>>29,w=i[h+24>>2],r=w+(r<<3)|0,_=(w>>31)+o|0,_=r>>>0<w>>>0?_+1|0:_;n:{if(!r&(_|0)<=0|(_|0)<0)break n;t:{for(;;){if(p2(h,1),Z=g0(h,4),r=g0(h,1),o=g0(h,1),p2(h,1),r&&p2(h,8),o){r=g0(h,8),o=r&127,w=0;o:{if(!(r&128)||(r=g0(h,8),o=o|r<<7&16256,!(r&128))||(r=g0(h,8),o=o|r<<14&2080768,!(r&128))||(r=g0(h,8),o=o|r<<21&266338304,!(r&128))||(r=g0(h,8),_=r>>>4|0,o=o|r<<28&-268435456,w=w|_&7,!(r&128))||(r=g0(h,8),w=w|r<<3&1016,!(r&128))||(r=g0(h,8),w=w|r<<10&130048,!(r&128)))break o;w=w|g0(h,8)<<17&16646144}if((Z|0)==1)break t;if(!w&o>>>0>2147483647|w)break n;if(G7(h,o),r=i[h+24>>2],o=r,w=r>>31,r=i[h+8>>2],_=r>>31<<3|r>>>29,Z=r<<3,o=Z+o|0,r=w+_|0,r=o>>>0<Z>>>0?r+1|0:r,!!o&(r|0)>=0|(r|0)>0)continue;break n}break}if((Z|0)!=1)break n}C=t,I=g0(h,3),l[C+1|0]=I,g0(h,1),Z=g0(h,1);t:{if(Z){r=g0(h,5),l[t+3|0]=0,l[t+2|0]=r;break t}o:{u:{if(!g0(h,1)||(G7(h,8),g0(h,1)&&g1(h,p+12|0),!g0(h,1)))break u;n=g0(h,5),p2(h,32),p2(h,10),o=1;break o}o=0}if(W=g0(h,1),_=g0(h,5),(_|0)<0)break t;if(p2(h,12),r=g0(h,5),l[t+2|0]=r,w=n+1|0,r=r&248,!W){r&&(C=t,I=g0(h,1),l[C+3|0]=I);o:{if(!o||!g0(h,1))break o;p2(h,w),p2(h,w),p2(h,1)}if(!_)break t;for(r=1;;){p2(h,12),g0(h,5)&248&&g0(h,1),n=r;o:{if(!o||!g0(h,1))break o;p2(h,w),p2(h,w),p2(h,1)}if(r=n+1|0,(n|0)==(_|0))break}break t}if(!o){if(r&&(C=t,I=g0(h,1),l[C+3|0]=I),n=1,r=g0(h,1),l[t+10|0]=(r|0)!=0,r&&(C=t,I=g0(h,4),l[C+11|0]=I),!_)break t;for(;p2(h,12),g0(h,5)&248&&g0(h,1),g0(h,1)&&g0(h,4),r=(n|0)!=(_|0),n=n+1|0,!!r;);break t}if(r&&(C=t,I=g0(h,1),l[C+3|0]=I),g0(h,1)&&(p2(h,w),p2(h,w),p2(h,1)),r=g0(h,1),l[t+10|0]=(r|0)!=0,r&&(C=t,I=g0(h,4),l[C+11|0]=I),!_)break t;for(n=1;p2(h,12),g0(h,5)&248&&g0(h,1),g0(h,1)&&(p2(h,w),p2(h,w),p2(h,1)),g0(h,1)&&g0(h,4),r=(n|0)==(_|0),n=n+1|0,!r;);}r=g0(h,4),n=g0(h,4),g0(h,r+1|0),g0(h,n+1|0);t:{if(!Z){g0(h,1)&&p2(h,7),p2(h,3),p2(h,4),r=g0(h,1),r&&p2(h,2);o:{if(!g0(h,1)&&(g0(h,1)|0)<=0||g0(h,1))break o;p2(h,1)}if(!r)break t}p2(h,3)}p2(h,3),r=g0(h,1),l[t+4|0]=r,o=s[t+1|0],n=0;t:{if(!(r&255)){r=0;break t}if(r=0,(o|0)!=2)break t;r=g0(h,1),o=s[t+1|0]}l[t+5|0]=r,(o|0)!=1?r=g0(h,1):r=0,l[t+6|0]=r;t:{if(!g0(h,1)){o=0,r=0;break t}o=(g0(h,8)|0)==1,n=(g0(h,8)|0)==13,r=!g0(h,8)}t:{o:{if(s[t+6|0]){p2(h,1),l[t+7|0]=1,l[t+8|0]=1,n=9,r=0;break o}u:{if((r&(n&o))==1)break u;p2(h,1);l:{s:{h:{w:switch(s[t+1|0]){default:if(s[t+5|0]){if(r=g0(h,1),l[t+7|0]=r,r&255)break h;break l}l[t+7|0]=1;break l;case 1:break u;case 0:break w}l[t+7|0]=1,l[t+8|0]=1;break s}if(r=g0(h,1),l[t+8|0]=r,!s[t+7|0]|!(r&255))break t}n=9,r=g0(h,2);break o}n=8,r=0;break o}l[t+7|0]=0,n=8,r=0}l[n+t|0]=r}p2(h,1)}if(B=p+48|0,h=i[u+20>>2],!h)break k;if(o=0,i[u+32>>2]=0,i[u+24>>2]=0,i[u+28>>2]=0,r=i[u+16>>2],r?(L2(u+24|0,r),o=i[u+16>>2],h=i[u+20>>2],r=i[u+24>>2]):r=0,l0(r,h,o),hi(i[e+48>>2],v,u+24|0,0),r=i[u+24>>2],!r)continue;i[u+28>>2]=r,G(r);continue}break}w=i[e+48>>2],n=B-16|0,B=n,r=U(88),i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=71264,t=r+16|0,i[t+8>>2]=0,i[t+12>>2]=0,i[t+16>>2]=0,i[t+20>>2]=0,i[t+24>>2]=0,i[t+28>>2]=0,i[t+32>>2]=0,i[t>>2]=68500,i[r+60>>2]=0,i[r+52>>2]=0,i[r+56>>2]=0,i[t>>2]=74368,l[r+84|0]=0,l[r+85|0]=0,l[r+86|0]=0,l[r+87|0]=0,l[r+76|0]=0,l[r+77|0]=0,l[r+78|0]=0,l[r+79|0]=0,l[r+80|0]=0,l[r+81|0]=0,l[r+82|0]=0,l[r+83|0]=0,i[r+32>>2]=1635135811,o=s[u+80|0]|s[u+81|0]<<8|(s[u+82|0]<<16|s[u+83|0]<<24),h=s[u+76|0]|s[u+77|0]<<8|(s[u+78|0]<<16|s[u+79|0]<<24),l[r+64|0]=h,l[r+65|0]=h>>>8,l[r+66|0]=h>>>16,l[r+67|0]=h>>>24,l[r+68|0]=o,l[r+69|0]=o>>>8,l[r+70|0]=o>>>16,l[r+71|0]=o>>>24,o=s[u+84|0]|s[u+85|0]<<8|(s[u+86|0]<<16|s[u+87|0]<<24),l[r+72|0]=o,l[r+73|0]=o>>>8,l[r+74|0]=o>>>16,l[r+75|0]=o>>>24,i[n+8>>2]=r,i[n+4>>2]=t,i[r+4>>2]=i[r+4>>2]+1,t=N4(i[w+44>>2],n+4|0),o=i[w+52>>2],X[n+14>>1]=t+1,l[n+12|0]=1,i[n>>2]=Q[n+12>>1]|Q[n+14>>1]<<16,c1(o,v,n),t=i[n+8>>2];k:{if(!t||(o=i[t+4>>2],i[t+4>>2]=o-1,o))break k;V[i[i[t>>2]+8>>2]](t),g(t)}t=i[r+4>>2],i[r+4>>2]=t-1,t||(V[i[i[r>>2]+8>>2]](r),g(r)),B=n+16|0,n=i[u+88>>2],r=i[n+28>>2],n=i[n+24>>2],i[u+24>>2]=n,i[u+20>>2]=r,w=r,t=n,o=i[A>>2];k:{if(i[o>>2]<3||(o=i[o+112>>2],!o))break k;V[o|0](i[A+4>>2],t,r,u+24|0,u+20|0),w=i[u+20>>2],t=i[u+24>>2]}if(Vi(i[e+48>>2],v,t,w),A=i[u+24>>2],t=i[u+20>>2],(A|0)==(n|0)&(t|0)==(r|0)||(ar(i[e+48>>2],v,n,r,A,t),gr(i[e+48>>2],v,i[k+12>>2])),i[u+8>>2]=i[u+88>>2],r=i[u+92>>2],i[u+12>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),r=i[u+12>>2],i[u>>2]=i[u+8>>2],i[u+4>>2]=r,Wi(e,u,v),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break e}_0(f,i[19566],i[19567]);break e}f=i[u+28>>2];f:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break f;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=i[u+40>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f);break r}if(A=i[u+40>>2],k=i[u+44>>2],e=G2(k),e>>>0>=2147483640)break i;A:{f:{if(e>>>0>=11){t=(e|7)+1|0,r=U(t),i[u+32>>2]=t|-2147483648,i[u+24>>2]=r,i[u+28>>2]=e;break f}if(l[u+35|0]=e,r=u+24|0,!e)break A}F2(r,k,e)}if(l[e+r|0]=0,r0(f,n,A,u+24|0),l[u+35|0]>=0)break e;G(i[u+24>>2])}if(f=i[u+52>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[u+92>>2];r:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[u+100>>2];r:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}B=u+112|0;return}c2(),P()}function lk(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0;u=B-176|0,B=u,y=Ri(i[e+48>>2],16949),o=U(360),i[o+16>>2]=0,i[o+20>>2]=0,i[o>>2]=72656,i[o+4>>2]=0,i[o+8>>2]=0,l[o+152|0]=0,i[o+36>>2]=y,i[o+32>>2]=e,i[o+28>>2]=34648,i[o+40>>2]=0,i[o+44>>2]=0,i[o+52>>2]=0,i[o+56>>2]=0,i[o+68>>2]=0,i[o+72>>2]=0,i[o+80>>2]=0,i[o+84>>2]=0,i[o+156>>2]=0,i[o+160>>2]=0,i[o+24>>2]=0,X[o+48>>1]=0,X[o+58>>1]=0,X[o+60>>1]=0,X[o+62>>1]=0,X[o+64>>1]=0,l[o+76|0]=0,l[o+88|0]=0,i[o+204>>2]=0,i[o+196>>2]=0,i[o+200>>2]=0,i[o+188>>2]=0,i[o+192>>2]=0,i[o+180>>2]=0,i[o+184>>2]=0,i[o+172>>2]=0,i[o+176>>2]=0,i[o+164>>2]=0,i[o+168>>2]=0,i[o+212>>2]=0,i[o+216>>2]=0,l[o+208|0]=1,l[o+217|0]=0,l[o+218|0]=0,l[o+219|0]=0,l[o+220|0]=0,l[o+221|0]=0,l[o+222|0]=0,l[o+223|0]=0,l[o+224|0]=0,i[o+232>>2]=0,i[o+236>>2]=0,i[o+240>>2]=0,i[o+244>>2]=0,i[o+248>>2]=0,i[o+252>>2]=0,i[o+256>>2]=0,i[o+260>>2]=0,i[o+264>>2]=0,i[o+268>>2]=0,l[o+272|0]=0,B0(o+280|0,0,80),i[o+296>>2]=0,i[o+300>>2]=0,l[o+292|0]=1,i[o+304>>2]=0,i[o+308>>2]=0,i[o+312>>2]=0,i[o+316>>2]=0,i[o+328>>2]=0,i[o+332>>2]=0,i[o+320>>2]=0,i[o+324>>2]=1072693248,i[o+336>>2]=0,i[o+340>>2]=0,i[o+344>>2]=0,i[o+348>>2]=0,i[o+352>>2]=0,i[o+96>>2]=0,i[o+100>>2]=0,i[o+104>>2]=0,i[o+108>>2]=0,i[o+112>>2]=0,i[o+116>>2]=0,i[o+120>>2]=0,i[o+124>>2]=0,i[o+128>>2]=0,i[o+132>>2]=0,i[o+136>>2]=0,i[o+140>>2]=0,i[o+144>>2]=0,i[o+148>>2]=0,i[t>>2]=o+16,h=i[t+4>>2],i[t+4>>2]=o;i:{if(!h||(o=i[h+4>>2],i[h+4>>2]=o-1,o))break i;V[i[i[h>>2]+8>>2]](h),g(h)}o=i[r>>2],i[u+172>>2]=i[o+32>>2],i[u+168>>2]=i[o+36>>2],$r(u+160|0,r,i[k+4>>2]),o=i[A>>2];i:{if(i[o>>2]>=2){V[i[o+108>>2]](i[A+4>>2],u+172|0,u+168|0);break i}V[i[o+96>>2]](u+172|0,u+168|0)}i:{r:{e:{if(o=i[u+172>>2],h=i[r>>2],w=i[u+168>>2],!((o|0)!=i[h+32>>2]|(w|0)!=i[h+36>>2])){if(w=i[h+44>>2],h=i[h+48>>2],h&&(i[h+4>>2]=i[h+4>>2]+1),p6(o,w,h,i[k+4>>2]))break e;w=i[u+168>>2],o=i[u+172>>2]}if(i[u+132>>2]=i[u+160>>2],h=i[u+164>>2],i[u+136>>2]=h,h&&(i[h+4>>2]=i[h+4>>2]+1),N8(u+92|0,r,o,w,u+132|0,0,k+16|0),o=i[u+92>>2],r=i[u+96>>2],i[u+92>>2]=0,i[u+96>>2]=0,i[u+156>>2]=r,i[u+152>>2]=o,r=i[u+136>>2],r&&(o=i[r+4>>2],i[r+4>>2]=o-1,o||(V[i[i[r>>2]+8>>2]](r),g(r)),o=i[u+152>>2]),o){r=i[u+156>>2];break r}if(l[u+92|0]=0,l[u+103|0]=0,r0(f,4,3003,u+92|0),l[u+103|0]>=0)break i;G(i[u+92>>2]);break i}o=i[r>>2],r=i[r+4>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),i[u+156>>2]=r,i[u+152>>2]=o}D=y4(o,0),z=F4(o,0),h=i[t>>2],i[h+28>>2]=z,i[h+24>>2]=D,W=U(112),i[W>>2]=71224,i[W+4>>2]=0,i[W+8>>2]=0,E=W+16|0,i[E+8>>2]=0,i[E+12>>2]=0,i[E+16>>2]=0,i[E+20>>2]=0,i[E+24>>2]=0,i[E+28>>2]=0,i[E+32>>2]=0,i[E>>2]=68500,i[W+60>>2]=0,i[W+52>>2]=0,i[W+56>>2]=0,i[E>>2]=74252,i[W+108>>2]=0,i[W+100>>2]=0,i[W+104>>2]=0,l[W+96|0]=4,i[W+72>>2]=0,i[W+76>>2]=0,i[W+32>>2]=1752589123,i[u+148>>2]=0;r:{if(!r){i[u+148>>2]=0,i[u+144>>2]=o;break r}if(i[r+4>>2]=i[r+4>>2]+1,i[u+144>>2]=o,o=i[u+148>>2],i[u+148>>2]=r,!o||(r=i[o+4>>2],i[o+4>>2]=r-1,r))break r;V[i[i[o>>2]+8>>2]](o),g(o)}V[i[i[A>>2]+100>>2]](u+132|0,i[A+4>>2],u+144|0,n);r:{e:{A:{f:{k:{n:{if(r=i[u+132>>2],r){if(k=i[u+136>>2],n=i[u+140>>2],e=G2(n),e>>>0>=2147483640)break n;t:{o:{if(e>>>0>=11){t=(e|7)+1|0,A=U(t),i[u+100>>2]=t|-2147483648,i[u+92>>2]=A,i[u+96>>2]=e;break o}if(l[u+103|0]=e,A=u+92|0,!e)break t}F2(A,n,e)}if(l[e+A|0]=0,r0(f,r,k,u+92|0),l[u+103|0]>=0)break r;G(i[u+92>>2]);break r}if(i[u+128>>2]=0,i[u+124>>2]=0,V[i[i[A>>2]+104>>2]](u+92|0,i[A+4>>2],u+56|0,u+48|0,0),o=i[u+56>>2],o)for(H=W- -64|0;;){if(r=s[o|0],(r&254)==66){i[u+100>>2]=0,i[u+104>>2]=0,f0=u+72|0,a=o,S=i[u+48>>2],q=u+128|0,d=u+124|0,o=0,r=0,v=0,w=0,R=0,Z=B-96|0,B=Z,i[Z+92>>2]=0,i[Z+84>>2]=0,i[Z+88>>2]=0;t:{o:{u:{l:{s:{h:{w:{if(S){for(;;){_:{v:{if(C=w+2|0,S>>>0<=C>>>0||(h=w+a|0,s[h|0]|s[h+1|0]|s[C+a|0]!=3))break v;Z:{if(o>>>0>v>>>0){l[v|0]=0,w=v+1|0;break Z}if(I=v-r|0,h=I+1|0,(h|0)<0)break u;o=o-r|0,w=o<<1,J=o>>>0>=1073741823?2147483647:h>>>0<w>>>0?w:h,J?w=U(J):w=0,_=w+I|0,l[_|0]=0,h=_;m:{if((r|0)==(v|0))break m;if(h=0,p=_,o=v,I=I&3,I)for(;p=p-1|0,o=o-1|0,l[p|0]=s[o|0],h=h+1|0,(I|0)!=(h|0););if(h=w,r-v>>>0>4294967292)break m;for(;l[p-1|0]=s[o-1|0],l[p-2|0]=s[o-2|0],l[p-3|0]=s[o-3|0],p=p-4|0,o=o-4|0,l[p|0]=s[o|0],(r|0)!=(o|0););h=w}o=w+J|0,w=_+1|0,r&&G(r),r=h}if(o>>>0>w>>>0){l[w|0]=0,v=w+1|0;break _}if(I=w-r|0,h=I+1|0,(h|0)<0)break w;o=o-r|0,_=o<<1,J=o>>>0>=1073741823?2147483647:h>>>0<_>>>0?_:h,J?_=U(J):_=0,v=_+I|0,l[v|0]=0,h=v;Z:{if((r|0)==(w|0))break Z;if(h=0,p=v,o=w,I=I&3,I)for(;p=p-1|0,o=o-1|0,l[p|0]=s[o|0],h=h+1|0,(I|0)!=(h|0););if(h=_,r-w>>>0>4294967292)break Z;for(;l[p-1|0]=s[o-1|0],l[p-2|0]=s[o-2|0],l[p-3|0]=s[o-3|0],p=p-4|0,o=o-4|0,l[p|0]=s[o|0],(r|0)!=(o|0););h=_}if(o=_+J|0,v=v+1|0,!r){r=h;break _}G(r),r=h;break _}h=w+a|0;v:{if(o>>>0>v>>>0){l[v|0]=s[h|0],v=v+1|0;break v}if(J=v-r|0,_=J+1|0,(_|0)<0)break u;o=o-r|0,p=o<<1,A0=o>>>0>=1073741823?2147483647:_>>>0<p>>>0?p:_,A0?_=U(A0):_=0,I=_+J|0,l[I|0]=s[h|0],h=I;Z:{if((r|0)==(v|0))break Z;if(p=0,o=h,C=v,h=J&3,h)for(;o=o-1|0,C=C-1|0,l[o|0]=s[C|0],p=p+1|0,(h|0)!=(p|0););if(h=_,r-v>>>0>4294967292)break Z;for(;l[o-1|0]=s[C-1|0],l[o-2|0]=s[C-2|0],l[o-3|0]=s[C-3|0],o=o-4|0,C=C-4|0,l[o|0]=s[C|0],(r|0)!=(C|0););h=_}o=_+A0|0,v=I+1|0,r&&G(r),r=h}C=w}if(w=C+1|0,!(S>>>0>w>>>0))break}i[Z+88>>2]=v,i[Z+84>>2]=r,i[Z+92>>2]=o}if(h=w6(Z+48|0,r,v-r|0),p2(h,16),p2(h,4),r=g0(h,3),n0=u,h0=g0(h,1),l[n0+120|0]=h0,n0=u,h0=g0(h,2),l[n0+93|0]=h0,n0=u,h0=(g0(h,1)&255)!=0,l[n0+94|0]=h0,n0=u,h0=g0(h,5),l[n0+95|0]=h0,n0=u,h0=g0(h,32),i[n0+96>>2]=h0,p2(h,16),p2(h,16),p2(h,16),n0=u,h0=g0(h,8),l[n0+108|0]=h0,i[Z+44>>2]=0,i[Z+36>>2]=0,i[Z+40>>2]=0,v=0,!r)break l;if((r|0)<0)break h;for(o=r-1>>>5|0,_=(o<<2)+4|0,v=U(_),p=r>>>0>=33?o:0,i[v+(p<<2)>>2]=0,o=r>>>5|0,r>>>0>=32&&B0(v,0,o<<2),w=r&31,w&&(C=(o<<2)+v|0,i[C>>2]=i[C>>2]&(-1>>>32-w^-1)),R=U(_),i[R+(p<<2)>>2]=0,r>>>0>=32&&B0(R,0,o<<2),w&&(o=(o<<2)+R|0,i[o>>2]=i[o>>2]&(-1>>>32-w^-1)),o=0;;){w=1<<o,p=o>>>5<<2,_=p+v|0;_:{if(g0(h,1)){C=w|i[_>>2];break _}C=i[_>>2]&(w^-1)}i[_>>2]=C,_=p+R|0;_:{if(g0(h,1)){w=w|i[_>>2];break _}w=i[_>>2]&(w^-1)}if(i[_>>2]=w,o=o+1|0,(r|0)==(o|0))break}break s}i[Z+88>>2]=w;break o}y0(),P()}if(r>>>0<8)for(o=r;p2(h,2),o=o+1|0,(o|0)!=8;);for(o=0;_=1<<o,w=o>>>5<<2,_&i[w+v>>2]&&(p2(h,8),p2(h,32),p2(h,16)),_&i[w+R>>2]&&p2(h,8),o=o+1|0,(r|0)!=(o|0););}g1(h,Z+32|0),g1(h,Z+28|0),r=i[Z+28>>2],l[u+113|0]=r,(r&255)==3&&p2(h,1),g1(h,q),g1(h,d),g0(h,1)&&(g1(h,Z+24|0),g1(h,Z+20|0),g1(h,Z+16|0),g1(h,Z+12|0),r=s[u+113|0],i[q>>2]=i[q>>2]-(i[Z+20>>2]+i[Z+24>>2]<<((r-1&255)>>>0<2)),i[d>>2]=i[d>>2]-(i[Z+12>>2]+i[Z+16>>2]<<((r|0)==1))),r=Z+28|0,g1(h,r),l[u+114|0]=s[Z+28|0]+8,g1(h,r),r=s[Z+28|0],i[u+116>>2]=16777216,l[u+112|0]=0,X[u+110>>1]=0,l[u+92|0]=1,l[u+115|0]=r+8,o=i[19565],r=f0,i[r>>2]=i[19564],i[r+4>>2]=o,r=r+8|0;l:{if(l[78275]>=0){o=i[19567],i[r>>2]=i[19566],i[r+4>>2]=o,i[r+8>>2]=i[19568];break l}_0(r,i[19566],i[19567])}R&&G(R),v&&G(v),r=i[Z+84>>2],r&&(i[Z+88>>2]=r,G(r)),B=Z+96|0;break t}i[Z+88>>2]=v}i[Z+84>>2]=r,i[Z+92>>2]=o,y0(),P()}l[u+91|0]<0&&G(i[u+80>>2]),r=i[u+96>>2],i[H>>2]=i[u+92>>2],i[H+4>>2]=r,o=s[u+117|0]|s[u+118|0]<<8|(s[u+119|0]<<16|s[u+120|0]<<24),r=H,h=s[u+113|0]|s[u+114|0]<<8|(s[u+115|0]<<16|s[u+116|0]<<24),l[r+21|0]=h,l[r+22|0]=h>>>8,l[r+23|0]=h>>>16,l[r+24|0]=h>>>24,l[r+25|0]=o,l[r+26|0]=o>>>8,l[r+27|0]=o>>>16,l[r+28|0]=o>>>24,o=i[u+112>>2],i[r+16>>2]=i[u+108>>2],i[r+20>>2]=o,o=i[u+104>>2],i[r+8>>2]=i[u+100>>2],i[r+12>>2]=o,o=i[u+56>>2],r=s[o|0]}t:{if((((r&254)>>>1|0)-32&255)>>>0<=2){r=i[u+48>>2],w=B-32|0,B=w,i[w+28>>2]=0,i[w+20>>2]=0,i[w+24>>2]=0,r?(L2(w+20|0,r),h=i[w+20>>2]):h=0,l0(h,o,r),i[w+16>>2]=0,i[w+8>>2]=0,i[w+12>>2]=0,l[w+4|0]=0,l[w+5|0]=s[i[w+20>>2]]>>>1,n0=w,h0=NA(w+8|0,w+20|0),i[n0+12>>2]=h0,r=i[E+88>>2];o:{if(r>>>0<k0[E+92>>2]){o=Q[w+4>>1],i[r+12>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,X[r>>1]=o,o=i[w+8>>2],h=i[w+12>>2],qA(r+4|0,o,h,(h-o|0)/12|0),r=r+16|0;break o}r=yn(E+84|0,w+4|0)}if(i[E+88>>2]=r,h=i[w+8>>2],h){if(r=h,o=i[w+12>>2],(r|0)!=(o|0)){for(;r=o-12|0,_=i[r>>2],_&&(i[o-8>>2]=_,G(_)),o=r,(h|0)!=(o|0););r=i[w+8>>2]}i[w+12>>2]=h,G(r)}r=i[w+20>>2],r&&(i[w+24>>2]=r,G(r)),B=w+32|0;break t}m9(i[e+48>>2],y,o,i[u+48>>2])}if(V[i[i[A>>2]+104>>2]](u+92|0,i[A+4>>2],u+56|0,u+48|0,0),o=i[u+56>>2],!o)break}if(!(i[u+124>>2]&&i[u+128>>2])){if(l[u+92|0]=0,l[u+103|0]=0,r0(f,8,129,u+92|0),l[u+103|0]>=0)break r;G(i[u+92>>2]);break r}r=i[e+48>>2],i[u+96>>2]=W,i[u+92>>2]=E,i[W+4>>2]=i[W+4>>2]+1,se(r,y,u+92|0,1),r=i[u+96>>2];t:{if(!r||(o=i[r+4>>2],i[r+4>>2]=o-1,o))break t;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[A>>2];t:{if(i[r>>2]<3||(r=i[r+112>>2],!r))break t;i[u+92>>2]=D,i[u+56>>2]=z,V[r|0](i[A+4>>2],D,z,u+92|0,u+56|0)}Vi(i[e+48>>2],y,i[u+128>>2],i[u+124>>2]),r=i[u+128>>2],o=i[u+124>>2];t:{if((r|0)==(D|0)&(o|0)==(z|0)||(ar(i[e+48>>2],y,D,z,r,o),E3(D,z,i[i[u+152>>2]+36>>2])))break t;l[i[t>>2]+192|0]=0}gr(i[e+48>>2],y,i[k+12>>2]);t:switch(n-1|0){case 0:case 3:break t;default:break e}n=i[u+152>>2],r=i[n+52>>2],n=i[n+56>>2];t:{if(!n){if(!r)break t;w=i[e+48>>2],i[u+96>>2]=0,i[u+92>>2]=r;break f}if(i[n+4>>2]=i[n+4>>2]+1,r)break k}r=s[k|0],o=i[k+4>>2]!=0;break A}c2(),P()}w=i[e+48>>2],i[u+96>>2]=n,i[u+92>>2]=r,i[n+4>>2]=i[n+4>>2]+1}p8(w,y,u+92|0),r=i[u+96>>2];f:{if(!r||(o=i[r+4>>2],i[r+4>>2]=o-1,o))break f;V[i[i[r>>2]+8>>2]](r),g(r)}r=s[k|0],o=s[k+3|0]!=0&i[k+4>>2]!=0&r>>>0>2}A:{if(!(!s[k+8|0]|(r&255)>>>0<4)|!o||(o=i[e+48>>2],i[u+92>>2]=i[u+160>>2],r=i[u+164>>2],i[u+96>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),p8(o,y,u+92|0),r=i[u+96>>2],!r)||(o=i[r+4>>2],i[r+4>>2]=o-1,o))break A;V[i[i[r>>2]+8>>2]](r),g(r)}if(!n||(r=i[n+4>>2],i[n+4>>2]=r-1,r))break e;V[i[i[n>>2]+8>>2]](n),g(n)}i[u+64>>2]=i[u+152>>2],r=i[u+156>>2],i[u+68>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),r=i[u+68>>2],i[u+16>>2]=i[u+64>>2],i[u+20>>2]=r,Wi(e,u+16|0,y),r=i[e+32>>2];e:{if(r>>>0<k0[e+36>>2]){i[r>>2]=i[t>>2],n=i[t+4>>2],i[r+4>>2]=n,n&&(i[n+4>>2]=i[n+4>>2]+1),r=r+8|0;break e}r=Q2(e+28|0,t)}i[e+32>>2]=r,r=i[e+20>>2];e:{A:{if(!r){w=e+20|0,o=w;break A}for(;;){if(o=r,r=i[o+16>>2],r>>>0>y>>>0){if(w=o,r=i[o>>2],r)continue;break A}if(r>>>0>=y>>>0){r=o;break e}if(r=i[o+4>>2],!r)break}w=o+4|0}r=U(28),i[r+20>>2]=0,i[r+24>>2]=0,i[r+16>>2]=y,i[r+8>>2]=o,i[r>>2]=0,i[r+4>>2]=0,i[w>>2]=r,o=r,n=i[i[e+16>>2]>>2],n&&(i[e+16>>2]=n,o=i[w>>2]),D1(i[e+20>>2],o),i[e+24>>2]=i[e+24>>2]+1}n=i[t>>2],t=i[t+4>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),i[r+20>>2]=n,n=i[r+24>>2],i[r+24>>2]=t;e:{if(!n||(r=i[n+4>>2],i[n+4>>2]=r-1,r))break e;V[i[i[n>>2]+8>>2]](n),g(n)}e:{A:{if(!s[k+1|0]||!H2(i[u+152>>2],6))break A;i[u+56>>2]=0,i[u+60>>2]=0,s6(u+92|0,u+152|0),n=i[u+92>>2],t=i[u+96>>2],i[u+92>>2]=0,i[u+96>>2]=0,r=i[u+60>>2],i[u+56>>2]=n,i[u+60>>2]=t;f:{if(!r||(n=i[r+4>>2],i[r+4>>2]=n-1,n||(V[i[i[r>>2]+8>>2]](r),g(r)),r=i[u+96>>2],!r)||(n=i[r+4>>2],i[r+4>>2]=n-1,n))break f;V[i[i[r>>2]+8>>2]](r),g(r)}if(i[u+48>>2]=0,i[u+52>>2]=0,lk(f,e,u+56|0,A,k,2,u+48|0),i[f>>2])break e;r=i[i[u+48>>2]+20>>2],A=i[e+48>>2],i[u+44>>2]=1,i[u+36>>2]=y,i[u+40>>2]=u+36,k=i[u+44>>2],i[u+8>>2]=i[u+40>>2],i[u+12>>2]=k,k=r,r=ue(u+92|0,u+8|0),P1(A,k,1635088492,r),A=i[r>>2],A&&(i[r+4>>2]=A,G(A));f:{if(s[i[u+152>>2]+40|0]!=1||(r=i[e+48>>2],A=i[i[u+48>>2]+20>>2],i[u+32>>2]=1,i[u+36>>2]=A,i[u+28>>2]=u+36,A=i[u+32>>2],i[u>>2]=i[u+28>>2],i[u+4>>2]=A,A=r,r=ue(u+92|0,u),P1(A,y,1886545261,r),A=i[r>>2],!A))break f;i[r+4>>2]=A,G(A)}r=i[e+48>>2],A=i[i[u+48>>2]+20>>2],e=C1(u+92|0,17014),_6(r,A,e),l[e+11|0]<0&&G(i[e>>2]),l[f+19|0]<0&&G(i[f+8>>2]),v1(u+48|0),v1(u+56|0)}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break r}_0(f,i[19566],i[19567]);break r}f=i[u+52>>2];e:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break e;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=i[u+60>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[u+148>>2];r:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=i[W+4>>2],i[W+4>>2]=f-1,f)break i;V[i[i[W>>2]+8>>2]](W),g(W)}f=i[u+156>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[u+164>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=u+176|0}function uk(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0;u=B-80|0,B=u,v=Ri(i[e+48>>2],16929),o=U(360),i[o+16>>2]=0,i[o+20>>2]=0,i[o>>2]=72656,i[o+4>>2]=0,i[o+8>>2]=0,l[o+152|0]=0,i[o+36>>2]=v,i[o+32>>2]=e,i[o+28>>2]=34648,i[o+40>>2]=0,i[o+44>>2]=0,i[o+52>>2]=0,i[o+56>>2]=0,i[o+68>>2]=0,i[o+72>>2]=0,i[o+80>>2]=0,i[o+84>>2]=0,i[o+156>>2]=0,i[o+160>>2]=0,i[o+24>>2]=0,X[o+48>>1]=0,X[o+58>>1]=0,X[o+60>>1]=0,X[o+62>>1]=0,X[o+64>>1]=0,l[o+76|0]=0,l[o+88|0]=0,i[o+204>>2]=0,i[o+196>>2]=0,i[o+200>>2]=0,i[o+188>>2]=0,i[o+192>>2]=0,i[o+180>>2]=0,i[o+184>>2]=0,i[o+172>>2]=0,i[o+176>>2]=0,i[o+164>>2]=0,i[o+168>>2]=0,i[o+212>>2]=0,i[o+216>>2]=0,l[o+208|0]=1,l[o+217|0]=0,l[o+218|0]=0,l[o+219|0]=0,l[o+220|0]=0,l[o+221|0]=0,l[o+222|0]=0,l[o+223|0]=0,l[o+224|0]=0,i[o+232>>2]=0,i[o+236>>2]=0,i[o+240>>2]=0,i[o+244>>2]=0,i[o+248>>2]=0,i[o+252>>2]=0,i[o+256>>2]=0,i[o+260>>2]=0,i[o+264>>2]=0,i[o+268>>2]=0,l[o+272|0]=0,B0(o+280|0,0,80),i[o+296>>2]=0,i[o+300>>2]=0,l[o+292|0]=1,i[o+304>>2]=0,i[o+308>>2]=0,i[o+312>>2]=0,i[o+316>>2]=0,i[o+328>>2]=0,i[o+332>>2]=0,i[o+320>>2]=0,i[o+324>>2]=1072693248,i[o+336>>2]=0,i[o+340>>2]=0,i[o+344>>2]=0,i[o+348>>2]=0,i[o+352>>2]=0,i[o+96>>2]=0,i[o+100>>2]=0,i[o+104>>2]=0,i[o+108>>2]=0,i[o+112>>2]=0,i[o+116>>2]=0,i[o+120>>2]=0,i[o+124>>2]=0,i[o+128>>2]=0,i[o+132>>2]=0,i[o+136>>2]=0,i[o+140>>2]=0,i[o+144>>2]=0,i[o+148>>2]=0,i[t>>2]=o+16,h=i[t+4>>2],i[t+4>>2]=o;i:{if(!h||(o=i[h+4>>2],i[h+4>>2]=o-1,o))break i;V[i[i[h>>2]+8>>2]](h),g(h)}o=i[e+32>>2];i:{if(o>>>0<k0[e+36>>2]){i[o>>2]=i[t>>2],t=i[t+4>>2],i[o+4>>2]=t,t&&(i[t+4>>2]=i[t+4>>2]+1),t=o+8|0;break i}t=Q2(e+28|0,t)}i[e+32>>2]=t,t=i[r>>2],i[u+76>>2]=i[t+32>>2],i[u+72>>2]=i[t+36>>2],$r(u- -64|0,r,i[k+4>>2]),t=i[A>>2];i:{if(i[t>>2]>=2){V[i[t+108>>2]](i[A+4>>2],u+76|0,u+72|0);break i}V[i[t+96>>2]](u+76|0,u+72|0)}i:{r:{e:{if(o=i[u+76>>2],h=i[r>>2],t=i[u+72>>2],!((o|0)!=i[h+32>>2]|(t|0)!=i[h+36>>2])){if(_=i[h+44>>2],t=i[h+48>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),p6(o,_,t,i[k+4>>2]))break e;o=i[u+76>>2],t=i[u+72>>2]}if(i[u+48>>2]=i[u+64>>2],h=i[u+68>>2],i[u+52>>2]=h,h&&(i[h+4>>2]=i[h+4>>2]+1),N8(u+36|0,r,o,t,u+48|0,0,k+16|0),o=i[u+36>>2],t=i[u+40>>2],i[u+36>>2]=0,i[u+40>>2]=0,i[u+60>>2]=t,i[u+56>>2]=o,t=i[u+52>>2],t&&(o=i[t+4>>2],i[t+4>>2]=o-1,o||(V[i[i[t>>2]+8>>2]](t),g(t)),o=i[u+56>>2]),o)break r;if(l[u+36|0]=0,l[u+47|0]=0,r0(f,4,3003,u+36|0),l[u+47|0]>=0)break i;G(i[u+36>>2]);break i}o=i[r>>2],t=i[r+4>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),i[u+60>>2]=t,i[u+56>>2]=o}r:{e:{if(!s[k+1|0]||!H2(o,6))break e;i[u+48>>2]=0,i[u+52>>2]=0,s6(u+36|0,u+56|0),o=i[u+36>>2],h=i[u+40>>2],i[u+36>>2]=0,i[u+40>>2]=0,t=i[u+52>>2],i[u+48>>2]=o,i[u+52>>2]=h;A:{if(!t||(o=i[t+4>>2],i[t+4>>2]=o-1,o||(V[i[i[t>>2]+8>>2]](t),g(t)),t=i[u+40>>2],!t)||(o=i[t+4>>2],i[t+4>>2]=o-1,o))break A;V[i[i[t>>2]+8>>2]](t),g(t)}if(i[u+28>>2]=0,i[u+32>>2]=0,uk(f,e,u+48|0,A,k,2,u+28|0),i[f>>2])break r;t=i[i[u+28>>2]+20>>2],o=i[e+48>>2],k=U(4),i[u+36>>2]=k,h=k+4|0,i[u+44>>2]=h,i[k>>2]=v,i[u+40>>2]=h,P1(o,t,1635088492,u+36|0),k=i[u+36>>2],k&&(i[u+40>>2]=k,G(k)),h=i[i[u+28>>2]+20>>2],_=i[e+48>>2],k=U(48),i[u+36>>2]=k,i[u+40>>2]=43,i[u+44>>2]=-2147483600,t=s[14658]|s[14659]<<8|(s[14660]<<16|s[14661]<<24),l[k+39|0]=t,l[k+40|0]=t>>>8,l[k+41|0]=t>>>16,l[k+42|0]=t>>>24,t=s[14655]|s[14656]<<8|(s[14657]<<16|s[14658]<<24),o=s[14651]|s[14652]<<8|(s[14653]<<16|s[14654]<<24),l[k+32|0]=o,l[k+33|0]=o>>>8,l[k+34|0]=o>>>16,l[k+35|0]=o>>>24,l[k+36|0]=t,l[k+37|0]=t>>>8,l[k+38|0]=t>>>16,l[k+39|0]=t>>>24,t=s[14647]|s[14648]<<8|(s[14649]<<16|s[14650]<<24),o=s[14643]|s[14644]<<8|(s[14645]<<16|s[14646]<<24),l[k+24|0]=o,l[k+25|0]=o>>>8,l[k+26|0]=o>>>16,l[k+27|0]=o>>>24,l[k+28|0]=t,l[k+29|0]=t>>>8,l[k+30|0]=t>>>16,l[k+31|0]=t>>>24,t=s[14639]|s[14640]<<8|(s[14641]<<16|s[14642]<<24),o=s[14635]|s[14636]<<8|(s[14637]<<16|s[14638]<<24),l[k+16|0]=o,l[k+17|0]=o>>>8,l[k+18|0]=o>>>16,l[k+19|0]=o>>>24,l[k+20|0]=t,l[k+21|0]=t>>>8,l[k+22|0]=t>>>16,l[k+23|0]=t>>>24,t=s[14631]|s[14632]<<8|(s[14633]<<16|s[14634]<<24),o=s[14627]|s[14628]<<8|(s[14629]<<16|s[14630]<<24),l[k+8|0]=o,l[k+9|0]=o>>>8,l[k+10|0]=o>>>16,l[k+11|0]=o>>>24,l[k+12|0]=t,l[k+13|0]=t>>>8,l[k+14|0]=t>>>16,l[k+15|0]=t>>>24,t=s[14623]|s[14624]<<8|(s[14625]<<16|s[14626]<<24),o=s[14619]|s[14620]<<8|(s[14621]<<16|s[14622]<<24),l[k|0]=o,l[k+1|0]=o>>>8,l[k+2|0]=o>>>16,l[k+3|0]=o>>>24,l[k+4|0]=t,l[k+5|0]=t>>>8,l[k+6|0]=t>>>16,l[k+7|0]=t>>>24,l[k+43|0]=0,_6(_,h,u+36|0),l[u+47|0]<0&&G(i[u+36>>2]);A:{if(s[i[u+56>>2]+40|0]!=1||(t=i[e+48>>2],o=i[i[u+28>>2]+20>>2],k=U(4),i[u+36>>2]=k,h=k+4|0,i[u+44>>2]=h,i[k>>2]=o,i[u+40>>2]=h,P1(t,v,1886545261,u+36|0),k=i[u+36>>2],!k))break A;i[u+40>>2]=k,G(k)}l[f+19|0]<0&&G(i[f+8>>2]),k=i[u+32>>2];A:{if(!k||(t=i[k+4>>2],i[k+4>>2]=t-1,t))break A;V[i[i[k>>2]+8>>2]](k),g(k)}k=i[u+52>>2];A:{if(!k||(t=i[k+4>>2],i[k+4>>2]=t-1,t))break A;V[i[i[k>>2]+8>>2]](k),g(k)}o=i[u+56>>2]}i[u+52>>2]=0,t=i[u+60>>2];e:{if(!t){i[u+52>>2]=0,i[u+48>>2]=o;break e}if(i[t+4>>2]=i[t+4>>2]+1,i[u+48>>2]=o,k=i[u+52>>2],i[u+52>>2]=t,!k||(t=i[k+4>>2],i[k+4>>2]=t-1,t))break e;V[i[i[k>>2]+8>>2]](k),g(k)}if(k=u+36|0,V[i[i[A>>2]+100>>2]](k,i[A+4>>2],u+48|0,n),V[i[i[A>>2]+104>>2]](k,i[A+4>>2],u+28|0,u+24|0,0),o=i[u+28>>2],o)for(;t=0,i[u+44>>2]=0,i[u+36>>2]=0,i[u+40>>2]=0,k=i[u+24>>2],k?(L2(u+36|0,k),t=i[u+24>>2],o=i[u+28>>2],k=i[u+36>>2]):k=0,l0(k,o,t),hi(i[e+48>>2],v,u+36|0,0),k=i[u+36>>2],k&&(i[u+40>>2]=k,G(k)),V[i[i[A>>2]+104>>2]](u+36|0,i[A+4>>2],u+28|0,u+24|0,0),o=i[u+28>>2],!!o;);r=i[r>>2],Vi(i[e+48>>2],v,i[r+24>>2],i[r+28>>2]),A=i[e+48>>2],i[u+36>>2]=i[u+64>>2],r=i[u+68>>2],i[u+40>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),p8(A,v,u+36|0),r=i[u+40>>2];e:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break e;V[i[i[r>>2]+8>>2]](r),g(r)}o=i[e+48>>2],A=B-16|0,B=A,r=U(64),i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=72144,n=r+16|0,k=n,i[k+8>>2]=0,i[k+12>>2]=0,i[k+16>>2]=0,i[k+20>>2]=0,i[k+24>>2]=0,i[k+28>>2]=0,i[k+32>>2]=0,i[k>>2]=68500,i[r+60>>2]=0,i[r+52>>2]=0,i[r+56>>2]=0,i[k>>2]=74848,i[r+32>>2]=1781689160,i[u+40>>2]=r,i[u+36>>2]=k,k=i[o+44>>2],i[A+12>>2]=r,i[A+8>>2]=n,i[r+4>>2]=i[r+4>>2]+1,t=i[k+40>>2];e:{A:{if(t>>>0<k0[k+44>>2]){i[t+4>>2]=r,i[t>>2]=n,i[r+4>>2]=i[r+4>>2]+1,n=t+8|0,i[k+40>>2]=n,k=i[k+36>>2];break A}if(n=Q2(k+36|0,A+8|0),r=i[A+12>>2],i[k+40>>2]=n,k=i[k+36>>2],!r)break e}if(t=i[r+4>>2],i[r+4>>2]=t-1,t)break e;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[o+52>>2],l[A+4|0]=1,X[A+6>>1]=n-k>>>3,i[A>>2]=Q[A+4>>1]|Q[A+6>>1]<<16,c1(r,v,A),B=A+16|0,A=U(80),i[A>>2]=72184,i[A+4>>2]=0,i[A+8>>2]=0,h=A+16|0,r=h,i[r+8>>2]=0,i[r+12>>2]=0,i[r+16>>2]=0,i[r+20>>2]=0,i[r+24>>2]=0,i[r+28>>2]=0,i[r+32>>2]=0,i[r>>2]=68500,i[A+60>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[r>>2]=74608,i[A+72>>2]=0,i[A+64>>2]=0,i[A+68>>2]=0,i[A+32>>2]=1667523942,o=0;e:{A:{f:{k:{n:{t:{o:{u:switch(i[i[u+56>>2]+32>>2]){case 1:_=h+48|0,n=i[h+52>>2],r=i[h+56>>2];l:{if(n>>>0<r>>>0){X[n+4>>1]=1,X[n>>1]=0,X[n+2>>1]=0,k=n+6|0;break l}if(o=i[h+48>>2],w=(n-o|0)/6|0,t=w+1|0,t>>>0>=715827883)break o;if(k=0,r=(r-o|0)/6|0,Z=r<<1,r=r>>>0>=357913941?715827882:t>>>0<Z>>>0?Z:t,r){if(r>>>0>=715827883)break t;k=U(m(r,6))}if(t=m(w,6)+k|0,X[t+4>>1]=1,X[t>>1]=0,X[t+2>>1]=0,r=m(r,6)+k|0,k=t+6|0,(n|0)!=(o|0)){for(;t=t-6|0,n=n-6|0,w=Q[n>>1]|Q[n+2>>1]<<16,X[t>>1]=w,X[t+2>>1]=w>>>16,X[t+4>>1]=Q[n+4>>1],(n|0)!=(o|0););o=i[h+48>>2]}if(i[h+56>>2]=r,i[h+52>>2]=k,i[h+48>>2]=t,!o)break l;G(o),r=i[h+56>>2]}i[h+52>>2]=k;l:{if(r>>>0>k>>>0){X[k+4>>1]=2,X[k>>1]=1,X[k+2>>1]=0,n=k+6|0;break l}if(o=i[h+48>>2],t=(k-o|0)/6|0,n=t+1|0,n>>>0>=715827883)break o;if(r=(r-o|0)/6|0,w=r<<1,r=r>>>0>=357913941?715827882:n>>>0<w>>>0?w:n,r){if(r>>>0>=715827883)break t;n=U(m(r,6))}else n=0;if(t=n+m(t,6)|0,X[t+4>>1]=2,X[t>>1]=1,X[t+2>>1]=0,r=n+m(r,6)|0,n=t+6|0,(k|0)!=(o|0)){for(;t=t-6|0,k=k-6|0,w=Q[k>>1]|Q[k+2>>1]<<16,X[t>>1]=w,X[t+2>>1]=w>>>16,X[t+4>>1]=Q[k+4>>1],(k|0)!=(o|0););o=i[h+48>>2]}if(i[h+56>>2]=r,i[h+52>>2]=n,i[h+48>>2]=t,!o)break l;G(o),r=i[h+56>>2]}if(i[h+52>>2]=n,r>>>0>n>>>0)break f;if(t=i[h+48>>2],w=(n-t|0)/6|0,k=w+1|0,k>>>0>=715827883)break o;if(r=(r-t|0)/6|0,o=r<<1,o=r>>>0>=357913941?715827882:k>>>0<o>>>0?o:k,o){if(o>>>0>=715827883)break t;r=U(m(o,6))}else r=0;k=r+m(w,6)|0,X[k+4>>1]=3;break A;case 0:_=h+48|0,n=i[h+52>>2],r=i[h+56>>2];l:{if(n>>>0<r>>>0){X[n+4>>1]=1,X[n>>1]=0,X[n+2>>1]=0,k=n+6|0;break l}if(o=i[h+48>>2],w=(n-o|0)/6|0,t=w+1|0,t>>>0>=715827883)break n;if(k=0,r=(r-o|0)/6|0,Z=r<<1,r=r>>>0>=357913941?715827882:t>>>0<Z>>>0?Z:t,r){if(r>>>0>=715827883)break t;k=U(m(r,6))}if(t=m(w,6)+k|0,X[t+4>>1]=1,X[t>>1]=0,X[t+2>>1]=0,r=m(r,6)+k|0,k=t+6|0,(n|0)!=(o|0)){for(;t=t-6|0,n=n-6|0,w=Q[n>>1]|Q[n+2>>1]<<16,X[t>>1]=w,X[t+2>>1]=w>>>16,X[t+4>>1]=Q[n+4>>1],(n|0)!=(o|0););o=i[h+48>>2]}if(i[h+56>>2]=r,i[h+52>>2]=k,i[h+48>>2]=t,!o)break l;G(o),r=i[h+56>>2]}i[h+52>>2]=k;l:{if(r>>>0>k>>>0){X[k+4>>1]=2,X[k>>1]=1,X[k+2>>1]=0,n=k+6|0;break l}if(o=i[h+48>>2],t=(k-o|0)/6|0,n=t+1|0,n>>>0>=715827883)break n;if(r=(r-o|0)/6|0,w=r<<1,r=r>>>0>=357913941?715827882:n>>>0<w>>>0?w:n,r){if(r>>>0>=715827883)break t;n=U(m(r,6))}else n=0;if(t=n+m(t,6)|0,X[t+4>>1]=2,X[t>>1]=1,X[t+2>>1]=0,r=n+m(r,6)|0,n=t+6|0,(k|0)!=(o|0)){for(;t=t-6|0,k=k-6|0,w=Q[k>>1]|Q[k+2>>1]<<16,X[t>>1]=w,X[t+2>>1]=w>>>16,X[t+4>>1]=Q[k+4>>1],(k|0)!=(o|0););o=i[h+48>>2]}if(i[h+56>>2]=r,i[h+52>>2]=n,i[h+48>>2]=t,!o)break l;G(o),r=i[h+56>>2]}if(i[h+52>>2]=n,r>>>0>n>>>0)break f;if(t=i[h+48>>2],w=(n-t|0)/6|0,k=w+1|0,k>>>0>=715827883)break n;if(r=(r-t|0)/6|0,o=r<<1,o=r>>>0>=357913941?715827882:k>>>0<o>>>0?o:k,o){if(o>>>0>=715827883)break t;r=U(m(o,6))}else r=0;k=r+m(w,6)|0,X[k+4>>1]=3;break A;case 2:break u;default:break e}k=i[h+52>>2],n=i[h+56>>2];u:{if(k>>>0<n>>>0){X[k+4>>1]=1,X[k>>1]=0,X[k+2>>1]=0,o=k+6|0;break u}if(t=i[h+48>>2],_=(k-t|0)/6|0,r=_+1|0,r>>>0>=715827883)break k;if(n=(n-t|0)/6|0,w=n<<1,r=n>>>0>=357913941?715827882:r>>>0<w>>>0?w:r,r){if(r>>>0>=715827883)break t;o=U(m(r,6))}if(n=m(_,6)+o|0,X[n+4>>1]=1,X[n>>1]=0,X[n+2>>1]=0,r=m(r,6)+o|0,o=n+6|0,(k|0)!=(t|0)){for(;n=n-6|0,k=k-6|0,_=Q[k>>1]|Q[k+2>>1]<<16,X[n>>1]=_,X[n+2>>1]=_>>>16,X[n+4>>1]=Q[k+4>>1],(k|0)!=(t|0););t=i[h+48>>2]}if(i[h+56>>2]=r,i[h+52>>2]=o,i[h+48>>2]=n,!t)break u;G(t)}i[h+52>>2]=o;break e}y0(),P()}_2(),P()}y0(),P()}y0(),P()}X[n+4>>1]=3,X[n>>1]=2,X[n+2>>1]=0,i[h+52>>2]=n+6;break e}if(X[k>>1]=2,X[k+2>>1]=0,w=k+6|0,(n|0)!=(t|0)){for(;k=k-6|0,n=n-6|0,Z=Q[n>>1]|Q[n+2>>1]<<16,X[k>>1]=Z,X[k+2>>1]=Z>>>16,X[k+4>>1]=Q[n+4>>1],(n|0)!=(t|0););t=i[_>>2]}i[h+56>>2]=m(o,6)+r,i[h+52>>2]=w,i[h+48>>2]=k,t&&G(t),i[h+52>>2]=w}r=i[u+36>>2],i[u+32>>2]=A,i[u+28>>2]=h,i[A+4>>2]=i[A+4>>2]+1,k=i[r+40>>2];e:{A:{if(k>>>0<k0[r+44>>2]){i[k+4>>2]=A,i[k>>2]=h,i[A+4>>2]=i[A+4>>2]+1,i[r+40>>2]=k+8,t=A;break A}if(k=Q2(r+36|0,u+28|0),t=i[u+32>>2],i[r+40>>2]=k,!t)break e}if(r=i[t+4>>2],i[t+4>>2]=r-1,r)break e;V[i[i[t>>2]+8>>2]](t),g(t)}i[u+16>>2]=i[u+56>>2],r=i[u+60>>2],i[u+20>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),r=i[u+20>>2],i[u+8>>2]=i[u+16>>2],i[u+12>>2]=r,Wi(e,u+8|0,v),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;e:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break e}_0(f,i[19566],i[19567])}f=i[A+4>>2],i[A+4>>2]=f-1,f||(V[i[i[A>>2]+8>>2]](A),g(A)),f=i[u+40>>2];e:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break e;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=i[u+52>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f);break i}f=i[u+32>>2];r:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=i[u+52>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[u+60>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[u+68>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=u+80|0}function wA(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0;_=B-32|0,B=_,w8(_+8|0,r,A,e+60|0);i:{if(i[_+8>>2]){e=i[_+12>>2],i[f>>2]=i[_+8>>2],i[f+4>>2]=e,e=i[_+20>>2],i[f+8>>2]=i[_+16>>2],i[f+12>>2]=e,i[f+16>>2]=i[_+24>>2];break i}o=B-48|0,B=o,i[e+72>>2]=0,k=o+24|0,A=B-16|0,B=A;r:{e:{if(n=i[e+60>>2],r=i[e+64>>2]-n|0,r>>>0>=2&&(t=r-2|0,r=i[e+72>>2],t>>>0>=r>>>0))break e;if(l[A+4|0]=0,l[A+15|0]=0,r0(k,2,140,A+4|0),l[A+15|0]>=0)break r;G(i[A+4>>2]);break r}if(n=r+n|0,n=s[n|0]|s[n+1|0]<<8,i[e+72>>2]=r+2,((n<<8|n>>>8)&65535)==65359){if(r=i[19565],i[k>>2]=i[19564],i[k+4>>2]=r,r=k+8|0,l[78275]>=0){k=i[19567],i[r>>2]=i[19566],i[r+4>>2]=k,i[r+8>>2]=i[19568];break r}_0(r,i[19566],i[19567]);break r}if(r=U(32),i[A+4>>2]=r,i[A+8>>2]=27,i[A+12>>2]=-2147483616,n=s[5671]|s[5672]<<8|(s[5673]<<16|s[5674]<<24),u=s[5667]|s[5668]<<8|(s[5669]<<16|s[5670]<<24),l[r|0]=u,l[r+1|0]=u>>>8,l[r+2|0]=u>>>16,l[r+3|0]=u>>>24,l[r+4|0]=n,l[r+5|0]=n>>>8,l[r+6|0]=n>>>16,l[r+7|0]=n>>>24,l[r+27|0]=0,n=s[5690]|s[5691]<<8|(s[5692]<<16|s[5693]<<24),l[r+23|0]=n,l[r+24|0]=n>>>8,l[r+25|0]=n>>>16,l[r+26|0]=n>>>24,n=s[5687]|s[5688]<<8|(s[5689]<<16|s[5690]<<24),u=s[5683]|s[5684]<<8|(s[5685]<<16|s[5686]<<24),l[r+16|0]=u,l[r+17|0]=u>>>8,l[r+18|0]=u>>>16,l[r+19|0]=u>>>24,l[r+20|0]=n,l[r+21|0]=n>>>8,l[r+22|0]=n>>>16,l[r+23|0]=n>>>24,n=s[5679]|s[5680]<<8|(s[5681]<<16|s[5682]<<24),u=s[5675]|s[5676]<<8|(s[5677]<<16|s[5678]<<24),l[r+8|0]=u,l[r+9|0]=u>>>8,l[r+10|0]=u>>>16,l[r+11|0]=u>>>24,l[r+12|0]=n,l[r+13|0]=n>>>8,l[r+14|0]=n>>>16,l[r+15|0]=n>>>24,r0(k,2,140,A+4|0),l[A+15|0]>=0)break r;G(i[A+4>>2])}B=A+16|0;r:{if(i[o+24>>2]){e=i[o+28>>2],i[f>>2]=i[o+24>>2],i[f+4>>2]=e,i[f+16>>2]=i[o+40>>2],e=i[o+36>>2],i[f+8>>2]=i[o+32>>2],i[f+12>>2]=e,i[o+40>>2]=0,i[o+32>>2]=0,i[o+36>>2]=0;break r}n=B-16|0,B=n;e:{A:{if(A=i[e+60>>2],u=i[e+64>>2]-A|0,u>>>0>=43&&(r=i[e+72>>2],r>>>0<=u-43>>>0))break A;if(l[n+4|0]=0,l[n+15|0]=0,r0(o,2,140,n+4|0),l[n+15|0]>=0)break e;G(i[n+4>>2]);break e}if(k=r+A|0,k=s[k|0]|s[k+1|0]<<8,t=r+2|0,i[e+72>>2]=t,((k<<8|k>>>8)&65535)!=65361){if(r=U(32),i[n+4>>2]=r,i[n+8>>2]=27,i[n+12>>2]=-2147483616,A=s[5643]|s[5644]<<8|(s[5645]<<16|s[5646]<<24),k=s[5639]|s[5640]<<8|(s[5641]<<16|s[5642]<<24),l[r|0]=k,l[r+1|0]=k>>>8,l[r+2|0]=k>>>16,l[r+3|0]=k>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+27|0]=0,A=s[5662]|s[5663]<<8|(s[5664]<<16|s[5665]<<24),l[r+23|0]=A,l[r+24|0]=A>>>8,l[r+25|0]=A>>>16,l[r+26|0]=A>>>24,A=s[5659]|s[5660]<<8|(s[5661]<<16|s[5662]<<24),k=s[5655]|s[5656]<<8|(s[5657]<<16|s[5658]<<24),l[r+16|0]=k,l[r+17|0]=k>>>8,l[r+18|0]=k>>>16,l[r+19|0]=k>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[5651]|s[5652]<<8|(s[5653]<<16|s[5654]<<24),k=s[5647]|s[5648]<<8|(s[5649]<<16|s[5650]<<24),l[r+8|0]=k,l[r+9|0]=k>>>8,l[r+10|0]=k>>>16,l[r+11|0]=k>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(o,2,140,n+4|0),l[n+15|0]>=0)break e;G(i[n+4>>2]);break e}if(k=A+t|0,k=s[k|0]|s[k+1|0]<<8,t=r+4|0,i[e+72>>2]=t,((k<<8|k>>>8)+16345&65535)>>>0<=16385){if(r=U(24),i[n+4>>2]=r,i[n+8>>2]=23,i[n+12>>2]=-2147483624,A=s[9151]|s[9152]<<8|(s[9153]<<16|s[9154]<<24),k=s[9147]|s[9148]<<8|(s[9149]<<16|s[9150]<<24),l[r|0]=k,l[r+1|0]=k>>>8,l[r+2|0]=k>>>16,l[r+3|0]=k>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+23|0]=0,A=s[9166]|s[9167]<<8|(s[9168]<<16|s[9169]<<24),k=s[9162]|s[9163]<<8|(s[9164]<<16|s[9165]<<24),l[r+15|0]=k,l[r+16|0]=k>>>8,l[r+17|0]=k>>>16,l[r+18|0]=k>>>24,l[r+19|0]=A,l[r+20|0]=A>>>8,l[r+21|0]=A>>>16,l[r+22|0]=A>>>24,A=s[9159]|s[9160]<<8|(s[9161]<<16|s[9162]<<24),k=s[9155]|s[9156]<<8|(s[9157]<<16|s[9158]<<24),l[r+8|0]=k,l[r+9|0]=k>>>8,l[r+10|0]=k>>>16,l[r+11|0]=k>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(o,2,140,n+4|0),l[n+15|0]>=0)break e;G(i[n+4>>2]);break e}if(k=A+t|0,k=s[k|0]|s[k+1|0]<<8,t=r+6|0,i[e+72>>2]=t,X[e>>1]=k<<8|k>>>8,k=A+t|0,k=s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24),t=r+10|0,i[e+72>>2]=t,i[e+4>>2]=k<<24|(k&65280)<<8|(k>>>8&65280|k>>>24),k=A+t|0,k=s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24),t=r+14|0,i[e+72>>2]=t,i[e+8>>2]=k<<24|(k&65280)<<8|(k>>>8&65280|k>>>24),k=A+t|0,k=s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24),t=r+18|0,i[e+72>>2]=t,i[e+12>>2]=k<<24|(k&65280)<<8|(k>>>8&65280|k>>>24),k=A+t|0,k=s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24),t=r+22|0,i[e+72>>2]=t,i[e+16>>2]=k<<24|(k&65280)<<8|(k>>>8&65280|k>>>24),k=A+t|0,k=s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24),t=r+26|0,i[e+72>>2]=t,i[e+20>>2]=k<<24|(k&65280)<<8|(k>>>8&65280|k>>>24),k=A+t|0,k=s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24),t=r+30|0,i[e+72>>2]=t,i[e+24>>2]=k<<24|(k&65280)<<8|(k>>>8&65280|k>>>24),k=A+t|0,k=s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24),t=r+34|0,i[e+72>>2]=t,i[e+28>>2]=k<<24|(k&65280)<<8|(k>>>8&65280|k>>>24),k=A+t|0,k=s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24),t=r+38|0,i[e+72>>2]=t,i[e+32>>2]=k<<24|(k&65280)<<8|(k>>>8&65280|k>>>24),A=A+t|0,A=s[A|0]|s[A+1|0]<<8,r=r+40|0,i[e+72>>2]=r,v=A<<8|A>>>8,(v-16385&65535)>>>0<=49151){if(r=U(24),i[n+4>>2]=r,i[n+8>>2]=23,i[n+12>>2]=-2147483624,A=s[9175]|s[9176]<<8|(s[9177]<<16|s[9178]<<24),k=s[9171]|s[9172]<<8|(s[9173]<<16|s[9174]<<24),l[r|0]=k,l[r+1|0]=k>>>8,l[r+2|0]=k>>>16,l[r+3|0]=k>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+23|0]=0,A=s[9190]|s[9191]<<8|(s[9192]<<16|s[9193]<<24),k=s[9186]|s[9187]<<8|(s[9188]<<16|s[9189]<<24),l[r+15|0]=k,l[r+16|0]=k>>>8,l[r+17|0]=k>>>16,l[r+18|0]=k>>>24,l[r+19|0]=A,l[r+20|0]=A>>>8,l[r+21|0]=A>>>16,l[r+22|0]=A>>>24,A=s[9183]|s[9184]<<8|(s[9185]<<16|s[9186]<<24),k=s[9179]|s[9180]<<8|(s[9181]<<16|s[9182]<<24),l[r+8|0]=k,l[r+9|0]=k>>>8,l[r+10|0]=k>>>16,l[r+11|0]=k>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(o,2,140,n+4|0),l[n+15|0]>=0)break e;G(i[n+4>>2]);break e}if(r>>>0<=u+m(v&65535,-3)>>>0){r=i[e+40>>2];A:{f:{for(;;){k=i[e+60>>2],A=i[e+72>>2],u=s[k+A|0],t=A+1|0,i[e+72>>2]=t,h=s[k+t|0],t=A+2|0,i[e+72>>2]=t,Z=s[k+t|0],i[e+72>>2]=A+3,p=u>>>7|0,W=(u&127)+1|0,k=i[e+44>>2];k:{if(k>>>0>r>>>0){A=h|(W<<16|p<<24|Z<<8),l[r|0]=A,l[r+1|0]=A>>>8,l[r+2|0]=A>>>16,l[r+3|0]=A>>>24,r=r+4|0;break k}if(t=i[e+36>>2],u=r-t>>2,A=u+1|0,A>>>0>=1073741824)break f;if(k=k-t|0,w=k>>1,w=k>>>0>=2147483644?1073741823:A>>>0<w>>>0?w:A,w){if(w>>>0>=1073741824)break A;k=U(w<<2)}else k=0;if(u=k+(u<<2)|0,A=h|(W<<16|p<<24|Z<<8),l[u|0]=A,l[u+1|0]=A>>>8,l[u+2|0]=A>>>16,l[u+3|0]=A>>>24,A=u+4|0,(r|0)!=(t|0)){for(;u=u-4|0,r=r-4|0,h=s[r|0]|s[r+1|0]<<8|(s[r+2|0]<<16|s[r+3|0]<<24),l[u|0]=h,l[u+1|0]=h>>>8,l[u+2|0]=h>>>16,l[u+3|0]=h>>>24,(r|0)!=(t|0););t=i[e+36>>2]}i[e+44>>2]=k+(w<<2),i[e+40>>2]=A,i[e+36>>2]=u,t&&G(t),r=A}if(i[e+40>>2]=r,C=C+1|0,!((C&65535)>>>0<(v&65535)>>>0))break}V3(o);break e}y0(),P()}_2(),P()}if(r=C1(n+4|0,31341),r0(o,2,140,r),l[r+11|0]>=0)break e;G(i[r>>2])}if(B=n+16|0,A=i[o+4>>2],r=i[o>>2],i[o+24>>2]=r,i[o+28>>2]=A,l[o+43|0]<0&&(G(i[o+32>>2]),r=i[o+24>>2]),A=i[o+12>>2],i[o+32>>2]=i[o+8>>2],i[o+36>>2]=A,i[o+40>>2]=i[o+16>>2],r){e=i[o+28>>2],i[f>>2]=i[o+24>>2],i[f+4>>2]=e,i[f+16>>2]=i[o+40>>2],e=i[o+36>>2],i[f+8>>2]=i[o+32>>2],i[f+12>>2]=e,i[o+32>>2]=0,i[o+36>>2]=0,i[o+40>>2]=0;break r}if(r=i[e+72>>2],A=i[e+60>>2],r>>>0<(i[e+64>>2]-A|0)-2>>>0){if(A=r+A|0,A=s[A|0]|s[A+1|0]<<8,i[e+72>>2]=r+2,((A<<8|A>>>8)&65535)==65360){k=B-16|0,B=k,A=i[e+72>>2],r=i[e+60>>2];e:{if(A>>>0>(i[e+64>>2]-r|0)-8>>>0){if(l[k+4|0]=0,l[k+15|0]=0,r0(f,2,140,k+4|0),l[k+15|0]>=0)break e;G(i[k+4>>2]);break e}if(n=r+A|0,n=s[n|0]|s[n+1|0]<<8,u=A+2|0,i[e+72>>2]=u,((n<<8|n>>>8)-71&65535)>>>0<=65472){if(e=U(24),i[k+4>>2]=e,i[k+8>>2]=23,i[k+12>>2]=-2147483624,r=s[9223]|s[9224]<<8|(s[9225]<<16|s[9226]<<24),A=s[9219]|s[9220]<<8|(s[9221]<<16|s[9222]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+23|0]=0,r=s[9238]|s[9239]<<8|(s[9240]<<16|s[9241]<<24),A=s[9234]|s[9235]<<8|(s[9236]<<16|s[9237]<<24),l[e+15|0]=A,l[e+16|0]=A>>>8,l[e+17|0]=A>>>16,l[e+18|0]=A>>>24,l[e+19|0]=r,l[e+20|0]=r>>>8,l[e+21|0]=r>>>16,l[e+22|0]=r>>>24,r=s[9231]|s[9232]<<8|(s[9233]<<16|s[9234]<<24),A=s[9227]|s[9228]<<8|(s[9229]<<16|s[9230]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,140,k+4|0),l[k+15|0]>=0)break e;G(i[k+4>>2]);break e}for(r=r+u|0,r=s[r|0]|s[r+1|0]<<8|(s[r+2|0]<<16|s[r+3|0]<<24),i[e+72>>2]=A+6,v=r<<24|(r&65280)<<8|(r>>>8&65280|r>>>24),u=2;;){A:{if(!(v>>>32-u&1))break A;if((u|0)==15){r=i[e+72>>2],A=r+i[e+60>>2]|0,n=s[A+1|0],A=s[A|0],i[e+72>>2]=r+2,r=A<<24|n<<16|15,i[k>>2]=r,i[k+4>>2]=r;f:{if(r=i[e+52>>2],n=i[e+56>>2],r>>>0<n>>>0){A=Q[k>>1]|Q[k+2>>1]<<16,X[r>>1]=A,X[r+2>>1]=A>>>16,i[e+52>>2]=r+4;break f}k:{if(t=i[e+48>>2],h=r-t>>2,A=h+1|0,A>>>0<1073741824){if(n=n-t|0,w=n>>1,w=n>>>0>=2147483644?1073741823:A>>>0<w>>>0?w:A,w){if(w>>>0>=1073741824)break k;A=U(w<<2)}else A=0;if(n=A+(h<<2)|0,h=Q[k>>1]|Q[k+2>>1]<<16,X[n>>1]=h,X[n+2>>1]=h>>>16,h=n+4|0,(r|0)!=(t|0)){for(;n=n-4|0,r=r-4|0,Z=Q[r>>1]|Q[r+2>>1]<<16,X[n>>1]=Z,X[n+2>>1]=Z>>>16,(r|0)!=(t|0););t=i[e+48>>2]}i[e+56>>2]=A+(w<<2),i[e+52>>2]=h,i[e+48>>2]=n,t&&G(t),i[e+52>>2]=h;break f}y0(),P()}_2(),P()}break A}n=k+4|0,r=H0(x(98732,20800,39),u),A=i[(i[i[r>>2]-12>>2]+r|0)+28>>2],i[n>>2]=A,(A|0)!=100008&&(i[A+4>>2]=i[A+4>>2]+1),A=x0(n,100192),A=V[i[i[A>>2]+28>>2]](A,10)|0,O0(n),D9(r,A),Ni(r),i[e+72>>2]=i[e+72>>2]+2}if(u=u+1|0,(u|0)==33)break}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break e}_0(f,i[19566],i[19567])}B=k+16|0;break r}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break r}_0(f,i[19566],i[19567]);break r}if(e=U(40),i[o>>2]=e,i[o+4>>2]=33,i[o+8>>2]=-2147483608,r=s[18255]|s[18256]<<8|(s[18257]<<16|s[18258]<<24),A=s[18251]|s[18252]<<8|(s[18253]<<16|s[18254]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+33|0]=0,l[e+32|0]=s[18283],r=s[18279]|s[18280]<<8|(s[18281]<<16|s[18282]<<24),A=s[18275]|s[18276]<<8|(s[18277]<<16|s[18278]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[18271]|s[18272]<<8|(s[18273]<<16|s[18274]<<24),A=s[18267]|s[18268]<<8|(s[18269]<<16|s[18270]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[18263]|s[18264]<<8|(s[18265]<<16|s[18266]<<24),A=s[18259]|s[18260]<<8|(s[18261]<<16|s[18262]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,140,o),l[o+11|0]>=0)break r;G(i[o>>2])}if(l[o+43|0]<0&&G(i[o+32>>2]),B=o+48|0,l[_+27|0]>=0)break i;G(i[_+16>>2])}B=_+32|0}function _A(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0;for(Z=B-48|0,B=Z,A=i[r>>2],r=i[r+4>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),i[e>>2]=A,k=i[e+4>>2],i[e+4>>2]=r,k&&(r=i[k+4>>2],i[k+4>>2]=r-1,r||(V[i[i[k>>2]+8>>2]](k),g(k)),A=i[e>>2],r=i[e+4>>2]),i[Z+20>>2]=r,i[Z+16>>2]=A,r&&(i[r+4>>2]=i[r+4>>2]+1),r=i[Z+20>>2],i[Z+8>>2]=i[Z+16>>2],i[Z+12>>2]=r,W=_e(Z+24|0,Z+8|0,-1,0),n=B-192|0,B=n,o=e+8|0;;){i[n+48>>2]=0,i[n+52>>2]=0,_r(f,W,n+48|0),A=2;i:{r:{if(s[W+20|0]|!i[W+16>>2]||(r=i[f>>2],(r|0)==2&i[f+4>>2]==100))break r;if(A=1,(r|0)!=i[19564])break i;A=i[e+12>>2];e:{if(A>>>0<k0[e+16>>2]){r=i[n+48>>2],i[A>>2]=r,k=i[n+52>>2],i[A+4>>2]=k,k&&(i[k+4>>2]=i[k+4>>2]+1),A=A+8|0;break e}A=Q2(o,n+48|0),r=i[n+48>>2]}i[e+12>>2]=A;e:{if(i[r+16>>2]!=1835365473)break e;A=0,k=N0(r,68572,68824);A:{if(!k||(r=i[n+52>>2],!r))break A;i[r+4>>2]=i[r+4>>2]+1,A=r}if(i[e+36>>2]=k,r=i[e+40>>2],i[e+40>>2]=A,!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break e;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=0,k=i[n+48>>2],i[k+16>>2]!=1718909296)break r;t=N0(k,68572,68764),r=0;e:{if(!t||(k=i[n+52>>2],r=0,!k))break e;i[k+4>>2]=i[k+4>>2]+1,r=k}if(i[e+20>>2]=t,k=i[e+24>>2],i[e+24>>2]=r,!k||(r=i[k+4>>2],i[k+4>>2]=r-1,r))break r;V[i[i[k>>2]+8>>2]](k),g(k)}if(l[f+19|0]>=0)break i;G(i[f+8>>2])}r=i[n+52>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A)break}i:{if(A-2|0)break i;if(r=i[e+20>>2],!r){if(l[n+48|0]=0,l[n+59|0]=0,r0(f,2,102,n+48|0),l[n+59|0]>=0)break i;G(i[n+48>>2]);break i}r:{if(_i(r,1751476579)||_i(i[e+20>>2],1751476600)||_i(i[e+20>>2],1835623985)||_i(i[e+20>>2],1635150182)||_i(i[e+20>>2],829450595)||_i(i[e+20>>2],1785750887))break r;e=n+48|0,i[e+8>>2]=54496,i[e+64>>2]=54516,r=i[13633],i[e>>2]=r,i[e+i[r-12>>2]>>2]=i[13634],i[e+4>>2]=0,r=e+i[i[e>>2]-12>>2]|0,A=e+12|0,b0(r,A),i[r+72>>2]=0,i[r+76>>2]=-1,r=i[13635],i[e+8>>2]=r,k=i[r-12>>2],r=e+8|0,i[k+r>>2]=i[13636],k=i[13632],i[e>>2]=k,i[e+i[k-12>>2]>>2]=i[13637],i[e+64>>2]=54516,i[e>>2]=54476,i[e+8>>2]=54496,I=$0(A),y=53552,i[I>>2]=y,i[e+52>>2]=0,i[e+56>>2]=0,i[e+44>>2]=0,i[e+48>>2]=0,i[e+60>>2]=24,x(r,30588,44),r=n+36|0,i2(r,A),r0(f,3,0,r),l[n+47|0]<0&&G(i[n+36>>2]),z6(e);break i}if(r=i[e+36>>2],!r){if(l[n+48|0]=0,l[n+59|0]=0,r0(f,2,104,n+48|0),l[n+59|0]>=0)break i;G(i[n+48>>2]);break i}T8(n+48|0,r,1751411826);r:{e:{if(r=i[n+48>>2],!r||(A=N0(r,68572,68884),!A))break e;if(r=i[n+52>>2],!r){r=0;break r}i[r+4>>2]=i[r+4>>2]+1;break r}r=0,A=0}i[e+28>>2]=A,A=i[e+32>>2],i[e+32>>2]=r;r:{if(!A||(r=i[A+4>>2],i[A+4>>2]=r-1,r))break r;V[i[i[A>>2]+8>>2]](A),g(A)}r=i[n+52>>2];r:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(r=i[e+28>>2],!(!r|i[r+60>>2]==1885954932)){if(l[n+48|0]=0,l[n+59|0]=0,r0(f,2,114,n+48|0),l[n+59|0]>=0)break i;G(i[n+48>>2]);break i}T8(n+48|0,i[e+36>>2],1885959277);r:{e:{if(r=i[n+48>>2],!r||(A=N0(r,68572,68944),!A))break e;if(r=i[n+52>>2],!r){r=0;break r}i[r+4>>2]=i[r+4>>2]+1;break r}r=0,A=0}i[e+84>>2]=A,A=i[e+88>>2],i[e+88>>2]=r;r:{if(!A||(r=i[A+4>>2],i[A+4>>2]=r-1,r))break r;V[i[i[A>>2]+8>>2]](A),g(A)}r=i[n+52>>2];r:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(!i[e+84>>2]){if(l[n+48|0]=0,l[n+59|0]=0,r0(f,2,107,n+48|0),l[n+59|0]>=0)break i;G(i[n+48>>2]);break i}T8(n+48|0,i[e+36>>2],1768977008);r:{e:{if(r=i[n+48>>2],!r||(A=N0(r,68572,69184),!A))break e;if(r=i[n+52>>2],!r){r=0;break r}i[r+4>>2]=i[r+4>>2]+1;break r}r=0,A=0}i[e+100>>2]=A,A=i[e+104>>2],i[e+104>>2]=r;r:{if(!A||(r=i[A+4>>2],i[A+4>>2]=r-1,r))break r;V[i[i[A>>2]+8>>2]](A),g(A)}r=i[n+52>>2];r:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(r=i[e+100>>2],!r){if(l[n+48|0]=0,l[n+59|0]=0,r0(f,2,112,n+48|0),l[n+59|0]>=0)break i;G(i[n+48>>2]);break i}T8(n+48|0,r,1768973167);r:{e:{if(r=i[n+48>>2],!r||(A=N0(r,68572,69244),!A))break e;if(r=i[n+52>>2],!r){r=0;break r}i[r+4>>2]=i[r+4>>2]+1;break r}r=0,A=0}i[e+44>>2]=A,A=i[e+48>>2],i[e+48>>2]=r;r:{if(!A||(r=i[A+4>>2],i[A+4>>2]=r-1,r))break r;V[i[i[A>>2]+8>>2]](A),g(A)}r=i[n+52>>2];r:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(!i[e+44>>2]){if(e=f,f=C1(n+48|0,31341),r0(e,2,108,f),l[f+11|0]>=0)break i;G(i[f>>2]);break i}if(o=B-32|0,B=o,h9(o+20|0,i[e+100>>2],1768975713),k=n+48|0,i[k+8>>2]=0,i[k>>2]=0,i[k+4>>2]=0,A=i[o+20>>2],u=i[o+24>>2],(A|0)!=(u|0)){for(;;){r:{e:{if(r=i[A>>2],!r||(r=N0(r,68572,69352),!r))break e;if(i[o+12>>2]=r,t=i[A+4>>2],i[o+16>>2]=t,!t)break r;i[t+4>>2]=i[t+4>>2]+1;break r}i[o+12>>2]=0,i[o+16>>2]=0,r=0}t=i[k+4>>2];r:{if(t>>>0<k0[k+8>>2]){i[t>>2]=r,i[t+4>>2]=i[o+16>>2],i[k+4>>2]=t+8;break r}if(t=z2(k,o+12|0),r=i[o+16>>2],i[k+4>>2]=t,!r||(t=i[r+4>>2],i[r+4>>2]=t-1,t))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A+8|0,(u|0)==(A|0))break}A=i[o+20>>2]}if(A){if(r=A,k=i[o+24>>2],(r|0)!=(k|0)){for(;;){r=i[k-4>>2];r:{if(!r||(t=i[r+4>>2],i[r+4>>2]=t-1,t))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(k=k-8|0,(k|0)==(A|0))break}r=i[o+20>>2]}i[o+24>>2]=A,G(r)}B=o+32|0;r:{e:{if(A=i[n+48>>2],r=i[n+52>>2],(A|0)!=(r|0)){if(r-A>>>0>8)for(r=1;;){w=i[A>>2],o=i[w+60>>2],A=i[(r<<3)+A>>2],t=i[A+56>>2],u=t,k=i[A+60>>2],v=k,A=0,h=k-t>>4;A:{if((h|0)<=0)break A;f:{k:{n:{t:{o:{if(_=i[w+64>>2],(h|0)<=_-o>>4){if((h|0)<=0){v=(h<<4)+t|0,A=o;break f}u:{if((u|0)==(v|0)){A=o;break u}for(A=o;;){if(k=i[t>>2],i[A+12>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=k,k=i[t+8>>2],u=i[t+4>>2],(k|0)!=(u|0)){if(k=k-u|0,(k|0)<0)break o;o=U(k),i[A+8>>2]=o,i[A+4>>2]=o,h=k+o|0,i[A+12>>2]=h,l0(o,u,k),i[A+8>>2]=h}if(A=A+16|0,t=t+16|0,(v|0)==(t|0))break}}i[w+60>>2]=A;break A}if(k=i[w+56>>2],t=h+(o-k>>4)|0,t>>>0>=268435456)break t;if(v=_-k|0,_=v>>3,t=v>>>0>=2147483632?268435455:t>>>0<_>>>0?_:t,t){if(t>>>0>=268435456)break n;A=U(t<<4)}for(k=(o-k&-16)+A|0,_=k+(h<<4)|0,p=(t<<4)+A|0,A=k;;){if(t=i[u>>2],i[A+12>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=t,t=i[u+8>>2],v=i[u+4>>2],(t|0)!=(v|0)){if(t=t-v|0,(t|0)<0)break k;h=U(t),i[A+8>>2]=h,i[A+4>>2]=h,C=t+h|0,i[A+12>>2]=C,l0(h,v,t),i[A+8>>2]=C}if(u=u+16|0,A=A+16|0,(_|0)==(A|0))break}if(_=i[w+56>>2],(_|0)!=(o|0))for(u=o,t=k;k=t-16|0,h=u-16|0,i[k>>2]=i[h>>2],v=u-12|0,i[t-12>>2]=i[v>>2],i[t-8>>2]=i[u-8>>2],C=t-4|0,t=u-4|0,i[C>>2]=i[t>>2],i[t>>2]=0,i[v>>2]=0,i[v+4>>2]=0,t=k,u=h,(_|0)!=(u|0););if(u=i[w+60>>2],(u|0)!=(o|0)){for(;t=i[o>>2],i[A+12>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=t,i[A+4>>2]=i[o+4>>2],i[A+8>>2]=i[o+8>>2],i[A+12>>2]=i[o+12>>2],i[o+12>>2]=0,i[o+4>>2]=0,i[o+8>>2]=0,A=A+16|0,o=o+16|0,(u|0)!=(o|0););u=i[w+60>>2]}if(i[w+64>>2]=p,i[w+60>>2]=A,A=i[w+56>>2],i[w+56>>2]=k,(A|0)!=(u|0))for(;k=i[u-12>>2],k&&(i[u-8>>2]=k,G(k)),u=u-16|0,(A|0)!=(u|0););A&&G(A);break A}y0(),P()}y0(),P()}_2(),P()}y0(),P()}if(k=h<<4,_=k+o|0,t=A,k=A-k|0,o>>>0>k>>>0)for(h=k;p=i[h>>2],i[t+12>>2]=0,i[t+4>>2]=0,i[t+8>>2]=0,i[t>>2]=p,i[t+4>>2]=i[h+4>>2],i[t+8>>2]=i[h+8>>2],i[t+12>>2]=i[h+12>>2],i[h+12>>2]=0,i[h+4>>2]=0,i[h+8>>2]=0,t=t+16|0,h=h+16|0,h>>>0<o>>>0;);if(i[w+60>>2]=t,(A|0)!=(_|0))for(;t=A-16|0,h=k-16|0,i[t>>2]=i[h>>2],w=A-12|0,_=i[w>>2],_&&(p=A-8|0,i[p>>2]=_,G(_),i[p>>2]=0,i[p+4>>2]=0,i[w>>2]=0),_=w,w=k-12|0,i[_>>2]=i[w>>2],i[A-8>>2]=i[k-8>>2],_=A-4|0,A=k-4|0,i[_>>2]=i[A>>2],i[A>>2]=0,i[w>>2]=0,i[w+4>>2]=0,A=t,k=h,(o|0)!=(k|0););if((u|0)==(v|0))break A;for(A=o;i[A>>2]=i[u>>2],(A|0)!=(u|0)&&(k=i[u+4>>2],o=i[u+8>>2],ki(A+4|0,k,o,o-k>>2)),A=A+16|0,u=u+16|0,(v|0)!=(u|0););}if(r=r+1|0,A=i[n+48>>2],!(r>>>0<i[n+52>>2]-A>>3>>>0))break}r=i[A>>2],A=i[A+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[e+52>>2]=r,r=i[e+56>>2],i[e+56>>2]=A;A:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break A;V[i[i[r>>2]+8>>2]](r),g(r)}A=n+16|0,T8(A,i[e+36>>2],1768714083),r=n+36|0;A:{f:{if(k=i[A>>2],!k||(k=N0(k,68572,69004),!k))break f;if(i[r>>2]=k,k=i[A+4>>2],i[r+4>>2]=k,!k)break A;i[k+4>>2]=i[k+4>>2]+1;break A}i[r>>2]=0,i[r+4>>2]=0}if(si(e+60|0,r),v1(r),v1(A),i[e+60>>2])break e;if(e=f,f=C1(r,31341),r0(e,2,110,f),l[f+11|0]>=0)break r;G(i[f>>2]);break r}if(e=f,f=C1(n+36|0,31341),r0(e,2,109,f),l[f+11|0]>=0)break r;G(i[f>>2]);break r}A=n+16|0,T8(A,i[e+36>>2],1768186228),r=n+36|0;e:{A:{if(k=i[A>>2],!k||(k=N0(k,68572,70144),!k))break A;if(i[r>>2]=k,k=i[A+4>>2],i[r+4>>2]=k,!k)break e;i[k+4>>2]=i[k+4>>2]+1;break e}i[r>>2]=0,i[r+4>>2]=0}si(e+68|0,r),v1(r),v1(A),T8(A,i[e+36>>2],1769104742);e:{A:{if(k=i[A>>2],!k||(k=N0(k,68572,69652),!k))break A;if(i[r>>2]=k,k=i[A+4>>2],i[r+4>>2]=k,!k)break e;i[k+4>>2]=i[k+4>>2]+1;break e}i[r>>2]=0,i[r+4>>2]=0}o=e+76|0,si(o,r),v1(r),v1(A);e:{if(!i[e+76>>2])break e;if(r=i[i[e+84>>2]+56>>2],k=B-32|0,B=k,i[k+16>>2]=0,i[k+20>>2]=0,i[k+8>>2]=0,i[k+12>>2]=0,i[k+24>>2]=1065353216,Gk(f,e,r,o,k+8|0),A=i[k+16>>2],A)for(;r=i[A>>2],G(A),A=r,!!r;);if(r=i[k+8>>2],i[k+8>>2]=0,r&&G(r),B=k+32|0,i[f>>2])break r;if(l[f+19|0]>=0)break e;G(i[f+8>>2])}A=n+16|0,T8(A,i[e+36>>2],1768517222),r=n+36|0;e:{A:{if(k=i[A>>2],!k||(k=N0(k,68572,69124),!k))break A;if(i[r>>2]=k,k=i[A+4>>2],i[r+4>>2]=k,!k)break e;i[k+4>>2]=i[k+4>>2]+1;break e}i[r>>2]=0,i[r+4>>2]=0}if(si(e+92|0,r),v1(r),v1(A),A=i[e+92>>2],!A){if(e=f,f=C1(r,31341),r0(e,2,111,f),l[f+11|0]>=0)break r;G(i[f>>2]);break r}h9(n+36|0,A,1768842853),r=i[n+36>>2],u=i[n+40>>2];e:{if((r|0)!=(u|0))for(o=e+108|0;;){A:{f:{if(e=i[r>>2],!e||(e=N0(e,68572,69064),!e))break f;if(i[n+28>>2]=e,e=i[r+4>>2],i[n+32>>2]=e,!e)break A;i[e+4>>2]=i[e+4>>2]+1;break A}i[n+28>>2]=0,i[n+32>>2]=0}if(e=i[n+28>>2],!e){e=f,f=C1(n+16|0,31341),r0(e,2,125,f),l[f+11|0]<0&&G(i[f>>2]),v1(n+28|0);break e}A=i[e+56>>2],i[n+20>>2]=e,i[n+16>>2]=A,e=i[n+32>>2],i[n+24>>2]=e,e&&(i[e+4>>2]=i[e+4>>2]+1),t=i[n+16>>2],A=i[o+4>>2];A:{f:{if(!A){k=o+4|0,e=k;break f}for(;;){if(e=A,k=i[A+16>>2],k>>>0>t>>>0){if(k=A,A=i[A>>2],A)continue;break f}if(k>>>0>=t>>>0){e=0;break A}if(A=i[e+4>>2],!A)break}k=e+4|0}A=U(28),i[A+16>>2]=t,i[A+20>>2]=i[n+20>>2],i[A+24>>2]=i[n+24>>2],i[n+20>>2]=0,i[n+24>>2]=0,i[A+8>>2]=e,i[A>>2]=0,i[A+4>>2]=0,i[k>>2]=A,e=A,t=i[i[o>>2]>>2],t&&(i[o>>2]=t,e=i[k>>2]),D1(i[o+4>>2],e),i[o+8>>2]=i[o+8>>2]+1,e=1}l[n+12|0]=e,i[n+8>>2]=A,e=i[n+24>>2];A:{if(!e||(A=i[e+4>>2],i[e+4>>2]=A-1,A))break A;V[i[i[e>>2]+8>>2]](e),g(e)}if(v1(n+28|0),r=r+8|0,(u|0)==(r|0))break}V3(f)}_3(n+36|0)}_3(n+48|0)}B=n+192|0,f=i[W+4>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=Z+48|0}function vA(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0;w=B-16|0,B=w,n=U(136),i[n+4>>2]=0,i[n+8>>2]=0,i[n>>2]=72792,B0(n+20|0,0,104),h=i[n+4>>2],t=h+1|0,i[n+4>>2]=t,i[n+56>>2]=0,i[n+60>>2]=0,i[n+44>>2]=99,i[n+48>>2]=99,i[n+32>>2]=3795,o=n- -64|0,i[o>>2]=0,i[o+4>>2]=0,i[n+132>>2]=0,i[n+124>>2]=0,i[n+128>>2]=0,i[n+84>>2]=1,i[n+88>>2]=1,i[n+72>>2]=n+76,i[n+92>>2]=0,i[n+96>>2]=0,i[n+100>>2]=0,i[n+104>>2]=0,i[n+108>>2]=0,i[n+112>>2]=0,l[n+113|0]=0,l[n+114|0]=0,l[n+115|0]=0,l[n+116|0]=0,l[n+117|0]=0,l[n+118|0]=0,l[n+119|0]=0,l[n+120|0]=0,o=n+12|0,i[n+12>>2]=o,i[n+8>>2]=i[n+8>>2]+1,i[n+4>>2]=h,i[n+16>>2]=n,t||(V[i[i[n>>2]+8>>2]](n),g(n)),i[r>>2]=o,h=i[r+4>>2],i[r+4>>2]=n;i:{if(!h||(n=i[h+4>>2],i[h+4>>2]=n-1,n))break i;V[i[i[h>>2]+8>>2]](h),g(h)}p=i[e+32>>2],_=i[r>>2],v=i[e+36>>2],i[_+36>>2]=v,i[_+32>>2]=p,i[_+28>>2]=k,i[_+24>>2]=A;i:{r:{e:{A:{f:{k:{n:{t:{o:{u:{l:{if(o=i[e+64>>2],o){for(h=e- -64|0,t=h,n=o;u=i[n+16>>2]<10,t=u?t:n,n=i[(u<<2)+n>>2],!!n;);if(!((t|0)==(h|0)|i[t+16>>2]>10)){for(n=h;t=i[o+16>>2]<10,n=t?n:o,o=i[(t<<2)+o>>2],!!o;);t=255,J0(_,10,A,k,(n|0)==(h|0)|i[n+16>>2]>10?t:s[n+20|0]);break r}switch(u=h,n=o,t=n,p|0){case 2:break o;case 1:break l;case 0:break n;default:break f}}switch(p|0){case 2:break t;case 1:break u;case 0:break k;default:break f}}for(;t=i[n+16>>2]<3,u=t?u:n,n=i[(t<<2)+n>>2],!!n;);if((u|0)==(h|0)|i[u+16>>2]>3)break u;for(t=h,n=o;u=i[n+16>>2]<4,t=u?t:n,n=i[(u<<2)+n>>2],!!n;);if((t|0)==(h|0)|i[t+16>>2]>4)break u;for(t=h,n=o;u=i[n+16>>2]<5,t=u?t:n,n=i[(u<<2)+n>>2],!!n;);if((t|0)==(h|0)|i[t+16>>2]>=6)break u;for(n=h;t=i[o+16>>2]<3,n=t?n:o,o=i[(t<<2)+o>>2],!!o;);o=255,t=255;l:{if((n|0)==(h|0)||(t=255,i[n+16>>2]>3))break l;t=s[n+20|0]}J0(_,3,A,k,t),_=i[r>>2],n=i[h>>2];l:{if(!n)break l;for(t=h;u=i[n+16>>2]<4,t=u?t:n,n=i[(u<<2)+n>>2],!!n;);if((t|0)==(h|0)|i[t+16>>2]>4)break l;o=s[t+20|0]}J0(_,4,A,k,o),_=i[r>>2],o=255,n=i[h>>2];l:{if(!n)break l;for(t=h;u=i[n+16>>2]<5,t=u?t:n,n=i[(u<<2)+n>>2],!!n;);if((t|0)==(h|0)|i[t+16>>2]>5)break l;o=s[t+20|0]}J0(_,5,A,k,o);break e}if(e=U(32),i[w+4>>2]=e,i[w+8>>2]=31,i[w+12>>2]=-2147483616,r=s[4233]|s[4234]<<8|(s[4235]<<16|s[4236]<<24),A=s[4229]|s[4230]<<8|(s[4231]<<16|s[4232]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+31|0]=0,r=s[4256]|s[4257]<<8|(s[4258]<<16|s[4259]<<24),A=s[4252]|s[4253]<<8|(s[4254]<<16|s[4255]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,l[e+27|0]=r,l[e+28|0]=r>>>8,l[e+29|0]=r>>>16,l[e+30|0]=r>>>24,r=s[4249]|s[4250]<<8|(s[4251]<<16|s[4252]<<24),A=s[4245]|s[4246]<<8|(s[4247]<<16|s[4248]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[4241]|s[4242]<<8|(s[4243]<<16|s[4244]<<24),A=s[4237]|s[4238]<<8|(s[4239]<<16|s[4240]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,0,w+4|0),l[w+15|0]>=0)break i;G(i[w+4>>2]);break i}for(;n=i[t+16>>2],u=(n|0)<0?u:t,t=i[(n>>>29&4)+t>>2],!!t;);if((u|0)==(h|0)|i[u+16>>2]>0)break t;for(n=h;t=i[o+16>>2],n=(t|0)<0?n:o,o=i[(t>>>29&4)+o>>2],!!o;);t=255,J0(_,0,A,k,(n|0)==(h|0)|i[n+16>>2]>0?t:s[n+20|0]);break e}if(e=U(40),i[w+4>>2]=e,i[w+8>>2]=32,i[w+12>>2]=-2147483608,r=s[9901]|s[9902]<<8|(s[9903]<<16|s[9904]<<24),A=s[9897]|s[9898]<<8|(s[9899]<<16|s[9900]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+32|0]=0,r=s[9925]|s[9926]<<8|(s[9927]<<16|s[9928]<<24),A=s[9921]|s[9922]<<8|(s[9923]<<16|s[9924]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[9917]|s[9918]<<8|(s[9919]<<16|s[9920]<<24),A=s[9913]|s[9914]<<8|(s[9915]<<16|s[9916]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[9909]|s[9910]<<8|(s[9911]<<16|s[9912]<<24),A=s[9905]|s[9906]<<8|(s[9907]<<16|s[9908]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,0,w+4|0),l[w+15|0]>=0)break i;G(i[w+4>>2]);break i}for(;t=i[n+16>>2],u=(t|0)<0?u:n,n=i[(t>>>29&4)+n>>2],!!n;);if((u|0)==(h|0)|i[u+16>>2]>0)break k;for(n=h;t=i[o+16>>2]<=0,n=t?n:o,o=i[(t<<2)+o>>2],!!o;);if((n|0)==(h|0)|i[n+16>>2]>1)break k;if(H2(e,2))break A}if(e=U(40),i[w+4>>2]=e,i[w+8>>2]=34,i[w+12>>2]=-2147483608,r=s[4198]|s[4199]<<8|(s[4200]<<16|s[4201]<<24),A=s[4194]|s[4195]<<8|(s[4196]<<16|s[4197]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+34|0]=0,r=s[4226]|s[4227]<<8,l[e+32|0]=r,l[e+33|0]=r>>>8,r=s[4222]|s[4223]<<8|(s[4224]<<16|s[4225]<<24),A=s[4218]|s[4219]<<8|(s[4220]<<16|s[4221]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[4214]|s[4215]<<8|(s[4216]<<16|s[4217]<<24),A=s[4210]|s[4211]<<8|(s[4212]<<16|s[4213]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[4206]|s[4207]<<8|(s[4208]<<16|s[4209]<<24),A=s[4202]|s[4203]<<8|(s[4204]<<16|s[4205]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,0,w+4|0),l[w+15|0]>=0)break i;G(i[w+4>>2]);break i}if(e=U(32),i[w+4>>2]=e,i[w+8>>2]=27,i[w+12>>2]=-2147483616,r=s[6274]|s[6275]<<8|(s[6276]<<16|s[6277]<<24),A=s[6270]|s[6271]<<8|(s[6272]<<16|s[6273]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+27|0]=0,r=s[6293]|s[6294]<<8|(s[6295]<<16|s[6296]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,r=s[6290]|s[6291]<<8|(s[6292]<<16|s[6293]<<24),A=s[6286]|s[6287]<<8|(s[6288]<<16|s[6289]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[6282]|s[6283]<<8|(s[6284]<<16|s[6285]<<24),A=s[6278]|s[6279]<<8|(s[6280]<<16|s[6281]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,0,w+4|0),l[w+15|0]>=0)break i;G(i[w+4>>2]);break i}x9(A,k,1,v,w+4|0,w),J0(i[r>>2],0,A,k,U0(e,0)),J0(i[r>>2],1,i[w+4>>2],i[w>>2],U0(e,1)),J0(i[r>>2],2,i[w+4>>2],i[w>>2],U0(e,2))}if(o=i[h>>2],!o)break r;for(t=h,n=o;_=i[n+16>>2]<6,t=_?t:n,n=i[(_<<2)+n>>2],!!n;);if((t|0)==(h|0)|i[t+16>>2]>6)break r;for(_=i[r>>2],n=h;t=i[o+16>>2]<6,n=t?n:o,o=i[(t<<2)+o>>2],!!o;);t=255,J0(_,6,A,k,(n|0)==(h|0)|i[n+16>>2]>6?t:s[n+20|0])}if(p=i[e+60>>2],(h|0)!=(p|0))for(;;){v=i[p+16>>2];r:{if((v|0)==10){if(Z=255,n=i[e+36>>2]-10|0,n>>>0>=6)break r;t=n<<3,n=t&31,(t&63)>>>0>=32?Z=16432>>>n|0:Z=((1<<n)-1&16432)<<32-n|1076895768>>>n;break r}if(Z=0,n=h,t=i[n>>2],!t)break r;for(;o=(v|0)>i[t+16>>2],n=o?n:t,t=i[(o<<2)+t>>2],!!t;);if((n|0)==(h|0)|(v|0)<i[n+16>>2])break r;Z=s[n+20|0]+7&-8}r:{t=i[r>>2],n=i[t+64>>2];e:{if(!n)break e;for(I=Z>>>3&31,_=t- -64|0,o=_,t=n;u=(v|0)>i[t+16>>2],o=u?o:t,t=i[(u<<2)+t>>2],!!t;);if((o|0)==(_|0))break e;if(u=_,t=n,(v|0)>=i[o+16>>2])break r}if(e=U(40),i[w+4>>2]=e,i[w+8>>2]=35,i[w+12>>2]=-2147483608,r=s[9826]|s[9827]<<8|(s[9828]<<16|s[9829]<<24),A=s[9822]|s[9823]<<8|(s[9824]<<16|s[9825]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+35|0]=0,r=s[9853]|s[9854]<<8|(s[9855]<<16|s[9856]<<24),l[e+31|0]=r,l[e+32|0]=r>>>8,l[e+33|0]=r>>>16,l[e+34|0]=r>>>24,r=s[9850]|s[9851]<<8|(s[9852]<<16|s[9853]<<24),A=s[9846]|s[9847]<<8|(s[9848]<<16|s[9849]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[9842]|s[9843]<<8|(s[9844]<<16|s[9845]<<24),A=s[9838]|s[9839]<<8|(s[9840]<<16|s[9841]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[9834]|s[9835]<<8|(s[9836]<<16|s[9837]<<24),A=s[9830]|s[9831]<<8|(s[9832]<<16|s[9833]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,0,w+4|0),l[w+15|0]>=0)break i;G(i[w+4>>2]);break i}for(;o=(v|0)>i[t+16>>2],u=o?u:t,t=i[(o<<2)+t>>2],!!t;);for(W=-1,W=(u|0)==(_|0)|(v|0)<i[u+16>>2]?W:i[u+24>>2],o=_,t=n;u=(v|0)>i[t+16>>2],o=u?o:t,t=i[(u<<2)+t>>2],!!t;);for(y=-1,y=(o|0)==(_|0)|(v|0)<i[o+16>>2]?y:i[o+28>>2],J=i[p+40>>2],R=i[p+48>>2],t=_;o=(v|0)>i[n+16>>2],t=o?t:n,n=i[(o<<2)+n>>2],!!n;);r:{if((t|0)==(_|0)){E=0,_=0;break r}if(E=0,_=0,(v|0)<i[t+16>>2])break r;E=i[t+40>>2],_=i[t+48>>2]}if((y|0)>0)for(z=W&2147483646,H=W&1,a=I&28,D=I&3,t=0,S=(Z&255)>>>0<8,q=I-1>>>0<3;;){n=(m(i[e+28>>2],t)|0)/(k|0)|0;r:{if((I|0)!=1){if(S|(W|0)<=0)break r;for(d=m(t,_)+E|0,A0=m(n,R)+J|0,Z=0;;){if(u=m(Z,I)+d|0,v=m((m(i[e+24>>2],Z)|0)/(A|0)|0,I)+A0|0,n=0,o=0,!q)for(;l[n+u|0]=s[n+v|0],C=n|1,l[C+u|0]=s[v+C|0],C=n|2,l[C+u|0]=s[v+C|0],C=n|3,l[C+u|0]=s[v+C|0],n=n+4|0,o=o+4|0,(a|0)!=(o|0););if(o=0,D)for(;l[n+u|0]=s[n+v|0],n=n+1|0,o=o+1|0,(D|0)!=(o|0););if(Z=Z+1|0,(W|0)==(Z|0))break}break r}if((W|0)<=0)break r;if(u=m(t,_)+E|0,v=m(n,R)+J|0,n=0,o=0,(W|0)!=1)for(;l[n+u|0]=s[v+((m(i[e+24>>2],n)|0)/(A|0)|0)|0],Z=n|1,l[Z+u|0]=s[v+((m(Z,i[e+24>>2])|0)/(A|0)|0)|0],n=n+2|0,o=o+2|0,(z|0)!=(o|0););if(!H)break r;l[n+u|0]=s[v+((m(i[e+24>>2],n)|0)/(A|0)|0)|0]}if(t=t+1|0,(y|0)==(t|0))break}t=i[p+4>>2];r:{if(t){for(;;)if(n=t,t=i[n>>2],!t)break r}for(;n=i[p+8>>2],t=i[n>>2]!=(p|0),p=n,!!t;);}if(p=n,(n|0)==(h|0))break}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=w+16|0}function k6(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;w=B-32|0,B=w,s[79117]==1&&(i[w+16>>2]=f,f8(21790,w+16|0));i:{k=i[f+4>>2];r:{if(k){if(n=i[k>>2],(n|0)==1){k=i[f>>2];break r}if((n|0)<=1)break i;i[k>>2]=n-1}s[79117]==1&&(i[w>>2]=f,f8(31312,w)),k=U(172),i[f>>2]=k,B0(k,0,172),u=f,f=U(4),i[u+4>>2]=f,i[f>>2]=1}r:{e:{A:{f:{k:{n:{t:{o:{u:{l:{s:{h:{w:{_:{v:{if((e|0)<=0){f=(r|0)>=51?51:r,n=(f|0)>0?f:0;break v}if(t=e-1|0,A=m(t,12)+41392|0,f=i[A>>2],r=(r|0)>=51?51:r,n=(r|0)>0?r:0,f=((f<<3&120)+(m(n,m(f>>4,5)-45|0)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,u=f?r^64:63-r|0,f=u<<1|f,r=k+5|0,(u&127)>>>0>=63||(l[k+5|0]=f,f=i[A+4>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,u=f?r^64:63-r|0,f=u<<1|f,r=k+6|0,(u&127)>>>0>62)||(l[k+6|0]=f,f=i[A+8>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,A=f?r^64:63-r|0,f=A<<1|f,r=k+7|0,(A&127)>>>0>62))break k;if(l[k+7|0]=f,f=t<<2,r=i[f+41416>>2],r=((r<<3&120)+(m(m(r>>4,5)-45|0,n)>>4)|0)-16|0,A=(r|0)>=126?126:r,A=(A|0)<=1?1:A,r=(r|0)>63,A=r?A^64:63-A|0,r=A<<1|r,(A&127)>>>0>=63)break _;if(l[k+149|0]=r,r=i[f+41424>>2],r=((r<<3&120)+(m(m(r>>4,5)-45|0,n)>>4)|0)-16|0,A=(r|0)>=126?126:r,A=(A|0)<=1?1:A,r=(r|0)>63,A=r?A^64:63-A|0,r=A<<1|r,(A&127)>>>0>=63)break w;if(l[k+147|0]=r,f=i[f+41432>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,r=f?r^64:63-r|0,f=r<<1|f,(r&127)>>>0>=63)break h;if(l[k+148|0]=f,f=m(n,-20)>>4,r=(f|0)>-41,A=r?f+104^64:-41-f|0,f=r|A<<1,r=k+156|0,(A&127)>>>0>=63||(l[k+156|0]=f,A=m(n,-25)>>4,t=-41-A|0,_=A+104^64,u=(A|0)>-41,f=u,o=f?_:t,f=o<<1|f,r=k+157|0,(o&127)>>>0>62)||(l[k+157|0]=f,f=m(n,-30)>>4,r=(f|0)>-41,o=r?f+104^64:-41-f|0,f=r|o<<1,r=k+158|0,(o&127)>>>0>62)||(l[k+158|0]=f,f=m(n,-40)>>4,r=(f|0)<=-103?-103:f,f=(f|0)>-41,o=f?r+104^64:-41-r|0,f=o<<1|f,r=k+159|0,(o&127)>>>0>62)||(f=m(f&255,257),l[k+159|0]=f,l[k+160|0]=f>>>8,l[k+154|0]=14,l[k+155|0]=14,o=(((e|0)!=1)<<3)+41440|0,f=i[o>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,h=f?r^64:63-r|0,f=h<<1|f,r=k+150|0,(h&127)>>>0>=63)||(l[k+150|0]=f,f=i[o+4>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,o=f?r^64:63-r|0,f=o<<1|f,r=k+151|0,(o&127)>>>0>62))break k;if(l[k+151|0]=f,l[k+152|0]=30-(m(n,5)>>>3&254),r=u?_:t,f=u|r<<1,(r&127)>>>0>62)break s;if(l[k+153|0]=f,f=m(n,-5)>>4,r=(f|0)>-9,A=r?f+72^64:-9-f|0,f=r|A<<1,(A&127)>>>0>=63)break l;f=m(f&255,16843009),l[k+143|0]=f,l[k+144|0]=f>>>8,l[k+145|0]=f>>>16,l[k+146|0]=f>>>24}if(t=m(e,12),A=t+41456|0,f=i[A>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,u=f?r^64:63-r|0,f=u<<1|f,r=k+2|0,(u&127)>>>0>=63||(l[k+2|0]=f,f=i[A+4>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,u=f?r^64:63-r|0,f=u<<1|f,r=k+3|0,(u&127)>>>0>62)||(l[k+3|0]=f,f=i[A+8>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,A=f?r^64:63-r|0,f=A<<1|f,r=k+4|0,(A&127)>>>0>62)||(l[k+4|0]=f,A=(((e|0)==2?5:e)<<2)+41504|0,f=i[A>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,u=f?r^64:63-r|0,f=u<<1|f,r=k+8|0,(u&127)>>>0>=63)||(l[k+8|0]=f,f=i[A+4>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,u=f?r^64:63-r|0,f=u<<1|f,r=k+9|0,(u&127)>>>0>62)||(l[k+9|0]=f,f=i[A+8>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,u=f?r^64:63-r|0,f=u<<1|f,r=k+10|0,(u&127)>>>0>62)||(l[k+10|0]=f,f=i[A+12>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,A=f?r^64:63-r|0,f=A<<1|f,r=k+11|0,(A&127)>>>0>62))break k;if(l[k+11|0]=f,u=e<<2,r=u,f=i[r+41540>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,A=(f|0)>=126?126:f,A=(A|0)<=1?1:A,f=(f|0)>63,A=f?A^64:63-A|0,f=A<<1|f,(A&127)>>>0>=63)break u;if(l[k+12|0]=f,f=i[r+41552>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,r=f?r^64:63-r|0,f=r<<1|f,(r&127)>>>0>=63)break o;if(l[k+13|0]=f,A=(((e|0)!=0)<<3)+41568|0,f=i[A>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,o=f?r^64:63-r|0,f=o<<1|f,r=k+14|0,(o&127)>>>0>=63||(l[k+14|0]=f,f=i[A+4>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,A=f?r^64:63-r|0,f=A<<1|f,r=k+15|0,(A&127)>>>0>62)||(l[k+15|0]=f,A=(e<<4)+41584|0,f=i[A>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,o=f?r^64:63-r|0,f=o<<1|f,r=k+16|0,(o&127)>>>0>=63)||(l[k+16|0]=f,f=i[A+4>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,o=f?r^64:63-r|0,f=o<<1|f,r=k+17|0,(o&127)>>>0>62)||(l[k+17|0]=f,f=i[A+8>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,o=f?r^64:63-r|0,f=o<<1|f,r=k+18|0,(o&127)>>>0>62)||(l[k+18|0]=f,f=i[A+12>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,A=f?r^64:63-r|0,f=A<<1|f,r=k+19|0,(A&127)>>>0>62)||(l[k+19|0]=f,A=t+41632|0,f=i[A>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,t=f?r^64:63-r|0,f=t<<1|f,r=k+20|0,(t&127)>>>0>=63)||(l[k+20|0]=f,f=i[A+4>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,t=f?r^64:63-r|0,f=t<<1|f,r=k+21|0,(t&127)>>>0>62)||(l[k+21|0]=f,f=i[A+8>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,A=f?r^64:63-r|0,f=A<<1|f,r=k+22|0,(A&127)>>>0>62))break k;for(l[k+22|0]=f,o=k+25|0,t=m(e,72)+41680|0,f=0;;){if(r=i[t+(f<<2)>>2],r=((r<<3&120)+(m(m(r>>4,5)-45|0,n)>>4)|0)-16|0,A=(r|0)>=126?126:r,A=(A|0)<=1?1:A,r=(r|0)>63,h=r?A^64:63-A|0,A=h<<1|r,r=f+o|0,(h&127)>>>0>=63)break f;if(l[r|0]=A,f=f+1|0,(f|0)==18)break}for(o=k+43|0,f=0;;){if(r=i[t+(f<<2)>>2],r=((r<<3&120)+(m(m(r>>4,5)-45|0,n)>>4)|0)-16|0,A=(r|0)>=126?126:r,A=(A|0)<=1?1:A,r=(r|0)>63,h=r?A^64:63-A|0,A=h<<1|r,r=f+o|0,(h&127)>>>0>=63)break f;if(l[r|0]=A,f=f+1|0,(f|0)==18)break}if(A=(u<<2)+41904|0,f=i[A>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,t=f?r^64:63-r|0,f=t<<1|f,r=k+61|0,(t&127)>>>0>=63||(l[k+61|0]=f,f=i[A+4>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,t=f?r^64:63-r|0,f=t<<1|f,r=k+62|0,(t&127)>>>0>62)||(l[k+62|0]=f,f=i[A+8>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,t=f?r^64:63-r|0,f=t<<1|f,r=k+63|0,(t&127)>>>0>62)||(l[k+63|0]=f,f=i[A+12>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,A=f?r^64:63-r|0,f=A<<1|f,r=k- -64|0,(A&127)>>>0>62))break k;for(l[r|0]=f,t=k+65|0,u=m(e,168)+41952|0,f=0;;){if(r=i[u+(f<<2)>>2],r=((r<<3&120)+(m(m(r>>4,5)-45|0,n)>>4)|0)-16|0,A=(r|0)>=126?126:r,A=(A|0)<=1?1:A,r=(r|0)>63,o=r?A^64:63-A|0,r=o<<1|r,A=f+t|0,(o&127)>>>0>=63)break A;if(l[A|0]=r,f=f+1|0,(f|0)==42)break}if(A=(e<<3)+42464|0,f=i[A>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,t=f?r^64:63-r|0,f=t<<1|f,r=k+107|0,(t&127)>>>0>=63||(l[k+107|0]=f,f=i[A+4>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,A=f?r^64:63-r|0,f=A<<1|f,r=k+108|0,(A&127)>>>0>62))break k;for(l[k+108|0]=f,t=k+109|0,u=m(e,96)+42496|0,f=0;;){if(r=i[u+(f<<2)>>2],r=((r<<3&120)+(m(m(r>>4,5)-45|0,n)>>4)|0)-16|0,A=(r|0)>=126?126:r,A=(A|0)<=1?1:A,r=(r|0)>63,o=r?A^64:63-A|0,r=o<<1|r,A=f+t|0,(o&127)>>>0>=63)break A;if(l[A|0]=r,f=f+1|0,(f|0)==24)break}if(A=m(e,24)+42784|0,f=i[A>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,t=f?r^64:63-r|0,f=t<<1|f,r=k+133|0,(t&127)>>>0>=63||(l[k+133|0]=f,f=i[A+4>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,t=f?r^64:63-r|0,f=t<<1|f,r=k+134|0,(t&127)>>>0>62)||(l[k+134|0]=f,f=i[A+8>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,t=f?r^64:63-r|0,f=t<<1|f,r=k+135|0,(t&127)>>>0>62)||(l[k+135|0]=f,f=i[A+12>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,t=f?r^64:63-r|0,f=t<<1|f,r=k+136|0,(t&127)>>>0>62)||(l[k+136|0]=f,f=i[A+16>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,t=f?r^64:63-r|0,f=t<<1|f,r=k+137|0,(t&127)>>>0>62)||(l[k+137|0]=f,f=i[A+20>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,r=(f|0)>=126?126:f,r=(r|0)<=1?1:r,f=(f|0)>63,A=f?r^64:63-r|0,f=A<<1|f,r=k+138|0,(A&127)>>>0>62))break k;if(l[k+138|0]=f,l[k|0]=14,f=i[(e<<2)+42856>>2],f=((f<<3&120)+(m(m(f>>4,5)-45|0,n)>>4)|0)-16|0,e=(f|0)>=126?126:f,e=(e|0)<=1?1:e,f=(f|0)>63,e=f?e^64:63-e|0,f=e<<1|f,(e&127)>>>0>=63)break t;if(l[k+1|0]=f,l[k+139|0]=1,l[k+140|0]=1,f=m(n,-5)>>4,e=(f|0)>=54?54:f,e=(e|0)<=-71?-71:e,f=(f|0)>-9,e=f?e+72^64:-9-e|0,f=e<<1|f,(e&127)>>>0<=62)break n;l[k+141|0]=f;break e}l[k+149|0]=r;break e}l[k+147|0]=r;break e}l[k+148|0]=f;break e}l[k+153|0]=f;break e}l[k+143|0]=f;break e}l[k+12|0]=f;break e}l[k+13|0]=f;break e}l[k+1|0]=f;break e}f=m(f&255,257),l[k+141|0]=f,l[k+142|0]=f>>>8,l[k+170|0]=1,l[k+171|0]=1,l[k+162|0]=1,l[k+163|0]=1,l[k+164|0]=1,l[k+165|0]=1,l[k+166|0]=1,l[k+167|0]=1,l[k+168|0]=1,l[k+169|0]=1,l[k+161|0]=1,l[k+23|0]=1,l[k+24|0]=1;break r}l[r|0]=f;break e}l[r|0]=A;break e}l[A|0]=r}C0(16791,14e3,212,9243),P()}B=w+32|0;return}C0(16994,14e3,177,14144),P()}function mA(){var f=0,e=0,r=0,A=0,k=0,n=0,t=0;r=B-16|0,B=r,A=i[19590],e=i[19591];i:{if((A|0)!=(e|0))break i;f=U(16),i[f+12>>2]=77040,i[f+4>>2]=0,i[f+8>>2]=0,i[f>>2]=75148,i[r+12>>2]=f,k=f+12|0,i[r+8>>2]=k;r:{if(A>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=k,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=77184,i[f>>2]=75196,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=75276,i[f>>2]=75236,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=75352,i[f>>2]=75312,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=76932,i[f>>2]=75388,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=76968,i[f>>2]=75428,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=77004,i[f>>2]=75468,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=77076,i[f>>2]=75508,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=77112,i[f>>2]=75548,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=77256,i[f>>2]=75588,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=77292,i[f>>2]=75628,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=77220,i[f>>2]=75668,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=77148,i[f>>2]=75708,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=76824,i[f>>2]=75748,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=75828,i[f>>2]=75788,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=75904,i[f>>2]=75864,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=76788,i[f>>2]=75940,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=76860,i[f>>2]=75980,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=77400,i[f>>2]=76020,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=77328,i[f>>2]=76060,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=77364,i[f>>2]=76100,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=76180,i[f>>2]=76140,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=76256,i[f>>2]=76216,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=76332,i[f>>2]=76292,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=76408,i[f>>2]=76368,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=76484,i[f>>2]=76444,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=76560,i[f>>2]=76520,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=76636,i[f>>2]=76596,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=U(16),i[f+12>>2]=76712,i[f>>2]=76672,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591];r:{if(e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break r}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=U(16),i[f+12>>2]=76896,i[f>>2]=76748,i[f+4>>2]=0,i[f+8>>2]=0,i[r+12>>2]=f,A=f+12|0,i[r+8>>2]=A,e=i[19591],e>>>0<k0[19592]){i[e+4>>2]=f,i[e>>2]=A,i[19591]=e+8;break i}if(n=78364,t=z2(78360,r+8|0),i[n>>2]=t,f=i[r+12>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=r+16|0}function Z2(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;w=B-16|0,B=w;i:{r:{e:{A:{f:{k:{n:{t:{o:{u:{if(f>>>0<=244){if(k=i[24254],o=f>>>0<11?16:f+11&504,f=o>>>3|0,e=k>>>f|0,e&3){r=f+((e^-1)&1)|0,e=r<<3,f=e+97056|0,e=i[e+97064>>2],A=i[e+8>>2];l:{if((f|0)==(A|0)){v=97016,Z=a0(-2,r)&k,i[v>>2]=Z;break l}i[A+12>>2]=f,i[f+8>>2]=A}f=e+8|0,r=r<<3,i[e+4>>2]=r|3,e=e+r|0,i[e+4>>2]=i[e+4>>2]|1;break i}if(u=i[24256],u>>>0>=o>>>0)break u;if(e){r=2<<f,f=P6((0-r|r)&e<<f),r=f<<3,e=r+97056|0,r=i[r+97064>>2],A=i[r+8>>2];l:{if((e|0)==(A|0)){k=a0(-2,f)&k,i[24254]=k;break l}i[A+12>>2]=e,i[e+8>>2]=A}if(i[r+4>>2]=o|3,t=r+o|0,f=f<<3,n=f-o|0,i[t+4>>2]=n|1,i[f+r>>2]=n,u){f=(u&-8)+97056|0,A=i[24259],e=1<<(u>>>3);l:{if(!(e&k)){i[24254]=e|k,e=f;break l}e=i[f+8>>2]}i[f+8>>2]=A,i[e+12>>2]=A,i[A+12>>2]=f,i[A+8>>2]=e}f=r+8|0,i[24259]=t,i[24256]=n;break i}if(_=i[24255],!_)break u;for(r=i[(P6(_)<<2)+97320>>2],n=(i[r+4>>2]&-8)-o|0,e=r;;){l:{if(f=i[e+16>>2],!f&&(f=i[e+20>>2],!f))break l;A=(i[f+4>>2]&-8)-o|0,e=A>>>0<n>>>0,n=e?A:n,r=e?f:r,e=f;continue}break}if(h=i[r+24>>2],f=i[r+12>>2],(r|0)!=(f|0)){e=i[r+8>>2],i[e+12>>2]=f,i[f+8>>2]=e;break r}if(e=i[r+20>>2],e)A=r+20|0;else{if(e=i[r+16>>2],!e)break o;A=r+16|0}for(;t=A,f=e,A=f+20|0,e=i[f+20>>2],!(!e&&(A=f+16|0,e=i[f+16>>2],!e)););i[t>>2]=0;break r}if(o=-1,f>>>0>4294967231||(e=f+11|0,o=e&-8,t=i[24255],!t))break u;u=31,n=0-o|0,f>>>0<=16777204&&(f=$2(e>>>8|0),u=((o>>>38-f&1)-(f<<1)|0)+62|0),e=i[(u<<2)+97320>>2];l:{s:{h:{if(!e){f=0;break h}for(f=0,r=o<<((u|0)!=31?25-(u>>>1|0)|0:0);;){w:{if(k=(i[e+4>>2]&-8)-o|0,k>>>0>=n>>>0||(A=e,n=k,n))break w;n=0,f=e;break s}if(k=i[e+20>>2],e=i[((r>>>29&4)+e|0)+16>>2],f=k?(k|0)==(e|0)?f:k:f,r=r<<1,!e)break}}if(!(f|A)){if(A=0,f=2<<u,f=(0-f|f)&t,!f)break u;f=i[(P6(f)<<2)+97320>>2]}if(!f)break l}for(;r=(i[f+4>>2]&-8)-o|0,e=r>>>0<n>>>0,n=e?r:n,A=e?f:A,e=i[f+16>>2],e?f=e:f=i[f+20>>2],!!f;);}if(!A|i[24256]-o>>>0<=n>>>0)break u;if(u=i[A+24>>2],f=i[A+12>>2],(A|0)!=(f|0)){e=i[A+8>>2],i[e+12>>2]=f,i[f+8>>2]=e;break e}if(e=i[A+20>>2],e)r=A+20|0;else{if(e=i[A+16>>2],!e)break t;r=A+16|0}for(;k=r,f=e,r=f+20|0,e=i[f+20>>2],!(!e&&(r=f+16|0,e=i[f+16>>2],!e)););i[k>>2]=0;break e}if(A=i[24256],A>>>0>=o>>>0){f=i[24259],e=A-o|0;u:{if(e>>>0>=16){r=f+o|0,i[r+4>>2]=e|1,i[f+A>>2]=e,i[f+4>>2]=o|3;break u}i[f+4>>2]=A|3,e=f+A|0,i[e+4>>2]=i[e+4>>2]|1,r=0,e=0}i[24256]=e,i[24259]=r,f=f+8|0;break i}if(r=i[24257],r>>>0>o>>>0){e=r-o|0,i[24257]=e,f=i[24260],r=f+o|0,i[24260]=r,i[r+4>>2]=e|1,i[f+4>>2]=o|3,f=f+8|0;break i}if(f=0,n=o+47|0,i[24372]?e=i[24374]:(i[24375]=-1,i[24376]=-1,i[24373]=4096,i[24374]=4096,i[24372]=w+12&-16^1431655768,i[24377]=0,i[24365]=0,e=4096),k=n+e|0,t=0-e|0,e=k&t,e>>>0<=o>>>0||(u=i[24364],u&&(h=i[24362],A=h+e|0,A>>>0<=h>>>0|A>>>0>u>>>0)))break i;u:{if(!(s[97460]&4)){l:{s:{h:{w:{if(A=i[24260],A)for(f=97464;;){if(u=i[f>>2],u>>>0<=A>>>0&A>>>0<u+i[f+4>>2]>>>0)break w;if(f=i[f+8>>2],!f)break}if(r=Di(0),(r|0)==-1||(k=e,f=i[24373],A=f-1|0,A&r&&(k=(e-r|0)+(r+A&0-f)|0),k>>>0<=o>>>0)||(A=i[24364],A&&(t=i[24362],f=t+k|0,f>>>0<=t>>>0|f>>>0>A>>>0)))break l;if(f=Di(k),(r|0)!=(f|0))break h;break u}if(k=t&k-r,r=Di(k),(r|0)==(i[f>>2]+i[f+4>>2]|0))break s;f=r}if((f|0)==-1)break l;if(o+48>>>0<=k>>>0){r=f;break u}if(r=i[24374],r=r+(n-k|0)&0-r,(Di(r)|0)==-1)break l;k=r+k|0,r=f;break u}if((r|0)!=-1)break u}i[24365]=i[24365]|4}if(r=Di(e),f=Di(0),(r|0)==-1|(f|0)==-1|f>>>0<=r>>>0||(k=f-r|0,k>>>0<=o+40>>>0))break f}f=i[24362]+k|0,i[24362]=f,f>>>0>k0[24363]&&(i[24363]=f);u:{if(n=i[24260],n){for(f=97464;;){if(e=i[f>>2],A=i[f+4>>2],(e+A|0)==(r|0))break u;if(f=i[f+8>>2],!f)break}break n}for(f=i[24258],f>>>0<=r>>>0&&f||(i[24258]=r),f=0,i[24367]=k,i[24366]=r,i[24262]=-1,i[24263]=i[24372],i[24369]=0;e=f<<3,A=e+97056|0,i[e+97064>>2]=A,i[e+97068>>2]=A,f=f+1|0,(f|0)!=32;);f=k-40|0,e=-8-r&7,A=f-e|0,i[24257]=A,e=e+r|0,i[24260]=e,i[e+4>>2]=A|1,i[(f+r|0)+4>>2]=40,i[24261]=i[24376];break k}if(i[f+12>>2]&8|(r>>>0<=n>>>0|e>>>0>n>>>0))break n;i[f+4>>2]=A+k,f=-8-n&7,e=f+n|0,i[24260]=e,r=i[24257]+k|0,f=r-f|0,i[24257]=f,i[e+4>>2]=f|1,i[(r+n|0)+4>>2]=40,i[24261]=i[24376];break k}f=0;break r}f=0;break e}k0[24258]>r>>>0&&(i[24258]=r),A=r+k|0,f=97464;n:{for(;;){if(e=i[f>>2],(e|0)!=(A|0)){if(f=i[f+8>>2],f)continue;break n}break}if(!(s[f+12|0]&8))break A}for(f=97464;;){n:{if(e=i[f>>2],e>>>0<=n>>>0&&(A=e+i[f+4>>2]|0,A>>>0>n>>>0))break n;f=i[f+8>>2];continue}break}for(f=k-40|0,e=-8-r&7,t=f-e|0,i[24257]=t,e=e+r|0,i[24260]=e,i[e+4>>2]=t|1,i[(f+r|0)+4>>2]=40,i[24261]=i[24376],f=(A+(39-A&7)|0)-47|0,e=f>>>0<n+16>>>0?n:f,i[e+4>>2]=27,f=i[24369],i[e+16>>2]=i[24368],i[e+20>>2]=f,f=i[24367],i[e+8>>2]=i[24366],i[e+12>>2]=f,i[24368]=e+8,i[24367]=k,i[24366]=r,i[24369]=0,f=e+24|0;i[f+4>>2]=7,r=f+8|0,f=f+4|0,r>>>0<A>>>0;);if((e|0)==(n|0))break k;i[e+4>>2]=i[e+4>>2]&-2,r=e-n|0,i[n+4>>2]=r|1,i[e>>2]=r;n:{if(r>>>0<=255){f=(r&-8)+97056|0,e=i[24254],r=1<<(r>>>3);t:{if(!(e&r)){i[24254]=e|r,e=f;break t}e=i[f+8>>2]}i[f+8>>2]=n,i[e+12>>2]=n,A=8,r=12;break n}f=31,r>>>0<=16777215&&(f=$2(r>>>8|0),f=((r>>>38-f&1)-(f<<1)|0)+62|0),i[n+28>>2]=f,i[n+16>>2]=0,i[n+20>>2]=0,e=(f<<2)+97320|0;t:{A=i[24255],k=1<<f;o:{if(!(A&k)){i[24255]=A|k,i[e>>2]=n;break o}for(f=r<<((f|0)!=31?25-(f>>>1|0)|0:0),A=i[e>>2];;){if(e=A,(r|0)==(i[e+4>>2]&-8))break t;if(A=f>>>29|0,f=f<<1,k=(A&4)+e|0,A=i[k+16>>2],!A)break}i[k+16>>2]=n}i[n+24>>2]=e,e=n,f=e,A=12,r=8;break n}f=i[e+8>>2],i[f+12>>2]=n,i[e+8>>2]=n,i[n+8>>2]=f,f=0,A=12,r=24}i[A+n>>2]=e,i[r+n>>2]=f}if(f=i[24257],f>>>0<=o>>>0)break f;e=f-o|0,i[24257]=e,f=i[24260],r=f+o|0,i[24260]=r,i[r+4>>2]=e|1,i[f+4>>2]=o|3,f=f+8|0;break i}i[23944]=48,f=0;break i}i[f>>2]=r,i[f+4>>2]=i[f+4>>2]+k,u=(-8-r&7)+r|0,i[u+4>>2]=o|3,k=e+(-8-e&7)|0,n=o+u|0,t=k-n|0;A:{if(i[24260]==(k|0)){i[24260]=n,f=i[24257]+t|0,i[24257]=f,i[n+4>>2]=f|1;break A}if(i[24259]==(k|0)){i[24259]=n,f=i[24256]+t|0,i[24256]=f,i[n+4>>2]=f|1,i[f+n>>2]=f;break A}if(f=i[k+4>>2],(f&3)==1){h=f&-8,r=i[k+12>>2];f:{if(f>>>0<=255){if(e=i[k+8>>2],(e|0)==(r|0)){v=97016,Z=i[24254]&a0(-2,f>>>3|0),i[v>>2]=Z;break f}i[e+12>>2]=r,i[r+8>>2]=e;break f}o=i[k+24>>2];k:{if((r|0)!=(k|0)){f=i[k+8>>2],i[f+12>>2]=r,i[r+8>>2]=f;break k}n:{if(f=i[k+20>>2],f)e=k+20|0;else{if(f=i[k+16>>2],!f)break n;e=k+16|0}for(;A=e,r=f,e=f+20|0,f=i[f+20>>2],!(!f&&(e=r+16|0,f=i[r+16>>2],!f)););i[A>>2]=0;break k}r=0}if(!o)break f;f=i[k+28>>2],e=(f<<2)+97320|0;k:{if(i[e>>2]==(k|0)){if(i[e>>2]=r,r)break k;v=97020,Z=i[24255]&a0(-2,f),i[v>>2]=Z;break f}if(i[o+(i[o+16>>2]==(k|0)?16:20)>>2]=r,!r)break f}if(i[r+24>>2]=o,f=i[k+16>>2],f&&(i[r+16>>2]=f,i[f+24>>2]=r),f=i[k+20>>2],!f)break f;i[r+20>>2]=f,i[f+24>>2]=r}t=t+h|0,k=k+h|0,f=i[k+4>>2]}if(i[k+4>>2]=f&-2,i[n+4>>2]=t|1,i[n+t>>2]=t,t>>>0<=255){f=(t&-8)+97056|0,e=i[24254],r=1<<(t>>>3);f:{if(!(e&r)){i[24254]=e|r,e=f;break f}e=i[f+8>>2]}i[f+8>>2]=n,i[e+12>>2]=n,i[n+12>>2]=f,i[n+8>>2]=e;break A}r=31,t>>>0<=16777215&&(f=$2(t>>>8|0),r=((t>>>38-f&1)-(f<<1)|0)+62|0),i[n+28>>2]=r,i[n+16>>2]=0,i[n+20>>2]=0,f=(r<<2)+97320|0;f:{e=i[24255],A=1<<r;k:{if(!(e&A)){i[24255]=e|A,i[f>>2]=n;break k}for(r=t<<((r|0)!=31?25-(r>>>1|0)|0:0),e=i[f>>2];;){if(f=e,(i[f+4>>2]&-8)==(t|0))break f;if(e=r>>>29|0,r=r<<1,A=(e&4)+f|0,e=i[A+16>>2],!e)break}i[A+16>>2]=n}i[n+24>>2]=f,i[n+12>>2]=n,i[n+8>>2]=n;break A}e=i[f+8>>2],i[e+12>>2]=n,i[f+8>>2]=n,i[n+24>>2]=0,i[n+12>>2]=f,i[n+8>>2]=e}f=u+8|0;break i}e:{if(!u)break e;e=i[A+28>>2],r=(e<<2)+97320|0;A:{if(i[r>>2]==(A|0)){if(i[r>>2]=f,f)break A;t=a0(-2,e)&t,i[24255]=t;break e}if(i[u+(i[u+16>>2]==(A|0)?16:20)>>2]=f,!f)break e}if(i[f+24>>2]=u,e=i[A+16>>2],e&&(i[f+16>>2]=e,i[e+24>>2]=f),e=i[A+20>>2],!e)break e;i[f+20>>2]=e,i[e+24>>2]=f}e:{if(n>>>0<=15){f=n+o|0,i[A+4>>2]=f|3,f=f+A|0,i[f+4>>2]=i[f+4>>2]|1;break e}if(i[A+4>>2]=o|3,k=A+o|0,i[k+4>>2]=n|1,i[n+k>>2]=n,n>>>0<=255){f=(n&-8)+97056|0,e=i[24254],r=1<<(n>>>3);A:{if(!(e&r)){i[24254]=e|r,e=f;break A}e=i[f+8>>2]}i[f+8>>2]=k,i[e+12>>2]=k,i[k+12>>2]=f,i[k+8>>2]=e;break e}f=31,n>>>0<=16777215&&(f=$2(n>>>8|0),f=((n>>>38-f&1)-(f<<1)|0)+62|0),i[k+28>>2]=f,i[k+16>>2]=0,i[k+20>>2]=0,e=(f<<2)+97320|0;A:{r=1<<f;f:{if(!(r&t)){i[24255]=r|t,i[e>>2]=k,i[k+24>>2]=e;break f}for(f=n<<((f|0)!=31?25-(f>>>1|0)|0:0),e=i[e>>2];;){if(r=e,(i[e+4>>2]&-8)==(n|0))break A;if(t=f>>>29|0,f=f<<1,t=e+(t&4)|0,e=i[t+16>>2],!e)break}i[t+16>>2]=k,i[k+24>>2]=r}i[k+12>>2]=k,i[k+8>>2]=k;break e}f=i[r+8>>2],i[f+12>>2]=k,i[r+8>>2]=k,i[k+24>>2]=0,i[k+12>>2]=r,i[k+8>>2]=f}f=A+8|0;break i}r:{if(!h)break r;e=i[r+28>>2],A=(e<<2)+97320|0;e:{if(i[A>>2]==(r|0)){if(i[A>>2]=f,f)break e;v=97020,Z=a0(-2,e)&_,i[v>>2]=Z;break r}if(i[h+(i[h+16>>2]==(r|0)?16:20)>>2]=f,!f)break r}if(i[f+24>>2]=h,e=i[r+16>>2],e&&(i[f+16>>2]=e,i[e+24>>2]=f),e=i[r+20>>2],!e)break r;i[f+20>>2]=e,i[e+24>>2]=f}r:{if(n>>>0<=15){f=n+o|0,i[r+4>>2]=f|3,f=f+r|0,i[f+4>>2]=i[f+4>>2]|1;break r}if(i[r+4>>2]=o|3,t=r+o|0,i[t+4>>2]=n|1,i[n+t>>2]=n,u){f=(u&-8)+97056|0,A=i[24259],e=1<<(u>>>3);e:{if(!(e&k)){i[24254]=e|k,e=f;break e}e=i[f+8>>2]}i[f+8>>2]=A,i[e+12>>2]=A,i[A+12>>2]=f,i[A+8>>2]=e}i[24259]=t,i[24256]=n}f=r+8|0}return B=w+16|0,f|0}function gs(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=Y(0),h=Y(0),w=0,_=0,v=0,Z=Y(0),p=Y(0),W=0,C=0,I=0,y=0,E=0,J=Y(0),R=Y(0),D=Y(0),z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0;e=B-112|0,B=e,A=i[r>>2],v=i[A+28>>2],_=i[A+24>>2],n=U(136),i[n>>2]=72792,i[n+4>>2]=0,i[n+8>>2]=0,B0(n+20|0,0,104),A=i[n+4>>2],t=A+1|0,i[n+4>>2]=t,i[n+56>>2]=0,i[n+60>>2]=0,i[n+44>>2]=99,i[n+48>>2]=99,i[n+32>>2]=3795,w=n- -64|0,i[w>>2]=0,i[w+4>>2]=0,i[n+132>>2]=0,i[n+124>>2]=0,i[n+128>>2]=0,i[n+84>>2]=1,i[n+88>>2]=1,i[n+72>>2]=n+76,i[n+92>>2]=0,i[n+96>>2]=0,i[n+100>>2]=0,i[n+104>>2]=0,i[n+108>>2]=0,i[n+112>>2]=0,l[n+113|0]=0,l[n+114|0]=0,l[n+115|0]=0,l[n+116|0]=0,l[n+117|0]=0,l[n+118|0]=0,l[n+119|0]=0,l[n+120|0]=0,C=n+12|0,i[n+12>>2]=C,i[n+8>>2]=i[n+8>>2]+1,i[n+4>>2]=A,i[n+16>>2]=n,t||(V[i[i[n>>2]+8>>2]](n),g(n)),A=i[k+4>>2],t=A>>>0<4,i[C+36>>2]=A,i[C+32>>2]=0,i[C+28>>2]=v,i[C+24>>2]=_,d=_-1|0,A=A<<3,I=(t?16908801>>>A|0:0)&3,w=(d+I|0)/(I|0)|0,q=v-1|0,o=(t?16843265>>>A|0:0)&3,A=(q+o|0)/(o|0)|0,j=s[k+8|0],L=i[i[r>>2]+36>>2];i:{r:{e:{A:{f:{k:{n:{if(!J0(C,0,_,v,8)||!J0(C,1,w,A,8)||!J0(C,2,w,A,8)||(A=j&1,A&&!J0(C,6,_,v,8)))break n;if(i[e+108>>2]=0,i[e+104>>2]=0,i[e+100>>2]=0,i[e+96>>2]=0,i[e+92>>2]=0,y=v0(i[r>>2],10,e+92|0),z=v0(C,0,e+100|0),a=v0(C,1,e+108|0),S=v0(C,2,e+104|0),A&&(H=v0(C,6,e+96|0)),i[e+84>>2]=-1113159960,i[e+76>>2]=1056964608,i[e+80>>2]=-1093247418,i[e+68>>2]=-1096180881,i[e+72>>2]=1056964608,i[e+60>>2]=1038710997,i[e+64>>2]=-1104361250,i[e+52>>2]=1050220167,i[e+56>>2]=1058424226,l[e+48|0]=1,E=s[k+26|0],Kr(e+8|0,Q[k+24>>1],Q[k+20>>1]),r=i[e+44>>2],i[e+80>>2]=i[e+40>>2],i[e+84>>2]=r,r=i[e+36>>2],i[e+72>>2]=i[e+32>>2],i[e+76>>2]=r,A=i[e+28>>2],r=e- -64|0,i[r>>2]=i[e+24>>2],i[r+4>>2]=A,r=i[e+20>>2],i[e+56>>2]=i[e+16>>2],i[e+60>>2]=r,r=i[e+12>>2],i[e+48>>2]=i[e+8>>2],i[e+52>>2]=r,w=(L|0)==11?4:3,(v|0)<=0)break k;if((_|0)<=0)break f;t=0;t:{if(E&1)for(;;){for(k=m(i[e+92>>2],t)+y|0,r=0;;){W=(z+m(i[e+100>>2],t)|0)+r|0,u=Y(Y(Y(Y(s[k+2|0])*Z0[e+60>>2])+Y(Y(Y(s[k|0])*Z0[e+52>>2])+Y(Z0[e+56>>2]*Y(s[k+1|0]))))+Y(.5));o:{if(Y(d0(u))<Y(2147483648)){A=~~u;break o}A=-2147483648}if(A=(A|0)>=255?255:A,l[W|0]=(A|0)>0?A:0,k=k+w|0,r=r+1|0,(_|0)==(r|0))break}if(t=t+1|0,(v|0)==(t|0))break t}for(;;){for(k=m(i[e+92>>2],t)+y|0,A=0;;){W=(z+m(i[e+100>>2],t)|0)+A|0,u=Y(Y(Y(Y(Y(s[k+2|0])*Z0[e+60>>2])+Y(Y(Y(s[k|0])*Z0[e+52>>2])+Y(Z0[e+56>>2]*Y(s[k+1|0]))))*Y(.8554700016975403))+Y(.5));o:{if(Y(d0(u))<Y(2147483648)){r=~~u;break o}r=-2147483648}if(l[W|0]=(r|0)<0?16:(r>>>0>=219?219:r)+16|0,k=k+w|0,A=A+1|0,(_|0)==(A|0))break}if(t=t+1|0,(v|0)==(t|0))break}}if(k=(o|0)==1,(I|0)!=1|(o|0)!=1)break A;if((v|0)<=0)break r;if(r=0,E&1)for(;;){for(k=m(i[e+92>>2],r)+y|0,A=0;;){o=i[e+104>>2],u=Z0[e+84>>2],h=Z0[e+76>>2],p=Z0[e+80>>2],W=(m(i[e+108>>2],r)+a|0)+A|0,Z=Y(s[k+2|0]),J=Y(s[k|0]),R=Y(s[k+1|0]),D=Y(Y(Y(Y(Z*Z0[e+72>>2])+Y(Y(J*Z0[e+64>>2])+Y(Z0[e+68>>2]*R)))+Y(128))+Y(.5));t:{if(Y(d0(D))<Y(2147483648)){t=~~D;break t}t=-2147483648}t=(t|0)>=255?255:t,l[W|0]=(t|0)>0?t:0,o=(m(r,o)+S|0)+A|0,u=Y(Y(Y(Y(Z*u)+Y(Y(J*h)+Y(p*R)))+Y(128))+Y(.5));t:{if(Y(d0(u))<Y(2147483648)){t=~~u;break t}t=-2147483648}if(t=(t|0)>=255?255:t,l[o|0]=(t|0)>0?t:0,k=k+w|0,A=A+1|0,(_|0)==(A|0))break}if(r=r+1|0,(v|0)==(r|0))break e}for(;;){for(k=m(i[e+92>>2],r)+y|0,A=0;;){o=i[e+104>>2],u=Z0[e+84>>2],h=Z0[e+76>>2],p=Z0[e+80>>2],W=(m(i[e+108>>2],r)+a|0)+A|0,Z=Y(s[k+2|0]),J=Y(s[k|0]),R=Y(s[k+1|0]),D=Y(Y(Y(Y(Y(Z*Z0[e+72>>2])+Y(Y(J*Z0[e+64>>2])+Y(Z0[e+68>>2]*R)))*Y(.875))+Y(128))+Y(.5));t:{if(Y(d0(D))<Y(2147483648)){t=~~D;break t}t=-2147483648}t=(t|0)>=255?255:t,l[W|0]=(t|0)>0?t:0,o=(m(r,o)+S|0)+A|0,u=Y(Y(Y(Y(Y(Z*u)+Y(Y(J*h)+Y(p*R)))*Y(.875))+Y(128))+Y(.5));t:{if(Y(d0(u))<Y(2147483648)){t=~~u;break t}t=-2147483648}if(t=(t|0)>=255?255:t,l[o|0]=(t|0)>0?t:0,k=k+w|0,A=A+1|0,(_|0)==(A|0))break}if(r=r+1|0,(v|0)==(r|0))break}break e}if(i[f>>2]=0,i[f+4>>2]=0,f=i[n+4>>2],i[n+4>>2]=f-1,f)break i;V[i[i[n>>2]+8>>2]](n),g(n);break i}if(k=(o|0)==1,(I|0)!=1)break A;if(k)break r;break A}if(k=(o|0)==1,(I|0)!=1)break A;if(k)break e}if(r=(I|0)!=2,!(r|(o|0)!=2)){z=v&-2;A:{if((z|0)<=0||(A0=_&-2,(A0|0)<=0))break A;for(n0=w<<1,h0=w+2|0,f0=w+1|0,t=0;;){for(I=t>>>1|0,k=m(i[e+92>>2],t)+y|0,r=0;;){o=i[e+92>>2],A=o+k|0,o=(o+w|0)+k|0,h=Y(((s[A+2|0]+(s[k+h0|0]+s[k+2|0]|0)|0)+s[o+2|0]>>>2&255)>>>0),p=Y((s[o|0]+(s[A|0]+(s[k+w|0]+s[k|0]|0)|0)>>>2&255)>>>0),Z=Y((s[o+1|0]+(s[A+1|0]+(s[k+f0|0]+s[k+1|0]|0)|0)>>>2&255)>>>0),u=Y(Y(h*Z0[e+84>>2])+Y(Y(p*Z0[e+76>>2])+Y(Z0[e+80>>2]*Z))),h=Y(Y(h*Z0[e+72>>2])+Y(Y(p*Z0[e+64>>2])+Y(Z0[e+68>>2]*Z))),o=r>>>1|0,A=o+(m(I,i[e+104>>2])+S|0)|0,W=o+(m(I,i[e+108>>2])+a|0)|0;f:{if(!(E&1)){u=Y(Y(u*Y(.875))+Y(128)),h=Y(Y(Y(h*Y(.875))+Y(128))+Y(.5));k:{if(Y(d0(h))<Y(2147483648)){o=~~h;break k}o=-2147483648}o=(o|0)>=255?255:o,o=(o|0)>0?o:0;break f}u=Y(u+Y(128)),h=Y(Y(h+Y(128))+Y(.5));k:{if(Y(d0(h))<Y(2147483648)){o=~~h;break k}o=-2147483648}o=(o|0)>=255?255:o,o=(o|0)>0?o:0}l[W|0]=o,k=k+n0|0,W=A,u=Y(u+Y(.5));f:{if(Y(d0(u))<Y(2147483648)){o=~~u;break f}o=-2147483648}if(A=(o|0)>=255?255:o,l[W|0]=(A|0)>0?A:0,r=r+2|0,!((A0|0)>(r|0)))break}if(t=t+2|0,!((z|0)>(t|0)))break}}if(!(!(_&1)|(v|0)<=0))for(r=d>>1,I=r+S|0,z=r+a|0,k=m(w,d)+y|0,r=0;;){A=s[k|0];A:{if((r|1)<(v|0)){o=i[e+92>>2]+k|0,A=s[o|0]+(A&255)>>>1|0,t=s[o+2|0]+s[k+2|0]>>>1|0,o=s[o+1|0]+s[k+1|0]>>>1|0;break A}t=s[k+2|0],o=s[k+1|0]}h=Y((t&255)>>>0),p=Y((A&255)>>>0),Z=Y((o&255)>>>0),u=Y(Y(h*Z0[e+84>>2])+Y(Y(p*Z0[e+76>>2])+Y(Z0[e+80>>2]*Z))),h=Y(Y(h*Z0[e+72>>2])+Y(Y(p*Z0[e+64>>2])+Y(Z0[e+68>>2]*Z))),t=r>>>1|0,A=I+m(t,i[e+104>>2])|0,o=z+m(t,i[e+108>>2])|0;A:{if(E&1){u=Y(u+Y(128)),h=Y(Y(h+Y(128))+Y(.5));f:{if(Y(d0(h))<Y(2147483648)){t=~~h;break f}t=-2147483648}t=(t|0)>=255?255:t,t=(t|0)>0?t:0;break A}u=Y(Y(u*Y(.875))+Y(128)),h=Y(Y(Y(h*Y(.875))+Y(128))+Y(.5));f:{if(Y(d0(h))<Y(2147483648)){t=~~h;break f}t=-2147483648}t=(t|0)>=255?255:t,t=(t|0)>0?t:0}l[o|0]=t,o=A,u=Y(u+Y(.5));A:{if(Y(d0(u))<Y(2147483648)){t=~~u;break A}t=-2147483648}if(A=(t|0)>=255?255:t,l[o|0]=(A|0)>0?A:0,k=(i[e+92>>2]<<1)+k|0,r=r+2|0,!((v|0)>(r|0)))break}if(!(v&1)|(_|0)<=0)break e;for(z=w<<1,I=q>>1,A0=w+2|0,n0=w+1|0,k=m(i[e+92>>2],q)+y|0,r=0;;){A=s[k|0],h0=m(I,i[e+104>>2])+S|0,f0=r>>>1|0,t=f0+(m(I,i[e+108>>2])+a|0)|0;A:{if((_|0)>(r|1)){A=s[k+w|0]+(A&255)>>>1|0,q=s[k+A0|0]+s[k+2|0]>>>1|0,o=s[k+n0|0]+s[k+1|0]>>>1|0;break A}q=s[k+2|0],o=s[k+1|0]}h=Y((q&255)>>>0),p=Y((A&255)>>>0),Z=Y(o>>>0),u=Y(Y(h*Z0[e+84>>2])+Y(Y(p*Z0[e+76>>2])+Y(Z0[e+80>>2]*Z))),h=Y(Y(h*Z0[e+72>>2])+Y(Y(p*Z0[e+64>>2])+Y(Z0[e+68>>2]*Z))),A=h0+f0|0;A:{if(E&1){u=Y(u+Y(128)),h=Y(Y(h+Y(128))+Y(.5));f:{if(Y(d0(h))<Y(2147483648)){o=~~h;break f}o=-2147483648}o=(o|0)>=255?255:o,o=(o|0)>0?o:0;break A}u=Y(Y(u*Y(.875))+Y(128)),h=Y(Y(Y(h*Y(.875))+Y(128))+Y(.5));f:{if(Y(d0(h))<Y(2147483648)){o=~~h;break f}o=-2147483648}o=(o|0)>=255?255:o,o=(o|0)>0?o:0}l[t|0]=o,o=A,u=Y(u+Y(.5));A:{if(Y(d0(u))<Y(2147483648)){t=~~u;break A}t=-2147483648}if(A=(t|0)>=255?255:t,l[o|0]=(A|0)>0?A:0,k=k+z|0,r=r+2|0,!((_|0)>(r|0)))break}break e}if(r|k^1|(v|0)<=0|(_|0)<=0)break e;if(w=w<<1,r=0,E&1)for(;;){for(k=m(i[e+92>>2],r)+y|0,t=0;;){o=i[e+104>>2],u=Z0[e+84>>2],h=Z0[e+76>>2],p=Z0[e+80>>2],E=t>>>1|0,W=E+(m(i[e+108>>2],r)+a|0)|0,Z=Y(s[k+2|0]),J=Y(s[k|0]),R=Y(s[k+1|0]),D=Y(Y(Y(Y(Z*Z0[e+72>>2])+Y(Y(J*Z0[e+64>>2])+Y(Z0[e+68>>2]*R)))+Y(128))+Y(.5));A:{if(Y(d0(D))<Y(2147483648)){A=~~D;break A}A=-2147483648}A=(A|0)>=255?255:A,l[W|0]=(A|0)>0?A:0,o=E+(m(r,o)+S|0)|0,u=Y(Y(Y(Y(Z*u)+Y(Y(J*h)+Y(p*R)))+Y(128))+Y(.5));A:{if(Y(d0(u))<Y(2147483648)){A=~~u;break A}A=-2147483648}if(A=(A|0)>=255?255:A,l[o|0]=(A|0)>0?A:0,k=k+w|0,t=t+2|0,!((_|0)>(t|0)))break}if(r=r+1|0,(v|0)==(r|0))break e}for(;;){for(k=m(i[e+92>>2],r)+y|0,t=0;;){o=i[e+104>>2],u=Z0[e+84>>2],h=Z0[e+76>>2],p=Z0[e+80>>2],E=t>>>1|0,W=E+(m(i[e+108>>2],r)+a|0)|0,Z=Y(s[k+2|0]),J=Y(s[k|0]),R=Y(s[k+1|0]),D=Y(Y(Y(Y(Y(Z*Z0[e+72>>2])+Y(Y(J*Z0[e+64>>2])+Y(Z0[e+68>>2]*R)))*Y(.875))+Y(128))+Y(.5));A:{if(Y(d0(D))<Y(2147483648)){A=~~D;break A}A=-2147483648}A=(A|0)>=255?255:A,l[W|0]=(A|0)>0?A:0,o=E+(m(r,o)+S|0)|0,u=Y(Y(Y(Y(Y(Z*u)+Y(Y(J*h)+Y(p*R)))*Y(.875))+Y(128))+Y(.5));A:{if(Y(d0(u))<Y(2147483648)){A=~~u;break A}A=-2147483648}if(A=(A|0)>=255?255:A,l[o|0]=(A|0)>0?A:0,k=k+w|0,t=t+2|0,!((_|0)>(t|0)))break}if(r=r+1|0,(v|0)==(r|0))break}}if(!(j&1)|(v|0)<=0|(_|0)<=0)break r;if((L|0)!=11){for(w=_&2147483644,A=_&3,r=0,_=_>>>0<4;;){if(k=0,t=0,!_)for(;l[(m(i[e+96>>2],r)+k|0)+H|0]=255,l[((m(i[e+96>>2],r)+k|0)+H|0)+1|0]=255,l[((m(i[e+96>>2],r)+k|0)+H|0)+2|0]=255,l[((m(i[e+96>>2],r)+k|0)+H|0)+3|0]=255,k=k+4|0,t=t+4|0,(w|0)!=(t|0););if(t=0,A)for(;l[(m(i[e+96>>2],r)+k|0)+H|0]=255,k=k+1|0,t=t+1|0,(A|0)!=(t|0););if(r=r+1|0,(v|0)==(r|0))break}break r}for(A=_&2147483646,_=_&1,r=0;;){if(k=0,t=0,d)for(;l[(m(i[e+96>>2],r)+k|0)+H|0]=s[((m(i[e+92>>2],r)+y|0)+(k<<2)|0)+3|0],w=k|1,l[(w+m(i[e+96>>2],r)|0)+H|0]=s[((m(i[e+92>>2],r)+y|0)+(w<<2)|0)+3|0],k=k+2|0,t=t+2|0,(A|0)!=(t|0););if(_&&(l[(m(i[e+96>>2],r)+k|0)+H|0]=s[((m(i[e+92>>2],r)+y|0)+(k<<2)|0)+3|0]),r=r+1|0,(v|0)==(r|0))break}}i[f+4>>2]=n,i[f>>2]=C}B=e+112|0}function sk(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=Y(0),S=0;k=B-144|0,B=k,A=B0(k,0,144),i[A+76>>2]=-1,i[A+44>>2]=f,i[A+32>>2]=1093,i[A+84>>2]=f,k=e,J=r,f=0,h=B-304|0,B=h;i:{r:{if(!i[A+4>>2]&&(g6(A),!i[A+4>>2]))break r;if(e=s[k|0],!e)break i;e:{A:{f:{k:{n:{for(;;){t:{e=e&255;o:{if((e|0)==32|e-9>>>0<5){for(;e=k,k=k+1|0,r=s[e+1|0],!!((r|0)==32|r-9>>>0<5););for(a4(A,0,0);;){r=i[A+4>>2];u:{if((r|0)!=i[A+104>>2]){i[A+4>>2]=r+1,r=s[r|0];break u}r=I2(A)}if(!((r|0)==32|r-9>>>0<5))break}k=i[A+4>>2],r=i[A+116>>2],(r|0)>0?r=1:r=(r|0)>=0,r&&(k=k-1|0,i[A+4>>2]=k),r=k-i[A+44>>2]|0,k=r,t=p+i[A+124>>2]|0,n=r>>31,r=_+i[A+120>>2]|0,t=n+(r>>>0<_>>>0?t+1|0:t)|0,_=r+k|0,p=_>>>0<r>>>0?t+1|0:t;break o}u:{l:{s:{if((e|0)==37){if(e=s[k+1|0],(e|0)==42)break s;if((e|0)!=37)break l}a4(A,0,0);h:{if(s[k|0]==37){for(;;){e=i[A+4>>2];w:{if((e|0)!=i[A+104>>2]){i[A+4>>2]=e+1,e=s[e|0];break w}e=I2(A)}if(!((e|0)==32|e-9>>>0<5))break}k=k+1|0;break h}if(e=i[A+4>>2],(e|0)!=i[A+104>>2]){i[A+4>>2]=e+1,e=s[e|0];break h}e=I2(A)}if(s[k|0]!=(e|0)){if(f=i[A+116>>2],(f|0)>0?f=1:f=(f|0)>=0,f&&(i[A+4>>2]=i[A+4>>2]-1),E|(e|0)>=0)break i;break r}e=i[A+4>>2]-i[A+44>>2]|0,n=e,r=p+i[A+124>>2]|0,o=e>>31,e=_+i[A+120>>2]|0,u=o+(e>>>0<_>>>0?r+1|0:r)|0,_=e+n|0,p=_>>>0<e>>>0?u+1|0:u,e=k;break o}w=0,e=k+2|0;break u}if(e=e-48|0,!(s[k+2|0]!=36|e>>>0>9)){r=B-16|0,i[r+12>>2]=J,e=e>>>0>1?((e<<2)+J|0)-4|0:J,i[r+8>>2]=e+4,w=i[e>>2],e=k+3|0;break u}w=i[J>>2],J=J+4|0,e=k+1|0}if(I=0,n=0,k=s[e|0],k-48>>>0<=9)for(;n=(m(n,10)+k|0)-48|0,k=s[e+1|0],e=e+1|0,k-48>>>0<10;);(k|0)==109&&(Z=0,I=(w|0)!=0,k=s[e+1|0],f=0,e=e+1|0),o=e,e=e+1|0,r=3,t=I;u:{l:switch((k&255)-65|0){case 39:r=s[o+1|0]==104,e=r?o+2|0:e,r=r?-2:-1;break u;case 43:r=s[o+1|0]==108,e=r?o+2|0:e,r=r?3:1;break u;case 51:case 57:r=1;break u;case 11:r=2;break u;case 41:break u;case 0:case 2:case 4:case 5:case 6:case 18:case 23:case 26:case 32:case 34:case 35:case 36:case 37:case 38:case 40:case 45:case 46:case 47:case 50:case 52:case 55:break l;default:break A}r=0,e=o}o=r,r=s[e|0],k=(r&47)==3,R=k?1:o,W=k?r|32:r;u:{if((W|0)==91)break u;l:{if((W|0)!=110){if((W|0)!=99)break l;n=(n|0)<=1?1:n;break u}a9(w,R,_,p);break o}for(a4(A,0,0);;){r=i[A+4>>2];l:{if((r|0)!=i[A+104>>2]){i[A+4>>2]=r+1,r=s[r|0];break l}r=I2(A)}if(!((r|0)==32|r-9>>>0<5))break}k=i[A+4>>2],r=i[A+116>>2],(r|0)>0?r=1:r=(r|0)>=0,r&&(k=k-1|0,i[A+4>>2]=k),r=k-i[A+44>>2]|0,k=r,t=p+i[A+124>>2]|0,o=r>>31,r=_+i[A+120>>2]|0,p=o+(r>>>0<_>>>0?t+1|0:t)|0,_=r+k|0,p=_>>>0<r>>>0?p+1|0:p}v=n,C=n>>31,a4(A,n,C),r=i[A+4>>2];u:{if((r|0)!=i[A+104>>2]){i[A+4>>2]=r+1;break u}if((I2(A)|0)<0)break f}r=i[A+116>>2],(r|0)>0?r=1:r=(r|0)>=0,r&&(i[A+4>>2]=i[A+4>>2]-1),k=16;u:{l:{s:{h:{w:switch(W-88|0){default:if(r=W-65|0,r>>>0>6|!(1<<r&113))break u;case 9:case 13:case 14:case 15:if(tk(h+8|0,A,R,0),r=i[A+4>>2]-i[A+44>>2]|0,i[A+120>>2]!=(0-r|0)|i[A+124>>2]!=(0-((r>>31)+((r|0)!=0)|0)|0))break s;break k;case 3:case 11:case 27:if((W|16)==115){if(B0(h+32|0,-1,257),l[h+32|0]=0,(W|0)!=115)break l;l[h+65|0]=0,l[h+46|0]=0,X[h+42>>1]=0,X[h+44>>1]=0;break l}k=s[e+1|0],t=(k|0)==94,B0(h+32|0,t,257),l[h+32|0]=0,r=t?e+2|0:e+1|0;_:{v:{Z:{if(e=s[(t?2:1)+e|0],(e|0)!=45){if((e|0)==93)break Z;u=(k|0)!=94,e=r;break _}u=(k|0)!=94,l[h+78|0]=u;break v}u=(k|0)!=94,l[h+126|0]=u}e=r+1|0}for(;;){r=s[e|0];_:{if((r|0)!=45){if(!r)break f;if((r|0)==93)break l;break _}if(r=45,t=s[e+1|0],!t|(t|0)==93)break _;o=e+1|0,k=s[e-1|0];v:{if(t>>>0<=k>>>0){r=t;break v}for(;k=k+1|0,l[k+(h+32|0)|0]=u,r=s[o|0],k>>>0<r>>>0;);}e=o}l[(r+h|0)+33|0]=u,e=e+1|0}case 23:k=8;break h;case 12:case 29:k=10;break h;case 1:case 2:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 22:case 25:case 26:case 28:case 30:case 31:break u;case 0:case 24:case 32:break h;case 17:break w}k=0}n=0,t=0,o=0,u=0,C=0,D=B-16|0,B=D;h:{if(!((k|0)!=1&k>>>0<=36)){i[23944]=28;break h}for(;;){r=i[A+4>>2];w:{if((r|0)!=i[A+104>>2]){i[A+4>>2]=r+1,r=s[r|0];break w}r=I2(A)}if(!((r|0)==32|r-9>>>0<5))break}w:{_:switch(r-43|0){case 0:case 2:break _;default:break w}if(C=(r|0)==45?-1:0,r=i[A+4>>2],(r|0)!=i[A+104>>2]){i[A+4>>2]=r+1,r=s[r|0];break w}r=I2(A)}w:{_:{v:{Z:{if(!((k|0)!=0&(k|0)!=16|(r|0)!=48)){r=i[A+4>>2];m:{if((r|0)!=i[A+104>>2]){i[A+4>>2]=r+1,r=s[r|0];break m}r=I2(A)}if((r&-33)==88){k=16,r=i[A+4>>2];m:{if((r|0)!=i[A+104>>2]){i[A+4>>2]=r+1,r=s[r|0];break m}r=I2(A)}if(s[r+56209|0]<16)break v;r=i[A+116>>2],(r|0)>0?r=1:r=(r|0)>=0,r&&(i[A+4>>2]=i[A+4>>2]-1),a4(A,0,0);break h}if(k)break Z;k=8;break v}if(k=k||10,k>>>0>s[r+56209|0])break Z;r=i[A+116>>2],(r|0)>0?r=1:r=(r|0)>=0,r&&(i[A+4>>2]=i[A+4>>2]-1),a4(A,0,0),i[23944]=28;break h}if((k|0)!=10)break v;if(o=r-48|0,o>>>0<=9){for(r=0;;){r=m(r,10)+o|0,n=r>>>0<429496729,k=i[A+4>>2];Z:{if((k|0)!=i[A+104>>2]){i[A+4>>2]=k+1,k=s[k|0];break Z}k=I2(A)}if(o=k-48|0,!(n&o>>>0<=9))break}n=r}if(o>>>0>9)break w;for(k=q0(n,0,10,0),v=w0;;){Z:{t=v,n=k+o|0,t=n>>>0<k>>>0?t+1|0:t,k=(t|0)==429496729&n>>>0<2576980378|t>>>0<429496729,r=i[A+4>>2];m:{if((r|0)!=i[A+104>>2]){i[A+4>>2]=r+1,r=s[r|0];break m}r=I2(A)}if(u=r-48|0,!(k&u>>>0<=9)){if(u>>>0<=9)break Z;break w}if(k=q0(n,t,10,0),v=w0,o=u,(v|0)==-1&(o^-1)>>>0>=k>>>0|(v|0)!=-1)continue}break}k=10;break _}if(k-1&k){if(u=s[r+56209|0],u>>>0<k>>>0){for(;;){o=m(k,o)+u|0,n=o>>>0<119304647,r=i[A+4>>2];v:{if((r|0)!=i[A+104>>2]){i[A+4>>2]=r+1,r=s[r|0];break v}r=I2(A)}if(u=s[r+56209|0],!(n&u>>>0<k>>>0))break}n=o}if(k>>>0<=u>>>0)break _;for(;;){if(o=q0(n,t,k,0),v=w0,u=u&255,(v|0)==-1&(u^-1)>>>0<o>>>0)break _;t=v,n=o+u|0,t=n>>>0<o>>>0?t+1|0:t,r=i[A+4>>2];v:{if((r|0)!=i[A+104>>2]){i[A+4>>2]=r+1,r=s[r|0];break v}r=I2(A)}if(u=s[r+56209|0],k>>>0<=u>>>0)break _;if(U1(D,k,0,0,0,n,t,0,0),!!(i[D+8>>2]|i[D+12>>2]))break}break _}if(v=l[(m(k,23)>>>5&7)+56465|0],o=s[r+56209|0],o>>>0<k>>>0){for(;;){r=u<<v,u=r|o,n=r>>>0<134217728,r=i[A+4>>2];v:{if((r|0)!=i[A+104>>2]){i[A+4>>2]=r+1,r=s[r|0];break v}r=I2(A)}if(o=s[r+56209|0],!(n&o>>>0<k>>>0))break}n=u}if(k>>>0<=o>>>0||(y=v&31,(v&63)>>>0>=32?(u=0,y=-1>>>y|0):(u=-1>>>y|0,y=u|(1<<y)-1<<32-y),!u&n>>>0>y>>>0))break _;for(;;){z=o&255,o=n,r=v&31,(v&63)>>>0>=32?(t=n<<r,r=0):(t=(1<<r)-1&o>>>32-r|t<<r,r=o<<r),n=z|r,r=i[A+4>>2];v:{if((r|0)!=i[A+104>>2]){i[A+4>>2]=r+1,r=s[r|0];break v}r=I2(A)}if(o=s[r+56209|0],k>>>0<=o>>>0)break _;if(!((t|0)==(u|0)&n>>>0<=y>>>0|t>>>0<u>>>0))break}}if(s[r+56209|0]>=k>>>0)break w;for(;;){r=i[A+4>>2];_:{if((r|0)!=i[A+104>>2]){i[A+4>>2]=r+1,r=s[r|0];break _}r=I2(A)}if(!(s[r+56209|0]<k>>>0))break}i[23944]=68,C=0,n=-1,t=-1}r=i[A+116>>2],(r|0)>0?r=1:r=(r|0)>=0,r&&(i[A+4>>2]=i[A+4>>2]-1);w:if((n&t)!=-1)break w;r=n^C,n=r-C|0,k=C>>31,t=(k^t)-((r>>>0<C>>>0)+k|0)|0}if(B=D+16|0,r=i[A+4>>2]-i[A+44>>2]|0,i[A+120>>2]==(0-r|0)&i[A+124>>2]==(0-((r>>31)+((r|0)!=0)|0)|0))break k;if(!(!w|(W|0)!=112)){i[w>>2]=n;break u}a9(w,R,n,t);break u}if(!w)break u;r=i[h+16>>2],n=i[h+20>>2],k=i[h+8>>2],t=i[h+12>>2];s:switch(R|0){case 0:H=w,a=gn(k,t,r,n),Z0[H>>2]=a;break u;case 1:H=w,S=YA(k,t,r,n),i0[H>>3]=S;break u;case 2:break s;default:break u}i[w>>2]=k,i[w+4>>2]=t,i[w+8>>2]=r,i[w+12>>2]=n;break u}o=(W|0)!=99,r=o?31:n+1|0;l:{if((R|0)==1){if(n=w,I&&(n=Z2(r<<2),!n))break n;for(i[h+296>>2]=0,i[h+300>>2]=0,k=0;;){f=n;s:{for(;;){n=i[A+4>>2];h:{if((n|0)!=i[A+104>>2]){i[A+4>>2]=n+1,n=s[n|0];break h}n=I2(A)}if(!s[(n+h|0)+33|0])break s;if(l[h+27|0]=n,n=B6(h+28|0,h+27|0,1,h+296|0),(n|0)!=-2){if((n|0)==-1){Z=0;break f}if(f&&(i[(k<<2)+f>>2]=i[h+28>>2],k=k+1|0),!(!I|(r|0)!=(k|0)))break}}if(t=1,Z=0,r=r<<1|1,n=Er(f,r<<2),n)continue;break A}break}if(Z=0,r=f,h+296|0&&i[h+296>>2])break f;break l}if(I){if(k=0,n=Z2(r),!n)break n;for(;;){for(f=n;;){n=i[A+4>>2];s:{if((n|0)!=i[A+104>>2]){i[A+4>>2]=n+1,n=s[n|0];break s}n=I2(A)}if(!s[(n+h|0)+33|0]){r=0,Z=f;break l}if(l[f+k|0]=n,k=k+1|0,(k|0)==(r|0))break}if(t=1,r=r<<1|1,n=Er(f,r),!n)break}Z=f,f=0;break A}if(k=0,w)for(;;){f=i[A+4>>2];s:{if((f|0)!=i[A+104>>2]){i[A+4>>2]=f+1,f=s[f|0];break s}f=I2(A)}if(s[(f+h|0)+33|0]){l[k+w|0]=f,k=k+1|0;continue}else{r=0,f=w,Z=f;break l}}for(;;){f=i[A+4>>2];s:{if((f|0)!=i[A+104>>2]){i[A+4>>2]=f+1,f=s[f|0];break s}f=I2(A)}if(!s[(f+h|0)+33|0])break}f=0,Z=0,r=0}if(n=i[A+4>>2],t=i[A+116>>2],(t|0)>0?t=1:t=(t|0)>=0,t&&(n=n-1|0,i[A+4>>2]=n),t=n-i[A+44>>2]|0,u=t,n=t+i[A+120>>2]|0,t=i[A+124>>2]+(t>>31)|0,t=n>>>0<u>>>0?t+1|0:t,!(t|n)|!(o|(n|0)==(v|0)&(t|0)==(C|0)))break t;I&&(i[w>>2]=f);l:{if((W|0)==99)break l;if(r&&(i[(k<<2)+r>>2]=0),!Z){Z=0;break l}l[k+Z|0]=0}f=r}r=i[A+4>>2]-i[A+44>>2]|0,n=r,t=r>>31,r=p+i[A+124>>2]|0,k=_+i[A+120>>2]|0,t=(k>>>0<_>>>0?r+1|0:r)+t|0,_=k+n|0,p=_>>>0<k>>>0?t+1|0:t,E=((w|0)!=0)+E|0}if(k=e+1|0,e=s[e+1|0],e)continue;break i}break}f=r;break k}t=1,Z=0,f=0;break A}t=I;break e}t=I}E=E||-1}if(!t)break i;G(Z),G(f);break i}E=-1}return B=h+304|0,B=A+144|0,E}function BA(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0;h=B-48|0,B=h,u=h+24|0,i[u>>2]=0,i[u+4>>2]=0,i[u+16>>2]=0,i[u+8>>2]=0,i[u+12>>2]=0;i:{r:{e:{A:switch(i[i[A>>2]+4>>2]-1|0){case 0:lk(h,e,r,A,k,n,t),r=i[h+4>>2],i[u>>2]=i[h>>2],i[u+4>>2]=r,l[u+19|0]<0&&G(i[u+8>>2]),r=i[h+12>>2],i[u+8>>2]=i[h+8>>2],i[u+12>>2]=r,i[u+16>>2]=i[h+16>>2];break e;case 4:kk(h,e,r,A,k,1,t),r=i[h+4>>2],i[u>>2]=i[h>>2],i[u+4>>2]=r,l[u+19|0]<0&&G(i[u+8>>2]),r=i[h+12>>2],i[u+8>>2]=i[h+8>>2],i[u+12>>2]=r,i[u+16>>2]=i[h+16>>2];break e;case 3:ok(h,e,r,A,k,n,t),r=i[h+4>>2],i[u>>2]=i[h>>2],i[u+4>>2]=r,l[u+19|0]<0&&G(i[u+8>>2]),r=i[h+12>>2],i[u+8>>2]=i[h+8>>2],i[u+12>>2]=r,i[u+16>>2]=i[h+16>>2];break e;case 6:case 9:uk(h,e,r,A,k,n,t),r=i[h+4>>2],i[u>>2]=i[h>>2],i[u+4>>2]=r,l[u+19|0]<0&&G(i[u+8>>2]),r=i[h+12>>2],i[u+8>>2]=i[h+8>>2],i[u+12>>2]=r,i[u+16>>2]=i[h+16>>2];break e;case 2:wk(h,e,r,A,k,n,t),r=i[h+4>>2],i[u>>2]=i[h>>2],i[u+4>>2]=r,l[u+19|0]<0&&G(i[u+8>>2]),r=i[h+12>>2],i[u+8>>2]=i[h+8>>2],i[u+12>>2]=r,i[u+16>>2]=i[h+16>>2];break e;case 7:k=i[19565],n=k,r=i[19564],i[h>>2]=r,i[h+4>>2]=k,k=h+8|0;f:{if(l[78275]>=0){Z=i[19567],i[k>>2]=i[19566],i[k+4>>2]=Z,i[k+8>>2]=i[19568];break f}_0(k,i[19566],i[19567]),r=i[h>>2],n=i[h+4>>2]}i[u>>2]=r,i[u+4>>2]=n,l[u+19|0]<0&&G(i[u+8>>2]),r=i[k+4>>2],i[u+8>>2]=i[k>>2],i[u+12>>2]=r,i[u+16>>2]=i[k+8>>2];break e;case 8:break A;default:break r}v=B-48|0,B=v,n=B-16|0,B=n,D8(n+8|0,i[e+48>>2],8174),k=i[n+8>>2],l[k+124|0]=1,i[k+52>>2]=i[k+52>>2]&-2|1,p=i[k+56>>2],k=i[n+12>>2];A:{if(!k||(Z=i[k+4>>2],i[k+4>>2]=Z-1,Z))break A;V[i[i[k>>2]+8>>2]](k),g(k)}B=n+16|0,k=U(360),i[k+16>>2]=0,i[k+20>>2]=0,i[k>>2]=72656,i[k+4>>2]=0,i[k+8>>2]=0,l[k+152|0]=0,i[k+36>>2]=p,i[k+32>>2]=e,i[k+28>>2]=34648,i[k+40>>2]=0,i[k+44>>2]=0,i[k+52>>2]=0,i[k+56>>2]=0,i[k+68>>2]=0,i[k+72>>2]=0,i[k+80>>2]=0,i[k+84>>2]=0,i[k+156>>2]=0,i[k+160>>2]=0,i[k+24>>2]=0,X[k+48>>1]=0,X[k+58>>1]=0,X[k+60>>1]=0,X[k+62>>1]=0,X[k+64>>1]=0,l[k+76|0]=0,l[k+88|0]=0,i[k+204>>2]=0,i[k+196>>2]=0,i[k+200>>2]=0,i[k+188>>2]=0,i[k+192>>2]=0,i[k+180>>2]=0,i[k+184>>2]=0,i[k+172>>2]=0,i[k+176>>2]=0,i[k+164>>2]=0,i[k+168>>2]=0,i[k+212>>2]=0,i[k+216>>2]=0,l[k+208|0]=1,l[k+217|0]=0,l[k+218|0]=0,l[k+219|0]=0,l[k+220|0]=0,l[k+221|0]=0,l[k+222|0]=0,l[k+223|0]=0,l[k+224|0]=0,i[k+232>>2]=0,i[k+236>>2]=0,i[k+240>>2]=0,i[k+244>>2]=0,i[k+248>>2]=0,i[k+252>>2]=0,i[k+256>>2]=0,i[k+260>>2]=0,i[k+264>>2]=0,i[k+268>>2]=0,l[k+272|0]=0,B0(k+280|0,0,80),i[k+296>>2]=0,i[k+300>>2]=0,l[k+292|0]=1,i[k+304>>2]=0,i[k+308>>2]=0,i[k+312>>2]=0,i[k+316>>2]=0,i[k+328>>2]=0,i[k+332>>2]=0,i[k+320>>2]=0,i[k+324>>2]=1072693248,i[k+336>>2]=0,i[k+340>>2]=0,i[k+344>>2]=0,i[k+348>>2]=0,i[k+352>>2]=0,i[k+96>>2]=0,i[k+100>>2]=0,i[k+104>>2]=0,i[k+108>>2]=0,i[k+112>>2]=0,i[k+116>>2]=0,i[k+120>>2]=0,i[k+124>>2]=0,i[k+128>>2]=0,i[k+132>>2]=0,i[k+136>>2]=0,i[k+140>>2]=0,i[k+144>>2]=0,i[k+148>>2]=0,i[t>>2]=k+16,n=i[t+4>>2],i[t+4>>2]=k,W=e+48|0;A:{if(!n||(k=i[n+4>>2],i[n+4>>2]=k-1,k))break A;V[i[i[n>>2]+8>>2]](n),g(n)}w=v+28|0,n=B-32|0,B=n,Z=r,r=i[r>>2];A:{if(i[r+32>>2]!=2){if(r=U(40),i[n+20>>2]=r,i[n+24>>2]=39,i[n+28>>2]=-2147483608,k=s[6730]|s[6731]<<8|(s[6732]<<16|s[6733]<<24),o=s[6726]|s[6727]<<8|(s[6728]<<16|s[6729]<<24),l[r|0]=o,l[r+1|0]=o>>>8,l[r+2|0]=o>>>16,l[r+3|0]=o>>>24,l[r+4|0]=k,l[r+5|0]=k>>>8,l[r+6|0]=k>>>16,l[r+7|0]=k>>>24,l[r+39|0]=0,k=s[6761]|s[6762]<<8|(s[6763]<<16|s[6764]<<24),o=s[6757]|s[6758]<<8|(s[6759]<<16|s[6760]<<24),l[r+31|0]=o,l[r+32|0]=o>>>8,l[r+33|0]=o>>>16,l[r+34|0]=o>>>24,l[r+35|0]=k,l[r+36|0]=k>>>8,l[r+37|0]=k>>>16,l[r+38|0]=k>>>24,k=s[6754]|s[6755]<<8|(s[6756]<<16|s[6757]<<24),o=s[6750]|s[6751]<<8|(s[6752]<<16|s[6753]<<24),l[r+24|0]=o,l[r+25|0]=o>>>8,l[r+26|0]=o>>>16,l[r+27|0]=o>>>24,l[r+28|0]=k,l[r+29|0]=k>>>8,l[r+30|0]=k>>>16,l[r+31|0]=k>>>24,k=s[6746]|s[6747]<<8|(s[6748]<<16|s[6749]<<24),o=s[6742]|s[6743]<<8|(s[6744]<<16|s[6745]<<24),l[r+16|0]=o,l[r+17|0]=o>>>8,l[r+18|0]=o>>>16,l[r+19|0]=o>>>24,l[r+20|0]=k,l[r+21|0]=k>>>8,l[r+22|0]=k>>>16,l[r+23|0]=k>>>24,k=s[6738]|s[6739]<<8|(s[6740]<<16|s[6741]<<24),o=s[6734]|s[6735]<<8|(s[6736]<<16|s[6737]<<24),l[r+8|0]=o,l[r+9|0]=o>>>8,l[r+10|0]=o>>>16,l[r+11|0]=o>>>24,l[r+12|0]=k,l[r+13|0]=k>>>8,l[r+14|0]=k>>>16,l[r+15|0]=k>>>24,r0(w,4,3002,n+20|0),l[n+31|0]>=0)break A;G(i[n+20>>2]);break A}if((U0(r,0)|0)!=8){if(r=U(40),i[n+20>>2]=r,i[n+24>>2]=37,i[n+28>>2]=-2147483608,k=s[6692]|s[6693]<<8|(s[6694]<<16|s[6695]<<24),o=s[6688]|s[6689]<<8|(s[6690]<<16|s[6691]<<24),l[r|0]=o,l[r+1|0]=o>>>8,l[r+2|0]=o>>>16,l[r+3|0]=o>>>24,l[r+4|0]=k,l[r+5|0]=k>>>8,l[r+6|0]=k>>>16,l[r+7|0]=k>>>24,l[r+37|0]=0,k=s[6721]|s[6722]<<8|(s[6723]<<16|s[6724]<<24),o=s[6717]|s[6718]<<8|(s[6719]<<16|s[6720]<<24),l[r+29|0]=o,l[r+30|0]=o>>>8,l[r+31|0]=o>>>16,l[r+32|0]=o>>>24,l[r+33|0]=k,l[r+34|0]=k>>>8,l[r+35|0]=k>>>16,l[r+36|0]=k>>>24,k=s[6716]|s[6717]<<8|(s[6718]<<16|s[6719]<<24),o=s[6712]|s[6713]<<8|(s[6714]<<16|s[6715]<<24),l[r+24|0]=o,l[r+25|0]=o>>>8,l[r+26|0]=o>>>16,l[r+27|0]=o>>>24,l[r+28|0]=k,l[r+29|0]=k>>>8,l[r+30|0]=k>>>16,l[r+31|0]=k>>>24,k=s[6708]|s[6709]<<8|(s[6710]<<16|s[6711]<<24),o=s[6704]|s[6705]<<8|(s[6706]<<16|s[6707]<<24),l[r+16|0]=o,l[r+17|0]=o>>>8,l[r+18|0]=o>>>16,l[r+19|0]=o>>>24,l[r+20|0]=k,l[r+21|0]=k>>>8,l[r+22|0]=k>>>16,l[r+23|0]=k>>>24,k=s[6700]|s[6701]<<8|(s[6702]<<16|s[6703]<<24),o=s[6696]|s[6697]<<8|(s[6698]<<16|s[6699]<<24),l[r+8|0]=o,l[r+9|0]=o>>>8,l[r+10|0]=o>>>16,l[r+11|0]=o>>>24,l[r+12|0]=k,l[r+13|0]=k>>>8,l[r+14|0]=k>>>16,l[r+15|0]=k>>>24,r0(w,4,3002,n+20|0),l[n+31|0]>=0)break A;G(i[n+20>>2]);break A}i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,o=v0(i[Z>>2],0,n+16|0),r=i[Z>>2],_=i[r+28>>2],r=i[r+24>>2],k=m(_,r),k&&L2(n+20|0,k);f:{if((r|0)!=i[n+16>>2]){if((_|0)<=0)break f;if(k=0,(_|0)!=1)for(C=_&2147483646;l0(i[n+20>>2]+m(r,k)|0,o+m(i[n+16>>2],k)|0,r),I=k|1,l0(i[n+20>>2]+m(r,I)|0,o+m(i[n+16>>2],I)|0,r),k=k+2|0,y=y+2|0,(C|0)!=(y|0););if(!(_&1))break f;l0(i[n+20>>2]+m(r,k)|0,o+m(i[n+16>>2],k)|0,r);break f}l0(i[n+20>>2],o,k)}hi(i[W>>2],i[i[t>>2]+20>>2],n+20|0,0),k=U(80),i[k>>2]=72344,i[k+4>>2]=0,i[k+8>>2]=0,o=k+16|0,r=o,i[r+8>>2]=0,i[r+12>>2]=0,r=k,i[r+32>>2]=0,i[r+36>>2]=0,i[r+40>>2]=0,i[r+44>>2]=0,i[r+48>>2]=0,i[r+16>>2]=68500,i[r+52>>2]=0,i[r+56>>2]=0,i[r+68>>2]=0,l[r+57|0]=0,l[r+58|0]=0,l[r+59|0]=0,l[r+60|0]=0,l[r+61|0]=0,l[r+62|0]=0,l[r+63|0]=0,l[r+64|0]=0,i[r+16>>2]=75088,i[r+32>>2]=1836280643,E=r,J=U0(i[Z>>2],0),l[E+72|0]=J,_=i[W>>2],C=i[i[t>>2]+20>>2],i[n+12>>2]=r,i[n+8>>2]=o,i[r+4>>2]=i[r+4>>2]+1,se(_,C,n+8|0,1),r=i[n+12>>2];f:{if(!r||(o=i[r+4>>2],i[r+4>>2]=o-1,o))break f;V[i[i[r>>2]+8>>2]](r),g(r)}r=U(80),i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=70984,o=r+16|0,i[o+8>>2]=0,i[o+12>>2]=0,i[r+32>>2]=0,i[r+36>>2]=0,i[r+40>>2]=0,i[r+44>>2]=0,i[r+48>>2]=0,i[r+16>>2]=68500,i[r+52>>2]=0,i[r+56>>2]=0,i[r+68>>2]=0,l[r+57|0]=0,l[r+58|0]=0,l[r+59|0]=0,l[r+60|0]=0,l[r+61|0]=0,l[r+62|0]=0,l[r+63|0]=0,l[r+64|0]=0,i[r+16>>2]=69264,i[r+32>>2]=1769173093,_=i[Z>>2],C=i[_+28>>2],i[r+72>>2]=i[_+24>>2],i[r+76>>2]=C,_=i[W>>2],W=i[i[t>>2]+20>>2],i[n+12>>2]=r,i[n+8>>2]=o,i[r+4>>2]=i[r+4>>2]+1,se(_,W,n+8|0,1),o=i[n+12>>2];f:{if(!o||(_=i[o+4>>2],i[o+4>>2]=_-1,_))break f;V[i[i[o>>2]+8>>2]](o),g(o)}o=i[19565],i[w>>2]=i[19564],i[w+4>>2]=o,w=w+8|0;f:{if(l[78275]>=0){o=i[19567],i[w>>2]=i[19566],i[w+4>>2]=o,i[w+8>>2]=i[19568];break f}_0(w,i[19566],i[19567])}if(w=i[r+4>>2],i[r+4>>2]=w-1,w||(V[i[i[r>>2]+8>>2]](r),g(r)),r=i[k+4>>2],i[k+4>>2]=r-1,r||(V[i[i[k>>2]+8>>2]](k),g(k)),r=i[n+20>>2],!r)break A;i[n+24>>2]=r,G(r)}B=n+32|0,r=i[e+32>>2];A:{if(r>>>0<k0[e+36>>2]){i[r>>2]=i[t>>2],k=i[t+4>>2],i[r+4>>2]=k,k&&(i[k+4>>2]=i[k+4>>2]+1),r=r+8|0;break A}r=Q2(e+28|0,t)}i[e+32>>2]=r,r=i[e+20>>2];A:{f:{if(!r){n=e+20|0,k=n;break f}for(;;){if(k=r,n=i[r+16>>2],n>>>0>p>>>0){if(n=r,r=i[r>>2],r)continue;break f}if(n>>>0>=p>>>0)break A;if(r=i[k+4>>2],!r)break}n=k+4|0}r=U(28),i[r+20>>2]=0,i[r+24>>2]=0,i[r+16>>2]=p,i[r+8>>2]=k,i[r>>2]=0,i[r+4>>2]=0,i[n>>2]=r,k=r,w=i[i[e+16>>2]>>2],w&&(i[e+16>>2]=w,k=i[n>>2]),D1(i[e+20>>2],k),i[e+24>>2]=i[e+24>>2]+1}k=i[t>>2],n=i[t+4>>2],n&&(i[n+4>>2]=i[n+4>>2]+1),i[r+20>>2]=k,k=i[r+24>>2],i[r+24>>2]=n;A:{if(!k||(r=i[k+4>>2],i[k+4>>2]=r-1,r))break A;V[i[i[k>>2]+8>>2]](k),g(k)}i[v+20>>2]=i[Z>>2],r=i[Z+4>>2],i[v+24>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),r=i[v+24>>2],i[v+8>>2]=i[v+20>>2],i[v+12>>2]=r,Wi(e,v+8|0,p),r=i[19565],i[h>>2]=i[19564],i[h+4>>2]=r,r=h+8|0;A:{if(l[78275]>=0){k=i[19567],i[r>>2]=i[19566],i[r+4>>2]=k,i[r+8>>2]=i[19568];break A}_0(r,i[19566],i[19567])}l[v+47|0]<0&&G(i[v+36>>2]),B=v+48|0,r=i[h+4>>2],i[u>>2]=i[h>>2],i[u+4>>2]=r,l[u+19|0]<0&&G(i[u+8>>2]),r=i[h+12>>2],i[u+8>>2]=i[h+8>>2],i[u+12>>2]=r,i[u+16>>2]=i[h+16>>2]}dn(i[e+48>>2],i[i[A>>2]+4>>2],s[i[t>>2]+192|0]),e=i[u+4>>2],i[f>>2]=i[u>>2],i[f+4>>2]=e,e=i[u+12>>2],i[f+8>>2]=i[u+8>>2],i[f+12>>2]=e,i[f+16>>2]=i[u+16>>2];break i}if(l[h|0]=0,l[h+11|0]=0,r0(f,8,3e3,h),l[h+11|0]<0&&G(i[h>>2]),l[u+19|0]>=0)break i;G(i[u+8>>2])}B=h+48|0}function hk(){var f=0,e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;Ve(),h=U(8),u=U(104),i[u>>2]=74072,i[u+4>>2]=0,i[u+8>>2]=0,n=u+16|0,f=n,i[f>>2]=0,i[f+4>>2]=0,i[f+20>>2]=0,i[f+24>>2]=0,i[f+28>>2]=0,i[f+32>>2]=0,i[f+80>>2]=0,i[f+72>>2]=0,i[f+76>>2]=0,i[f+64>>2]=1073741824,i[f+68>>2]=0,i[f+8>>2]=0,i[f+12>>2]=34648,i[f+16>>2]=f+20,i[f+36>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0,i[f+48>>2]=0,i[f+52>>2]=0,i[f+56>>2]=4,r=U(132),i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=72576,w=f,_=Ge(r+12|0),i[w+48>>2]=_,f=i[f+52>>2],i[n+52>>2]=r;i:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break i;V[i[i[f>>2]+8>>2]](f),g(f)}k=B-16|0,B=k,r=i[n+48>>2],f=i[r+4>>2],i[r>>2]=0,i[r+4>>2]=0;i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=i[r+12>>2],A=i[r+8>>2],(f|0)!=(A|0))for(;;){e=i[f-4>>2];i:{if(!e||(t=i[e+4>>2],i[e+4>>2]=t-1,t))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(f=f-8|0,(A|0)==(f|0))break}i[r+12>>2]=A,f=U(88),i[f>>2]=70584,i[f+4>>2]=0,i[f+8>>2]=0,e=f+16|0,i[e+8>>2]=0,i[e+12>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0,i[f+48>>2]=0,i[f+16>>2]=68500,i[f+60>>2]=0,i[f+52>>2]=0,i[f+56>>2]=0,i[f+16>>2]=68724,i[f+80>>2]=0,i[f+72>>2]=0,i[f+76>>2]=0,i[f+64>>2]=0,i[f+68>>2]=0,i[f+32>>2]=1718909296,i[r+20>>2]=e,e=i[r+24>>2],i[r+24>>2]=f;i:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}f=U(104),i[f+4>>2]=0,i[f+8>>2]=0,i[f>>2]=70664,e=f+16|0,i[e+8>>2]=0,i[e+12>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0,i[f+48>>2]=0,i[f+16>>2]=68500,i[f+52>>2]=0,i[f+56>>2]=0,i[f+68>>2]=0,l[f+57|0]=0,l[f+58|0]=0,l[f+59|0]=0,l[f+60|0]=0,l[f+61|0]=0,l[f+62|0]=0,l[f+63|0]=0,l[f+64|0]=0,i[f+16>>2]=68844,i[f+80>>2]=0,i[f+84>>2]=0,i[f+72>>2]=0,i[f+76>>2]=1885954932,i[f+88>>2]=0,i[f+92>>2]=0,i[f+96>>2]=0,i[f+100>>2]=0,i[f+32>>2]=1751411826,i[r+28>>2]=e,e=i[r+32>>2],i[r+32>>2]=f;i:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}f=U(72),i[f+4>>2]=0,i[f+8>>2]=0,i[f>>2]=70624,e=f+16|0,i[e+8>>2]=0,i[e+12>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0,i[f+48>>2]=0,i[f+16>>2]=68500,i[f+52>>2]=0,i[f+56>>2]=0,i[f+68>>2]=0,l[f+57|0]=0,l[f+58|0]=0,l[f+59|0]=0,l[f+60|0]=0,l[f+61|0]=0,l[f+62|0]=0,l[f+63|0]=0,l[f+64|0]=0,i[f+16>>2]=68784,i[f+32>>2]=1835365473,i[r+36>>2]=e,e=i[r+40>>2],i[r+40>>2]=f;i:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}f=U(64),i[f+4>>2]=0,i[f+8>>2]=0,i[f>>2]=70904,e=f+16|0,i[e+8>>2]=0,i[e+12>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0,i[f+48>>2]=0,i[f+16>>2]=68500,i[f+60>>2]=0,i[f+52>>2]=0,i[f+56>>2]=0,i[f+16>>2]=69204,i[f+32>>2]=1768973167,i[r+44>>2]=e,e=i[r+48>>2],i[r+48>>2]=f;i:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}f=U(88),i[f+4>>2]=0,i[f+8>>2]=0,i[f>>2]=70944,e=f+16|0,i[e+8>>2]=0,i[e+12>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0,i[f+48>>2]=0,i[f+16>>2]=68500,i[f+52>>2]=0,i[f+56>>2]=0,i[f+68>>2]=0,l[f+57|0]=0,l[f+58|0]=0,l[f+59|0]=0,l[f+60|0]=0,l[f+61|0]=0,l[f+62|0]=0,l[f+63|0]=0,l[f+64|0]=0,i[f+16>>2]=69312,i[f+80>>2]=0,i[f+72>>2]=0,i[f+76>>2]=0,i[f+32>>2]=1768975713,i[r+52>>2]=e,e=i[r+56>>2],i[r+56>>2]=f;i:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}f=U(104),i[f+4>>2]=0,i[f+8>>2]=0,i[f>>2]=70744,e=f+16|0,i[e+8>>2]=0,i[e+12>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0,i[f+48>>2]=0,i[f+16>>2]=68500,i[f+52>>2]=0,i[f+56>>2]=0,i[f+68>>2]=0,l[f+57|0]=0,l[f+58|0]=0,l[f+59|0]=0,l[f+60|0]=0,l[f+61|0]=0,l[f+62|0]=0,l[f+63|0]=0,l[f+64|0]=0,i[f+16>>2]=68964,i[f+72>>2]=0,i[f+76>>2]=0,i[f+96>>2]=0,i[f+80>>2]=0,i[f+84>>2]=0,l[f+85|0]=0,l[f+86|0]=0,l[f+87|0]=0,l[f+88|0]=0,l[f+89|0]=0,l[f+90|0]=0,l[f+91|0]=0,l[f+92|0]=0,i[f+32>>2]=1768714083,i[r+60>>2]=e,e=i[r+64>>2],i[r+64>>2]=f;i:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}f=U(72),i[f+4>>2]=0,i[f+8>>2]=0,i[f>>2]=70784,e=f+16|0,i[e+8>>2]=0,i[e+12>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0,i[f+48>>2]=0,i[f+16>>2]=68500,i[f+52>>2]=0,i[f+56>>2]=0,i[f+68>>2]=0,l[f+57|0]=0,l[f+58|0]=0,l[f+59|0]=0,l[f+60|0]=0,l[f+61|0]=0,l[f+62|0]=0,l[f+63|0]=0,l[f+64|0]=0,i[f+16>>2]=69084,i[f+32>>2]=1768517222,i[r+92>>2]=e,e=i[r+96>>2],i[r+96>>2]=f;i:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}f=U(64),i[f+4>>2]=0,i[f+8>>2]=0,i[f>>2]=70864,e=f+16|0,i[e+8>>2]=0,i[e+12>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0,i[f+48>>2]=0,i[f+16>>2]=68500,i[f+60>>2]=0,i[f+52>>2]=0,i[f+56>>2]=0,i[f+16>>2]=69144,i[f+32>>2]=1768977008,i[r+100>>2]=e,e=i[r+104>>2],i[r+104>>2]=f;i:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}f=U(80),i[f+4>>2]=0,i[f+8>>2]=0,i[f>>2]=70704,e=f+16|0,i[e+8>>2]=0,i[e+12>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0,i[f+48>>2]=0,i[f+16>>2]=68500,i[f+52>>2]=0,i[f+56>>2]=0,i[f+68>>2]=0,l[f+57|0]=0,l[f+58|0]=0,l[f+59|0]=0,l[f+60|0]=0,l[f+61|0]=0,l[f+62|0]=0,l[f+63|0]=0,l[f+64|0]=0,i[f+16>>2]=68904,i[f+32>>2]=1885959277,i[f+72>>2]=0,i[r+84>>2]=e,e=i[r+88>>2],i[r+88>>2]=f;i:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}f=i[r+36>>2],A=i[r+28>>2],i[k+8>>2]=A,e=i[r+32>>2],i[k+12>>2]=e,e&&(i[e+4>>2]=i[e+4>>2]+1),e=i[f+40>>2];i:{if(e>>>0<k0[f+44>>2]){i[e>>2]=A,A=i[k+12>>2],i[e+4>>2]=A,A&&(i[A+4>>2]=i[A+4>>2]+1),e=e+8|0;break i}e=Q2(f+36|0,k+8|0)}i[f+40>>2]=e,f=i[k+12>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[r+36>>2],A=i[r+84>>2],i[k+8>>2]=A,e=i[r+88>>2],i[k+12>>2]=e,e&&(i[e+4>>2]=i[e+4>>2]+1),e=i[f+40>>2];i:{if(e>>>0<k0[f+44>>2]){i[e>>2]=A,A=i[k+12>>2],i[e+4>>2]=A,A&&(i[A+4>>2]=i[A+4>>2]+1),e=e+8|0;break i}e=Q2(f+36|0,k+8|0)}i[f+40>>2]=e,f=i[k+12>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[r+36>>2],A=i[r+60>>2],i[k+8>>2]=A,e=i[r+64>>2],i[k+12>>2]=e,e&&(i[e+4>>2]=i[e+4>>2]+1),e=i[f+40>>2];i:{if(e>>>0<k0[f+44>>2]){i[e>>2]=A,A=i[k+12>>2],i[e+4>>2]=A,A&&(i[A+4>>2]=i[A+4>>2]+1),e=e+8|0;break i}e=Q2(f+36|0,k+8|0)}i[f+40>>2]=e,f=i[k+12>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[r+36>>2],A=i[r+92>>2],i[k+8>>2]=A,e=i[r+96>>2],i[k+12>>2]=e,e&&(i[e+4>>2]=i[e+4>>2]+1),e=i[f+40>>2];i:{if(e>>>0<k0[f+44>>2]){i[e>>2]=A,A=i[k+12>>2],i[e+4>>2]=A,A&&(i[A+4>>2]=i[A+4>>2]+1),e=e+8|0;break i}e=Q2(f+36|0,k+8|0)}i[f+40>>2]=e,f=i[k+12>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[r+36>>2],A=i[r+100>>2],i[k+8>>2]=A,e=i[r+104>>2],i[k+12>>2]=e,e&&(i[e+4>>2]=i[e+4>>2]+1),e=i[f+40>>2];i:{if(e>>>0<k0[f+44>>2]){i[e>>2]=A,A=i[k+12>>2],i[e+4>>2]=A,A&&(i[A+4>>2]=i[A+4>>2]+1),e=e+8|0;break i}e=Q2(f+36|0,k+8|0)}i[f+40>>2]=e,f=i[k+12>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}A=i[r+100>>2],o=i[r+44>>2],i[k+8>>2]=o,f=i[r+48>>2],i[k+12>>2]=f;i:{r:{e:{if(!f){if(t=A+40|0,e=i[A+40>>2],e>>>0>=k0[A+44>>2])break r;i[e+4>>2]=f,i[e>>2]=o;break e}if(i[f+4>>2]=i[f+4>>2]+1,t=A+40|0,e=i[A+40>>2],e>>>0>=k0[A+44>>2])break r;i[e+4>>2]=f,i[e>>2]=o,i[f+4>>2]=i[f+4>>2]+1}e=e+8|0;break i}e=Q2(A+36|0,k+8|0),f=i[k+12>>2]}i[t>>2]=e;i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}A=i[r+100>>2],o=i[r+52>>2],i[k+8>>2]=o,f=i[r+56>>2],i[k+12>>2]=f;i:{r:{e:{if(!f){if(t=A+40|0,e=i[A+40>>2],e>>>0>=k0[A+44>>2])break r;i[e+4>>2]=f,i[e>>2]=o;break e}if(i[f+4>>2]=i[f+4>>2]+1,t=A+40|0,e=i[A+40>>2],e>>>0>=k0[A+44>>2])break r;i[e+4>>2]=f,i[e>>2]=o,i[f+4>>2]=i[f+4>>2]+1}e=e+8|0;break i}e=Q2(A+36|0,k+8|0),f=i[k+12>>2]}i[t>>2]=e;i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}he(r+108|0,i[r+112>>2]),i[r+108>>2]=r+112,i[r+112>>2]=0,i[r+116>>2]=0,t=i[r+20>>2],i[k+8>>2]=t,f=i[r+24>>2],i[k+12>>2]=f,f&&(i[f+4>>2]=i[f+4>>2]+1),A=r+8|0,e=i[r+12>>2];i:{if(e>>>0<k0[r+16>>2]){i[e+4>>2]=f,i[e>>2]=t,i[r+12>>2]=e+8;break i}if(e=z2(A,k+8|0),f=i[k+12>>2],i[r+12>>2]=e,!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}t=i[r+36>>2],i[k+8>>2]=t,f=i[r+40>>2],i[k+12>>2]=f,f&&(i[f+4>>2]=i[f+4>>2]+1),e=i[r+12>>2];i:{if(e>>>0<k0[r+16>>2]){i[e+4>>2]=f,i[e>>2]=t,i[r+12>>2]=e+8;break i}if(e=z2(A,k+8|0),f=i[k+12>>2],i[r+12>>2]=e,!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break i;V[i[i[f>>2]+8>>2]](f),g(f)}if(B=k+16|0,H6(n+16|0,i[n+20>>2]),i[n+16>>2]=n+20,i[n+20>>2]=0,i[n+24>>2]=0,r=i[n+32>>2],k=i[n+28>>2],(r|0)!=(k|0))for(;;){f=i[r-4>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}if(r=r-8|0,(k|0)==(r|0))break}i[n+32>>2]=k,f=i[n+44>>2],i[n+40>>2]=0,i[n+44>>2]=0;i:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break i;V[i[i[f>>2]+8>>2]](f),g(f)}return i[h+4>>2]=u,i[h>>2]=n,h|0}function R8(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0;n=B-176|0,B=n;i:{r:{e:{if(v=i[e+16>>2],E=i[e+20>>2],(v|0)!=(E|0))for(;;){A:{f:switch(s[e+4|0]){case 0:if(u=i[v+20>>2],w=i[v+16>>2],Z=i[k+4>>2]-i[k>>2]|0,!u&w>>>0>536870912-Z>>>0|u){i[n+40>>2]=54496,i[n+96>>2]=54516,e=i[13633],i[n+32>>2]=e,r=i[e-12>>2],e=n+32|0,i[r+e>>2]=i[13634],i[n+36>>2]=0,r=e+i[i[n+32>>2]-12>>2]|0,A=n+44|0,b0(r,A),i[r+72>>2]=0,i[r+76>>2]=-1,r=i[13635],i[n+40>>2]=r,k=i[r-12>>2],r=n+40|0,i[k+r>>2]=i[13636],k=i[13632],i[n+32>>2]=k,i[e+i[k-12>>2]>>2]=i[13637],i[n+96>>2]=54516,i[n+32>>2]=54476,i[n+40>>2]=54496,e=$0(A),i[e>>2]=53552,i[n+84>>2]=0,i[n+88>>2]=0,i[n+76>>2]=0,i[n+80>>2]=0,i[n+92>>2]=24,r=x(n4(x(r,19275,19),i[v+16>>2],i[v+20>>2]),19193,35),_=i[v+20>>2],A=Z+i[v+16>>2]|0,_=A>>>0<Z>>>0?_+1|0:_,x(H0(x(n4(r,A,_),19051,40),536870912),4139,6),r=n+20|0,i2(r,e),r0(f,6,1e3,r),l[n+31|0]<0&&G(i[n+20>>2]),f=i[13631],i[n+32>>2]=f,i[i[f-12>>2]+(n+32|0)>>2]=i[13639],i[n+40>>2]=i[13640],i[e>>2]=53552,l[n+87|0]<0&&G(i[n+76>>2]),K0(e),T0(n+96|0);break i}t=i[v+8>>2],o=i[v+12>>2],p=o;k:{if((o|0)==8388607|o>>>0<8388607&&(o=i[e+8>>2],W=i[e+12>>2],W>>>0<8388608))break k;if(e=U(40),i[n+32>>2]=e,i[n+36>>2]=39,i[n+40>>2]=-2147483608,r=s[10465]|s[10466]<<8|(s[10467]<<16|s[10468]<<24),A=s[10461]|s[10462]<<8|(s[10463]<<16|s[10464]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+39|0]=0,r=s[10496]|s[10497]<<8|(s[10498]<<16|s[10499]<<24),A=s[10492]|s[10493]<<8|(s[10494]<<16|s[10495]<<24),l[e+31|0]=A,l[e+32|0]=A>>>8,l[e+33|0]=A>>>16,l[e+34|0]=A>>>24,l[e+35|0]=r,l[e+36|0]=r>>>8,l[e+37|0]=r>>>16,l[e+38|0]=r>>>24,r=s[10489]|s[10490]<<8|(s[10491]<<16|s[10492]<<24),A=s[10485]|s[10486]<<8|(s[10487]<<16|s[10488]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[10481]|s[10482]<<8|(s[10483]<<16|s[10484]<<24),A=s[10477]|s[10478]<<8|(s[10479]<<16|s[10480]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[10473]|s[10474]<<8|(s[10475]<<16|s[10476]<<24),A=s[10469]|s[10470]<<8|(s[10471]<<16|s[10472]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,1e3,n+32|0),l[n+43|0]>=0)break i;G(i[n+32>>2]);break i}_=i[r>>2],u=u+p|0,w=t+w|0,t=W+(w>>>0<t>>>0?u+1|0:u)|0,p=o,o=o+w|0,t=p>>>0>o>>>0?t+1|0:t;k:switch((V[i[i[_>>2]+12>>2]](_,o,t)|0)-1|0){case 1:i[k+4>>2]=i[k>>2],i[n+40>>2]=54496,i[n+96>>2]=54516,r=i[13633],i[n+32>>2]=r,A=i[r-12>>2],r=n+32|0,i[A+r>>2]=i[13634],i[n+36>>2]=0,A=r+i[i[n+32>>2]-12>>2]|0,k=n+44|0,b0(A,k),i[A+72>>2]=0,i[A+76>>2]=-1,A=i[13635],i[n+40>>2]=A,o=i[A-12>>2],A=n+40|0,i[o+A>>2]=i[13636],t=i[13632],i[n+32>>2]=t,i[r+i[t-12>>2]>>2]=i[13637],i[n+96>>2]=54516,i[n+32>>2]=54476,i[n+40>>2]=54496,r=$0(k),i[r>>2]=53552,i[n+84>>2]=0,i[n+88>>2]=0,i[n+76>>2]=0,i[n+80>>2]=0,i[n+92>>2]=24,k=x(x(A,18788,58),18854,25),w=i[e+12>>2]+i[v+12>>2]|0,t=i[v+8>>2],A=t+i[e+8>>2]|0,x(n4(k,A,A>>>0<t>>>0?w+1|0:w),31337,2),e=n+20|0,i2(e,r),r0(f,2,100,e),l[n+31|0]<0&&G(i[n+20>>2]),f=i[13631],i[n+32>>2]=f,i[i[f-12>>2]+(n+32|0)>>2]=i[13639],i[n+40>>2]=i[13640],i[r>>2]=53552,l[n+87|0]<0&&G(i[n+76>>2]),K0(r),T0(n+96|0);break i;case 0:if(l[n+32|0]=0,l[n+43|0]=0,r0(f,2,100,n+32|0),l[n+43|0]>=0)break i;G(i[n+32>>2]);break i;default:break k}_=i[e+12>>2]+i[v+12>>2]|0,o=i[r>>2],u=i[v+8>>2],t=u+i[e+8>>2]|0,V[i[i[o>>2]+20>>2]](o,t,t>>>0<u>>>0?_+1|0:_)|0,u=i[v+16>>2],t=Z+u|0,o=i[k>>2],w=i[k+4>>2]-o|0;k:{if(t>>>0>w>>>0){L2(k,t-w|0),u=i[v+16>>2],o=i[k>>2];break k}if(t>>>0>=w>>>0)break k;i[k+4>>2]=t+o}t=i[r>>2],V[i[i[t>>2]+16>>2]](t,o+Z|0,u)|0;break A;case 1:break f;default:break e}if(C=i[A>>2],!C){if(e=U(56),i[n+32>>2]=e,i[n+36>>2]=54,i[n+40>>2]=-2147483592,r=s[10043]|s[10044]<<8|(s[10045]<<16|s[10046]<<24),A=s[10039]|s[10040]<<8|(s[10041]<<16|s[10042]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+54|0]=0,r=s[10089]|s[10090]<<8|(s[10091]<<16|s[10092]<<24),A=s[10085]|s[10086]<<8|(s[10087]<<16|s[10088]<<24),l[e+46|0]=A,l[e+47|0]=A>>>8,l[e+48|0]=A>>>16,l[e+49|0]=A>>>24,l[e+50|0]=r,l[e+51|0]=r>>>8,l[e+52|0]=r>>>16,l[e+53|0]=r>>>24,r=s[10083]|s[10084]<<8|(s[10085]<<16|s[10086]<<24),A=s[10079]|s[10080]<<8|(s[10081]<<16|s[10082]<<24),l[e+40|0]=A,l[e+41|0]=A>>>8,l[e+42|0]=A>>>16,l[e+43|0]=A>>>24,l[e+44|0]=r,l[e+45|0]=r>>>8,l[e+46|0]=r>>>16,l[e+47|0]=r>>>24,r=s[10075]|s[10076]<<8|(s[10077]<<16|s[10078]<<24),A=s[10071]|s[10072]<<8|(s[10073]<<16|s[10074]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[10067]|s[10068]<<8|(s[10069]<<16|s[10070]<<24),A=s[10063]|s[10064]<<8|(s[10065]<<16|s[10066]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[10059]|s[10060]<<8|(s[10061]<<16|s[10062]<<24),A=s[10055]|s[10056]<<8|(s[10057]<<16|s[10058]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[10051]|s[10052]<<8|(s[10053]<<16|s[10054]<<24),A=s[10047]|s[10048]<<8|(s[10049]<<16|s[10050]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,103,n+32|0),l[n+43|0]>=0)break i;G(i[n+32>>2]);break i}t=i[v+8>>2],o=t+i[e+8>>2]|0,u=i[e+12>>2]+i[v+12>>2]|0,u=t>>>0>o>>>0?u+1|0:u,h=B-160|0,B=h,p=i[v+20>>2],Z=p,t=i[v+16>>2],y=i[k+4>>2]-i[k>>2]|0;f:{if(!Z&t>>>0>536870912-y>>>0|Z){i[h+24>>2]=54496,i[h+80>>2]=54516,o=i[13633],i[h+16>>2]=o,_=i[o-12>>2],o=h+16|0,i[_+o>>2]=i[13634],i[h+20>>2]=0,u=o+i[i[h+16>>2]-12>>2]|0,w=h+28|0,b0(u,w),i[u+72>>2]=0,i[u+76>>2]=-1,u=i[13635],i[h+24>>2]=u,_=i[u-12>>2],u=h+24|0,i[_+u>>2]=i[13636],Z=i[13632],i[h+16>>2]=Z,i[o+i[Z-12>>2]>>2]=i[13637],i[h+80>>2]=54516,i[h+16>>2]=54476,i[h+24>>2]=54496,o=$0(w),i[o>>2]=53552,i[h+68>>2]=0,i[h+72>>2]=0,i[h+60>>2]=0,i[h+64>>2]=0,i[h+76>>2]=24,w=x(n4(x(u,19255,19),t,p),19193,35),u=p,_=t,t=t+y|0,u=_>>>0>t>>>0?u+1|0:u,x(H0(x(n4(w,t,u),19051,40),536870912),4139,6),t=h+4|0,i2(t,o),r0(n,6,1e3,t),l[h+15|0]<0&&G(i[h+4>>2]),t=i[13631],i[h+16>>2]=t,i[i[t-12>>2]+(h+16|0)>>2]=i[13639],i[h+24>>2]=i[13640],i[o>>2]=53552,l[h+71|0]<0&&G(i[h+60>>2]),K0(o),T0(h+80|0);break f}if(w=i[C+8>>2],W=i[C+56>>2],I=w+W|0,Z=i[C+12>>2],J=i[C+60>>2],_=Z+J|0,_=W>>>0>I>>>0?_+1|0:_,(_|0)==(u|0)&o>>>0>I>>>0|u>>>0>_>>>0){if(l[h+16|0]=0,l[h+27|0]=0,r0(n,2,100,h+16|0),l[h+27|0]>=0)break f;G(i[h+16>>2]);break f}k:{if((Z|0)==(p|0)&t>>>0<=w>>>0|Z>>>0>p>>>0&&(_=w,w=u+p|0,I=t+o|0,w=I>>>0<o>>>0?w+1|0:w,R=_,_=I,(w|0)==(Z|0)&R>>>0>=_>>>0|w>>>0<Z>>>0))break k;if(l[h+16|0]=0,l[h+27|0]=0,r0(n,2,100,h+16|0),l[h+27|0]>=0)break f;G(i[h+16>>2]);break f}if(Z=i[r>>2],w=w+J|0,W=_+W|0,w=W>>>0<_>>>0?w+1|0:w,(V[i[i[Z>>2]+12>>2]](Z,W,w)|0)-1>>>0<=1){if(l[h+16|0]=0,l[h+27|0]=0,r0(n,2,100,h+16|0),l[h+27|0]>=0)break f;G(i[h+16>>2]);break f}if(w=i[r>>2],u=u+i[C+60>>2]|0,_=o,o=o+i[C+56>>2]|0,u=_>>>0>o>>>0?u+1|0:u,V[i[i[w>>2]+20>>2]](w,o,u)|0,t|p){o=t+y|0,w=i[k>>2],u=i[k+4>>2]-w|0;k:{if(o>>>0>u>>>0){L2(k,o-u|0);break k}o>>>0<u>>>0&&(i[k+4>>2]=o+w)}o=i[r>>2],V[i[i[o>>2]+16>>2]](o,y+i[k>>2]|0,t)|0}if(t=i[19565],i[n>>2]=i[19564],i[n+4>>2]=t,t=n+8|0,l[78275]>=0){o=i[19567],i[t>>2]=i[19566],i[t+4>>2]=o,i[t+8>>2]=i[19568];break f}_0(t,i[19566],i[19567])}if(B=h+160|0,l[n+19|0]>=0)break A;G(i[n+8>>2])}if(v=v+40|0,(E|0)==(v|0))break}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]<0)break r;e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}i[n+40>>2]=54496,i[n+96>>2]=54516,r=i[13633],i[n+32>>2]=r,A=i[r-12>>2],r=n+32|0,i[A+r>>2]=i[13634],i[n+36>>2]=0,A=r+i[i[n+32>>2]-12>>2]|0,k=n+44|0,b0(A,k),i[A+72>>2]=0,i[A+76>>2]=-1,A=i[13635],i[n+40>>2]=A,o=i[A-12>>2],A=n+40|0,i[o+A>>2]=i[13636],t=i[13632],i[n+32>>2]=t,i[r+i[t-12>>2]>>2]=i[13637],i[n+96>>2]=54516,i[n+32>>2]=54476,i[n+40>>2]=54496,r=$0(k),i[r>>2]=53552,i[n+84>>2]=0,i[n+88>>2]=0,i[n+76>>2]=0,i[n+80>>2]=0,i[n+92>>2]=24,x(H0(x(A,19229,25),s[e+4|0]),12434,16),e=n+20|0,i2(e,r),r0(f,4,3004,e),l[n+31|0]<0&&G(i[n+20>>2]),f=i[13631],i[n+32>>2]=f,i[i[f-12>>2]+(n+32|0)>>2]=i[13639],i[n+40>>2]=i[13640],i[r>>2]=53552,l[n+87|0]<0&&G(i[n+76>>2]),K0(r),T0(n+96|0);break i}_0(f,i[19566],i[19567])}B=n+176|0}function wk(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0;u=B-144|0,B=u,Z=Ri(i[e+48>>2],8710),o=U(360),i[o+16>>2]=0,i[o+20>>2]=0,i[o>>2]=72656,i[o+4>>2]=0,i[o+8>>2]=0,l[o+152|0]=0,i[o+36>>2]=Z,i[o+32>>2]=e,i[o+28>>2]=34648,i[o+40>>2]=0,i[o+44>>2]=0,i[o+52>>2]=0,i[o+56>>2]=0,i[o+68>>2]=0,i[o+72>>2]=0,i[o+80>>2]=0,i[o+84>>2]=0,i[o+156>>2]=0,i[o+160>>2]=0,i[o+24>>2]=0,X[o+48>>1]=0,X[o+58>>1]=0,X[o+60>>1]=0,X[o+62>>1]=0,X[o+64>>1]=0,l[o+76|0]=0,l[o+88|0]=0,i[o+204>>2]=0,i[o+196>>2]=0,i[o+200>>2]=0,i[o+188>>2]=0,i[o+192>>2]=0,i[o+180>>2]=0,i[o+184>>2]=0,i[o+172>>2]=0,i[o+176>>2]=0,i[o+164>>2]=0,i[o+168>>2]=0,i[o+212>>2]=0,i[o+216>>2]=0,l[o+208|0]=1,l[o+217|0]=0,l[o+218|0]=0,l[o+219|0]=0,l[o+220|0]=0,l[o+221|0]=0,l[o+222|0]=0,l[o+223|0]=0,l[o+224|0]=0,i[o+232>>2]=0,i[o+236>>2]=0,i[o+240>>2]=0,i[o+244>>2]=0,i[o+248>>2]=0,i[o+252>>2]=0,i[o+256>>2]=0,i[o+260>>2]=0,i[o+264>>2]=0,i[o+268>>2]=0,l[o+272|0]=0,B0(o+280|0,0,80),i[o+296>>2]=0,i[o+300>>2]=0,l[o+292|0]=1,i[o+304>>2]=0,i[o+308>>2]=0,i[o+312>>2]=0,i[o+316>>2]=0,i[o+328>>2]=0,i[o+332>>2]=0,i[o+320>>2]=0,i[o+324>>2]=1072693248,i[o+336>>2]=0,i[o+340>>2]=0,i[o+344>>2]=0,i[o+348>>2]=0,i[o+352>>2]=0,i[o+96>>2]=0,i[o+100>>2]=0,i[o+104>>2]=0,i[o+108>>2]=0,i[o+112>>2]=0,i[o+116>>2]=0,i[o+120>>2]=0,i[o+124>>2]=0,i[o+128>>2]=0,i[o+132>>2]=0,i[o+136>>2]=0,i[o+140>>2]=0,i[o+144>>2]=0,i[o+148>>2]=0,i[t>>2]=o+16,h=i[t+4>>2],i[t+4>>2]=o;i:{if(!h||(o=i[h+4>>2],i[h+4>>2]=o-1,o))break i;V[i[i[h>>2]+8>>2]](h),g(h)}h=i[e+32>>2];i:{if(h>>>0<k0[e+36>>2]){i[h>>2]=i[t>>2],o=i[t+4>>2],i[h+4>>2]=o,o&&(i[o+4>>2]=i[o+4>>2]+1),o=h+8|0;break i}o=Q2(e+28|0,t)}i[e+32>>2]=o,o=i[e+20>>2];i:{r:{if(!o){_=e+20|0,h=_;break r}for(;;){if(h=o,_=i[o+16>>2],_>>>0>Z>>>0){if(_=o,o=i[o>>2],o)continue;break r}if(_>>>0>=Z>>>0)break i;if(o=i[h+4>>2],!o)break}_=h+4|0}o=U(28),i[o+20>>2]=0,i[o+24>>2]=0,i[o+16>>2]=Z,i[o+8>>2]=h,i[o>>2]=0,i[o+4>>2]=0,i[_>>2]=o,h=o,w=i[i[e+16>>2]>>2],w&&(i[e+16>>2]=w,h=i[_>>2]),D1(i[e+20>>2],h),i[e+24>>2]=i[e+24>>2]+1}h=i[t>>2],_=i[t+4>>2],_&&(i[_+4>>2]=i[_+4>>2]+1),i[o+20>>2]=h,h=i[o+24>>2],i[o+24>>2]=_;i:{if(!h||(o=i[h+4>>2],i[h+4>>2]=o-1,o))break i;V[i[i[h>>2]+8>>2]](h),g(h)}o=i[r>>2],i[u+140>>2]=i[o+32>>2],i[u+136>>2]=i[o+36>>2],l[u+100|0]=1,i[u+88>>2]=6,i[u+92>>2]=6,i[u+96>>2]=6,v=U(24),l[v+22|0]=1,X[v+20>>1]=2,i[v+16>>2]=131074,i[v+12>>2]=72992,i[v>>2]=72832,i[v+4>>2]=0,i[v+8>>2]=0,_=v+12|0,o=_,l[o+10|0]=1,X[o+8>>1]=6,i[o+4>>2]=851969,Jt(o,u+84|0),o=i[A>>2];i:{if(i[o>>2]>=2){V[i[o+108>>2]](i[A+4>>2],u+140|0,u+136|0);break i}V[i[o+96>>2]](u+140|0,u+136|0)}i:{r:{e:{A:{if(o=i[u+140>>2],w=i[r>>2],h=i[u+136>>2],!((o|0)!=i[w+32>>2]|(h|0)!=i[w+36>>2])){if(h=i[w+44>>2],w=i[w+48>>2],w&&(i[w+4>>2]=i[w+4>>2]+1),p6(o,h,w,u+84|0))break A;h=i[u+136>>2],o=i[u+140>>2]}if(i[u+48>>2]=v,i[u+44>>2]=_,i[v+4>>2]=i[v+4>>2]+1,N8(u- -64|0,r,o,h,u+44|0,0,k+16|0),h=i[u+64>>2],r=i[u+68>>2],i[u+64>>2]=0,i[u+68>>2]=0,i[u+80>>2]=r,i[u+76>>2]=h,o=i[u+48>>2],o&&(r=i[o+4>>2],i[o+4>>2]=r-1,r||(V[i[i[o>>2]+8>>2]](o),g(o)),h=i[u+76>>2]),h)break e;if(l[u+64|0]=0,l[u+75|0]=0,r0(f,4,3003,u- -64|0),l[u+75|0]>=0)break r;G(i[u+64>>2]);break r}h=i[r>>2],r=i[r+4>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),i[u+80>>2]=r,i[u+76>>2]=h}e:{A:switch(n-1|0){case 0:case 3:break A;default:break e}r=i[h+52>>2],h=i[h+56>>2];A:{f:{k:{if(!h){if(!r)break f;o=i[e+48>>2],i[u+68>>2]=0,i[u+64>>2]=r;break k}if(i[h+4>>2]=i[h+4>>2]+1,!r)break f;o=i[e+48>>2],i[u+68>>2]=h,i[u+64>>2]=r,i[h+4>>2]=i[h+4>>2]+1}p8(o,Z,u- -64|0),o=i[u+68>>2];k:{if(!o||(r=i[o+4>>2],i[o+4>>2]=r-1,r))break k;V[i[i[o>>2]+8>>2]](o),g(o)}if(!s[k+3|0]|s[k|0]<3)break A}if(r=i[e+48>>2],i[u+68>>2]=v,i[u+64>>2]=_,i[v+4>>2]=i[v+4>>2]+1,p8(r,Z,u- -64|0),o=i[u+68>>2],!o||(r=i[o+4>>2],i[o+4>>2]=r-1,r))break A;V[i[i[o>>2]+8>>2]](o),g(o)}if(!h||(r=i[h+4>>2],i[h+4>>2]=r-1,r))break e;V[i[i[h>>2]+8>>2]](h),g(h)}h=i[u+76>>2];e:{A:{if(!s[k+1|0]||!H2(h,6))break A;i[u+44>>2]=0,i[u+48>>2]=0,s6(u- -64|0,u+76|0),o=i[u+64>>2],r=i[u+68>>2],i[u+64>>2]=0,i[u+68>>2]=0,h=i[u+48>>2],i[u+44>>2]=o,i[u+48>>2]=r;f:{if(!h||(r=i[h+4>>2],i[h+4>>2]=r-1,r||(V[i[i[h>>2]+8>>2]](h),g(h)),o=i[u+68>>2],!o)||(r=i[o+4>>2],i[o+4>>2]=r-1,r))break f;V[i[i[o>>2]+8>>2]](o),g(o)}if(i[u+24>>2]=0,i[u+28>>2]=0,wk(f,e,u+44|0,A,k,2,u+24|0),i[f>>2])break e;h=i[i[u+24>>2]+20>>2],o=i[e+48>>2],_=U(4),i[u+64>>2]=_,r=_+4|0,i[u+72>>2]=r,i[_>>2]=Z,i[u+68>>2]=r,P1(o,h,1635088492,u- -64|0),r=i[u+64>>2],r&&(i[u+68>>2]=r,G(r)),o=i[i[u+24>>2]+20>>2],r=i[e+48>>2],w=U(48),i[u+64>>2]=w,i[u+68>>2]=43,i[u+72>>2]=-2147483600,h=s[14658]|s[14659]<<8|(s[14660]<<16|s[14661]<<24),l[w+39|0]=h,l[w+40|0]=h>>>8,l[w+41|0]=h>>>16,l[w+42|0]=h>>>24,_=s[14655]|s[14656]<<8|(s[14657]<<16|s[14658]<<24),h=s[14651]|s[14652]<<8|(s[14653]<<16|s[14654]<<24),l[w+32|0]=h,l[w+33|0]=h>>>8,l[w+34|0]=h>>>16,l[w+35|0]=h>>>24,l[w+36|0]=_,l[w+37|0]=_>>>8,l[w+38|0]=_>>>16,l[w+39|0]=_>>>24,_=s[14647]|s[14648]<<8|(s[14649]<<16|s[14650]<<24),h=s[14643]|s[14644]<<8|(s[14645]<<16|s[14646]<<24),l[w+24|0]=h,l[w+25|0]=h>>>8,l[w+26|0]=h>>>16,l[w+27|0]=h>>>24,l[w+28|0]=_,l[w+29|0]=_>>>8,l[w+30|0]=_>>>16,l[w+31|0]=_>>>24,_=s[14639]|s[14640]<<8|(s[14641]<<16|s[14642]<<24),h=s[14635]|s[14636]<<8|(s[14637]<<16|s[14638]<<24),l[w+16|0]=h,l[w+17|0]=h>>>8,l[w+18|0]=h>>>16,l[w+19|0]=h>>>24,l[w+20|0]=_,l[w+21|0]=_>>>8,l[w+22|0]=_>>>16,l[w+23|0]=_>>>24,_=s[14631]|s[14632]<<8|(s[14633]<<16|s[14634]<<24),h=s[14627]|s[14628]<<8|(s[14629]<<16|s[14630]<<24),l[w+8|0]=h,l[w+9|0]=h>>>8,l[w+10|0]=h>>>16,l[w+11|0]=h>>>24,l[w+12|0]=_,l[w+13|0]=_>>>8,l[w+14|0]=_>>>16,l[w+15|0]=_>>>24,_=s[14623]|s[14624]<<8|(s[14625]<<16|s[14626]<<24),h=s[14619]|s[14620]<<8|(s[14621]<<16|s[14622]<<24),l[w|0]=h,l[w+1|0]=h>>>8,l[w+2|0]=h>>>16,l[w+3|0]=h>>>24,l[w+4|0]=_,l[w+5|0]=_>>>8,l[w+6|0]=_>>>16,l[w+7|0]=_>>>24,l[w+43|0]=0,_6(r,o,u- -64|0),l[u+75|0]<0&&G(i[u+64>>2]);f:{if(s[i[u+76>>2]+40|0]!=1||(h=i[e+48>>2],o=i[i[u+24>>2]+20>>2],_=U(4),i[u+64>>2]=_,r=_+4|0,i[u+72>>2]=r,i[_>>2]=o,i[u+68>>2]=r,P1(h,Z,1886545261,u- -64|0),r=i[u+64>>2],!r))break f;i[u+68>>2]=r,G(r)}l[f+19|0]<0&&G(i[f+8>>2]),o=i[u+28>>2];f:{if(!o||(r=i[o+4>>2],i[o+4>>2]=r-1,r))break f;V[i[i[o>>2]+8>>2]](o),g(o)}o=i[u+48>>2];f:{if(!o||(r=i[o+4>>2],i[o+4>>2]=r-1,r))break f;V[i[i[o>>2]+8>>2]](o),g(o)}h=i[u+76>>2]}i[u+60>>2]=0,r=i[u+80>>2];A:{if(!r){i[u+60>>2]=0,i[u+56>>2]=h;break A}if(i[r+4>>2]=i[r+4>>2]+1,i[u+56>>2]=h,o=i[u+60>>2],i[u+60>>2]=r,!o||(r=i[o+4>>2],i[o+4>>2]=r-1,r))break A;V[i[i[o>>2]+8>>2]](o),g(o)}V[i[i[A>>2]+100>>2]](u- -64|0,i[A+4>>2],u+56|0,n),n=i[u+64>>2];A:{if(n){if(A=i[u+68>>2],r=i[u+72>>2],t=G2(r),t>>>0>=2147483640)break i;f:{k:{if(t>>>0>=11){e=(t|7)+1|0,k=U(e),i[u+52>>2]=e|-2147483648,i[u+44>>2]=k,i[u+48>>2]=t;break k}if(l[u+55|0]=t,k=u+44|0,!t)break f}F2(k,r,t)}if(l[k+t|0]=0,r0(f,n,A,u+44|0),l[u+55|0]>=0)break A;G(i[u+44>>2]);break A}for(i[u+52>>2]=0,i[u+44>>2]=0,i[u+48>>2]=0,V[i[i[A>>2]+104>>2]](u+24|0,i[A+4>>2],u+40|0,u+36|0,0);;){if(o=i[u+40>>2],o){_=i[u+36>>2],r=i[u+44>>2],h=i[u+48>>2]-r|0,n=_+h|0;f:{if(n>>>0>h>>>0){L2(u+44|0,_),_=i[u+36>>2],o=i[u+40>>2],r=i[u+44>>2];break f}if(n>>>0>=h>>>0)break f;i[u+48>>2]=r+n}l0(r+h|0,o,_),V[i[i[A>>2]+104>>2]](u+24|0,i[A+4>>2],u+40|0,u+36|0,0);continue}break}hi(i[e+48>>2],Z,u+44|0,0),w=i[u+76>>2],h=i[w+24>>2],n=i[w+28>>2],Vi(i[e+48>>2],Z,h,n),i[u+24>>2]=h,i[u+40>>2]=n,o=h,r=n,_=i[A>>2];f:{if(i[_>>2]<3||(_=i[_+112>>2],!_))break f;V[_|0](i[A+4>>2],o,r,u+24|0,u+40|0),o=i[u+24>>2],r=i[u+40>>2]}f:{if((o|0)==(h|0)&(r|0)==(n|0)||(ar(i[e+48>>2],Z,h,n,o,r),E3(h,n,i[w+36>>2])))break f;l[i[t>>2]+192|0]=0}gr(i[e+48>>2],Z,i[k+12>>2]),i[u+16>>2]=w,r=i[u+80>>2],i[u+20>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),r=i[u+20>>2],i[u+8>>2]=i[u+16>>2],i[u+12>>2]=r,Wi(e,u+8|0,Z),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,e=f+8|0;f:{if(l[78275]>=0){f=i[19567],i[e>>2]=i[19566],i[e+4>>2]=f,i[e+8>>2]=i[19568];break f}_0(e,i[19566],i[19567])}if(f=i[u+44>>2],!f)break A;i[u+48>>2]=f,G(f)}if(e=i[u+60>>2],!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break r;V[i[i[e>>2]+8>>2]](e),g(e);break r}e=i[u+28>>2];e:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break e;V[i[i[e>>2]+8>>2]](e),g(e)}if(e=i[u+48>>2],!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break r;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[u+80>>2];r:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break r;V[i[i[e>>2]+8>>2]](e),g(e)}f=i[v+4>>2],i[v+4>>2]=f-1,f||(V[i[i[v>>2]+8>>2]](v),g(v)),B=u+144|0;return}c2(),P()}function _k(){var f=0,e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;for(l[84592]=0,l[84593]=0,l[84594]=0,l[84595]=1,l[84596]=1,l[84597]=0,l[84598]=1,l[84599]=1,l[81856]=0,l[81857]=0,l[81858]=1,l[81859]=0,l[81860]=0,l[81861]=1,l[81862]=1,l[81863]=1;;){if((f|0)<0)f=0;else{i:{r:{if(f>>>0<=1){if(k=e<<1,l[k+79127|0]=f,l[k+79126|0]=0,r=e+1|0,!f){e=r;break i}l[(r<<1)+79126|0]=1,A=f-1|0,k=2;break r}if((f|0)!=2)break i;A=1,l[(e<<1)+79126|0]=1,r=e,k=1}l[(r<<1)+79127|0]=A,e=e+k|0}f=f+1|0}if(!((e|0)<4))break}for(i[20474]=50397952,i[20475]=50529026,i[20472]=33620480,i[20473]=33751554,i[20470]=16843008,i[20471]=16974082,i[20468]=65536,i[20469]=196610,i[21152]=16777216,i[21153]=50332160,i[21154]=16842753,i[21155]=50397697,i[21156]=16908290,i[21157]=50463234,i[21158]=16973827,i[21159]=50528771,e=0,f=0;;){if((f|0)<0)f=0;else{i:{r:{e:{A:{f:{k:{if(f>>>0<=3){if(k=e<<1,l[k+79137|0]=f,l[k+79136|0]=0,k=e+1|0,f)break k;e=k;break i}if((f|0)!=4)break f;X[(e<<1)+79136>>1]=769,e=e+1|0;break e}if(k=k<<1,l[k+79137|0]=f-1,l[k+79136|0]=1,k=e+2|0,(f|0)!=1)break A;e=k;break i}if(f>>>0<6)break e;if((f|0)!=6)break i;break r}if(k=k<<1,l[k+79137|0]=f-2,l[k+79136|0]=2,k=e+3|0,(f|0)==2){e=k;break i}k=k<<1,l[k+79137|0]=f-3,l[k+79136|0]=3,e=e+4|0;break i}k=e<<1,l[k+79137|0]=f-2,l[k+79136|0]=2,e=e+1|0}k=e<<1,l[k+79137|0]=f-3,l[k+79136|0]=3,e=e+1|0}f=f+1|0}if(!((e|0)<16))break}for(i[20506]=117769988,i[20507]=117901062,i[20504]=117507840,i[20505]=117638914,i[20502]=100992516,i[20503]=101123590,i[20500]=100730368,i[20501]=100861442,i[20498]=84215044,i[20499]=84346118,i[20496]=83952896,i[20497]=84083970,i[20494]=67437572,i[20495]=67568646,i[20492]=67175424,i[20493]=67306498,i[20490]=50660100,i[20491]=50791174,i[20488]=50397952,i[20489]=50529026,i[20486]=33882628,i[20487]=34013702,i[20484]=33620480,i[20485]=33751554,i[20482]=17105156,i[20483]=17236230,i[20480]=16843008,i[20481]=16974082,i[20478]=327684,i[20479]=458758,i[20476]=65536,i[20477]=196610,i[21160]=16777216,i[21161]=50332160,i[21162]=83887104,i[21163]=117442048,i[21164]=16842753,i[21165]=50397697,i[21166]=83952641,i[21167]=117507585,i[21168]=16908290,i[21169]=50463234,i[21170]=84018178,i[21171]=117573122,i[21172]=16973827,i[21173]=50528771,i[21174]=84083715,i[21175]=117638659,i[21176]=17039364,i[21177]=50594308,i[21178]=84149252,i[21179]=117704196,i[21180]=17104901,i[21181]=50659845,i[21182]=84214789,i[21183]=117769733,i[21184]=17170438,i[21185]=50725382,i[21186]=84280326,i[21187]=117835270,i[21188]=17235975,i[21189]=50790919,i[21190]=84345863,i[21191]=117900807,r=0,k=0;;){if((k|0)<0)k=0;else{i:{if(!k){e=0,f=k;break i}for(t=k+1&-2,e=0,f=k,A=0;(f|0)>7|e>>>0>7||(n=r<<1,l[n+79169|0]=f,l[n+79168|0]=e,r=r+1|0),(f|0)>8|e>>>0>7||(n=r<<1,l[n+79169|0]=f-1,l[n+79168|0]=e|1,r=r+1|0),e=e+2|0,f=f-2|0,A=A+2|0,(t|0)!=(A|0););}k&1|(f|0)>7|e>>>0>7||(n=r<<1,l[n+79169|0]=f,l[n+79168|0]=e,r=r+1|0),k=k+1|0}if(!((r|0)<64))break}for(r=0,A=0;f=A<<1,l[f+82033|0]=r,e=0,l[f+82032|0]=0,l[f+82035|0]=r,l[f+82034|0]=1,l[f+82037|0]=r,l[f+82036|0]=2,l[f+82039|0]=r,l[f+82038|0]=3,l[f+82041|0]=r,l[f+82040|0]=4,l[f+82043|0]=r,l[f+82042|0]=5,l[f+82045|0]=r,l[f+82044|0]=6,l[f+82047|0]=r,l[f+82046|0]=7,l[f+82049|0]=r,l[f+82048|0]=8,l[f+82051|0]=r,l[f+82050|0]=9,l[f+82053|0]=r,l[f+82052|0]=10,l[f+82055|0]=r,l[f+82054|0]=11,l[f+82057|0]=r,l[f+82056|0]=12,l[f+82059|0]=r,l[f+82058|0]=13,l[f+82061|0]=r,l[f+82060|0]=14,l[f+82063|0]=r,l[f+82062|0]=15,A=A+16|0,r=r+1|0,(r|0)!=16;);for(A=0;r=0,f=A<<1,l[f+84769|0]=0,l[f+84768|0]=e,l[f+84771|0]=1,l[f+84770|0]=e,l[f+84773|0]=2,l[f+84772|0]=e,l[f+84775|0]=3,l[f+84774|0]=e,l[f+84777|0]=4,l[f+84776|0]=e,l[f+84779|0]=5,l[f+84778|0]=e,l[f+84781|0]=6,l[f+84780|0]=e,l[f+84783|0]=7,l[f+84782|0]=e,l[f+84785|0]=8,l[f+84784|0]=e,l[f+84787|0]=9,l[f+84786|0]=e,l[f+84789|0]=10,l[f+84788|0]=e,l[f+84791|0]=11,l[f+84790|0]=e,l[f+84793|0]=12,l[f+84792|0]=e,l[f+84795|0]=13,l[f+84794|0]=e,l[f+84797|0]=14,l[f+84796|0]=e,l[f+84799|0]=15,l[f+84798|0]=e,A=A+16|0,e=e+1|0,(e|0)!=16;);for(n=0;;){if(A=0,(n|0)<0)n=0;else{i:{if(!n){e=0,f=n;break i}for(h=n+1&-2,e=0,f=n,k=0;(f|0)>15|e>>>0>15||(t=r<<1,l[t+79297|0]=f,l[t+79296|0]=e,r=r+1|0),(f|0)>16|e>>>0>15||(t=r<<1,l[t+79297|0]=f-1,l[t+79296|0]=e|1,r=r+1|0),e=e+2|0,f=f-2|0,k=k+2|0,(h|0)!=(k|0););}n&1|(f|0)>15|e>>>0>15||(k=r<<1,l[k+79297|0]=f,l[k+79296|0]=e,r=r+1|0),n=n+1|0}if(!((r|0)<256))break}for(r=0;f=r<<1,l[f+82545|0]=A,e=0,l[f+82544|0]=0,l[f+82547|0]=A,l[f+82546|0]=1,l[f+82549|0]=A,l[f+82548|0]=2,l[f+82551|0]=A,l[f+82550|0]=3,l[f+82553|0]=A,l[f+82552|0]=4,l[f+82555|0]=A,l[f+82554|0]=5,l[f+82557|0]=A,l[f+82556|0]=6,l[f+82559|0]=A,l[f+82558|0]=7,l[f+82561|0]=A,l[f+82560|0]=8,l[f+82563|0]=A,l[f+82562|0]=9,l[f+82565|0]=A,l[f+82564|0]=10,l[f+82567|0]=A,l[f+82566|0]=11,l[f+82569|0]=A,l[f+82568|0]=12,l[f+82571|0]=A,l[f+82570|0]=13,l[f+82573|0]=A,l[f+82572|0]=14,l[f+82575|0]=A,l[f+82574|0]=15,l[f+82577|0]=A,l[f+82576|0]=16,l[f+82579|0]=A,l[f+82578|0]=17,l[f+82581|0]=A,l[f+82580|0]=18,l[f+82583|0]=A,l[f+82582|0]=19,l[f+82585|0]=A,l[f+82584|0]=20,l[f+82587|0]=A,l[f+82586|0]=21,l[f+82589|0]=A,l[f+82588|0]=22,l[f+82591|0]=A,l[f+82590|0]=23,l[f+82593|0]=A,l[f+82592|0]=24,l[f+82595|0]=A,l[f+82594|0]=25,l[f+82597|0]=A,l[f+82596|0]=26,l[f+82599|0]=A,l[f+82598|0]=27,l[f+82601|0]=A,l[f+82600|0]=28,l[f+82603|0]=A,l[f+82602|0]=29,l[f+82605|0]=A,l[f+82604|0]=30,l[f+82607|0]=A,l[f+82606|0]=31,r=r+32|0,A=A+1|0,(A|0)!=32;);for(A=0;r=0,f=A<<1,l[f+85281|0]=0,l[f+85280|0]=e,l[f+85283|0]=1,l[f+85282|0]=e,l[f+85285|0]=2,l[f+85284|0]=e,l[f+85287|0]=3,l[f+85286|0]=e,l[f+85289|0]=4,l[f+85288|0]=e,l[f+85291|0]=5,l[f+85290|0]=e,l[f+85293|0]=6,l[f+85292|0]=e,l[f+85295|0]=7,l[f+85294|0]=e,l[f+85297|0]=8,l[f+85296|0]=e,l[f+85299|0]=9,l[f+85298|0]=e,l[f+85301|0]=10,l[f+85300|0]=e,l[f+85303|0]=11,l[f+85302|0]=e,l[f+85305|0]=12,l[f+85304|0]=e,l[f+85307|0]=13,l[f+85306|0]=e,l[f+85309|0]=14,l[f+85308|0]=e,l[f+85311|0]=15,l[f+85310|0]=e,l[f+85313|0]=16,l[f+85312|0]=e,l[f+85315|0]=17,l[f+85314|0]=e,l[f+85317|0]=18,l[f+85316|0]=e,l[f+85319|0]=19,l[f+85318|0]=e,l[f+85321|0]=20,l[f+85320|0]=e,l[f+85323|0]=21,l[f+85322|0]=e,l[f+85325|0]=22,l[f+85324|0]=e,l[f+85327|0]=23,l[f+85326|0]=e,l[f+85329|0]=24,l[f+85328|0]=e,l[f+85331|0]=25,l[f+85330|0]=e,l[f+85333|0]=26,l[f+85332|0]=e,l[f+85335|0]=27,l[f+85334|0]=e,l[f+85337|0]=28,l[f+85336|0]=e,l[f+85339|0]=29,l[f+85338|0]=e,l[f+85341|0]=30,l[f+85340|0]=e,l[f+85343|0]=31,l[f+85342|0]=e,A=A+32|0,e=e+1|0,(e|0)!=32;);for(k=0;;){if((k|0)<0)k=0;else{i:{if(!k){e=0,f=k;break i}for(t=k+1&-2,e=0,f=k,A=0;(f|0)>31|e>>>0>31||(n=r<<1,l[n+79809|0]=f,l[n+79808|0]=e,r=r+1|0),(f|0)>32|e>>>0>31||(n=r<<1,l[n+79809|0]=f-1,l[n+79808|0]=e|1,r=r+1|0),e=e+2|0,f=f-2|0,A=A+2|0,(t|0)!=(A|0););}k&1|(f|0)>31|e>>>0>31||(n=r<<1,l[n+79809|0]=f,l[n+79808|0]=e,r=r+1|0),k=k+1|0}if(!((r|0)<1024))break}for(A=2;;){for(f=A-2|0,k=(1<<f<<f)-1|0,w=1<<A,Z=A<<2,_=i[Z+45264>>2],p=f<<2,v=i[p+45168>>2],n=0;;){for(h=_+(n<<A<<1)|0,r=0;;){for(o=h+(r<<1)|0,f=16,e=k;e=e-!f|0,u=v+(e<<1)|0,f=f?f-1|0:15,t=f<<1,!!((s[t+79136|0]+(s[u|0]<<2)|0)!=(r|0)|(s[t+79137|0]+(s[u+1|0]<<2)|0)!=(n|0)););if(l[o+1|0]=f,l[o|0]=e,r=r+1|0,(w|0)==(r|0))break}if(n=n+1|0,(w|0)==(n|0))break}for(_=i[p+45200>>2],v=i[Z+45288>>2],n=0;;){for(h=v+(n<<A<<1)|0,r=0;;){for(o=h+(r<<1)|0,f=16,e=k;e=e-!f|0,u=_+(e<<1)|0,f=f?f-1|0:15,t=f<<1,!!((s[t+81872|0]+(s[u|0]<<2)|0)!=(r|0)|(s[t+81873|0]+(s[u+1|0]<<2)|0)!=(n|0)););if(l[o+1|0]=f,l[o|0]=e,r=r+1|0,(w|0)==(r|0))break}if(n=n+1|0,(w|0)==(n|0))break}for(_=i[p+45232>>2],v=i[Z+45312>>2],n=0;;){for(h=v+(n<<A<<1)|0,r=0;;){for(o=h+(r<<1)|0,f=16,e=k;e=e-!f|0,u=_+(e<<1)|0,f=f?f-1|0:15,t=f<<1,!!((s[t+84608|0]+(s[u|0]<<2)|0)!=(r|0)|(s[t+84609|0]+(s[u+1|0]<<2)|0)!=(n|0)););if(l[o+1|0]=f,l[o|0]=e,r=r+1|0,(w|0)==(r|0))break}if(n=n+1|0,(w|0)==(n|0))break}if(A=A+1|0,(A|0)==6)break}}function vk(f,e,r,A,k,n,t,o,u,h,w,_,v,Z){var p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0;W=B-32|0,B=W,y=f,p=r,h0=e,f0=A,E=W+20|0,I=B+-64|0,B=I;i:{r:{e:{A:{f:{k:{if((_|0)>=16){v2(y+4|0,1008,0),l[r+312|0]=3,l[W+30|0]=0,l[W+31|0]=0,X[E>>1]=0,X[E+2>>1]=0,X[E+4>>1]=0,X[E+6>>1]=0;break k}if(l[W+31|0]=0,R=-1,J=t-1|0,i[I+60>>2]=J,i[I+56>>2]=J,e=o+h|0,i[I+52>>2]=e,C=e-1|0,i[I+48>>2]=C,l[W+30|0]=0,X[E>>1]=0,X[E+2>>1]=0,S=K4(p,f0,k,n,t,o,u,h,v,J,e),l[I+47|0]=S,q=K4(p,f0,k,n,t,o,u,h,v,J,C),l[I+46|0]=q,z=h0+924|0,d=w<<6,j=(z+d|0)+(_<<2)|0,r=V[i[i[y>>2]+8>>2]](y,i[j>>2])|0,!r)break k;f=1-w|0,H=i[r+96>>2];n:{if(s[W+30|0]|!S)break n;if(A=i[p+168>>2],r=J>>A,(r|0)<0||(A0=i[p+172>>2],(A0|0)<=(r|0)))break e;if(A=e>>A,(A|0)<0|(A|0)>=i[p+176>>2])break r;if(!(s[((i[p+160>>2]+m(r,3)|0)+m(m(A,A0),3)|0)+1|0]&3))break n;if(r=i[p+188>>2],A=J>>r,(A|0)<0||(A0=i[p+192>>2],(A0|0)<=(A|0)))break e;if(e=e>>r,(e|0)<0|(e|0)>=i[p+196>>2])break r;if(r=0,e=(i[p+180>>2]+m(A,12)|0)+m(m(e,A0),12)|0,A=e+w|0,s[A|0]){if(a=s[A+2|0],a>>>0>15)break k;a=V[i[i[y>>2]+8>>2]](y,i[(z+d|0)+(a<<2)>>2])|0}if(d=f+e|0,s[d|0]){if(r=s[d+2|0],r>>>0>15)break k;r=V[i[i[y>>2]+8>>2]](y,i[((f<<6)+z|0)+(r<<2)>>2])|0}t:{if(!(!a|!s[A|0])&&(A=w,i[a+96>>2]==(H|0)))break t;if(!r|!s[d|0]||(A=f,i[r+96>>2]!=(H|0)))break n}l[W+30|0]=1,r=e+(A<<2)|0,r=Q[r+4>>1]|Q[r+6>>1]<<16,X[E>>1]=r,X[E+2>>1]=r>>>16,R=l[(e+A|0)+2|0]}n:{if(s[W+30|0]|!q)break n;if(r=i[p+168>>2],e=J>>r,(e|0)<0||(A=i[p+172>>2],(A|0)<=(e|0)))break e;if(r=C>>r,(r|0)<0|(r|0)>=i[p+176>>2])break r;if(!(s[((i[p+160>>2]+m(e,3)|0)+m(m(r,A),3)|0)+1|0]&3))break n;if(r=i[p+188>>2],e=J>>r,(e|0)<0||(a=i[p+192>>2],(a|0)<=(e|0)))break e;if(r=C>>r,(r|0)<0|(r|0)>=i[p+196>>2])break r;if(A=0,e=(i[p+180>>2]+m(e,12)|0)+m(m(r,a),12)|0,r=e+w|0,s[r|0]){if(A=s[r+2|0],A>>>0>15)break k;A=V[i[i[y>>2]+8>>2]](y,i[((w<<6)+z|0)+(A<<2)>>2])|0}if(C=f+e|0,s[C|0]){if(D=s[C+2|0],D>>>0>15)break k;D=V[i[i[y>>2]+8>>2]](y,i[((f<<6)+z|0)+(D<<2)>>2])|0}t:{if(!(!A|!s[r|0])&&(r=w,i[A+96>>2]==(H|0)))break t;if(!D|!s[C|0]||(r=f,i[D+96>>2]!=(H|0)))break n}l[W+30|0]=1,A=e+(r<<2)|0,A=Q[A+4>>1]|Q[A+6>>1]<<16,X[E>>1]=A,X[E+2>>1]=A>>>16,R=l[(e+r|0)+2|0]}for(d=S|q,q=h0+1308|0,A0=q+(w<<4)|0,S=A0+_|0,a=y+4|0,r=I+60|0,A=I+52|0,e=I+47|0,D=1;;){if(!s[W+30|0]){C=-1;n:{if(s[e|0]!=1)break n;if(n0=i[r>>2],r=i[p+168>>2],e=n0>>r,(e|0)<0||(L=i[p+172>>2],(L|0)<=(e|0)))break e;if(A=i[A>>2],r=A>>r,(r|0)<0|(r|0)>=i[p+176>>2])break r;if(!(s[((i[p+160>>2]+m(e,3)|0)+m(m(r,L),3)|0)+1|0]&3))break n;if(r=i[p+188>>2],e=n0>>r,(e|0)<0||(n0=i[p+192>>2],(n0|0)<=(e|0)))break e;if(r=A>>r,(r|0)<0|(r|0)>=i[p+196>>2])break r;e=(i[p+180>>2]+m(e,12)|0)+m(m(r,n0),12)|0,A=e+w|0;t:{if(s[A|0]==1&&(r=w,A=A+2|0,s[S|0]==s[A0+l[A|0]|0]))break t;if(r=f+e|0,s[r|0]!=1||(A=r+2|0,r=f,s[S|0]!=s[l[A|0]+(q+(r<<4)|0)|0]))break n}l[W+30|0]=1,e=e+(r<<2)|0,e=Q[e+4>>1]|Q[e+6>>1]<<16,X[E>>1]=e,X[E+2>>1]=e>>>16,R=l[A|0],C=r}n:{if(s[W+30|0]!=1)break n;if((R|0)<0){l[W+30|0]=0,l[W+31|0]=0;break k}if((C|0)<0)break f;if(r=V[i[i[y>>2]+8>>2]](y,i[((C<<6)+z|0)+(R<<2)>>2])|0,V[i[i[y>>2]+8>>2]](y,i[j>>2])|0,s[(q+(C<<4)|0)+R|0]|s[S|0])break n;if(e=i[p+96>>2],r=i[r+96>>2],(e|0)!=(r|0)){r=e-r|0,r=(r|0)>=127?127:r,r=(r|0)<=-128?-128:r,A=r>>31,e=e-H|0,e=(e|0)>=127?127:e,e=m(((r^A)-A>>>1|16384)/(r|0)<<16>>16,(e|0)<=-128?-128:e)+32>>6,e=(e|0)>=4095?4095:e,A=(e|0)<=-4096?-4096:e,C=Q[E>>1]|Q[E+2>>1]<<16,e=m(A,C>>16),r=e>>31,e=m(((e^r)-r|0)+127>>>8|0,(e|0)<0?-1:(e|0)!=0),e=(e|0)>=32767?32767:e,X[E+2>>1]=(e|0)<=-32768?-32768:e,e=m(A,C<<16>>16),r=e>>31,e=m(((e^r)-r|0)+127>>>8|0,(e|0)<0?-1:(e|0)!=0),e=(e|0)>=32767?32767:e,X[E>>1]=(e|0)<=-32768?-32768:e;break n}v2(a,1008,0),l[p+312|0]=3}if(C=D&1,r=I+56|0,A=I+48|0,e=I+46|0,D=0,C)continue}break}i[I+40>>2]=J,D=-1,e=o-1|0,i[I+20>>2]=e,i[I+24>>2]=e,i[I+28>>2]=e,e=t+u|0,i[I+32>>2]=e,i[I+36>>2]=e-1,l[W+31|0]=0,X[E+4>>1]=0,X[E+6>>1]=0,e=i[I+32>>2],r=i[I+20>>2],A=K4(p,f0,k,n,t,o,u,h,v,e,r),l[I+17|0]=A,J=E+4|0;n:{if(s[W+31|0]|!A)break n;if(A=i[p+188>>2],e=e>>A,(e|0)<0||(C=i[p+192>>2],(C|0)<=(e|0)))break e;if(A=r>>A,(A|0)<0|(A|0)>=i[p+196>>2])break r;if(r=0,R=0,A=(i[p+180>>2]+m(e,12)|0)+m(m(A,C),12)|0,e=A+w|0,s[e|0]){if(C=s[e+2|0],C>>>0>15)break k;R=V[i[i[y>>2]+8>>2]](y,i[((w<<6)+z|0)+(C<<2)>>2])|0}if(C=f+A|0,s[C|0]){if(r=s[C+2|0],r>>>0>15)break k;r=V[i[i[y>>2]+8>>2]](y,i[((f<<6)+z|0)+(r<<2)>>2])|0}t:{if(!(!R|!s[e|0])&&(e=w,i[R+96>>2]==(H|0)))break t;if(!r|!s[C|0]||(e=f,i[r+96>>2]!=(H|0)))break n}l[W+31|0]=1,r=A+(e<<2)|0,r=Q[r+4>>1]|Q[r+6>>1]<<16,X[J>>1]=r,X[J+2>>1]=r>>>16,D=l[(e+A|0)+2|0]}e=i[I+36>>2],r=i[I+24>>2],A=K4(p,f0,k,n,t,o,u,h,v,e,r),l[I+18|0]=A;n:{if(s[W+31|0]|!A)break n;if(A=i[p+188>>2],e=e>>A,(e|0)<0||(C=i[p+192>>2],(C|0)<=(e|0)))break e;if(A=r>>A,(A|0)<0|(A|0)>=i[p+196>>2])break r;if(r=0,R=0,A=(i[p+180>>2]+m(e,12)|0)+m(m(A,C),12)|0,e=A+w|0,s[e|0]){if(C=s[e+2|0],C>>>0>15)break k;R=V[i[i[y>>2]+8>>2]](y,i[((w<<6)+z|0)+(C<<2)>>2])|0}if(C=f+A|0,s[C|0]){if(r=s[C+2|0],r>>>0>15)break k;r=V[i[i[y>>2]+8>>2]](y,i[((f<<6)+z|0)+(r<<2)>>2])|0}t:{if(!(!R|!s[e|0])&&(e=w,i[R+96>>2]==(H|0)))break t;if(!r|!s[C|0]||(e=f,i[r+96>>2]!=(H|0)))break n}l[W+31|0]=1,r=A+(e<<2)|0,r=Q[r+4>>1]|Q[r+6>>1]<<16,X[J>>1]=r,X[J+2>>1]=r>>>16,D=l[(e+A|0)+2|0]}e=i[I+40>>2],r=i[I+28>>2],A=K4(p,f0,k,n,t,o,u,h,v,e,r),l[I+19|0]=A;n:{if(s[W+31|0]|!A)break n;if(A=i[p+188>>2],e=e>>A,(e|0)<0||(k=i[p+192>>2],(k|0)<=(e|0)))break e;if(A=r>>A,(A|0)<0|(A|0)>=i[p+196>>2])break r;if(r=0,R=0,A=(i[p+180>>2]+m(e,12)|0)+m(m(A,k),12)|0,e=A+w|0,s[e|0]){if(k=s[e+2|0],k>>>0>15)break k;R=V[i[i[y>>2]+8>>2]](y,i[((w<<6)+z|0)+(k<<2)>>2])|0}if(k=f+A|0,s[k|0]){if(r=s[k+2|0],r>>>0>15)break k;r=V[i[i[y>>2]+8>>2]](y,i[((f<<6)+z|0)+(r<<2)>>2])|0}t:{if(!(!R|!s[e|0])&&(e=w,i[R+96>>2]==(H|0)))break t;if(!r|!s[k|0]||(e=f,i[r+96>>2]!=(H|0)))break n}l[W+31|0]=1,r=A+(e<<2)|0,r=Q[r+4>>1]|Q[r+6>>1]<<16,X[J>>1]=r,X[J+2>>1]=r>>>16,D=l[(e+A|0)+2|0]}if(d)break k;for(s[W+31|0]&&(l[W+30|0]=1,e=Q[E+4>>1]|Q[E+6>>1]<<16,X[E>>1]=e,X[E+2>>1]=e>>>16),l[W+31|0]=0,n=q+(w<<4)|0,C=0;;){e=-1;n:{if(s[(I+17|0)+C|0]!=1)break n;if(r=C<<2,A=i[p+188>>2],e=i[r+(I+32|0)>>2]>>A,(e|0)<0||(k=i[p+192>>2],(k|0)<=(e|0)))break e;if(r=i[r+(I+20|0)>>2]>>A,(r|0)<0|(r|0)>=i[p+196>>2])break r;t:{o:{if(k=(i[p+180>>2]+m(e,12)|0)+m(m(r,k),12)|0,v=k+2|0,r=v+w|0,e=l[r|0],(e|0)<=15){if(s[k+w|0]==1&&(A=w,s[S|0]==s[e+n|0]))break t;if(s[f+k|0]==1)break o;e=-1;break n}l[p+312|0]=3,v2(a,1012,0);break k}if(A=f,r=v+A|0,e=-1,s[S|0]!=s[l[r|0]+(q+(A<<4)|0)|0])break n}l[W+31|0]=1,e=k+(A<<2)|0,e=Q[e+4>>1]|Q[e+6>>1]<<16,X[J>>1]=e,X[J+2>>1]=e>>>16,D=l[r|0],e=A}n:{if(s[W+31|0]!=1)break n;if((D|0)<0){l[W+30|0]=0,l[W+31|0]=0;break k}if((e|0)<0)break A;r=V[i[i[y>>2]+8>>2]](y,i[((e<<6)+z|0)+(D<<2)>>2])|0,A=V[i[i[y>>2]+8>>2]](y,i[j>>2])|0;t:{if(!(A&&r)){v2(i[p+112>>2]+4|0,1012,0);break t}if(r=i[r+96>>2],s[S|0]|(s[(q+(e<<4)|0)+D|0]|(r|0)==i[A+96>>2])||(e=i[p+96>>2],A=Q[J>>1]|Q[J+2>>1]<<16,i[I+8>>2]=A,i[I+12>>2]=A,C7(J,I+8|0,e-r|0,e-H|0)))break n;v2(a,1008,0)}l[p+312|0]=3}if(C=C+1|0,(C|0)==3)break k;if(s[W+31|0])break}}B=I- -64|0;break i}C0(17142,13964,1801,6195),P()}C0(17142,13964,1959,6195),P()}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}i:{r:{e:{A:{f:{k:{if(f=s[W+30|0],e=s[W+31|0],!(!f|!e)){if(Q[W+20>>1]!=Q[W+24>>1]|Q[W+22>>1]!=Q[W+26>>1])break k;dr(y,p,h0,t,o,u,h,_,w,W+12|0,W+19|0);break f}if(dr(y,p,h0,t,o,u,h,_,w,W+12|0,W+19|0),f)break A;if(_=0,f=0,!e)break i;break r}l[W+19|0]=0}f=i[W+20>>2],X[Z>>1]=f,X[Z+2>>1]=f>>>16;break e}if(f=i[W+20>>2],X[Z>>1]=f,X[Z+2>>1]=f>>>16,e)break e;f=1;break i}if(_=1,Q[W+20>>1]!=Q[W+24>>1])break r;if(f=1,Q[W+22>>1]==Q[W+26>>1])break i}f=(_<<2)+Z|0,e=i[W+24>>2],X[f>>1]=e,X[f+2>>1]=e>>>16,f=_+1|0}_=f,s[W+19|0]&&(f=(_<<2)+Z|0,e=i[W+12>>2],X[f>>1]=e,X[f+2>>1]=e>>>16,_=_+1|0);i:{if(_>>>0<=1){f=_<<2,B0(f+Z|0,0,8-f|0);break i}if((_|0)==2)break i;C0(16737,13964,2063,3803),P()}B=W+32|0}function Ns(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0;for(A=B-176|0,B=A,i[A+64>>2]=54820,n=i[13708],i[A+8>>2]=n,k=i[n-12>>2],n=A+8|0,i[k+n>>2]=i[13709],k=n+i[i[A+8>>2]-12>>2]|0,t=A+12|0,b0(k,t),i[k+72>>2]=0,i[k+76>>2]=-1,i[A+64>>2]=54820,i[A+8>>2]=54800,Z=$0(t),i[Z>>2]=53552,i[A+52>>2]=0,i[A+56>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+60>>2]=16,k=A+164|0,R2(k,e,r),v=n,o=k,n=l[A+175|0],k=(n|0)<0,x(v,k?i[A+164>>2]:o,k?i[A+168>>2]:n),l[A+175|0]<0&&G(i[A+164>>2]),n=A+164|0,W0(n,r),o=n,n=l[A+175|0],k=(n|0)<0,x(A+8|0,k?i[A+164>>2]:o,k?i[A+168>>2]:n),l[A+175|0]<0&&G(i[A+164>>2]),n=x(H0(x(A+8|0,20322,23),s[e+48|0]),31338,1),k=A+164|0,W0(k,r),o=k,k=l[A+175|0],t=(k|0)<0,x(n,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),n=x(H0(x(n,21214,23),s[e+49|0]),31338,1),k=A+164|0,W0(k,r),o=k,k=l[A+175|0],t=(k|0)<0,x(n,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),n=x(re(x(n,20609,19),s[e+50|0]),31338,1),k=A+164|0,W0(k,r),o=k,k=l[A+175|0],t=(k|0)<0,x(n,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),x(H0(x(n,21413,21),s[e+51|0]),31338,1),n=A+164|0,W0(n,r),o=n,n=l[A+175|0],k=(n|0)<0,x(A+8|0,k?i[A+164>>2]:o,k?i[A+168>>2]:n),l[A+175|0]<0&&G(i[A+164>>2]),x(A+8|0,19884,37),n=0;;){k=A+8|0,L0(k,i[e+52>>2]>>>31-n&1);i:{if((n&7)==7){l[A+164|0]=32,x(k,A+164|0,1);break i}if((n&3)!=3)break i;l[A+164|0]=46,x(A+8|0,A+164|0,1)}if(n=n+1|0,(n|0)==32)break}for(k=A+8|0,x(k,31338,1),t=A+164|0,W0(t,r),n=0,v=k,o=t,k=l[A+175|0],t=(k|0)<0,x(v,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),x(A+8|0,19922,36),k=e+56|0;t=A+8|0,H0(t,i[k+(n>>>3&536870908)>>2]>>>n&1),n=n+1|0,n&7||(l[A+164|0]=32,x(t,A+164|0,1)),(n|0)!=48;);n=A+8|0,x(n,31338,1),k=A+164|0,W0(k,r),v=n,o=k,n=l[A+175|0],k=(n|0)<0,x(v,k?i[A+164>>2]:o,k?i[A+168>>2]:n),l[A+175|0]<0&&G(i[A+164>>2]),n=x(H0(x(A+8|0,21393,19),s[e+64|0]),31338,1),k=A+164|0,W0(k,r),o=k,k=l[A+175|0],t=(k|0)<0,x(n,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),n=x(L0(x(n,21362,30),Q[e+66>>1]),31338,1),k=A+164|0,W0(k,r),o=k,k=l[A+175|0],t=(k|0)<0,x(n,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),n=x(H0(x(n,20978,18),s[e+68|0]),31338,1),k=A+164|0,W0(k,r),o=k,k=l[A+175|0],t=(k|0)<0,x(n,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),x(n,19643,15);i:{r:{e:{A:{f:switch(n=s[e+69|0],n-1|0){case 2:break e;case 1:break A;case 0:break f;default:break r}x(A+8|0,17203,5);break i}x(A+8|0,16785,5);break i}x(A+8|0,16639,5);break i}H0(A+8|0,n)}n=x(A+8|0,31338,1),k=A+164|0,W0(k,r),o=k,k=l[A+175|0],t=(k|0)<0,x(n,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),n=x(H0(x(n,21442,16),s[e+70|0]),31338,1),k=A+164|0,W0(k,r),o=k,k=l[A+175|0],t=(k|0)<0,x(n,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),n=x(H0(x(n,21459,18),s[e+71|0]),31338,1),k=A+164|0,W0(k,r),o=k,k=l[A+175|0],t=(k|0)<0,x(n,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),n=x(L0(x(n,20862,16),Q[e+72>>1]),31338,1),k=A+164|0,W0(k,r),o=k,k=l[A+175|0],t=(k|0)<0,x(n,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),n=x(H0(x(n,20840,21),s[e+74|0]),31338,1),k=A+164|0,W0(k,r),o=k,k=l[A+175|0],t=(k|0)<0,x(n,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),n=x(H0(x(n,19783,21),s[e+75|0]),31338,1),k=A+164|0,W0(k,r),o=k,k=l[A+175|0],t=(k|0)<0,x(n,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),n=x(H0(x(n,21327,20),s[e+76|0]),31338,1),k=A+164|0,W0(k,r),o=k,k=l[A+175|0],t=(k|0)<0,x(n,t?i[A+164>>2]:o,t?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),x(H0(x(n,20723,13),s[e+80|0]),31338,1);i:{if(_=i[e+84>>2],y=i[e+88>>2],(_|0)!=(y|0))for(v=A+20|0;;){e=A+164|0,W0(e,r),k=e,e=l[A+175|0],n=(e|0)<0,x(A+8|0,n?i[A+164>>2]:k,n?i[A+168>>2]:e),l[A+175|0]<0&&G(i[A+164>>2]),e=A+8|0,x(e,30565,8),i[r>>2]=i[r>>2]+1,n=A+164|0,W0(n,r),o=e,k=n,e=l[A+175|0],n=(e|0)<0,x(o,n?i[A+164>>2]:k,n?i[A+168>>2]:e),l[A+175|0]<0&&G(i[A+164>>2]),e=x(H0(x(A+8|0,19725,20),s[_|0]),31338,1),n=A+164|0,W0(n,r),o=n,n=l[A+175|0],k=(n|0)<0,x(e,k?i[A+164>>2]:o,k?i[A+168>>2]:n),l[A+175|0]<0&&G(i[A+164>>2]),x(H0(x(e,20933,15),s[_+1|0]),31338,1);r:{if(p=i[_+4>>2],E=i[_+8>>2],(p|0)==(E|0))break r;for(;;){W0(A+144|0,r),t=l[A+155|0],o=i[A+144>>2],w=i[A+148>>2],e=A+8|0,W=V1(A+156|0,e);e:{if(s[W|0]!=1)break e;u=e+i[i[A+8>>2]-12>>2]|0,I=i[u+4>>2],n=i[u+24>>2],k=i[u+76>>2],(k|0)==-1&&(h=A+164|0,e=i[u+28>>2],i[h>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(h,100192),k=V[i[i[e>>2]+28>>2]](e,32)|0,O0(h),i[u+76>>2]=k);A:{if(!n||(h=i[u+12>>2],e=o,o=(t|0)<0,e=o?e:A+144|0,t=o?w:t,C=e+t|0,o=(I&176)==32?C:e,w=o-e|0,(w|0)>0&&(V[i[i[n>>2]+48>>2]](n,e,w)|0)!=(w|0)))break A;if(e=(t|0)<(h|0)?h-t|0:0,(e|0)>0){if(e>>>0>=2147483640)break i;f:{if(e>>>0>=11){h=(e|7)+1|0,t=U(h),i[A+172>>2]=h|-2147483648,i[A+164>>2]=t,i[A+168>>2]=e;break f}l[A+175|0]=e,t=A+164|0}if(J=B0(t,k,e)+e|0,R=0,l[J|0]=R,k=V[i[i[n>>2]+48>>2]](n,l[A+175|0]<0?i[A+164>>2]:A+164|0,e)|0,l[A+175|0]<0&&G(i[A+164>>2]),(e|0)!=(k|0))break A}if(e=C-o|0,(e|0)>0&&(V[i[i[n>>2]+48>>2]](n,o,e)|0)!=(e|0))break A;i[u+12>>2]=0;break e}e=i[i[A+8>>2]-12>>2]+(A+8|0)|0,z1(e,i[e+16>>2]|5)}if(Z1(W),l[A+155|0]<0&&G(i[A+144>>2]),n=i[p>>2],W=i[p+4>>2],(n|0)!=(W|0))for(;;){u=s[n|0],e=i[A+8>>2],k=i[e-12>>2]+(A+8|0)|0,i[k+76>>2]==-1&&(t=A+164|0,e=i[k+28>>2],i[t>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(t,100192),V[i[i[e>>2]+28>>2]](e,32)|0,O0(t),e=i[A+8>>2]),i[k+76>>2]=48,e=e-12|0,i[i[e>>2]+v>>2]=2,e=i[e>>2]+Z|0,i[e>>2]=i[e>>2]&-75|8,u=H0(A+8|0,u),I=V1(A+144|0,u);e:{if(s[I|0]!=1)break e;t=u+i[i[u>>2]-12>>2]|0,w=i[t+4>>2],k=i[t+24>>2],h=i[t+76>>2],(h|0)==-1&&(o=A+164|0,e=i[t+28>>2],i[o>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(o,100192),h=V[i[i[e>>2]+28>>2]](e,32)|0,O0(o),i[t+76>>2]=h);A:{if(!k||(e=i[t+12>>2],w=(w&176)==32?21742:21741,o=w-21741|0,(o|0)>0&&(V[i[i[k>>2]+48>>2]](k,21741,o)|0)!=(o|0)))break A;if(e=(e|0)>1?e-1|0:0,(e|0)>0){if(e>>>0>=2147483640)break i;f:{if(e>>>0>=11){C=(e|7)+1|0,o=U(C),i[A+172>>2]=C|-2147483648,i[A+164>>2]=o,i[A+168>>2]=e;break f}l[A+175|0]=e,o=A+164|0}if(J=B0(o,h,e)+e|0,R=0,l[J|0]=R,h=V[i[i[k>>2]+48>>2]](k,l[A+175|0]<0?i[A+164>>2]:A+164|0,e)|0,l[A+175|0]<0&&G(i[A+164>>2]),(e|0)!=(h|0))break A}if(e=21742-w|0,(e|0)>0&&(V[i[i[k>>2]+48>>2]](k,w,e)|0)!=(e|0))break A;i[t+12>>2]=0;break e}e=u+i[i[u>>2]-12>>2]|0,z1(e,i[e+16>>2]|5)}if(Z1(I),n=n+1|0,(W|0)==(n|0))break}e:{e=A+8|0,o=V1(A+144|0,e);A:{if(s[o|0]!=1)break A;u=e+i[i[A+8>>2]-12>>2]|0,h=i[u+4>>2],n=i[u+24>>2],t=i[u+76>>2],(t|0)==-1&&(k=A+164|0,e=i[u+28>>2],i[k>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(k,100192),t=V[i[i[e>>2]+28>>2]](e,32)|0,O0(k),i[u+76>>2]=t);f:{if(!n||(e=i[u+12>>2],h=(h&176)==32?31339:31338,k=h-31338|0,(k|0)>0&&(V[i[i[n>>2]+48>>2]](n,31338,k)|0)!=(k|0)))break f;if(e=(e|0)>1?e-1|0:0,(e|0)>0){if(e>>>0>=2147483640)break e;k:{if(e>>>0>=11){w=(e|7)+1|0,k=U(w),i[A+172>>2]=w|-2147483648,i[A+164>>2]=k,i[A+168>>2]=e;break k}l[A+175|0]=e,k=A+164|0}if(J=B0(k,t,e)+e|0,R=0,l[J|0]=R,k=V[i[i[n>>2]+48>>2]](n,l[A+175|0]<0?i[A+164>>2]:A+164|0,e)|0,l[A+175|0]<0&&G(i[A+164>>2]),(e|0)!=(k|0))break f}if(e=31339-h|0,(e|0)>0&&(V[i[i[n>>2]+48>>2]](n,h,e)|0)!=(e|0))break f;i[u+12>>2]=0;break A}e=i[i[A+8>>2]-12>>2]+(A+8|0)|0,z1(e,i[e+16>>2]|5)}if(Z1(o),e=i[i[A+8>>2]-12>>2]+Z|0,i[e>>2]=i[e>>2]&-75|2,p=p+12|0,(E|0)==(p|0))break r;continue}break}break i}if(e=i[r>>2],i[r>>2]=(e|0)>0?e-1|0:0,_=_+16|0,(y|0)==(_|0))break}i2(f,Z),f=i[13707],i[A+8>>2]=f,i[i[f-12>>2]+(A+8|0)>>2]=i[13710],i[Z>>2]=53552,l[A+55|0]<0&&G(i[A+44>>2]),K0(Z),T0(A- -64|0),B=A+176|0;return}c2(),P()}function mk(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0;i:{r:{e:for(;;){for(C=e-4|0,I=e-20|0,p=e-24|0,y=e-12|0,W=e-16|0,v=e-8|0;;){A:{f:{k:{n:{t:{o:{u:switch(k=f,t=e-k>>3,t|0){case 3:break o;case 2:break u;case 0:case 1:break A;case 4:break k;case 5:break t;default:break n}if(i[e-4>>2]<=i[k+4>>2])break A;n=i[k>>2],_=i[k+4>>2],f=e-8|0,e=i[f+4>>2],i[k>>2]=i[f>>2],i[k+4>>2]=e;break r}if(f=e-8|0,A=e-4|0,r=i[A>>2],e=i[k+12>>2],(e|0)<=i[k+4>>2]){if((e|0)>=(r|0)||(A=i[k+8>>2],r=i[k+12>>2],e=i[f+4>>2],i[k+8>>2]=i[f>>2],i[k+12>>2]=e,i[f>>2]=A,i[f+4>>2]=r,i[k+12>>2]<=i[k+4>>2]))break A;n=i[k+8>>2],_=i[k+12>>2];break i}if(n=i[k>>2],_=i[k+4>>2],(e|0)<(r|0)){e=i[f+4>>2],i[k>>2]=i[f>>2],i[k+4>>2]=e;break r}if(r=i[k+8>>2],e=i[k+12>>2],i[k+8>>2]=n,i[k+12>>2]=_,i[k>>2]=r,i[k+4>>2]=e,(_|0)>=i[A>>2])break A;e=i[f+4>>2],i[k+8>>2]=i[f>>2],i[k+12>>2]=e;break r}if(Tr(k,k+8|0,k+16|0,k+24|0),i[e-4>>2]<=i[k+28>>2]||(A=i[k+24>>2],r=i[k+28>>2],e=e-8|0,f=i[e+4>>2],i[k+24>>2]=i[e>>2],i[k+28>>2]=f,i[e>>2]=A,i[e+4>>2]=r,i[k+28>>2]<=i[k+20>>2])||(n=i[k+24>>2],_=i[k+28>>2],f=i[k+20>>2],i[k+24>>2]=i[k+16>>2],i[k+28>>2]=f,i[k+16>>2]=n,i[k+20>>2]=_,(_|0)<=i[k+12>>2])||(f=i[k+12>>2],i[k+16>>2]=i[k+8>>2],i[k+20>>2]=f,i[k+8>>2]=n,i[k+12>>2]=_,(_|0)<=i[k+4>>2]))break A;break i}if((t|0)<=23){if(f=k+8|0,r=(e|0)==(k|0)|(e|0)==(f|0),A&1){if(r)break A;for(h=k;;){if(r=f,i[h+12>>2]>i[h+4>>2]){for(n=i[f>>2],A=i[f+4>>2],t=f;;){n:{if(f=h,u=i[f+4>>2],i[t>>2]=i[f>>2],i[t+4>>2]=u,(f|0)==(k|0)){f=k;break n}if(h=f-8|0,t=f,(A|0)>i[f-4>>2])continue}break}i[f>>2]=n,i[f+4>>2]=A}if(h=r,f=h+8|0,(e|0)==(f|0))break}break A}if(r)break A;for(;;){if(i[k+12>>2]>i[k+4>>2]){for(A=i[f>>2],r=i[f+4>>2],h=f;n=h,h=k,t=i[k+4>>2],i[n>>2]=i[k>>2],i[n+4>>2]=t,k=k-8|0,(r|0)>i[h-4>>2];);i[h>>2]=A,i[h+4>>2]=r}if(k=f,f=k+8|0,(e|0)==(f|0))break}break A}if(!r){if((e|0)==(k|0))break A;for(w=t-2>>>1|0,f=w;;){_=f;n:{if((f|0)>(w|0)||(u=(f<<3)+k|0,r=f<<1&1073741822,h=r|1,f=(h<<3)+k|0,r=r+2|0,(r|0)<(t|0)&&(A=r,r=i[f+4>>2]>i[f+12>>2],h=r?A:h,f=(r<<3)+f|0),i[f+4>>2]>i[u+4>>2]))break n;for(A=i[u>>2],r=i[u+4>>2];;){t:{if(n=u,u=f,Z=i[f+4>>2],i[n>>2]=i[f>>2],i[n+4>>2]=Z,(h|0)>(w|0))break t;if(n=h<<1,h=n|1,f=(h<<3)+k|0,n=n+2|0,(n|0)<(t|0)&&(Z=n,n=i[f+4>>2]>i[f+12>>2],h=n?Z:h,f=(n<<3)+f|0),(r|0)>=i[f+4>>2])continue}break}i[u>>2]=A,i[u+4>>2]=r}if(f=_-1|0,!((_|0)>0))break}for(;;){for(u=t,_=t-2>>>1|0,A=i[k>>2],Z=i[k+4>>2],h=0,t=k;;){n=h<<1,r=n|1,w=(h<<3)+t|0,f=w+8|0,n=n+2|0;n:{if((n|0)>=(u|0)){h=r;break n}h=r,r=i[w+12>>2]>i[w+20>>2],h=r?n:h,f=r?w+16|0:f}if(r=i[f+4>>2],i[t>>2]=i[f>>2],i[t+4>>2]=r,t=f,!((h|0)<=(_|0)))break}e=e-8|0;n:{if((f|0)==(e|0)){i[f>>2]=A,i[f+4>>2]=Z;break n}if(r=i[e+4>>2],i[f>>2]=i[e>>2],i[f+4>>2]=r,i[e>>2]=A,i[e+4>>2]=Z,r=(f-k|0)+8>>3,(r|0)<2||(h=r-2>>>1|0,t=(h<<3)+k|0,i[t+4>>2]<=i[f+4>>2]))break n;for(n=i[f>>2],A=i[f+4>>2];;){t:{if(r=f,f=t,t=i[f+4>>2],i[r>>2]=i[f>>2],i[r+4>>2]=t,!h)break t;if(h=h-1>>>1|0,t=(h<<3)+k|0,(A|0)<i[t+4>>2])continue}break}i[f>>2]=n,i[f+4>>2]=A}if(t=u-1|0,!((u|0)>2))break}break A}o=(t>>>1<<3)+k|0,u=i[C>>2];n:{if(t>>>0>=129){n=i[o+4>>2];t:{if((n|0)<=i[k+4>>2]){if((n|0)>=(u|0)||(t=i[o>>2],n=i[o+4>>2],f=i[v+4>>2],i[o>>2]=i[v>>2],i[o+4>>2]=f,i[v>>2]=t,i[v+4>>2]=n,i[o+4>>2]<=i[k+4>>2]))break t;t=i[k>>2],n=i[k+4>>2],f=i[o+4>>2],i[k>>2]=i[o>>2],i[k+4>>2]=f,i[o>>2]=t,i[o+4>>2]=n;break t}f=i[k>>2],t=i[k+4>>2];o:{if((n|0)<(u|0)){n=i[v+4>>2],i[k>>2]=i[v>>2],i[k+4>>2]=n;break o}if(n=i[o+4>>2],i[k>>2]=i[o>>2],i[k+4>>2]=n,i[o>>2]=f,i[o+4>>2]=t,(t|0)>=i[C>>2])break t;n=i[v+4>>2],i[o>>2]=i[v>>2],i[o+4>>2]=n}i[v>>2]=f,i[v+4>>2]=t}t=i[y>>2],w=o-8|0,n=i[w+4>>2];t:{if((n|0)<=i[k+12>>2]){if((n|0)>=(t|0)||(t=i[w>>2],n=i[w+4>>2],f=i[W+4>>2],i[w>>2]=i[W>>2],i[w+4>>2]=f,i[W>>2]=t,i[W+4>>2]=n,i[w+4>>2]<=i[k+12>>2]))break t;t=i[k+8>>2],n=i[k+12>>2],f=i[w+4>>2],i[k+8>>2]=i[w>>2],i[k+12>>2]=f,i[w>>2]=t,i[w+4>>2]=n;break t}f=i[k+8>>2],u=i[k+12>>2];o:{if((n|0)<(t|0)){n=i[W+4>>2],i[k+8>>2]=i[W>>2],i[k+12>>2]=n;break o}if(n=i[w+4>>2],i[k+8>>2]=i[w>>2],i[k+12>>2]=n,i[w>>2]=f,i[w+4>>2]=u,(u|0)>=i[y>>2])break t;n=i[W+4>>2],i[w>>2]=i[W>>2],i[w+4>>2]=n}i[W>>2]=f,i[W+4>>2]=u}t=i[I>>2],n=i[o+12>>2];t:{if((n|0)<=i[k+20>>2]){if((n|0)>=(t|0)||(t=i[o+8>>2],n=i[o+12>>2],f=i[p+4>>2],i[o+8>>2]=i[p>>2],i[o+12>>2]=f,i[p>>2]=t,i[p+4>>2]=n,i[o+12>>2]<=i[k+20>>2]))break t;t=i[k+16>>2],n=i[k+20>>2],f=i[o+12>>2],i[k+16>>2]=i[o+8>>2],i[k+20>>2]=f,i[o+8>>2]=t,i[o+12>>2]=n;break t}f=i[k+16>>2],u=i[k+20>>2];o:{if((n|0)<(t|0)){n=i[p+4>>2],i[k+16>>2]=i[p>>2],i[k+20>>2]=n;break o}if(n=i[o+12>>2],i[k+16>>2]=i[o+8>>2],i[k+20>>2]=n,i[o+8>>2]=f,i[o+12>>2]=u,(u|0)>=i[I>>2])break t;n=i[p+4>>2],i[o+8>>2]=i[p>>2],i[o+12>>2]=n}i[p>>2]=f,i[p+4>>2]=u}Z=i[o+12>>2],h=i[o+4>>2],u=i[w+4>>2];t:{if((h|0)<=(u|0)){if(n=i[o>>2],_=i[o+4>>2],(h|0)>=(Z|0))break t;if(t=i[o+12>>2],f=i[o+8>>2],i[o>>2]=f,i[o+4>>2]=t,i[o+8>>2]=n,i[o+12>>2]=_,(t|0)<=(u|0)){n=f,_=t;break t}n=i[w>>2],_=i[w+4>>2],i[w>>2]=f,i[w+4>>2]=t,i[o>>2]=n,i[o+4>>2]=_;break t}if(f=i[w>>2],t=i[w+4>>2],(h|0)<(Z|0)){n=i[o+12>>2],i[w>>2]=i[o+8>>2],i[w+4>>2]=n,i[o+8>>2]=f,i[o+12>>2]=t,n=i[o>>2],_=i[o+4>>2];break t}if(n=i[o+4>>2],i[w>>2]=i[o>>2],i[w+4>>2]=n,i[o>>2]=f,i[o+4>>2]=t,(t|0)>=(Z|0)){n=f,_=t;break t}u=i[o+12>>2],_=u,n=i[o+8>>2],i[o>>2]=n,i[o+4>>2]=u,i[o+8>>2]=f,i[o+12>>2]=t}t=i[k>>2],f=i[k+4>>2],i[k>>2]=n,i[k+4>>2]=_,i[o>>2]=t,i[o+4>>2]=f;break n}if(n=i[k+4>>2],(n|0)<=i[o+4>>2]){if((n|0)>=(u|0)||(t=i[k>>2],n=i[k+4>>2],f=i[v+4>>2],i[k>>2]=i[v>>2],i[k+4>>2]=f,i[v>>2]=t,i[v+4>>2]=n,i[k+4>>2]<=i[o+4>>2]))break n;t=i[o>>2],n=i[o+4>>2],f=i[k+4>>2],i[o>>2]=i[k>>2],i[o+4>>2]=f,i[k>>2]=t,i[k+4>>2]=n;break n}f=i[o>>2],t=i[o+4>>2];t:{if((n|0)<(u|0)){n=i[v+4>>2],i[o>>2]=i[v>>2],i[o+4>>2]=n;break t}if(n=i[k+4>>2],i[o>>2]=i[k>>2],i[o+4>>2]=n,i[k>>2]=f,i[k+4>>2]=t,(t|0)>=i[C>>2])break n;n=i[v+4>>2],i[k>>2]=i[v>>2],i[k+4>>2]=n}i[v>>2]=f,i[v+4>>2]=t}if(r=r-1|0,E=A&1,E){n=i[k>>2],_=i[k+4>>2];break f}if(n=i[k>>2],f=i[k+4>>2],_=f,i[k-4>>2]>i[k+4>>2])break f;t=k,u=k,h=f;n:{if((f|0)>i[C>>2]){for(;;)if(A=t,f=t+8|0,t=f,!((h|0)<=i[A+12>>2]))break n}for(;;){if(f=u+8|0,e>>>0<=f>>>0)break n;if(A=u,u=f,!((h|0)<=i[A+12>>2]))break}}if(u=e,u>>>0>f>>>0)for(;A=u-4|0,u=u-8|0,(h|0)>i[A>>2];);if(f>>>0<u>>>0)for(;;){for(Z=i[f>>2],t=i[f+4>>2],A=i[u+4>>2],i[f>>2]=i[u>>2],i[f+4>>2]=A,i[u>>2]=Z,i[u+4>>2]=t;t=f,A=f+8|0,f=A,(h|0)<=i[t+12>>2];);for(f=u;t=f-4|0,u=f-8|0,f=u,(h|0)>i[t>>2];);if(f=A,!(u>>>0>f>>>0))break}t=f-8|0,(t|0)!=(k|0)&&(A=i[t+4>>2],i[k>>2]=i[t>>2],i[k+4>>2]=A),i[t>>2]=n,i[t+4>>2]=_,A=0;continue}Tr(k,k+8|0,k+16|0,e-8|0);break A}for(t=k;h=t,t=t+8|0,i[h+12>>2]>(_|0););u=e,f=u;f:{if((k|0)==(h|0))for(;;){if(t>>>0>=u>>>0){Z=u;break f}if(f=u-4|0,Z=u-8|0,u=Z,!(i[f>>2]<=(_|0)))break f}for(;u=f-4|0,Z=f-8|0,f=Z,i[u>>2]<=(_|0););}if(f=Z,u=t,f>>>0>t>>>0)for(;;){for(o=i[u>>2],w=i[u+4>>2],h=i[f+4>>2],i[u>>2]=i[f>>2],i[u+4>>2]=h,i[f>>2]=o,i[f+4>>2]=w;h=u,u=u+8|0,i[h+12>>2]>(_|0););for(;w=f-4|0,f=f-8|0,i[w>>2]<=(_|0););if(!(f>>>0>u>>>0))break}if((k|0)!=(h|0)&&(f=i[h+4>>2],i[k>>2]=i[h>>2],i[k+4>>2]=f),i[h>>2]=n,i[h+4>>2]=_,t>>>0>=Z>>>0){if(n=Hk(k,h),f=h+8|0,Hk(f,e)){if(e=h,f=k,!n)continue e;break A}if(n)continue}mk(k,h,r,E),f=h+8|0,A=0;continue}break}break}return}i[f>>2]=n,i[f+4>>2]=_;return}f=i[k+4>>2],i[k+8>>2]=i[k>>2],i[k+12>>2]=f,i[k>>2]=n,i[k+4>>2]=_}function Rs(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0;k=B-160|0,B=k,i[k+68>>2]=54820,A=i[13708],i[k+12>>2]=A,o=k+12|0,i[o+i[A-12>>2]>>2]=i[13709],n=o+i[i[k+12>>2]-12>>2]|0,A=k+16|0,b0(n,A),i[n+72>>2]=0,i[n+76>>2]=-1,i[k+68>>2]=54820,i[k+12>>2]=54800,p=$0(A),i[p>>2]=53552,i[k+56>>2]=0,i[k+60>>2]=0,i[k+48>>2]=0,i[k+52>>2]=0,i[k+64>>2]=16,A=k+148|0,R2(A,e,r),t=A,n=l[k+159|0],A=(n|0)<0,x(o,A?i[k+148>>2]:t,A?i[k+152>>2]:n),l[k+159|0]<0&&G(i[k+148>>2]),A=k+148|0,W0(A,r),t=A,n=l[k+159|0],A=(n|0)<0,x(k+12|0,A?i[k+148>>2]:t,A?i[k+152>>2]:n),l[k+159|0]<0&&G(i[k+148>>2]),o=x(H0(x(k+12|0,20322,23),s[e+48|0]),31338,1),A=k+148|0,W0(A,r),t=A,n=l[k+159|0],A=(n|0)<0,x(o,A?i[k+148>>2]:t,A?i[k+152>>2]:n),l[k+159|0]<0&&G(i[k+148>>2]),o=x(H0(x(o,20299,22),s[e+49|0]),18656,2);i:{r:{e:{A:{f:{k:{n:{t:{o:{u:{l:{s:switch(A=s[e+49|0],A-66|0){case 56:break n;case 44:break t;case 34:break o;case 22:break u;case 11:break l;case 0:break e;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 45:case 46:case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:break f;default:break s}if((A|0)==244)break k;if((A|0)!=44)break f;n=U(16),i[k>>2]=n,i[k+4>>2]=11,i[k+8>>2]=-2147483632,t=s[16637]|s[16638]<<8|(s[16639]<<16|s[16640]<<24),A=s[16633]|s[16634]<<8|(s[16635]<<16|s[16636]<<24),l[n|0]=A,l[n+1|0]=A>>>8,l[n+2|0]=A>>>16,l[n+3|0]=A>>>24,l[n+4|0]=t,l[n+5|0]=t>>>8,l[n+6|0]=t>>>16,l[n+7|0]=t>>>24,A=s[16640]|s[16641]<<8|(s[16642]<<16|s[16643]<<24),l[n+7|0]=A,l[n+8|0]=A>>>8,l[n+9|0]=A>>>16,l[n+10|0]=A>>>24,A=n+11|0;break r}i[k>>2]=1852399949,l[k+11|0]=4,A=4;break A}i[k>>2]=1702131781,i[k+4>>2]=1684366446,l[k+11|0]=8,A=8;break A}n=U(16),i[k>>2]=n,i[k+4>>2]=12,i[k+8>>2]=-2147483632,t=s[3138]|s[3139]<<8|(s[3140]<<16|s[3141]<<24),A=s[3134]|s[3135]<<8|(s[3136]<<16|s[3137]<<24),l[n|0]=A,l[n+1|0]=A>>>8,l[n+2|0]=A>>>16,l[n+3|0]=A>>>24,l[n+4|0]=t,l[n+5|0]=t>>>8,l[n+6|0]=t>>>16,l[n+7|0]=t>>>24,A=s[3142]|s[3143]<<8|(s[3144]<<16|s[3145]<<24),l[n+8|0]=A,l[n+9|0]=A>>>8,l[n+10|0]=A>>>16,l[n+11|0]=A>>>24,A=n+12|0;break r}l[k+11|0]=7,i[k>>2]=s[17232]|s[17233]<<8|(s[17234]<<16|s[17235]<<24),A=s[17235]|s[17236]<<8|(s[17237]<<16|s[17238]<<24),l[k+3|0]=A,l[k+4|0]=A>>>8,l[k+5|0]=A>>>16,l[k+6|0]=A>>>24,A=7;break A}X[k+8>>1]=s[16788]|s[16789]<<8,l[k+11|0]=10,A=s[16784]|s[16785]<<8|(s[16786]<<16|s[16787]<<24),i[k>>2]=s[16780]|s[16781]<<8|(s[16782]<<16|s[16783]<<24),i[k+4>>2]=A,A=10;break A}X[k+8>>1]=s[16630]|s[16631]<<8,l[k+11|0]=10,A=s[16626]|s[16627]<<8|(s[16628]<<16|s[16629]<<24),i[k>>2]=s[16622]|s[16623]<<8|(s[16624]<<16|s[16625]<<24),i[k+4>>2]=A,A=10;break A}l[k+11|0]=7,i[k>>2]=s[6164]|s[6165]<<8|(s[6166]<<16|s[6167]<<24),A=s[6167]|s[6168]<<8|(s[6169]<<16|s[6170]<<24),l[k+3|0]=A,l[k+4|0]=A>>>8,l[k+5|0]=A>>>16,l[k+6|0]=A>>>24,A=7}l[A+k|0]=0,n=k;break i}n=U(24),i[k>>2]=n,i[k+4>>2]=20,i[k+8>>2]=-2147483624,t=s[9783]|s[9784]<<8|(s[9785]<<16|s[9786]<<24),A=s[9779]|s[9780]<<8|(s[9781]<<16|s[9782]<<24),l[n|0]=A,l[n+1|0]=A>>>8,l[n+2|0]=A>>>16,l[n+3|0]=A>>>24,l[n+4|0]=t,l[n+5|0]=t>>>8,l[n+6|0]=t>>>16,l[n+7|0]=t>>>24,A=s[9795]|s[9796]<<8|(s[9797]<<16|s[9798]<<24),l[n+16|0]=A,l[n+17|0]=A>>>8,l[n+18|0]=A>>>16,l[n+19|0]=A>>>24,t=s[9791]|s[9792]<<8|(s[9793]<<16|s[9794]<<24),A=s[9787]|s[9788]<<8|(s[9789]<<16|s[9790]<<24),l[n+8|0]=A,l[n+9|0]=A>>>8,l[n+10|0]=A>>>16,l[n+11|0]=A>>>24,l[n+12|0]=t,l[n+13|0]=t>>>8,l[n+14|0]=t>>>16,l[n+15|0]=t>>>24,A=n+20|0}l[A|0]=0,A=i[k+4>>2]}if(o=x(x(x(o,n,A),18531,1),31338,1),A=k+148|0,W0(A,r),t=A,n=l[k+159|0],A=(n|0)<0,x(o,A?i[k+148>>2]:t,A?i[k+152>>2]:n),l[k+159|0]<0&&G(i[k+148>>2]),o=x(H0(x(o,19325,23),s[e+50|0]),31338,1),A=k+148|0,W0(A,r),t=A,n=l[k+159|0],A=(n|0)<0,x(o,A?i[k+148>>2]:t,A?i[k+152>>2]:n),l[k+159|0]<0&&G(i[k+148>>2]),x(H0(x(o,20278,20),s[e+51|0]),31338,1),l[k+11|0]<0&&G(i[k>>2]),v=i[e+56>>2],h=i[e+60>>2],(v|0)!=(h|0))for(I=k+24|0;;){A=k+148|0,W0(A,r),t=A,n=l[k+159|0],A=(n|0)<0,x(k+12|0,A?i[k+148>>2]:t,A?i[k+152>>2]:n),l[k+159|0]<0&&G(i[k+148>>2]),x(k+12|0,21499,5);i:{if(n=i[v>>2],y=i[v+4>>2],(n|0)==(y|0))break i;for(;;){o=s[n|0],w=i[k+12>>2],u=i[w-12>>2]+(k+12|0)|0,i[u+76>>2]==-1&&(t=k+148|0,A=i[u+28>>2],i[t>>2]=A,(A|0)!=100008&&(i[A+4>>2]=i[A+4>>2]+1),A=x0(t,100192),V[i[i[A>>2]+28>>2]](A,32)|0,O0(t),w=i[k+12>>2]),i[u+76>>2]=48,A=w-12|0,i[I+i[A>>2]>>2]=2,A=i[A>>2]+p|0,i[A>>2]=i[A>>2]&-75|8;r:{w=H0(k+12|0,o),t=V1(k,w);e:{if(s[t|0]!=1)break e;_=w+i[i[w>>2]-12>>2]|0,o=i[_+4>>2],W=i[_+24>>2],Z=i[_+76>>2],(Z|0)==-1&&(u=k+148|0,A=i[_+28>>2],i[u>>2]=A,(A|0)!=100008&&(i[A+4>>2]=i[A+4>>2]+1),A=x0(u,100192),Z=V[i[i[A>>2]+28>>2]](A,32)|0,O0(u),i[_+76>>2]=Z);A:{if(!W||(u=i[_+12>>2],o=(o&176)==32?21742:21741,A=o-21741|0,(A|0)>0&&(V[i[i[W>>2]+48>>2]](W,21741,A)|0)!=(A|0)))break A;if(u=(u|0)>1?u-1|0:0,(u|0)>0){if(u>>>0>=2147483640)break r;f:{if(u>>>0>=11){A=(u|7)+1|0,C=U(A),i[k+156>>2]=A|-2147483648,i[k+148>>2]=C,i[k+152>>2]=u;break f}l[k+159|0]=u,C=k+148|0}if(E=B0(C,Z,u)+u|0,J=0,l[E|0]=J,A=V[i[i[W>>2]+48>>2]](W,l[k+159|0]<0?i[k+148>>2]:k+148|0,u)|0,l[k+159|0]<0&&G(i[k+148>>2]),(A|0)!=(u|0))break A}if(A=21742-o|0,(A|0)>0&&(V[i[i[W>>2]+48>>2]](W,o,A)|0)!=(A|0))break A;i[_+12>>2]=0;break e}A=w+i[i[w>>2]-12>>2]|0,z1(A,i[A+16>>2]|5)}if(Z1(t),n=n+1|0,(y|0)==(n|0))break i;continue}break}c2(),P()}if(x(k+12|0,31338,1),A=i[i[k+12>>2]-12>>2]+p|0,i[A>>2]=i[A>>2]&-75|2,v=v+12|0,(h|0)==(v|0))break}if(v=i[e+68>>2],I=i[e+72>>2],(v|0)!=(I|0))for(y=k+24|0;;){e=k+148|0,W0(e,r),n=e,A=l[k+159|0],e=(A|0)<0,x(k+12|0,e?i[k+148>>2]:n,e?i[k+152>>2]:A),l[k+159|0]<0&&G(i[k+148>>2]),x(k+12|0,21505,5);i:{if(n=i[v>>2],t=i[v+4>>2],(n|0)==(t|0))break i;for(;;){A=s[n|0],w=i[k+12>>2],h=i[w-12>>2]+(k+12|0)|0,i[h+76>>2]==-1&&(o=k+148|0,e=i[h+28>>2],i[o>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(o,100192),V[i[i[e>>2]+28>>2]](e,32)|0,O0(o),w=i[k+12>>2]),i[h+76>>2]=48,e=w-12|0,i[y+i[e>>2]>>2]=2,e=i[e>>2]+p|0,i[e>>2]=i[e>>2]&-75|8;r:{u=H0(k+12|0,A),o=V1(k,u);e:{if(s[o|0]!=1)break e;w=u+i[i[u>>2]-12>>2]|0,A=i[w+4>>2],_=i[w+24>>2],Z=i[w+76>>2],(Z|0)==-1&&(h=k+148|0,e=i[w+28>>2],i[h>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(h,100192),Z=V[i[i[e>>2]+28>>2]](e,32)|0,O0(h),i[w+76>>2]=Z);A:{if(!_||(h=i[w+12>>2],A=(A&176)==32?21742:21741,e=A-21741|0,(e|0)>0&&(V[i[i[_>>2]+48>>2]](_,21741,e)|0)!=(e|0)))break A;if(h=(h|0)>1?h-1|0:0,(h|0)>0){if(h>>>0>=2147483640)break r;f:{if(h>>>0>=11){e=(h|7)+1|0,C=U(e),i[k+156>>2]=e|-2147483648,i[k+148>>2]=C,i[k+152>>2]=h;break f}l[k+159|0]=h,C=k+148|0}if(E=B0(C,Z,h)+h|0,J=0,l[E|0]=J,e=V[i[i[_>>2]+48>>2]](_,l[k+159|0]<0?i[k+148>>2]:k+148|0,h)|0,l[k+159|0]<0&&G(i[k+148>>2]),(e|0)!=(h|0))break A}if(e=21742-A|0,(e|0)>0&&(V[i[i[_>>2]+48>>2]](_,A,e)|0)!=(e|0))break A;i[w+12>>2]=0;break e}e=u+i[i[u>>2]-12>>2]|0,z1(e,i[e+16>>2]|5)}if(Z1(o),n=n+1|0,(t|0)==(n|0))break i;continue}break}c2(),P()}if(x(k+12|0,31338,1),e=i[i[k+12>>2]-12>>2]+p|0,i[e>>2]=i[e>>2]&-75|2,v=v+12|0,(I|0)==(v|0))break}i2(f,p),f=i[13707],i[k+12>>2]=f,i[i[f-12>>2]+(k+12|0)>>2]=i[13710],i[p>>2]=53552,l[k+59|0]<0&&G(i[k+48>>2]),K0(p),T0(k+68|0),B=k+160|0}function Bk(f,e,r,A,k,n,t,o,u){var h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0;w=B-336|0,B=w,v=o,Z=u&65535,p=A,W=k&65535,y=(k^u)&-2147483648,z=u>>>16&32767,J=k>>>16&32767;i:{r:{if(z-32767>>>0>4294934529&J-32767>>>0>=4294934530)break r;if(h=k&2147483647,!(!A&(h|0)==2147418112?!(e|r):h>>>0<2147418112)){I=A,y=k|32768;break i}if(k=u&2147483647,!(!o&(k|0)==2147418112?!(n|t):k>>>0<2147418112)){I=o,y=u|32768,e=n,r=t;break i}if(!(e|A|(h^2147418112|r))){if(!(n|o|(k^2147418112|t))){e=0,r=0,y=2147450880;break i}y=y|2147418112,e=0,r=0;break i}if(!(n|o|(k^2147418112|t))){e=0,r=0;break i}if(!(e|A|(r|h))){e=!(n|o|(k|t)),I=e?0:I,y=e?2147450880:y,e=0,r=0;break i}if(!(n|o|(k|t))){y=y|2147418112,e=0,r=0;break i}if((h|0)==65535|h>>>0<65535&&(A=!(p|W),u=A,h=A?e:p,A=A<<6,u=$2(u?r:W),A=A+((u|0)==32?$2(h)+32|0:u)|0,L1(w+320|0,e,r,p,W,A-15|0),C=16-A|0,p=i[w+328>>2],W=i[w+332>>2],r=i[w+324>>2],e=i[w+320>>2]),k>>>0>65535)break r;A=!(Z|v),o=A,u=A?n:v,A=A<<6,o=$2(o?t:Z),A=A+((o|0)==32?$2(u)+32|0:o)|0,L1(w+304|0,n,t,v,Z,A-15|0),C=(A+C|0)-16|0,v=i[w+312>>2],Z=i[w+316>>2],n=i[w+304>>2],t=i[w+308>>2]}k=Z|65536,H=k,a=v,A=v,h=k<<15|A>>>17,k=A<<15|t>>>17,A=k,u=0-A|0,o=h,h=1963258675-(h+((A|0)!=0)|0)|0,U1(w+288|0,A,o,0,0,u,h,0,0),A=i[w+296>>2],U1(w+272|0,0-A|0,0-(i[w+300>>2]+((A|0)!=0)|0)|0,0,0,u,h,0,0),A=i[w+280>>2],u=A<<1|i[w+276>>2]>>>31,A=i[w+284>>2]<<1|A>>>31,U1(w+256|0,u,A,0,0,k,o,0,0),h=i[w+264>>2],U1(w+240|0,u,A,0,0,0-h|0,0-(i[w+268>>2]+((h|0)!=0)|0)|0,0,0),u=i[w+248>>2],h=u<<1|i[w+244>>2]>>>31,A=i[w+252>>2]<<1|u>>>31,U1(w+224|0,h,A,0,0,k,o,0,0),u=i[w+232>>2],U1(w+208|0,h,A,0,0,0-u|0,0-(i[w+236>>2]+((u|0)!=0)|0)|0,0,0),A=i[w+216>>2],u=A<<1|i[w+212>>2]>>>31,A=i[w+220>>2]<<1|A>>>31,U1(w+192|0,u,A,0,0,k,o,0,0),h=i[w+200>>2],U1(w+176|0,u,A,0,0,0-h|0,0-(i[w+204>>2]+((h|0)!=0)|0)|0,0,0),u=k,k=i[w+184>>2],A=o,v=k<<1|i[w+180>>2]>>>31,o=v-1|0,k=(i[w+188>>2]<<1|k>>>31)-!v|0,U1(w+160|0,u,A,0,0,o,k,0,0),A=o,U1(w+144|0,n<<15,t<<15|n>>>17,0,0,A,k,0,0),R=w+112|0,S=i[w+168>>2],o=i[w+172>>2],v=i[w+160>>2],u=i[w+152>>2],_=v+u|0,Z=i[w+164>>2],h=Z+i[w+156>>2]|0,h=u>>>0>_>>>0?h+1|0:h,u=h,h=(Z|0)==(h|0)&_>>>0<v>>>0|h>>>0<Z>>>0,Z=h+S|0,h=h>>>0>Z>>>0?o+1|0:o,v=!u&_>>>0>1|(u|0)!=0,o=Z+v|0,h=v>>>0>o>>>0?h+1|0:h,U1(R,A,k,0,0,0-o|0,0-(((o|0)!=0)+h|0)|0,0,0),U1(w+128|0,1-_|0,0-((_>>>0>1)+u|0)|0,0,0,A,k,0,0),p0=(J-z|0)+C|0,k=i[w+116>>2],J=k,A=i[w+112>>2],h=k<<1|A>>>31,u=A<<1,Z=h,A=h,o=i[w+140>>2],D=o,k=i[w+136>>2],h=o<<1|k>>>31,_=k<<1|i[w+132>>2]>>>31,o=_+u|0,A=A+h|0,A=o>>>0<_>>>0?A+1|0:A,k=A,A=A-(o>>>0<13927)|0,E=A,R=A,_=0,h=W|65536,X0=h,G0=p,A=p,h=h<<1|A>>>31,Q0=A<<1,F0=h,f0=h,A=q0(E,_,h,0),h=w0,q=A,d=h,h0=e<<1,A=r<<1|e>>>31,z=A,S=A,h=0,C=h,v=o-13927|0,E=(k|0)==(E|0)&v>>>0<o>>>0|k>>>0>E>>>0,k=(k|0)==(Z|0)&o>>>0<u>>>0|k>>>0<Z>>>0,A=i[w+120>>2],o=i[w+124>>2]<<1|A>>>31,A=A<<1|J>>>31,_=D>>>31|0,A=_+A|0,h=o,h=A>>>0<_>>>0?h+1|0:h,o=A,A=A+k|0,h=o>>>0>A>>>0?h+1|0:h,k=A,A=A+E|0,_=k>>>0>A>>>0?h+1|0:h,k=A-1|0,A0=_-!A|0,D=0,u=q0(S,C,A0,D),A=u+q|0,o=w0+d|0,o=A>>>0<u>>>0?o+1|0:o,Z=(d|0)==(o|0)&A>>>0<q>>>0|o>>>0<d>>>0,q=k,I0=r>>>31|0,n0=I0|p<<1,E=0,k=q0(k,0,n0,E),p=k+A|0,h=w0+o|0,_=0,h=k>>>0>p>>>0?h+1|0:h,W=h,A=(h|0)==(o|0)&A>>>0>p>>>0|o>>>0>h>>>0,k=A,A=A+Z|0,_=k>>>0>A>>>0?1:_,k=q0(f0,C,A0,D),A=k+A|0,h=w0+_|0,Z=A,A=A>>>0<k>>>0?h+1|0:h,k=q0(f0,C,q,E),_=w0,o=k,k=q0(n0,E,A0,D),u=o+k|0,h=w0+_|0,h=k>>>0>u>>>0?h+1|0:h,k=h,h=(_|0)==(h|0)&o>>>0>u>>>0|h>>>0<_>>>0,_=Z+k|0,A=A+h|0,A=_>>>0<k>>>0?A+1|0:A,Z=_,_=A,k=0,A=k+p|0,h=u+W|0,h=A>>>0<k>>>0?h+1|0:h,k=h,o=(h|0)==(W|0)&A>>>0<p>>>0|h>>>0<W>>>0,h=_,u=o,o=o+Z|0,h=u>>>0>o>>>0?h+1|0:h,J=o,_=h,p=A,d=v,A=q0(v,0,n0,E),u=w0,o=A,v=q0(R,I,S,I),A=A+v|0,h=w0+u|0,h=A>>>0<v>>>0?h+1|0:h,v=(u|0)==(h|0)&A>>>0<o>>>0|u>>>0>h>>>0,o=h,j=h0&-2,u=q0(q,E,j,0),W=u+A|0,h=w0+h|0,h=u>>>0>W>>>0?h+1|0:h,u=h,A=(h|0)==(o|0)&A>>>0>W>>>0|o>>>0>h>>>0,o=0,h=A+v|0,A=(h>>>0<A>>>0?1:o)+k|0,Z=h+p|0,A=Z>>>0<h>>>0?A+1|0:A,h=_,v=A,A=(A|0)==(k|0)&Z>>>0<p>>>0|A>>>0<k>>>0,k=A,A=A+J|0,h=k>>>0>A>>>0?h+1|0:h,Y0=A,J=h,A=q0(f0,C,d,I),L=w0,f0=A,k=q0(A0,D,j,I),A=A+k|0,h=w0+L|0,h=A>>>0<k>>>0?h+1|0:h,p=A,_=q0(R,I,n0,E),k=A+_|0,o=h,A=h+w0|0,A=k>>>0<_>>>0?A+1|0:A,C=k,h=q0(S,I,q,E),k=k+h|0,_=w0+A|0,_=k>>>0<h>>>0?_+1|0:_,A0=(A|0)==(_|0)&k>>>0<C>>>0|A>>>0>_>>>0,h=(o|0)==(L|0)&p>>>0<f0>>>0|o>>>0<L>>>0,A=(A|0)==(o|0)&p>>>0>C>>>0|A>>>0<o>>>0,A=A+h|0,A=A+A0|0,o=_,C=o+Z|0,h=(A|D)+v|0,h=o>>>0>C>>>0?h+1|0:h,p=h,A=(v|0)==(h|0)&Z>>>0>C>>>0|h>>>0<v>>>0,h=J,o=A,A=A+Y0|0,h=o>>>0>A>>>0?h+1|0:h,D=A,v=h,A=q0(R,I,j,I),R=w0,Z=A,o=q0(S,I,d,I),A=A+o|0,h=w0+R|0,h=A>>>0<o>>>0?h+1|0:h,J=0,o=(h|0)==(R|0)&A>>>0<Z>>>0|h>>>0<R>>>0,Z=h,A=h+W|0,h=(o|J)+u|0,h=A>>>0<Z>>>0?h+1|0:h,u=(u|0)==(h|0)&A>>>0<W>>>0|u>>>0>h>>>0,o=h,h=k,W=0,k=W+A|0,_=o+h|0,h=0,_=k>>>0<W>>>0?_+1|0:_,A=(o|0)==(_|0)&A>>>0>k>>>0|o>>>0>_>>>0,k=A,A=A+u|0,h=(k>>>0>A>>>0?1:h)+p|0,_=v,k=A,A=A+C|0,h=k>>>0>A>>>0?h+1|0:h,k=h,o=(p|0)==(h|0)&A>>>0<C>>>0|h>>>0<p>>>0,u=o,o=o+D|0,_=u>>>0>o>>>0?_+1|0:_,u=_;r:{if((_|0)==131071|_>>>0<131071){G0=Q0|I0,X0=E|F0,U1(w+80|0,A,h,o,_,n,t,a,H),_=i[w+84>>2],C=_,h=e<<17,p=0,W=i[w+88>>2],r=p-W|0,e=i[w+80>>2],_=(_|e)!=0,v=r-_|0,Z=(h-(i[w+92>>2]+(p>>>0<W>>>0)|0)|0)-(r>>>0<_>>>0)|0,W=0-(((e|0)!=0)+C|0)|0,C=p0+16382|0,p=0-e|0;break r}A=(k&1)<<31|A>>>1,k=o<<31|k>>>1,o=(u&1)<<31|o>>>1,u=u>>>1|0,U1(w+96|0,A,k,o,u,n,t,a,H),v=i[w+100>>2],z=v,Z=0,C=i[w+104>>2],p=Z-C|0,_=i[w+96>>2],W=(v|_)!=0,v=p-W|0,Z=((e<<16)-(i[w+108>>2]+(Z>>>0<C>>>0)|0)|0)-(p>>>0<W>>>0)|0,W=0-(((_|0)!=0)+z|0)|0,h0=e,z=r,C=p0+16383|0,p=0-_|0}if((C|0)>=32767){y=y|2147418112,e=0,r=0;break i}r:{if((C|0)>0){e=v<<1|W>>>31,r=Z<<1|v>>>31,v=o,Z=u&65535|C<<16,_=W<<1|p>>>31,o=p<<1;break r}if((C|0)<=-113){e=0,r=0;break i}ti(w- -64|0,A,k,o,u,1-C|0),L1(w+48|0,h0,z,G0,X0,C+112|0),A=i[w+64>>2],k=i[w+68>>2],v=i[w+72>>2],Z=i[w+76>>2],U1(w+32|0,n,t,a,H,A,k,v,Z),e=i[w+40>>2],r=i[w+56>>2],u=i[w+36>>2],W=e<<1|u>>>31,_=r-W|0,W=i[w+60>>2]-((i[w+44>>2]<<1|e>>>31)+(r>>>0<W>>>0)|0)|0,r=i[w+52>>2],C=r,e=i[w+32>>2],o=u<<1|e>>>31,p=e<<1,e=p,h=i[w+48>>2],r=(r|0)==(o|0)&e>>>0>h>>>0|r>>>0<o>>>0,e=_-r|0,r=W-(r>>>0>_>>>0)|0,_=C-((h>>>0<p>>>0)+o|0)|0,o=h-p|0}U1(w+16|0,n,t,a,H,3,0,0,0),U1(w,n,t,a,H,5,0,0,0),p=A,W=A&1,u=W,A=o+u|0,h=0,o=h+_|0,o=A>>>0<u>>>0?o+1|0:o,u=A,t=(t|0)==(o|0)&A>>>0>n>>>0|t>>>0<o>>>0,_=r,A=(o|0)==(h|0)&A>>>0<W>>>0|o>>>0<h>>>0,n=e+A|0,_=A>>>0>n>>>0?_+1|0:_,h=k,e=(_|0)==(H|0),e=e&(n|0)==(a|0)?t:e&n>>>0>a>>>0|_>>>0>H>>>0,r=e,e=e+p|0,h=r>>>0>e>>>0?h+1|0:h,r=h,A=(k|0)==(h|0)&e>>>0<p>>>0|k>>>0>h>>>0,h=Z,k=A,A=A+v|0,h=k>>>0>A>>>0?h+1|0:h,t=A,k=i[w+20>>2],v=(k|0)==(o|0)&k0[w+16>>2]<u>>>0|k>>>0<o>>>0,k=i[w+28>>2],A=i[w+24>>2],k=h>>>0<2147418112&((A|0)==(n|0)&(k|0)==(_|0)?v:(k|0)==(_|0)&A>>>0<n>>>0|k>>>0<_>>>0),A=r,v=k,k=e+k|0,A=v>>>0>k>>>0?A+1|0:A,e=(r|0)==(A|0)&e>>>0>k>>>0|r>>>0>A>>>0,r=e,e=e+t|0,h=r>>>0>e>>>0?h+1|0:h,t=e,r=i[w+4>>2],o=(r|0)==(o|0)&k0[w>>2]<u>>>0|r>>>0<o>>>0,r=i[w+12>>2],e=i[w+8>>2],e=h>>>0<2147418112&((e|0)==(n|0)&(r|0)==(_|0)?o:(r|0)==(_|0)&e>>>0<n>>>0|r>>>0<_>>>0),r=e,e=e+k|0,_=r>>>0>e>>>0?A+1|0:A,r=_,k=(A|0)==(_|0)&e>>>0<k>>>0|A>>>0>_>>>0,A=h,n=k,k=k+t|0,A=n>>>0>k>>>0?A+1|0:A,I=k|I,y=A|y}i[f>>2]=e,i[f+4>>2]=r,i[f+8>>2]=I,i[f+12>>2]=y,B=w+336|0}function Ds(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0;u=B-160|0,B=u;i:{if(!(n&&r)){if(l[u+124|0]=0,l[u+135|0]=0,r=f,f=r0(u+72|0,5,2001,u+124|0),P0(r,f,i[e>>2]),l[f+19|0]<0&&G(i[f+8>>2]),l[u+135|0]>=0)break i;G(i[u+124>>2]);break i}if(!(k&&A)){if(l[u+124|0]=0,l[u+135|0]=0,r=f,f=r0(u+72|0,5,2006,u+124|0),P0(r,f,i[e>>2]),l[f+19|0]<0&&G(i[f+8>>2]),l[u+135|0]>=0)break i;G(i[u+124>>2]);break i}l[u+129|0]=0,l[u+130|0]=0,l[u+131|0]=0,l[u+132|0]=0,X[u+126>>1]=0,X[u+128>>1]=0,X[u+124>>1]=263,l[u+156|0]=1,l[u+152|0]=0,i[u+144>>2]=2,i[u+148>>2]=2,l[u+140|0]=1,i[u+136>>2]=1;r:{if(!t)break r;e:{A:switch(s[t|0]-1|0){case 1:l[u+126|0]=s[t+2|0],l[u+125|0]=s[t+1|0];break e;case 0:l[u+125|0]=s[t+1|0];break e;case 6:l[u+156|0]=s[t+32|0];case 5:v=i[t+20>>2],i[u+140>>2]=i[t+16>>2],i[u+144>>2]=v,v=i[t+28>>2],i[u+148>>2]=i[t+24>>2],i[u+152>>2]=v;case 4:i[u+136>>2]=i[t+12>>2];case 3:v=i[t+4>>2],i[u+128>>2]=v,l[u+132|0]=s[t+8|0];break;case 2:break A;default:break e}if(l[u+127|0]=s[t+3|0],l[u+126|0]=s[t+2|0],l[u+125|0]=s[t+1|0],v)break r}if(t=i[i[r>>2]>>2],v=i[t+44>>2],t=i[t+48>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),v&&(l[u+72|0]=1,i[u+128>>2]=u+72,i[u+76>>2]=Q[v+4>>1],i[u+80>>2]=Q[v+6>>1],i[u+84>>2]=Q[v+8>>1],l[u+88|0]=s[v+10|0]),!t||(v=i[t+4>>2],i[t+4>>2]=v-1,v))break r;V[i[i[t>>2]+8>>2]](t),g(t)}if(t=0,i[u+68>>2]=0,i[u+60>>2]=0,i[u+64>>2]=0,w=m(A,k),w)for(v=0;;){_=i[(v<<2)+r>>2];r:{if(k0[u+68>>2]>t>>>0){i[t>>2]=i[_>>2],_=i[_+4>>2],i[t+4>>2]=_,_&&(i[_+4>>2]=i[_+4>>2]+1),t=t+8|0;break r}t=Q2(u+60|0,_)}if(i[u+64>>2]=t,v=v+1|0,(w|0)==(v|0))break}W=u+40|0,r=W,i[r>>2]=0,i[r+4>>2]=0,i[r+16>>2]=0,i[r+8>>2]=0,i[r+12>>2]=0,i[u+32>>2]=0,i[u+36>>2]=0,C=i[e>>2],y=u+124|0,w=B+-64|0,B=w,t=m(y4(i[i[u+60>>2]>>2],10),A),v=m(F4(i[i[u+60>>2]>>2],10),k),r=t>>>0>65535|v>>>0>65535,_=r?12:8,h=U(_),i[w+52>>2]=h,Z=h+_|0,i[w+60>>2]=Z,h=B0(h,0,_),i[w+56>>2]=Z,l[h+3|0]=A-1,l[h+2|0]=k-1,l[h+1|0]=r,l[h|0]=0;r:{if(r){r=v<<24|(v&65280)<<8|(v>>>8&65280|v>>>24),l[h+8|0]=r,l[h+9|0]=r>>>8,l[h+10|0]=r>>>16,l[h+11|0]=r>>>24,p=t>>>24|0,r=t,_=r>>>16|0;break r}p=t>>>8|0,r=v,_=t}l[h+7|0]=r,l[h+5|0]=_,l[h+4|0]=p,l[h+6|0]=r>>>8,i[u+8>>2]=0,i[u+12>>2]=0,i[u+24>>2]=0,i[u+16>>2]=0,i[u+20>>2]=0,r=0,i[w+48>>2]=0,i[w+40>>2]=0,i[w+44>>2]=0;r:{if(I=m(A,k),!I)break r;e:{for(;;){i[w+32>>2]=0,i[w+36>>2]=0,BA(w+8|0,C,i[u+60>>2]+(r<<3)|0,n,y,1,w+32|0),A=i[w+12>>2],i[u+8>>2]=i[w+8>>2],i[u+12>>2]=A,l[u+27|0]<0&&G(i[u+16>>2]),A=i[w+20>>2],i[u+16>>2]=i[w+16>>2],i[u+20>>2]=A,i[u+24>>2]=i[w+24>>2],fe(w+8|0,i[C+48>>2],i[i[w+32>>2]+20>>2]),A=i[w+8>>2],l[A+124|0]=1,i[A+52>>2]=i[A+52>>2]&-2|1,A=i[w+12>>2];A:{if(!A||(k=i[A+4>>2],i[A+4>>2]=k-1,k))break A;V[i[i[A>>2]+8>>2]](A),g(A)}k=i[i[w+32>>2]+20>>2];A:{h=i[w+44>>2],_=i[w+48>>2];f:{if(h>>>0<_>>>0){i[h>>2]=k,k=h+4|0;break f}if(Z=i[w+40>>2],p=h-Z>>2,A=p+1|0,A>>>0>=1073741824)break A;if(E=p<<2,_=_-Z|0,p=_>>1,p=_>>>0>=2147483644?1073741823:A>>>0<p>>>0?p:A,p){if(p>>>0>=1073741824)break e;_=U(p<<2)}else _=0;if(A=E+_|0,i[A>>2]=k,k=A+4|0,(h|0)!=(Z|0))for(;A=A-4|0,h=h-4|0,i[A>>2]=i[h>>2],(h|0)!=(Z|0););if(i[w+48>>2]=_+(p<<2),i[w+44>>2]=k,i[w+40>>2]=A,!Z)break f;G(Z)}i[w+44>>2]=k,A=i[w+36>>2];f:{if(!A||(k=i[A+4>>2],i[A+4>>2]=k-1,k))break f;V[i[i[A>>2]+8>>2]](A),g(A)}if(r=r+1|0,(I|0)!=(r|0))continue;break r}break}y0(),P()}_2(),P()}Z=Ri(i[C+48>>2],11836),h=U(360),r=h,i[r+16>>2]=0,i[r+20>>2]=0,i[r>>2]=72656,i[r+4>>2]=0,i[r+8>>2]=0,l[r+152|0]=0,i[r+36>>2]=Z,i[r+32>>2]=C,i[r+28>>2]=34648,i[r+40>>2]=0,i[r+44>>2]=0,i[r+52>>2]=0,i[r+56>>2]=0,i[r+68>>2]=0,i[r+72>>2]=0,i[r+80>>2]=0,i[r+84>>2]=0,i[r+156>>2]=0,i[r+160>>2]=0,i[r+24>>2]=0,X[r+48>>1]=0,X[r+58>>1]=0,X[r+60>>1]=0,X[r+62>>1]=0,X[r+64>>1]=0,l[r+76|0]=0,l[r+88|0]=0,i[r+204>>2]=0,i[r+196>>2]=0,i[r+200>>2]=0,i[r+188>>2]=0,i[r+192>>2]=0,i[r+180>>2]=0,i[r+184>>2]=0,i[r+172>>2]=0,i[r+176>>2]=0,i[r+164>>2]=0,i[r+168>>2]=0,i[r+212>>2]=0,i[r+216>>2]=0,l[r+208|0]=1,l[r+217|0]=0,l[r+218|0]=0,l[r+219|0]=0,l[r+220|0]=0,l[r+221|0]=0,l[r+222|0]=0,l[r+223|0]=0,l[r+224|0]=0,i[r+232>>2]=0,i[r+236>>2]=0,i[r+240>>2]=0,i[r+244>>2]=0,i[r+248>>2]=0,i[r+252>>2]=0,i[r+256>>2]=0,i[r+260>>2]=0,i[r+264>>2]=0,i[r+268>>2]=0,l[r+272|0]=0,B0(r+280|0,0,80),i[r+296>>2]=0,i[r+300>>2]=0,l[r+292|0]=1,i[r+304>>2]=0,i[r+308>>2]=0,i[r+312>>2]=0,i[r+316>>2]=0,i[r+328>>2]=0,i[r+332>>2]=0,i[r+320>>2]=0,i[r+324>>2]=1072693248,i[r+336>>2]=0,i[r+340>>2]=0,i[r+344>>2]=0,i[r+348>>2]=0,i[r+352>>2]=0,i[r+96>>2]=0,i[r+100>>2]=0,i[r+104>>2]=0,i[r+108>>2]=0,i[r+112>>2]=0,i[r+116>>2]=0,i[r+120>>2]=0,i[r+124>>2]=0,i[r+128>>2]=0,i[r+132>>2]=0,i[r+136>>2]=0,i[r+140>>2]=0,i[r+144>>2]=0,i[r+148>>2]=0,p=r+16|0,i[u+32>>2]=p,A=i[u+36>>2],i[u+36>>2]=r;r:{e:{if(!A){_=C+16|0;break e}if(r=i[A+4>>2],i[A+4>>2]=r-1,r||(V[i[i[A>>2]+8>>2]](A),g(A)),_=C+16|0,p=i[u+32>>2],h=i[u+36>>2],h)break e;h=0;break r}i[h+4>>2]=i[h+4>>2]+1}r:{e:{r=i[_+4>>2];A:{if(!r){k=_+4|0,A=k;break A}for(;;){if(A=r,k=i[r+16>>2],k>>>0>Z>>>0){if(k=r,r=i[r>>2],r)continue;break A}if(k>>>0>=Z>>>0)break e;if(r=i[A+4>>2],!r)break}k=A+4|0}r=U(28),i[r+24>>2]=h,i[r+20>>2]=p,i[r+16>>2]=Z,i[r+8>>2]=A,i[r>>2]=0,i[r+4>>2]=0,i[k>>2]=r,A=i[i[_>>2]>>2],A&&(i[_>>2]=A,r=i[k>>2]),D1(i[_+4>>2],r),i[_+8>>2]=i[_+8>>2]+1;break r}if(!h||(r=i[h+4>>2],i[h+4>>2]=r-1,r))break r;V[i[i[h>>2]+8>>2]](h),g(h)}hi(i[C+48>>2],Z,w+52|0,1),P1(i[C+48>>2],Z,1684630887,w+40|0),Vi(i[C+48>>2],Z,t,v),dn(i[C+48>>2],i[i[n>>2]+4>>2],s[i[u+32>>2]+192|0]),r=i[w+40>>2],r&&(i[w+44>>2]=r,G(r)),r=i[w+52>>2],r&&(i[w+56>>2]=r,G(r)),B=w- -64|0,A=i[u+12>>2],r=i[u+8>>2],i[W>>2]=r,i[W+4>>2]=A,l[W+19|0]<0&&(G(i[W+8>>2]),r=i[W>>2]),A=i[u+20>>2],i[W+8>>2]=i[u+16>>2],i[W+12>>2]=A,i[W+16>>2]=i[u+24>>2],A=i[e>>2];r:{if((r|0)!=i[19564]){P0(f,W,A);break r}i[A+40>>2]||s3(A,u+32|0);e:{if(!o)break e;k=U(16),r=k,i[r>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,i[r+12>>2]=0,i[o>>2]=r,n=i[u+32>>2],A=i[u+36>>2];A:{if(!A){i[r+4>>2]=A,i[r>>2]=n;break A}if(i[A+4>>2]=i[A+4>>2]+1,i[k>>2]=n,r=i[k+4>>2],i[k+4>>2]=A,!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break A;V[i[i[r>>2]+8>>2]](r),g(r)}if(k=i[e>>2],r=i[o>>2],A=i[e+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+8>>2]=k,e=i[r+12>>2],i[r+12>>2]=A,!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break e;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}f=i[u+36>>2];r:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(l[W+19|0]<0&&G(i[W+8>>2]),f=i[u+60>>2],!f)break i;if(t=i[u+64>>2],v=f,(t|0)!=(v|0)){for(;;){e=i[t-4>>2];r:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break r;V[i[i[e>>2]+8>>2]](e),g(e)}if(t=t-8|0,(f|0)==(t|0))break}v=i[u+60>>2]}i[u+64>>2]=f,G(v)}B=u+160|0}function Us(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;n=B+-64|0,B=n,c7(n+44|0,e,r),l[n+63|0]<0&&G(i[n+52>>2]),A=B2(r),o=A&1,l[e+57|0]=o,l[e+56|0]=A>>>1&3;i:{r:{e:{if(o){if(A=t2(r),l[e+62|0]=A&3,X[e+58>>1]=A>>>7,l[e+61|0]=A>>>2&3,l[e+60|0]=A>>>4&7,p=e,W=B2(r)>>>5|0,l[p+63|0]=W,A=B2(r)&63,l[e+64|0]=A,!A){if(e=U(56),i[n+28>>2]=e,i[n+32>>2]=54,i[n+36>>2]=-2147483592,r=s[18018]|s[18019]<<8|(s[18020]<<16|s[18021]<<24),A=s[18014]|s[18015]<<8|(s[18016]<<16|s[18017]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+54|0]=0,r=s[18064]|s[18065]<<8|(s[18066]<<16|s[18067]<<24),A=s[18060]|s[18061]<<8|(s[18062]<<16|s[18063]<<24),l[e+46|0]=A,l[e+47|0]=A>>>8,l[e+48|0]=A>>>16,l[e+49|0]=A>>>24,l[e+50|0]=r,l[e+51|0]=r>>>8,l[e+52|0]=r>>>16,l[e+53|0]=r>>>24,r=s[18058]|s[18059]<<8|(s[18060]<<16|s[18061]<<24),A=s[18054]|s[18055]<<8|(s[18056]<<16|s[18057]<<24),l[e+40|0]=A,l[e+41|0]=A>>>8,l[e+42|0]=A>>>16,l[e+43|0]=A>>>24,l[e+44|0]=r,l[e+45|0]=r>>>8,l[e+46|0]=r>>>16,l[e+47|0]=r>>>24,r=s[18050]|s[18051]<<8|(s[18052]<<16|s[18053]<<24),A=s[18046]|s[18047]<<8|(s[18048]<<16|s[18049]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[18042]|s[18043]<<8|(s[18044]<<16|s[18045]<<24),A=s[18038]|s[18039]<<8|(s[18040]<<16|s[18041]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[18034]|s[18035]<<8|(s[18036]<<16|s[18037]<<24),A=s[18030]|s[18031]<<8|(s[18032]<<16|s[18033]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[18026]|s[18027]<<8|(s[18028]<<16|s[18029]<<24),A=s[18022]|s[18023]<<8|(s[18024]<<16|s[18025]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,2006,n+28|0),l[n+39|0]>=0)break e;G(i[n+28>>2]);break e}A=B2(r),l[e+66|0]=A&1,l[e+65|0]=A>>>1,p=e,W=B2(r),l[p+67|0]=W;A:{if(!s[e+64|0])break A;for(;;){A=B2(r),h||(l[e+68|0]=A>>>7,l[e+69|0]=A>>>6&1,A=A&63);f:{u=i[e+76>>2],k=i[e+80>>2];k:{if(u>>>0<k>>>0){l[u|0]=A,_=u+1|0;break k}if(t=i[e+72>>2],w=u-t|0,o=w+1|0,(o|0)<0)break f;k=k-t|0,_=k<<1,_=k>>>0>=1073741823?2147483647:o>>>0<_>>>0?_:o,_?k=U(_):k=0,o=w+k|0,l[o|0]=A,Z=k+_|0,_=o+1|0;n:{if((t|0)==(u|0)){k=o;break n}if(v=0,A=u,w=w&3,w)for(;o=o-1|0,A=A-1|0,l[o|0]=s[A|0],v=v+1|0,(w|0)!=(v|0););if(t-u>>>0<=4294967292)for(;l[o-1|0]=s[A-1|0],l[o-2|0]=s[A-2|0],l[o-3|0]=s[A-3|0],o=o-4|0,A=A-4|0,l[o|0]=s[A|0],(A|0)!=(t|0););t=i[e+72>>2]}if(i[e+80>>2]=Z,i[e+76>>2]=_,i[e+72>>2]=k,!t)break k;G(t)}if(i[e+76>>2]=_,h=h+1|0,h>>>0<s[e+64|0])continue;break A}break}y0(),P()}h=s[e+60|0];A:{if(h>>>0<=1||(kn(e+84|0,h-1|0),u=B2(r),h=s[e+60|0],h>>>0<2))break A;for(A=h-2|0,w=i[e+84>>2],o=128;k=1<<A,t=w+(A>>>3&536870908)|0,o&u?k=k|i[t>>2]:k=i[t>>2]&(k^-1),i[t>>2]=k,o=o>>>1|0,k=(A|0)>0,A=A-1|0,!!k;);}o=e+96|0,k=i[e+96>>2],A=i[e+100>>2]-k|0;A:{if(A>>>0<h>>>0){L2(o,h-A|0),h=s[e+60|0];break A}if(A>>>0<=h>>>0)break A;i[e+100>>2]=k+h}A=h&255;A:{if(!A||(l[(A+i[e+96>>2]|0)-1|0]=s[e+67|0],A=s[e+60|0],A>>>0<2))break A;for(A=A-2|0;;){f:{if(i[i[e+84>>2]+(A>>>3&536870908)>>2]>>>A&1){k=B2(r),l[i[o>>2]+A|0]=k;break f}k=i[o>>2]+A|0,l[k|0]=s[k+1|0]}if(k=(A|0)>0,A=A-1|0,!k)break}}if(h=B2(r),h)for(_=0;;){t=D0(r),A=i[e+112>>2],k=i[e+116>>2];A:{if(A>>>0<k>>>0){i[A>>2]=t,t=A+4|0;break A}if(u=i[e+108>>2],v=A-u>>2,o=v+1|0,o>>>0>=1073741824)break r;if(k=k-u|0,w=k>>1,w=k>>>0>=2147483644?1073741823:o>>>0<w>>>0?w:o,w){if(w>>>0>=1073741824)break i;k=U(w<<2)}else k=0;if(o=k+(v<<2)|0,i[o>>2]=t,t=o+4|0,(A|0)!=(u|0))for(;o=o-4|0,A=A-4|0,i[o>>2]=i[A>>2],(A|0)!=(u|0););if(i[e+116>>2]=k+(w<<2),i[e+112>>2]=t,i[e+108>>2]=o,!u)break A;G(u)}if(i[e+112>>2]=t,_=_+1|0,(h|0)==(_|0))break}p=e,W=t2(r),X[p+120>>1]=W,p=e,W=t2(r),X[p+122>>1]=W,p=e,W=t2(r),X[p+124>>1]=W}w=B2(r);A:{if(!w)break A;for(_=e+128|0,v=n+32|0,h=0;;){if(s[r+20|0])break A;A=B2(r),o=0,i[n+40>>2]=0,i[n+32>>2]=0,i[n+36>>2]=0,l[n+29|0]=A&63,l[n+28|0]=A>>>7,u=t2(r);f:{k:{if(!u)break k;for(;;){if(s[r+20|0])break k;i[n+24>>2]=0,i[n+16>>2]=0,i[n+20>>2]=0,k=t2(r),t=19;n:{if(!k)break n;t:{if(!T4(r,k))break t;t=i[n+16>>2],A=i[n+20>>2]-t|0;o:{if(A>>>0<k>>>0){L2(n+16|0,k-A|0);break o}if(A>>>0<=k>>>0)break o;i[n+20>>2]=k+t}t=i[r>>2],A=i[r+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),k=V[i[i[t>>2]+16>>2]](t,i[n+16>>2],k)|0;o:{if(!A||(t=i[A+4>>2],i[A+4>>2]=t-1,t))break o;V[i[i[A>>2]+8>>2]](A),g(A)}if(k)break t;A=U(32),i[n+4>>2]=A,i[n+8>>2]=28,i[n+12>>2]=-2147483616,k=s[2134]|s[2135]<<8|(s[2136]<<16|s[2137]<<24),t=s[2130]|s[2131]<<8|(s[2132]<<16|s[2133]<<24),l[A|0]=t,l[A+1|0]=t>>>8,l[A+2|0]=t>>>16,l[A+3|0]=t>>>24,l[A+4|0]=k,l[A+5|0]=k>>>8,l[A+6|0]=k>>>16,l[A+7|0]=k>>>24,l[A+28|0]=0,k=s[2154]|s[2155]<<8|(s[2156]<<16|s[2157]<<24),l[A+24|0]=k,l[A+25|0]=k>>>8,l[A+26|0]=k>>>16,l[A+27|0]=k>>>24,k=s[2150]|s[2151]<<8|(s[2152]<<16|s[2153]<<24),t=s[2146]|s[2147]<<8|(s[2148]<<16|s[2149]<<24),l[A+16|0]=t,l[A+17|0]=t>>>8,l[A+18|0]=t>>>16,l[A+19|0]=t>>>24,l[A+20|0]=k,l[A+21|0]=k>>>8,l[A+22|0]=k>>>16,l[A+23|0]=k>>>24,k=s[2142]|s[2143]<<8|(s[2144]<<16|s[2145]<<24),t=s[2138]|s[2139]<<8|(s[2140]<<16|s[2141]<<24),l[A+8|0]=t,l[A+9|0]=t>>>8,l[A+10|0]=t>>>16,l[A+11|0]=t>>>24,l[A+12|0]=k,l[A+13|0]=k>>>8,l[A+14|0]=k>>>16,l[A+15|0]=k>>>24,r0(f,2,100,n+4|0),l[n+15|0]<0&&G(i[n+4>>2]),t=1;break n}A=i[n+36>>2];t:{if(A>>>0<k0[n+40>>2]){i[A+8>>2]=0,i[A>>2]=0,i[A+4>>2]=0,i[A>>2]=i[n+16>>2],i[A+4>>2]=i[n+20>>2],i[A+8>>2]=i[n+24>>2],i[n+24>>2]=0,i[n+16>>2]=0,i[n+20>>2]=0,k=A+12|0;break t}k=NA(v,n+16|0)}i[n+36>>2]=k,t=0}if(A=i[n+16>>2],A&&(i[n+20>>2]=A,G(A)),(t|0)!=19&&t)break f;if(o=o+1|0,(u|0)==(o|0))break}}A=i[e+132>>2];k:{if(A>>>0<k0[e+136>>2]){o=Q[n+28>>1],i[A+12>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,X[A>>1]=o,i[A+4>>2]=i[n+32>>2],i[A+8>>2]=i[n+36>>2],i[A+12>>2]=i[n+40>>2],i[n+40>>2]=0,i[n+32>>2]=0,i[n+36>>2]=0,k=A+16|0;break k}k=Fn(_,n+28|0)}i[e+132>>2]=k,t=0}if(k=i[n+32>>2],k){if(A=k,o=i[n+36>>2],(A|0)!=(o|0)){for(;A=o-12|0,u=i[A>>2],u&&(i[o-8>>2]=u,G(u)),o=A,(A|0)!=(k|0););A=i[n+32>>2]}i[n+36>>2]=k,G(A)}if(t)break e;if(h=h+1|0,(w|0)==(h|0))break}}if(s[r+20|0]==1){if(l[n+28|0]=0,l[n+39|0]=0,r0(f,2,100,n+28|0),l[n+39|0]>=0)break e;G(i[n+28>>2]);break e}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break e}_0(f,i[19566],i[19567])}B=n- -64|0;return}y0(),P()}_2(),P()}function Zk(){var f=0,e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0;i:{if(D=Z2(11296),D)for(e=B0(D,255,11296),f=e+1056|0,i[23908]=f,i[23904]=f,i[23903]=e+992,i[23902]=e+928,i[23901]=e+864,i[23900]=e+800,i[23899]=e+736,i[23898]=e+672,i[23897]=e+608,i[23896]=e+544,i[23895]=e+480,i[23894]=e+416,i[23893]=e+352,i[23892]=e+288,i[23891]=e+224,i[23890]=e+160,i[23889]=e+96,i[23888]=e+32,f=e+16|0,i[23887]=f,i[23886]=f,i[23885]=f,i[23884]=f,i[23883]=f,i[23882]=f,i[23881]=f,i[23880]=f,i[23879]=e,i[23878]=e,i[23877]=e,i[23876]=e,i[23875]=e,i[23874]=e,i[23873]=e,i[23872]=e,f=e+1312|0,i[23909]=f,i[23905]=f,f=e+1568|0,i[23910]=f,i[23906]=f,f=e+2080|0,i[23916]=f,i[23912]=f,f=e+1824|0,i[23911]=f,i[23907]=f,f=e+2336|0,i[23917]=f,i[23913]=f,f=e+2592|0,i[23918]=f,i[23914]=f,f=e+3104|0,i[23924]=f,i[23920]=f,f=e+2848|0,i[23919]=f,i[23915]=f,f=e+4128|0,i[23925]=f,i[23921]=f,f=e+5152|0,i[23926]=f,i[23922]=f,f=e+7200|0,i[23932]=f,i[23928]=f,f=e+6176|0,i[23927]=f,i[23923]=f,f=e+8224|0,i[23933]=f,i[23929]=f,f=e+9248|0,i[23934]=f,i[23930]=f,e=e+10272|0,i[23935]=e,i[23931]=e,_=2;;){J=_-2|0,o=1<<_;r:{if((_|0)!=2){for(C=(_|0)==3,w=C?11:14,R=0,e=1;;){for(W=1,f=0;;){for(I=((J<<6)+(R<<5)|0)+(f<<4)|0,Z=I+95488|0,y=W&1?9:15,u=0;;){for(E=u&3,n=u<<_,f=0;;){A=f|u,r=0;e:{if(!A)break e;if(r=E+(f&3)|0,h=r>>>0<=2?r?1:2:0,e){if(h=A>>>0<4?h:h+3|0,r=h+y|0,(_|0)==3)break e;r=h+21|0;break e}if(r=h+9|0,(_|0)==3)break e;r=h|12}if(h=n+(i[Z>>2]+f|0)|0,A=s[h|0],r=e?r:r+27|0,(A|0)!=255&(r|0)!=(A|0))break i;if(l[h|0]=r,f=f+1|0,(o|0)==(f|0))break}if(u=u+1|0,(u|0)==(o|0))break}for(n=I+95492|0,u=0;;){for(f=u&3,h=f?(f|0)==1:2,A=C?h+9|0:h|12,t=h+3|0,k=u<<_,f=0;;){Z=f|u,r=Z?A:0,E=!e;e:{if(E|!Z)break e;if(r=Z>>>0<4?h:t,!C){r=r+21|0;break e}r=r+y|0}if(Z=k+(i[n>>2]+f|0)|0,v=s[Z|0],r=e?r:r+27|0,(v|0)!=255&(r|0)!=(v|0))break i;if(l[Z|0]=r,f=f+1|0,(o|0)==(f|0))break}if(u=u+1|0,(u|0)==(o|0))break}for(Z=I+95496|0,u=0;;){for(n=u<<_,f=0;;){A=f|u,r=0;e:{if(!A)break e;if(r=f&3,h=r?(r|0)==1:2,!e){if(r=h|12,!C)break e;r=h+9|0;break e}if(h=A>>>0<4?h:h+3|0,r=h+21|0,!C)break e;r=h+y|0}if(h=n+(i[Z>>2]+f|0)|0,A=s[h|0],r=e?r:r+27|0,(A|0)!=255&(r|0)!=(A|0))break i;if(l[h|0]=r,f=f+1|0,(o|0)==(f|0))break}if(u=u+1|0,(u|0)==(o|0))break}for(I=I+95500|0,u=0;;){for(Z=u<<_,f=0;;){h=f|u,r=h?w:0;e:{if(E|!h)break e;if(r=h>>>0<4?2:5,!C){r=r+21|0;break e}r=r+y|0}if(h=Z+(i[I>>2]+f|0)|0,n=s[h|0],r=e?r:r+27|0,(n|0)!=255&(r|0)!=(n|0))break i;if(l[h|0]=r,f=f+1|0,(o|0)==(f|0))break}if(u=u+1|0,(u|0)==(o|0))break}if(f=1,r=W&1,W=0,!r)break}if(R=1,f=e,e=0,!f)break}break r}for(u=J<<6,C=u+95516|0,y=u+95512|0,h=u+95508|0,I=u+95504|0,J=u+95500|0,R=u+95496|0,Z=u+95492|0,E=u+95488|0,W=0;;){e=0;e:{if(W){for(r=u+(W<<5)|0,w=r+95488|0;;){for(n=e<<2,A=e<<_,f=0;;){if(t=A+(i[w>>2]+f|0)|0,k=s[t|0],p=(k|0)!=255,v=k,k=s[(f+n|0)+45792|0]+27|0,p&(v|0)!=(k|0))break i;if(l[t|0]=k,f=f+1|0,(o|0)==(f|0))break}if(e=e+1|0,(o|0)==(e|0))break}for(w=r+95492|0,e=0;;){for(n=e<<2,A=e<<_,f=0;;){if(t=A+(i[w>>2]+f|0)|0,k=s[t|0],p=(k|0)!=255,v=k,k=s[(f+n|0)+45792|0]+27|0,p&(v|0)!=(k|0))break i;if(l[t|0]=k,f=f+1|0,(o|0)==(f|0))break}if(e=e+1|0,(o|0)==(e|0))break}for(w=r+95496|0,e=0;;){for(n=e<<2,A=e<<_,f=0;;){if(t=A+(i[w>>2]+f|0)|0,k=s[t|0],p=(k|0)!=255,v=k,k=s[(f+n|0)+45792|0]+27|0,p&(v|0)!=(k|0))break i;if(l[t|0]=k,f=f+1|0,(o|0)==(f|0))break}if(e=e+1|0,(o|0)==(e|0))break}for(w=r+95500|0,e=0;;){for(n=e<<2,A=e<<_,f=0;;){if(t=A+(i[w>>2]+f|0)|0,k=s[t|0],p=(k|0)!=255,v=k,k=s[(f+n|0)+45792|0]+27|0,p&(v|0)!=(k|0))break i;if(l[t|0]=k,f=f+1|0,(o|0)==(f|0))break}if(e=e+1|0,(o|0)==(e|0))break}for(w=r+95504|0,e=0;;){for(n=e<<2,A=e<<_,f=0;;){if(t=A+(i[w>>2]+f|0)|0,k=s[t|0],p=(k|0)!=255,v=k,k=s[(f+n|0)+45792|0]+27|0,p&(v|0)!=(k|0))break i;if(l[t|0]=k,f=f+1|0,(o|0)==(f|0))break}if(e=e+1|0,(o|0)==(e|0))break}for(w=r+95508|0,e=0;;){for(n=e<<2,A=e<<_,f=0;;){if(t=A+(i[w>>2]+f|0)|0,k=s[t|0],p=(k|0)!=255,v=k,k=s[(f+n|0)+45792|0]+27|0,p&(v|0)!=(k|0))break i;if(l[t|0]=k,f=f+1|0,(o|0)==(f|0))break}if(e=e+1|0,(o|0)==(e|0))break}for(w=r+95512|0,e=0;;){for(n=e<<2,A=e<<_,f=0;;){if(t=A+(i[w>>2]+f|0)|0,k=s[t|0],p=(k|0)!=255,v=k,k=s[(f+n|0)+45792|0]+27|0,p&(v|0)!=(k|0))break i;if(l[t|0]=k,f=f+1|0,(o|0)==(f|0))break}if(e=e+1|0,(o|0)==(e|0))break}for(r=r+95516|0,e=0;;){for(w=e<<2,n=e<<_,f=0;;){if(A=n+(i[r>>2]+f|0)|0,t=s[A|0],v=(t|0)!=255,k=t,t=s[(f+w|0)+45792|0]+27|0,v&(k|0)!=(t|0))break i;if(l[A|0]=t,f=f+1|0,(o|0)==(f|0))break}if(e=e+1|0,(o|0)==(e|0))break}break e}for(;;){for(r=e<<2,w=e<<_,f=0;;){if(n=w+(i[E>>2]+f|0)|0,A=s[n|0],t=(A|0)!=255,k=A,A=s[(f+r|0)+45792|0],t&(k|0)!=(A|0))break i;if(l[n|0]=A,f=f+1|0,(o|0)==(f|0))break}if(r=0,e=e+1|0,(o|0)==(e|0))break}for(;;){for(e=r<<2,w=r<<_,f=0;;){if(n=w+(i[Z>>2]+f|0)|0,A=s[n|0],t=(A|0)!=255,k=A,A=s[(f+e|0)+45792|0],t&(k|0)!=(A|0))break i;if(l[n|0]=A,f=f+1|0,(o|0)==(f|0))break}if(e=0,r=r+1|0,(o|0)==(r|0))break}for(;;){for(r=e<<2,w=e<<_,f=0;;){if(n=w+(i[R>>2]+f|0)|0,A=s[n|0],t=(A|0)!=255,k=A,A=s[(f+r|0)+45792|0],t&(k|0)!=(A|0))break i;if(l[n|0]=A,f=f+1|0,(o|0)==(f|0))break}if(r=0,e=e+1|0,(o|0)==(e|0))break}for(;;){for(e=r<<2,w=r<<_,f=0;;){if(n=w+(i[J>>2]+f|0)|0,A=s[n|0],t=(A|0)!=255,k=A,A=s[(f+e|0)+45792|0],t&(k|0)!=(A|0))break i;if(l[n|0]=A,f=f+1|0,(o|0)==(f|0))break}if(e=0,r=r+1|0,(o|0)==(r|0))break}for(;;){for(r=e<<2,w=e<<_,f=0;;){if(n=w+(i[I>>2]+f|0)|0,A=s[n|0],t=(A|0)!=255,k=A,A=s[(f+r|0)+45792|0],t&(k|0)!=(A|0))break i;if(l[n|0]=A,f=f+1|0,(o|0)==(f|0))break}if(r=0,e=e+1|0,(o|0)==(e|0))break}for(;;){for(e=r<<2,w=r<<_,f=0;;){if(n=w+(i[h>>2]+f|0)|0,A=s[n|0],t=(A|0)!=255,k=A,A=s[(f+e|0)+45792|0],t&(k|0)!=(A|0))break i;if(l[n|0]=A,f=f+1|0,(o|0)==(f|0))break}if(e=0,r=r+1|0,(o|0)==(r|0))break}for(;;){for(r=e<<2,w=e<<_,f=0;;){if(n=w+(i[y>>2]+f|0)|0,A=s[n|0],t=(A|0)!=255,k=A,A=s[(f+r|0)+45792|0],t&(k|0)!=(A|0))break i;if(l[n|0]=A,f=f+1|0,(o|0)==(f|0))break}if(r=0,e=e+1|0,(o|0)==(e|0))break}for(;;){for(e=r<<2,w=r<<_,f=0;;){if(n=w+(i[C>>2]+f|0)|0,A=s[n|0],t=(A|0)!=255,k=A,A=s[(f+e|0)+45792|0],t&(k|0)!=(A|0))break i;if(l[n|0]=A,f=f+1|0,(o|0)==(f|0))break}if(r=r+1|0,(o|0)==(r|0))break}}if(W=W+1|0,(W|0)==2)break}}if(_=_+1|0,(_|0)==6)break}return(D|0)!=0}C0(13703,14036,2114,10317),P()}function Ms(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;Z=B-32|0,B=Z,u=A,t=B-144|0,B=t,w=Z+12|0,v=i[e>>2],Zr(w,i[v+16>>2],i[v+20>>2],t+140|0);i:{if(i[w>>2])break i;A=i[i[v+16>>2]+48>>2],p=i[t+140>>2],n=B-32|0,B=n,i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,I1(n,A,p,n+20|0);r:{if(i[n>>2]){i[t+132>>2]=0,i[t+136>>2]=0;break r}e:{if(k=i[n+20>>2],h=i[n+24>>2],(k|0)!=(h|0)){if(A=i[k>>2],A&&(o=i[t+136>>2],A=N0(A,68572,69712),A))break e;if(k=k+8|0,(h|0)!=(k|0))for(;;){if(A=i[k>>2],A&&(o=0,A=N0(A,68572,69712),A))break e;if(k=k+8|0,(h|0)==(k|0))break}i[t+132>>2]=0,i[t+136>>2]=0}i[t+132>>2]=0,i[t+136>>2]=0;break r}if(i[t+136>>2]=o,i[t+132>>2]=A,A=i[k+4>>2],i[t+136>>2]=A,!A)break r;i[A+4>>2]=i[A+4>>2]+1}if(l[n+19|0]<0&&G(i[n+8>>2]),o=i[n+20>>2],o){if(A=o,k=i[n+24>>2],(A|0)!=(k|0)){for(;;){A=i[k-4>>2];r:{if(!A||(h=i[A+4>>2],i[A+4>>2]=h-1,h))break r;V[i[i[A>>2]+8>>2]](A),g(A)}if(k=k-8|0,(o|0)==(k|0))break}A=i[n+20>>2]}i[n+24>>2]=o,G(A)}if(B=n+32|0,A=i[t+132>>2],!(!A|(i[A+60>>2]-i[A+56>>2]|0)!=1)){if(i[r>>2]=2,i[u>>2]=0,r=i[t+136>>2],!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break i;V[i[i[r>>2]+8>>2]](r),g(r);break i}if(A=i[v+176>>2],h=i[v+180>>2],h&&(i[h+4>>2]=i[h+4>>2]+1),!(Q[A+8>>1]|!A)){i[r>>2]=1,i[u>>2]=3;r:{if(!h||(r=i[h+4>>2],i[h+4>>2]=r-1,r))break r;V[i[i[h>>2]+8>>2]](h),g(h)}if(r=i[t+136>>2],!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break i;V[i[i[r>>2]+8>>2]](r),g(r);break i}o=0,i[r>>2]=0,i[u>>2]=99,r=i[i[v+16>>2]+48>>2],n=B-32|0,B=n,i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,I1(n,r,p,n+20|0);r:{if(i[n>>2]){i[t+124>>2]=0,i[t+128>>2]=0;break r}e:{if(k=i[n+20>>2],_=i[n+24>>2],(k|0)!=(_|0)){if(r=i[k>>2],r&&(A=i[t+128>>2],r=N0(r,68572,74292),r))break e;if(k=k+8|0,(_|0)!=(k|0))for(;;){if(r=i[k>>2],r&&(A=0,r=N0(r,68572,74292),r))break e;if(k=k+8|0,(_|0)==(k|0))break}i[t+124>>2]=0,i[t+128>>2]=0}i[t+124>>2]=0,i[t+128>>2]=0;break r}if(i[t+128>>2]=A,i[t+124>>2]=r,r=i[k+4>>2],i[t+128>>2]=r,!r)break r;i[r+4>>2]=i[r+4>>2]+1}if(l[n+19|0]<0&&G(i[n+8>>2]),A=i[n+20>>2],A){if(r=A,k=i[n+24>>2],(r|0)!=(k|0)){for(;;){r=i[k-4>>2];r:{if(!r||(_=i[r+4>>2],i[r+4>>2]=_-1,_))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(k=k-8|0,(A|0)==(k|0))break}r=i[n+20>>2]}i[n+24>>2]=A,G(r)}B=n+32|0,r=i[t+124>>2];r:{if(r){i[u>>2]=s[r+69|0],r=1;break r}r=i[i[v+16>>2]+48>>2],n=B-32|0,B=n,i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,I1(n,r,p,n+20|0);e:{if(i[n>>2]){i[t+116>>2]=0,i[t+120>>2]=0;break e}A:{if(k=i[n+20>>2],_=i[n+24>>2],(k|0)!=(_|0)){if(r=i[k>>2],r&&(A=i[t+120>>2],r=N0(r,68572,74976),r))break A;if(k=k+8|0,(_|0)!=(k|0))for(;;){if(r=i[k>>2],r&&(A=0,r=N0(r,68572,74976),r))break A;if(k=k+8|0,(_|0)==(k|0))break}i[t+116>>2]=0,i[t+120>>2]=0}i[t+116>>2]=0,i[t+120>>2]=0;break e}if(i[t+120>>2]=A,i[t+116>>2]=r,r=i[k+4>>2],i[t+120>>2]=r,!r)break e;i[r+4>>2]=i[r+4>>2]+1}if(l[n+19|0]<0&&G(i[n+8>>2]),A=i[n+20>>2],A){if(r=A,k=i[n+24>>2],(r|0)!=(k|0)){for(;;){r=i[k-4>>2];e:{if(!r||(_=i[r+4>>2],i[r+4>>2]=_-1,_))break e;V[i[i[r>>2]+8>>2]](r),g(r)}if(k=k-8|0,(A|0)==(k|0))break}r=i[n+20>>2]}i[n+24>>2]=A,G(r)}B=n+32|0,r=i[t+116>>2];e:{if(r){i[u>>2]=s[r+62|0],r=1;break e}r=i[i[v+16>>2]+48>>2],n=B-32|0,B=n,i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,I1(n,r,p,n+20|0);A:{if(i[n>>2]){i[t+108>>2]=0,i[t+112>>2]=0;break A}f:{if(k=i[n+20>>2],A=i[n+24>>2],(k|0)!=(A|0)){if(r=i[k>>2],r&&(o=i[t+112>>2],r=N0(r,68572,74408),r))break f;if(k=k+8|0,(A|0)!=(k|0))for(;;){if(r=i[k>>2],r&&(o=0,r=N0(r,68572,74408),r))break f;if(k=k+8|0,(A|0)==(k|0))break}i[t+108>>2]=0,i[t+112>>2]=0}i[t+108>>2]=0,i[t+112>>2]=0;break A}if(i[t+112>>2]=o,i[t+108>>2]=r,r=i[k+4>>2],i[t+112>>2]=r,!r)break A;i[r+4>>2]=i[r+4>>2]+1}if(l[n+19|0]<0&&G(i[n+8>>2]),A=i[n+20>>2],A){if(r=A,k=i[n+24>>2],(r|0)!=(k|0)){for(;;){r=i[k-4>>2];A:{if(!r||(o=i[r+4>>2],i[r+4>>2]=o-1,o))break A;V[i[i[r>>2]+8>>2]](r),g(r)}if(k=k-8|0,(A|0)==(k|0))break}r=i[n+20>>2]}i[n+24>>2]=A,G(r)}B=n+32|0,A=i[t+108>>2];A:{if(A){r=s[A+56|0],o=s[A+55|0],k=(o|0)!=2;f:{if(!k&&(A=1,(r|0)==2)||!k&&(A=2,(r|0)==1))break f;A=(o|0)!=1?99:(r|0)==1?3:99}i[u>>2]=A,r=1,o=0;break A}r=i[i[v+16>>2]+48>>2],n=B-32|0,B=n,i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,I1(n,r,p,n+20|0);f:{if(i[n>>2]){i[t+100>>2]=0,i[t+104>>2]=0;break f}k:{if(k=i[n+20>>2],A=i[n+24>>2],(k|0)!=(A|0)){if(r=i[k>>2],r&&(o=i[t+104>>2],r=N0(r,68572,74888),r))break k;if(k=k+8|0,(A|0)!=(k|0))for(;;){if(r=i[k>>2],r&&(o=0,r=N0(r,68572,74888),r))break k;if(k=k+8|0,(A|0)==(k|0))break}i[t+100>>2]=0,i[t+104>>2]=0}i[t+100>>2]=0,i[t+104>>2]=0;break f}if(i[t+104>>2]=o,i[t+100>>2]=r,r=i[k+4>>2],i[t+104>>2]=r,!r)break f;i[r+4>>2]=i[r+4>>2]+1}if(l[n+19|0]<0&&G(i[n+8>>2]),A=i[n+20>>2],A){if(r=A,k=i[n+24>>2],(r|0)!=(k|0)){for(;;){r=i[k-4>>2];f:{if(!r||(o=i[r+4>>2],i[r+4>>2]=o-1,o))break f;V[i[i[r>>2]+8>>2]](r),g(r)}if(k=k-8|0,(A|0)==(k|0))break}r=i[n+20>>2]}i[n+24>>2]=A,G(r)}B=n+32|0,r=1,o=0;f:{if(!i[t+100>>2])break f;if(X[t+24>>1]=0,B0(t+28|0,0,68),wA(t,t+24|0,i[i[v+16>>2]+48>>2],p),o=i[t+4>>2],A=i[t>>2],i[w>>2]=A,i[w+4>>2]=o,l[w+19|0]<0&&(G(i[w+8>>2]),A=i[w>>2]),o=i[t+12>>2],i[w+8>>2]=i[t+8>>2],i[w+12>>2]=o,i[w+16>>2]=i[t+16>>2],!A){A=0;k:{n:{if(k=t+24|0,o=i[k+36>>2],s[o|0]!=1|s[o+1|0]!=1)break n;t:switch((i[k+40>>2]-o>>2)-1|0){case 0:break k;case 2:break t;default:break n}if(n=s[o+4|0],(n|0)!=s[o+8|0]||(A=s[o+5|0],(A|0)!=s[o+9|0]))break n;t:switch(n-1|0){case 1:A=(A|0)==2?1:(A|0)==1?2:99;break k;case 0:break t;default:break n}if((A|0)!=1)break n;A=3;break k}A=99}i[u>>2]=A,ot(k),o=0;break f}ot(t+24|0),r=0,o=1}if(A=i[t+104>>2],!A||(u=i[A+4>>2],i[A+4>>2]=u-1,u))break A;V[i[i[A>>2]+8>>2]](A),g(A)}if(A=i[t+112>>2],!A||(u=i[A+4>>2],i[A+4>>2]=u-1,u))break e;V[i[i[A>>2]+8>>2]](A),g(A)}if(A=i[t+120>>2],!A||(u=i[A+4>>2],i[A+4>>2]=u-1,u))break r;V[i[i[A>>2]+8>>2]](A),g(A)}A=i[t+128>>2];r:{if(!A||(u=i[A+4>>2],i[A+4>>2]=u-1,u))break r;V[i[i[A>>2]+8>>2]](A),g(A)}r:{if(!h||(A=i[h+4>>2],i[h+4>>2]=A-1,A))break r;V[i[i[h>>2]+8>>2]](h),g(h)}A=r|o,r=i[t+136>>2];r:{if(!r||(u=i[r+4>>2],i[r+4>>2]=u-1,u))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(l[w+19|0]>=0|A)break i;G(i[w+8>>2])}B=t+144|0;i:{if(i[Z+12>>2]){P0(f,w,i[e>>2]);break i}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}l[Z+31|0]<0&&G(i[Z+20>>2]),B=Z+32|0}function pk(f,e,r,A,k,n,t,o,u,h,w){var _=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0;_=B-528|0,B=_,i[_+520>>2]=w,i[_+524>>2]=e;i:{if(J2(f,_+524|0)){i[n>>2]=i[n>>2]|4,f=0;break i}i[_+76>>2]=1095,W=_+76|0,I=o1(_+104|0,_+112|0,W),e=i[I>>2],i[_+100>>2]=e,i[_+96>>2]=e+400,e=B-16|0,B=e,i[W>>2]=0,i[W+4>>2]=0,i[W+8>>2]=0,B=e+16|0,e=B-16|0,B=e,p=_- -64|0,i[p>>2]=0,i[p+4>>2]=0,i[p+8>>2]=0,B=e+16|0,e=B-16|0,B=e,Z=_+52|0,i[Z>>2]=0,i[Z+4>>2]=0,i[Z+8>>2]=0,B=e+16|0,e=B-16|0,B=e,v=_+40|0,i[v>>2]=0,i[v+4>>2]=0,i[v+8>>2]=0,B=e+16|0,e=B-16|0,B=e,C=_+28|0,i[C>>2]=0,i[C+4>>2]=0,i[C+8>>2]=0,B=e+16|0,w=B-16|0,B=w;r:{if(r){r=w+4|0,e=x0(A,99928),V[i[i[e>>2]+44>>2]](r,e),A=i[w+4>>2],l[_+92|0]=A,l[_+93|0]=A>>>8,l[_+94|0]=A>>>16,l[_+95|0]=A>>>24,V[i[i[e>>2]+32>>2]](r,e),q1(v,r),z0(r),V[i[i[e>>2]+28>>2]](r,e),q1(Z,r),z0(r),J=_,R=V[i[i[e>>2]+12>>2]](e)|0,l[J+91|0]=R,J=_,R=V[i[i[e>>2]+16>>2]](e)|0,l[J+90|0]=R,V[i[i[e>>2]+20>>2]](r,e),q1(W,r),z0(r),V[i[i[e>>2]+24>>2]](r,e),q1(p,r),z0(r),e=V[i[i[e>>2]+36>>2]](e)|0;break r}r=w+4|0,e=x0(A,99920),V[i[i[e>>2]+44>>2]](r,e),A=i[w+4>>2],l[_+92|0]=A,l[_+93|0]=A>>>8,l[_+94|0]=A>>>16,l[_+95|0]=A>>>24,V[i[i[e>>2]+32>>2]](r,e),q1(v,r),z0(r),V[i[i[e>>2]+28>>2]](r,e),q1(Z,r),z0(r),J=_,R=V[i[i[e>>2]+12>>2]](e)|0,l[J+91|0]=R,J=_,R=V[i[i[e>>2]+16>>2]](e)|0,l[J+90|0]=R,V[i[i[e>>2]+20>>2]](r,e),q1(W,r),z0(r),V[i[i[e>>2]+24>>2]](r,e),q1(p,r),z0(r),e=V[i[i[e>>2]+36>>2]](e)|0}for(i[_+24>>2]=e,B=w+16|0,i[h>>2]=i[u>>2],y=k&512,A=0,e=0;;){r=e;r:{e:{A:{f:{if((A|0)==4||J2(f,_+524|0))break f;w=0;k:{n:{t:{o:{u:switch(s[(_+92|0)+A|0]){case 1:if((A|0)==3)break e;e=i[f>>2],k=i[e+12>>2];l:{if((k|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break l}e=s[k|0]}if(e=e<<24>>24,(e|0)>=0?e=i[i[o+8>>2]+(e<<2)>>2]&1:e=0,e){dt(_+16|0,f),C6(C,l[_+16|0]);break o}i[n>>2]=i[n>>2]|4,f=0;break A;case 4:break k;case 2:break n;case 3:break t;case 0:break u;default:break r}if((A|0)==3)break e}for(;;){if(J2(f,_+524|0))break e;e=i[f>>2],k=i[e+12>>2];o:{if((k|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break o}e=s[k|0]}if(e=e<<24>>24,(e|0)>=0?e=i[i[o+8>>2]+(e<<2)>>2]&1:e=0,!e)break e;dt(_+16|0,f),C6(C,l[_+16|0])}}t:{if(s[Z+11|0]>>>7|0?e=i[Z+4>>2]:e=s[Z+11|0]&127,!e)break t;e=i[f>>2],k=i[e+12>>2];o:{if((k|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break o}e=s[k|0]}if(k=e<<24>>24&255,s[Z+11|0]>>>7|0?e=i[Z>>2]:e=Z,(k|0)!=s[e|0])break t;E1(f),l[t|0]=0,s[Z+11|0]>>>7|0?e=i[Z+4>>2]:e=s[Z+11|0]&127,e=e>>>0>1?Z:r;break r}t:{if(s[v+11|0]>>>7|0?e=i[v+4>>2]:e=s[v+11|0]&127,!e)break t;e=i[f>>2],k=i[e+12>>2];o:{if((k|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break o}e=s[k|0]}if(k=e<<24>>24&255,s[v+11|0]>>>7|0?e=i[v>>2]:e=v,(k|0)!=s[e|0])break t;E1(f),l[t|0]=1,s[v+11|0]>>>7|0?e=i[v+4>>2]:e=s[v+11|0]&127,e=e>>>0>1?v:r;break r}if(s[Z+11|0]>>>7|0?e=i[Z+4>>2]:e=s[Z+11|0]&127,k=!e,s[v+11|0]>>>7|0?e=i[v+4>>2]:e=s[v+11|0]&127,!(k|!e)){i[n>>2]=i[n>>2]|4,f=0;break A}if(s[Z+11|0]>>>7|0?e=i[Z+4>>2]:e=s[Z+11|0]&127,!e&&(s[v+11|0]>>>7|0?e=i[v+4>>2]:e=s[v+11|0]&127,!e))break e;s[v+11|0]>>>7|0?e=i[v+4>>2]:e=s[v+11|0]&127,l[t|0]=!e;break e}if(!(y|(r|A>>>0<2))&&(e=0,!((A|0)==2&s[_+95|0]!=0)))break r;J=_,R=C4(p),i[J+12>>2]=R,i[_+16>>2]=i[_+12>>2];n:{if(!A|s[(A+_|0)+91|0]>1)break n;for(;;){t:{if(J=_,R=S8(p),i[J+12>>2]=R,e=i[_+16>>2],(e|0)==i[_+12>>2]||(e=l[e|0],(e|0)>=0?e=i[i[o+8>>2]+(e<<2)>>2]&1:e=0,!e))break t;i[_+16>>2]=i[_+16>>2]+1;continue}break}if(J=_,R=C4(p),i[J+12>>2]=R,s[C+11|0]>>>7|0?w=i[C+4>>2]:w=s[C+11|0]&127,e=_+12|0,k=i[_+16>>2]-i[e>>2]|0,w>>>0>=k>>>0&&(J=_,R=S8(C),i[J+12>>2]=R,e=R3(e,0-k|0),k=S8(C),w=C4(p),E=B-16|0,B=E,e=O8(e),k=O8(k),e=K2(e,O8(w),k-e|0),B=E+16|0,!e))break n;J=_,R=C4(p),i[J+8>>2]=R,i[_+12>>2]=i[_+8>>2],i[_+16>>2]=i[_+12>>2]}for(i[_+12>>2]=i[_+16>>2];;){n:{if(J=_,R=S8(p),i[J+8>>2]=R,i[_+12>>2]==i[_+8>>2]||J2(f,_+524|0))break n;e=i[f>>2],k=i[e+12>>2];t:{if((k|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break t}e=s[k|0]}if((e<<24>>24&255)!=s[i[_+12>>2]])break n;E1(f),i[_+12>>2]=i[_+12>>2]+1;continue}break}if(!y||(J=_,R=S8(p),i[J+8>>2]=R,i[_+12>>2]==i[_+8>>2]))break e;i[n>>2]=i[n>>2]|4,f=0;break A}for(;;){k:{if(J2(f,_+524|0))break k;e=i[f>>2],k=i[e+12>>2];n:{if((k|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break n}e=s[k|0]}e=e<<24>>24,(e|0)>=0?k=i[i[o+8>>2]+(e<<2)>>2]&64:k=0;n:{if(k){k=i[h>>2],(k|0)==i[_+520>>2]&&(i9(u,h,_+520|0),k=i[h>>2]),i[h>>2]=k+1,l[k|0]=e,w=w+1|0;break n}if(s[W+11|0]>>>7|0?k=i[W+4>>2]:k=s[W+11|0]&127,!k|!w|s[_+90|0]!=(e&255))break k;e=i[_+100>>2],(e|0)==i[_+96>>2]&&(Ei(I,_+100|0,_+96|0),e=i[_+100>>2]),i[_+100>>2]=e+4,i[e>>2]=w,w=0}E1(f);continue}break}e=i[_+100>>2],!w|(e|0)==i[I>>2]||(i[_+96>>2]==(e|0)&&(Ei(I,_+100|0,_+96|0),e=i[_+100>>2]),i[_+100>>2]=e+4,i[e>>2]=w);k:{if(i[_+24>>2]<=0)break k;n:{if(!J2(f,_+524|0)){e=i[f>>2],k=i[e+12>>2];t:{if((k|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break t}e=s[k|0]}if((e<<24>>24&255)==s[_+91|0])break n}i[n>>2]=i[n>>2]|4,f=0;break A}for(;;){if(E1(f),i[_+24>>2]<=0)break k;n:{if(!J2(f,_+524|0)){e=i[f>>2],k=i[e+12>>2];t:{if((k|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break t}e=s[k|0]}if(e=e<<24>>24,(e|0)>=0?e=i[i[o+8>>2]+(e<<2)>>2]&64:e=0,e)break n}i[n>>2]=i[n>>2]|4,f=0;break A}i[h>>2]==i[_+520>>2]&&i9(u,h,_+520|0),e=i[f>>2],k=i[e+12>>2];n:{if((k|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break n}e=s[k|0]}k=i[h>>2],i[h>>2]=k+1,l[k|0]=e<<24>>24,i[_+24>>2]=i[_+24>>2]-1}}if(e=r,i[u>>2]!=i[h>>2])break r;i[n>>2]=i[n>>2]|4,f=0;break A}f:{if(!r)break f;for(w=1;;){if(s[r+11|0]>>>7|0?e=i[r+4>>2]:e=s[r+11|0]&127,e>>>0<=w>>>0)break f;k:{if(!J2(f,_+524|0)){e=i[f>>2],A=i[e+12>>2];n:{if((A|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break n}e=s[A|0]}if(A=e<<24>>24&255,s[r+11|0]>>>7|0?e=i[r>>2]:e=r,(A|0)==s[e+w|0])break k}i[n>>2]=i[n>>2]|4,f=0;break A}E1(f),w=w+1|0}}if(f=1,i[I>>2]==i[_+100>>2])break A;if(f=0,i[_+16>>2]=0,K1(W,i[I>>2],i[_+100>>2],_+16|0),i[_+16>>2]){i[n>>2]=i[n>>2]|4;break A}f=1}z0(C),z0(v),z0(Z),z0(p),z0(W),e=i[I>>2],i[I>>2]=0,e&&V[i[I+4>>2]](e);break i}e=r}A=A+1|0}}return B=_+528|0,f}function Wk(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0;h=B-128|0,B=h;i:{r:{if(!e)break r;e:{A:{for(;;){t=s[r|0];f:{if((t|0)!=37){if(n=Z,!t)break e;l[f+n|0]=t,Z=n+1|0;break f}t=0,o=1;k:{n:{t:switch(n=s[r+1|0],n-45|0){case 1:case 2:break k;case 0:case 3:break n;default:break t}if((n|0)!=95)break k}t=n,n=s[r+2|0],o=2}I=0,R=n&255,w=(r+o|0)+((R|0)==43)|0;k:{if(l[w|0]-48>>>0<=9){r=Xi(w,h+12|0,10,-1,0),o=i[h+12>>2];break k}i[h+12>>2]=w,r=0,o=w}n=s[o|0],u=n-67|0;k:{if(u>>>0>22|!(1<<u&4194329)||(I=r,r))break k;I=(o|0)!=(w|0)}(n|0)==79|(n|0)==69?(n=s[o+1|0],r=o+1|0):r=o,w=h+16|0,D=t,t=0,p=B-80|0,B=p,_=1495,z=48,v=131112;k:{n:{t:{o:{u:{l:{s:{h:{w:{_:{v:{Z:{m:{B:{p:{W:{G:{C:{y:{Y:{V:{F:{I:{D:{U:{M:{J:{x:{E:{Q:{g:{N:{X:{H:{T:{a:{S:{R:{O:{j:{P:{L:{K:{q:{$:{b:switch(W=n<<24>>24,W-37|0){case 31:break s;case 62:break h;case 77:break w;case 0:break m;case 53:break B;case 85:break p;case 52:break W;case 84:break G;case 51:break C;case 83:break y;case 82:break V;case 49:break F;case 50:break I;case 48:break D;case 80:break U;case 47:break M;case 79:break J;case 46:break x;case 78:break E;case 45:break Q;case 75:break g;case 73:break N;case 40:break X;case 72:break H;case 69:break T;case 36:break a;case 35:break S;case 34:case 66:break R;case 33:break O;case 63:break j;case 64:break P;case 30:break L;case 29:break K;case 61:case 67:break q;case 28:break $;case 60:break b;default:break k}if(n=i[A+24>>2],n>>>0<=6)break v;break t}if(n=i[A+24>>2],n>>>0>6)break t;t=n+131079|0;break _}if(n=i[A+16>>2],n>>>0>11)break t;t=n+131086|0;break _}if(n=i[A+16>>2],n>>>0>11)break t;t=n+131098|0;break _}n=i[A+20>>2],t=n>>31,n=n+1900|0,t=n>>>0<1900?t+1|0:t,n=o2(n,t,100,0),o=w0;break l}z=95}n=i[A+12>>2],o=n>>31;break l}_=13635;break s}u=i[A+20>>2],t=u>>31,n=u+1900|0,o=n>>>0<1900?t+1|0:t,v=i[A+28>>2];R:{if((v|0)<=2){u=u+1899|0,t=u>>>0<1899?t+1|0:t,v=u,u=($A(A)|0)==1,n=u?n:v,o=u?o:t;break R}if(v>>>0<361)break R;u=u+1901|0,t=u>>>0<1901?t+1|0:t,v=u,u=($A(A)|0)==1,n=u?v:n,o=u?t:o}if((W|0)==103)break Z;break u}n=i[A+8>>2],o=n>>31;break l}if(t=2,o=i[A+8>>2],!o){n=12,o=0;break o}W=(o|0)>12,n=W?o-12|0:o,u=o>>31,o=W?u-(o>>>0<12)|0:u;break o}n=i[A+28>>2]+1|0,o=n>>31,t=3;break o}n=i[A+16>>2]+1|0,o=n>>31;break l}n=i[A+4>>2],o=n>>31;break l}i[h+124>>2]=1,t=31338;break k}t=i[A+8>>2]>11?131111:131110;break _}_=15004;break s}v=0,y=0,E=B-16|0,B=E,n=i[A+20>>2],o=n>>31,_=i[A+16>>2],_>>>0>=12&&(u=(_|0)/12|0,t=_-m(u,12)|0,_=(t|0)<0?t+12|0:t,t=u+(t>>31)|0,o=o+(t>>31)|0,u=n,n=n+t|0,o=u>>>0>n>>>0?o+1|0:o),u=E+12|0;E:{if((n>>>0<2|0)==(o|0)&n-2>>>0<=136){t=n-68>>2;Q:{g:{if(!(n&3)){if(t=t-1|0,!u)break Q;o=1;break g}if(!u)break Q;o=0}i[u>>2]=o}n=(m(n,31536e3)+m(t,86400)|0)+2087447296|0,t=n>>31;break E}t=n-100|0,W=t,n=o-(n>>>0<100)|0,J=n,n=o2(t,n,400,0),C=q0(n,w0,400,0),o=t-C|0,t=J-(w0+(t>>>0<C>>>0)|0)|0,C=n+(t>>31)|0;Q:{g:{N:{if(n=(t|0)<0?o+400|0:o,n){X:{if((n|0)>=200){if(n>>>0>=300){v=3,n=n-300|0;break X}v=2,n=n-200|0;break X}v=(n|0)>99,n=v?n-100|0:n}if(n)break N;t=0}else t=1;if(u)break g;break Q}if(y=n>>>2|0,t=!(n&3),!u)break Q}i[u>>2]=t}o=q0(W,J,31536e3,0),u=w0,W=o,n=((m(v,24)+m(C,97)|0)+y|0)-t|0,o=q0(n,n>>31,86400,0),n=W+o|0,t=w0+u|0,t=n>>>0<o>>>0?t+1|0:t,n=n+946771200|0,t=n>>>0<946771200?t+1|0:t}y=i[A+12>>2],u=i[A+8>>2],J=u>>31,W=i[A+4>>2],C=W>>31,B=E+16|0,o=i[A>>2],v=o,H=o>>31,o=i[(_<<2)+56560>>2],_=(_|0)>1&&i[E+12>>2]?o+86400|0:o,o=(_>>31)+t|0,t=n+_|0,o=t>>>0<_>>>0?o+1|0:o,n=y-1|0,_=q0(n,n>>31,86400,0),n=_+t|0,t=w0+o|0,t=n>>>0<_>>>0?t+1|0:t,o=q0(u,J,3600,0),n=o+n|0,t=w0+t|0,t=n>>>0<o>>>0?t+1|0:t,o=q0(W,C,60,0),n=o+n|0,t=w0+t|0,o=(n>>>0<o>>>0?t+1|0:t)+H|0,t=n+v|0,o=t>>>0<n>>>0?o+1|0:o,u=i[A+36>>2],n=t-u|0,o=o-((u>>31)+(t>>>0<u>>>0)|0)|0;break Y}n=i[A>>2],o=n>>31;break l}i[h+124>>2]=1,t=31340;break k}_=14945;break s}n=i[A+24>>2],n=n||7,o=n>>31;break Y}n=((i[A+28>>2]-i[A+24>>2]|0)+7>>>0)/7|0,o=0;break l}n=((i[A+28>>2]-((i[A+24>>2]+6>>>0)%7|0)|0)+7>>>0)/7|0,o=0;break l}n=$A(A),o=0;break l}n=i[A+24>>2],o=n>>31}t=1;break o}v=131113;break h}v=131114;break h}n=i[A+20>>2],t=n>>31,n=n+1900|0,t=n>>>0<1900?t+1|0:t,t=nt(n,t),n=w0,W=n,o=t,t=n>>31,u=o^t,n=u-t|0,o=(t^W)-((t>>>0>u>>>0)+t|0)|0;break l}if(n=i[A+20>>2],o=n>>31,u=n,t=o,n=n+1900|0,o=n>>>0<1900?t+1|0:t,u>>>0<8100&(t|0)<=0|(t|0)<0)break u;i[p+48>>2]=n,i[p+52>>2]=o,a=h,S=I8(w,100,11823,p+48|0),i[a+124>>2]=S,t=w;break k}if(i[A+32>>2]<0){i[h+124>>2]=0,t=31341;break k}n=i[A+36>>2],t=(n|0)/3600|0,i[p+64>>2]=m(t,100)+((n-m(t,3600)<<16>>16)/60<<16>>16),a=h,S=I8(w,100,11829,p- -64|0),i[a+124>>2]=S,t=w;break k}if(i[A+32>>2]<0){i[h+124>>2]=0,t=31341;break k}n=i[A+40>>2],l[99704]&1||(ms(99660,99664,99712,99744),i[24918]=99744,i[24917]=99712,l[99704]=1),(n|0)!=56608?t=(n|0)==i[24917]?n:(n|0)!=i[24918]?31341:n:t=56608;break n}i[h+124>>2]=1,t=18681;break k}n=nt(n,o),o=w0;break l}t=n|131072}t=S7(t,k);break n}v=131115}_=S7(v,k)}n=Wk(w,100,_,A,k),i[h+124>>2]=n,t=n?w:0;break k}t=2;break o}t=4}o:{if(u=D||z,(u|0)!=95){if((u|0)!=45)break o;i[p+16>>2]=n,i[p+20>>2]=o,a=h,S=I8(w,100,11824,p+16|0),i[a+124>>2]=S,t=w;break k}i[p+40>>2]=n,i[p+44>>2]=o,i[p+32>>2]=t,a=h,S=I8(w,100,11817,p+32|0),i[a+124>>2]=S,t=w;break k}i[p+8>>2]=n,i[p+12>>2]=o,i[p>>2]=t,a=h,S=I8(w,100,11810,p),i[a+124>>2]=S,t=w;break k}t=18137}a=h,S=G2(t),i[a+124>>2]=S}if(B=p+80|0,o=t,!t)break A;k:{if(!I){t=i[h+124>>2];break k}n:{t:{o:switch(n=s[o|0],n-43|0){case 0:case 2:break t;default:break o}t=i[h+124>>2];break n}n=s[o+1|0],o=o+1|0,t=i[h+124>>2]-1|0}n:{if((n&255)!=48)break n;for(;;){if(n=l[o+1|0],n-48>>>0>9)break n;if(o=o+1|0,t=t-1|0,(n|0)!=48)break}}for(i[h+124>>2]=t,n=0;w=n,n=n+1|0,l[o+w|0]-48>>>0<10;);n=t>>>0<I>>>0?I:t,u=f+Z|0;n:{if(i[A+20>>2]<-1900)w=45;else{if((R|0)!=43|w+(n-t|0)>>>0<(s[i[h+12>>2]]==67?3:5)>>>0)break n;w=43}l[u|0]=w,n=n-1|0,Z=Z+1|0}if(n>>>0<=t>>>0|e>>>0<=Z>>>0)break k;for(;;){if(l[f+Z|0]=48,Z=Z+1|0,n=n-1|0,n>>>0<=t>>>0)break k;if(!(e>>>0>Z>>>0))break}}n=e-Z|0,n=n>>>0>t>>>0?t:n,i[h+124>>2]=n,l0(f+Z|0,o,n),Z=i[h+124>>2]+Z|0}if(r=r+1|0,!(e>>>0>Z>>>0))break}if(!e)break r}Z=(e|0)==(Z|0)?e-1|0:Z,n=0}l[f+Z|0]=0;break i}n=0}return B=h+128|0,n}function Xk(f,e,r,A,k,n,t,o,u,h,w){var _=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0;_=B-528|0,B=_,i[_+520>>2]=w,i[_+524>>2]=e;i:{if(g2(f,_+524|0)){i[n>>2]=i[n>>2]|4,f=0;break i}i[_+72>>2]=1095,C=_+72|0,y=o1(_+104|0,_+112|0,C),e=i[y>>2],i[_+100>>2]=e,i[_+96>>2]=e+400,e=B-16|0,B=e,i[C>>2]=0,i[C+4>>2]=0,i[C+8>>2]=0,B=e+16|0,e=B-16|0,B=e,W=_+60|0,i[W>>2]=0,i[W+4>>2]=0,i[W+8>>2]=0,B=e+16|0,e=B-16|0,B=e,p=_+48|0,i[p>>2]=0,i[p+4>>2]=0,i[p+8>>2]=0,B=e+16|0,e=B-16|0,B=e,Z=_+36|0,i[Z>>2]=0,i[Z+4>>2]=0,i[Z+8>>2]=0,B=e+16|0,e=B-16|0,B=e,I=_+24|0,i[I>>2]=0,i[I+4>>2]=0,i[I+8>>2]=0,B=e+16|0,w=B-16|0,B=w,e=_;r:{if(r){v=w+4|0,A=x0(A,99944),V[i[i[A>>2]+44>>2]](v,A),r=i[w+4>>2],l[_+92|0]=r,l[_+93|0]=r>>>8,l[_+94|0]=r>>>16,l[_+95|0]=r>>>24,V[i[i[A>>2]+32>>2]](v,A),r8(Z,v),l1(v),V[i[i[A>>2]+28>>2]](v,A),r8(p,v),l1(v),J=_,R=V[i[i[A>>2]+12>>2]](A)|0,i[J+88>>2]=R,J=_,R=V[i[i[A>>2]+16>>2]](A)|0,i[J+84>>2]=R,V[i[i[A>>2]+20>>2]](v,A),q1(C,v),z0(v),V[i[i[A>>2]+24>>2]](v,A),r8(W,v),l1(v),r=V[i[i[A>>2]+36>>2]](A)|0;break r}v=w+4|0,A=x0(A,99936),V[i[i[A>>2]+44>>2]](v,A),r=i[w+4>>2],l[_+92|0]=r,l[_+93|0]=r>>>8,l[_+94|0]=r>>>16,l[_+95|0]=r>>>24,V[i[i[A>>2]+32>>2]](v,A),r8(Z,v),l1(v),V[i[i[A>>2]+28>>2]](v,A),r8(p,v),l1(v),J=_,R=V[i[i[A>>2]+12>>2]](A)|0,i[J+88>>2]=R,J=_,R=V[i[i[A>>2]+16>>2]](A)|0,i[J+84>>2]=R,V[i[i[A>>2]+20>>2]](v,A),q1(C,v),z0(v),V[i[i[A>>2]+24>>2]](v,A),r8(W,v),l1(v),r=V[i[i[A>>2]+36>>2]](A)|0}for(i[e+20>>2]=r,B=w+16|0,i[h>>2]=i[u>>2],E=k&512,A=0,e=0;;){r=e;r:{e:{A:{f:{if((A|0)==4||g2(f,_+524|0))break f;w=0;k:{n:{t:{o:{u:switch(s[(_+92|0)+A|0]){case 1:if((A|0)==3)break e;k=i[f>>2],e=i[k+12>>2];l:{if((e|0)==i[k+16>>2]){e=V[i[i[k>>2]+36>>2]](k)|0;break l}e=i[e>>2]}if(V[i[i[o>>2]+12>>2]](o,1,e)|0){ro(_+12|0,f),KA(I,i[_+12>>2]);break o}i[n>>2]=i[n>>2]|4,f=0;break A;case 4:break k;case 2:break n;case 3:break t;case 0:break u;default:break r}if((A|0)==3)break e}for(;;){if(g2(f,_+524|0))break e;k=i[f>>2],e=i[k+12>>2];o:{if((e|0)==i[k+16>>2]){e=V[i[i[k>>2]+36>>2]](k)|0;break o}e=i[e>>2]}if(!(V[i[i[o>>2]+12>>2]](o,1,e)|0))break e;ro(_+12|0,f),KA(I,i[_+12>>2])}}t:{if(s[p+11|0]>>>7|0?e=i[p+4>>2]:e=s[p+11|0]&127,!e)break t;k=i[f>>2],e=i[k+12>>2];o:{if((e|0)==i[k+16>>2]){e=V[i[i[k>>2]+36>>2]](k)|0;break o}e=i[e>>2]}if(s[p+11|0]>>>7|0?k=i[p>>2]:k=p,(e|0)!=i[k>>2])break t;Y1(f),l[t|0]=0,s[p+11|0]>>>7|0?e=i[p+4>>2]:e=s[p+11|0]&127,e=e>>>0>1?p:r;break r}t:{if(s[Z+11|0]>>>7|0?e=i[Z+4>>2]:e=s[Z+11|0]&127,!e)break t;k=i[f>>2],e=i[k+12>>2];o:{if((e|0)==i[k+16>>2]){e=V[i[i[k>>2]+36>>2]](k)|0;break o}e=i[e>>2]}if(s[Z+11|0]>>>7|0?k=i[Z>>2]:k=Z,(e|0)!=i[k>>2])break t;Y1(f),l[t|0]=1,s[Z+11|0]>>>7|0?e=i[Z+4>>2]:e=s[Z+11|0]&127,e=e>>>0>1?Z:r;break r}if(s[p+11|0]>>>7|0?e=i[p+4>>2]:e=s[p+11|0]&127,e=!e,s[Z+11|0]>>>7|0?k=i[Z+4>>2]:k=s[Z+11|0]&127,!(e|!k)){i[n>>2]=i[n>>2]|4,f=0;break A}if(s[p+11|0]>>>7|0?e=i[p+4>>2]:e=s[p+11|0]&127,!e&&(s[Z+11|0]>>>7|0?e=i[Z+4>>2]:e=s[Z+11|0]&127,!e))break e;s[Z+11|0]>>>7|0?e=i[Z+4>>2]:e=s[Z+11|0]&127,l[t|0]=!e;break e}if(!(E|(r|A>>>0<2))&&(e=0,!((A|0)==2&s[_+95|0]!=0)))break r;J=_,R=C4(W),i[J+8>>2]=R,i[_+12>>2]=i[_+8>>2];n:{if(!A|s[(A+_|0)+91|0]>1)break n;for(;;){t:{if(J=_,R=a8(W),i[J+8>>2]=R,e=i[_+12>>2],(e|0)==i[_+8>>2]||!(V[i[i[o>>2]+12>>2]](o,1,i[e>>2])|0))break t;i[_+12>>2]=i[_+12>>2]+4;continue}break}if(J=_,R=C4(W),i[J+8>>2]=R,s[I+11|0]>>>7|0?w=i[I+4>>2]:w=s[I+11|0]&127,k=_+8|0,e=i[_+12>>2]-i[k>>2]>>2,w>>>0>=e>>>0&&(J=_,R=a8(I),i[J+8>>2]=R,v=J3(k,0-e|0),e=a8(I),w=C4(W),k=B-16|0,B=k,v=O8(v),e=O8(e),e=K2(v,O8(w),e-v&-4),B=k+16|0,!e))break n;J=_,R=C4(W),i[J+4>>2]=R,i[_+8>>2]=i[_+4>>2],i[_+12>>2]=i[_+8>>2]}for(i[_+8>>2]=i[_+12>>2];;){n:{if(J=_,R=a8(W),i[J+4>>2]=R,i[_+8>>2]==i[_+4>>2]||g2(f,_+524|0))break n;k=i[f>>2],e=i[k+12>>2];t:{if((e|0)==i[k+16>>2]){e=V[i[i[k>>2]+36>>2]](k)|0;break t}e=i[e>>2]}if((e|0)!=i[i[_+8>>2]>>2])break n;Y1(f),i[_+8>>2]=i[_+8>>2]+4;continue}break}if(!E||(J=_,R=a8(W),i[J+4>>2]=R,i[_+8>>2]==i[_+4>>2]))break e;i[n>>2]=i[n>>2]|4,f=0;break A}for(;;){k:{if(g2(f,_+524|0))break k;k=i[f>>2],e=i[k+12>>2];n:{if((e|0)==i[k+16>>2]){e=V[i[i[k>>2]+36>>2]](k)|0;break n}e=i[e>>2]}n:{if(V[i[i[o>>2]+12>>2]](o,64,e)|0){k=i[h>>2],(k|0)==i[_+520>>2]&&(Ei(u,h,_+520|0),k=i[h>>2]),i[h>>2]=k+4,i[k>>2]=e,w=w+1|0;break n}if(s[C+11|0]>>>7|0?k=i[C+4>>2]:k=s[C+11|0]&127,!k|!w|(e|0)!=i[_+84>>2])break k;e=i[_+100>>2],(e|0)==i[_+96>>2]&&(Ei(y,_+100|0,_+96|0),e=i[_+100>>2]),i[_+100>>2]=e+4,i[e>>2]=w,w=0}Y1(f);continue}break}e=i[_+100>>2],!w|(e|0)==i[y>>2]||(i[_+96>>2]==(e|0)&&(Ei(y,_+100|0,_+96|0),e=i[_+100>>2]),i[_+100>>2]=e+4,i[e>>2]=w);k:{if(i[_+20>>2]<=0)break k;n:{if(!g2(f,_+524|0)){k=i[f>>2],e=i[k+12>>2];t:{if((e|0)==i[k+16>>2]){e=V[i[i[k>>2]+36>>2]](k)|0;break t}e=i[e>>2]}if((e|0)==i[_+88>>2])break n}i[n>>2]=i[n>>2]|4,f=0;break A}for(;;){if(Y1(f),i[_+20>>2]<=0)break k;n:{if(!g2(f,_+524|0)){k=i[f>>2],e=i[k+12>>2];t:{if((e|0)==i[k+16>>2]){e=V[i[i[k>>2]+36>>2]](k)|0;break t}e=i[e>>2]}if(V[i[i[o>>2]+12>>2]](o,64,e)|0)break n}i[n>>2]=i[n>>2]|4,f=0;break A}i[h>>2]==i[_+520>>2]&&Ei(u,h,_+520|0),k=i[f>>2],e=i[k+12>>2];n:{if((e|0)==i[k+16>>2]){k=V[i[i[k>>2]+36>>2]](k)|0;break n}k=i[e>>2]}e=i[h>>2],i[h>>2]=e+4,i[e>>2]=k,i[_+20>>2]=i[_+20>>2]-1}}if(e=r,i[u>>2]!=i[h>>2])break r;i[n>>2]=i[n>>2]|4,f=0;break A}f:{if(!r)break f;for(w=1;;){if(s[r+11|0]>>>7|0?e=i[r+4>>2]:e=s[r+11|0]&127,e>>>0<=w>>>0)break f;k:{if(!g2(f,_+524|0)){A=i[f>>2],e=i[A+12>>2];n:{if((e|0)==i[A+16>>2]){e=V[i[i[A>>2]+36>>2]](A)|0;break n}e=i[e>>2]}if(s[r+11|0]>>>7|0?A=i[r>>2]:A=r,(e|0)==i[A+(w<<2)>>2])break k}i[n>>2]=i[n>>2]|4,f=0;break A}Y1(f),w=w+1|0}}if(f=1,i[y>>2]==i[_+100>>2])break A;if(f=0,i[_+12>>2]=0,K1(C,i[y>>2],i[_+100>>2],_+12|0),i[_+12>>2]){i[n>>2]=i[n>>2]|4;break A}f=1}l1(I),l1(Z),l1(p),l1(W),z0(C),e=i[y>>2],i[y>>2]=0,e&&V[i[y+4>>2]](e);break i}e=r}A=A+1|0}}return B=_+528|0,f}function xs(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0;A=B-224|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+56|0]=0,l[A+67|0]=0,r0(A+200|0,2,100,A+56|0),l[A+67|0]>=0)break i;G(i[A+56>>2]);break i}if(k=i[19565],i[A+200>>2]=i[19564],i[A+204>>2]=k,n=A+208|0,l[78275]>=0){k=i[19567],i[n>>2]=i[19566],i[n+4>>2]=k,i[n+8>>2]=i[19568];break i}_0(n,i[19566],i[19567])}l[A+219|0]<0&&G(i[A+208>>2]),C=s[e+48|0];i:{if(C>>>0>=3){h4(f,e,13698);break i}n=t2(r);r:{e:{A:{if((C|0)!=2){I=t2(r);break A}I=D0(r)}if(I>>>0<=2e4){if(!I)break r;E=n&15,H=(E|0)!=0&(C-1&255)>>>0<2,a=e+56|0,J=i[13631],S=J-12|0,q=i[13632]-12|0,d=i[13635]-12|0,R=i[13633],A0=R-12|0,f0=i[13640],n0=i[13639],h0=i[13637],j=i[13636],L=i[13634],D=A+68|0,p=A- -64|0,p0=A+120|0,w=A+24|6,X0=(n>>>4&15)-4|0,G0=(n>>>12|0)-4|0,I0=(n>>>8&15)-4|0;break e}i[A+64>>2]=54496,i[A+120>>2]=54516,e=i[13633],i[A+56>>2]=e,n=A+56|0,i[n+i[e-12>>2]>>2]=i[13634],i[A+60>>2]=0,e=n+i[i[A+56>>2]-12>>2]|0,k=A+68|0,b0(e,k),i[e+72>>2]=0,i[e+76>>2]=-1,e=i[13635],i[A+64>>2]=e,r=A- -64|0,i[r+i[e-12>>2]>>2]=i[13636],e=i[13632],i[A+56>>2]=e,i[n+i[e-12>>2]>>2]=i[13637],i[A+120>>2]=54516,i[A+56>>2]=54476,i[A+64>>2]=54496,k=$0(k),i[k>>2]=53552,i[A+108>>2]=0,i[A+112>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+116>>2]=24,x(H0(x(L0(x(r,18738,18),I),19006,44),2e4),17597,7),e=A+24|0,i2(e,k),r0(f,6,1e3,e),l[A+35|0]<0&&G(i[A+24>>2]),f=i[13631],i[A+56>>2]=f,i[i[f-12>>2]+(A+56|0)>>2]=i[13639],i[A+64>>2]=i[13640],i[k>>2]=53552,l[A+111|0]<0&&G(i[A+100>>2]),K0(k),T0(A+120|0);break i}for(;;){l[A+28|0]=0,i[A+24>>2]=0,X[w+14>>1]=0,X[w+16>>1]=0,X[w+18>>1]=0,X[w+20>>1]=0,X[w+8>>1]=0,X[w+10>>1]=0,X[w+12>>1]=0,X[w+14>>1]=0,X[w>>1]=0,X[w+2>>1]=0,X[w+4>>1]=0,X[w+6>>1]=0;e:{A:{if((C|0)==2){Q0=A,F0=D0(r),i[Q0+24>>2]=F0;break A}if(Q0=A,F0=t2(r),i[Q0+24>>2]=F0,!C)break e}Q0=A,F0=t2(r)&15,l[Q0+28|0]=F0}k=t2(r),i[A+32>>2]=0,i[A+36>>2]=0,X[A+30>>1]=k,n=A;e:{A:{f:switch(X0|0){case 0:k=D0(r),t=0;break A;case 4:break f;default:break e}k=D0(r),i[A+32>>2]=0,i[A+36>>2]=k,k=D0(r)|i[A+32>>2],t=i[A+36>>2]}i[n+32>>2]=k,i[n+36>>2]=t}e:{A:{f:{if(y=t2(r),y>>>0<=32){if(W=0,y)break f;break A}i[A+56>>2]=R,i[A+64>>2]=54496,i[A+120>>2]=54516,n=A+56|0,i[n+i[A0>>2]>>2]=L,i[A+60>>2]=0,k=n+i[i[A+56>>2]-12>>2]|0,b0(k,D),i[k+72>>2]=0,i[k+76>>2]=-1,i[i[d>>2]+p>>2]=j,i[n+i[q>>2]>>2]=h0,i[A+120>>2]=54516,i[A+56>>2]=54476,i[A+64>>2]=54496,n=$0(D),i[n>>2]=53552,i[A+108>>2]=0,i[A+112>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+116>>2]=24,x(H0(x(H0(x(p,18533,31),y),18565,26),32),31337,2),k=A+12|0,i2(k,n),r0(f,6,1e3,k),l[A+23|0]<0&&G(i[A+12>>2]),i[A+56>>2]=J,i[i[S>>2]+(A+56|0)>>2]=n0,i[A+64>>2]=f0,i[n>>2]=53552,l[A+111|0]<0&&G(i[A+100>>2]),K0(n),T0(p0);break e}for(;;){i[A+88>>2]=0,i[A+80>>2]=0,i[A+84>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[p>>2]=0,i[p+4>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0;f:{if(!H)break f;k:switch(E-4|0){case 0:Q0=A,F0=D0(r),i[Q0+56>>2]=F0,i[A+60>>2]=0;break f;case 4:break k;default:break f}k=D0(r),i[A+56>>2]=0,i[A+60>>2]=k,t=D0(r),k=i[A+60>>2],i[A+56>>2]=i[A+56>>2]|t,i[A+60>>2]=k}i[A+64>>2]=0,i[A+68>>2]=0,n=A;f:{k:{n:switch(G0|0){case 0:k=D0(r),t=0;break k;case 4:break n;default:break f}k=D0(r),i[A+64>>2]=0,i[A+68>>2]=k,k=D0(r)|i[A+64>>2],t=i[A+68>>2]}i[n+64>>2]=k,i[n+68>>2]=t}i[A+72>>2]=0,i[A+76>>2]=0;f:{k:{n:switch(I0|0){case 0:k=D0(r),t=0;break k;case 4:break n;default:break f}k=D0(r),i[A+72>>2]=0,i[A+76>>2]=k,k=D0(r)|i[A+72>>2],t=i[A+76>>2]}i[n+72>>2]=k,i[n+76>>2]=t}f:{k=i[A+44>>2];k:{if(k>>>0<k0[A+48>>2]){if(n=i[A+60>>2],i[k>>2]=i[A+56>>2],i[k+4>>2]=n,n=i[A+76>>2],i[k+16>>2]=i[A+72>>2],i[k+20>>2]=n,n=i[p+4>>2],i[k+8>>2]=i[p>>2],i[k+12>>2]=n,i[k+32>>2]=0,i[k+24>>2]=0,i[k+28>>2]=0,n=i[A+84>>2],t=i[A+80>>2],(n|0)!=(t|0)){if(u=n-t|0,(u|0)<0)break f;o=U(u),i[k+28>>2]=o,i[k+24>>2]=o,n=o+u|0,i[k+32>>2]=n,l0(o,t,u),i[k+28>>2]=n}k=k+40|0;break k}k=0;n:{t:{o:{if(u=i[A+44>>2],_=i[A+40>>2],o=(u-_|0)/40|0,h=o+1|0,h>>>0<107374183){if(t=(i[A+48>>2]-_|0)/40|0,n=t<<1,v=t>>>0>=53687091?107374182:n>>>0>h>>>0?n:h,v){if(v>>>0>=107374183)break o;k=U(m(v,40))}if(t=i[A+60>>2],n=m(o,40)+k|0,i[n>>2]=i[A+56>>2],i[n+4>>2]=t,Z=i[A+64>>2],h=i[A+68>>2],o=i[A+72>>2],t=i[A+76>>2],i[n+32>>2]=0,i[n+24>>2]=0,i[n+28>>2]=0,i[n+16>>2]=o,i[n+20>>2]=t,i[n+8>>2]=Z,i[n+12>>2]=h,t=i[A+84>>2],h=i[A+80>>2],(t|0)!=(h|0)){if(Z=t-h|0,(Z|0)<0)break t;o=U(Z),i[n+24>>2]=o,t=o+Z|0,i[n+32>>2]=t,l0(o,h,Z),i[n+28>>2]=t}Z=m(v,40)+k|0,t=n+40|0;u:{if((u|0)==(_|0)){k=n;break u}for(;o=u-40|0,h=i[o+4>>2],k=n-40|0,i[k>>2]=i[o>>2],i[k+4>>2]=h,h=i[o+20>>2],i[k+16>>2]=i[o+16>>2],i[k+20>>2]=h,h=i[o+12>>2],i[k+8>>2]=i[o+8>>2],i[k+12>>2]=h,h=n-8|0,i[h>>2]=0,v=u-16|0,i[n-16>>2]=i[v>>2],i[n-12>>2]=i[u-12>>2],n=u-8|0,i[h>>2]=i[n>>2],i[n>>2]=0,i[v>>2]=0,i[v+4>>2]=0,n=k,u=o,(o|0)!=(_|0););u=i[A+44>>2],_=i[A+40>>2]}if(i[A+48>>2]=Z,i[A+44>>2]=t,i[A+40>>2]=k,(u|0)!=(_|0))for(;k=i[u-16>>2],k&&(i[u-12>>2]=k,G(k)),u=u-40|0,(_|0)!=(u|0););_&&G(_),k=t;break n}y0(),P()}_2(),P()}y0(),P()}}if(i[A+44>>2]=k,k=i[A+80>>2],k&&(i[A+84>>2]=k,G(k)),W=W+1|0,(y|0)==(W|0))break A;continue}break}y0(),P()}if(s[r+20|0])break e;k=i[e+60>>2];A:{if(k>>>0<k0[e+64>>2]){n=i[A+28>>2],i[k>>2]=i[A+24>>2],i[k+4>>2]=n,n=i[A+36>>2],i[k+8>>2]=i[A+32>>2],i[k+12>>2]=n,i[k+24>>2]=0,i[k+16>>2]=0,i[k+20>>2]=0,t=i[A+40>>2],n=i[A+44>>2],br(k+16|0,t,n,(n-t|0)/40|0),n=k+32|0;break A}n=vn(a,A+24|0)}i[e+60>>2]=n}if(n=i[A+40>>2],n){if(W=n,k=i[A+44>>2],(n|0)!=(k|0)){for(;t=i[k-16>>2],t&&(i[k-12>>2]=t,G(t)),k=k-40|0,(n|0)!=(k|0););W=i[A+40>>2]}i[A+44>>2]=n,G(W)}if(y>>>0>=33)break i;if(z=z+1|0,(z|0)==(I|0))break}}if(s[r+20|0]==1){if(l[A+56|0]=0,l[A+67|0]=0,r0(f,2,100,A+56|0),l[A+67|0]>=0)break i;G(i[A+56>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,e=f+8|0,l[78275]>=0){f=i[19567],i[e>>2]=i[19566],i[e+4>>2]=f,i[e+8>>2]=i[19568];break i}_0(e,i[19566],i[19567])}B=A+224|0}function zs(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0;o=B-16|0,B=o,n=i[k>>2],t=n+i[r>>2]|0;i:{if(i[r+4>>2]-t>>>0<=(A|0)/8<<2>>>0){if(e=U(56),i[o+4>>2]=e,i[o+8>>2]=50,i[o+12>>2]=-2147483592,r=s[6770]|s[6771]<<8|(s[6772]<<16|s[6773]<<24),A=s[6766]|s[6767]<<8|(s[6768]<<16|s[6769]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+50|0]=0,r=s[6814]|s[6815]<<8,l[e+48|0]=r,l[e+49|0]=r>>>8,r=s[6810]|s[6811]<<8|(s[6812]<<16|s[6813]<<24),A=s[6806]|s[6807]<<8|(s[6808]<<16|s[6809]<<24),l[e+40|0]=A,l[e+41|0]=A>>>8,l[e+42|0]=A>>>16,l[e+43|0]=A>>>24,l[e+44|0]=r,l[e+45|0]=r>>>8,l[e+46|0]=r>>>16,l[e+47|0]=r>>>24,r=s[6802]|s[6803]<<8|(s[6804]<<16|s[6805]<<24),A=s[6798]|s[6799]<<8|(s[6800]<<16|s[6801]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[6794]|s[6795]<<8|(s[6796]<<16|s[6797]<<24),A=s[6790]|s[6791]<<8|(s[6792]<<16|s[6793]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[6786]|s[6787]<<8|(s[6788]<<16|s[6789]<<24),A=s[6782]|s[6783]<<8|(s[6784]<<16|s[6785]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[6778]|s[6779]<<8|(s[6780]<<16|s[6781]<<24),A=s[6774]|s[6775]<<8|(s[6776]<<16|s[6777]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,136,o+4|0),l[o+15|0]>=0)break i;G(i[o+4>>2]);break i}u=s[t|0],h=s[t+1|0];r:{if((A|0)==32){n=n+4|0,t=s[t+3|0]|(h<<16|u<<24|s[t+2|0]<<8);break r}n=n+2|0,t=(h<<16|u<<24)>>16}i[k>>2]=n,i[e+4>>2]=t,n=i[k>>2],t=n+i[r>>2]|0,u=s[t|0],h=s[t+1|0];r:{if((A|0)==32){n=n+4|0,t=s[t+3|0]|(h<<16|u<<24|s[t+2|0]<<8);break r}n=n+2|0,t=(h<<16|u<<24)>>16}i[k>>2]=n,i[e+8>>2]=t,t=i[r>>2],w=i[k>>2],n=t+w|0,u=s[n|0],h=s[n+1|0];r:{if((A|0)==32){n=s[n+3|0]|(h<<16|u<<24|s[n+2|0]<<8),u=4;break r}n=h|u<<8,u=2}i[k>>2]=u+w,i[e+12>>2]=n,w=i[k>>2],n=w+t|0,u=s[n|0],h=s[n+1|0];r:{if((A|0)==32){A=s[n+3|0]|(h<<16|u<<24|s[n+2|0]<<8),n=4;break r}A=h|u<<8,n=2}if(i[k>>2]=n+w,i[e+16>>2]=A,A=i[k>>2],n=s[A+t|0],i[k>>2]=A+1,n){if(e=U(56),i[o+4>>2]=e,i[o+8>>2]=51,i[o+12>>2]=-2147483592,r=s[12359]|s[12360]<<8|(s[12361]<<16|s[12362]<<24),A=s[12355]|s[12356]<<8|(s[12357]<<16|s[12358]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+51|0]=0,r=s[12402]|s[12403]<<8|(s[12404]<<16|s[12405]<<24),l[e+47|0]=r,l[e+48|0]=r>>>8,l[e+49|0]=r>>>16,l[e+50|0]=r>>>24,r=s[12399]|s[12400]<<8|(s[12401]<<16|s[12402]<<24),A=s[12395]|s[12396]<<8|(s[12397]<<16|s[12398]<<24),l[e+40|0]=A,l[e+41|0]=A>>>8,l[e+42|0]=A>>>16,l[e+43|0]=A>>>24,l[e+44|0]=r,l[e+45|0]=r>>>8,l[e+46|0]=r>>>16,l[e+47|0]=r>>>24,r=s[12391]|s[12392]<<8|(s[12393]<<16|s[12394]<<24),A=s[12387]|s[12388]<<8|(s[12389]<<16|s[12390]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[12383]|s[12384]<<8|(s[12385]<<16|s[12386]<<24),A=s[12379]|s[12380]<<8|(s[12381]<<16|s[12382]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[12375]|s[12376]<<8|(s[12377]<<16|s[12378]<<24),A=s[12371]|s[12372]<<8|(s[12373]<<16|s[12374]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[12367]|s[12368]<<8|(s[12369]<<16|s[12370]<<24),A=s[12363]|s[12364]<<8|(s[12365]<<16|s[12366]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,136,o+4|0),l[o+15|0]>=0)break i;G(i[o+4>>2]);break i}if(t=i[r+4>>2]+((A^-1)-t|0)|0,u=m(i[e+16>>2],i[e+12>>2]),A=u>>>3|0,t>>>0<A>>>0){if(e=U(64),i[o+4>>2]=e,i[o+8>>2]=57,i[o+12>>2]=-2147483584,r=s[14723]|s[14724]<<8|(s[14725]<<16|s[14726]<<24),A=s[14719]|s[14720]<<8|(s[14721]<<16|s[14722]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+57|0]=0,l[e+56|0]=s[14775],r=s[14771]|s[14772]<<8|(s[14773]<<16|s[14774]<<24),A=s[14767]|s[14768]<<8|(s[14769]<<16|s[14770]<<24),l[e+48|0]=A,l[e+49|0]=A>>>8,l[e+50|0]=A>>>16,l[e+51|0]=A>>>24,l[e+52|0]=r,l[e+53|0]=r>>>8,l[e+54|0]=r>>>16,l[e+55|0]=r>>>24,r=s[14763]|s[14764]<<8|(s[14765]<<16|s[14766]<<24),A=s[14759]|s[14760]<<8|(s[14761]<<16|s[14762]<<24),l[e+40|0]=A,l[e+41|0]=A>>>8,l[e+42|0]=A>>>16,l[e+43|0]=A>>>24,l[e+44|0]=r,l[e+45|0]=r>>>8,l[e+46|0]=r>>>16,l[e+47|0]=r>>>24,r=s[14755]|s[14756]<<8|(s[14757]<<16|s[14758]<<24),A=s[14751]|s[14752]<<8|(s[14753]<<16|s[14754]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[14747]|s[14748]<<8|(s[14749]<<16|s[14750]<<24),A=s[14743]|s[14744]<<8|(s[14745]<<16|s[14746]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[14739]|s[14740]<<8|(s[14741]<<16|s[14742]<<24),A=s[14735]|s[14736]<<8|(s[14737]<<16|s[14738]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[14731]|s[14732]<<8|(s[14733]<<16|s[14734]<<24),A=s[14727]|s[14728]<<8|(s[14729]<<16|s[14730]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,136,o+4|0),l[o+15|0]>=0)break i;G(i[o+4>>2]);break i}t=e+20|0,h=i[e+20>>2],n=i[e+24>>2]-h|0;r:{if(n>>>0<A>>>0){L2(t,A-n|0);break r}if(A>>>0>=n>>>0)break r;i[e+24>>2]=A+h}if(u>>>0>=8&&F2(i[t>>2],i[r>>2]+i[k>>2]|0,A),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=o+16|0}function ZA(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=0,r2=0,n2=0,s2=0,W2=0,y2=0,x2=0,T2=0,O2=0,q2=0,b2=0,e1=0,A1=0,h1=0,B1=0,p1=0,W1=0,X1=0,N1=0,r4=0,e4=0;n=B+-64|0,B=n;i:{r:{u=i[f+276>>2],y2=(A|0)>(u|0)?u:A;e:{if((y2|0)<=(r|0)||(n2=i[f+272>>2],x2=(k|0)>(n2|0)?n2:k,(x2|0)<=0))break e;for(A1=e?1:2,h1=e?2:1,y=i[f+40>>2],T2=y<<1,O2=i[f+124>>2],A=i[O2+16832>>2],q2=A-8|0,D=-1<<A^-1,B1=e?4:3,p0=m(y,-6),X0=m(y,6),Q0=y<<2,s2=0-Q0|0,p1=y<<(e^1)<<3,W1=m(r,y)<<3,X1=i[f+260>>2],G0=0-y<<1,S=y<<1,S0=0-S<<1;;){for(F0=r<<2,b2=F0-1|0,N1=m(y,F0),r4=m(e1,p1)+W1|0,e4=m(F0>>2,n2)+X1|0,W2=0,c0=0;;){v=c0<<2,f0=s[(v>>2)+e4|0]&3;A:{if(!f0)break A;A=i[f+4>>2],u=A+(v+N1<<1)|0;f:{if(!e){X[n+32>>1]=Q[u>>1],X[n>>1]=Q[u+G0>>1],X[n+34>>1]=Q[u+S>>1],X[n+2>>1]=Q[u+S0>>1],t=S<<1,X[n+36>>1]=Q[t+u>>1],C=Q[u+p0>>1],X[n+4>>1]=C,X[n+38>>1]=Q[u+X0>>1],o=s2<<1,I=Q[o+u>>1],X[n+6>>1]=I,A=u+2|0,X[n+40>>1]=Q[A>>1],X[n+8>>1]=Q[A+G0>>1],X[n+42>>1]=Q[A+S>>1],X[n+10>>1]=Q[A+S0>>1],X[n+44>>1]=Q[A+t>>1],X[n+12>>1]=Q[A+p0>>1],X[n+46>>1]=Q[A+X0>>1],X[n+14>>1]=Q[A+o>>1],A=u+4|0,X[n+48>>1]=Q[A>>1],X[n+16>>1]=Q[A+G0>>1],X[n+50>>1]=Q[A+S>>1],X[n+18>>1]=Q[A+S0>>1],X[n+52>>1]=Q[A+t>>1],X[n+20>>1]=Q[A+p0>>1],X[n+54>>1]=Q[A+X0>>1],X[n+22>>1]=Q[A+o>>1],k=u+6|0,X[n+56>>1]=Q[k>>1],A=Q[k+G0>>1],X[n+24>>1]=A,X[n+58>>1]=Q[k+S>>1],_=Q[k+S0>>1],X[n+26>>1]=_,X[n+60>>1]=Q[k+t>>1],w=Q[k+p0>>1],X[n+28>>1]=w,X[n+62>>1]=Q[k+X0>>1],k=k+o|0;break f}A=A+((W2<<B1)+r4|0)|0,k=Q[A+4>>1]|Q[A+6>>1]<<16,i[n+32>>2]=Q[A>>1]|Q[A+2>>1]<<16,i[n+36>>2]=k,X[n>>1]=Q[u-2>>1],X[n+2>>1]=Q[u-4>>1],C=Q[u-6>>1],X[n+4>>1]=C,I=Q[u-8>>1],X[n+6>>1]=I,k=A+T2|0,t=Q[k+4>>1]|Q[k+6>>1]<<16,i[n+40>>2]=Q[k>>1]|Q[k+2>>1]<<16,i[n+44>>2]=t,k=u+S|0,X[n+8>>1]=Q[k-2>>1],X[n+10>>1]=Q[k-4>>1],X[n+12>>1]=Q[k-6>>1],X[n+14>>1]=Q[k-8>>1],k=A+Q0|0,t=Q[k+4>>1]|Q[k+6>>1]<<16,i[n+48>>2]=Q[k>>1]|Q[k+2>>1]<<16,i[n+52>>2]=t,k=u+Q0|0,X[n+16>>1]=Q[k-2>>1],X[n+18>>1]=Q[k-4>>1],X[n+20>>1]=Q[k-6>>1],X[n+22>>1]=Q[k-8>>1],A=A+X0|0,k=Q[A+4>>1]|Q[A+6>>1]<<16,i[n+56>>2]=Q[A>>1]|Q[A+2>>1]<<16,i[n+60>>2]=k,k=u+X0|0,A=Q[k-2>>1],X[n+24>>1]=A,_=Q[k-4>>1],X[n+26>>1]=_,w=Q[k-6>>1],X[n+28>>1]=w,k=k-8|0}if(r2=Q[k>>1],X[n+30>>1]=r2,E=i[f+168>>2],k=v>>E,(k|0)<0||(Z=i[f+172>>2],(Z|0)<=(k|0)))break i;if(t=F0>>E,(t|0)<0||(z=i[f+176>>2],(z|0)<=(t|0)))break r;J=i[f+160>>2],H=J+m(k,3)|0,h=m(m(t,Z),3),q=H+h|0,I0=l[q+2|0];f:{if(!e){if(k=b2>>E,(k|0)<0|(k|0)>=(z|0))break r;k=(H+m(m(k,Z),3)|0)+2|0;break f}if(k=v-1>>E,(k|0)<0|k>>>0>=Z>>>0)break i;k=(h+(J+m(k,3)|0)|0)+2|0}if(o=i[f+148>>2],t=v>>o,(t|0)<0||(n0=i[f+152>>2],(n0|0)<=(t|0)))break i;if(o=F0>>o,(o|0)<0|(o|0)>=i[f+156>>2])break r;if(R=Q[n+56>>1],h0=R+(Q[n+60>>1]-(Q[n+58>>1]<<1)|0)|0,p=h0>>31,j=((w&65535)-(_<<1)|0)+A|0,_=j>>31,w=Q[n+32>>1],L=w+(Q[n+36>>1]-(Q[n+34>>1]<<1)|0)|0,d=L>>31,A0=Q[n>>1],W=A0+(C-(Q[n+2>>1]<<1)|0)|0,C=W>>31,p=(p^h0)-p|0,h0=(_^j)-_|0,j=p+h0|0,d=(d^L)-d|0,L=(C^W)-C|0,W=d+L|0,k=(I0+l[k|0]|0)+1>>1,o=i[i[f+52>>2]+(Q[((i[f+140>>2]+m(t,24)|0)+m(m(o,n0),24)|0)+2>>1]<<2)>>2],t=k+i[o+764>>2]|0,t=(t|0)>=51?51:t,_=s[((t|0)>0?t:0)+42960|0]<<q2,(j+W|0)>=(_|0))break A;t=A,A=(i[o+768>>2]+(k+(f0<<1)|0)|0)-2|0,A=(A|0)>=53?53:A,C=s[((A|0)>0?A:0)+43024|0]<<q2,A=0,f0=_>>>2|0,k=0;f:{if(f0>>>0<=W<<1>>>0||(I0=w-Q[n+38>>1]|0,o=I0>>31,n0=I-A0|0,I=n0>>31,k=0,(o^I0)-o+((I^n0)-I)>>>0>=_>>>3>>>0))break f;o=A0-w|0,k=o>>31,k=((k^o)-k|0)<m(C,5)+1>>1}o=k;f:{if(f0>>>0<=j<<1>>>0||(I=R-Q[n+62>>1]|0,k=I>>31,A0=r2-t|0,w=A0>>31,(k^I)-k+((w^A0)-w)>>>0>=_>>>3>>>0))break f;k=t-R|0,A=k>>31,A=((A^k)-A|0)<m(C,5)+1>>1}w=s[O2+8812|0];f:{if(!e){if(t=b2>>E,w){if((t|0)<0|(t|0)>=(z|0))break r;k=!(s[(H+m(m(t,Z),3)|0)+1|0]&4)}else k=1;if((t|0)<0|(t|0)>=(z|0))break r;t=H+m(m(t,Z),3)|0;break f}if(t=v-1>>E,w){if((t|0)<0|t>>>0>=Z>>>0)break i;k=!(s[(h+(J+m(t,3)|0)|0)+1|0]&4)}else k=1;if((t|0)<0|t>>>0>=Z>>>0)break i;t=h+(J+m(t,3)|0)|0}for(A0=A&o,z=!(s[t+1|0]&8)&k,A=_+(_>>>1|0)>>>3|0,f0=z&A>>>0>h0+L>>>0,k=A>>>0>p+d>>>0,A=s[q|0]|s[q+1|0]<<8,_=!(A&2048)&(!w|!(A&1024)),r2=k&_,t=C<<1,A=0,d=0-C|0,I0=m(C,10),n0=u+2|0,h0=u-4|0,j=u-2|0,I=C>>1,q=0-I|0,L=u+S|0;;){Z=A<<3,k=Z+n|0,o=Q[k+2>>1],h=Z+(n+32|0)|0,J=Q[h+4>>1],Z=Q[h+2>>1],v=Q[h>>1],H=Q[k+4>>1],E=Q[k>>1];f:{if(!A0){if(k=(m(v-E|0,9)+m(Z-o|0,-3)|0)+8>>4,h=k>>31,(I0|0)<=((k^h)-h|0))break f;h=(k|0)<(d|0)?d:(k|0)<(C|0)?k:C;k:{n:{if(!e){if(z&&(k=h+E|0,X[u+(A-y<<1)>>1]=(k|0)>=0?(k|0)<(D|0)?k:D:0),!_)break k;k=v-h|0,w=(k|0)>=0?(k|0)<(D|0)?k:D:0,k=A;break n}if(z&&(k=h+E|0,X[j+(m(A,y)<<1)>>1]=(k|0)>=0?(k|0)<(D|0)?k:D:0),!_)break k;k=v-h|0,w=(k|0)>=0?(k|0)<(D|0)?k:D:0,k=m(A,y)}X[(k<<1)+u>>1]=w}if(f0&&(k=h+(((E+H|0)+1>>>1|0)-o|0)>>1,k=((k|0)<(q|0)?q:(k|0)<(I|0)?k:I)+o|0,X[(e?h0+(m(A,y)<<1)|0:u+(A-T2<<1)|0)>>1]=(k|0)>=0?(k|0)<(D|0)?k:D:0),!r2)break f;if(k=((v+J|0)+1>>>1)-(h+Z)>>1,k=Z+((k|0)<(q|0)?q:(k|0)<(I|0)?k:I)|0,k=(k|0)>=0?(k|0)<(D|0)?k:D:0,!e){X[(A<<1)+L>>1]=k;break f}X[n0+(m(A,y)<<1)>>1]=k;break f}if(R=Z-t|0,p=v+E|0,W=p+Z|0,w=(W+J|0)+2>>>2|0,a=t+Z|0,w=(w|0)<(R|0)?R:(w|0)<(a|0)?w:a,a=o-t|0,p=o+p|0,R=(p+H|0)+2>>>2|0,Y0=t+o|0,R=(R|0)<(a|0)?a:(R|0)<(Y0|0)?R:Y0,a=J-t|0,h=((W+m(J,3)|0)+(Q[h+6>>1]<<1)|0)+4>>>3|0,W=t+J|0,h=(h|0)<(a|0)?a:(h|0)<(W|0)?h:W,W=H-t|0,k=((p+m(H,3)|0)+(Q[k+6>>1]<<1)|0)+4>>>3|0,p=t+H|0,p=(k|0)<(W|0)?W:(k|0)<(p|0)?k:p,W=v-t|0,Y0=v<<1,a=(E<<1)+4|0,k=J+((Y0+(a+o|0)|0)+(Z<<1)|0)>>>3|0,v=t+v|0,v=(k|0)<(W|0)?W:(k|0)<(v|0)?k:v,J=E-t|0,k=Z+(Y0+((H+a|0)+(o<<1)|0)|0)>>>3|0,o=t+E|0,o=(k|0)<(J|0)?J:(k|0)<(o|0)?k:o,!e){if(k=u+(A<<1)|0,!z){if(!_)break f;X[k>>1]=v,X[k+S>>1]=w,X[k+Q0>>1]=h;break f}if(!_){X[k+G0>>1]=o,X[k+s2>>1]=R,X[k+p0>>1]=p;break f}X[k+G0>>1]=o,X[k>>1]=v,X[k+s2>>1]=R,X[k+S>>1]=w,X[k+p0>>1]=p,X[k+Q0>>1]=h;break f}if(k=u+(m(A,y)<<1)|0,z&&(X[k-2>>1]=o),_&&(X[k>>1]=v),z&&(X[k-4>>1]=R),_&&(X[k+2>>1]=w),z&&(X[k-6>>1]=p),!_)break f;X[k+4>>1]=h}if(A=A+1|0,(A|0)==4)break}}if(W2=W2+1|0,c0=c0+h1|0,!((x2|0)>(c0|0)))break}if(e1=e1+1|0,r=r+A1|0,!((y2|0)>(r|0)))break}}B=n- -64|0;return}C0(3720,8453,119,3372),P()}C0(3758,8453,118,3372),P()}function Hs(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0;if(k=B-192|0,B=k,i[k+92>>2]=54820,A=i[13708],i[k+36>>2]=A,o=k+36|0,i[o+i[A-12>>2]>>2]=i[13709],A=o+i[i[k+36>>2]-12>>2]|0,n=k+40|0,b0(A,n),i[A+72>>2]=0,i[A+76>>2]=-1,i[k+92>>2]=54820,i[k+36>>2]=54800,Z=$0(n),i[Z>>2]=53552,i[k+80>>2]=0,i[k+84>>2]=0,i[k+72>>2]=0,i[k+76>>2]=0,i[k+88>>2]=16,A=B-160|0,B=A,i[A+68>>2]=54820,n=i[13708],i[A+12>>2]=n,t=A+12|0,i[t+i[n-12>>2]>>2]=i[13709],n=t+i[i[A+12>>2]-12>>2]|0,u=A+16|0,b0(n,u),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,n=$0(u),i[n>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,u=A+148|0,R2(u,e,r),w=t,h=u,t=l[A+159|0],u=(t|0)<0,x(w,u?i[A+148>>2]:h,u?i[A+152>>2]:t),l[A+159|0]<0&&G(i[A+148>>2]),t=A+148|0,W0(t,r),w=t,t=l[A+159|0],u=(t|0)<0,x(A+12|0,u?i[A+148>>2]:w,u?i[A+152>>2]:t),l[A+159|0]<0&&G(i[A+148>>2]),t=x(H0(x(A+12|0,20352,9),s[e+48|0]),31338,1),u=A+148|0,W0(u,r),w=u,u=l[A+159|0],h=(u|0)<0,x(t,h?i[A+148>>2]:w,h?i[A+152>>2]:u),l[A+159|0]<0&&G(i[A+148>>2]),t=x(t,19951,7),u=i[i[t>>2]-12>>2]+t|0,i[u+4>>2]=i[u+4>>2]&-75|8,x(L0(t,i[e+52>>2]),31338,1),t=k+180|0,i2(t,n),u=i[13707],i[A+12>>2]=u,i[i[u-12>>2]+(A+12|0)>>2]=i[13710],i[n>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(n),T0(A+68|0),B=A+160|0,A=l[k+191|0],n=(A|0)<0,x(o,n?i[k+180>>2]:t,n?i[k+184>>2]:A),l[k+191|0]<0&&G(i[k+180>>2]),A=k+180|0,W0(A,r),t=A,A=l[k+191|0],n=(A|0)<0,x(k+36|0,n?i[k+180>>2]:t,n?i[k+184>>2]:A),l[k+191|0]<0&&G(i[k+180>>2]),A=k+36|0,x(H0(x(A,20755,17),s[e+56|0]+1|0),31338,1),s[e+57|0]==1&&(n=k+180|0,W0(n,r),t=A,u=n,A=l[k+191|0],n=(A|0)<0,x(t,n?i[k+180>>2]:u,n?i[k+184>>2]:A),l[k+191|0]<0&&G(i[k+180>>2]),A=x(L0(x(k+36|0,19490,11),Q[e+58>>1]),31338,1),n=k+180|0,W0(n,r),t=n,n=l[k+191|0],o=(n|0)<0,x(A,o?i[k+180>>2]:t,o?i[k+184>>2]:n),l[k+191|0]<0&&G(i[k+180>>2]),A=x(H0(x(A,19767,15),s[e+60|0]),31338,1),n=k+180|0,W0(n,r),t=n,n=l[k+191|0],o=(n|0)<0,x(A,o?i[k+180>>2]:t,o?i[k+184>>2]:n),l[k+191|0]<0&&G(i[k+180>>2]),n=x(A,20879,21),A=s[e+61|0],A=(A|0)==1?3125:(A|0)==2?5488:6156,A=x(x(n,A,G2(A)),31338,1),n=k+180|0,W0(n,r),t=n,n=l[k+191|0],o=(n|0)<0,x(A,o?i[k+180>>2]:t,o?i[k+184>>2]:n),l[k+191|0]<0&&G(i[k+180>>2]),n=x(A,19659,15),A=i[(s[e+62|0]<<2)+74912>>2],A=x(x(n,A,G2(A)),31338,1),n=k+180|0,W0(n,r),t=n,n=l[k+191|0],o=(n|0)<0,x(A,o?i[k+180>>2]:t,o?i[k+184>>2]:n),l[k+191|0]<0&&G(i[k+180>>2]),A=x(H0(x(A,20498,11),s[e+63|0]+8|0),31338,1),n=k+180|0,W0(n,r),t=n,n=l[k+191|0],o=(n|0)<0,x(A,o?i[k+180>>2]:t,o?i[k+184>>2]:n),l[k+191|0]<0&&G(i[k+180>>2]),A=x(L0(x(A,21705,20),Q[e+120>>1]),31338,1),n=k+180|0,W0(n,r),t=n,n=l[k+191|0],o=(n|0)<0,x(A,o?i[k+180>>2]:t,o?i[k+184>>2]:n),l[k+191|0]<0&&G(i[k+180>>2]),x(L0(x(A,19591,20),Q[e+122>>1]),31338,1),A=k+180|0,W0(A,r),t=A,A=l[k+191|0],n=(A|0)<0,x(k+36|0,n?i[k+180>>2]:t,n?i[k+184>>2]:A),l[k+191|0]<0&&G(i[k+180>>2]),A=x(H0(x(k+36|0,21107,17),s[e+65|0]),31338,1),n=k+180|0,W0(n,r),t=n,n=l[k+191|0],o=(n|0)<0,x(A,o?i[k+180>>2]:t,o?i[k+184>>2]:n),l[k+191|0]<0&&G(i[k+180>>2]),A=x(H0(x(A,20680,11),s[e+66|0]),31338,1),n=k+180|0,W0(n,r),t=n,n=l[k+191|0],o=(n|0)<0,x(A,o?i[k+180>>2]:t,o?i[k+184>>2]:n),l[k+191|0]<0&&G(i[k+180>>2]),A=x(H0(x(A,16391,14),s[e+67|0]),31338,1),n=k+180|0,W0(n,r),t=n,n=l[k+191|0],o=(n|0)<0,x(A,o?i[k+180>>2]:t,o?i[k+184>>2]:n),l[k+191|0]<0&&G(i[k+180>>2]),A=x(H0(x(A,20647,32),s[e+68|0]),31338,1),n=k+180|0,W0(n,r),t=n,n=l[k+191|0],o=(n|0)<0,x(A,o?i[k+180>>2]:t,o?i[k+184>>2]:n),l[k+191|0]<0&&G(i[k+180>>2]),x(H0(x(A,20692,30),s[e+69|0]),31338,1)),A=k+180|0,W0(A,r),t=A,A=l[k+191|0],n=(A|0)<0,x(k+36|0,n?i[k+180>>2]:t,n?i[k+184>>2]:A),l[k+191|0]<0&&G(i[k+180>>2]),A=k+36|0,x(L0(x(A,19675,15),i[e+132>>2]-i[e+128>>2]>>4),31338,1),n=k+180|0,W0(n,r),t=A,u=n,A=l[k+191|0],n=(A|0)<0,x(t,n?i[k+180>>2]:u,n?i[k+184>>2]:A),l[k+191|0]<0&&G(i[k+180>>2]),x(k+36|0,30574,13),n=i[e+128>>2],p=i[e+132>>2],(n|0)!=(p|0))for(e=i[r>>2];;){i[r>>2]=e+1,e=k+180|0,W0(e,r),t=e,e=l[k+191|0],A=(e|0)<0,x(k+36|0,A?i[k+180>>2]:t,A?i[k+184>>2]:e),l[k+191|0]<0&&G(i[k+180>>2]),A=x(H0(x(k+36|0,21070,10),s[n+1|0]),18656,2),e=s[n+1|0]-12&255,e>>>0>7?e=15637:e=i[(e<<2)+74988>>2],x(x(A,e,G2(e)),31337,2),e=k+180|0,W0(e,r),t=e,e=l[k+191|0],A=(e|0)<0,x(k+36|0,A?i[k+180>>2]:t,A?i[k+184>>2]:e),l[k+191|0]<0&&G(i[k+180>>2]),x(H0(x(k+36|0,19746,20),s[n|0]),31338,1);i:{if(e=i[n+4>>2],W=i[n+8>>2],(e|0)==(W|0))break i;for(;;){r:{i[r>>2]=i[r>>2]+1,A=k+24|0,W0(A,r),o=i[e>>2],ck(k+12|0,o,i[e+4>>2]-o|0,A,A),h=l[k+23|0],w=i[k+12>>2],v=i[k+16>>2],A=k+36|0,C=V1(k+172|0,A);e:{if(s[C|0]!=1)break e;t=A+i[i[k+36>>2]-12>>2]|0,y=i[t+4>>2],o=i[t+24>>2],u=i[t+76>>2],(u|0)==-1&&(_=k+180|0,A=i[t+28>>2],i[_>>2]=A,(A|0)!=100008&&(i[A+4>>2]=i[A+4>>2]+1),A=x0(_,100192),u=V[i[i[A>>2]+28>>2]](A,32)|0,O0(_),i[t+76>>2]=u);A:{if(!o||(_=i[t+12>>2],A=w,w=(h|0)<0,A=w?A:k+12|0,h=w?v:h,I=A+h|0,w=(y&176)==32?I:A,v=w-A|0,(v|0)>0&&(V[i[i[o>>2]+48>>2]](o,A,v)|0)!=(v|0)))break A;if(A=(h|0)<(_|0)?_-h|0:0,(A|0)>0){if(A>>>0>=2147483640)break r;f:{if(A>>>0>=11){_=(A|7)+1|0,h=U(_),i[k+188>>2]=_|-2147483648,i[k+180>>2]=h,i[k+184>>2]=A;break f}l[k+191|0]=A,h=k+180|0}if(E=B0(h,u,A)+A|0,J=0,l[E|0]=J,u=V[i[i[o>>2]+48>>2]](o,l[k+191|0]<0?i[k+180>>2]:k+180|0,A)|0,l[k+191|0]<0&&G(i[k+180>>2]),(A|0)!=(u|0))break A}if(A=I-w|0,(A|0)>0&&(V[i[i[o>>2]+48>>2]](o,w,A)|0)!=(A|0))break A;i[t+12>>2]=0;break e}A=i[i[k+36>>2]-12>>2]+(k+36|0)|0,z1(A,i[A+16>>2]|5)}if(Z1(C),l[k+23|0]<0&&G(i[k+12>>2]),A=i[r>>2],i[r>>2]=(A|0)>0?A-1|0:0,l[k+35|0]<0&&G(i[k+24>>2]),e=e+12|0,(W|0)!=(e|0))continue;break i}break}c2(),P()}if(e=i[r>>2],e=(e|0)>0?e-1|0:0,i[r>>2]=e,n=n+16|0,(p|0)==(n|0))break}i2(f,Z),f=i[13707],i[k+36>>2]=f,i[i[f-12>>2]+(k+36|0)>>2]=i[13710],i[Z>>2]=53552,l[k+83|0]<0&&G(i[k+72>>2]),K0(Z),T0(k+92|0),B=k+192|0}function Gk(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=Y(0),Z=0,p=0,W=Y(0);_=B-16|0,B=_,i[_+12>>2]=r;i:{r:{if(o=i[k+4>>2],!o)break r;n=i[k>>2],h=Ui(o),u=o-1&r;e:{if(h>>>0<=1||(u=r,r>>>0<o>>>0))break e;u=(r>>>0)%(o>>>0)|0}if(n=i[n+(u<<2)>>2],!n||(t=i[n>>2],!t))break r;e:{if(h>>>0<=1){for(n=o-1|0;;){o=i[t+4>>2];A:{if((o|0)!=(r|0)){if((u|0)==(n&o))break A;break r}if(i[t+8>>2]==(r|0))break e}if(t=i[t>>2],!t)break}break r}for(;;){n=i[t+4>>2];A:{if((n|0)!=(r|0)){if(n>>>0>=o>>>0&&(n=(n>>>0)%(o>>>0)|0),(n|0)==(u|0))break A;break r}if(i[t+8>>2]==(r|0))break e}if(t=i[t>>2],!t)break}break r}if(e=U(24),i[_>>2]=e,i[_+4>>2]=21,i[_+8>>2]=-2147483624,r=s[10269]|s[10270]<<8|(s[10271]<<16|s[10272]<<24),A=s[10265]|s[10266]<<8|(s[10267]<<16|s[10268]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+21|0]=0,r=s[10282]|s[10283]<<8|(s[10284]<<16|s[10285]<<24),A=s[10278]|s[10279]<<8|(s[10280]<<16|s[10281]<<24),l[e+13|0]=A,l[e+14|0]=A>>>8,l[e+15|0]=A>>>16,l[e+16|0]=A>>>24,l[e+17|0]=r,l[e+18|0]=r>>>8,l[e+19|0]=r>>>16,l[e+20|0]=r>>>24,r=s[10277]|s[10278]<<8|(s[10279]<<16|s[10280]<<24),A=s[10273]|s[10274]<<8|(s[10275]<<16|s[10276]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,2008,_),l[_+11|0]>=0)break i;G(i[_>>2]);break i}r=0,o=_+12|0,u=i[o>>2],t=i[k+4>>2];r:{e:{if(!t)break e;n=i[k>>2],h=Ui(t),r=u&t-1;A:{if(h>>>0<=1||(r=u,r>>>0<t>>>0))break A;r=(r>>>0)%(t>>>0)|0}if(n=i[n+(r<<2)>>2],!n||(w=i[n>>2],!w))break e;if(h>>>0<=1){for(n=t-1|0;;){A:{if(h=i[w+4>>2],(h|0)!=(u|0)){if((n&h)!=(r|0))break e;break A}if((u|0)!=i[w+8>>2])break A;r=0;break r}if(w=i[w>>2],!w)break}break e}for(;;){A:{if(n=i[w+4>>2],(n|0)!=(u|0)){if(n>>>0>=t>>>0&&(n=(n>>>0)%(t>>>0)|0),(r|0)!=(n|0))break e;break A}if((u|0)!=i[w+8>>2])break A;r=0;break r}if(w=i[w>>2],!w)break}}w=U(12),i[w+4>>2]=u,i[w>>2]=0,i[w+8>>2]=i[o>>2],W=Y(i[k+12>>2]+1>>>0),v=Z0[k+16>>2];e:{if(!(W>Y(v*Y(t>>>0)))&&t)break e;r=2,o=(t-1&t)!=0|t>>>0<3|t<<1,v=Y(b5(Y(W/v)));A:{if(v<Y(4294967296)&v>=Y(0)){n=~~v>>>0;break A}n=0}n=n>>>0<o>>>0?o:n;A:{if((n|0)==1)break A;if(!(n&n-1)){r=n;break A}r=yk(n),t=i[k+4>>2]}A:{if(r>>>0<=t>>>0){if(r>>>0>=t>>>0)break A;o=t>>>0<3,v=Y(b5(Y(Y(k0[k+12>>2])/Z0[k+16>>2])));f:{if(v<Y(4294967296)&v>=Y(0)){n=~~v>>>0;break f}n=0}f:{k:{if(o||Ui(t)>>>0>1)break k;n=n>>>0<2?n:1<<32-$2(n-1|0);break f}n=yk(n)}if(r=r>>>0>n>>>0?r:n,t>>>0<=r>>>0)break A}t=0,h=0,o=r;f:{k:{n:{t:{if(r){if(r>>>0>=1073741824)break t;if(n=U(r<<2),r=i[k>>2],i[k>>2]=n,r&&G(r),i[k+4>>2]=o,n=0,o>>>0>=4)for(Z=o&1073741820;r=n<<2,i[r+i[k>>2]>>2]=0,i[(r+i[k>>2]|0)+4>>2]=0,i[(r+i[k>>2]|0)+8>>2]=0,i[(r+i[k>>2]|0)+12>>2]=0,n=n+4|0,h=h+4|0,(Z|0)!=(h|0););if(r=o&3,r)for(;i[i[k>>2]+(n<<2)>>2]=0,n=n+1|0,t=t+1|0,(r|0)!=(t|0););if(r=i[k+8>>2],!r)break f;if(n=k+8|0,t=i[r+4>>2],h=Ui(o),h>>>0<2)break n;if(t=t>>>0>=o>>>0?(t>>>0)%(o>>>0)|0:t,i[i[k>>2]+(t<<2)>>2]=n,n=i[r>>2],!n)break f;if(h>>>0<=1)break k;for(;;){h=i[n+4>>2],o>>>0<=h>>>0&&(h=(h>>>0)%(o>>>0)|0);o:{if((t|0)==(h|0)){r=n;break o}if(Z=h<<2,p=Z+i[k>>2]|0,!i[p>>2]){i[p>>2]=r,r=n,t=h;break o}i[r>>2]=i[n>>2],i[n>>2]=i[i[Z+i[k>>2]>>2]>>2],i[i[Z+i[k>>2]>>2]>>2]=n}if(n=i[r>>2],!n)break}break f}r=i[k>>2],i[k>>2]=0,r&&G(r),i[k+4>>2]=0;break f}_2(),P()}if(t=o-1&t,i[i[k>>2]+(t<<2)>>2]=n,n=i[r>>2],!n)break f}for(Z=o-1|0;;){o=Z&i[n+4>>2];k:{if((o|0)==(t|0)){r=n;break k}if(h=o<<2,p=h+i[k>>2]|0,i[p>>2]){i[r>>2]=i[n>>2],i[n>>2]=i[i[h+i[k>>2]>>2]>>2],i[i[h+i[k>>2]>>2]>>2]=n;break k}i[p>>2]=r,r=n,t=o}if(n=i[r>>2],!n)break}}}if(t=i[k+4>>2],r=t-1|0,!(r&t)){r=r&u;break e}if(t>>>0>u>>>0){r=u;break e}r=(u>>>0)%(t>>>0)|0}n=i[k>>2]+(r<<2)|0,r=i[n>>2];e:{A:{if(!r){if(r=k+8|0,i[w>>2]=i[r>>2],i[k+8>>2]=w,i[n>>2]=r,r=i[w>>2],!r)break e;r=i[r+4>>2],n=t-1|0;f:{if(!(n&t)){r=r&n;break f}if(r>>>0<t>>>0)break f;r=(r>>>0)%(t>>>0)|0}r=i[k>>2]+(r<<2)|0;break A}i[w>>2]=i[r>>2]}i[r>>2]=w}i[k+12>>2]=i[k+12>>2]+1,r=1}l[_+4|0]=r,i[_>>2]=w,oi(_,i[A>>2],i[_+12>>2]),t=i[_>>2],r=i[_+4>>2];r:{if((t|0)!=(r|0))for(;;){if(Gk(f,e,i[t>>2],A,k),i[f>>2])break r;if(l[f+19|0]<0&&G(i[f+8>>2]),t=t+4|0,(r|0)==(t|0))break}h=B-16|0,B=h,u=i[k+4>>2];e:{if(!u)break e;A=i[k>>2],r=i[_+12>>2],e=r&u-1,t=Ui(u);A:{if(t>>>0<=1||(e=r,r>>>0<u>>>0))break A;e=(r>>>0)%(u>>>0)|0}if(n=e,e=i[(n<<2)+A>>2],!e||(e=i[e>>2],!e))break e;A:{if(t>>>0<=1){for(A=u-1|0;;){u=i[e+4>>2];f:{if((u|0)!=(r|0)){if((n|0)==(A&u))break f;break e}if((r|0)==i[e+8>>2])break A}if(e=i[e>>2],!e)break}break e}for(;;){A=i[e+4>>2];f:{if((A|0)!=(r|0)){if(A>>>0>=u>>>0&&(A=(A>>>0)%(u>>>0)|0),(A|0)==(n|0))break f;break e}if((r|0)==i[e+8>>2])break A}if(e=i[e>>2],!e)break}break e}r=e,t=i[r+4>>2],o=i[k+4>>2],w=Ui(o);A:{if(w>>>0<=1){t=o-1&t;break A}if(t>>>0<o>>>0)break A;t=(t>>>0)%(o>>>0)|0}for(n=i[k>>2]+(t<<2)|0,A=i[n>>2];e=A,A=i[e>>2],(r|0)!=(A|0););Z=k+8|0;A:{if((Z|0)!=(e|0)){A=i[e+4>>2];f:{if(w>>>0<=1){A=o-1&A;break f}if(A>>>0<o>>>0)break f;A=(A>>>0)%(o>>>0)|0}if((A|0)==(t|0))break A}if(A=i[r>>2],A){A=i[A+4>>2];f:{if(w>>>0<=1){A=o-1&A;break f}if(A>>>0<o>>>0)break f;A=(A>>>0)%(o>>>0)|0}if((A|0)==(t|0))break A}i[n>>2]=0}u=i[r>>2],n=0;A:{if(!u)break A;A=i[u+4>>2];f:{if(w>>>0<=1){A=o-1&A;break f}if(A>>>0<o>>>0)break f;A=(A>>>0)%(o>>>0)|0}if(n=u,(A|0)==(t|0))break A;i[i[k>>2]+(A<<2)>>2]=e,n=i[r>>2]}i[e>>2]=n,i[r>>2]=0,i[k+12>>2]=i[k+12>>2]-1,l[h+12|0]=1,i[h+8>>2]=Z,i[h+4>>2]=r,e=i[h+4>>2],i[h+4>>2]=0,e&&G(e)}if(B=h+16|0,e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break r}_0(f,i[19566],i[19567])}if(f=i[_>>2],!f)break i;i[_+4>>2]=f,G(f)}B=_+16|0}function Ts(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0;k=B-96|0,B=k,A=D0(r),i[e+52>>2]=A&16777215,l[e+48|0]=A>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[k+16|0]=0,l[k+27|0]=0,r0(k+72|0,2,100,k+16|0),l[k+27|0]>=0)break i;G(i[k+16>>2]);break i}if(A=i[19565],i[k+72>>2]=i[19564],i[k+76>>2]=A,t=k+80|0,l[78275]>=0){A=i[19567],i[t>>2]=i[19566],i[t+4>>2]=A,i[t+8>>2]=i[19568];break i}_0(t,i[19566],i[19567])}l[k+91|0]<0&&G(i[k+80>>2]);i:{r:{e:{A:{if(s[e+48|0]<=1){for(Z=f+8|0,p=e+56|0;;){if(i[r+16>>2]){i[k+16>>2]=68500,i[k+48>>2]=0,i[k+40>>2]=0,i[k+44>>2]=0,i[k+32>>2]=0,i[k+36>>2]=0,i[k+24>>2]=0,i[k+28>>2]=0,i[k+68>>2]=0,i[k+60>>2]=0,i[k+64>>2]=0,xk(f,k+16|0,r),C=i[f>>2],W=i[19564];f:{if((C|0)!=(W|0))break f;k:{if(!s[e+48|0]){if(I=k,y=t2(r),i[I+56>>2]=y,w=0,_=t2(r),!_)break k;for(;;){v=t2(r),A=i[k+64>>2],t=i[k+68>>2];n:{if(A>>>0<t>>>0){i[A>>2]=v,o=A+4|0;break n}if(u=i[k+60>>2],n=A-u>>2,o=n+1|0,o>>>0>=1073741824)break A;if(h=t-u|0,t=h>>1,h=h>>>0>=2147483644?1073741823:o>>>0<t>>>0?t:o,h){if(h>>>0>=1073741824)break e;t=U(h<<2)}else t=0;if(n=t+(n<<2)|0,i[n>>2]=v,o=n+4|0,(A|0)!=(u|0))for(;n=n-4|0,A=A-4|0,i[n>>2]=i[A>>2],(A|0)!=(u|0););if(i[k+68>>2]=t+(h<<2),i[k+64>>2]=o,i[k+60>>2]=n,!u)break n;G(u)}if(i[k+64>>2]=o,!i[r+16>>2])break k;if(w=w+1|0,!(_>>>0>w>>>0))break}break k}if(I=k,y=D0(r),i[I+56>>2]=y,w=0,_=t2(r),!_)break k;for(;;){v=D0(r),A=i[k+64>>2],t=i[k+68>>2];n:{if(A>>>0<t>>>0){i[A>>2]=v,o=A+4|0;break n}if(u=i[k+60>>2],n=A-u>>2,o=n+1|0,o>>>0>=1073741824)break A;if(h=t-u|0,t=h>>1,h=h>>>0>=2147483644?1073741823:o>>>0<t>>>0?t:o,h){if(h>>>0>=1073741824)break e;t=U(h<<2)}else t=0;if(n=t+(n<<2)|0,i[n>>2]=v,o=n+4|0,(A|0)!=(u|0))for(;n=n-4|0,A=A-4|0,i[n>>2]=i[A>>2],(A|0)!=(u|0););if(i[k+68>>2]=t+(h<<2),i[k+64>>2]=o,i[k+60>>2]=n,!u)break n;G(u)}if(i[k+64>>2]=o,!i[r+16>>2])break k;if(w=w+1|0,!(_>>>0>w>>>0))break}}A=i[e+60>>2];k:{if(A>>>0<k0[e+64>>2]){Z6(A,k+16|0),A=A+56|0;break k}A=xA(p,k+16|0)}if(i[e+60>>2]=A,l[f+19|0]>=0)break f;G(i[Z>>2])}if(A=i[k+60>>2],A&&(i[k+64>>2]=A,G(A)),i[k+16>>2]=68500,A=i[k+36>>2],A&&(i[k+40>>2]=A,G(A)),(W|0)==(C|0))continue;break i}break}f:{k:{_=i[e+56>>2],p=i[e+60>>2],e=(_|0)==(p|0);n:{if(e)break n;for(n=0,A=_;n=(i[A+48>>2]-i[A+44>>2]>>2)+n|0,A=A+56|0,(p|0)!=(A|0););if(n>>>0>1e4)break r;if(e)break n;for(h=k+20|0;;){if(i[k+16>>2]=h,i[k+20>>2]=0,i[k+24>>2]=0,C=k+16|0,v=i[_+44>>2],W=i[_+48>>2],(v|0)==(W|0))e=0;else{for(;;){u=i[v>>2],n=i[k+20>>2],o=n,e=h,w=e,A=e;t:{o:{if(!n)break o;for(;t=o,A=e,w=u>>>0>k0[t+16>>2],e=w?A:t,o=i[(w<<2)+t>>2],!!o;);if((e|0)!=(h|0)&u>>>0>=k0[(w?A:t)+16>>2])break k;for(;;){if(A=n,e=i[A+16>>2],e>>>0>u>>>0){if(w=A,n=i[A>>2],n)continue;break o}if(e>>>0>=u>>>0)break t;if(n=i[A+4>>2],!n)break}w=A+4|0}e=U(20),i[e+8>>2]=A,i[e>>2]=0,i[e+4>>2]=0,i[e+16>>2]=u,i[w>>2]=e,A=i[i[k+16>>2]>>2],A&&(i[k+16>>2]=A,e=i[w>>2]),D1(i[k+20>>2],e),i[k+24>>2]=i[k+24>>2]+1}if(v=v+4|0,(W|0)==(v|0))break}e=i[k+20>>2]}if(P8(C,e),_=_+56|0,(p|0)==(_|0))break}}if(s[r+20|0]!=1)break f;if(l[k+16|0]=0,l[k+27|0]=0,r0(f,2,100,k+16|0),l[k+27|0]>=0)break i;G(i[k+16>>2]);break i}A=U(32),i[k+4>>2]=A,i[k+8>>2]=28,i[k+12>>2]=-2147483616,r=s[4572]|s[4573]<<8|(s[4574]<<16|s[4575]<<24),e=s[4568]|s[4569]<<8|(s[4570]<<16|s[4571]<<24),l[A|0]=e,l[A+1|0]=e>>>8,l[A+2|0]=e>>>16,l[A+3|0]=e>>>24,l[A+4|0]=r,l[A+5|0]=r>>>8,l[A+6|0]=r>>>16,l[A+7|0]=r>>>24,l[A+28|0]=0,e=s[4592]|s[4593]<<8|(s[4594]<<16|s[4595]<<24),l[A+24|0]=e,l[A+25|0]=e>>>8,l[A+26|0]=e>>>16,l[A+27|0]=e>>>24,r=s[4588]|s[4589]<<8|(s[4590]<<16|s[4591]<<24),e=s[4584]|s[4585]<<8|(s[4586]<<16|s[4587]<<24),l[A+16|0]=e,l[A+17|0]=e>>>8,l[A+18|0]=e>>>16,l[A+19|0]=e>>>24,l[A+20|0]=r,l[A+21|0]=r>>>8,l[A+22|0]=r>>>16,l[A+23|0]=r>>>24,r=s[4580]|s[4581]<<8|(s[4582]<<16|s[4583]<<24),e=s[4576]|s[4577]<<8|(s[4578]<<16|s[4579]<<24),l[A+8|0]=e,l[A+9|0]=e>>>8,l[A+10|0]=e>>>16,l[A+11|0]=e>>>24,l[A+12|0]=r,l[A+13|0]=r>>>8,l[A+14|0]=r>>>16,l[A+15|0]=r>>>24,r0(f,2,0,k+4|0),l[k+15|0]<0&&G(i[k+4>>2]),P8(k+16|0,i[k+20>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,l[78275]>=0){f=i[19567],i[Z>>2]=i[19566],i[Z+4>>2]=f,i[Z+8>>2]=i[19568];break i}_0(Z,i[19566],i[19567]);break i}h4(f,e,8807);break i}y0(),P()}_2(),P()}if(A=U(56),i[k+16>>2]=A,i[k+20>>2]=49,i[k+24>>2]=-2147483592,r=s[17461]|s[17462]<<8|(s[17463]<<16|s[17464]<<24),e=s[17457]|s[17458]<<8|(s[17459]<<16|s[17460]<<24),l[A|0]=e,l[A+1|0]=e>>>8,l[A+2|0]=e>>>16,l[A+3|0]=e>>>24,l[A+4|0]=r,l[A+5|0]=r>>>8,l[A+6|0]=r>>>16,l[A+7|0]=r>>>24,l[A+49|0]=0,l[A+48|0]=s[17505],r=s[17501]|s[17502]<<8|(s[17503]<<16|s[17504]<<24),e=s[17497]|s[17498]<<8|(s[17499]<<16|s[17500]<<24),l[A+40|0]=e,l[A+41|0]=e>>>8,l[A+42|0]=e>>>16,l[A+43|0]=e>>>24,l[A+44|0]=r,l[A+45|0]=r>>>8,l[A+46|0]=r>>>16,l[A+47|0]=r>>>24,r=s[17493]|s[17494]<<8|(s[17495]<<16|s[17496]<<24),e=s[17489]|s[17490]<<8|(s[17491]<<16|s[17492]<<24),l[A+32|0]=e,l[A+33|0]=e>>>8,l[A+34|0]=e>>>16,l[A+35|0]=e>>>24,l[A+36|0]=r,l[A+37|0]=r>>>8,l[A+38|0]=r>>>16,l[A+39|0]=r>>>24,r=s[17485]|s[17486]<<8|(s[17487]<<16|s[17488]<<24),e=s[17481]|s[17482]<<8|(s[17483]<<16|s[17484]<<24),l[A+24|0]=e,l[A+25|0]=e>>>8,l[A+26|0]=e>>>16,l[A+27|0]=e>>>24,l[A+28|0]=r,l[A+29|0]=r>>>8,l[A+30|0]=r>>>16,l[A+31|0]=r>>>24,r=s[17477]|s[17478]<<8|(s[17479]<<16|s[17480]<<24),e=s[17473]|s[17474]<<8|(s[17475]<<16|s[17476]<<24),l[A+16|0]=e,l[A+17|0]=e>>>8,l[A+18|0]=e>>>16,l[A+19|0]=e>>>24,l[A+20|0]=r,l[A+21|0]=r>>>8,l[A+22|0]=r>>>16,l[A+23|0]=r>>>24,r=s[17469]|s[17470]<<8|(s[17471]<<16|s[17472]<<24),e=s[17465]|s[17466]<<8|(s[17467]<<16|s[17468]<<24),l[A+8|0]=e,l[A+9|0]=e>>>8,l[A+10|0]=e>>>16,l[A+11|0]=e>>>24,l[A+12|0]=r,l[A+13|0]=r>>>8,l[A+14|0]=r>>>16,l[A+15|0]=r>>>24,r0(f,6,1e3,k+16|0),l[k+27|0]>=0)break i;G(i[k+16>>2])}B=k+96|0}function _8(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=0,r2=0;h=B-160|0,B=h;i:{r:{if(v=i[f+18588>>2],o=i[v+168>>2],u=e>>o,(u|0)<0||(n=i[v+172>>2],(n|0)<=(u|0)))break r;if(o=r>>o,(o|0)<0|(o|0)>=i[v+176>>2])break i;a=i[v+132>>2],R=i[v+124>>2],w=s[((i[v+160>>2]+m(u,3)|0)+m(m(n,o),3)|0)+1|0];e:{if(k||(u=i[v+248>>2],n=A-u|0,(n|0)==31))break e;for(o=r>>u,n=1<<n,W=o+n|0,u=e>>u,Z=u+n|0;;){for(n=u;t=(i[v+240>>2]+n|0)+m(i[v+252>>2],o)|0,l[t|0]=s[t|0]|128,n=n+1|0,(Z|0)>(n|0););if(o=o+1|0,!((W|0)>(o|0)))break}}n0=w&3,n=f+k|0,S=n,o=0;e:{if(!s[a+25|0]||(o=0,s[f+32|0])||(o=0,i[a+8276>>2]<(A|0)))break e;o=f2(f+18548|0,i[f+18572>>2]+(k?142:141)|0)}l[n+33|0]=o,l[f+36|0]=0;e:{if(!(s[n+33|0]|s[f+32|0])|(!s[R+16823|0]|(n0|0)!=1)||(u=f+18548|0,o=(k|0)!=0,n=f2(u,(o+i[f+18572>>2]|0)+143|0),l[f+36|0]=n,!(n&255)))break e;c0=f,r2=f2(u,(o+i[f+18572>>2]|0)+145|0),l[c0+37|0]=r2}Z=!k<<1,Z=s[S+33|0]|s[f+32|0]?Z|1:Z,w=A<<1;e:{if(!k){t=A+1>>2,n=(m(A,3)+(A-1>>2)|0)-6|0;break e}t=A-2|0,n=15}_=i[f+18572>>2],o=w-1|0;e:{if((w|0)<2){n=o;break e}W=n+(_+25|0)|0,u=f+18548|0,n=0;A:{for(;;){if(!f2(u,W+(n>>>t|0)|0))break A;if(n=n+1|0,(o|0)==(n|0))break}n=o}_=i[f+18572>>2]}e:{if(!k){t=(m(A,3)+(A-1>>2)|0)-6|0,u=A+1>>2;break e}t=15,u=A-2|0}e:{if((w|0)<2)break e;for(w=t+(_+43|0)|0,W=f+18548|0,t=0;;){if(!f2(W,w+(t>>>u|0)|0)){o=t;break e}if(t=t+1|0,(o|0)==(t|0))break}}(n|0)>=4&&(u=(n>>>1|0)-1|0,n=d4(f+18548|0,u)+((n&1|2)<<u)|0),(o|0)>=4&&(u=(o>>>1|0)-1|0,o=d4(f+18548|0,u)+((o&1|2)<<u)|0);e:{A:{if(n0){t=0;break A}f:{if(!k){if(t=i[v+208>>2],W=e>>t,(W|0)<0||(u=i[v+212>>2],(u|0)<=(W|0)))break r;if(t=r>>t,(t|0)<0|(t|0)>=i[v+216>>2])break i;u=s[(W+i[v+200>>2]|0)+m(t,u)|0],_=u>>>0<=34?u:0,u=0;break f}if(t=i[v+228>>2],W=e>>t,(W|0)<0||(u=i[v+232>>2],(u|0)<=(W|0)))break r;if(t=r>>t,(t|0)<0|(t|0)>=i[v+236>>2])break i;_=s[(W+i[v+220>>2]|0)+m(t,u)|0]&63,u=k}t=2,W=u,u=0;f:{k:{n:switch(A-2|0){case 0:break k;case 1:break n;default:break f}if(!W)break k;if(i[R+16848>>2]!=3)break f}if(u=2,_-6>>>0<9)break f;u=_-22>>>0<9}if((u|0)!=2){t=u;break A}u=o;break e}u=n,n=o}for(J=A-2|0,o=J,t>>>0<=2?W=i[i[(t<<2)+45336>>2]+(o<<2)>>2]:W=0,p0=t>>>0<=2?i[i[(t<<2)+45336>>2]+8>>2]:0,n=(i[(m(t,24)+(A<<2)|0)+45264>>2]+(n<<A<<1)|0)+(u<<1)|0,n=s[n|0]|s[n+1|0]<<8,l[h+158|0]=n,l[h+159|0]=n>>>8,z=s[h+158|0],X0=s[h+159|0],B0(h+80|0,0,1<<J<<J),H=((k<<1)+f|0)+14396|0,X[H>>1]=0,u=k?43:42,q=(k|0)>0,I0=q?17:1,y=f+18548|0,d=(f+Z|0)+18580|0,Q0=X0-1|0,F0=J<<6|((k|0)!=0)<<5|((t|0)!=0)<<4,n=k<<11,Y0=n+(f+2108|0)|0,S0=n+(f+8252|0)|0,D=1,n=z;;){o=(n<<1)+W|0,t=s[o+1|0],w=s[o|0],A0=n,p=(n|0)!=0;e:{A:{if(!(p&n>>>0<z>>>0)){if((n|0)!=(z|0)&&n)break e;Z=0;break A}if(Z=1,n=s[h+80+(w+(t<<J))|0],n=n&1|n>>>1,!f2(y,(i[f+18572>>2]+(k?n+2|0:n)|0)+61|0))break e}if(w&&(n=(w+(t<<J)|0)+h|0,l[n+79|0]=s[n+79|0]|1),_=0,o=0,t&&(n=h+80+(w+(t-1<<J))|0,l[n|0]=s[n|0]|2,o=t),n=((s[h+80+(w+(o<<J))|0]<<2)+F0|0)+95488|0,(z|0)==(A0|0)&&(l[h|0]=1,X[h+48>>1]=1,l[h+32|0]=X0,_=1),f0=i[n>>2],h0=o<<2,j=w<<2,o=(z|0)!=(A0|0)?15:Q0,(o|0)>0)for(I=f0+j|0,n=o;;){t=(n<<1)+p0|0,E=s[t+1|0],w=s[t|0],C=i[f+18572>>2];A:{if(s[R+16821|0]&&(t=u,s[f+32|0]|s[S+33|0]))break A;t=s[(w+I|0)+(E+h0<<A)|0]}if(f2(y,(C+(t&255)|0)+65|0)&&(l[h+_|0]=1,l[(h+32|0)+_|0]=n,X[(h+48|0)+(_<<1)>>1]=1,_=_+1|0,Z=0),t=(n|0)>1,n=n-1|0,!t)break}A:{if((o|0)<0)break A;if(!Z){o=i[f+18572>>2];f:{if(s[R+16821|0]&&(n=u,s[f+32|0]|s[S+33|0]))break f;n=s[(f0+j|0)+(h0<<A)|0]}if(!f2(y,(o+(n&255)|0)+65|0))break A}l[h+_|0]=1,l[(h+32|0)+_|0]=0,X[(h+48|0)+(_<<1)>>1]=1,_=_+1|0}if(!_)break e;Z=1;A:{if((_|0)<=0)break A;p=!D|(q?0:p<<1),I=p<<2,C=f2(y,(i[f+18572>>2]+(I|I0)|0)+109|0);f:{if(C){X[h+48>>1]=Q[h+48>>1]+1,Z=0,o=0;break f}l[h|0]=0,Z=2,o=-1}if(t=1,(_|0)!=1)for(E=(_|0)>=8?8:_,n=1;;){n=(n|0)>0?(C|0)!=1?n+1|0:0:n,w=I+((n|0)>=3?3:n)|0,C=f2(y,(i[f+18572>>2]+(q?w+16|0:w)|0)+109|0);f:{if(C){Z=(h+48|0)+(t<<1)|0,X[Z>>1]=Q[Z>>1]+1,o=(o|0)==-1?t:o,Z=0;break f}l[t+h|0]=0,Z=(Z-1>>>0<2)+Z|0}if(t=t+1|0,(E|0)==(t|0))break}if((o|0)==-1)break A;t=f2(y,(i[f+18572>>2]+(q?p|4:p)|0)+133|0),l[o+h|0]=t,n=(h+48|0)+(o<<1)|0,X[n>>1]=t+Q[n>>1]}A:{if(!k){if(o=i[v+208>>2],t=e>>o,(t|0)<0||(n=i[v+212>>2],(n|0)<=(t|0)))break r;if(o=r>>o,(o|0)<0|(o|0)>=i[v+216>>2])break i;n=s[(t+i[v+200>>2]|0)+m(n,o)|0],o=n>>>0<=34?n:0;break A}if(o=i[v+228>>2],t=e>>o,(t|0)<0||(n=i[v+232>>2],(n|0)<=(t|0)))break r;if(o=r>>o,(o|0)<0|(o|0)>=i[v+236>>2])break i;o=s[(t+i[v+220>>2]|0)+m(n,o)|0]&63}n=0,I=0;A:{if(s[f+32|0]||!(!s[R+16822|0]|n0|(o&239)!=10)&&(I=0,s[S+33|0])||(I=0,s[f+36|0]))break A;I=(l[h+32|0]-l[(h+_|0)+31|0]|0)>3}if(L=_-1|0,(_|0)>1)for(;c0=(h+16|0)+n|0,r2=x1(y),l[c0|0]=r2,n=n+1|0,(L|0)!=(n|0););if(p=0,o=L+(h+16|0)|0,I&s[a+15|0]!=0?n=0:n=x1(y),l[o|0]=n,p=s[R+16827|0]?s[d|0]>>>2|0:p,o=1,C=0,D=0,(_|0)>0)for(;;){E=X[(h+48|0)+(C<<1)>>1],n=-1;A:{if(!s[h+C|0]){n=0;break A}G0=3<<p,t=E,E=t;f:{for(;;){if(f0=x1(y),w=n,t=0,(n|0)==64)break f;if(n=n+1|0,!f0)break}if((w|0)<=2){t=d4(y,p)+(n<<p)|0;break f}n=w-2|0,t=d4(y,n+p|0)+((1<<n)+2<<p)|0}if(n=t,t=E+n|0,!s[R+16827|0]){if(o=0,(t|0)<=(G0|0))break A;p=((p|0)>=3?3:p)+1|0;break A}if(p=((t|0)>(G0|0))+p|0,t=o,o=0,!t)break A;if(w=s[d|0],t=w>>>2|0,3<<t<=(n|0)){l[d|0]=w+1;break A}if(!w|n<<1>=1<<t)break A;l[d|0]=w-1}if(n=n+E|0,n=s[(h+16|0)+C|0]?0-n|0:n,t=(l[(h+32|0)+C|0]<<1)+p0|0,E=s[t+1|0],w=s[t|0],t=(X[H>>1]<<1)+Y0|0,I&s[a+15|0]!=0&&(D=(n&65535)+D|0,n=(C|0)!=(L|0)?n:D&1?0-n|0:n),X[t>>1]=n,X[(X[H>>1]<<1)+S0>>1]=(w+j|0)+(E+h0<<A),X[H>>1]=Q[H>>1]+1,C=C+1|0,(C|0)==(_|0))break}D=Z}if(n=A0-1|0,!((A0|0)>0))break}B=h+160|0;return}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function as(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=Y(0),w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=Y(0),R=0,D=Y(0),z=Y(0),H=0,a=Y(0),S=0,q=0,d=0,A0=Y(0),f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=Y(0),Y0=Y(0),S0=Y(0),c0=Y(0),r2=Y(0),n2=Y(0),s2=0;e=B-112|0,B=e,n=i[r>>2],A=n,p=i[A+28>>2],_=i[A+24>>2],u=i[k+4>>2],A=u,t=A>>>0<4,C=(t?16908801>>>(A<<3)|0:0)&3,R=(t?16843265>>>(A<<3)|0:0)&3,n=U0(n,3);i:{if(n>>>0<=8){i[f>>2]=0,i[f+4>>2]=0;break i}r:{if(H=H2(i[r>>2],6),!H||(U0(i[r>>2],6)|0)==(n|0))break r;i[f>>2]=0,i[f+4>>2]=0;break i}A=U(136),i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=72792,B0(A+20|0,0,104),t=i[A+4>>2],Z=t+1|0,i[A+4>>2]=Z,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,v=A- -64|0,i[v>>2]=0,i[v+4>>2]=0,i[A+132>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+84>>2]=1,i[A+88>>2]=1,i[A+72>>2]=A+76,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,l[A+113|0]=0,l[A+114|0]=0,l[A+115|0]=0,l[A+116|0]=0,l[A+117|0]=0,l[A+118|0]=0,l[A+119|0]=0,l[A+120|0]=0,v=A+12|0,i[A+12>>2]=v,i[A+8>>2]=i[A+8>>2]+1,i[A+4>>2]=t,i[A+16>>2]=A,Z||(V[i[i[A>>2]+8>>2]](A),g(A)),i[v+36>>2]=u,i[v+32>>2]=0,i[v+28>>2]=p,i[v+24>>2]=_,u=((p+R|0)-1|0)/(R|0)|0,t=((_+C|0)-1|0)/(C|0)|0;r:{e:{A:{f:{if(!J0(v,0,_,p,n)||!J0(v,1,t,u,n)||!J0(v,2,t,u,n)||H&&!J0(v,6,_,p,n))break f;i[e+108>>2]=0,i[e+104>>2]=0,i[e+100>>2]=0,i[e+96>>2]=0,i[e+92>>2]=0,i[e+88>>2]=0,i[e+84>>2]=0,i[e+80>>2]=0,S=v0(i[r>>2],3,e+108|0),f0=v0(i[r>>2],4,e+104|0),n0=v0(i[r>>2],5,e+100|0),q=v0(v,0,e+92|0),G0=v0(v,1,e+88|0),I0=v0(v,2,e+84|0),H&&(h0=v0(i[r>>2],6,e+96|0),j=v0(v,6,e+80|0)),i[e+108>>2]=i[e+108>>2]/2,i[e+104>>2]=i[e+104>>2]/2,i[e+100>>2]=i[e+100>>2]/2,i[e+96>>2]=i[e+96>>2]/2,i[e+92>>2]=i[e+92>>2]/2,i[e+88>>2]=i[e+88>>2]/2,i[e+84>>2]=i[e+84>>2]/2,i[e+80>>2]=i[e+80>>2]/2,i[e+76>>2]=-1113159960,i[e+68>>2]=1056964608,i[e+72>>2]=-1093247418,i[e+60>>2]=-1096180881,i[e+64>>2]=1056964608,i[e+52>>2]=1038710997,i[e+56>>2]=-1104361250,i[e+44>>2]=1050220167,i[e+48>>2]=1058424226,l[e+40|0]=1,d=s[k+26|0],L=Q[k+24>>1],Kr(e,L,Q[k+20>>1]),r=i[e+36>>2],i[e+72>>2]=i[e+32>>2],i[e+76>>2]=r,k=i[e+28>>2],r=e- -64|0,i[r>>2]=i[e+24>>2],i[r+4>>2]=k,r=i[e+20>>2],i[e+56>>2]=i[e+16>>2],i[e+60>>2]=r,r=i[e+12>>2],i[e+48>>2]=i[e+8>>2],i[e+52>>2]=r,r=i[e+4>>2],i[e+40>>2]=i[e>>2],i[e+44>>2]=r;k:{if((p|0)<=0)break k;if(u=-1<<n^-1,A0=Y(16<<n-8),y=(_|0)<=0,!y){for(p0=_&2147483644,E=_&3,X0=_>>>0<4;;){t=q+(m(i[e+92>>2],I)<<1)|0,Z=(m(i[e+104>>2],I)<<1)+f0|0;n:{if(L){for(w=(m(i[e+100>>2],I)<<1)+n0|0,W=(m(i[e+108>>2],I)<<1)+S|0,h=Z0[e+52>>2],D=Z0[e+48>>2],z=Z0[e+44>>2],k=0;;){o=k<<1,J=Y(Y(Y(Q[o+w>>1])*h)+Y(Y(Y(Q[o+W>>1])*z)+Y(D*Y(Q[o+Z>>1])))),J=Y((d&1?J:Y(Y(Y(J*Y(219))*Y(.00390625))+A0))+Y(.5));t:{if(Y(d0(J))<Y(2147483648)){r=~~J;break t}r=-2147483648}if(X[t+o>>1]=(r|0)>=0?(r|0)<(u|0)?r:u:0,k=k+1|0,(_|0)==(k|0))break}break n}k=0;t:{if(d&1){if(r=0,w=0,X0)break t;for(;o=r<<1,X[o+t>>1]=Q[o+Z>>1],W=o|2,X[W+t>>1]=Q[Z+W>>1],W=o|4,X[W+t>>1]=Q[Z+W>>1],o=o|6,X[o+t>>1]=Q[o+Z>>1],r=r+4|0,w=w+4|0,(p0|0)!=(w|0););break t}for(;;){o=k<<1,h=Y(Y(Y(Y(Y(Q[o+Z>>1])*Y(219))*Y(.00390625))+A0)+Y(.5));o:{if(Y(d0(h))<Y(2147483648)){r=~~h;break o}r=-2147483648}if(X[t+o>>1]=(r|0)>=0?(r|0)<(u|0)?r:u:0,k=k+1|0,(_|0)==(k|0))break}break n}if(!E)break n;for(;o=r<<1,X[o+t>>1]=Q[o+Z>>1],r=r+1|0,k=k+1|0,(E|0)!=(k|0););}if(I=I+1|0,(I|0)==(p|0))break}if((p|0)<=0)break k}if(y)break A;for(J=Y((1<<n-1&65535)>>>0),k=0,I=(R|0)==2,p0=(C|R)>>>0<2;;){n=i[e+100>>2],t=m(n,k)<<1,Z=t+n0|0,r=i[e+88>>2];n:{if(L){for(w=n,n=k+1|0,n=I&&(n|0)<(p|0)?n:k,o=(m(w,n)<<1)+n0|0,t=i[e+104>>2],E=(m(t,n)<<1)+f0|0,w=n,n=i[e+108>>2],w=(m(w,n)<<1)+S|0,q=(m(k,t)<<1)+f0|0,y=(m(k,n)<<1)+S|0,F0=Z0[e+76>>2],Y0=Z0[e+72>>2],S0=Z0[e+68>>2],c0=Z0[e+64>>2],r2=Z0[e+60>>2],n2=Z0[e+56>>2],n=(k>>>0)/(R>>>0)|0,X0=(m(n,i[e+84>>2])<<1)+I0|0,W=(m(r,n)<<1)+G0|0,r=0;;){n=r<<1,h=Y(Q[n+Z>>1]),D=Y(Q[n+q>>1]),z=Y(Q[n+y>>1]),p0||(t=r+1|0,t=(I&&(C|0)==2&&(t|0)<(_|0)?t:r)<<1,h=Y(Y(Y(Y(h+Y(Q[t+Z>>1]))+Y(Q[n+o>>1]))+Y(Q[t+o>>1]))*Y(.25)),z=Y(Y(Y(Y(z+Y(Q[t+y>>1]))+Y(Q[n+w>>1]))+Y(Q[t+w>>1]))*Y(.25)),D=Y(Y(Y(Y(D+Y(Q[t+q>>1]))+Y(Q[n+E>>1]))+Y(Q[t+E>>1]))*Y(.25))),t=(r>>>0)/(C>>>0)<<1,s2=t+W|0,a=Y(Y(h*c0)+Y(Y(z*n2)+Y(D*r2))),Q0=d&1,a=Y(Y((Q0?a:Y(Y(a*Y(224))*Y(.00390625)))+J)+Y(.5));t:{if(Y(d0(a))<Y(2147483648)){n=~~a;break t}n=-2147483648}X[s2>>1]=(n|0)>=0?(n|0)<(u|0)?n:u:0,t=t+X0|0,h=Y(Y(h*F0)+Y(Y(z*S0)+Y(D*Y0))),h=Y(Y((Q0?h:Y(Y(h*Y(224))*Y(.00390625)))+J)+Y(.5));t:{if(Y(d0(h))<Y(2147483648)){n=~~h;break t}n=-2147483648}if(X[t>>1]=(n|0)>=0?(n|0)<(u|0)?n:u:0,r=r+C|0,!((_|0)>(r|0)))break}break n}if(t=t+S|0,r=m(r,(k>>>0)/(R>>>0)|0)<<1,o=r+I0|0,E=r+G0|0,r=0,!(d&1))for(;;){w=(r>>>0)/(C>>>0)<<1,W=w+E|0,y=r<<1,h=Y(Y(Y(Y(Y(Q[y+Z>>1])*Y(224))*Y(.00390625))+A0)+Y(.5));t:{if(Y(d0(h))<Y(2147483648)){n=~~h;break t}n=-2147483648}X[W>>1]=(n|0)>=0?(n|0)<(u|0)?n:u:0,w=o+w|0,h=Y(Y(Y(Y(Y(Q[t+y>>1])*Y(224))*Y(.00390625))+A0)+Y(.5));t:{if(Y(d0(h))<Y(2147483648)){n=~~h;break t}n=-2147483648}if(X[w>>1]=(n|0)>=0?(n|0)<(u|0)?n:u:0,r=r+C|0,!((_|0)>(r|0)))break n}for(;n=(r>>>0)/(C>>>0)<<1,w=r<<1,X[n+E>>1]=Q[w+Z>>1],X[n+o>>1]=Q[t+w>>1],r=r+C|0,(_|0)>(r|0););}if(k=k+R|0,!((p|0)>(k|0)))break}}if((p|0)>0&H)break e;break r}if(i[f>>2]=0,i[f+4>>2]=0,f=i[A+4>>2],i[A+4>>2]=f-1,f)break i;V[i[i[A>>2]+8>>2]](A),g(A);break i}if(!H)break r}if(n=_<<1,r=0,(p|0)!=1)for(_=p&-2,k=0;l0((m(i[e+80>>2],r)<<1)+j|0,(m(i[e+96>>2],r)<<1)+h0|0,n),u=r|1,l0((m(u,i[e+80>>2])<<1)+j|0,(m(u,i[e+96>>2])<<1)+h0|0,n),r=r+2|0,k=k+2|0,(_|0)!=(k|0););if(!(p&1))break r;l0((m(i[e+80>>2],r)<<1)+j|0,(m(i[e+96>>2],r)<<1)+h0|0,n)}i[f+4>>2]=A,i[f>>2]=v}B=e+112|0}function pA(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=0,r2=0,n2=0,s2=0,W2=0,y2=0,x2=0,T2=0,O2=0,q2=0,b2=0,e1=0,A1=0;n=B-32|0,B=n;i:{r:{t=i[f+276>>2],s2=(A|0)>(t|0)?t:A;e:{if((s2|0)<=(r|0)||(A=i[f+272>>2],W2=(A|0)<(k|0)?A:k,(W2|0)<=0))break e;for(O2=e?1:2,q2=e?2:1,W=i[f+40>>2],b2=W<<1,y2=i[f+124>>2],A=i[y2+16832>>2],x2=A-8|0,z=-1<<A^-1,e1=e?3:2,L=m(W,-3),p0=0-W|0,X0=m(W,3),S=W<<1,G0=0-S|0,Y0=0-(W<<2)|0;;){for(Q0=r<<2,T2=Q0-1|0,A1=Q0>>2,n2=0,S0=0;;){v=S0<<2,A0=s[(i[f+260>>2]+(v>>2)|0)+m(i[f+272>>2],A1)|0]&3;A:{if(!A0)break A;A=i[f+4>>2],k=m(i[f+40>>2],Q0),h=v+(A+k|0)|0;f:{if(!e){l[n+16|0]=s[h|0],l[n|0]=s[h+p0|0],l[n+17|0]=s[h+W|0],l[n+1|0]=s[h+G0|0],l[n+18|0]=s[h+S|0],o=s[h+L|0],l[n+2|0]=o,l[n+19|0]=s[h+X0|0],I=s[h+Y0|0],l[n+3|0]=I,A=h+1|0,l[n+20|0]=s[A|0],l[n+4|0]=s[A+p0|0],l[n+21|0]=s[A+W|0],l[n+5|0]=s[A+G0|0],l[n+22|0]=s[A+S|0],l[n+6|0]=s[A+L|0],l[n+23|0]=s[A+X0|0],l[n+7|0]=s[A+Y0|0],A=h+2|0,l[n+24|0]=s[A|0],l[n+8|0]=s[A+p0|0],l[n+25|0]=s[A+W|0],l[n+9|0]=s[A+G0|0],l[n+26|0]=s[A+S|0],l[n+10|0]=s[A+L|0],l[n+27|0]=s[A+X0|0],l[n+11|0]=s[A+Y0|0],k=h+3|0,l[n+28|0]=s[k|0],A=s[k+p0|0],l[n+12|0]=A,l[n+29|0]=s[k+W|0],t=s[k+G0|0],l[n+13|0]=t,l[n+30|0]=s[k+S|0],u=s[k+L|0],l[n+14|0]=u,l[n+31|0]=s[k+X0|0],k=k+Y0|0;break f}A=A+(k+(n2<<e1)|0)|0,i[n+16>>2]=s[A|0]|s[A+1|0]<<8|(s[A+2|0]<<16|s[A+3|0]<<24),l[n|0]=s[h-1|0],l[n+1|0]=s[h-2|0],o=s[h-3|0],l[n+2|0]=o,I=s[h-4|0],l[n+3|0]=I,k=A+W|0,i[n+20>>2]=s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24),k=h+W|0,l[n+4|0]=s[k-1|0],l[n+5|0]=s[k-2|0],l[n+6|0]=s[k-3|0],l[n+7|0]=s[k-4|0],k=A+S|0,i[n+24>>2]=s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24),k=h+S|0,l[n+8|0]=s[k-1|0],l[n+9|0]=s[k-2|0],l[n+10|0]=s[k-3|0],l[n+11|0]=s[k-4|0],A=A+X0|0,i[n+28>>2]=s[A|0]|s[A+1|0]<<8|(s[A+2|0]<<16|s[A+3|0]<<24),k=h+X0|0,A=s[k-1|0],l[n+12|0]=A,t=s[k-2|0],l[n+13|0]=t,u=s[k-3|0],l[n+14|0]=u,k=k-4|0}if(c0=s[k|0],l[n+15|0]=c0,E=i[f+168>>2],k=v>>E,(k|0)<0||(C=i[f+172>>2],(C|0)<=(k|0)))break i;if(Z=Q0>>E,(Z|0)<0||(H=i[f+176>>2],(H|0)<=(Z|0)))break r;J=i[f+160>>2],a=J+m(k,3)|0,w=m(m(C,Z),3),q=a+w|0,I0=l[q+2|0];f:{if(!e){if(k=T2>>E,(k|0)<0|(k|0)>=(H|0))break r;k=(a+m(m(k,C),3)|0)+2|0;break f}if(k=v-1>>E,(k|0)<0|k>>>0>=C>>>0)break i;k=(w+(J+m(k,3)|0)|0)+2|0}if(p=i[f+148>>2],Z=v>>p,(Z|0)<0||(f0=i[f+152>>2],(f0|0)<=(Z|0)))break i;if(p=Q0>>p,(p|0)<0|(p|0)>=i[f+156>>2])break r;if(R=s[n+28|0],n0=R+(s[n+30|0]-(s[n+29|0]<<1)|0)|0,_=n0>>31,u=(u&255)-(t<<1)|0,t=A,h0=u+A|0,A=h0>>31,u=s[n+16|0],r2=u+(s[n+18|0]-(s[n+17|0]<<1)|0)|0,d=r2>>31,y=o-(s[n+1|0]<<1)|0,o=s[n|0],y=y+o|0,j=y>>31,n0=(_^n0)-_|0,h0=(A^h0)-A|0,D=n0+h0|0,d=(d^r2)-d|0,j=(y^j)-j|0,_=d+j|0,k=(I0+l[k|0]|0)+1>>1,A=i[i[f+52>>2]+(Q[((i[f+140>>2]+m(Z,24)|0)+m(m(p,f0),24)|0)+2>>1]<<2)>>2],Z=k+i[A+764>>2]|0,Z=(Z|0)>=51?51:Z,p=s[((Z|0)>0?Z:0)+42960|0]<<x2,(D+_|0)>=(p|0))break A;A=(i[A+768>>2]+(k+(A0<<1)|0)|0)-2|0,A=(A|0)>=53?53:A,Z=s[((A|0)>0?A:0)+43024|0]<<x2,A=0,A0=p>>>2|0,k=0;f:{if(A0>>>0<=_<<1>>>0||(I0=u-s[n+19|0]|0,_=I0>>31,f0=I-o|0,I=f0>>31,k=0,(_^I0)-_+((I^f0)-I)>>>0>=p>>>3>>>0))break f;o=o-u|0,k=o>>31,k=((k^o)-k|0)<m(Z,5)+1>>1}o=k;f:{if(A0>>>0<=D<<1>>>0||(I=R-s[n+31|0]|0,k=I>>31,_=c0-t|0,u=_>>31,(k^I)-k+((u^_)-u)>>>0>=p>>>3>>>0))break f;k=t-R|0,A=k>>31,A=((A^k)-A|0)<m(Z,5)+1>>1}u=s[y2+8812|0];f:{if(!e){if(t=T2>>E,u){if((t|0)<0|(t|0)>=(H|0))break r;k=!(s[(a+m(m(t,C),3)|0)+1|0]&4)}else k=1;if((t|0)<0|(t|0)>=(H|0))break r;t=a+m(m(t,C),3)|0;break f}if(t=v-1>>E,u){if((t|0)<0|t>>>0>=C>>>0)break i;k=!(s[(w+(J+m(t,3)|0)|0)+1|0]&4)}else k=1;if((t|0)<0|t>>>0>=C>>>0)break i;t=w+(J+m(t,3)|0)|0}for(A0=A&o,H=!(s[t+1|0]&8)&k,A=p+(p>>>1|0)>>>3|0,j=H&A>>>0>j+h0>>>0,k=A>>>0>d+n0>>>0,A=s[q|0]|s[q+1|0]<<8,p=!(A&2048)&(!u|!(A&1024)),c0=k&p,t=Z<<1,A=0,d=0-Z|0,I0=m(Z,10),f0=h+1|0,n0=h+W|0,h0=h-2|0,r2=h-1|0,I=Z>>1,q=0-I|0;;){C=A<<2,k=C+n|0,o=s[k+1|0],w=C+(n+16|0)|0,J=s[w+2|0],C=s[w+1|0],v=s[w|0],a=s[k+2|0],E=s[k|0];f:{if(!A0){if(k=(m(v-E|0,9)+m(C-o|0,-3)|0)+8>>4,w=k>>31,(I0|0)<=((k^w)-w|0))break f;w=(k|0)<(d|0)?d:(k|0)<(Z|0)?k:Z;k:{n:{if(!e){if(H&&(k=w+E|0,l[h+(A-W|0)|0]=(k|0)>=0?(k|0)<(z|0)?k:z:0),!p)break k;k=v-w|0,u=(k|0)>=0?(k|0)<(z|0)?k:z:0,k=A;break n}if(H&&(k=w+E|0,l[r2+m(A,W)|0]=(k|0)>=0?(k|0)<(z|0)?k:z:0),!p)break k;k=v-w|0,u=(k|0)>=0?(k|0)<(z|0)?k:z:0,k=m(A,W)}l[k+h|0]=u}if(j&&(k=w+(((E+a|0)+1>>>1|0)-o|0)>>1,k=((k|0)<(q|0)?q:(k|0)<(I|0)?k:I)+o|0,l[(e?h0+m(A,W)|0:h+(A-b2|0)|0)|0]=(k|0)>=0?(k|0)<(z|0)?k:z:0),!c0)break f;if(k=((v+J|0)+1>>>1)-(w+C)>>1,k=C+((k|0)<(q|0)?q:(k|0)<(I|0)?k:I)|0,k=(k|0)>=0?(k|0)<(z|0)?k:z:0,!e){l[A+n0|0]=k;break f}l[f0+m(A,W)|0]=k;break f}if(R=C-t|0,_=v+E|0,y=_+C|0,u=(y+J|0)+2>>>2|0,D=t+C|0,u=(u|0)<(R|0)?R:(u|0)<(D|0)?u:D,D=o-t|0,_=o+_|0,R=(_+a|0)+2>>>2|0,F0=t+o|0,R=(R|0)<(D|0)?D:(R|0)<(F0|0)?R:F0,D=J-t|0,w=((y+m(J,3)|0)+(s[w+3|0]<<1)|0)+4>>>3|0,y=t+J|0,w=(w|0)<(D|0)?D:(w|0)<(y|0)?w:y,y=a-t|0,k=((_+m(a,3)|0)+(s[k+3|0]<<1)|0)+4>>>3|0,_=t+a|0,_=(k|0)<(y|0)?y:(k|0)<(_|0)?k:_,y=v-t|0,F0=v<<1,D=(E<<1)+4|0,k=J+((F0+(D+o|0)|0)+(C<<1)|0)>>>3|0,v=t+v|0,v=(k|0)<(y|0)?y:(k|0)<(v|0)?k:v,J=E-t|0,k=C+(F0+((a+D|0)+(o<<1)|0)|0)>>>3|0,o=t+E|0,o=(k|0)<(J|0)?J:(k|0)<(o|0)?k:o,!e){if(k=A+h|0,!H){if(!p)break f;l[k|0]=v,l[k+W|0]=u,l[k+S|0]=w;break f}if(!p){l[k+p0|0]=o,l[k+G0|0]=R,l[k+L|0]=_;break f}l[k+p0|0]=o,l[k|0]=v,l[k+G0|0]=R,l[k+W|0]=u,l[k+L|0]=_,l[k+S|0]=w;break f}if(k=h+m(A,W)|0,H&&(l[k-1|0]=o),p&&(l[k|0]=v),H&&(l[k-2|0]=R),p&&(l[k+1|0]=u),H&&(l[k-3|0]=_),!p)break f;l[k+2|0]=w}if(A=A+1|0,(A|0)==4)break}}if(n2=n2+1|0,S0=S0+q2|0,!((W2|0)>(S0|0)))break}if(r=r+O2|0,!((s2|0)>(r|0)))break}}B=n+32|0;return}C0(3720,8453,119,3372),P()}C0(3758,8453,118,3372),P()}function mr(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=0;A=i[f+18588>>2],I=i[A+132>>2],R=i[A+124>>2],a=i[R+16892>>2];i:{r:{e:{A:{if(!s[I+45|0]|r||(r=i[f+12>>2],i[f+8>>2]|(r|0)<=0))break A;if(S=2,(a|0)>=2){if(r=r-1|0,k=i[f+18596>>2],r>>>0>=i[k+472>>2]-i[k+468>>2]>>3>>>0)break e;i8(A,i[f+18604>>2],1,r,1),Ii(f+18572|0,(i[i[f+18596>>2]+468>>2]+(i[f+12>>2]<<3)|0)-8|0),F9((i[i[f+18596>>2]+468>>2]+(i[f+12>>2]<<3)|0)-8|0);break A}if(i8(A,i[f+18604>>2],0,r-1|0,1),r=i[f+18592>>2],A=i[r+804>>2],A>>>0>=3)break r;k6(f+18572|0,A,i[r+800>>2]),l[f+18580|0]=0,l[f+18581|0]=0,l[f+18582|0]=0,l[f+18583|0]=0}for(q=f+18548|0,h0=f+18572|0,p0=a-1|0,W=i[f+12>>2],r=i[f+8>>2],S=2;;){if(j=m(W,a)+r|0,i[R+16892>>2]<=(r|0)|j>>>0>=i[I+8452>>2]-i[I+8448>>2]>>2>>>0|i[R+16900>>2]<=(W|0)||(!e|(W|0)<=0|(r|0)>=(p0|0)||i8(i[f+18588>>2],i[f+18604>>2],r+1|0,W-1|0,1),!i[f+18576>>2]))break e;d=0,L=0,k=i[f>>2],A=i[f+18588>>2],A0=i[A+124>>2],n=i[A0+16892>>2],_=(k|0)/(n|0)|0,C=k-m(n,_)|0,n=i[A0+16876>>2],w=C<<n,k=i[f+18592>>2],t=i[A+152>>2],(t|0)<=(C|0)|(_|0)>=i[A+156>>2]||(X[(i[A+140>>2]+m(m(t,_),24)|0)+m(C,24)>>1]=i[k+808>>2]);A:{f:{if(o=i[A+148>>2],u=w>>o,!((u|0)<0|(t|0)<=(u|0))){if(J=_<<n,o=J>>o,(o|0)<0|(o|0)>=i[A+156>>2])break f;if(X[((i[A+140>>2]+m(u,24)|0)+m(m(t,o),24)|0)+2>>1]=i[k>>2],X0=w,G0=J,s[k+333|0]|s[k+334|0]){h=0,u=B-32|0,B=u,D=i[f+18592>>2],v=i[f+18588>>2],f0=i[v+132>>2],n=i[v+124>>2],l[u+24|0]=0,i[u+16>>2]=0,i[u+20>>2]=0,i[u+8>>2]=0,i[u+12>>2]=0,A=0;k:{if((C|0)<=0||(A=0,i[f>>2]<=i[D+808>>2])||(o=C<<2,k=i[f0+8484>>2],t=m(_,i[n+16892>>2])<<2,A=0,i[o+(k+t|0)>>2]!=i[(t+(k+o|0)|0)-4>>2]))break k;A=f2(f+18548|0,i[f+18572>>2])}k=A;k:{if(k&255|(_|0)<=0||(A=i[n+16892>>2],i[D+808>>2]>(i[f>>2]-A|0))||(o=C<<2,t=i[f0+8484>>2],i[o+(t+(m(A,_)<<2)|0)>>2]!=i[o+(t+(m(A,_-1|0)<<2)|0)>>2]))break k;d=f2(f+18548|0,i[f+18572>>2])}if(!((k|d)&255)){for(o=f+18548|0,A=u+8|0,I0=A|2,Q0=A|5,F0=i[n+16848>>2],t=s[u+9|0],n=s[u+8|0],z=0;;){k:{n:{t:{o:{u:{if(!s[D+333|0]||h){if(!h|!s[D+334|0])break k;if((h|0)!=1)break t;if(f2(o,i[f+18572>>2]+1|0))break u;A=0;break o}f2(o,i[f+18572>>2]+1|0)?n=x1(o)?2:1:n=0,z=n,A=n;break n}A=x1(o)?2:1}n=A<<2|A<<4|z,z=n;break n}A=(z&255)>>>(h<<1)&3}if(!A)break k;Z=(h<<2)+Q0|0,w=h?16840:16832,p=i[w+i[v+124>>2]>>2],p=Q6(o,-1<<((p|0)>=10?10:p)-5^-1),l[Z|0]=p,y=i[w+i[v+124>>2]>>2],y=Q6(o,-1<<((y|0)>=10?10:y)-5^-1),l[Z+1|0]=y,E=i[w+i[v+124>>2]>>2],E=Q6(o,-1<<((E|0)>=10?10:E)-5^-1),l[Z+2|0]=E,w=i[w+i[v+124>>2]>>2],H=Q6(o,-1<<((w|0)>=10?10:w)-5^-1),l[Z+3|0]=H;n:{if((A|0)==1){A=0,J=0,p&255&&(J=x1(o)?-1:1),y&255&&(A=x1(o)?-1:1),w=0,n0=0,E&255&&(n0=x1(o)?-1:1),H&255&&(w=x1(o)?-1:1),S0=h+I0|0,c0=d4(o,5),l[S0|0]=c0,H=s[Z+3|0],E=s[Z+2|0],y=s[Z+1|0],p=s[Z|0];break n}t:{o:{if(!h){A=1,w=-1,t=d4(o,2);break o}if(A=1,w=-1,(h|0)!=1)break t;t=d4(o,2),t=t<<2|t<<4|L}L=t}n0=-1,J=1}Y0=p,p=s[(h?8264:8263)+f0|0],l[Z|0]=m(Y0<<p,J),l[Z+1|0]=m(y<<p,A),l[Z+2|0]=m(E<<p,n0),l[Z+3|0]=m(H<<p,w)}if(!(F0&&(A=h>>>0<2,h=h+1|0,A)))break}l[u+9|0]=t,l[u+8|0]=n,A=(i[v+140>>2]+m(m(_,i[v+152>>2]),24)|0)+m(C,24)|0,l[A+20|0]=s[u+24|0],n=i[u+20>>2],t=i[u+16>>2],l[A+12|0]=t,l[A+13|0]=t>>>8,l[A+14|0]=t>>>16,l[A+15|0]=t>>>24,l[A+16|0]=n,l[A+17|0]=n>>>8,l[A+18|0]=n>>>16,l[A+19|0]=n>>>24,n=i[u+12>>2],t=i[u+8>>2],l[A+4|0]=t,l[A+5|0]=t>>>8,l[A+6|0]=t>>>16,l[A+7|0]=t>>>24,l[A+8|0]=n,l[A+9|0]=n>>>8,l[A+10|0]=n>>>16,l[A+11|0]=n>>>24}k&255&&(A=(i[v+140>>2]+m(m(_,i[v+152>>2]),24)|0)+m(C,24)|0,k=A-24|0,l[A+20|0]=s[k+20|0],n=s[k+16|0]|s[k+17|0]<<8|(s[k+18|0]<<16|s[k+19|0]<<24),t=s[k+12|0]|s[k+13|0]<<8|(s[k+14|0]<<16|s[k+15|0]<<24),l[A+12|0]=t,l[A+13|0]=t>>>8,l[A+14|0]=t>>>16,l[A+15|0]=t>>>24,l[A+16|0]=n,l[A+17|0]=n>>>8,l[A+18|0]=n>>>16,l[A+19|0]=n>>>24,n=s[k+8|0]|s[k+9|0]<<8|(s[k+10|0]<<16|s[k+11|0]<<24),k=s[k+4|0]|s[k+5|0]<<8|(s[k+6|0]<<16|s[k+7|0]<<24),l[A+4|0]=k,l[A+5|0]=k>>>8,l[A+6|0]=k>>>16,l[A+7|0]=k>>>24,l[A+8|0]=n,l[A+9|0]=n>>>8,l[A+10|0]=n>>>16,l[A+11|0]=n>>>24),d&255&&(t=m(C,24),n=i[v+140>>2],k=i[v+152>>2],A=t+(n+m(m(k,_),24)|0)|0,k=t+(n+m(m(k,_-1|0),24)|0)|0,l[A+20|0]=s[k+20|0],n=s[k+16|0]|s[k+17|0]<<8|(s[k+18|0]<<16|s[k+19|0]<<24),t=s[k+12|0]|s[k+13|0]<<8|(s[k+14|0]<<16|s[k+15|0]<<24),l[A+12|0]=t,l[A+13|0]=t>>>8,l[A+14|0]=t>>>16,l[A+15|0]=t>>>24,l[A+16|0]=n,l[A+17|0]=n>>>8,l[A+18|0]=n>>>16,l[A+19|0]=n>>>24,n=s[k+8|0]|s[k+9|0]<<8|(s[k+10|0]<<16|s[k+11|0]<<24),k=s[k+4|0]|s[k+5|0]<<8|(s[k+6|0]<<16|s[k+7|0]<<24),l[A+4|0]=k,l[A+5|0]=k>>>8,l[A+6|0]=k>>>16,l[A+7|0]=k>>>24,l[A+8|0]=n,l[A+9|0]=n>>>8,l[A+10|0]=n>>>16,l[A+11|0]=n>>>24),B=u+32|0,n=i[A0+16876>>2]}vr(f,X0,G0,n,0);break A}C0(3758,8453,128,3372),P()}C0(3720,8453,129,3372),P()}if(!(!s[I+45|0]|(r|0)!=1|(i[R+16900>>2]-1|0)<=(W|0))){if(A=i[f+18596>>2],r=i[A+468>>2],i[A+472>>2]-r>>3>>>0<=W>>>0)break e;n=r,r=W<<3,Ii(n+r|0,h0),X9(r+i[i[f+18596>>2]+468>>2]|0)}if(k=t3(q),!k|!s[I+14|0]||(Ii(i[f+18592>>2]+1340|0,h0),X9(i[f+18592>>2]+1340|0),l[i[f+18592>>2]+1348|0]=1),r=i[i[f+18588>>2]+320>>2]+m(j,76)|0,i[r>>2]<=0&&(i[r>>2]=1),u=i[f+4>>2],A=u+1|0,i[f+4>>2]=A,o=i[f+12>>2],h=i[f+18588>>2],t=i[h+124>>2],n=i[t+16908>>2],t=i[t+16892>>2],r=(A|0)<(n|0)?i[i[i[h+132>>2]+8460>>2]+(A<<2)>>2]:n,i[f>>2]=r,W=(r|0)/(t|0)|0,i[f+12>>2]=W,r=r-m(t,W)|0,i[f+8>>2]=r,!((A|0)<(n|0)|k)){v2(i[f+18584>>2]+4|0,1004,0);break i}if(k)return 0;if(s[I+46|0]?(n=A<<2,A=i[I+8472>>2],n=i[n+A>>2]!=i[A+(u<<2)>>2]):n=0,!!(n|s[I+45|0]!=0&(o|0)!=(W|0)))break}if(!t3(q)){v2(i[f+18584>>2]+4|0,1017,0);break i}Y6(q),S=1}return S}C0(16898,14036,1520,4043),P()}return l[i[f+18588>>2]+312|0]=3,2}function Ss(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=Y(0),o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=Y(0),a=Y(0),S=Y(0),q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=Y(0),X0=Y(0),G0=Y(0);e=B-112|0,B=e,A=i[r>>2],u=i[A+28>>2],h=i[A+24>>2],w=i[k+4>>2],n=w>>>0<4,o=w<<3,p=(n?16908801>>>o|0:0)&3,W=(n?16843265>>>o|0:0)&3;i:{if((U0(A,3)|0)!=8){i[f>>2]=0,i[f+4>>2]=0;break i}r:{if(D=H2(i[r>>2],6),!D||(U0(i[r>>2],6)|0)==8)break r;i[f>>2]=0,i[f+4>>2]=0;break i}n=U(136),A=n,i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=72792,B0(A+20|0,0,104),v=i[A+4>>2],o=v+1|0,i[A+4>>2]=o,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,A=A- -64|0,i[A>>2]=0,i[A+4>>2]=0,i[n+132>>2]=0,i[n+124>>2]=0,i[n+128>>2]=0,i[n+84>>2]=1,i[n+88>>2]=1,i[n+72>>2]=n+76,i[n+92>>2]=0,i[n+96>>2]=0,i[n+100>>2]=0,i[n+104>>2]=0,i[n+108>>2]=0,i[n+112>>2]=0,l[n+113|0]=0,l[n+114|0]=0,l[n+115|0]=0,l[n+116|0]=0,l[n+117|0]=0,l[n+118|0]=0,l[n+119|0]=0,l[n+120|0]=0,_=n+12|0,i[n+12>>2]=_,i[n+8>>2]=i[n+8>>2]+1,i[n+4>>2]=v,i[n+16>>2]=n,o||(V[i[i[n>>2]+8>>2]](n),g(n)),i[_+36>>2]=w,i[_+32>>2]=0,i[_+28>>2]=u,i[_+24>>2]=h,o=((u+W|0)-1|0)/(W|0)|0,A=((h+p|0)-1|0)/(p|0)|0;r:{e:{A:{f:{k:{if(!J0(_,0,h,u,8)||!J0(_,1,A,o,8)||!J0(_,2,A,o,8)||D&&!J0(_,6,h,u,8))break k;if(i[e+108>>2]=0,i[e+104>>2]=0,i[e+100>>2]=0,i[e+96>>2]=0,i[e+92>>2]=0,i[e+88>>2]=0,i[e+84>>2]=0,i[e+80>>2]=0,J=v0(i[r>>2],3,e+108|0),I=v0(i[r>>2],4,e+104|0),R=v0(i[r>>2],5,e+100|0),C=v0(_,0,e+92|0),q=v0(_,1,e+88|0),d=v0(_,2,e+84|0),D&&(A0=v0(i[r>>2],6,e+96|0),f0=v0(_,6,e+80|0)),i[e+76>>2]=-1113159960,i[e+68>>2]=1056964608,i[e+72>>2]=-1093247418,i[e+60>>2]=-1096180881,i[e+64>>2]=1056964608,i[e+52>>2]=1038710997,i[e+56>>2]=-1104361250,i[e+44>>2]=1050220167,i[e+48>>2]=1058424226,l[e+40|0]=1,z=s[k+26|0],y=Q[k+24>>1],Kr(e,y,Q[k+20>>1]),r=i[e+36>>2],i[e+72>>2]=i[e+32>>2],i[e+76>>2]=r,r=i[e+28>>2],A=e- -64|0,i[A>>2]=i[e+24>>2],i[A+4>>2]=r,r=i[e+20>>2],i[e+56>>2]=i[e+16>>2],i[e+60>>2]=r,r=i[e+12>>2],i[e+48>>2]=i[e+8>>2],i[e+52>>2]=r,r=i[e+4>>2],i[e+40>>2]=i[e>>2],i[e+44>>2]=r,(u|0)<=0)break r;if((h|0)<=0)break e;if(!y)break f;for(A=0;;){for(r=0;;){Z=(C+m(i[e+92>>2],A)|0)+r|0,t=Y(Y(Y(s[(m(i[e+100>>2],A)+R|0)+r|0])*Z0[e+52>>2])+Y(Y(Y(s[(J+m(i[e+108>>2],A)|0)+r|0])*Z0[e+44>>2])+Y(Z0[e+48>>2]*Y(s[(I+m(i[e+104>>2],A)|0)+r|0])))),t=Y((z&1?t:Y(Y(Y(t*Y(219))*Y(.00390625))+Y(16)))+Y(.5));n:{if(Y(d0(t))<Y(2147483648)){k=~~t;break n}k=-2147483648}if(l[Z|0]=(k|0)>=0?k>>>0>=255?255:k:0,r=r+1|0,(h|0)==(r|0))break}if(A=A+1|0,(u|0)==(A|0))break}break A}if(i[f>>2]=0,i[f+4>>2]=0,f=i[n+4>>2],i[n+4>>2]=f-1,f)break i;V[i[i[n>>2]+8>>2]](n),g(n);break i}if(!(z&1)){for(k=0;;){for(r=0;;){Z=(C+m(i[e+92>>2],k)|0)+r|0,t=Y(Y(Y(Y(Y(s[(I+m(i[e+104>>2],k)|0)+r|0])*Y(219))*Y(.00390625))+Y(16))+Y(.5));f:{if(Y(d0(t))<Y(2147483648)){A=~~t;break f}A=-2147483648}if(l[Z|0]=(A|0)>=0?A>>>0>=255?255:A:0,r=r+1|0,(h|0)==(r|0))break}if(k=k+1|0,(u|0)==(k|0))break}break A}for(w=h&2147483646,v=h&1,A=0;;){if(r=0,k=0,(h|0)!=1)for(;l[(C+m(i[e+92>>2],A)|0)+r|0]=s[(I+m(i[e+104>>2],A)|0)+r|0],o=r|1,l[o+(C+m(i[e+92>>2],A)|0)|0]=s[o+(I+m(i[e+104>>2],A)|0)|0],r=r+2|0,k=k+2|0,(w|0)!=(k|0););if(v&&(l[(C+m(i[e+92>>2],A)|0)+r|0]=s[(I+m(i[e+104>>2],A)|0)+r|0]),A=A+1|0,(u|0)==(A|0))break}}if((u|0)<=0)break r;if(y){for(k=0,h0=(W|0)==2,L=(p|W)>>>0<2;;){for(r=k+1|0,n0=h0&&(r|0)<(u|0)?r:k,j=(k>>>0)/(W>>>0)|0,r=0;;){C=i[e+100>>2],A=m(C,k)+R|0,H=Y(s[A+r|0]),y=i[e+104>>2],w=I+m(y,k)|0,a=Y(s[w+r|0]),v=i[e+108>>2],o=J+m(v,k)|0,S=Y(s[o+r|0]),L||(Z=A,A=r+1|0,E=h0&&(p|0)==2&&(A|0)<(h|0)?A:r,A=m(C,n0)+R|0,H=Y(Y(Y(Y(H+Y(s[Z+E|0]))+Y(s[A+r|0]))+Y(s[A+E|0]))*Y(.25)),A=I+m(y,n0)|0,a=Y(Y(Y(Y(a+Y(s[w+E|0]))+Y(s[A+r|0]))+Y(s[A+E|0]))*Y(.25)),A=J+m(v,n0)|0,S=Y(Y(Y(Y(S+Y(s[o+E|0]))+Y(s[A+r|0]))+Y(s[A+E|0]))*Y(.25))),p0=Z0[e+76>>2],X0=Z0[e+68>>2],G0=Z0[e+72>>2],w=(r>>>0)/(p>>>0)|0,Z=w+(m(j,i[e+88>>2])+q|0)|0,t=Y(Y(H*Z0[e+64>>2])+Y(Y(S*Z0[e+56>>2])+Y(a*Z0[e+60>>2]))),v=z&1,t=Y(Y((v?t:Y(Y(t*Y(224))*Y(.00390625)))+Y(128))+Y(.5));A:{if(Y(d0(t))<Y(2147483648)){A=~~t;break A}A=-2147483648}l[Z|0]=(A|0)>=0?A>>>0>=255?255:A:0,Z=w+(m(j,i[e+84>>2])+d|0)|0,t=Y(Y(H*p0)+Y(Y(S*X0)+Y(a*G0))),t=Y(Y((v?t:Y(Y(t*Y(224))*Y(.00390625)))+Y(128))+Y(.5));A:{if(Y(d0(t))<Y(2147483648)){A=~~t;break A}A=-2147483648}if(l[Z|0]=(A|0)>=0?A>>>0>=255?255:A:0,r=r+p|0,!((h|0)>(r|0)))break}if(k=k+W|0,!((u|0)>(k|0)))break}break e}if(A=0,!(z&1))for(;;){for(w=(A>>>0)/(W>>>0)|0,r=0;;){v=(r>>>0)/(p>>>0)|0,Z=v+(m(w,i[e+88>>2])+q|0)|0,t=Y(Y(Y(Y(Y(s[(m(i[e+100>>2],A)+R|0)+r|0])*Y(224))*Y(.00390625))+Y(16))+Y(.5));A:{if(Y(d0(t))<Y(2147483648)){k=~~t;break A}k=-2147483648}l[Z|0]=(k|0)>=0?k>>>0>=255?255:k:0,Z=v+(m(w,i[e+88>>2])+d|0)|0,t=Y(Y(Y(Y(Y(s[(J+m(i[e+100>>2],A)|0)+r|0])*Y(224))*Y(.00390625))+Y(16))+Y(.5));A:{if(Y(d0(t))<Y(2147483648)){k=~~t;break A}k=-2147483648}if(l[Z|0]=(k|0)>=0?k>>>0>=255?255:k:0,r=r+p|0,!((h|0)>(r|0)))break}if(A=A+W|0,!((u|0)>(A|0)))break e}for(;;){for(o=(A>>>0)/(W>>>0)|0,r=0;k=(r>>>0)/(p>>>0)|0,l[k+(m(o,i[e+88>>2])+q|0)|0]=s[(m(i[e+100>>2],A)+R|0)+r|0],l[k+(m(o,i[e+88>>2])+d|0)|0]=s[(J+m(i[e+100>>2],A)|0)+r|0],r=r+p|0,(h|0)>(r|0););if(A=A+W|0,!((u|0)>(A|0)))break}}if(D^1|(u|0)<=0)break r;if(r=0,(u|0)!=1)for(o=u&2147483646,A=0;l0(m(i[e+80>>2],r)+f0|0,m(i[e+96>>2],r)+A0|0,h),k=r|1,l0(m(k,i[e+80>>2])+f0|0,m(k,i[e+96>>2])+A0|0,h),r=r+2|0,A=A+2|0,(o|0)!=(A|0););if(!(u&1))break r;l0(m(i[e+80>>2],r)+f0|0,m(i[e+96>>2],r)+A0|0,h)}i[f+4>>2]=n,i[f>>2]=_}B=e+112|0}function Ck(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0;W=B-48|0,B=W,U2(+f),_=j0(1)|0,r=j0(0)|0;i:{r:{u=_&2147483647;e:{if(u>>>0<=1074752122){if((_&1048575)==598523)break e;if(u>>>0<=1073928572){if((_|0)>0|(_|0)>=0){f=f+-1.5707963267341256,n=f+-6077100506506192e-26,i0[e>>3]=n,i0[e+8>>3]=f-n+-6077100506506192e-26,A=1;break i}f=f+1.5707963267341256,n=f+6077100506506192e-26,i0[e>>3]=n,i0[e+8>>3]=f-n+6077100506506192e-26,A=-1;break i}if((_|0)>0|(_|0)>=0){f=f+-3.1415926534682512,n=f+-12154201013012384e-26,i0[e>>3]=n,i0[e+8>>3]=f-n+-12154201013012384e-26,A=2;break i}f=f+3.1415926534682512,n=f+12154201013012384e-26,i0[e>>3]=n,i0[e+8>>3]=f-n+12154201013012384e-26,A=-2;break i}if(u>>>0<=1075594811){if(u>>>0<=1075183036){if((u|0)==1074977148)break e;if((_|0)>0|(_|0)>=0){f=f+-4.712388980202377,n=f+-18231301519518578e-26,i0[e>>3]=n,i0[e+8>>3]=f-n+-18231301519518578e-26,A=3;break i}f=f+4.712388980202377,n=f+18231301519518578e-26,i0[e>>3]=n,i0[e+8>>3]=f-n+18231301519518578e-26,A=-3;break i}if((u|0)==1075388923)break e;if((_|0)>0|(_|0)>=0){f=f+-6.2831853069365025,n=f+-2430840202602477e-25,i0[e>>3]=n,i0[e+8>>3]=f-n+-2430840202602477e-25,A=4;break i}f=f+6.2831853069365025,n=f+2430840202602477e-25,i0[e>>3]=n,i0[e+8>>3]=f-n+2430840202602477e-25,A=-4;break i}if(u>>>0>1094263290)break r}w=f*.6366197723675814+6755399441055744+-6755399441055744,n=f+w*-1.5707963267341256,v=w*6077100506506192e-26,R=n-v,r=R<-.7853981633974483,d0(w)<2147483648?A=~~w:A=-2147483648;e:{if(r){A=A-1|0,w=w+-1,v=w*6077100506506192e-26,n=f+w*-1.5707963267341256;break e}if(!(R>.7853981633974483))break e;A=A+1|0,w=w+1,v=w*6077100506506192e-26,n=f+w*-1.5707963267341256}f=n-v,i0[e>>3]=f,U2(+f),r=j0(1)|0,j0(0)|0,_=u>>>20|0;e:{if((_-(r>>>20&2047)|0)<17||(v=n,f=w*6077100506303966e-26,n=n-f,v=w*20222662487959506e-37-(v-n-f),f=n-v,i0[e>>3]=f,U2(+f),r=j0(1)|0,j0(0)|0,(_-(r>>>20&2047)|0)<50))break e;v=n,f=w*20222662487111665e-37,n=n-f,v=w*84784276603689e-45-(v-n-f),f=n-v,i0[e>>3]=f}i0[e+8>>3]=n-f-v;break i}if(u>>>0>=2146435072){f=f-f,i0[e>>3]=f,i0[e+8>>3]=f;break i}for(A=W+16|0,k=A|8,N2(0,r|0),N2(1,_&1048575|1096810496),f=+m1(),r=1;d0(f)<2147483648?h=~~f:h=-2147483648,n=+(h|0),i0[A>>3]=n,f=(f-n)*16777216,h=r,r=0,A=k,!!h;);for(i0[W+32>>3]=f,A=2;r=A,A=r-1|0,E=W+16|0,i0[E+(r<<3)>>3]==0;);if(k=0,t=B-560|0,B=t,A=(u>>>20|0)-1046|0,h=(A-3|0)/24|0,J=(h|0)>0?h:0,h=m(J,-24)+A|0,C=i[11757],I=r+1|0,o=I-1|0,(C+o|0)>=0)for(A=C+I|0,r=J-o|0;i0[(t+320|0)+(k<<3)>>3]=(r|0)<0?0:+i[(r<<2)+47040>>2],r=r+1|0,k=k+1|0,(A|0)!=(k|0););for(u=h-24|0,A=0,k=(C|0)>0?C:0,p=(I|0)<=0;;){r:{if(p){f=0;break r}for(Z=A+o|0,r=0,f=0;f=i0[(r<<3)+E>>3]*i0[(t+320|0)+(Z-r<<3)>>3]+f,r=r+1|0,(I|0)!=(r|0););}if(i0[(A<<3)+t>>3]=f,r=(A|0)==(k|0),A=A+1|0,!!r)break}H=47-h|0,D=48-h|0,a=h-25|0,A=C;r:{for(;;){if(f=i0[(A<<3)+t>>3],r=0,k=A,Z=(A|0)<=0,!Z)for(;;){p=(t+480|0)+(r<<2)|0,n=f*5960464477539063e-23;e:{if(d0(n)<2147483648){o=~~n;break e}o=-2147483648}n=+(o|0),f=n*-16777216+f;e:{if(d0(f)<2147483648){o=~~f;break e}o=-2147483648}if(i[p>>2]=o,k=k-1|0,f=i0[(k<<3)+t>>3]+n,r=r+1|0,(A|0)==(r|0))break}f=M1(f,u),f=f+us(f*.125)*-8;e:{if(d0(f)<2147483648){p=~~f;break e}p=-2147483648}f=f-+(p|0);e:{A:{f:{z=(u|0)<=0;k:{if(!z){k=(A<<2)+t|0,o=i[k+476>>2],r=o>>D,y=k,k=o-(r<<D)|0,i[y+476>>2]=k,p=r+p|0,o=k>>H;break k}if(u)break f;o=i[((A<<2)+t|0)+476>>2]>>23}if((o|0)<=0)break e;break A}if(o=2,f>=.5)break A;o=0;break e}if(r=0,k=0,!Z)for(;;){Z=(t+480|0)+(r<<2)|0,y=i[Z>>2];A:{f:{if(k)k=16777215;else{if(!y)break f;k=16777216}i[Z>>2]=k-y,k=1;break A}k=0}if(r=r+1|0,(A|0)==(r|0))break}A:{if(z)break A;r=8388607;f:switch(a|0){case 1:r=4194303;break;case 0:break f;default:break A}Z=(A<<2)+t|0,i[Z+476>>2]=i[Z+476>>2]&r}if(p=p+1|0,(o|0)!=2||(f=1-f,o=2,!k))break e;f=f-M1(1,u)}if(f==0){k=0;e:{if(r=A,(C|0)>=(r|0))break e;for(;r=r-1|0,k=i[(t+480|0)+(r<<2)>>2]|k,(r|0)>(C|0););if(!k)break e;for(h=u;h=h-24|0,A=A-1|0,!i[(t+480|0)+(A<<2)>>2];);break r}for(r=1;k=r,r=r+1|0,!i[(t+480|0)+(C-k<<2)>>2];);for(k=A+k|0;;){if(o=A+I|0,A=A+1|0,i0[(t+320|0)+(o<<3)>>3]=i[(J+A<<2)+47040>>2],r=0,f=0,(I|0)>0)for(;f=i0[(r<<3)+E>>3]*i0[(t+320|0)+(o-r<<3)>>3]+f,r=r+1|0,(I|0)!=(r|0););if(i0[(A<<3)+t>>3]=f,!((A|0)<(k|0)))break}A=k;continue}break}f=M1(f,24-h|0);e:{if(f>=16777216){u=(t+480|0)+(A<<2)|0,n=f*5960464477539063e-23;A:{if(d0(n)<2147483648){r=~~n;break A}r=-2147483648}f=+(r|0)*-16777216+f;A:{if(d0(f)<2147483648){k=~~f;break A}k=-2147483648}i[u>>2]=k,A=A+1|0;break e}d0(f)<2147483648?r=~~f:r=-2147483648,h=u}i[(t+480|0)+(A<<2)>>2]=r}f=M1(1,h);r:{if((A|0)<0)break r;for(r=A;k=r,i0[(r<<3)+t>>3]=f*+i[(t+480|0)+(r<<2)>>2],r=r-1|0,f=f*5960464477539063e-23,!!k;);if((A|0)<0)break r;for(k=A;;){if(f=0,r=0,h=A-k|0,u=(h|0)>(C|0)?C:h,(u|0)>=0)for(;f=i0[(r<<3)+49808>>3]*i0[(r+k<<3)+t>>3]+f,Z=(r|0)!=(u|0),r=r+1|0,!!Z;);if(i0[(t+160|0)+(h<<3)>>3]=f,r=(k|0)>0,k=k-1|0,!r)break}}if(f=0,(A|0)>=0)for(r=A;k=r,r=r-1|0,f=f+i0[(t+160|0)+(k<<3)>>3],!!k;);if(i0[W>>3]=o?-f:f,f=i0[t+160>>3]-f,r=1,(A|0)>0)for(;f=f+i0[(t+160|0)+(r<<3)>>3],k=(r|0)!=(A|0),r=r+1|0,!!k;);if(i0[W+8>>3]=o?-f:f,B=t+560|0,A=p&7,f=i0[W>>3],(_|0)<0){i0[e>>3]=-f,i0[e+8>>3]=-i0[W+8>>3],A=0-A|0;break i}i0[e>>3]=f,i0[e+8>>3]=i0[W+8>>3]}return B=W+48|0,A}function Os(f,e,r,A,k,n){f=f|0,e=+e,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0;Z=B-560|0,B=Z,i[Z+44>>2]=0,U2(+e),o=j0(1)|0,j0(0)|0;i:{if((o|0)<0){E=1,H=2473,e=-e,U2(+e),o=j0(1)|0,j0(0)|0;break i}if(k&2048){E=1,H=2476;break i}E=k&1,H=E?2479:2474,I=!E}i:{if((o&2146435072)==2146435072){o=E+3|0,$1(f,32,r,o,k&-65537),H1(f,H,E),A=n&32,H1(f,e!=e?A?7073:14991:A?8743:15160,3),$1(f,32,r,o,k^8192),v=(r|0)<(o|0)?o:r;break i}R=Z+16|0;r:{e:{A:{if(e=Y9(e,Z+44|0),e=e+e,e!=0){if(o=i[Z+44>>2],i[Z+44>>2]=o-1,z=n|32,(z|0)!=97)break A;break r}if(z=n|32,(z|0)==97)break r;w=i[Z+44>>2],_=(A|0)<0?6:A;break e}w=o-29|0,i[Z+44>>2]=w,e=e*268435456,_=(A|0)<0?6:A}for(W=(Z+48|0)+((w|0)>=0?288:0)|0,o=W;e<4294967296&e>=0?A=~~e>>>0:A=0,i[o>>2]=A,o=o+4|0,e=(e-+(A>>>0))*1e9,e!=0;);e:{if((w|0)<=0){A=w,t=o,u=W;break e}for(u=W,A=w;;){h=A>>>0>=29?29:A,t=o-4|0;A:{if(u>>>0>t>>>0)break A;for(p=0;A=i[t>>2],v=h&31,D=p,(h&63)>>>0>=32?(p=A<<v,A=0):(p=(1<<v)-1&A>>>32-v,A=A<<v),D=D+A|0,v=p+y|0,v=A>>>0>D>>>0?v+1|0:v,p=K6(D,v,1e9,0),a=t,S=D-q0(p,w0,1e9,0)|0,i[a>>2]=S,t=t-4|0,u>>>0<=t>>>0;);if(!v&D>>>0<1e9)break A;u=u-4|0,i[u>>2]=p}for(;t=o,u>>>0<t>>>0&&(o=t-4|0,!i[o>>2]););if(A=i[Z+44>>2]-h|0,i[Z+44>>2]=A,o=t,!((A|0)>0))break}}if((A|0)<0)for(J=((_+25>>>0)/9|0)+1|0,y=(z|0)==102;;){A=0-A|0,v=A>>>0>=9?9:A;e:{if(t>>>0<=u>>>0){o=!i[u>>2]<<2;break e}for(p=1e9>>>v|0,h=-1<<v^-1,A=0,o=u;D=A,A=i[o>>2],i[o>>2]=D+(A>>>v|0),A=m(p,A&h),o=o+4|0,o>>>0<t>>>0;);if(o=!i[u>>2]<<2,!A)break e;i[t>>2]=A,t=t+4|0}if(A=v+i[Z+44>>2]|0,i[Z+44>>2]=A,u=o+u|0,o=y?W:u,t=t-o>>2>(J|0)?o+(J<<2)|0:t,!((A|0)<0))break}A=0;e:{if(t>>>0<=u>>>0||(A=m(W-u>>2,9),o=10,h=i[u>>2],h>>>0<10))break e;for(;A=A+1|0,o=m(o,10),h>>>0>=o>>>0;);}if(o=(_-((z|0)!=102?A:0)|0)-((z|0)==103&(_|0)!=0)|0,(o|0)<(m(t-W>>2,9)-9|0)){if(p=o+9216|0,h=(p|0)/9|0,w=((Z+48|0)+((w|0)<0?-4092:-3804)|0)+(h<<2)|0,o=10,v=p-m(h,9)|0,(v|0)<=7)for(;o=m(o,10),v=v+1|0,(v|0)!=8;);p=i[w>>2],J=(p>>>0)/(o>>>0)|0,y=p-m(o,J)|0,h=w+4|0;e:{if(!y&(h|0)==(t|0))break e;A:{if(!(J&1)&&(e=9007199254740992,!(l[w-4|0]&1)|((o|0)!=1e9|u>>>0>=w>>>0)))break A;e=9007199254740994}if(C=(t|0)==(h|0)?1:1.5,h=o>>>1|0,C=h>>>0>y>>>0?.5:(h|0)==(y|0)?C:1.5,s[H|0]!=45|I||(C=-C,e=-e),h=p-y|0,i[w>>2]=h,e+C==e)break e;if(A=o+h|0,i[w>>2]=A,A>>>0>=1e9)for(;i[w>>2]=0,w=w-4|0,w>>>0<u>>>0&&(u=u-4|0,i[u>>2]=0),A=i[w>>2]+1|0,i[w>>2]=A,A>>>0>999999999;);if(A=m(W-u>>2,9),o=10,h=i[u>>2],h>>>0<10)break e;for(;A=A+1|0,o=m(o,10),h>>>0>=o>>>0;);}o=w+4|0,t=t>>>0>o>>>0?o:t}for(;h=t,p=t>>>0<=u>>>0,!p&&(t=t-4|0,!i[t>>2]););e:{if((z|0)!=103){w=k&8;break e}if(t=_||1,o=(t|0)>(A|0)&(A|0)>-5,_=(o?A^-1:-1)+t|0,n=(o?-1:-2)+n|0,w=k&8,w)break e;t=-9;A:{if(p||(w=i[h-4>>2],!w)||(v=10,t=0,(w>>>0)%10|0))break A;for(;o=t,t=t+1|0,v=m(v,10),!((w>>>0)%(v>>>0)|0););t=o^-1}if(o=m(h-W>>2,9),(n&-33)==70){w=0,o=(t+o|0)-9|0,o=(o|0)>0?o:0,_=(o|0)>(_|0)?_:o;break e}w=0,o=((A+o|0)+t|0)-9|0,o=(o|0)>0?o:0,_=(o|0)>(_|0)?_:o}if(v=-1,y=_|w,((y?2147483645:2147483646)|0)<(_|0))break i;I=(((y|0)!=0)+_|0)+1|0,p=n&-33;e:{if((p|0)==70){if((I^2147483647)<(A|0))break i;t=(A|0)>0?A:0;break e}if(o=A>>31,t=Yi((o^A)-o|0,0,R),(R-t|0)<=1)for(;t=t-1|0,l[t|0]=48,(R-t|0)<2;);if(J=t-2|0,l[J|0]=n,l[t-1|0]=(A|0)<0?45:43,t=R-J|0,(t|0)>(I^2147483647))break i}if(A=t+I|0,(A|0)>(E^2147483647))break i;I=A+E|0,$1(f,32,r,I,k),H1(f,H,E),$1(f,48,r,I,k^65536);e:{A:{f:{if((p|0)==70){for(o=Z+16|9,n=u>>>0>W>>>0?W:u,u=n;;){t=Yi(i[u>>2],0,o);k:{if((n|0)!=(u|0)){if(Z+16>>>0>=t>>>0)break k;for(;t=t-1|0,l[t|0]=48,Z+16>>>0<t>>>0;);break k}if((t|0)!=(o|0))break k;t=t-1|0,l[t|0]=48}if(H1(f,t,o-t|0),u=u+4|0,!(W>>>0>=u>>>0))break}if(y&&H1(f,18135,1),(_|0)<=0|u>>>0>=h>>>0)break f;for(;;){if(t=Yi(i[u>>2],0,o),t>>>0>Z+16>>>0)for(;t=t-1|0,l[t|0]=48,Z+16>>>0<t>>>0;);if(H1(f,t,(_|0)>=9?9:_),t=_-9|0,u=u+4|0,h>>>0<=u>>>0)break A;if(A=(_|0)>9,_=t,!A)break}break A}k:{if((_|0)<0)break k;for(n=u>>>0<h>>>0?h:u+4|0,W=Z+16|9,o=u;;){t=Yi(i[o>>2],0,W),(W|0)==(t|0)&&(t=t-1|0,l[t|0]=48);n:{if((o|0)!=(u|0)){if(Z+16>>>0>=t>>>0)break n;for(;t=t-1|0,l[t|0]=48,Z+16>>>0<t>>>0;);break n}if(H1(f,t,1),t=t+1|0,!(_|w))break n;H1(f,18135,1)}if(A=W-t|0,H1(f,t,(A|0)<(_|0)?A:_),_=_-A|0,o=o+4|0,n>>>0<=o>>>0)break k;if(!((_|0)>=0))break}}$1(f,48,_+18|0,18,0),H1(f,J,R-J|0);break e}t=_}$1(f,48,t+9|0,9,0)}$1(f,32,r,I,k^8192),v=(r|0)<(I|0)?I:r;break i}w=(n<<26>>31&9)+H|0;r:{if(A>>>0>11)break r;for(t=12-A|0,C=16;C=C*16,t=t-1|0,!!t;);if(s[w|0]==45){e=-(C+(-e-C));break r}e=e+C-C}for(o=i[Z+44>>2],t=o>>31,t=Yi((t^o)-t|0,0,R),(R|0)==(t|0)&&(t=t-1|0,l[t|0]=48),W=E|2,u=n&32,o=i[Z+44>>2],_=t-2|0,l[_|0]=n+15,l[t-1|0]=(o|0)<0?45:43,t=k&8,o=Z+16|0;n=o,d0(e)<2147483648?h=~~e:h=-2147483648,l[o|0]=u|s[h+52592|0],e=(e-+(h|0))*16,o=n+1|0,!((A|0)>0|t)&e==0|(o-(Z+16|0)|0)!=1||(l[n+1|0]=46,o=n+2|0),e!=0;);if(v=-1,t=R-_|0,n=t+W|0,(2147483645-n|0)<(A|0))break i;h=n,n=Z+16|0,u=o-n|0,A=A&&(u-2|0)<(A|0)?A+2|0:u,o=h+A|0,$1(f,32,r,o,k),H1(f,w,W),$1(f,48,r,o,k^65536),H1(f,n,u),$1(f,48,A-u|0,0,0),H1(f,_,t),$1(f,32,r,o,k^8192),v=(r|0)<(o|0)?o:r}return B=Z+560|0,v|0}function js(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0;if(A=X[e+22>>1],v=X[e+6>>1],w=X[e+30>>1],o=((m(A,-74)+m(v,74)|0)+m(w,74)|0)- -64>>7,o=(o|0)>=32767?32767:o,o=(o|0)<=-32768?-32768:o,n=X[e+20>>1],u=X[e+4>>1],t=X[e+28>>1],p=((m(n,-74)+m(u,74)|0)+m(t,74)|0)- -64>>7,p=(p|0)>=32767?32767:p,p=(p|0)<=-32768?-32768:p,I=X[e+18>>1],h=X[e+2>>1],Z=X[e+26>>1],_=((m(I,-74)+m(h,74)|0)+m(Z,74)|0)- -64>>7,_=(_|0)>=32767?32767:_,y=(_|0)<=-32768?-32768:_,E=X[e+16>>1],J=X[e>>1],R=X[e+24>>1],_=((m(E,-74)+m(J,74)|0)+m(R,74)|0)- -64>>7,_=(_|0)>=32767?32767:_,_=(_|0)<=-32768?-32768:_,k=X[e+14>>1],W=(((m(k,-74)+m(v,84)|0)+m(A,55)|0)+m(w,-29)|0)- -64>>7,W=(W|0)>=32767?32767:W,W=(W|0)<=-32768?-32768:W,C=m(k,74),k=(((C+m(v,55)|0)+m(A,-29)|0)+m(w,-84)|0)- -64>>7,k=(k|0)>=32767?32767:k,k=(k|0)<=-32768?-32768:k,A=(((C+m(v,29)|0)+m(A,84)|0)+m(w,55)|0)- -64>>7,A=(A|0)>=32767?32767:A,A=(A|0)<=-32768?-32768:A,w=X[e+12>>1],v=(((m(w,-74)+m(u,84)|0)+m(n,55)|0)+m(t,-29)|0)- -64>>7,v=(v|0)>=32767?32767:v,v=(v|0)<=-32768?-32768:v,C=m(w,74),w=(((C+m(u,55)|0)+m(n,-29)|0)+m(t,-84)|0)- -64>>7,w=(w|0)>=32767?32767:w,w=(w|0)<=-32768?-32768:w,n=(((C+m(u,29)|0)+m(n,84)|0)+m(t,55)|0)- -64>>7,n=(n|0)>=32767?32767:n,n=(n|0)<=-32768?-32768:n,u=X[e+10>>1],t=(((m(u,-74)+m(h,84)|0)+m(I,55)|0)+m(Z,-29)|0)- -64>>7,t=(t|0)>=32767?32767:t,C=(t|0)<=-32768?-32768:t,u=m(u,74),t=(((u+m(h,55)|0)+m(I,-29)|0)+m(Z,-84)|0)- -64>>7,t=(t|0)>=32767?32767:t,D=(t|0)<=-32768?-32768:t,u=(((u+m(h,29)|0)+m(I,84)|0)+m(Z,55)|0)- -64>>7,u=(u|0)>=32767?32767:u,I=(u|0)<=-32768?-32768:u,u=X[e+8>>1],e=(((m(u,-74)+m(J,84)|0)+m(E,55)|0)+m(R,-29)|0)- -64>>7,e=(e|0)>=32767?32767:e,e=(e|0)<=-32768?-32768:e,t=m(u,74),u=(((t+m(J,55)|0)+m(E,-29)|0)+m(R,-84)|0)- -64>>7,u=(u|0)>=32767?32767:u,u=(u|0)<=-32768?-32768:u,t=(((t+m(J,29)|0)+m(E,84)|0)+m(R,55)|0)- -64>>7,t=(t|0)>=32767?32767:t,t=(t|0)<=-32768?-32768:t,(r|0)!=1){h=s[f+2|0]+(((m(n,-74)+m(t,74)|0)+m(A,74)|0)+2048>>12)|0,h=(h|0)>=255?255:h,l[f+2|0]=(h|0)>0?h:0,h=m(I,74),Z=s[f|0]+((((h+m(t,29)|0)+m(n,84)|0)+m(A,55)|0)+2048>>12)|0,Z=(Z|0)>=255?255:Z,l[f|0]=(Z|0)>0?Z:0,h=s[f+1|0]+((((h+m(t,55)|0)+m(n,-29)|0)+m(A,-84)|0)+2048>>12)|0,h=(h|0)>=255?255:h,l[f+1|0]=(h|0)>0?h:0,A=s[f+3|0]+((((m(I,-74)+m(t,84)|0)+m(n,55)|0)+m(A,-29)|0)+2048>>12)|0,A=(A|0)>=255?255:A,l[f+3|0]=(A|0)>0?A:0,A=f+r|0,t=m(D,74),n=s[A|0]+((((t+m(u,29)|0)+m(w,84)|0)+m(k,55)|0)+2048>>12)|0,n=(n|0)>=255?255:n,l[A|0]=(n|0)>0?n:0,n=s[A+1|0]+((((t+m(u,55)|0)+m(w,-29)|0)+m(k,-84)|0)+2048>>12)|0,n=(n|0)>=255?255:n,l[A+1|0]=(n|0)>0?n:0,n=s[A+2|0]+(((m(w,-74)+m(u,74)|0)+m(k,74)|0)+2048>>12)|0,n=(n|0)>=255?255:n,l[A+2|0]=(n|0)>0?n:0,k=s[A+3|0]+((((m(D,-74)+m(u,84)|0)+m(w,55)|0)+m(k,-29)|0)+2048>>12)|0,k=(k|0)>=255?255:k,l[A+3|0]=(k|0)>0?k:0,k=(r<<1)+f|0,w=m(y,74),A=s[k|0]+((((w+m(_,29)|0)+m(p,84)|0)+m(o,55)|0)+2048>>12)|0,A=(A|0)>=255?255:A,l[k|0]=(A|0)>0?A:0,A=s[k+1|0]+((((w+m(_,55)|0)+m(p,-29)|0)+m(o,-84)|0)+2048>>12)|0,A=(A|0)>=255?255:A,l[k+1|0]=(A|0)>0?A:0,A=s[k+2|0]+(((m(p,-74)+m(_,74)|0)+m(o,74)|0)+2048>>12)|0,A=(A|0)>=255?255:A,l[k+2|0]=(A|0)>0?A:0,o=s[k+3|0]+((((m(y,-74)+m(_,84)|0)+m(p,55)|0)+m(o,-29)|0)+2048>>12)|0,o=(o|0)>=255?255:o,l[k+3|0]=(o|0)>0?o:0,f=m(r,3)+f|0,o=m(C,74),r=s[f|0]+((((o+m(e,29)|0)+m(v,84)|0)+m(W,55)|0)+2048>>12)|0,r=(r|0)>=255?255:r,l[f|0]=(r|0)>0?r:0,r=s[f+1|0]+((((o+m(e,55)|0)+m(v,-29)|0)+m(W,-84)|0)+2048>>12)|0,r=(r|0)>=255?255:r,l[f+1|0]=(r|0)>0?r:0,r=s[f+2|0]+(((m(v,-74)+m(e,74)|0)+m(W,74)|0)+2048>>12)|0,r=(r|0)>=255?255:r,l[f+2|0]=(r|0)>0?r:0,r=f,f=s[f+3|0]+((((m(C,-74)+m(e,84)|0)+m(v,55)|0)+m(W,-29)|0)+2048>>12)|0,f=(f|0)>=255?255:f,l[r+3|0]=(f|0)>0?f:0;return}h=s[f+2|0]+(((m(n,-74)+m(t,74)|0)+m(A,74)|0)+2048>>12)|0,h=(h|0)>=255?255:h,l[f+2|0]=(h|0)>0?h:0,h=m(I,74),Z=s[f|0]+((((h+m(t,29)|0)+m(n,84)|0)+m(A,55)|0)+2048>>12)|0,Z=(Z|0)>=255?255:Z,l[f|0]=(Z|0)>0?Z:0,h=s[f+1|0]+((((h+m(t,55)|0)+m(n,-29)|0)+m(A,-84)|0)+2048>>12)|0,h=(h|0)>=255?255:h,l[f+1|0]=(h|0)>0?h:0,A=s[f+3|0]+((((m(I,-74)+m(t,84)|0)+m(n,55)|0)+m(A,-29)|0)+2048>>12)|0,A=(A|0)>=255?255:A,n=(A|0)>0?A:0,l[f+3|0]=n,A=f+r|0,n=n+(((m(w,-74)+m(u,74)|0)+m(k,74)|0)+2048>>12)|0,n=(n|0)>=255?255:n,l[A+2|0]=(n|0)>0?n:0,n=m(D,74),t=s[A|0]+((((n+m(u,29)|0)+m(w,84)|0)+m(k,55)|0)+2048>>12)|0,t=(t|0)>=255?255:t,l[A|0]=(t|0)>0?t:0,n=s[A+1|0]+((((n+m(u,55)|0)+m(w,-29)|0)+m(k,-84)|0)+2048>>12)|0,n=(n|0)>=255?255:n,l[A+1|0]=(n|0)>0?n:0,k=s[A+3|0]+((((m(D,-74)+m(u,84)|0)+m(w,55)|0)+m(k,-29)|0)+2048>>12)|0,k=(k|0)>=255?255:k,k=(k|0)>0?k:0,l[A+3|0]=k,k=k+(((m(p,-74)+m(_,74)|0)+m(o,74)|0)+2048>>12)|0,k=(k|0)>=255?255:k,l[f+4|0]=(k|0)>0?k:0,k=m(y,74),A=s[f+2|0]+((((k+m(_,29)|0)+m(p,84)|0)+m(o,55)|0)+2048>>12)|0,A=(A|0)>=255?255:A,l[f+2|0]=(A|0)>0?A:0,k=s[f+3|0]+((((k+m(_,55)|0)+m(p,-29)|0)+m(o,-84)|0)+2048>>12)|0,k=(k|0)>=255?255:k,l[f+3|0]=(k|0)>0?k:0,o=s[f+5|0]+((((m(y,-74)+m(_,84)|0)+m(p,55)|0)+m(o,-29)|0)+2048>>12)|0,o=(o|0)>=255?255:o,o=(o|0)>0?o:0,l[f+5|0]=o,f=m(r,3)+f|0,r=o+(((m(v,-74)+m(e,74)|0)+m(W,74)|0)+2048>>12)|0,r=(r|0)>=255?255:r,l[f+2|0]=(r|0)>0?r:0,r=m(C,74),o=s[f|0]+((((r+m(e,29)|0)+m(v,84)|0)+m(W,55)|0)+2048>>12)|0,o=(o|0)>=255?255:o,l[f|0]=(o|0)>0?o:0,r=s[f+1|0]+((((r+m(e,55)|0)+m(v,-29)|0)+m(W,-84)|0)+2048>>12)|0,r=(r|0)>=255?255:r,l[f+1|0]=(r|0)>0?r:0,r=f,f=s[f+3|0]+((((m(C,-74)+m(e,84)|0)+m(v,55)|0)+m(W,-29)|0)+2048>>12)|0,f=(f|0)>=255?255:f,l[r+3|0]=(f|0)>0?f:0}function Ps(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=0,r2=0,n2=0;e=B-32|0,B=e,v=U0(i[r>>2],0),C=U0(i[r>>2],1),Z=U0(i[r>>2],2),f0=H2(i[r>>2],6),f0&&(E=U0(i[r>>2],6));i:{if(!(!(v>>>0<9|C>>>0<9)&Z>>>0>8)){i[f>>2]=0,i[f+4>>2]=0;break i}if(!((v|0)==(C|0)&(v|0)==(Z|0))){i[f>>2]=0,i[f+4>>2]=0;break i}A=i[r>>2],q=i[A+48>>2],q&&(i[q+4>>2]=i[q+4>>2]+1,A=i[r>>2]),n=i[A+28>>2],k=i[A+24>>2],A=U(136),i[A>>2]=72792,i[A+4>>2]=0,i[A+8>>2]=0,B0(A+20|0,0,104),J=i[A+4>>2],R=J+1|0,i[A+4>>2]=R,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,I=A- -64|0,i[I>>2]=0,i[I+4>>2]=0,i[A+132>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+84>>2]=1,i[A+88>>2]=1,i[A+72>>2]=A+76,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,l[A+113|0]=0,l[A+114|0]=0,l[A+115|0]=0,l[A+116|0]=0,l[A+117|0]=0,l[A+118|0]=0,l[A+119|0]=0,l[A+120|0]=0,I=A+12|0,i[A+12>>2]=I,i[A+8>>2]=i[A+8>>2]+1,i[A+4>>2]=J,i[A+16>>2]=A,R||(V[i[i[A>>2]+8>>2]](A),g(A)),i[I+36>>2]=3,i[I+32>>2]=0,i[I+28>>2]=n,i[I+24>>2]=k;r:{e:{if(!J0(I,0,k,n,v)||!J0(I,1,k,n,C)||!J0(I,2,k,n,Z)||f0&&!J0(I,6,k,n,E))break e;if(i[e+28>>2]=0,i[e+24>>2]=0,i[e+20>>2]=0,i[e+16>>2]=0,i[e+12>>2]=0,i[e+8>>2]=0,i[e+4>>2]=0,i[e>>2]=0,n0=v0(i[r>>2],0,e+28|0),v=v0(i[r>>2],1,e+24|0),C=v0(i[r>>2],2,e+20|0),h0=v0(I,0,e+12|0),Z=v0(I,1,e+8|0),E=v0(I,2,e+4|0),f0&&(F0=v0(i[r>>2],6,e+16|0),Y0=v0(I,6,e)),i[e+28>>2]=i[e+28>>2]/2,J=i[e+24>>2]/2|0,i[e+24>>2]=J,R=i[e+20>>2]/2|0,i[e+20>>2]=R,i[e+16>>2]=i[e+16>>2]/2,i[e+12>>2]=i[e+12>>2]/2,a=i[e+8>>2]/2|0,i[e+8>>2]=a,S=i[e+4>>2]/2|0,i[e+4>>2]=S,i[e>>2]=i[e>>2]/2,X[Z>>1]=Q[v>>1],X[E>>1]=Q[C>>1],X0=k-1|0,o=(X0|0)/2|0,(k|0)>=3)for(t=(o|0)<=1?1:o,r=0;D=r<<2,u=D|2,p=r&-2,z=p+2|0,w=z+v|0,_=v+p|0,X[u+Z>>1]=(Q[w>>1]+m(Q[_>>1],3)|0)+2>>>2,D=D+4|0,X[D+Z>>1]=(Q[_>>1]+m(Q[w>>1],3)|0)+2>>>2,H=u+E|0,u=C+z|0,p=C+p|0,X[H>>1]=(Q[u>>1]+m(Q[p>>1],3)|0)+2>>>2,X[E+D>>1]=(Q[p>>1]+m(Q[u>>1],3)|0)+2>>>2,r=r+1|0,(t|0)!=(r|0););if(D=k&1,D||(r=X0<<1,p=k-2|0,X[r+Z>>1]=Q[p+v>>1],X[r+E>>1]=Q[C+p>>1]),p=n-1|0,t=(p|0)/2|0,(n|0)>=3)for(z=(t|0)<=1?1:t,r=0;w=r<<1,_=w|1,u=r>>>1|0,W=u+1|0,y=v+(m(W,J)<<1)|0,h=v+(m(u,J)<<1)|0,X[Z+(m(_,a)<<1)>>1]=(Q[y>>1]+m(Q[h>>1],3)|0)+2>>>2,w=w+2|0,X[Z+(m(w,a)<<1)>>1]=(Q[h>>1]+m(Q[y>>1],3)|0)+2>>>2,H=E+(m(_,S)<<1)|0,_=C+(m(W,R)<<1)|0,u=C+(m(u,R)<<1)|0,X[H>>1]=(Q[_>>1]+m(Q[u>>1],3)|0)+2>>>2,X[E+(m(w,S)<<1)>>1]=(Q[u>>1]+m(Q[_>>1],3)|0)+2>>>2,r=r+1|0,(z|0)!=(r|0););if(W=n&1,W||(r=(n>>1)-1|0,X[Z+(m(p,a)<<1)>>1]=Q[v+(m(r,J)<<1)>>1],X[E+(m(p,S)<<1)>>1]=Q[C+(m(r,R)<<1)>>1]),!((n|0)<3|D))for(u=(k+C|0)-2|0,z=(k+v|0)-2|0,r=k<<1,w=(r+E|0)-2|0,_=(r+Z|0)-2|0,y=(t|0)<=1?1:t,r=0;h=r<<1,d=h|1,t=r>>>1|0,j=t+1|0,L=z+(m(j,J)<<1)|0,p0=z+(m(t,J)<<1)|0,X[_+(m(d,a)<<1)>>1]=(Q[L>>1]+m(Q[p0>>1],3)|0)+2>>>2,h=h+2|0,X[_+(m(h,a)<<1)>>1]=(Q[p0>>1]+m(Q[L>>1],3)|0)+2>>>2,H=w+(m(S,d)<<1)|0,d=u+(m(R,j)<<1)|0,t=u+(m(t,R)<<1)|0,X[H>>1]=(Q[d>>1]+m(Q[t>>1],3)|0)+2>>>2,X[w+(m(h,S)<<1)>>1]=(Q[t>>1]+m(Q[d>>1],3)|0)+2>>>2,r=r+1|0,(y|0)!=(r|0););A:{if(W)break A;if((k|0)>=3)for(t=(o|0)<=1?1:o,u=E+(m(p,S)<<1)|0,z=Z+(m(p,a)<<1)|0,r=(n>>1)-1|0,w=C+(m(r,R)<<1)|0,_=v+(m(r,J)<<1)|0,r=0;W=r<<2,y=W+z|0,h=r&-2,o=h+_|0,X[y+2>>1]=(Q[o+2>>1]+m(Q[o>>1],3)|0)+2>>>2,X[y+4>>1]=(Q[o>>1]+m(Q[o+2>>1],3)|0)+2>>>2,W=u+W|0,o=w+h|0,X[W+2>>1]=(Q[o+2>>1]+m(Q[o>>1],3)|0)+2>>>2,X[W+4>>1]=(Q[o>>1]+m(Q[o+2>>1],3)|0)+2>>>2,r=r+1|0,(t|0)!=(r|0););if(D)break A;r=k<<1,o=(n>>1)-1|0,X[(r+(Z+(m(p,a)<<1)|0)|0)-2>>1]=Q[(k+(v+(m(o,J)<<1)|0)|0)-2>>1],X[(r+(E+(m(p,S)<<1)|0)|0)-2>>1]=Q[(k+(C+(m(o,R)<<1)|0)|0)-2>>1]}A:{f:{if((n|0)>=3){if((k|0)<3)break f;for(o=1;;){for(d=E+(m(o,S)<<1)|0,j=Z+(m(o,a)<<1)|0,r=o+1|0,L=E+(m(r,S)<<1)|0,p0=Z+(m(r,a)<<1)|0,r=o>>>1|0,S0=C+(m(r,R)<<1)|0,c0=v+(m(r,J)<<1)|0,r=r+1|0,r2=C+(m(r,R)<<1)|0,n2=v+(m(r,J)<<1)|0,r=1;t=r&-2,u=t+r2|0,D=Q[u+2>>1],u=Q[u>>1],w=t+S0|0,z=Q[w>>1],w=Q[w+2>>1],y=t+n2|0,_=Q[y>>1],W=r<<1,A0=W+j|0,y=Q[y+2>>1],G0=m(y,3),h=t+c0|0,t=Q[h>>1],I0=m(t,3)+8|0,h=Q[h+2>>1],X[A0+2>>1]=G0+(_+(I0+m(h,9)|0)|0)>>>4,H=A0,Q0=m(_,3),A0=m(h,3)+8|0,X[H>>1]=y+(Q0+(A0+m(t,9)|0)|0)>>>4,H=W+p0|0,X[H+2>>1]=(Q0+(t+A0|0)|0)+m(y,9)>>>4,X[H>>1]=((h+I0|0)+m(_,9)|0)+G0>>>4,t=W+d|0,y=m(D,3),_=m(z,3)+8|0,X[t+2>>1]=y+(u+(_+m(w,9)|0)|0)>>>4,H=t,h=m(u,3),t=m(w,3)+8|0,X[H>>1]=D+(h+(t+m(z,9)|0)|0)>>>4,W=W+L|0,X[W+2>>1]=(h+(t+z|0)|0)+m(D,9)>>>4,X[W>>1]=y+((w+_|0)+m(u,9)|0)>>>4,r=r+2|0,(X0|0)>(r|0););if(o=o+2|0,!((p|0)>(o|0)))break}}if((n|0)<=0)break A}if(k=k<<1,f0){for(r=0;l0((m(i[e+12>>2],r)<<1)+h0|0,(m(i[e+28>>2],r)<<1)+n0|0,k),l0((m(i[e>>2],r)<<1)+Y0|0,(m(i[e+16>>2],r)<<1)+F0|0,k),r=r+1|0,(n|0)!=(r|0););break A}v=n&1;f:{if(!p){r=0;break f}for(C=n&-2,r=0,n=0;l0((m(i[e+12>>2],r)<<1)+h0|0,(m(i[e+28>>2],r)<<1)+n0|0,k),Z=r|1,l0((m(Z,i[e+12>>2])<<1)+h0|0,(m(Z,i[e+28>>2])<<1)+n0|0,k),r=r+2|0,n=n+2|0,(C|0)!=(n|0););}if(!v)break A;l0((m(i[e+12>>2],r)<<1)+h0|0,(m(i[e+28>>2],r)<<1)+n0|0,k)}i[f+4>>2]=A,i[f>>2]=I;break r}if(i[f>>2]=0,i[f+4>>2]=0,f=i[A+4>>2],i[A+4>>2]=f-1,f)break r;V[i[i[A>>2]+8>>2]](A),g(A)}if(!q||(f=i[q+4>>2],i[q+4>>2]=f-1,f))break i;V[i[i[q>>2]+8>>2]](q),g(q)}B=e+32|0}function Ls(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=0,r2=0,n2=0,s2=0,W2=0,y2=0,x2=0,T2=0,O2=0,q2=0,b2=0,e1=0,A1=0,h1=0,B1=0,p1=0,W1=0,X1=0,N1=0,r4=0,e4=0,V4=0,M4=0,x4=0,Hi=0,Ti=0,ai=0,lf=0,uf=0,sf=0,hf=0,wf=0,_f=0,vf=0,mf=0,Bf=0,Zf=0,pf=0,Wf=0,Xf=0,Gf=0,Cf=0,Vf=0,If=0,Qf=0,yf=0,Ff=0,Ef=0,Yf=0,Jf=0,gf=0,Nf=0,Rf=0,Df=0,Uf=0,Mf=0,xf=0,zf=0,Hf=0,Tf=0,af=0,Sf=0,Of=0,jf=0,Pf=0,Lf=0,Kf=0,qf=0,$f=0,bf=0,df=0,cf=0,i5=0,r5=0,e5=0,A5=0,f5=0,k5=0,n5=0,t5=0,o5=0,l5=0,u5=0,s5=0;p=m(r,14)+e|0,E=Q[p+14>>1],J=Q[e+14>>1],R=Q[e+6>>1],u=J+R|0,a=Q[e+10>>1],S=Q[e+2>>1],h=a+S|0,A=u+h|0,q=Q[e+12>>1],d=Q[e+4>>1],_=q+d|0,j=Q[e+8>>1],L=Q[e>>1],v=j+L|0,n=_+v|0,t=A+n|0,k=(r<<3)+e|0,p0=Q[k+14>>1],X0=Q[k+6>>1],W=p0+X0|0,G0=Q[k+10>>1],I0=Q[k+2>>1],C=G0+I0|0,w=W+C|0,Q0=Q[k+12>>1],F0=Q[k+4>>1],I=Q0+F0|0,x2=Q[k+8>>1],T2=Q[k>>1],D=x2+T2|0,Z=I+D|0,o=w+Z|0,y=t-o|0,k=(r<<2)+e|0,O2=Q[k+14>>1],q2=Q[k+6>>1],Y0=O2+q2|0,b2=Q[k+10>>1],e1=Q[k+2>>1],S0=b2+e1|0,A0=Y0+S0|0,A1=Q[k+12>>1],h1=Q[k+4>>1],c0=A1+h1|0,B1=Q[k+8>>1],p1=Q[k>>1],r2=B1+p1|0,f0=c0+r2|0,z=A0+f0|0,k=m(r,12)+e|0,W1=Q[k+14>>1],X1=Q[k+6>>1],n2=W1+X1|0,N1=Q[k+10>>1],r4=Q[k+2>>1],s2=N1+r4|0,n0=n2+s2|0,e4=Q[k+12>>1],V4=Q[k+4>>1],W2=e4+V4|0,M4=Q[k+8>>1],Hi=Q[k>>1],x4=M4+Hi|0,y2=W2+x4|0,h0=n0+y2|0,H=z-h0|0,Ti=y-H|0,k=(r<<1)+e|0,ai=Q[k+14>>1],lf=Q[k+6>>1],uf=ai+lf|0,sf=Q[k+10>>1],hf=Q[k+2>>1],wf=sf+hf|0,_f=uf+wf|0,vf=Q[k+12>>1],mf=Q[k+4>>1],Bf=vf+mf|0,Zf=Q[k+8>>1],pf=Q[k>>1],Wf=Zf+pf|0,Xf=Bf+Wf|0,Gf=_f+Xf|0,k=m(r,10)+e|0,Cf=Q[k+14>>1],Vf=Q[k+6>>1],If=Cf+Vf|0,Qf=Q[k+10>>1],yf=Q[k+2>>1],Ff=Qf+yf|0,Ef=If+Ff|0,Yf=Q[k+12>>1],Jf=Q[k+4>>1],gf=Yf+Jf|0,Nf=Q[k+8>>1],k=Q[k>>1],Rf=Nf+k|0,Df=gf+Rf|0,Uf=Ef+Df|0,Mf=Gf-Uf|0,e=m(r,6)+e|0,r=Q[e+14>>1],xf=Q[e+6>>1],zf=r+xf|0,Hf=Q[e+10>>1],Tf=Q[e+2>>1],af=Hf+Tf|0,Sf=zf+af|0,Of=Q[e+12>>1],jf=Q[e+4>>1],Pf=Of+jf|0,Lf=Q[e+8>>1],e=Q[e>>1],Kf=Lf+e|0,qf=Pf+Kf|0,$f=Sf+qf|0,bf=Q[p+6>>1],df=E+bf|0,cf=Q[p+10>>1],i5=Q[p+2>>1],r5=cf+i5|0,e5=df+r5|0,A5=Q[p+12>>1],f5=Q[p+4>>1],k5=A5+f5|0,n5=Q[p+8>>1],p=Q[p>>1],t5=n5+p|0,o5=k5+t5|0,l5=e5+o5|0,u5=$f-l5|0,s5=Mf-u5|0,X[f+112>>1]=Ti-s5,X[f+96>>1]=Ti+s5,y=y+H|0,H=Mf+u5|0,X[f+80>>1]=y-H,X[f+64>>1]=y+H,t=t+o|0,o=z+h0|0,y=t-o|0,z=Gf+Uf|0,h0=$f+l5|0,H=z-h0|0,X[f+48>>1]=y-H,X[f+32>>1]=y+H,t=t+o|0,o=z+h0|0,X[f+16>>1]=t-o,X[f>>1]=t+o,A=n-A|0,n=Z-w|0,t=A-n|0,w=f0-A0|0,Z=y2-n0|0,o=w-Z|0,y=t-o|0,A0=Xf-_f|0,f0=Df-Ef|0,z=A0-f0|0,n0=qf-Sf|0,y2=o5-e5|0,h0=n0-y2|0,H=z-h0|0,X[f+114>>1]=y-H,X[f+98>>1]=y+H,t=t+o|0,o=z+h0|0,X[f+82>>1]=t-o,X[f+66>>1]=t+o,A=A+n|0,n=w+Z|0,t=A-n|0,w=A0+f0|0,Z=n0+y2|0,o=w-Z|0,X[f+50>>1]=t-o,X[f+34>>1]=t+o,A=A+n|0,n=w+Z|0,X[f+18>>1]=A-n,X[f+2>>1]=A+n,u=h-u|0,h=v-_|0,A=u+h|0,_=C-W|0,v=D-I|0,n=_+v|0,t=A-n|0,W=S0-Y0|0,C=r2-c0|0,w=W+C|0,I=s2-n2|0,D=x4-W2|0,Z=I+D|0,o=w-Z|0,y=t-o|0,Y0=wf-uf|0,S0=Wf-Bf|0,A0=Y0+S0|0,c0=Ff-If|0,r2=Rf-gf|0,f0=c0+r2|0,z=A0-f0|0,n2=af-zf|0,s2=Kf-Pf|0,n0=n2+s2|0,W2=r5-df|0,x4=t5-k5|0,y2=W2+x4|0,h0=n0-y2|0,H=z-h0|0,X[f+116>>1]=y-H,X[f+100>>1]=y+H,t=t+o|0,o=z+h0|0,X[f+84>>1]=t-o,X[f+68>>1]=t+o,A=A+n|0,n=w+Z|0,t=A-n|0,w=A0+f0|0,Z=n0+y2|0,o=w-Z|0,X[f+52>>1]=t-o,X[f+36>>1]=t+o,A=A+n|0,n=w+Z|0,X[f+20>>1]=A-n,X[f+4>>1]=A+n,u=h-u|0,h=v-_|0,A=u-h|0,_=C-W|0,v=D-I|0,n=_-v|0,t=A-n|0,W=S0-Y0|0,C=r2-c0|0,w=W-C|0,I=s2-n2|0,D=x4-W2|0,Z=I-D|0,o=w-Z|0,X[f+118>>1]=t-o,X[f+102>>1]=t+o,A=A+n|0,n=w+Z|0,X[f+86>>1]=A-n,X[f+70>>1]=A+n,u=u+h|0,h=_+v|0,A=u-h|0,_=W+C|0,v=I+D|0,n=_-v|0,X[f+54>>1]=A-n,X[f+38>>1]=A+n,u=u+h|0,h=_+v|0,X[f+22>>1]=u-h,X[f+6>>1]=u+h,J=R-J|0,R=S-a|0,u=J+R|0,a=d-q|0,S=L-j|0,h=a+S|0,A=u+h|0,q=X0-p0|0,d=I0-G0|0,_=q+d|0,j=F0-Q0|0,L=T2-x2|0,v=j+L|0,n=_+v|0,t=A-n|0,p0=q2-O2|0,X0=e1-b2|0,W=p0+X0|0,G0=h1-A1|0,I0=p1-B1|0,C=G0+I0|0,w=W+C|0,Q0=X1-W1|0,F0=r4-N1|0,I=Q0+F0|0,x2=V4-e4|0,T2=Hi-M4|0,D=x2+T2|0,Z=I+D|0,o=w-Z|0,y=t-o|0,O2=lf-ai|0,q2=hf-sf|0,Y0=O2+q2|0,b2=mf-vf|0,e1=pf-Zf|0,S0=b2+e1|0,A0=Y0+S0|0,A1=Vf-Cf|0,h1=yf-Qf|0,c0=A1+h1|0,B1=Jf-Yf|0,k=k-Nf|0,p1=B1+k|0,r2=c0+p1|0,f0=A0-r2|0,r=xf-r|0,z=Tf-Hf|0,W1=r+z|0,X1=jf-Of|0,e=e-Lf|0,n2=X1+e|0,N1=W1+n2|0,E=bf-E|0,r4=i5-cf|0,s2=E+r4|0,n0=f5-A5|0,p=p-n5|0,e4=n0+p|0,V4=s2+e4|0,W2=N1-V4|0,M4=f0-W2|0,X[f+120>>1]=y-M4,X[f+104>>1]=y+M4,t=t+o|0,o=f0+W2|0,X[f+88>>1]=t-o,X[f+72>>1]=t+o,A=A+n|0,n=w+Z|0,t=A-n|0,w=A0+r2|0,Z=N1+V4|0,o=w-Z|0,X[f+56>>1]=t-o,X[f+40>>1]=t+o,A=A+n|0,n=w+Z|0,X[f+24>>1]=A-n,X[f+8>>1]=A+n,u=h-u|0,h=v-_|0,A=u-h|0,_=C-W|0,v=D-I|0,n=_-v|0,t=A-n|0,W=S0-Y0|0,C=p1-c0|0,w=W-C|0,I=n2-W1|0,D=e4-s2|0,Z=I-D|0,o=w-Z|0,X[f+122>>1]=t-o,X[f+106>>1]=t+o,A=A+n|0,n=w+Z|0,X[f+90>>1]=A-n,X[f+74>>1]=A+n,u=u+h|0,h=_+v|0,A=u-h|0,_=W+C|0,v=I+D|0,n=_-v|0,X[f+58>>1]=A-n,X[f+42>>1]=A+n,u=u+h|0,h=_+v|0,X[f+26>>1]=u-h,X[f+10>>1]=u+h,J=R-J|0,R=S-a|0,u=J+R|0,a=d-q|0,S=L-j|0,h=a+S|0,A=u-h|0,q=X0-p0|0,d=I0-G0|0,_=q+d|0,j=F0-Q0|0,L=T2-x2|0,v=j+L|0,n=_-v|0,t=A-n|0,p0=q2-O2|0,X0=e1-b2|0,W=p0+X0|0,G0=h1-A1|0,k=k-B1|0,I0=G0+k|0,C=W-I0|0,r=z-r|0,e=e-X1|0,w=r+e|0,E=r4-E|0,p=p-n0|0,Q0=E+p|0,F0=w-Q0|0,I=C-F0|0,X[f+124>>1]=t-I,X[f+108>>1]=t+I,A=A+n|0,n=C+F0|0,X[f+92>>1]=A-n,X[f+76>>1]=A+n,u=u+h|0,h=_+v|0,A=u-h|0,_=W+I0|0,v=w+Q0|0,n=_-v|0,X[f+60>>1]=A-n,X[f+44>>1]=A+n,u=u+h|0,h=_+v|0,X[f+28>>1]=u-h,X[f+12>>1]=u+h,p=p-E|0,e=e-r|0,r=p+e|0,k=k-G0|0,E=X0-p0|0,u=k+E|0,h=r+u|0,A=L-j|0,q=d-q|0,d=A+q|0,a=S-a|0,J=R-J|0,R=a+J|0,S=d+R|0,X[f+14>>1]=h+S,X[f+30>>1]=S-h,r=u-r|0,R=R-d|0,X[f+46>>1]=r+R,X[f+62>>1]=R-r,e=e-p|0,r=E-k|0,p=e+r|0,k=q-A|0,E=J-a|0,J=k+E|0,X[f+78>>1]=p+J,X[f+94>>1]=J-p,e=r-e|0,r=E-k|0,X[f+110>>1]=e+r,X[f+126>>1]=r-e}function Ks(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;n=B-16|0,B=n;i:{r:{e:{A:{f:{o=D0(r);k:{if(!((o|0)==1917403971|(o|0)==1886547814)){if((o|0)!=1852009592)break f;A=U(24),l[A+22|0]=1,X[A+20>>1]=6,i[A+16>>2]=851969,i[A+4>>2]=1,i[A+8>>2]=0,i[A+12>>2]=72992,i[A>>2]=72832,t=A+12|0,i[e+48>>2]=t,k=i[e+52>>2],i[e+52>>2]=A;n:{if(!k||(e=i[k+4>>2],i[k+4>>2]=e-1,e))break n;V[i[i[k>>2]+8>>2]](k),g(k)}e=B-16|0,B=e,k=i[r>>2],o=V[i[i[k>>2]+8>>2]](k)|0,u=i[r>>2],k=w0,o=o+7|0,k=o>>>0<7?k+1|0:k;n:{if(V[i[i[u>>2]+12>>2]](u,o,k)|0){if(l[e+4|0]=0,l[e+15|0]=0,r0(f,2,100,e+4|0),l[e+15|0]>=0)break n;G(i[e+4>>2]);break n}if(Z=t,p=t2(r),X[Z+4>>1]=p,Z=t,p=t2(r),X[Z+6>>1]=p,Z=t,p=t2(r),X[Z+8>>1]=p,Z=t,p=B2(r)>>>7|0,l[Z+10|0]=p,k=i[19565],i[f>>2]=i[19564],i[f+4>>2]=k,k=f+8|0,l[78275]>=0){t=i[19567],i[k>>2]=i[19566],i[k+4>>2]=t,i[k+8>>2]=i[19568];break n}_0(k,i[19566],i[19567])}if(B=e+16|0,i[f>>2])break e;if(l[f+19|0]<0&&G(i[f+8>>2]),e=i[A+4>>2],i[A+4>>2]=e-1,e)break k;V[i[i[A>>2]+8>>2]](A),g(A);break k}if(k=i[e+12>>2],h=k,A=i[e+8>>2],!(k|A)){if(e=U(56),i[n+4>>2]=e,i[n+8>>2]=52,i[n+12>>2]=-2147483592,r=s[12240]|s[12241]<<8|(s[12242]<<16|s[12243]<<24),A=s[12236]|s[12237]<<8|(s[12238]<<16|s[12239]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+52|0]=0,r=s[12284]|s[12285]<<8|(s[12286]<<16|s[12287]<<24),l[e+48|0]=r,l[e+49|0]=r>>>8,l[e+50|0]=r>>>16,l[e+51|0]=r>>>24,r=s[12280]|s[12281]<<8|(s[12282]<<16|s[12283]<<24),A=s[12276]|s[12277]<<8|(s[12278]<<16|s[12279]<<24),l[e+40|0]=A,l[e+41|0]=A>>>8,l[e+42|0]=A>>>16,l[e+43|0]=A>>>24,l[e+44|0]=r,l[e+45|0]=r>>>8,l[e+46|0]=r>>>16,l[e+47|0]=r>>>24,r=s[12272]|s[12273]<<8|(s[12274]<<16|s[12275]<<24),A=s[12268]|s[12269]<<8|(s[12270]<<16|s[12271]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[12264]|s[12265]<<8|(s[12266]<<16|s[12267]<<24),A=s[12260]|s[12261]<<8|(s[12262]<<16|s[12263]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[12256]|s[12257]<<8|(s[12258]<<16|s[12259]<<24),A=s[12252]|s[12253]<<8|(s[12254]<<16|s[12255]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[12248]|s[12249]<<8|(s[12250]<<16|s[12251]<<24),A=s[12244]|s[12245]<<8|(s[12246]<<16|s[12247]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,4,0,n+4|0),l[n+15|0]>=0)break r;G(i[n+4>>2]);break r}if(w=i[e+32>>2],u=A-w|0,k=u-4|0,u=(h-(A>>>0<w>>>0)|0)-(u>>>0<4)|0,A=k,!u&A>>>0>=104857601|u){if(e=U(48),i[n+4>>2]=e,i[n+8>>2]=44,i[n+12>>2]=-2147483600,r=s[9023]|s[9024]<<8|(s[9025]<<16|s[9026]<<24),A=s[9019]|s[9020]<<8|(s[9021]<<16|s[9022]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+44|0]=0,r=s[9059]|s[9060]<<8|(s[9061]<<16|s[9062]<<24),l[e+40|0]=r,l[e+41|0]=r>>>8,l[e+42|0]=r>>>16,l[e+43|0]=r>>>24,r=s[9055]|s[9056]<<8|(s[9057]<<16|s[9058]<<24),A=s[9051]|s[9052]<<8|(s[9053]<<16|s[9054]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[9047]|s[9048]<<8|(s[9049]<<16|s[9050]<<24),A=s[9043]|s[9044]<<8|(s[9045]<<16|s[9046]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[9039]|s[9040]<<8|(s[9041]<<16|s[9042]<<24),A=s[9035]|s[9036]<<8|(s[9037]<<16|s[9038]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[9031]|s[9032]<<8|(s[9033]<<16|s[9034]<<24),A=s[9027]|s[9028]<<8|(s[9029]<<16|s[9030]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,1e3,n+4|0),l[n+15|0]>=0)break r;G(i[n+4>>2]);break r}if(k=i[r>>2],h=V[i[i[k>>2]+8>>2]](k)|0,w=i[r>>2],k=w0,h=A+h|0,k=h>>>0<A>>>0?k+1|0:k,V[i[i[w>>2]+12>>2]](w,h,k)|0){if(l[n+4|0]=0,l[n+15|0]=0,r0(f,2,100,n+4|0),l[n+15|0]>=0)break r;G(i[n+4>>2]);break r}if(A|u)for(k=A>>>0<=1?1:A,h=A,t=U(A),A=B0(t,0,A),v=h+A|0;Z=A+_|0,p=B2(r),l[Z|0]=p,_=_+1|0,(k|0)!=(_|0););if(A=U(32),i[A+28>>2]=0,i[A+20>>2]=0,i[A+24>>2]=0,i[A+16>>2]=o,i[A+4>>2]=0,i[A+8>>2]=0,i[A+12>>2]=72952,i[A>>2]=73092,(t|0)!=(v|0)){if(k=v-t|0,(k|0)<0)break i;o=U(k),i[A+20>>2]=o,u=k+o|0,i[A+28>>2]=u,l0(o,t,k),i[A+24>>2]=u}i[e+48>>2]=A+12,k=i[e+52>>2],i[e+52>>2]=A;n:{if(!k||(e=i[k+4>>2],i[k+4>>2]=e-1,e))break n;V[i[i[k>>2]+8>>2]](k),g(k)}if(!t)break k;G(t)}if(s[r+20|0]!=1)break A;if(l[n+4|0]=0,l[n+15|0]=0,r0(f,2,100,n+4|0),l[n+15|0]>=0)break r;G(i[n+4>>2]);break r}if(l[n+4|0]=0,l[n+15|0]=0,r0(f,2,126,n+4|0),l[n+15|0]>=0)break r;G(i[n+4>>2]);break r}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break r}_0(f,i[19566],i[19567]);break r}if(f=i[A+4>>2],i[A+4>>2]=f-1,f)break r;V[i[i[A>>2]+8>>2]](A),g(A)}B=n+16|0;return}y0(),P()}function qs(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0;e=B-32|0,B=e,w=U0(i[r>>2],0),_=U0(i[r>>2],1),v=U0(i[r>>2],2),q=H2(i[r>>2],6),q&&(W=U0(i[r>>2],6));i:{if(!(!(w>>>0>8|_>>>0>8)&v>>>0<9)){i[f>>2]=0,i[f+4>>2]=0;break i}if(!((w|0)==(_|0)&(w|0)==(v|0))){i[f>>2]=0,i[f+4>>2]=0;break i}n=i[r>>2],H=i[n+48>>2],H&&(i[H+4>>2]=i[H+4>>2]+1,n=i[r>>2]),Z=i[n+28>>2],k=i[n+24>>2],A=U(136),i[A>>2]=72792,i[A+4>>2]=0,i[A+8>>2]=0,B0(A+20|0,0,104),n=i[A+4>>2],y=n+1|0,i[A+4>>2]=y,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,C=A- -64|0,i[C>>2]=0,i[C+4>>2]=0,i[A+132>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+84>>2]=1,i[A+88>>2]=1,i[A+72>>2]=A+76,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,l[A+113|0]=0,l[A+114|0]=0,l[A+115|0]=0,l[A+116|0]=0,l[A+117|0]=0,l[A+118|0]=0,l[A+119|0]=0,l[A+120|0]=0,C=A+12|0,i[A+12>>2]=C,i[A+8>>2]=i[A+8>>2]+1,i[A+4>>2]=n,i[A+16>>2]=A,y||(V[i[i[A>>2]+8>>2]](A),g(A)),i[C+36>>2]=3,i[C+32>>2]=0,i[C+28>>2]=Z,i[C+24>>2]=k;r:{e:{if(!J0(C,0,k,Z,w)||!J0(C,1,k,Z,_)||!J0(C,2,k,Z,v)||q&&!J0(C,6,k,Z,W))break e;if(i[e+28>>2]=0,i[e+24>>2]=0,i[e+20>>2]=0,i[e+16>>2]=0,i[e+12>>2]=0,i[e+8>>2]=0,i[e+4>>2]=0,i[e>>2]=0,d=v0(i[r>>2],0,e+28|0),w=v0(i[r>>2],1,e+24|0),_=v0(i[r>>2],2,e+20|0),A0=v0(C,0,e+12|0),v=v0(C,1,e+8|0),W=v0(C,2,e+4|0),q&&(j=v0(i[r>>2],6,e+16|0),L=v0(C,6,e)),l[v|0]=s[w|0],l[W|0]=s[_|0],f0=k-1|0,I=(f0|0)/2|0,(k|0)>=3)for(y=(I|0)<=1?1:I,r=0;t=r<<1,o=t|1,n=r>>>1|0,u=n+1|0,J=u+w|0,p=n+w|0,l[o+v|0]=(s[J|0]+m(s[p|0],3)|0)+2>>>2,t=t+2|0,l[t+v|0]=(s[p|0]+m(s[J|0],3)|0)+2>>>2,h=o+W|0,o=_+u|0,n=n+_|0,l[h|0]=(s[o|0]+m(s[n|0],3)|0)+2>>>2,l[t+W|0]=(s[n|0]+m(s[o|0],3)|0)+2>>>2,r=r+1|0,(y|0)!=(r|0););if(J=k&1,J||(r=(k>>1)-1|0,l[v+f0|0]=s[r+w|0],l[W+f0|0]=s[r+_|0]),y=Z-1|0,r=(y|0)/2|0,(Z|0)>=3)for(u=(r|0)<=1?1:r,n=0;p=n<<1,R=p|1,D=i[e+24>>2],t=n>>>1|0,o=t+1|0,l[v+m(R,i[e+8>>2])|0]=(s[w+m(D,o)|0]+m(s[w+m(t,D)|0],3)|0)+2>>>2,p=p+2|0,D=i[e+24>>2],l[v+m(p,i[e+8>>2])|0]=(s[w+m(D,t)|0]+m(s[w+m(o,D)|0],3)|0)+2>>>2,h=W+m(R,i[e+4>>2])|0,R=i[e+20>>2],l[h|0]=(s[_+m(R,o)|0]+m(s[_+m(t,R)|0],3)|0)+2>>>2,h=t,t=i[e+20>>2],l[W+m(p,i[e+4>>2])|0]=(s[_+m(h,t)|0]+m(s[_+m(t,o)|0],3)|0)+2>>>2,n=n+1|0,(u|0)!=(n|0););if(D=Z&1,D||(n=(Z>>1)-1|0,l[v+m(y,i[e+8>>2])|0]=s[w+m(n,i[e+24>>2])|0],l[W+m(y,i[e+4>>2])|0]=s[_+m(n,i[e+20>>2])|0]),!((Z|0)<3|J))for(p=(k+W|0)-1|0,R=(k+v|0)-1|0,a=(r|0)<=1?1:r,n=k>>1,r=(n+_|0)-1|0,t=(n+w|0)-1|0,n=0;z=n<<1,h=z|1,E=i[e+24>>2],o=n>>>1|0,u=o+1|0,l[R+m(h,i[e+8>>2])|0]=(s[t+m(E,u)|0]+m(s[t+m(o,E)|0],3)|0)+2>>>2,z=z+2|0,E=i[e+24>>2],l[R+m(z,i[e+8>>2])|0]=(s[t+m(E,o)|0]+m(s[t+m(u,E)|0],3)|0)+2>>>2,E=p+m(h,i[e+4>>2])|0,h=i[e+20>>2],l[E|0]=(s[r+m(h,u)|0]+m(s[r+m(o,h)|0],3)|0)+2>>>2,h=o,o=i[e+20>>2],l[p+m(z,i[e+4>>2])|0]=(s[r+m(h,o)|0]+m(s[r+m(o,u)|0],3)|0)+2>>>2,n=n+1|0,(a|0)!=(n|0););A:{if(D)break A;if((k|0)>=3)for(o=(I|0)<=1?1:I,r=(Z>>1)-1|0,n=0;I=n<<1,t=n>>>1|0,u=t+(w+m(r,i[e+24>>2])|0)|0,l[(I+(v+m(y,i[e+8>>2])|0)|0)+1|0]=(s[u+1|0]+m(s[u|0],3)|0)+2>>>2,u=t+(w+m(r,i[e+24>>2])|0)|0,l[(I+(v+m(y,i[e+8>>2])|0)|0)+2|0]=(s[u|0]+m(s[u+1|0],3)|0)+2>>>2,u=t+(_+m(r,i[e+20>>2])|0)|0,l[(I+(W+m(y,i[e+4>>2])|0)|0)+1|0]=(s[u+1|0]+m(s[u|0],3)|0)+2>>>2,h=I+(W+m(y,i[e+4>>2])|0)|0,I=t+(_+m(r,i[e+20>>2])|0)|0,l[h+2|0]=(s[I|0]+m(s[I+1|0],3)|0)+2>>>2,n=n+1|0,(o|0)!=(n|0););if(J)break A;n=k>>1,r=(Z>>1)-1|0,l[((v+m(y,i[e+8>>2])|0)+k|0)-1|0]=s[(n+(w+m(r,i[e+24>>2])|0)|0)-1|0],l[((W+m(y,i[e+4>>2])|0)+k|0)-1|0]=s[(n+(_+m(r,i[e+20>>2])|0)|0)-1|0]}A:{f:{if((Z|0)>=3){if((k|0)<3)break f;for(n=1;;){for(I=n+1|0,R=n>>>1|0,D=R+1|0,r=1;t=r>>>1|0,J=i[e+20>>2],u=t+(_+m(J,D)|0)|0,o=s[u+1|0],u=s[u|0],p=t+(_+m(J,R)|0)|0,J=s[p+1|0],p=s[p|0],h=i[e+24>>2],E=t+(w+m(h,R)|0)|0,a=s[E+1|0],z=m(a,3)+8|0,S=t+(w+m(h,D)|0)|0,t=s[S|0],n0=m(t,3),h=s[E|0],E=s[S+1|0],l[(v+m(i[e+8>>2],n)|0)+r|0]=(n0+(z+m(h,9)|0)|0)+E>>>4,S=m(E,3),h0=m(h,3)+8|0,l[((v+m(i[e+8>>2],n)|0)+r|0)+1|0]=S+(t+(h0+m(a,9)|0)|0)>>>4,l[(v+m(I,i[e+8>>2])|0)+r|0]=((a+h0|0)+m(t,9)|0)+S>>>4,l[((v+m(I,i[e+8>>2])|0)+r|0)+1|0]=((h+z|0)+n0|0)+m(E,9)>>>4,a=m(u,3),t=m(J,3)+8|0,l[(W+m(i[e+4>>2],n)|0)+r|0]=o+(a+(t+m(p,9)|0)|0)>>>4,h=m(o,3),z=m(p,3)+8|0,l[((W+m(i[e+4>>2],n)|0)+r|0)+1|0]=h+(u+(z+m(J,9)|0)|0)>>>4,l[(W+m(I,i[e+4>>2])|0)+r|0]=h+((J+z|0)+m(u,9)|0)>>>4,l[((W+m(I,i[e+4>>2])|0)+r|0)+1|0]=(a+(t+p|0)|0)+m(o,9)>>>4,r=r+2|0,(f0|0)>(r|0););if(n=n+2|0,!((y|0)>(n|0)))break}}if((Z|0)<=0)break A}if(q){for(r=0;l0(m(i[e+12>>2],r)+A0|0,m(i[e+28>>2],r)+d|0,k),l0(m(i[e>>2],r)+L|0,m(i[e+16>>2],r)+j|0,k),r=r+1|0,(Z|0)!=(r|0););break A}w=Z&1;f:{if(!y){r=0;break f}for(Z=Z&-2,r=0,n=0;l0(m(i[e+12>>2],r)+A0|0,m(i[e+28>>2],r)+d|0,k),_=r|1,l0(m(_,i[e+12>>2])+A0|0,m(_,i[e+28>>2])+d|0,k),r=r+2|0,n=n+2|0,(Z|0)!=(n|0););}if(!w)break A;l0(m(i[e+12>>2],r)+A0|0,m(i[e+28>>2],r)+d|0,k)}i[f+4>>2]=A,i[f>>2]=C;break r}if(i[f>>2]=0,i[f+4>>2]=0,f=i[A+4>>2],i[A+4>>2]=f-1,f)break r;V[i[i[A>>2]+8>>2]](A),g(A)}if(!H||(f=i[H+4>>2],i[H+4>>2]=f-1,f))break i;V[i[i[H>>2]+8>>2]](H),g(H)}B=e+32|0}function Vk(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0;h=B+-64|0,B=h,i[h+60>>2]=e,H=h+39|0,I=h+40|0;i:{r:{e:{A:{f:for(;;){o=0;k:for(;;){if(w=e,(p^2147483647)<(o|0))break A;p=o+p|0;n:{t:{o:{u:{if(o=e,u=s[o|0],u)for(;;){l:{e=u&255;s:{if(!e){e=o;break s}if((e|0)!=37)break l;for(u=o;;){if(s[u+1|0]!=37){e=u;break s}if(o=o+1|0,v=s[u+2|0],e=u+2|0,u=e,(v|0)!=37)break}}if(o=o-w|0,z=p^2147483647,(o|0)>(z|0))break A;if(f&&H1(f,w,o),o)continue k;i[h+60>>2]=e,o=e+1|0,C=-1,v=l[e+1|0]-48|0,s[e+2|0]!=36|v>>>0>9||(R=1,C=v,o=e+3|0),i[h+60>>2]=o,Z=0,u=l[o|0],e=u-32|0;s:{if(e>>>0>31){v=o;break s}if(v=o,e=1<<e,!(e&75913))break s;for(;;){if(v=o+1|0,i[h+60>>2]=v,Z=e|Z,u=l[o+1|0],e=u-32|0,e>>>0>=32)break s;if(o=v,e=1<<e,!(e&75913))break}}s:{if((u|0)==42){e=l[v+1|0]-48|0;h:{if(!(s[v+2|0]!=36|e>>>0>9)){w:{if(!f){i[(e<<2)+k>>2]=10,e=0;break w}e=i[(e<<3)+A>>2]}W=e,e=v+3|0,u=1;break h}if(R)break u;if(e=v+1|0,!f){i[h+60>>2]=e,R=0,W=0;break s}o=i[r>>2],i[r>>2]=o+4,W=i[o>>2],u=0}if(R=u,i[h+60>>2]=e,(W|0)>=0)break s;W=0-W|0,Z=Z|8192;break s}if(W=E9(h+60|0),(W|0)<0)break A;e=i[h+60>>2]}o=0,_=-1,y=0;s:{if(s[e|0]!=46)break s;if(s[e+1|0]==42){v=l[e+2|0]-48|0;h:{if(!(s[e+3|0]!=36|v>>>0>9)){e=e+4|0;w:{if(!f){i[(v<<2)+k>>2]=10,_=0;break w}_=i[(v<<3)+A>>2]}break h}if(R)break u;if(e=e+2|0,_=0,!f)break h;v=i[r>>2],i[r>>2]=v+4,_=i[v>>2]}i[h+60>>2]=e,y=(_|0)>=0;break s}i[h+60>>2]=e+1,_=E9(h+60|0),e=i[h+60>>2],y=1}for(;;){if(E=o,v=28,D=e,u=l[e|0],u-123>>>0<4294967238)break e;if(e=e+1|0,o=s[(u+m(o,58)|0)+52063|0],!(o-1>>>0<8))break}i[h+60>>2]=e;s:{if((o|0)!=27){if(!o)break e;if((C|0)>=0){if(!f){i[(C<<2)+k>>2]=o;continue f}o=(C<<3)+A|0,v=i[o+4>>2],i[h+48>>2]=i[o>>2],i[h+52>>2]=v;break s}if(!f)break n;qn(h+48|0,o,r,t);break s}if((C|0)>=0)break e;if(o=0,!f)continue k}if(s[f|0]&32)break r;u=Z&-65537,Z=Z&8192?u:Z,C=0,J=2463,v=I;s:{h:{w:{_:{v:{Z:{m:{B:{p:{W:{G:{C:{y:{Y:{V:{F:{I:switch(o=l[D|0],o=E&&(o&15)==3?o&-45:o,o-88|0){case 9:case 13:case 14:case 15:break s;case 27:break m;case 11:break B;case 12:case 17:break G;case 23:break C;case 0:case 32:break y;case 24:break Y;case 22:break V;case 29:break F;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 25:case 26:case 28:case 30:case 31:break t;default:break I}I:switch(o-65|0){case 0:case 4:case 5:case 6:break s;case 2:break Z;case 1:case 3:break t;default:break I}if((o|0)==83)break v;break t}w=i[h+48>>2],u=i[h+52>>2],J=2463;break W}o=0;V:switch(E&255){case 0:i[i[h+48>>2]>>2]=p;continue k;case 1:i[i[h+48>>2]>>2]=p;continue k;case 2:w=i[h+48>>2],i[w>>2]=p,i[w+4>>2]=p>>31;continue k;case 3:X[i[h+48>>2]>>1]=p;continue k;case 4:l[i[h+48>>2]]=p;continue k;case 6:i[i[h+48>>2]>>2]=p;continue k;case 7:break V;default:continue k}w=i[h+48>>2],i[w>>2]=p,i[w+4>>2]=p>>31;continue k}_=_>>>0<=8?8:_,Z=Z|8,o=120}if(e=I,D=o&32,w=i[h+48>>2],u=i[h+52>>2],w|u)for(;e=e-1|0,l[e|0]=D|s[(w&15)+52592|0],E=!u&w>>>0>15|(u|0)!=0,w=(u&15)<<28|w>>>4,u=u>>>4|0,!!E;);if(w=e,!(i[h+48>>2]|i[h+52>>2])|!(Z&8))break p;J=(o>>>4|0)+2463|0,C=2;break p}if(e=I,o=i[h+52>>2],u=o,w=i[h+48>>2],o|w)for(;e=e-1|0,l[e|0]=w&7|48,E=!u&w>>>0>7|(u|0)!=0,w=(u&7)<<29|w>>>3,u=u>>>3|0,!!E;);if(w=e,!(Z&8))break p;e=I-e|0,_=(e|0)<(_|0)?_:e+1|0;break p}if(w=i[h+48>>2],e=i[h+52>>2],u=e,(e|0)<0){u=0-(e+((w|0)!=0)|0)|0,w=0-w|0,i[h+48>>2]=w,i[h+52>>2]=u,C=1,J=2463;break W}if(Z&2048){C=1,J=2464;break W}C=Z&1,J=C?2465:2463}w=Yi(w,u,I)}if((_|0)<0&y)break A;if(Z=y?Z&-65537:Z,e=i[h+48>>2],o=i[h+52>>2],!(_|(e|o)!=0)){w=I,_=0;break t}e=!(e|o)+(I-w|0)|0,_=(e|0)<(_|0)?_:e;break t}w=i[h+48>>2];break o}if(e=i[h+48>>2],w=e||18295,e=_>>>0>=2147483647?2147483647:_,o=PA(w,0,e),e=o?o-w|0:e,v=e+w|0,(_|0)>=0){Z=u,_=e;break t}if(Z=u,_=e,s[v|0])break A;break t}if(o=i[h+48>>2],o|i[h+52>>2])break _;w=0;break o}if(_){u=i[h+48>>2];break w}o=0,$1(f,32,W,0,Z);break h}i[h+12>>2]=0,i[h+8>>2]=o,u=h+8|0,i[h+48>>2]=u,_=-1}for(o=0;;){w:{if(w=i[u>>2],!w)break w;if(w=ye(h+4|0,w),(w|0)<0)break r;if(w>>>0>_-o>>>0)break w;if(u=u+4|0,o=o+w|0,_>>>0>o>>>0)continue}break}if(v=61,(o|0)<0)break e;if($1(f,32,W,o,Z),!o){o=0;break h}for(v=0,u=i[h+48>>2];;){if(w=i[u>>2],!w||(_=h+4|0,w=ye(_,w),v=w+v|0,v>>>0>o>>>0))break h;if(H1(f,_,w),u=u+4|0,!(o>>>0>v>>>0))break}}$1(f,32,W,o,Z^8192),o=(o|0)<(W|0)?W:o;continue k}if((_|0)<0&y)break A;if(v=61,o=V[n|0](f,i0[h+48>>3],W,_,Z,o)|0,(o|0)>=0)continue k;break e}u=s[o+1|0],o=o+1|0}if(f)break i;if(!R)break n;for(o=1;;){if(f=i[(o<<2)+k>>2],f){if(qn((o<<3)+A|0,f,r,t),p=1,o=o+1|0,(o|0)!=10)continue;break i}break}if(o>>>0>=10){p=1;break i}for(;;){if(i[(o<<2)+k>>2])break u;if(p=1,o=o+1|0,(o|0)==10)break}break i}v=28;break e}l[h+39|0]=w,_=1,w=H,Z=u}if(u=v-w|0,_=(u|0)<(_|0)?_:u,(_|0)>(C^2147483647))break A;if(v=61,e=_+C|0,o=(e|0)<(W|0)?W:e,(z|0)<(o|0))break e;$1(f,32,o,e,Z),H1(f,J,C),$1(f,48,o,e,Z^65536),$1(f,48,_,u,0),H1(f,w,u),$1(f,32,o,e,Z^8192),e=i[h+60>>2];continue}break}break}p=0;break i}v=61}i[23944]=v}p=-1}return B=h- -64|0,p}function P0(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0;k=B-160|0,B=k,A=i[e>>2];i:{if(r){r:{if(!A){i[r+12>>2]=34640,A=0,r=34640;break r}i[k+24>>2]=54496,i[k+80>>2]=54516,A=i[13633],i[k+16>>2]=A,n=i[A-12>>2],A=k+16|0,i[n+A>>2]=i[13634],i[k+20>>2]=0,n=A+i[i[k+16>>2]-12>>2]|0,t=k+28|0,b0(n,t),i[n+72>>2]=0,i[n+76>>2]=-1,n=i[13635],i[k+24>>2]=n,o=i[n-12>>2],n=k+24|0,i[o+n>>2]=i[13636],o=i[13632],i[k+16>>2]=o,i[A+i[o-12>>2]>>2]=i[13637],i[k+80>>2]=54516,i[k+16>>2]=54476,i[k+24>>2]=54496,o=$0(t),i[o>>2]=53552,i[k+68>>2]=0,i[k+72>>2]=0,i[k+60>>2]=0,i[k+64>>2]=0,i[k+76>>2]=24,A=i[e>>2],A>>>0>11?A=5233:A=i[(A<<2)+72500>>2],u=x(x(n,A,G2(A)),21688,2);e:{A:{f:{k:{n:{t:{o:{u:{l:{s:{h:{w:{_:{v:{Z:{m:{B:{p:{W:{G:{C:{y:{Y:{V:{F:{I:{D:{U:{M:{J:{x:{E:{Q:{g:{N:{X:{H:{T:{a:{S:{R:{O:{j:{P:{L:{K:{q:{$:{b:{d:{c:{i0:{r0:{e0:{A0:{f0:{k0:{n0:{t0:{o0:{l0:{u0:{s0:{h0:{w0:{_0:{v0:{m0:{B0:{Z0:{p0:{W0:{X0:{G0:{C0:{if(t=i[e+4>>2],(t|0)<=1999){A=13017;z:switch(t|0){case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 65:case 66:case 67:case 68:case 69:case 70:case 71:case 72:case 73:case 74:case 75:case 76:case 77:case 78:case 79:case 80:case 81:case 82:case 83:case 84:case 85:case 86:case 87:case 88:case 89:case 90:case 91:case 92:case 93:case 94:case 95:case 96:case 97:case 98:case 99:case 143:case 144:case 145:case 146:case 147:case 148:case 149:break f;case 142:break E;case 150:break Q;case 140:break g;case 139:break N;case 138:break X;case 137:break H;case 136:break T;case 135:break a;case 134:break S;case 133:break R;case 132:break O;case 130:break j;case 129:break P;case 128:break L;case 127:break K;case 126:break q;case 124:break $;case 123:break b;case 122:break d;case 121:break c;case 120:break i0;case 117:break r0;case 116:break e0;case 115:break A0;case 114:break f0;case 125:break k0;case 113:break n0;case 112:break t0;case 111:break o0;case 110:break l0;case 109:break u0;case 0:break e;case 108:break s0;case 107:break h0;case 131:break w0;case 141:break _0;case 106:break v0;case 105:break m0;case 104:break B0;case 103:break Z0;case 102:break p0;case 119:break W0;case 118:break X0;case 101:break G0;case 100:break C0;default:break z}switch(t-1e3|0){case 1:break J;case 0:break x;default:break f}}if((t|0)<=3999){z:switch(t-2e3|0){case 8:break C;case 7:break y;case 6:break Y;case 5:break V;case 4:break F;case 3:break I;case 2:break D;case 1:break U;case 0:break M;default:break z}switch(t-3e3|0){case 6:break v;case 5:break Z;case 4:break m;case 3:break B;case 2:break p;case 1:break W;case 0:break G;default:break f}}z:switch(t-5e3|0){case 4:break l;case 3:break s;case 2:break h;case 1:break w;case 0:break _;default:break z}switch(t-6e3|0){case 3:break n;case 2:break t;case 1:break o;case 0:break u;default:break k}}A=10115;break e}A=8920;break e}A=14550;break e}A=4543;break e}A=2201;break e}A=2159;break e}A=2313;break e}A=2173;break e}A=2355;break e}A=2341;break e}A=2369;break e}A=2243;break e}A=2229;break e}A=2327;break e}A=2299;break e}A=2257;break e}A=2215;break e}A=2271;break e}A=2285;break e}A=5618;break e}A=1221;break e}A=7298;break e}A=14482;break e}A=6344;break e}A=14412;break e}A=14682;break e}A=12967;break e}A=7271;break e}A=9719;break e}A=3512;break e}A=5895;break e}A=9e3;break e}A=2042;break e}A=8329;break e}A=4362;break e}A=4719;break e}A=3687;break e}A=14499;break e}A=1267;break e}A=12824;break e}A=12790;break e}A=7458;break e}A=6298;break e}A=2187;break e}A=13067;break e}A=5351;break e}A=13533;break e}A=11846;break e}A=13355;break e}A=12002;break e}A=11952;break e}A=5566;break e}A=9195;break e}A=1284;break e}A=10265;break e}A=13872;break e}A=9746;break e}A=6618;break e}A=6424;break e}A=11696;break e}A=11733;break e}A=11771;break e}A=14433;break e}A=7381;break e}A=7404;break e}A=7365;break e}A=17693;break e}A=13233;break e}A=13188;break e}A=3932;break e}A=3455;break e}if((t|0)==4e3)break A}A=i[18124];break e}A=8307}x(u,A,G2(A)),A=l[e+19|0],((A|0)<0?i[e+12>>2]:A)&&(t=x(n,21688,2),A=l[e+19|0],n=(A|0)<0,x(t,n?i[e+8>>2]:e+8|0,n?i[e+12>>2]:A)),A=k+4|0,i2(A,o);e:{if((r|0)==(A|0))break e;if(A=l[k+15|0],l[r+11|0]>=0){if((A|0)>=0){A=i[k+8>>2],i[r>>2]=i[k+4>>2],i[r+4>>2]=A,i[r+8>>2]=i[k+12>>2];break e}i4(r,i[k+4>>2],i[k+8>>2]);break e}n=(A|0)<0,_4(r,n?i[k+4>>2]:k+4|0,n?i[k+8>>2]:A)}i[r+12>>2]=l[r+11|0]<0?i[r>>2]:r,l[k+15|0]<0&&G(i[k+4>>2]),A=i[13631],i[k+16>>2]=A,i[i[A-12>>2]+(k+16|0)>>2]=i[13639],i[k+24>>2]=i[13640],i[o>>2]=53552,l[k+71|0]<0&&G(i[k+60>>2]),K0(o),T0(k+80|0),A=i[e>>2],r=i[r+12>>2]}i[f>>2]=A,i[f+4>>2]=i[e+4>>2];break i}i[f>>2]=A,i[f+4>>2]=i[e+4>>2],r=i[18124]}i[f+8>>2]=r,B=k+160|0}function $s(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=Y(0),o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=Y(0),y=Y(0),E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=Y(0),A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=Y(0),r2=Y(0),n2=Y(0),s2=Y(0);e=B-80|0,B=e,A=i[r>>2],p=i[A+36>>2],n=0,o=U0(A,0),A=U0(i[r>>2],1),k=U0(i[r>>2],2),H=H2(i[r>>2],6),H&&(n=U0(i[r>>2],6));i:{if(!(!((o|0)==8|(A|0)==8)&(k|0)!=8)){i[f>>2]=0,i[f+4>>2]=0;break i}if(!((A|0)==(o|0)&(k|0)==(o|0))){i[f>>2]=0,i[f+4>>2]=0;break i}k=i[r>>2],h=i[k+44>>2],W=i[k+48>>2],W&&(i[W+4>>2]=i[W+4>>2]+1,k=i[r>>2]),v=i[k+28>>2],_=i[k+24>>2],A=U(136),i[A>>2]=72792,i[A+4>>2]=0,i[A+8>>2]=0,B0(A+20|0,0,104),k=i[A+4>>2],C=k+1|0,i[A+4>>2]=C,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,w=A- -64|0,i[w>>2]=0,i[w+4>>2]=0,i[A+132>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+84>>2]=1,i[A+88>>2]=1,i[A+72>>2]=A+76,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,l[A+113|0]=0,l[A+114|0]=0,l[A+115|0]=0,l[A+116|0]=0,l[A+117|0]=0,l[A+118|0]=0,l[A+119|0]=0,l[A+120|0]=0,w=A+12|0,i[A+12>>2]=w,i[A+8>>2]=i[A+8>>2]+1,i[A+4>>2]=k,i[A+16>>2]=A,C||(V[i[i[A>>2]+8>>2]](A),g(A)),i[w+36>>2]=3,i[w+32>>2]=1,i[w+28>>2]=v,i[w+24>>2]=_;r:{e:{A:{f:{if(!J0(w,3,_,v,o)||!J0(w,4,_,v,o)||!J0(w,5,_,v,o)||H&&!J0(w,6,_,v,n))break f;if(i[e+76>>2]=0,i[e+72>>2]=0,i[e+68>>2]=0,i[e+64>>2]=0,i[e+60>>2]=0,i[e+56>>2]=0,i[e+52>>2]=0,i[e+48>>2]=0,L=v0(i[r>>2],0,e+76|0),p0=v0(i[r>>2],1,e+72|0),n0=2,X0=v0(i[r>>2],2,e+68|0),G0=v0(w,3,e+60|0),I0=v0(w,4,e+56|0),Q0=v0(w,5,e+52|0),H&&(a=v0(i[r>>2],6,e- -64|0),S=v0(w,6,e+48|0)),r=p<<3,k=p>>>0<4,n=(k?16908801>>>r|0:0)&3,r=(k?16843265>>>r|0:0)&3,i[e+76>>2]=i[e+76>>2]/2,i[e+72>>2]=i[e+72>>2]/2,i[e+68>>2]=i[e+68>>2]/2,i[e+64>>2]=i[e+64>>2]/2,i[e+60>>2]=i[e+60>>2]/2,i[e+56>>2]=i[e+56>>2]/2,i[e+52>>2]=i[e+52>>2]/2,i[e+48>>2]=i[e+48>>2]/2,i[e+36>>2]=-1086926434,i[e+40>>2]=1071829221,i[e+28>>2]=1068725436,i[e+32>>2]=-1095748968,l[e+24|0]=1,h0=1,h&&(h0=s[h+10|0],n0=Q[h+8>>1],V6(e+4|0,n0,Q[h+4>>1]),i[e+40>>2]=i[e+20>>2],k=i[e+16>>2],i[e+32>>2]=i[e+12>>2],i[e+36>>2]=k,k=i[e+8>>2],i[e+24>>2]=i[e+4>>2],i[e+28>>2]=k),(v|0)<=0)break e;if(q=_<<1,(_|0)<=0)break A;for(p=n-1|0,h=-1<<o^-1,F0=r-1|0,d=Y(16<<o-8),A0=1<<o-1&65535,Y0=_&2147483646,S0=_&1,o=0;;){C=(m(i[e+52>>2],o)<<1)+Q0|0,E=(m(i[e+56>>2],o)<<1)+I0|0,J=(m(i[e+60>>2],o)<<1)+G0|0,R=(m(i[e+76>>2],o)<<1)+L|0,r=o>>>F0|0,D=(m(r,i[e+68>>2])<<1)+X0|0,z=(m(r,i[e+72>>2])<<1)+p0|0,c0=Z0[e+40>>2],r2=Z0[e+36>>2],n2=Z0[e+32>>2],s2=Z0[e+28>>2],k=0;k:{n:{t:switch(n0|0){default:for(;;){Z=k>>>p<<1,t=Y(Q[Z+D>>1]-A0|0),u=h0&1,I=u?t:Y(t*Y(1.142899990081787)),n=k<<1,t=Y(Q[n+R>>1]),t=u?t:Y(Y(t-d)*Y(1.1689000129699707)),y=Y(Y(Y(s2*I)+t)+Y(.5));o:{if(Y(d0(y))<Y(2147483648)){r=~~y;break o}r=-2147483648}Z=Q[Z+z>>1],X[n+J>>1]=(r|0)>=0?(r|0)<(h|0)?r:h:0,f0=n+E|0,y=Y(r2*I),I=Y(Z-A0|0),I=u?I:Y(I*Y(1.142899990081787)),y=Y(Y(y+Y(Y(n2*I)+t))+Y(.5));o:{if(Y(d0(y))<Y(2147483648)){r=~~y;break o}r=-2147483648}X[f0>>1]=(r|0)>=0?(r|0)<(h|0)?r:h:0,n=n+C|0,t=Y(Y(Y(c0*I)+t)+Y(.5));o:{if(Y(d0(t))<Y(2147483648)){r=~~t;break o}r=-2147483648}if(X[n>>1]=(r|0)>=0?(r|0)<(h|0)?r:h:0,k=k+1|0,(_|0)==(k|0))break}break k;case 0:if(h0&1){if(n=0,(_|0)==1)break n;for(;r=k<<1,u=k>>>p<<1,X[r+J>>1]=Q[u+D>>1],X[r+E>>1]=Q[r+R>>1],X[r+C>>1]=Q[u+z>>1],u=k|1,r=u<<1,u=u>>>p<<1,X[r+J>>1]=Q[u+D>>1],X[r+E>>1]=Q[r+R>>1],X[r+C>>1]=Q[u+z>>1],k=k+2|0,n=n+2|0,(Y0|0)!=(n|0););break n}for(;;){n=k<<1,u=n+J|0,Z=k>>>p<<1,t=Y(Y(Y(Y(Q[Z+D>>1])-d)*Y(1.142899990081787))+Y(.5));o:{if(Y(d0(t))<Y(2147483648)){r=~~t;break o}r=-2147483648}X[u>>1]=(r|0)>=0?(r|0)<(h|0)?r:h:0,u=n+E|0,t=Y(Y(Y(Y(Q[n+R>>1])-d)*Y(1.1689000129699707))+Y(.5));o:{if(Y(d0(t))<Y(2147483648)){r=~~t;break o}r=-2147483648}X[u>>1]=(r|0)>=0?(r|0)<(h|0)?r:h:0,n=n+C|0,t=Y(Y(Y(Y(Q[Z+z>>1])-d)*Y(1.142899990081787))+Y(.5));o:{if(Y(d0(t))<Y(2147483648)){r=~~t;break o}r=-2147483648}if(X[n>>1]=(r|0)>=0?(r|0)<(h|0)?r:h:0,k=k+1|0,(_|0)==(k|0))break}break k;case 8:break t}for(;n=k>>>p<<1,u=Q[n+D>>1]-A0|0,r=k<<1,Z=Q[r+R>>1],f0=Q[n+z>>1]-A0|0,j=Z-f0|0,n=u+j|0,X[r+J>>1]=(n|0)>=0?n>>>0>=255?255:n:0,n=Z+f0|0,X[r+E>>1]=(n|0)>=0?n>>>0>=255?255:n:0,n=r+C|0,r=j-u|0,X[n>>1]=(r|0)>=0?r>>>0>=255?255:r:0,k=k+1|0,(_|0)!=(k|0););break k}if(!S0)break k;r=k<<1,k=k>>>p<<1,X[r+J>>1]=Q[k+D>>1],X[r+E>>1]=Q[r+R>>1],X[r+C>>1]=Q[k+z>>1]}if(H&&l0((m(i[e+48>>2],o)<<1)+S|0,(m(i[e+64>>2],o)<<1)+a|0,q),o=o+1|0,(v|0)==(o|0))break}break e}if(i[f>>2]=0,i[f+4>>2]=0,f=i[A+4>>2],i[A+4>>2]=f-1,f)break r;V[i[i[A>>2]+8>>2]](A),g(A);break r}if(!H)break e;if(r=0,(v|0)!=1)for(n=v&2147483646,k=0;l0((m(i[e+48>>2],r)<<1)+S|0,(m(i[e+64>>2],r)<<1)+a|0,q),_=r|1,l0((m(_,i[e+48>>2])<<1)+S|0,(m(_,i[e+64>>2])<<1)+a|0,q),r=r+2|0,k=k+2|0,(n|0)!=(k|0););if(!(v&1))break e;l0((m(i[e+48>>2],r)<<1)+S|0,(m(i[e+64>>2],r)<<1)+a|0,q)}i[f+4>>2]=A,i[f>>2]=w}if(!W||(f=i[W+4>>2],i[W+4>>2]=f-1,f))break i;V[i[i[W>>2]+8>>2]](W),g(W)}B=e+80|0}function bs(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=Y(0),o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=Y(0),J=0,R=Y(0),D=0,z=0,H=0,a=0,S=0,q=0,d=0;e=B-80|0,B=e,A=i[r>>2],C=i[A+36>>2],k=U0(A,0),A=U0(i[r>>2],1),n=U0(i[r>>2],2),v=H2(i[r>>2],6),v&&(W=U0(i[r>>2],6));i:{if(!(!((k|0)!=8|(A|0)!=8)&(n|0)==8)){i[f>>2]=0,i[f+4>>2]=0;break i}A=i[r>>2],I=i[A+44>>2],y=i[A+48>>2],y&&(i[y+4>>2]=i[y+4>>2]+1,A=i[r>>2]),_=i[A+28>>2],u=i[A+24>>2],n=U(136),i[n>>2]=72792,i[n+4>>2]=0,i[n+8>>2]=0,B0(n+20|0,0,104),A=i[n+4>>2],Z=A+1|0,i[n+4>>2]=Z,i[n+56>>2]=0,i[n+60>>2]=0,i[n+44>>2]=99,i[n+48>>2]=99,i[n+32>>2]=3795,h=n- -64|0,i[h>>2]=0,i[h+4>>2]=0,i[n+132>>2]=0,i[n+124>>2]=0,i[n+128>>2]=0,i[n+84>>2]=1,i[n+88>>2]=1,i[n+72>>2]=n+76,i[n+92>>2]=0,i[n+96>>2]=0,i[n+100>>2]=0,i[n+104>>2]=0,i[n+108>>2]=0,i[n+112>>2]=0,l[n+113|0]=0,l[n+114|0]=0,l[n+115|0]=0,l[n+116|0]=0,l[n+117|0]=0,l[n+118|0]=0,l[n+119|0]=0,l[n+120|0]=0,h=n+12|0,i[n+12>>2]=h,i[n+8>>2]=i[n+8>>2]+1,i[n+4>>2]=A,i[n+16>>2]=n,Z||(V[i[i[n>>2]+8>>2]](n),g(n)),i[h+36>>2]=3,i[h+32>>2]=1,i[h+28>>2]=_,i[h+24>>2]=u;r:{e:{if(!J0(h,3,u,_,k)||!J0(h,4,u,_,k)||!J0(h,5,u,_,k)||v&&!J0(h,6,u,_,W))break e;W=0,i[e+76>>2]=0,i[e+72>>2]=0,i[e+68>>2]=0,i[e+64>>2]=0,i[e+60>>2]=0,i[e+56>>2]=0,i[e+52>>2]=0,i[e+48>>2]=0,D=v0(i[r>>2],0,e+76|0),w=1,z=v0(i[r>>2],1,e+72|0),A=2,H=v0(i[r>>2],2,e+68|0),a=v0(h,3,e+60|0),S=v0(h,4,e+56|0),q=v0(h,5,e+52|0),Z=0,v&&(Z=v0(i[r>>2],6,e- -64|0),W=v0(h,6,e+48|0)),r=C<<3,k=C>>>0<4,C=(k?16908801>>>r|0:0)&3,r=(k?16843265>>>r|0:0)&3,i[e+36>>2]=-1086926434,i[e+40>>2]=1071829221,i[e+28>>2]=1068725436,i[e+32>>2]=-1095748968,l[e+24|0]=1,I&&(w=s[I+10|0],A=Q[I+8>>1],V6(e+4|0,A,Q[I+4>>1]),i[e+40>>2]=i[e+20>>2],k=i[e+16>>2],i[e+32>>2]=i[e+12>>2],i[e+36>>2]=k,k=i[e+8>>2],i[e+24>>2]=i[e+4>>2],i[e+28>>2]=k);A:{if((_|0)<=0)break A;if((u|0)>0){I=C-1|0,C=r-1|0,k=0;f:switch(A|0){case 0:if(r=0,w&1)for(;;){for(A=r>>>C|0,k=0;w=k>>>I|0,l[(m(i[e+60>>2],r)+a|0)+k|0]=s[w+(m(A,i[e+68>>2])+H|0)|0],l[(m(i[e+56>>2],r)+S|0)+k|0]=s[(D+m(i[e+76>>2],r)|0)+k|0],l[(m(i[e+52>>2],r)+q|0)+k|0]=s[w+(m(A,i[e+72>>2])+z|0)|0],k=k+1|0,(u|0)!=(k|0););if(v&&l0(m(i[e+48>>2],r)+W|0,m(i[e+64>>2],r)+Z|0,u),r=r+1|0,(_|0)==(r|0))break A}for(;;){for(w=r>>>C|0,k=0;;){o=(m(i[e+60>>2],r)+a|0)+k|0,p=k>>>I|0,t=Y(Y(Y(Y(s[p+(m(w,i[e+68>>2])+H|0)|0])+Y(-16))*Y(1.142899990081787))+Y(.5));k:{if(Y(d0(t))<Y(2147483648)){A=~~t;break k}A=-2147483648}l[o|0]=(A|0)>=0?A>>>0>=255?255:A:0,o=(m(i[e+56>>2],r)+S|0)+k|0,t=Y(Y(Y(Y(s[(D+m(i[e+76>>2],r)|0)+k|0])+Y(-16))*Y(1.1689000129699707))+Y(.5));k:{if(Y(d0(t))<Y(2147483648)){A=~~t;break k}A=-2147483648}l[o|0]=(A|0)>=0?A>>>0>=255?255:A:0,o=(m(i[e+52>>2],r)+q|0)+k|0,t=Y(Y(Y(Y(s[p+(m(w,i[e+72>>2])+z|0)|0])+Y(-16))*Y(1.142899990081787))+Y(.5));k:{if(Y(d0(t))<Y(2147483648)){A=~~t;break k}A=-2147483648}if(l[o|0]=(A|0)>=0?A>>>0>=255?255:A:0,k=k+1|0,(u|0)==(k|0))break}if(v&&l0(m(i[e+48>>2],r)+W|0,m(i[e+64>>2],r)+Z|0,u),r=r+1|0,(_|0)==(r|0))break}break A;case 8:for(;;){for(A=k>>>C|0,r=0;o=r>>>I|0,w=s[o+(m(A,i[e+68>>2])+H|0)|0]-128|0,p=s[(D+m(i[e+76>>2],k)|0)+r|0],J=s[o+(m(A,i[e+72>>2])+z|0)|0]-128|0,d=p-J|0,o=w+d|0,l[(m(i[e+60>>2],k)+a|0)+r|0]=(o|0)>=0?o>>>0>=255?255:o:0,o=p+J|0,l[(m(i[e+56>>2],k)+S|0)+r|0]=(o|0)>=0?o>>>0>=255?255:o:0,w=d-w|0,l[(m(i[e+52>>2],k)+q|0)+r|0]=(w|0)>=0?w>>>0>=255?255:w:0,r=r+1|0,(u|0)!=(r|0););if(v&&l0(m(i[e+48>>2],k)+W|0,m(i[e+64>>2],k)+Z|0,u),k=k+1|0,(_|0)==(k|0))break}break A;default:break f}for(;;){for(o=k>>>C|0,r=0;;){J=r>>>I|0,t=Y(s[J+(m(o,i[e+68>>2])+H|0)|0]-128|0),p=w&1,E=p?t:Y(t*Y(1.142899990081787)),t=Y(s[(D+m(i[e+76>>2],k)|0)+r|0]),t=p?t:Y(Y(t+Y(-16))*Y(1.1689000129699707)),R=Y(Y(Y(Z0[e+28>>2]*E)+t)+Y(.5));f:{if(Y(d0(R))<Y(2147483648)){A=~~R;break f}A=-2147483648}J=s[J+(m(o,i[e+72>>2])+z|0)|0],l[(m(i[e+60>>2],k)+a|0)+r|0]=(A|0)>=0?A>>>0>=255?255:A:0,d=(m(i[e+56>>2],k)+S|0)+r|0,R=Y(Z0[e+36>>2]*E),E=Y(J-128|0),E=p?E:Y(E*Y(1.142899990081787)),R=Y(Y(R+Y(Y(Z0[e+32>>2]*E)+t))+Y(.5));f:{if(Y(d0(R))<Y(2147483648)){A=~~R;break f}A=-2147483648}l[d|0]=(A|0)>=0?A>>>0>=255?255:A:0,p=(m(i[e+52>>2],k)+q|0)+r|0,t=Y(Y(Y(Z0[e+40>>2]*E)+t)+Y(.5));f:{if(Y(d0(t))<Y(2147483648)){A=~~t;break f}A=-2147483648}if(l[p|0]=(A|0)>=0?A>>>0>=255?255:A:0,r=r+1|0,(u|0)==(r|0))break}if(v&&l0(m(i[e+48>>2],k)+W|0,m(i[e+64>>2],k)+Z|0,u),k=k+1|0,(_|0)==(k|0))break}break A}if(!v)break A;if(r=0,(_|0)!=1)for(A=_&2147483646,k=0;l0(m(i[e+48>>2],r)+W|0,m(i[e+64>>2],r)+Z|0,u),v=r|1,l0(m(v,i[e+48>>2])+W|0,m(v,i[e+64>>2])+Z|0,u),r=r+2|0,k=k+2|0,(A|0)!=(k|0););if(!(_&1))break A;l0(m(i[e+48>>2],r)+W|0,m(i[e+64>>2],r)+Z|0,u)}i[f+4>>2]=n,i[f>>2]=h;break r}if(i[f>>2]=0,i[f+4>>2]=0,f=i[n+4>>2],i[n+4>>2]=f-1,f)break r;V[i[i[n>>2]+8>>2]](n),g(n)}if(!y||(f=i[y+4>>2],i[y+4>>2]=f-1,f))break i;V[i[i[y>>2]+8>>2]](y),g(y)}B=e+80|0}function Ik(f){f=f|0;var e=0,r=0,A=0,k=0,n=0;if(i[f>>2]=43536,e=i[f+3212>>2],r=i[f+3208>>2],(e|0)!=(r|0))for(;A=i[e-4>>2],A&&(G(Hn(A)),r=i[f+3208>>2],e=i[f+3212>>2]),e=e-4|0,i[f+3212>>2]=e,(e|0)!=(r|0););if(r&&(i[f+3212>>2]=r,G(r)),r=0,e=f+2140|0,A=i[e+12>>2],k=i[e+8>>2],(A|0)!=(k|0))for(;n=i[(r<<2)+k>>2],n&&(G(zA(n)),k=i[e+8>>2],A=i[e+12>>2]),r=r+1|0,r>>>0<A-k>>2>>>0;);LA(e+32|0),r=i[e+20>>2],r&&(i[e+24>>2]=r,G(r)),r=i[e+8>>2],r&&(i[e+12>>2]=r,G(r)),LA(f+1396|0),e=i[f+1388>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+1380>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+1372>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}for(A=f+4|0,e=1368;;){e=e-8|0,r=i[A+e>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if((e|0)==856)break}e=i[f+852>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+844>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+836>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+828>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+820>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+812>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+804>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+796>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+788>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+780>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+772>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+764>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+756>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+748>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+740>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+732>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+724>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+716>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+708>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+700>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+692>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+684>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+676>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+668>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+660>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+652>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+644>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+636>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+628>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+620>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+612>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+604>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(e=f+548|0,r=i[e+32>>2],r)for(;n=i[e+16>>2],A=i[e+28>>2],k=i[i[n+(A>>>8&16777212)>>2]+((A&1023)<<2)>>2],i[e+32>>2]=r-1,r=A+1|0,i[e+28>>2]=r,r>>>0>=2048&&(G(i[n>>2]),i[e+16>>2]=i[e+16>>2]+4,i[e+28>>2]=i[e+28>>2]-1024),i[e+36>>2]=i[e+36>>2]-i[k+24>>2],w4(e,k),r=i[e+32>>2],!!r;);if(r=i[e+8>>2],r&&w4(e,r),r=i[e+40>>2],n=i[e+44>>2],(r|0)!=(n|0))for(A=0;k=i[(A<<2)+r>>2],k&&(G(i[k+20>>2]),r=i[k+32>>2],r&&(i[k+36>>2]=r,G(r)),G(k),n=i[e+44>>2],r=i[e+40>>2]),A=A+1|0,A>>>0<n-r>>2>>>0;);return r&&(i[e+44>>2]=r,G(r)),LA(e+12|0),f|0}function n6(f,e,r,A,k,n,t,o,u,h,w,_,v,Z,p){var W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0;i:{r:{if(y=i[f+18588>>2],W=i[y+168>>2],I=e>>W,(I|0)<0)break r;R=f+18548|0,J=r>>W;e:{A:{f:{k:{n:{t:{for(;;){if(W=i[y+172>>2],(W|0)<=(I|0))break r;if((J|0)<0|i[y+176>>2]<=(J|0))break i;if(I=(i[y+160>>2]+m(I,3)|0)+m(m(W,J),3)|0,C=s[I|0]|s[I+1|0]<<8,J=C>>>8&3,(J|0)!=(v|0))break n;I=!u;o:{u:{E=i[y+124>>2],W=i[E+16940>>2];l:{if(!((W|0)<(o|0)|(u|0)>=(w|0)|(I&(_|0)!=0|i[E+16936>>2]>=(o|0)))){if(o-3>>>0>=3)break k;C=f2(R,(i[f+18572>>2]-o|0)+25|0);break l}if(I&(_|0)==1|(o|0)>(W|0))break u;C=!(i[E+628>>2]|u)&(J|0)==1&(C&56)!=0}if(C)break u;C=1;break o}if(W=i[y+248>>2],I=e>>W,(I|0)<0||(C=i[y+252>>2],(C|0)<=(I|0)))break f;if(W=r>>W,(W|0)<0|(W|0)>=i[y+256>>2])break A;I=(I+i[y+240>>2]|0)+m(W,C)|0,l[I|0]=s[I|0]|1<<u,C=0}W=i[E+16848>>2];o:{u:{if(!((W|0)!=0&(o|0)>2)&&(I=-1,(W|0)!=3))break u;I=-1,W=-1;l:{if(!(Z&255)||(W=f2(R,(i[f+18572>>2]+u|0)+16|0),(C^1)&(o|0)!=3|i[E+16848>>2]!=2))break l;W=f2(R,(i[f+18572>>2]+u|0)+16|0)<<1|W}l:{if(!(p&255)||(I=f2(R,(i[f+18572>>2]+u|0)+16|0),(C^1)&(o|0)!=3|i[E+16848>>2]!=2))break l;I=f2(R,(i[f+18572>>2]+u|0)+16|0)<<1|I}if((W|0)>=0)break o}if(W=(o|0)==2,W&!u)break e;W=W&&(u|0)>0?Z&255:0}if((I|0)<0&&(I=(o|0)==2&&(u|0)>0?p&255:0),C)break t;if(o=o-1|0,u=u+1|0,A=W&255,k=I&255,n6(f,e,r,e,r,n,t,o,u,0,w,_,v,A,k),h=1<<o,E=h+e|0,n6(f,E,r,e,r,n,t,o,u,1,w,_,v,A,k),C=r+h|0,n6(f,e,C,e,r,n,t,o,u,2,w,_,v,A,k),y=i[f+18588>>2],D=i[y+168>>2],J=C>>D,h=3,p=I,Z=W,k=r,A=e,r=C,e=E,I=e>>D,!((I|0)>=0))break}break r}t:{if(J&&(w=1,!(u|W|I)))break t;w=f2(R,i[f+18572>>2]+(u?14:15)|0)}t:{o:{u:{if((W|0)!=-1){if((I|0)==-1)break u;if((w|0)==-1)break o;if(_=i[f+18588>>2],Z=i[_+124>>2],p=i[Z+16848>>2],l[f+33|0]=0,l[f+34|0]=0,l[f+35|0]=0,l[f+36|0]=0,v=i[_+168>>2],u=e>>v,(u|0)<0||(C=i[_+172>>2],(C|0)<=(u|0)))break r;if(v=r>>v,(v|0)<0|(v|0)>=i[_+176>>2])break i;E=o-((p|0)!=3)|0,y=(E|0)>2,R=s[((i[_+160>>2]+m(u,3)|0)+m(m(v,C),3)|0)+1|0],J=I|W;l:{if(!(J|w))break l;if(u=0,!(i[f+18500>>2]|!s[i[_+132>>2]+26|0])){C=f+18548|0;s:{if(!f2(C,i[f+18572>>2]+139|0)){v=0,_=0;break s}h:{if(!f2(C,i[f+18572>>2]+140|0)){u=1;break h}if(!f2(C,i[f+18572>>2]+140|0)){u=2;break h}if(!f2(C,i[f+18572>>2]+140|0)){u=3;break h}if(!f2(C,i[f+18572>>2]+140|0)){u=4;break h}if(v=0,u=DA(C,0)+5|0,_=0,!u)break s}v=u,_=x1(C)}i[f+18500>>2]=1,i[f+18504>>2]=m(v,1-(_<<1)|0),u=1}s:{h:{w:{if(!(!J|!s[i[f+18592>>2]+760|0]|(s[f+32|0]|i[f+18508>>2]))){u=f+18548|0,_=f2(u,i[f+18572>>2]+23|0),v=i[i[f+18588>>2]+132>>2];_:{if(!(!_|s[v+8250|0]<2)){u=f2(u,i[f+18572>>2]+24|0),i[f+18508>>2]=1;break _}if(i[f+18508>>2]=1,u=0,!_)break w}u=u+v|0,i[f+18512>>2]=l[u+8251|0],u=l[u+8257|0];break h}if(u)break s;break l}i[f+18512>>2]=0,u=0}i[f+18516>>2]=u}zk(f,n,t)}n=i[Z+16856>>2],u=i[Z+16852>>2],i[f+28>>2]=0,w&&_8(f,e,r,o,0),C=y?E:2,_=1<<C,v=1<<o,t=R&3,h8(f,e,r,v,0,t,(w|0)!=0);l:{if(!((p|0)!=3&(o|0)<=2)){A=0,k=0;s:{if(!w||(o=i[f+18588>>2],k=0,!(l[i[o+132>>2]+8247|0]&1)))break s;if((t|0)!=1){if(A=i[o+228>>2],h=e>>A,(h|0)<0||(v=i[o+232>>2],(v|0)<=(h|0)))break r;if(w=r>>A,(w|0)<0|(w|0)>=i[o+236>>2])break i;if(A=0,k=0,l[(h+i[o+220>>2]|0)+m(w,v)|0]>=0)break s}if(o=f+18548|0,k=1,!f2(o,i[f+18572>>2]+162|0))break s;A=0;h:{if(!f2(o,i[f+18572>>2]+163|0)||(A=1,!f2(o,i[f+18572>>2]+164|0)))break h;A=f2(o,i[f+18572>>2]+165|0)?3:2}A=1-(f2(o,i[f+18572>>2]+170|0)<<1)<<A,k=1}i[f+28>>2]=A,A=W&1,A&&_8(f,e,r,C,1),i[Z+16848>>2]&&h8(f,(e|0)/(u|0)|0,(r|0)/(n|0)|0,_,1,t,A),(p|0)==2&&(A=W&2,A&&_8(f,e,(n<<C)+r|0,C,1),h8(f,(e|0)/(u|0)|0,_+((r|0)/(n|0)|0)|0,_,1,t,(A|0)!=0)),A=0;s:{if(!k||(k=f+18548|0,!f2(k,i[f+18572>>2]+166|0)))break s;A=0;h:{if(!f2(k,i[f+18572>>2]+167|0)||(A=1,!f2(k,i[f+18572>>2]+168|0)))break h;A=f2(k,i[f+18572>>2]+169|0)?3:2}A=1-(f2(k,i[f+18572>>2]+171|0)<<1)<<A}if(i[f+28>>2]=A,A=I&1,A&&_8(f,e,r,C,2),i[Z+16848>>2]&&h8(f,(e|0)/(u|0)|0,(r|0)/(n|0)|0,_,2,t,A),(p|0)!=2)break l;A=I&2,A&&_8(f,e,(n<<C)+r|0,C,2),h8(f,(e|0)/(u|0)|0,_+((r|0)/(n|0)|0)|0,_,2,t,(A|0)!=0);break t}if((h|0)!=3||(e=W&1,e&&_8(f,A,k,o,1),i[Z+16848>>2]&&h8(f,(A|0)/(u|0)|0,(k|0)/(n|0)|0,v,1,t,e),e=W&2,e&&_8(f,A,k+v|0,o,1),(p|0)==2&&h8(f,(A|0)/(u|0)|0,v+((k|0)/(n|0)|0)|0,v,1,t,(e|0)!=0),e=I&1,e&&_8(f,A,k,o,2),i[Z+16848>>2]&&h8(f,(A|0)/(u|0)|0,(k|0)/(n|0)|0,v,2,t,e),e=I&2,e&&_8(f,A,k+_|0,o,2),(p|0)!=2))break l;h8(f,(A|0)/(u|0)|0,v+((k|0)/(n|0)|0)|0,v,2,t,(e|0)!=0)}break t}C0(17085,14036,3575,3168),P()}C0(17072,14036,3576,3168),P()}C0(17098,14036,3577,3168),P()}return}C0(11353,14036,3857,11248),P()}C0(16842,14036,1834,8715),P()}C0(3758,8453,128,3372),P()}C0(3720,8453,129,3372),P()}C0(18434,14036,3924,11248),P()}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function ds(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0;if(A=B-176|0,B=A,i[A+64>>2]=54820,k=i[13708],i[A+8>>2]=k,h=i[k-12>>2],k=A+8|0,i[h+k>>2]=i[13709],n=k+i[i[A+8>>2]-12>>2]|0,o=A+12|0,b0(n,o),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+64>>2]=54820,i[A+8>>2]=54800,p=$0(o),i[p>>2]=53552,i[A+52>>2]=0,i[A+56>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+60>>2]=16,n=A+164|0,R2(n,e,r),W=k,h=n,k=l[A+175|0],n=(k|0)<0,x(W,n?i[A+164>>2]:h,n?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),v=i[e+56>>2],C=i[e+60>>2],(v|0)!=(C|0))for(;;){if(e=A+164|0,W0(e,r),h=e,e=l[A+175|0],k=(e|0)<0,x(A+8|0,k?i[A+164>>2]:h,k?i[A+168>>2]:e),l[A+175|0]<0&&G(i[A+164>>2]),x(L0(x(A+8|0,21550,26),i[v>>2]),31338,1),e=i[r>>2]+1|0,i[r>>2]=e,Z=i[v+4>>2],I=i[v+8>>2],(Z|0)!=(I|0)){i:{r:{for(;;){e:{W0(A+144|0,r),k=l[A+155|0],h=i[A+144>>2],w=i[A+148>>2],e=A+8|0,_=V1(A+156|0,e);A:{if(s[_|0]!=1)break A;t=e+i[i[A+8>>2]-12>>2]|0,W=i[t+4>>2],n=i[t+24>>2],o=i[t+76>>2],(o|0)==-1&&(u=A+164|0,e=i[t+28>>2],i[u>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(u,100192),o=V[i[i[e>>2]+28>>2]](e,32)|0,O0(u),i[t+76>>2]=o);f:{if(!n||(u=i[t+12>>2],e=h,h=(k|0)<0,e=h?e:A+144|0,k=h?w:k,y=e+k|0,h=(W&176)==32?y:e,w=h-e|0,(w|0)>0&&(V[i[i[n>>2]+48>>2]](n,e,w)|0)!=(w|0)))break f;if(k=(k|0)<(u|0)?u-k|0:0,(k|0)>0){if(k>>>0>=2147483640)break e;k:{if(k>>>0>=11){u=(k|7)+1|0,e=U(u),i[A+172>>2]=u|-2147483648,i[A+164>>2]=e,i[A+168>>2]=k;break k}l[A+175|0]=k,e=A+164|0}if(E=B0(e,o,k)+k|0,J=0,l[E|0]=J,e=V[i[i[n>>2]+48>>2]](n,l[A+175|0]<0?i[A+164>>2]:A+164|0,k)|0,l[A+175|0]<0&&G(i[A+164>>2]),(e|0)!=(k|0))break f}if(e=y-h|0,(e|0)>0&&(V[i[i[n>>2]+48>>2]](n,h,e)|0)!=(e|0))break f;i[t+12>>2]=0;break A}e=i[i[A+8>>2]-12>>2]+(A+8|0)|0,z1(e,i[e+16>>2]|5)}Z1(_),l[A+155|0]<0&&G(i[A+144>>2]),e=A+8|0,h=V1(A+144|0,e);A:{if(s[h|0]!=1)break A;t=e+i[i[A+8>>2]-12>>2]|0,o=i[t+4>>2],n=i[t+24>>2],e=i[t+76>>2],(e|0)==-1&&(k=A+164|0,e=i[t+28>>2],i[k>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(k,100192),e=V[i[i[e>>2]+28>>2]](e,32)|0,O0(k),i[t+76>>2]=e);f:{if(!n||(k=i[t+12>>2],u=(o&176)==32?19529:19513,o=u-19513|0,(o|0)>0&&(V[i[i[n>>2]+48>>2]](n,19513,o)|0)!=(o|0)))break f;if(k=(k|0)>16?k-16|0:0,(k|0)>0){k:{if(k>>>0>=11){w=(k|7)+1|0,o=U(w),i[A+172>>2]=w|-2147483648,i[A+164>>2]=o,i[A+168>>2]=k;break k}l[A+175|0]=k,o=A+164|0}if(E=B0(o,e,k)+k|0,J=0,l[E|0]=J,e=V[i[i[n>>2]+48>>2]](n,l[A+175|0]<0?i[A+164>>2]:A+164|0,k)|0,l[A+175|0]<0&&G(i[A+164>>2]),(e|0)!=(k|0))break f}if(e=19529-u|0,(e|0)>0&&(V[i[i[n>>2]+48>>2]](n,u,e)|0)!=(e|0))break f;i[t+12>>2]=0;break A}e=i[i[A+8>>2]-12>>2]+(A+8|0)|0,z1(e,i[e+16>>2]|5)}Z1(h),n=L0(A+8|0,Q[Z+2>>1]),w=V1(A+144|0,n);A:{if(s[w|0]!=1)break A;u=n+i[i[n>>2]-12>>2]|0,t=i[u+4>>2],o=i[u+24>>2],e=i[u+76>>2],(e|0)==-1&&(k=A+164|0,e=i[u+28>>2],i[k>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(k,100192),e=V[i[i[e>>2]+28>>2]](e,32)|0,O0(k),i[u+76>>2]=e);f:{if(!o||(k=i[u+12>>2],h=(t&176)==32?20481:20468,t=h-20468|0,(t|0)>0&&(V[i[i[o>>2]+48>>2]](o,20468,t)|0)!=(t|0)))break f;if(k=(k|0)>13?k-13|0:0,(k|0)>0){k:{if(k>>>0>=11){_=(k|7)+1|0,t=U(_),i[A+172>>2]=_|-2147483648,i[A+164>>2]=t,i[A+168>>2]=k;break k}l[A+175|0]=k,t=A+164|0}if(E=B0(t,e,k)+k|0,J=0,l[E|0]=J,e=V[i[i[o>>2]+48>>2]](o,l[A+175|0]<0?i[A+164>>2]:A+164|0,k)|0,l[A+175|0]<0&&G(i[A+164>>2]),(e|0)!=(k|0))break f}if(e=20481-h|0,(e|0)>0&&(V[i[i[o>>2]+48>>2]](o,h,e)|0)!=(e|0))break f;i[u+12>>2]=0;break A}e=n+i[i[n>>2]-12>>2]|0,z1(e,i[e+16>>2]|5)}Z1(w),e=n+i[i[n>>2]-12>>2]|0,i[e+4>>2]=i[e+4>>2]|1,u=re(n,s[Z|0]),w=V1(A+144|0,u);A:{if(s[w|0]!=1)break A;o=u+i[i[u>>2]-12>>2]|0,t=i[o+4>>2],n=i[o+24>>2],e=i[o+76>>2],(e|0)==-1&&(k=A+164|0,e=i[o+28>>2],i[k>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(k,100192),e=V[i[i[e>>2]+28>>2]](e,32)|0,O0(k),i[o+76>>2]=e);f:{if(!n||(k=i[o+12>>2],h=(t&176)==32?31339:31337,t=h-31337|0,(t|0)>0&&(V[i[i[n>>2]+48>>2]](n,31337,t)|0)!=(t|0)))break f;if(k=(k|0)>2?k-2|0:0,(k|0)>0){if(k>>>0>=2147483640)break r;k:{if(k>>>0>=11){_=(k|7)+1|0,t=U(_),i[A+172>>2]=_|-2147483648,i[A+164>>2]=t,i[A+168>>2]=k;break k}l[A+175|0]=k,t=A+164|0}if(E=B0(t,e,k)+k|0,J=0,l[E|0]=J,e=V[i[i[n>>2]+48>>2]](n,l[A+175|0]<0?i[A+164>>2]:A+164|0,k)|0,l[A+175|0]<0&&G(i[A+164>>2]),(e|0)!=(k|0))break f}if(e=31339-h|0,(e|0)>0&&(V[i[i[n>>2]+48>>2]](n,h,e)|0)!=(e|0))break f;i[o+12>>2]=0;break A}e=u+i[i[u>>2]-12>>2]|0,z1(e,i[e+16>>2]|5)}if(Z1(w),Z=Z+4|0,(I|0)!=(Z|0))continue;break i}break}c2(),P()}c2(),P()}e=i[r>>2]}if(i[r>>2]=(e|0)>0?e-1|0:0,v=v+16|0,(C|0)==(v|0))break}i2(f,p),f=i[13707],i[A+8>>2]=f,i[i[f-12>>2]+(A+8|0)>>2]=i[13710],i[p>>2]=53552,l[A+55|0]<0&&G(i[A+44>>2]),K0(p),T0(A- -64|0),B=A+176|0}function cs(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;u=B-112|0,B=u,i[u+104>>2]=0,i[u+108>>2]=0,l[u+73|0]=0,l[u+74|0]=0,l[u+75|0]=0,l[u+76|0]=0,X[u+70>>1]=0,X[u+72>>1]=0,X[u+68>>1]=263,l[u+100|0]=1,l[u+96|0]=0,i[u+88>>2]=2,i[u+92>>2]=2,l[u+84|0]=1,i[u+80>>2]=1;i:{if(!n)break i;r:switch(s[n|0]-1|0){case 6:l[u+100|0]=s[n+32|0];case 5:h=i[n+20>>2],i[u+84>>2]=i[n+16>>2],i[u+88>>2]=h,h=i[n+28>>2],i[u+92>>2]=i[n+24>>2],i[u+96>>2]=h;case 4:i[u+80>>2]=i[n+12>>2];case 3:i[u+72>>2]=i[n+4>>2],l[u+76|0]=s[n+8|0];case 2:l[u+71|0]=s[n+3|0];case 1:l[u+70|0]=s[n+2|0];break;case 0:break r;default:break i}l[u+69|0]=s[n+1|0]}_=u+48|0,p=i[e>>2],W=u+68|0,v=u+104|0,w=B+-64|0,B=w,h=w+40|0,i[h>>2]=0,i[h+4>>2]=0,i[h+16>>2]=0,i[h+8>>2]=0,i[h+12>>2]=0,Z=i[r>>2],r=i[Z+28>>2],n=i[Z+24>>2];i:{if(!((n|0)>(t|0)|(r|0)>(t|0))){r=i[v+4>>2],i[v>>2]=0,i[v+4>>2]=0;r:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(r=i[19565],i[_>>2]=i[19564],i[_+4>>2]=r,r=_+8|0,l[78275]>=0){k=i[19567],i[r>>2]=i[19566],i[r+4>>2]=k,i[r+8>>2]=i[19568];break i}_0(r,i[19566],i[19567]);break i}r:{if((r|0)<(n|0)){r=(m(r,t)|0)/(n|0)|0,n=t;break r}n=(m(n,t)|0)/(r|0)|0,r=t}if(i[w+32>>2]=0,i[w+36>>2]=0,vA(w+8|0,Z,w+32|0,n&-2,r&-2),n=i[w+12>>2],r=i[w+8>>2],i[h>>2]=r,i[h+4>>2]=n,l[h+19|0]<0&&(G(i[h+8>>2]),r=i[h>>2]),n=i[w+20>>2],i[h+8>>2]=i[w+16>>2],i[h+12>>2]=n,i[h+16>>2]=i[w+24>>2],r||(BA(w+8|0,p,w+32|0,k,W,4,v),r=i[w+12>>2],i[h>>2]=i[w+8>>2],i[h+4>>2]=r,l[h+19|0]<0&&G(i[h+8>>2]),r=i[w+20>>2],i[h+8>>2]=i[w+16>>2],i[h+12>>2]=r,i[h+16>>2]=i[w+24>>2]),r=i[h+4>>2],i[_>>2]=i[h>>2],i[_+4>>2]=r,i[_+16>>2]=i[h+16>>2],r=i[h+12>>2],i[_+8>>2]=i[h+8>>2],i[_+12>>2]=r,i[h+8>>2]=0,i[h+12>>2]=0,i[h+16>>2]=0,r=i[w+36>>2],!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}l[h+19|0]<0&&G(i[h+8>>2]),B=w- -64|0;i:{if(i[u+48>>2]!=i[19564]){P0(f,_,i[e>>2]);break i}if(!i[u+104>>2]){if(r=U(64),i[u+12>>2]=r,i[u+16>>2]=57,i[u+20>>2]=-2147483584,l[r+56|0]=s[17985],A=s[17981]|s[17982]<<8|(s[17983]<<16|s[17984]<<24),k=s[17977]|s[17978]<<8|(s[17979]<<16|s[17980]<<24),l[r+48|0]=k,l[r+49|0]=k>>>8,l[r+50|0]=k>>>16,l[r+51|0]=k>>>24,l[r+52|0]=A,l[r+53|0]=A>>>8,l[r+54|0]=A>>>16,l[r+55|0]=A>>>24,A=s[17973]|s[17974]<<8|(s[17975]<<16|s[17976]<<24),k=s[17969]|s[17970]<<8|(s[17971]<<16|s[17972]<<24),l[r+40|0]=k,l[r+41|0]=k>>>8,l[r+42|0]=k>>>16,l[r+43|0]=k>>>24,l[r+44|0]=A,l[r+45|0]=A>>>8,l[r+46|0]=A>>>16,l[r+47|0]=A>>>24,A=s[17965]|s[17966]<<8|(s[17967]<<16|s[17968]<<24),k=s[17961]|s[17962]<<8|(s[17963]<<16|s[17964]<<24),l[r+32|0]=k,l[r+33|0]=k>>>8,l[r+34|0]=k>>>16,l[r+35|0]=k>>>24,l[r+36|0]=A,l[r+37|0]=A>>>8,l[r+38|0]=A>>>16,l[r+39|0]=A>>>24,A=s[17957]|s[17958]<<8|(s[17959]<<16|s[17960]<<24),k=s[17953]|s[17954]<<8|(s[17955]<<16|s[17956]<<24),l[r+24|0]=k,l[r+25|0]=k>>>8,l[r+26|0]=k>>>16,l[r+27|0]=k>>>24,l[r+28|0]=A,l[r+29|0]=A>>>8,l[r+30|0]=A>>>16,l[r+31|0]=A>>>24,A=s[17949]|s[17950]<<8|(s[17951]<<16|s[17952]<<24),k=s[17945]|s[17946]<<8|(s[17947]<<16|s[17948]<<24),l[r+16|0]=k,l[r+17|0]=k>>>8,l[r+18|0]=k>>>16,l[r+19|0]=k>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[17941]|s[17942]<<8|(s[17943]<<16|s[17944]<<24),k=s[17937]|s[17938]<<8|(s[17939]<<16|s[17940]<<24),l[r+8|0]=k,l[r+9|0]=k>>>8,l[r+10|0]=k>>>16,l[r+11|0]=k>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,A=s[17933]|s[17934]<<8|(s[17935]<<16|s[17936]<<24),k=s[17929]|s[17930]<<8|(s[17931]<<16|s[17932]<<24),l[r|0]=k,l[r+1|0]=k>>>8,l[r+2|0]=k>>>16,l[r+3|0]=k>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+57|0]=0,r=r0(u+24|0,5,2006,u+12|0),l[u+23|0]<0&&G(i[u+12>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break i;G(i[r+8>>2]);break i}if(b7(u+24|0,i[e>>2],A,u+104|0),A=i[u+28>>2],r=i[u+24>>2],i[u+48>>2]=r,i[u+52>>2]=A,l[u+67|0]<0&&(G(i[u+56>>2]),r=i[u+48>>2]),A=i[u+36>>2],i[u+56>>2]=i[u+32>>2],i[u+60>>2]=A,i[u+64>>2]=i[u+40>>2],(r|0)!=i[19564]){P0(f,u+48|0,i[e>>2]);break i}r:{if(!o)break r;if(n=i[u+104>>2],n){k=U(16),r=k,i[r>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,i[r+12>>2]=0,i[o>>2]=r,A=i[u+108>>2];e:{if(!A){i[r+4>>2]=A,i[r>>2]=n;break e}if(i[A+4>>2]=i[A+4>>2]+1,i[k>>2]=n,r=i[k+4>>2],i[k+4>>2]=A,!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break e;V[i[i[r>>2]+8>>2]](r),g(r)}if(k=i[e>>2],r=i[o>>2],A=i[e+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+8>>2]=k,e=i[r+12>>2],i[r+12>>2]=A,!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break r;V[i[i[e>>2]+8>>2]](e),g(e);break r}i[o>>2]=0}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}l[u+67|0]<0&&G(i[u+56>>2]),f=i[u+108>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=u+112|0}function Qk(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;h=B-48|0,B=h;i:{r:{if(!r){if(l[h+12|0]=0,l[h+23|0]=0,r=f,f=r0(h+24|0,5,2001,h+12|0),P0(r,f,i[e>>2]),l[f+19|0]<0&&G(i[f+8>>2]),l[h+23|0]>=0)break r;G(i[h+12>>2]);break r}if(i[r>>2]!=1){if(l[h+12|0]=0,l[h+23|0]=0,r=r0(h+24|0,5,2004,h+12|0),l[h+23|0]<0&&G(i[h+12>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break r;G(i[r+8>>2]);break r}if(i[h+32>>2]=0,i[h+36>>2]=0,i[h+24>>2]=0,i[h+28>>2]=0,w=h+24|0,v=B-32|0,B=v,Z=i[e>>2],n=i[Z+16>>2],o=Z+20|0,(n|0)!=(o|0))for(;;){if(k=i[n+20>>2],t=i[k+196>>2],u=i[k+200>>2],(t|0)!=(u|0))for(;_=i[Z+48>>2],p=i[t>>2],W=i[n+16>>2],k=U(4),i[v>>2]=k,C=k+4|0,i[v+8>>2]=C,i[k>>2]=W,i[v+4>>2]=C,P1(_,p,1667527523,v),k=i[v>>2],k&&(i[v+4>>2]=k,G(k)),t=t+4|0,(u|0)!=(t|0););k=i[n+4>>2];e:{if(k){for(;;)if(t=k,k=i[k>>2],!k)break e}for(;t=i[n+8>>2],k=i[t>>2]!=(n|0),n=t,!!k;);}if(n=t,(o|0)==(n|0))break}if(t=i[Z+72>>2],W=i[Z+76>>2],(t|0)!=(W|0))for(;;){i[v+28>>2]=0,i[v+20>>2]=0,i[v+24>>2]=0,u=i[t>>2],p=v+20|0,o=0,n=B-32|0,B=n,i[n+24>>2]=0,i[n+28>>2]=0,i[n+16>>2]=0,i[n+20>>2]=0,A2(n+16|0,0);e:{A:{if(!(k0[u+4>>2]>65535|k0[u+8>>2]>=65536)){o=1;break A}if(_=2,k=i[u+12>>2],C=i[u+16>>2],(k|0)==(C|0))break e;for(;;){if(o=i[k>>2],o=V[i[i[o>>2]+16>>2]](o)|0,o)break A;if(k=k+8|0,(C|0)==(k|0))break}break e}_=4}k=n+16|0,A2(k,o),k1(k,_,i[u+4>>2],0),k1(k,_,i[u+8>>2],0);e:{A:{k=i[u+16>>2]-i[u+12>>2]>>3;f:{if(k>>>0>=256){if(l[n+4|0]=0,l[n+15|0]=0,r0(v,9,5004,n+4|0),l[n+15|0]>=0)break f;G(i[n+4>>2]);break f}if(A2(n+16|0,k&255),k=i[u+12>>2],o=i[u+16>>2],(k|0)!=(o|0))for(;u=i[k>>2],V[i[i[u>>2]+20>>2]](u,n+16|0,_),k=k+8|0,(o|0)!=(k|0););if(o=0,i[n+12>>2]=0,i[n+4>>2]=0,i[n+8>>2]=0,k=0,u=i[n+20>>2],_=i[n+16>>2],(u|0)!=(_|0)){if(u=u-_|0,(u|0)<0)break A;k=U(u),i[n+4>>2]=k,o=k+u|0,i[n+12>>2]=o,l0(k,_,u),i[n+8>>2]=o}if((p|0)!=(n+4|0)&&(W8(p,k,o,o-k|0),k=i[n+4>>2]),k&&(i[n+8>>2]=k,G(k)),k=i[19565],i[v>>2]=i[19564],i[v+4>>2]=k,k=v+8|0,l[78275]>=0){o=i[19567],i[k>>2]=i[19566],i[k+4>>2]=o,i[k+8>>2]=i[19568];break f}_0(k,i[19566],i[19567])}k=i[n+16>>2],k&&(i[n+20>>2]=k,G(k)),B=n+32|0;break e}y0(),P()}if(hi(i[Z+48>>2],i[i[t>>2]>>2],p,0),l[v+19|0]<0&&G(i[v+8>>2]),n=i[v+20>>2],n&&(i[v+24>>2]=n,G(n)),t=t+8|0,(W|0)==(t|0))break}if(u=B-48|0,B=u,k=i[Z+48>>2],t=i[k+8>>2],n=i[k+12>>2],(t|0)!=(n|0))for(;rt(i[t>>2]),o=i[t>>2],V[i[i[o>>2]+16>>2]](u+28|0,o,w),l[u+47|0]<0&&G(i[u+36>>2]),t=t+8|0,(n|0)!=(t|0););if(n=0,k=i[k+60>>2],o=i[k+56>>2],Z=i[k+60>>2],(o|0)==(Z|0))t=8;else{for(;;){e:{if(s[o+4|0]||(t=i[o+16>>2],_=i[o+20>>2],(t|0)==(_|0)))break e;for(;n=(i[t+28>>2]+n|0)-i[t+24>>2]|0,t=t+40|0,(_|0)!=(t|0););}if(o=o+32|0,(Z|0)==(o|0))break}t=n+8|0}if(l2(w,t),l2(w,1835295092),n=i[k+56>>2],o=i[k+60>>2],(n|0)!=(o|0))for(;;){e:{if(s[n+4|0]||(i[n+8>>2]=i[w+12>>2],i[n+12>>2]=0,t=i[n+16>>2],Z=i[n+20>>2],(t|0)==(Z|0)))break e;for(;_=i[w+12>>2],p=i[n+8>>2],W=_-p|0,_=0-(i[n+12>>2]+(_>>>0<p>>>0)|0)|0,i[t+8>>2]=W,i[t+12>>2]=_,i[t+16>>2]=i[t+28>>2]-i[t+24>>2],i[t+20>>2]=0,D4(w,t+24|0),t=t+40|0,(Z|0)!=(t|0););}if(n=n+32|0,(o|0)==(n|0))break}o=i[w+12>>2],i[w+12>>2]=i[k+68>>2],A2(w,s[k+74|0]|s[k+73|0]<<4&240),A2(w,s[k+76|0]|s[k+75|0]<<4&240),t=i[k+60>>2]-i[k+56>>2]|0;e:{if(s[k+48|0]<=1){w2(w,t>>>5&65535);break e}l2(w,t>>5)}if(t=i[k+56>>2],Z=i[k+60>>2],(t|0)!=(Z|0))for(;;){n=i[t>>2];e:{if(s[k+48|0]<=1){w2(w,n&65535);break e}l2(w,n)}if(s[k+48|0]&&w2(w,s[t+4|0]),w2(w,Q[t+6>>1]),k1(w,s[k+75|0],i[t+8>>2],i[t+12>>2]),w2(w,(i[t+20>>2]-i[t+16>>2]|0)/40&65535),n=i[t+16>>2],_=i[t+20>>2],(n|0)!=(_|0))for(;;){e:{if(!s[k+48|0]||(p=s[k+76|0],!p))break e;k1(w,p,i[n>>2],i[n+4>>2])}if(k1(w,s[k+73|0],i[n+8>>2],i[n+12>>2]),k1(w,s[k+74|0],i[n+16>>2],i[n+20>>2]),n=n+40|0,(_|0)==(n|0))break}if(t=t+32|0,(Z|0)==(t|0))break}i[w+12>>2]=o,n=i[19565],t=u+8|0,i[t>>2]=i[19564],i[t+4>>2]=n,t=t+8|0;e:{if(l[78275]>=0){n=i[19567],i[t>>2]=i[19566],i[t+4>>2]=n,i[t+8>>2]=i[19568];break e}_0(t,i[19566],i[19567])}l[u+27|0]<0&&G(i[u+16>>2]),B=u+48|0,B=v+32|0,i[h+20>>2]=0,i[h+12>>2]=0,i[h+16>>2]=0,t=i[h+28>>2],w=i[h+24>>2];e:{if((t|0)==(w|0)){t=0;break e}if(n=t-w|0,(n|0)<0)break i;t=U(n),I=l0(t,w,n)+n|0}V[i[r+4>>2]](h,e,t,I-t|0,A);e:{if(!i[h+8>>2]){i[f>>2]=5,i[f+4>>2]=2001,i[f+8>>2]=2589;break e}e=i[h+4>>2],i[f>>2]=i[h>>2],i[f+4>>2]=e,i[f+8>>2]=i[h+8>>2]}if(t&&G(t),f=i[h+24>>2],!f)break r;i[h+28>>2]=f,G(f)}B=h+48|0;return}y0(),P()}function t6(f,e,r,A,k,n,t,o,u,h){var w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=0,r2=0,n2=0,s2=0,W2=0,y2=0,x2=0,T2=0,O2=0,q2=0,b2=0,e1=0,A1=0,h1=0,B1=0,p1=0,W1=0,X1=0;J=B-128|0,B=J;i:{r:{e:{if(z=i[f+140>>2],p=i[f+152>>2],H=z+m(m(p,r),24)|0,v=m(e,24),Z=(H+v|0)+4|0,w=A<<1,j=s[Z|0]>>>w&3,!j)break e;if(R=m(e,k),e=i[f+148>>2],E=R>>e,(E|0)<0|(p|0)<=(E|0))break r;if(a=m(r,n),y=a>>e,(y|0)<0|(y|0)>=i[f+156>>2])break i;if(I=i[f+124>>2],W=i[I+(A?16840:16832)>>2],r=-1<<W^-1,n0=i[(A?36:28)+f>>2],S=(n0|0)<(n+a|0)?n0-a|0:n,h0=i[(A?32:24)+f>>2],q=(h0|0)<(k+R|0)?h0-R|0:k,d=A?i[I+16856>>2]-1|0:0,A0=A?i[I+16852>>2]-1|0:0,I0=s[(v+H|0)+22|0],(j|0)==2){if(H=i[f+132>>2],W=i[f+52>>2],E=i[i[W+(Q[((z+m(E,24)|0)+m(m(p,y),24)|0)+2>>1]<<2)>>2]+808>>2],n=i[f+56>>2],k=i[I+16876>>2],y=i[I+16892>>2],v=s[Z+1|0],A=Z+(A<<2)|0,l[J|0]=s[A+5|0],Z=s[A+6|0],l[J+2|0]=0,l[J+1|0]=Z,l[J+3|0]=s[A+7|0],l[J+4|0]=s[A+8|0],(S|0)<=0|(q|0)<=0)break e;for(j=n-W>>2,A=(v>>>w&3)<<2,Q0=i[A+45112>>2],F0=i[A+45096>>2],L=k-A0|0,Y0=R>>L,W2=S-1|0,y2=q-1|0,p0=k-d|0,S0=m(y,a>>p0),k=R<<1,x2=k+u|0,T2=k+t|0,c0=i[f+168>>2],r2=i[A+45128>>2],O2=m(r2,o)<<1,n2=i[A+45144>>2],q2=m(n2,o)<<1,A=0;;){for(k=A+a|0,t=k<<d,n=t>>c0,b2=(m(k,h)<<1)+x2|0,e1=(m(k,o)<<1)+T2|0,u=t>>e,A1=(z+m(m(u,p),24)|0)+2|0,Z=k+r2|0,X0=Z<<d>>e,h1=(z+m(m(p,X0),24)|0)+2|0,v=k+n2|0,G0=v<<d>>e,B1=(z+m(m(p,G0),24)|0)+2|0,p1=m(y,v>>>p0|0)<<2,W1=m(y,Z>>>p0|0)<<2,X1=(A|0)==(W2|0),k=0;;){_=k+R|0,D=_<<A0,t=D>>c0;A:{f:{if(!(!(I0&1)|!s[I+8812|0])){if((t|0)<0||(w=i[f+172>>2],(w|0)<=(t|0)))break r;if((n|0)<0|(n|0)>=i[f+176>>2])break i;if(!(s[((i[f+160>>2]+m(t,3)|0)+m(m(n,w),3)|0)+1|0]&4))break f;break A}if((t|0)<0)break r}if(w=i[f+172>>2],(w|0)<=(t|0))break r;if((n|0)<0|(n|0)>=i[f+176>>2])break i;if(s[((i[f+160>>2]+m(t,3)|0)+m(m(n,w),3)|0)+1|0]&8)break A;f:{if(!(!A|!k|(k|0)==(y2|0))&&!X1)break f;if(t=_+Q0|0,(t|0)>=(h0|0)|(t|0)<0|((v|0)<0|(v|0)>=(n0|0)))break A;if(C=t<<A0>>e,(C|0)<0|(p|0)<=(C|0))break r;if((G0|0)<0||(w=i[f+156>>2],(w|0)<=(G0|0)))break i;if(C=Q[m(C,24)+B1>>1],C>>>0>=j>>>0||(C=i[W+(C<<2)>>2],!C))break e;D=D>>e,s2=(D|0)>=0&p>>>0>D>>>0,D=m(D,24)+A1|0;k:{if(f0=i[C+808>>2],(f0|0)<(E|0)){if(!s2)break r;if((u|0)<0|(u|0)>=(w|0))break k;if(!s[i[W+(Q[D>>1]<<2)>>2]+772|0])break A}if(!s[C+772|0]&(E|0)<(f0|0)||(C=s[H+57|0],!C&&(f0=t>>>L<<2,t=i[H+8484>>2],i[(f0+t|0)+p1>>2]!=i[(t+(Y0<<2)|0)+(S0<<2)>>2]))||(t=_+F0|0,(t|0)>=(h0|0)|(t|0)<0|((Z|0)<0|(Z|0)>=(n0|0))))break A;if(_=t<<A0>>e,(_|0)<0|(p|0)<=(_|0))break r;if((X0|0)<0|(w|0)<=(X0|0))break i;if(_=Q[m(_,24)+h1>>1],_>>>0>=j>>>0||(_=i[W+(_<<2)>>2],!_))break e;if(f0=i[_+808>>2],(f0|0)<(E|0)){if(!s2)break r;if((u|0)<0|(u|0)>=(w|0))break k;if(!s[i[W+(Q[D>>1]<<2)>>2]+772|0])break A}if(!s[_+772|0]&(E|0)<(f0|0))break A;if(C||(w=t>>>L<<2,t=i[H+8484>>2],i[(w+t|0)+W1>>2]==i[(t+(Y0<<2)|0)+(S0<<2)>>2]))break f;break A}break i}_=k<<1,w=_+e1|0,t=Q[w>>1],C=_+b2|0,_=Q[(w+(Q0<<1)|0)+q2>>1],w=Q[(w+(F0<<1)|0)+O2>>1],t=t+l[((t>>>0<_>>>0?1:(_|0)==(t|0)?2:3)+(t>>>0<w>>>0?-1:(w|0)!=(t|0))|0)+J|0]|0,X[C>>1]=(t|0)>=0?(r|0)>(t|0)?t:r:0}if(k=k+1|0,(q|0)==(k|0))break}if(A=A+1|0,(S|0)==(A|0))break}break e}if(e=s[(A+Z|0)+2|0],p=B0(J,0,128),i[((e&31)<<2)+p>>2]=1,i[p+((e+1&31)<<2)>>2]=2,i[p+((e+2&31)<<2)>>2]=3,i[p+((e+3&31)<<2)>>2]=4,z=W-5|0,!(I0&1)){if((S|0)<=0|(q|0)<=0|(W|0)>12)break e;for(n=Z+5|0,I=(R<<1)+t|0,e=0;;){for(f=e+a|0,Z=(m(f,h)<<1)+u|0,f=m(f,o)<<1,d=f+t|0,A0=f+I|0,f=0;k=Q[A0+(f<<1)>>1],k=i[p+((r>>>0>k>>>0?k:r)>>>z<<2)>>2],(k|0)>0&&(W=f+R<<1,k=Q[W+d>>1]+l[(k+(n+(A<<2)|0)|0)-1|0]|0,X[Z+W>>1]=(k|0)>=0?(r|0)>(k|0)?k:r:0),f=f+1|0,(q|0)>(f|0););if(e=e+1|0,!((S|0)>(e|0)))break}break e}if((S|0)<=0|(q|0)<=0)break e;E=Z+5|0,Z=i[f+168>>2],n0=s[I+8812|0],W=(W|0)>12,I=0;A:{for(;;){k=I+a|0,e=k<<d>>Z,h0=(m(k,h)<<1)+u|0,H=(m(k,o)<<1)+t|0,n=0;f:{for(;;){y=n+R|0,k=y<<A0>>Z;k:{n:{if(n0){if((k|0)<0||(v=i[f+172>>2],(v|0)<=(k|0)))break f;if((e|0)<0|(e|0)>=i[f+176>>2])break i;if(!(s[((i[f+160>>2]+m(k,3)|0)+m(m(e,v),3)|0)+1|0]&4))break n;break k}if((k|0)<0)break r}if(v=i[f+172>>2],(v|0)<=(k|0))break r;if((e|0)<0|(e|0)>=i[f+176>>2])break A;if(W|s[((i[f+160>>2]+m(k,3)|0)+m(m(e,v),3)|0)+1|0]&8||(y=y<<1,k=Q[y+H>>1],v=i[p+((r>>>0>k>>>0?k:r)>>>z<<2)>>2],(v|0)<=0))break k;k=k+l[(v+(E+(A<<2)|0)|0)-1|0]|0,X[y+h0>>1]=(k|0)>=0?(r|0)>(k|0)?k:r:0}if(n=n+1|0,!((q|0)>(n|0)))break}if(I=I+1|0,(S|0)<=(I|0))break e;continue}break}break r}break i}B=J+128|0;return}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function o6(f,e,r,A,k,n,t,o,u,h){var w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=0,r2=0,n2=0,s2=0,W2=0,y2=0,x2=0,T2=0,O2=0,q2=0,b2=0,e1=0,A1=0,h1=0;R=B-128|0,B=R;i:{r:{e:{if(v=i[f+140>>2],p=i[f+152>>2],C=v+m(m(p,r),24)|0,I=m(e,24),w=(C+I|0)+4|0,D=A<<1,Z=s[w|0]>>>D&3,!Z)break e;if(J=m(e,k),e=i[f+148>>2],z=J>>e,(z|0)<0|(p|0)<=(z|0))break r;if(S=m(r,n),y=S>>e,(y|0)<0|(y|0)>=i[f+156>>2])break i;if(H=i[f+124>>2],e=i[H+(A?16840:16832)>>2],r=-1<<e^-1,E=i[(A?36:28)+f>>2],q=(E|0)<(n+S|0)?E-S|0:n,d=i[(A?32:24)+f>>2],k=(d|0)<(k+J|0)?d-J|0:k,A0=A?i[H+16856>>2]-1|0:0,f0=A?i[H+16852>>2]-1|0:0,I=s[(C+I|0)+22|0],(Z|0)==2){if(C=i[f+132>>2],p=i[i[i[f+52>>2]+(Q[((v+m(z,24)|0)+m(m(p,y),24)|0)+2>>1]<<2)>>2]+808>>2],n=i[H+16876>>2],z=i[H+16892>>2],y=s[w+1|0],e=w+(A<<2)|0,l[R|0]=s[e+5|0],A=s[e+6|0],l[R+2|0]=0,l[R+1|0]=A,l[R+3|0]=s[e+7|0],l[R+4|0]=s[e+8|0],(q|0)<=0|(k|0)<=0)break e;for(e=(y>>>D&3)<<2,p0=i[e+45128>>2],c0=m(p0,o),X0=i[e+45144>>2],r2=m(X0,o),G0=i[e+45112>>2],I0=i[e+45096>>2],h0=n-f0|0,Q0=J>>h0,n2=q-1|0,s2=k-1|0,W2=u+J|0,y2=t+J|0,j=n-A0|0,F0=m(z,S>>j),A=0,x2=I&1;;){for(e=A+S|0,w=e<<A0,y=e+p0|0,T2=y<<A0,I=e+X0|0,O2=I<<A0,q2=m(e,h)+W2|0,b2=m(e,o)+y2|0,e1=m(z,I>>>j|0)<<2,A1=m(z,y>>>j|0)<<2,h1=(A|0)!=(n2|0),n=0;;){t=i[f+168>>2],e=w>>t,W=n+J|0,n0=W<<f0,t=n0>>t;A:{f:{if(!(!x2|!s[H+8812|0])){if((t|0)<0||(u=i[f+172>>2],(u|0)<=(t|0)))break r;if((e|0)<0|(e|0)>=i[f+176>>2])break i;if(!(s[((i[f+160>>2]+m(t,3)|0)+m(m(e,u),3)|0)+1|0]&4))break f;break A}if((t|0)<0)break r}if(u=i[f+172>>2],(u|0)<=(t|0))break r;if((e|0)<0|(e|0)>=i[f+176>>2])break i;if(s[((i[f+160>>2]+m(t,3)|0)+m(m(e,u),3)|0)+1|0]&8)break A;f:{if(!(!A|!n|(n|0)==(s2|0))&&h1)break f;if(v=W+G0|0,(v|0)>=(d|0)|(v|0)<0|((I|0)<0|(I|0)>=(E|0)))break A;if(e=i[f+148>>2],Z=v<<f0>>e,(Z|0)<0||(t=i[f+152>>2],(t|0)<=(Z|0)))break r;if(_=O2>>e,(_|0)<0||(D=i[f+156>>2],(D|0)<=(_|0)))break i;if(u=i[f+52>>2],Y0=i[f+56>>2]-u>>2,a=m(Z,24),Z=i[f+140>>2],_=Q[((a+Z|0)+m(m(t,_),24)|0)+2>>1],Y0>>>0<=_>>>0||(_=i[u+(_<<2)>>2],!_))break e;if(S0=i[_+808>>2],(p|0)>(S0|0)){if(a=n0>>e,(a|0)<0|t>>>0<=a>>>0)break r;if(L=w>>e,(L|0)<0|(D|0)<=(L|0))break i;if(!s[i[u+(Q[((Z+m(a,24)|0)+m(m(t,L),24)|0)+2>>1]<<2)>>2]+772|0])break A}if(!s[_+772|0]&(p|0)<(S0|0)||(a=s[C+57|0],!a&&(_=v>>>h0<<2,v=i[C+8484>>2],i[(_+v|0)+e1>>2]!=i[(v+(Q0<<2)|0)+(F0<<2)>>2]))||(v=W+I0|0,(v|0)>=(d|0)|(v|0)<0|((y|0)<0|(y|0)>=(E|0))))break A;if(W=v<<f0>>e,(W|0)<0|t>>>0<=W>>>0)break r;if(_=T2>>e,(_|0)<0|(_|0)>=(D|0))break i;if(W=Q[((Z+m(W,24)|0)+m(m(t,_),24)|0)+2>>1],W>>>0>=Y0>>>0||(W=i[u+(W<<2)>>2],!W))break e;if(_=i[W+808>>2],(_|0)<(p|0)){if(n0=n0>>e,(n0|0)<0|t>>>0<=n0>>>0)break r;if(e=w>>e,(e|0)<0|(e|0)>=(D|0))break i;if(!s[i[u+(Q[((Z+m(n0,24)|0)+m(m(e,t),24)|0)+2>>1]<<2)>>2]+772|0])break A}if(!s[W+772|0]&(p|0)<(_|0))break A;if(a||(e=i[C+8484>>2],i[(e+(v>>>h0<<2)|0)+A1>>2]==i[(e+(Q0<<2)|0)+(F0<<2)>>2]))break f;break A}t=n+b2|0,e=s[t|0],u=s[(t+G0|0)+r2|0],t=s[(t+I0|0)+c0|0],e=l[((e>>>0<u>>>0?1:(e|0)==(u|0)?2:3)+(e>>>0<t>>>0?-1:(t|0)!=(e|0))|0)+R|0]+e|0,l[n+q2|0]=(e|0)>=0?(e|0)<(r|0)?e:r:0}if(n=n+1|0,(k|0)==(n|0))break}if(A=A+1|0,(q|0)==(A|0))break}break e}if(n=s[(A+w|0)+2|0],p=B0(R,0,128),i[((n&31)<<2)+p>>2]=1,i[p+((n+1&31)<<2)>>2]=2,i[p+((n+2&31)<<2)>>2]=3,i[p+((n+3&31)<<2)>>2]=4,d=e-5|0,!(I&1)){if((q|0)<=0|(k|0)<=0|(e|0)>12)break e;for(H=w+5|0,w=t+J|0,e=0;;){for(f=e+S|0,A0=m(f,h)+u|0,f=m(f,o),f0=f+t|0,E=f+w|0,f=0;n=s[f+E|0],n=i[p+((r>>>0>n>>>0?n:r)>>>d<<2)>>2],(n|0)>0&&(C=f+J|0,n=s[C+f0|0]+l[(n+(H+(A<<2)|0)|0)-1|0]|0,l[C+A0|0]=(n|0)>=0?(r|0)>(n|0)?n:r:0),f=f+1|0,(k|0)>(f|0););if(e=e+1|0,!((q|0)>(e|0)))break}break e}if((q|0)<=0|(k|0)<=0)break e;z=w+5|0,E=0,y=(e|0)>12;A:{for(;;){e=E+S|0,I=e<<A0,v=m(e,h)+u|0,D=m(e,o)+t|0,n=0;f:{for(;;){w=i[f+168>>2],e=I>>w,C=n+J|0,w=C<<f0>>w;k:{n:{if(s[H+8812|0]){if((w|0)<0||(Z=i[f+172>>2],(Z|0)<=(w|0)))break f;if((e|0)<0|(e|0)>=i[f+176>>2])break i;if(!(s[((i[f+160>>2]+m(w,3)|0)+m(m(e,Z),3)|0)+1|0]&4))break n;break k}if((w|0)<0)break r}if(Z=i[f+172>>2],(Z|0)<=(w|0))break r;if((e|0)<0|(e|0)>=i[f+176>>2])break A;if(y|s[((i[f+160>>2]+m(w,3)|0)+m(m(e,Z),3)|0)+1|0]&8||(e=s[C+D|0],w=i[p+((e>>>0<r>>>0?e:r)>>>d<<2)>>2],(w|0)<=0))break k;e=e+l[(w+(z+(A<<2)|0)|0)-1|0]|0,l[v+C|0]=(e|0)>=0?(e|0)<(r|0)?e:r:0}if(n=n+1|0,!((k|0)>(n|0)))break}if(E=E+1|0,(q|0)<=(E|0))break e;continue}break}break r}break i}B=R+128|0;return}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function ih(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0;k=B-160|0,B=k,i[k+60>>2]=54820,h=i[13708],i[k+4>>2]=h,A=i[h-12>>2],h=k+4|0,i[A+h>>2]=i[13709],A=h+i[i[k+4>>2]-12>>2]|0,t=k+8|0,b0(A,t),i[A+72>>2]=0,i[A+76>>2]=-1,i[k+60>>2]=54820,i[k+4>>2]=54800,Z=$0(t),i[Z>>2]=53552,i[k+48>>2]=0,i[k+52>>2]=0,i[k+40>>2]=0,i[k+44>>2]=0,i[k+56>>2]=16,A=k+148|0,R2(A,e,r),n=h,t=A,h=l[k+159|0],A=(h|0)<0,x(n,A?i[k+148>>2]:t,A?i[k+152>>2]:h),l[k+159|0]<0&&G(i[k+148>>2]);i:{if(h=i[e+56>>2],p=i[e+60>>2],(h|0)!=(p|0))for(;;){e=k+148|0,W0(e,r),n=e,e=l[k+159|0],A=(e|0)<0,x(k+4|0,A?i[k+148>>2]:n,A?i[k+152>>2]:e),l[k+159|0]<0&&G(i[k+148>>2]),e=x(L0(x(k+4|0,21567,9),i[h>>2]),31338,1),A=k+148|0,W0(A,r),n=A,A=l[k+159|0],t=(A|0)<0,x(e,t?i[k+148>>2]:n,t?i[k+152>>2]:A),l[k+159|0]<0&&G(i[k+148>>2]),e=x(H0(x(e,21238,23),s[h+4|0]),31338,1),A=k+148|0,W0(A,r),n=A,A=l[k+159|0],t=(A|0)<0,x(e,t?i[k+148>>2]:n,t?i[k+152>>2]:A),l[k+159|0]<0&&G(i[k+148>>2]),e=x(e,19465,24),A=i[i[e>>2]-12>>2]+e|0,i[A+4>>2]=i[A+4>>2]&-75|8,e=L0(e,Q[h+6>>1]),A=i[i[e>>2]-12>>2]+e|0,i[A+4>>2]=i[A+4>>2]&-75|2,e=x(e,31338,1),A=k+148|0,W0(A,r),n=A,A=l[k+159|0],t=(A|0)<0,x(e,t?i[k+148>>2]:n,t?i[k+152>>2]:A),l[k+159|0]<0&&G(i[k+148>>2]),x(n4(x(e,19627,15),i[h+8>>2],i[h+12>>2]),31338,1),e=k+148|0,W0(e,r),n=e,e=l[k+159|0],A=(e|0)<0,x(k+4|0,A?i[k+148>>2]:n,A?i[k+152>>2]:e),l[k+159|0]<0&&G(i[k+148>>2]),x(k+4|0,19691,11);r:{if(e=i[h+16>>2],W=i[h+20>>2],(e|0)==(W|0))break r;e:{for(;;){A:{n=n4(k+4|0,i[e+8>>2],i[e+12>>2]),v=V1(k+140|0,n);f:{if(s[v|0]!=1)break f;w=n+i[i[n>>2]-12>>2]|0,_=i[w+4>>2],t=i[w+24>>2],u=i[w+76>>2],(u|0)==-1&&(o=k+148|0,A=i[w+28>>2],i[o>>2]=A,(A|0)!=100008&&(i[A+4>>2]=i[A+4>>2]+1),A=x0(o,100192),u=V[i[i[A>>2]+28>>2]](A,32)|0,O0(o),i[w+76>>2]=u);k:{if(!t||(A=i[w+12>>2],_=(_&176)==32?18141:18140,o=_-18140|0,(o|0)>0&&(V[i[i[t>>2]+48>>2]](t,18140,o)|0)!=(o|0)))break k;if(A=(A|0)>1?A-1|0:0,(A|0)>0){if(A>>>0>=2147483640)break A;n:{if(A>>>0>=11){C=(A|7)+1|0,o=U(C),i[k+156>>2]=C|-2147483648,i[k+148>>2]=o,i[k+152>>2]=A;break n}l[k+159|0]=A,o=k+148|0}if(I=B0(o,u,A)+A|0,y=0,l[I|0]=y,u=V[i[i[t>>2]+48>>2]](t,l[k+159|0]<0?i[k+148>>2]:k+148|0,A)|0,l[k+159|0]<0&&G(i[k+148>>2]),(A|0)!=(u|0))break k}if(A=18141-_|0,(A|0)>0&&(V[i[i[t>>2]+48>>2]](t,_,A)|0)!=(A|0))break k;i[w+12>>2]=0;break f}A=n+i[i[n>>2]-12>>2]|0,z1(A,i[A+16>>2]|5)}if(Z1(v),n4(n,i[e+16>>2],i[e+20>>2]),i[e>>2]|i[e+4>>2]){A=k+4|0,_=V1(k+140|0,A);f:{if(s[_|0]!=1)break f;u=A+i[i[k+4>>2]-12>>2]|0,o=i[u+4>>2],t=i[u+24>>2],w=i[u+76>>2],(w|0)==-1&&(n=k+148|0,A=i[u+28>>2],i[n>>2]=A,(A|0)!=100008&&(i[A+4>>2]=i[A+4>>2]+1),A=x0(n,100192),w=V[i[i[A>>2]+28>>2]](A,32)|0,O0(n),i[u+76>>2]=w);k:{if(!t||(A=i[u+12>>2],o=(o&176)==32?16321:16314,n=o-16314|0,(n|0)>0&&(V[i[i[t>>2]+48>>2]](t,16314,n)|0)!=(n|0)))break k;if(A=(A|0)>7?A-7|0:0,(A|0)>0){if(A>>>0>=2147483640)break i;n:{if(A>>>0>=11){v=(A|7)+1|0,n=U(v),i[k+156>>2]=v|-2147483648,i[k+148>>2]=n,i[k+152>>2]=A;break n}l[k+159|0]=A,n=k+148|0}if(I=B0(n,w,A)+A|0,y=0,l[I|0]=y,w=V[i[i[t>>2]+48>>2]](t,l[k+159|0]<0?i[k+148>>2]:k+148|0,A)|0,l[k+159|0]<0&&G(i[k+148>>2]),(A|0)!=(w|0))break k}if(A=16321-o|0,(A|0)>0&&(V[i[i[t>>2]+48>>2]](t,o,A)|0)!=(A|0))break k;i[u+12>>2]=0;break f}A=i[i[k+4>>2]-12>>2]+(k+4|0)|0,z1(A,i[A+16>>2]|5)}Z1(_),n4(k+4|0,i[e>>2],i[e+4>>2])}A=k+4|0,_=V1(k+140|0,A);f:{if(s[_|0]!=1)break f;u=A+i[i[k+4>>2]-12>>2]|0,o=i[u+4>>2],t=i[u+24>>2],w=i[u+76>>2],(w|0)==-1&&(n=k+148|0,A=i[u+28>>2],i[n>>2]=A,(A|0)!=100008&&(i[A+4>>2]=i[A+4>>2]+1),A=x0(n,100192),w=V[i[i[A>>2]+28>>2]](A,32)|0,O0(n),i[u+76>>2]=w);k:{if(!t||(A=i[u+12>>2],o=(o&176)==32?21742:21741,n=o-21741|0,(n|0)>0&&(V[i[i[t>>2]+48>>2]](t,21741,n)|0)!=(n|0)))break k;if(A=(A|0)>1?A-1|0:0,(A|0)>0){if(A>>>0>=2147483640)break e;n:{if(A>>>0>=11){v=(A|7)+1|0,n=U(v),i[k+156>>2]=v|-2147483648,i[k+148>>2]=n,i[k+152>>2]=A;break n}l[k+159|0]=A,n=k+148|0}if(I=B0(n,w,A)+A|0,y=0,l[I|0]=y,w=V[i[i[t>>2]+48>>2]](t,l[k+159|0]<0?i[k+148>>2]:k+148|0,A)|0,l[k+159|0]<0&&G(i[k+148>>2]),(A|0)!=(w|0))break k}if(A=21742-o|0,(A|0)>0&&(V[i[i[t>>2]+48>>2]](t,o,A)|0)!=(A|0))break k;i[u+12>>2]=0;break f}A=i[i[k+4>>2]-12>>2]+(k+4|0)|0,z1(A,i[A+16>>2]|5)}if(Z1(_),e=e+40|0,(W|0)!=(e|0))continue;break r}break}break i}break i}if(x(k+4|0,31338,1),h=h+32|0,(p|0)==(h|0))break}i2(f,Z),f=i[13707],i[k+4>>2]=f,i[i[f-12>>2]+(k+4|0)>>2]=i[13710],i[Z>>2]=53552,l[k+51|0]<0&&G(i[k+40>>2]),K0(Z),T0(k+60|0),B=k+160|0;return}c2(),P()}function yk(f){var e=0,r=0,A=0,k=0,n=0,t=0,o=0;k=B-16|0,B=k,i[k+12>>2]=f;i:{if(f>>>0<=211){f=i[G9(52752,52944,k+12|0)>>2];break i}for(f>>>0>=4294967292&&(u1(),P()),n=(f>>>0)/210|0,A=m(n,210),i[k+8>>2]=f-A,t=G9(52944,53136,k+8|0)-52944>>2;;){f=i[(t<<2)+52944>>2]+A|0,A=5;r:{e:{for(;;){if(r=A,(r|0)==47)break e;if(o=i[(r<<2)+52752>>2],e=(f>>>0)/(o>>>0)|0,e>>>0<o>>>0)break i;if(A=r+1|0,(m(e,o)|0)==(f|0))break}if(r>>>0<47)break r}for(A=211;;){if(r=(f>>>0)/(A>>>0)|0,r>>>0<A>>>0)break i;if((m(r,A)|0)==(f|0))break r;if(e=A+10|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+12|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+16|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+18|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+22|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+28|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+30|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+36|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+40|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+42|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+46|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+52|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+58|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+60|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+66|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+70|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+72|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+78|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+82|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+88|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+96|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+100|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+102|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+106|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+108|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+112|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+120|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+126|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+130|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+136|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+138|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+142|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+148|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+150|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+156|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+162|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+166|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+168|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+172|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+178|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+180|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+186|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+190|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+192|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+196|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+198|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if((m(r,e)|0)==(f|0))break r;if(e=A+208|0,r=(f>>>0)/(e>>>0)|0,r>>>0<e>>>0)break i;if(A=A+210|0,(m(r,e)|0)==(f|0))break}}f=t+1|0,r=(f|0)==48,t=r?0:f,n=r+n|0,A=m(n,210)}}return B=k+16|0,f}function Br(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0;for(_=i[f+20>>2],w=i[f+16>>2],h=i[f+12>>2],q=i[f+8>>2];u=s[e|0]|s[e+1|0]<<8|(s[e+2|0]<<16|s[e+3|0]<<24),i[f+88>>2]=u,v=s[e+4|0]|s[e+5|0]<<8|(s[e+6|0]<<16|s[e+7|0]<<24),i[f+92>>2]=v,Z=s[e+8|0]|s[e+9|0]<<8|(s[e+10|0]<<16|s[e+11|0]<<24),i[f+96>>2]=Z,p=s[e+12|0]|s[e+13|0]<<8|(s[e+14|0]<<16|s[e+15|0]<<24),i[f+100>>2]=p,W=s[e+16|0]|s[e+17|0]<<8|(s[e+18|0]<<16|s[e+19|0]<<24),i[f+104>>2]=W,C=s[e+20|0]|s[e+21|0]<<8|(s[e+22|0]<<16|s[e+23|0]<<24),i[f+108>>2]=C,I=s[e+24|0]|s[e+25|0]<<8|(s[e+26|0]<<16|s[e+27|0]<<24),i[f+112>>2]=I,y=s[e+28|0]|s[e+29|0]<<8|(s[e+30|0]<<16|s[e+31|0]<<24),i[f+116>>2]=y,E=s[e+32|0]|s[e+33|0]<<8|(s[e+34|0]<<16|s[e+35|0]<<24),i[f+120>>2]=E,J=s[e+36|0]|s[e+37|0]<<8|(s[e+38|0]<<16|s[e+39|0]<<24),i[f+124>>2]=J,R=s[e+40|0]|s[e+41|0]<<8|(s[e+42|0]<<16|s[e+43|0]<<24),i[f+128>>2]=R,D=s[e+44|0]|s[e+45|0]<<8|(s[e+46|0]<<16|s[e+47|0]<<24),i[f+132>>2]=D,z=s[e+48|0]|s[e+49|0]<<8|(s[e+50|0]<<16|s[e+51|0]<<24),i[f+136>>2]=z,H=s[e+52|0]|s[e+53|0]<<8|(s[e+54|0]<<16|s[e+55|0]<<24),i[f+140>>2]=H,a=s[e+56|0]|s[e+57|0]<<8|(s[e+58|0]<<16|s[e+59|0]<<24),i[f+144>>2]=a,S=s[e+60|0]|s[e+61|0]<<8|(s[e+62|0]<<16|s[e+63|0]<<24),i[f+148>>2]=S,A=a0(((((w^_)&h^_)+q|0)+u|0)-680876936|0,7)+h|0,k=a0(((_+v|0)+(A&(h^w)^w)|0)-389564586|0,12)+A|0,n=a0(((w+Z|0)+(k&(A^h)^h)|0)+606105819|0,17)+k|0,t=a0(((h+p|0)+(A^n&(A^k))|0)-1044525330|0,22)+n|0,A=a0(((A+W|0)+(k^t&(k^n))|0)-176418897|0,7)+t|0,k=a0(((k+C|0)+(n^A&(t^n))|0)+1200080426|0,12)+A|0,n=a0(((n+I|0)+(t^k&(A^t))|0)-1473231341|0,17)+k|0,t=a0(((t+y|0)+(A^n&(A^k))|0)-45705983|0,22)+n|0,A=a0(((A+E|0)+(k^t&(k^n))|0)+1770035416|0,7)+t|0,k=a0(((k+J|0)+(n^A&(t^n))|0)-1958414417|0,12)+A|0,n=a0(((n+R|0)+(t^k&(A^t))|0)-42063|0,17)+k|0,t=a0(((t+D|0)+(A^n&(A^k))|0)-1990404162|0,22)+n|0,o=k+H|0,k=a0(((A+z|0)+(k^t&(k^n))|0)+1804603682|0,7)+t|0,o=a0((o+(n^k&(t^n))|0)-40341101|0,12)+k|0,A=t+S|0,t=a0(((n+a|0)+(t^o&(k^t))|0)-1502002290|0,17)+o|0,A=a0((A+(k^t&(k^o))|0)+1236535329|0,22)+t|0,k=a0(((k+v|0)+(t^o&(A^t))|0)-165796510|0,5)+A|0,n=a0(((o+I|0)+((A^k)&t^A)|0)-1069501632|0,9)+k|0,t=a0(((t+D|0)+(k^A&(k^n))|0)+643717713|0,14)+n|0,A=a0(((A+u|0)+(n^k&(t^n))|0)-373897302|0,20)+t|0,k=a0(((k+C|0)+(t^n&(A^t))|0)-701558691|0,5)+A|0,n=a0(((n+R|0)+((A^k)&t^A)|0)+38016083|0,9)+k|0,t=a0(((t+S|0)+(k^A&(k^n))|0)-660478335|0,14)+n|0,A=a0(((A+W|0)+(n^k&(t^n))|0)-405537848|0,20)+t|0,k=a0(((k+J|0)+(t^n&(A^t))|0)+568446438|0,5)+A|0,n=a0(((n+a|0)+((A^k)&t^A)|0)-1019803690|0,9)+k|0,t=a0(((t+p|0)+(k^A&(k^n))|0)-187363961|0,14)+n|0,A=a0(((A+E|0)+(n^k&(t^n))|0)+1163531501|0,20)+t|0,k=a0(((k+H|0)+(t^n&(A^t))|0)-1444681467|0,5)+A|0,n=a0(((n+Z|0)+((A^k)&t^A)|0)-51403784|0,9)+k|0,d=A+z|0,o=a0(((t+y|0)+(k^A&(k^n))|0)+1735328473|0,14)+n|0,A=o^n,t=a0((d+(n^k&A)|0)-1926607734|0,20)+o|0,A=a0(((k+C|0)+(A^t)|0)-378558|0,4)+t|0,k=a0(((n+E|0)+(A^(t^o))|0)-2022574463|0,11)+A|0,n=a0(((o+D|0)+(k^(A^t))|0)+1839030562|0,16)+k|0,t=a0(((t+a|0)+(n^(A^k))|0)-35309556|0,23)+n|0,A=a0(((A+v|0)+(t^(k^n))|0)-1530992060|0,4)+t|0,k=a0(((k+W|0)+(A^(t^n))|0)+1272893353|0,11)+A|0,n=a0(((n+y|0)+(k^(A^t))|0)-155497632|0,16)+k|0,t=a0(((t+R|0)+(n^(A^k))|0)-1094730640|0,23)+n|0,A=a0(((A+H|0)+(t^(k^n))|0)+681279174|0,4)+t|0,k=a0(((k+u|0)+(A^(t^n))|0)-358537222|0,11)+A|0,n=a0(((n+p|0)+(k^(A^t))|0)-722521979|0,16)+k|0,t=a0(((t+I|0)+(n^(A^k))|0)+76029189|0,23)+n|0,A=a0(((A+J|0)+(t^(k^n))|0)-640364487|0,4)+t|0,k=a0(((k+z|0)+(A^(t^n))|0)-421815835|0,11)+A|0,o=A+u|0,u=A^k,A=a0(((n+S|0)+(k^(A^t))|0)+530742520|0,16)+k|0,n=a0(((t+Z|0)+(u^A)|0)-995338651|0,23)+A|0,t=a0((o+((n|k^-1)^A)|0)-198630844|0,6)+n|0,o=n+C|0,u=A+a|0,A=a0(((k+y|0)+(n^(t|A^-1))|0)+1126891415|0,10)+t|0,n=a0((u+(t^(A|n^-1))|0)-1416354905|0,15)+A|0,k=a0((o+((n|t^-1)^A)|0)-57434055|0,21)+n|0,o=n+R|0,u=A+p|0,A=a0(((t+z|0)+(n^(k|A^-1))|0)+1700485571|0,6)+k|0,n=a0((u+(k^(A|n^-1))|0)-1894986606|0,10)+A|0,t=a0((o+((n|k^-1)^A)|0)-1051523|0,15)+n|0,o=n+S|0,u=A+E|0,A=a0(((k+v|0)+(n^(t|A^-1))|0)-2054922799|0,21)+t|0,n=a0((u+(t^(A|n^-1))|0)+1873313359|0,6)+A|0,k=a0((o+((n|t^-1)^A)|0)-30611744|0,10)+n|0,o=n+W|0,u=A+H|0,A=a0(((t+I|0)+(n^(k|A^-1))|0)-1560198380|0,15)+k|0,n=a0((u+(k^(A|n^-1))|0)+1309151649|0,21)+A|0,t=a0((o+((n|k^-1)^A)|0)-145523070|0,6)+n|0,k=a0(((k+D|0)+(n^(t|A^-1))|0)-1120210379|0,10)+t|0,A=a0(((A+Z|0)+(t^(k|n^-1))|0)+718787259|0,15)+k|0,h=(A+h|0)+a0(((n+J|0)+(k^(A|t^-1))|0)-343485551|0,21)|0,w=A+w|0,_=k+_|0,q=t+q|0,e=e- -64|0,r=r+-64|0,!!r;);return i[f+20>>2]=_,i[f+16>>2]=w,i[f+12>>2]=h,i[f+8>>2]=q,e}function rh(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;k=B-16|0,B=k,v=t2(r);i:{r:{if(Z=B2(r),!Z)break r;for(;;){if(n=B2(r),n<<24>>24<0){if(e=U(40),i[k+4>>2]=e,i[k+8>>2]=38,i[k+12>>2]=-2147483608,r=s[12108]|s[12109]<<8|(s[12110]<<16|s[12111]<<24),A=s[12104]|s[12105]<<8|(s[12106]<<16|s[12107]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+38|0]=0,r=s[12138]|s[12139]<<8|(s[12140]<<16|s[12141]<<24),A=s[12134]|s[12135]<<8|(s[12136]<<16|s[12137]<<24),l[e+30|0]=A,l[e+31|0]=A>>>8,l[e+32|0]=A>>>16,l[e+33|0]=A>>>24,l[e+34|0]=r,l[e+35|0]=r>>>8,l[e+36|0]=r>>>16,l[e+37|0]=r>>>24,r=s[12132]|s[12133]<<8|(s[12134]<<16|s[12135]<<24),A=s[12128]|s[12129]<<8|(s[12130]<<16|s[12131]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[12124]|s[12125]<<8|(s[12126]<<16|s[12127]<<24),A=s[12120]|s[12121]<<8|(s[12122]<<16|s[12123]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[12116]|s[12117]<<8|(s[12118]<<16|s[12119]<<24),A=s[12112]|s[12113]<<8|(s[12114]<<16|s[12115]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,4,3002,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}if(n>>>0>=17){if(e=U(56),i[k+4>>2]=e,i[k+8>>2]=51,i[k+12>>2]=-2147483592,r=s[12056]|s[12057]<<8|(s[12058]<<16|s[12059]<<24),A=s[12052]|s[12053]<<8|(s[12054]<<16|s[12055]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+51|0]=0,r=s[12099]|s[12100]<<8|(s[12101]<<16|s[12102]<<24),l[e+47|0]=r,l[e+48|0]=r>>>8,l[e+49|0]=r>>>16,l[e+50|0]=r>>>24,r=s[12096]|s[12097]<<8|(s[12098]<<16|s[12099]<<24),A=s[12092]|s[12093]<<8|(s[12094]<<16|s[12095]<<24),l[e+40|0]=A,l[e+41|0]=A>>>8,l[e+42|0]=A>>>16,l[e+43|0]=A>>>24,l[e+44|0]=r,l[e+45|0]=r>>>8,l[e+46|0]=r>>>16,l[e+47|0]=r>>>24,r=s[12088]|s[12089]<<8|(s[12090]<<16|s[12091]<<24),A=s[12084]|s[12085]<<8|(s[12086]<<16|s[12087]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[12080]|s[12081]<<8|(s[12082]<<16|s[12083]<<24),A=s[12076]|s[12077]<<8|(s[12078]<<16|s[12079]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[12072]|s[12073]<<8|(s[12074]<<16|s[12075]<<24),A=s[12068]|s[12069]<<8|(s[12070]<<16|s[12071]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[12064]|s[12065]<<8|(s[12066]<<16|s[12067]<<24),A=s[12060]|s[12061]<<8|(s[12062]<<16|s[12063]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,4,3002,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}e:{u=i[e+52>>2],t=i[e+56>>2];A:{if(u>>>0<t>>>0){l[u|0]=n,o=u+1|0;break A}if(h=i[e+48>>2],w=u-h|0,A=w+1|0,(A|0)<0)break e;t=t-h|0,o=t<<1,o=t>>>0>=1073741823?2147483647:A>>>0<o>>>0?o:A,o?A=U(o):A=0,t=w+A|0,l[t|0]=n,W=A+o|0,o=t+1|0;f:{if((u|0)==(h|0)){A=t;break f}if(_=0,n=u,w=w&3,w)for(;t=t-1|0,n=n-1|0,l[t|0]=s[n|0],_=_+1|0,(w|0)!=(_|0););if(h-u>>>0<=4294967292)for(;l[t-1|0]=s[n-1|0],l[t-2|0]=s[n-2|0],l[t-3|0]=s[n-3|0],t=t-4|0,n=n-4|0,l[t|0]=s[n|0],(n|0)!=(h|0););h=i[e+48>>2]}if(i[e+56>>2]=W,i[e+52>>2]=o,i[e+48>>2]=A,!h)break A;G(h)}if(i[e+52>>2]=o,p=p+1|0,(p&255)>>>0<Z>>>0)continue;break r}break}y0(),P()}r:{if(!v)break r;for(h=e+60|0,t=0;;){e:{i[k+12>>2]=0,i[k+4>>2]=0,i[k+8>>2]=0,A=i[e+64>>2];A:{if(A>>>0<k0[e+68>>2]){if(i[A+8>>2]=0,i[A>>2]=0,i[A+4>>2]=0,n=i[k+8>>2],w=i[k+4>>2],(n|0)!=(w|0)){if(n=n-w|0,(n|0)<0)break e;u=U(n),i[A+4>>2]=u,i[A>>2]=u,o=n+u|0,i[A+8>>2]=o,l0(u,w,n),i[A+4>>2]=o}A=A+12|0;break A}A=v6(h,k+4|0)}if(i[e+64>>2]=A,A=i[k+4>>2],A&&(i[k+8>>2]=A,G(A)),t=t+1|0,(t&65535)>>>0<v>>>0)continue;break r}break}y0(),P()}if(s[r+20|0]==1){if(l[k+4|0]=0,l[k+15|0]=0,r0(f,2,100,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+16|0}function d2(f,e,r,A,k,n,t,o,u){var h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0;w=B-96|0,B=w,J=u&65535,p=(k^u)&-2147483648,I=k&65535,H=I,Y0=u>>>16&32767,S0=k>>>16&32767;i:{r:{if(Y0-32767>>>0>4294934529&S0-32767>>>0>=4294934530)break r;if(y=k&2147483647,C=y,h=A,!(!A&(C|0)==2147418112?!(e|r):C>>>0<2147418112)){v=A,p=k|32768;break i}if(y=u&2147483647,W=y,k=o,!(!k&(W|0)==2147418112?!(n|t):W>>>0<2147418112)){v=k,p=u|32768,e=n,r=t;break i}if(!(e|h|(C^2147418112|r))){if(!(k|n|(t|W))){p=2147450880,e=0,r=0;break i}p=p|2147418112,e=0,r=0;break i}if(!(k|n|(W^2147418112|t))){if(k=e|h,A=r|C,e=0,r=0,!(A|k)){p=2147450880;break i}p=p|2147418112;break i}if(!(e|h|(r|C))){e=0,r=0;break i}if(!(k|n|(t|W))){e=0,r=0;break i}if((C|0)==65535|C>>>0<65535&&(h=!(A|I),u=h?e:A,y=h<<6,k=$2(u)+32|0,u=$2(h?r:I),u=y+((u|0)==32?k:u)|0,L1(w+80|0,e,r,A,I,u-15|0),E=16-u|0,A=i[w+88>>2],H=i[w+92>>2],r=i[w+84>>2],e=i[w+80>>2]),W>>>0>65535)break r;u=!(o|J),k=u?n:o,I=u<<6,h=$2(k)+32|0,k=$2(u?t:J),k=I+((k|0)==32?h:k)|0,L1(w- -64|0,n,t,o,J,k-15|0),E=(E-k|0)+16|0,o=i[w+72>>2],J=i[w+76>>2],n=i[w+64>>2],t=i[w+68>>2]}k=n,n=t<<15|n>>>17,u=k<<15,k=0,R=u&-32768,p0=r,y=q0(R,k,r,0),k=w0,a=k,X0=n,C=e,r=q0(n,0,e,0),e=r+y|0,n=w0+k|0,u=e,r=e>>>0<r>>>0?n+1|0:n,n=e,h=0,e=q0(C,_,R,_),W=h+e|0,k=w0+n|0,k=e>>>0>W>>>0?k+1|0:k,I=k,G0=(n|0)==(k|0)&h>>>0>W>>>0|k>>>0<n>>>0,I0=A,D=q0(R,_,A,0),Q0=w0,e=q0(p0,_,X0,_),z=e+D|0,h=w0+Q0|0,h=e>>>0>z>>>0?h+1|0:h,e=J<<15|o>>>17,S=o<<15|t>>>17,A=q0(S,0,C,_),q=A+z|0,n=w0+h|0,n=A>>>0>q>>>0?n+1|0:n,d=n,A=(r|0)==(a|0)&u>>>0<y>>>0|r>>>0<a>>>0,A0=r+q|0,n=A+n|0,n=r>>>0>A0>>>0?n+1|0:n,J=n,t=A0,r=n,f0=H|65536,H=q0(R,_,f0,Z),F0=w0,A=q0(I0,v,X0,_),n0=A+H|0,k=w0+F0|0,k=A>>>0>n0>>>0?k+1|0:k,u=k,h0=e|-2147483648,e=q0(h0,0,C,_),j=e+n0|0,n=w0+k|0,n=e>>>0>j>>>0?n+1|0:n,A=q0(S,v,p0,_),e=A+j|0,L=n,n=n+w0|0,a=e,y=e>>>0<A>>>0?n+1|0:n,n=e,e=0,C=e+t|0,k=r+n|0,k=e>>>0>C>>>0?k+1|0:k,R=k,n=k,e=C+G0|0,r=e>>>0<C>>>0?n+1|0:n,E=((S0+Y0|0)+E|0)-16383|0,A=q0(h0,v,p0,_),o=w0,k=q0(f0,v,X0,_),t=k+A|0,n=w0+o|0,n=k>>>0>t>>>0?n+1|0:n,Z=(o|0)==(n|0)&A>>>0>t>>>0|n>>>0<o>>>0,o=n,k=q0(S,v,I0,v),A=k+t|0,n=w0+n|0,n=A>>>0<k>>>0?n+1|0:n,k=n,t=(n|0)==(o|0)&A>>>0<t>>>0|n>>>0<o>>>0,n=0,o=t,t=t+Z|0,n=o>>>0>t>>>0?1:n,o=t,t=q0(h0,v,f0,v),o=o+t|0,n=w0+n|0,G0=o,t=t>>>0>o>>>0?n+1|0:n,o=A,_=k,k=(h|0)==(Q0|0)&D>>>0>z>>>0|h>>>0<Q0>>>0,n=0,h=(h|0)==(d|0)&z>>>0>q>>>0|h>>>0>d>>>0,Z=h,h=k+h|0,k=(Z>>>0>h>>>0?1:n)+_|0,n=t,A=A+h|0,k=A>>>0<h>>>0?k+1|0:k,Z=k,D=A,A=(k|0)==(_|0)&A>>>0<o>>>0|k>>>0<_>>>0,k=A,A=A+G0|0,n=k>>>0>A>>>0?n+1|0:n,h=A,o=n,k=q0(S,v,f0,v),_=w0,t=q0(h0,v,I0,v),A=t+k|0,n=w0+_|0,n=A>>>0<t>>>0?n+1|0:n,t=n,n=(_|0)==(n|0)&A>>>0<k>>>0|n>>>0<_>>>0,z=t+h|0,k=n+o|0,k=t>>>0>z>>>0?k+1|0:k,_=z,o=k,h=A,k=0,A=k+D|0,n=h+Z|0,n=A>>>0<k>>>0?n+1|0:n,k=n,t=(Z|0)==(n|0)&A>>>0<D>>>0|n>>>0<Z>>>0,n=o,o=t,t=t+_|0,n=o>>>0>t>>>0?n+1|0:n,D=t,t=n,o=A,h=k,k=(y|0)==(L|0)&a>>>0<j>>>0|y>>>0<L>>>0,A=(u|0)==(F0|0)&H>>>0>n0>>>0|u>>>0<F0>>>0,u=(u|0)==(L|0)&n0>>>0>j>>>0|u>>>0>L>>>0,A=A+u|0,A=A+k|0,Z=y,u=Z+o|0,k=A+h|0,n=t,A=u,k=A>>>0<Z>>>0?k+1|0:k,o=(k|0)==(h|0)&o>>>0>A>>>0|k>>>0<h>>>0,t=o+D|0,n=o>>>0>t>>>0?n+1|0:n,h=t,t=n,o=A,n=0,u=k,Z=(J|0)==(R|0)&C>>>0<A0>>>0|J>>>0>R>>>0,_=Z,Z=Z+((J|0)==(d|0)&q>>>0>A0>>>0|J>>>0<d>>>0)|0,k=k+(_>>>0>Z>>>0?1:n)|0,n=t,A=A+Z|0,k=A>>>0<Z>>>0?k+1|0:k,o=(k|0)==(u|0)&A>>>0<o>>>0|k>>>0<u>>>0,t=o,o=o+h|0,n=t>>>0>o>>>0?n+1|0:n,u=n;r:{if(n&65536){E=E+1|0;break r}h=I>>>31|0,t=0,n=u<<1|o>>>31,o=o<<1|k>>>31,u=n,n=k<<1|A>>>31,A=A<<1|r>>>31,k=n,n=I<<1|W>>>31,W=W<<1,I=n,n=r<<1|e>>>31,e=e<<1|h,r=n|t}if((E|0)>=32767){p=p|2147418112,e=0,r=0;break i}r:{if((E|0)<=0){if(t=1-E|0,t>>>0<=127){n=E+127|0,L1(w+48|0,W,I,e,r,n),L1(w+32|0,A,k,o,u,n),ti(w+16|0,W,I,e,r,t),ti(w,A,k,o,u,t),W=i[w+32>>2]|i[w+16>>2]|(i[w+48>>2]|i[w+56>>2]|(i[w+52>>2]|i[w+60>>2]))!=0,I=i[w+36>>2]|i[w+20>>2],e=i[w+40>>2]|i[w+24>>2],r=i[w+44>>2]|i[w+28>>2],A=i[w>>2],k=i[w+4>>2],t=i[w+8>>2],n=i[w+12>>2];break r}e=0,r=0;break i}t=o,n=u&65535|E<<16}if(v=t|v,p=n|p,!(!e&(r|0)==-2147483648?!(W|I):(r|0)>0|(r|0)>=0)){e=A+1|0,h=e?k:k+1|0,k=p,r=h,A=!(h|e),v=A+v|0,p=A>>>0>v>>>0?k+1|0:k;break i}if(e|W|(r^-2147483648|I)){e=A,r=k;break i}n=k,e=A&1,r=e,e=e+A|0,r=r>>>0>e>>>0?n+1|0:n,A=(n|0)==(r|0)&e>>>0<A>>>0|r>>>0<n>>>0,n=p,v=A+v|0,p=v>>>0<A>>>0?n+1|0:n}i[f>>2]=e,i[f+4>>2]=r,i[f+8>>2]=v,i[f+12>>2]=p,B=w+96|0}function Fk(f,e,r,A,k,n,t,o,u,h,w){var _=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0;_=B-48|0,B=_,v=i[k>>2];i:{r:{if(n){if(v)break r;C0(3871,14027,242,10614),P()}if(!v)break i}if(Z=i[k+4>>2],Z&&(i[Z+4>>2]=i[Z+4>>2]+1),i[f+124>>2]=v,v=i[f+128>>2],i[f+128>>2]=Z,!v||(Z=i[v+4>>2],i[v+4>>2]=Z-1,Z))break i;V[i[i[v>>2]+8>>2]](v),g(v)}aA(f),p=1,Z=i[19780],i[19780]=Z+1,i[f+112>>2]=t,i[f+108>>2]=2147483647,i[f>>2]=Z,i[f+288>>2]=h,i[f+36>>2]=r,i[f+32>>2]=e,i[f+28>>2]=r,i[f+24>>2]=e,i[f+20>>2]=A,i[f+280>>2]=o,i[f+284>>2]=u;i:{r:{e:{A:{f:{k:{n:{t:switch(A|0){default:C0(17356,14027,278,10614),P();case 1:p=2,i[_+8>>2]=2,I=(r+1|0)/2|0,i[f+36>>2]=I,W=(e+1|0)/2|0,i[f+32>>2]=W,h=2,A=2;break k;case 2:i[_+8>>2]=3,p=2,W=(e+1|0)/2|0,i[f+32>>2]=W,h=1;break n;case 3:break t;case 0:break f}i[_+8>>2]=4,W=e,h=1}I=r,A=1}if(l[f+51|0]=h,l[f+50|0]=p,h=i[k>>2],!h){i[_+20>>2]=16,i[_+16>>2]=r,i[_+12>>2]=e,y=1;break A}if(i[h+16852>>2]!=(p|0))break e;if(i[h+16856>>2]==(A|0)){i[_+20>>2]=16,i[_+16>>2]=r,i[_+12>>2]=e;break r}C0(15341,14027,318,10614),P()}if(y=1,i[_+8>>2]=1,X[f+50>>1]=257,i[f+32>>2]=0,i[f+36>>2]=0,h=i[k>>2],i[_+20>>2]=16,i[_+16>>2]=r,i[_+12>>2]=e,h){A=1;break r}A=1}h=0,o=0;break i}C0(15371,14027,317,10614),P()}J=i[h+508>>2],E=i[h+504>>2],R=i[h+500>>2],y=0,o=i[h+496>>2]}C=8,D=o+R|0,v=m(D,p);i:{if((v|0)>=(e|0)||(Z=E+J|0,u=m(Z,A),(u|0)>=(r|0)))break i;i[f+88>>2]=I-Z,i[f+84>>2]=W-D,r=r-u|0,i[f+80>>2]=r,e=e-v|0,i[f+76>>2]=e,i[_+44>>2]=r,i[_+40>>2]=e,i[_+36>>2]=m(A,J),u=m(A,E),i[_+32>>2]=u,i[_+28>>2]=m(p,R),A=m(o,p),i[_+24>>2]=A,e=8,r=8,y||(r=i[h+16840>>2],e=i[h+16832>>2]),l[f+49|0]=r,l[f+48|0]=e,r=(r&255)>>>0>8,l[f+18|0]=r,l[f+17|0]=r,l[f+16|0]=(e&255)>>>0>8;r:{if(!t){r=0,e=77612;break r}r=i[t+544>>2],e=w?t+536|0:77612}w=i[e>>2],e=i[e+4>>2],i[f+304>>2]=w,i[f+308>>2]=e;r:{if(!w)break r;r=V[w|0](t,_+8|0,f,r)|0,i[f+64>>2]=(A+i[f+4>>2]|0)+m(u,i[f+40>>2]);e:{if(!i[f+20>>2]){p=0,e=0;break e}e=m(i[f+44>>2],E),p=e+(i[f+12>>2]+o|0)|0,e=e+(i[f+8>>2]+o|0)|0}if(i[f+72>>2]=p,i[f+68>>2]=e,r)break r;C=7;break i}r:{if(!n)break r;e=i[f+200>>2],n=i[h+16944>>2],A=i[h+16952>>2],r=i[h+16948>>2],t=m(A,r);e:{if((t|0)!=i[f+204>>2]){if(G(e),e=Z2(t),i[f+200>>2]=e,!e){i[f+204>>2]=0,r=0;break e}i[f+204>>2]=t}i[f+216>>2]=A,i[f+212>>2]=r,i[f+208>>2]=n,r=(e|0)!=0}e=i[f+220>>2],t=i[h+16944>>2],n=i[h+16952>>2],A=i[h+16948>>2],o=m(n,A);e:{if((o|0)!=i[f+224>>2]){if(G(e),e=Z2(o),i[f+220>>2]=e,!e){i[f+224>>2]=0,e=0;break e}i[f+224>>2]=o}i[f+236>>2]=n,i[f+232>>2]=A,i[f+228>>2]=t,e=(e|0)!=0}t=e&r,e=i[f+160>>2],n=i[h+16872>>2],A=i[h+16896>>2],r=i[h+16888>>2],o=m(A,r);e:{if((o|0)!=i[f+164>>2]){if(G(e),e=Z2(m(o,3)),i[f+160>>2]=e,!e){i[f+164>>2]=0,e=0;break e}i[f+164>>2]=o}i[f+176>>2]=A,i[f+172>>2]=r,i[f+168>>2]=n,e=(e|0)!=0}n=e&t,e=i[f+180>>2],r=i[h+16872>>2]-2|0,A=i[h+16896>>2]<<r,r=i[h+16888>>2]<<r,t=m(A,r);e:{if((t|0)!=i[f+184>>2]){if(G(e),e=Z2(m(t,12)),i[f+180>>2]=e,!e){i[f+184>>2]=0,e=0;break e}i[f+184>>2]=t}i[f+196>>2]=A,i[f+192>>2]=r,i[f+188>>2]=2,e=(e|0)!=0}t=e&n,e=i[f+240>>2],n=i[h+16936>>2],A=i[h+16928>>2],r=i[h+16924>>2],o=m(A,r);e:{if((o|0)!=i[f+244>>2]){if(G(e),e=Z2(o),i[f+240>>2]=e,!e){i[f+244>>2]=0,e=0;break e}i[f+244>>2]=o}i[f+256>>2]=A,i[f+252>>2]=r,i[f+248>>2]=n,e=(e|0)!=0}n=e&t,e=i[f+260>>2],A=(i[h+488>>2]+3|0)/4|0,r=(i[h+484>>2]+3|0)/4|0,t=m(A,r);e:{if((t|0)!=i[f+264>>2]){if(G(e),e=Z2(t),i[f+260>>2]=e,!e){i[f+264>>2]=0,e=0;break e}i[f+264>>2]=t}i[f+276>>2]=A,i[f+272>>2]=r,i[f+268>>2]=2,e=(e|0)!=0}if(t=e&n,h=i[k>>2],r=i[h+16892>>2],!((r|0)==i[f+152>>2]&i[f+156>>2]==i[h+16900>>2])){if(A=i[f+320>>2],A){if(r=A-4|0,e=i[r>>2],e){for(h=A+m(e,76)|0;h=h-76|0,(A|0)!=(h|0););h=i[k>>2]}G(r),r=i[h+16892>>2]}e=i[f+140>>2],n=i[h+16876>>2],A=i[h+16900>>2],h=m(A,r);e:{if((h|0)!=i[f+144>>2]){if(G(e),e=Z2(m(h,24)),i[f+140>>2]=e,!e){h=0,i[f+144>>2]=0,e=0;break e}i[f+144>>2]=h}i[f+156>>2]=A,i[f+152>>2]=r,i[f+148>>2]=n,e=(e|0)!=0}if(r=q0(h,0,76,0),A=r+4|0,r=U(w0||r>>>0>A>>>0?-1:A),i[r>>2]=h,r=r+4|0,h)for(A=r+m(h,76)|0,h=r;i[h>>2]=0,h=h+76|0,(A|0)!=(h|0););if(i[f+320>>2]=r,e&t)break r;C=7;break i}if(t)break r;C=7;break i}C=0}e=i[k+4>>2];i:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}return B=_+48|0,C}function eh(f,e,r,A,k,n,t,o,u,h){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0,h=h|0;var w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0;Z=h-8|0,v=n+3|0,R=B-((m(v,k)<<1)+15&-16)|0;i:{if((n|0)>=-2){if((k|0)<=0)break i;for(C=r-2|0,J=R+2|0,r=n+2|0,I=(r|0)>0?r:0,H=k&2147483646,a=k&1,y=k-t&3,p=-1,E=k-1|0,S=E-t>>>0<3;;){_=J+(p<<1)|0,h=C+(m(A,p)<<1)|0;r:{e:{A:switch(t|0){case 0:if(u=0,r=t,y)for(;X[_+(m(r,v)<<1)>>1]=Q[h+2>>1],r=r+1|0,h=h+2|0,u=u+1|0,(y|0)!=(u|0););if(S)break r;for(;X[_+(m(r,v)<<1)>>1]=Q[h+2>>1],X[_+(m(r+1|0,v)<<1)>>1]=Q[h+4>>1],X[_+(m(r+2|0,v)<<1)>>1]=Q[h+6>>1],X[_+(m(r+3|0,v)<<1)>>1]=Q[h+8>>1],h=h+8|0,r=r+4|0,(k|0)!=(r|0););break r;default:for(u=Q[h>>1],r=0;w=Q[h+2>>1],X[_+(m(r,v)<<1)>>1]=(m(Q[h+4>>1],58)+m(w,10)|0)-(Q[h+6>>1]+(u&65535)<<1)>>Z,h=h+2|0,u=w,r=r+1|0,(k|0)!=(r|0););break r;case 1:for(u=Q[h>>1],r=0;w=Q[h+2>>1],X[_+(m(r,v)<<1)>>1]=(m(Q[h+4>>1],10)+m(w,58)|0)-(Q[h+6>>1]+(u&65535)<<1)>>Z,h=h+2|0,u=w,r=r+1|0,(k|0)!=(r|0););break r;case 2:for(u=Q[h>>1],r=0;w=u&65535,u=Q[h+2>>1],X[_+(m(r,v)<<1)>>1]=m(u,54)+(Q[h+4>>1]<<4)-((w<<2)+(Q[h+6>>1]<<1))>>Z,h=h+2|0,r=r+1|0,(k|0)!=(r|0););break r;case 3:for(u=Q[h>>1],r=0;w=u&65535,u=Q[h+2>>1],X[_+(m(r,v)<<1)>>1]=((m(u,46)+m(w,-6)|0)+m(Q[h+4>>1],28)|0)-(Q[h+6>>1]<<2)>>Z,h=h+2|0,r=r+1|0,(k|0)!=(r|0););break r;case 4:if(u=Q[h>>1],r=0,W=0,!E)break e;for(;w=u&65535,u=Q[h+4>>1],D=Q[h+2>>1],z=Q[h+6>>1],X[_+(m(r,v)<<1)>>1]=m(u+D|0,36)-(w+z<<2)>>Z,X[_+(m(r|1,v)<<1)>>1]=m(u+z|0,36)-(Q[h+8>>1]+D<<2)>>Z,r=r+2|0,h=h+4|0,W=W+2|0,(H|0)!=(W|0););break e;case 5:for(u=Q[h>>1],r=0;w=u&65535,u=Q[h+2>>1],X[_+(m(r,v)<<1)>>1]=((m(u,28)-(w<<2)|0)+m(Q[h+4>>1],46)|0)+m(Q[h+6>>1],-6)>>Z,h=h+2|0,r=r+1|0,(k|0)!=(r|0););break r;case 6:break A}for(u=Q[h>>1],r=0;w=u&65535,u=Q[h+2>>1],X[_+(m(r,v)<<1)>>1]=m(Q[h+4>>1],54)+(u<<4)-((w<<1)+(Q[h+6>>1]<<2))>>Z,h=h+2|0,r=r+1|0,(k|0)!=(r|0););break r}if(!a)break r;X[_+(m(r,v)<<1)>>1]=m(Q[h+4>>1]+Q[h+2>>1]|0,36)-(Q[h+6>>1]+(u&65535)<<2)>>Z}if(p=p+1|0,(I|0)==(p|0))break}}if((k|0)<=0|(n|0)<=0)break i;for(w=t?6:Z,Z=n&2147483646,y=n&1,_=n-o&3,p=0,C=n-1|0,J=C-o>>>0<3;;){t=(p<<1)+f|0,h=(m(v,p)<<1)+R|0;r:{e:{A:switch(o|0){case 0:if(u=0,r=o,_)for(;X[t+(m(e,r)<<1)>>1]=Q[h+2>>1],r=r+1|0,h=h+2|0,u=u+1|0,(_|0)!=(u|0););if(J)break r;for(;X[t+(m(e,r)<<1)>>1]=Q[h+2>>1],X[t+(m(r+1|0,e)<<1)>>1]=Q[h+4>>1],X[t+(m(r+2|0,e)<<1)>>1]=Q[h+6>>1],X[t+(m(r+3|0,e)<<1)>>1]=Q[h+8>>1],h=h+8|0,r=r+4|0,(n|0)!=(r|0););break r;default:for(u=Q[h>>1],r=0;A=X[h+2>>1],X[t+(m(e,r)<<1)>>1]=(m(X[h+4>>1],58)+m(A,10)|0)-(X[h+6>>1]+(u<<16>>16)<<1)>>w,h=h+2|0,u=A,r=r+1|0,(n|0)!=(r|0););break r;case 1:for(u=Q[h>>1],r=0;A=X[h+2>>1],X[t+(m(e,r)<<1)>>1]=(m(X[h+4>>1],10)+m(A,58)|0)-(X[h+6>>1]+(u<<16>>16)<<1)>>w,h=h+2|0,u=A,r=r+1|0,(n|0)!=(r|0););break r;case 2:for(u=Q[h>>1],r=0;A=u<<16>>16,u=X[h+2>>1],X[t+(m(e,r)<<1)>>1]=m(u,54)+(X[h+4>>1]<<4)-((A<<2)+(X[h+6>>1]<<1))>>w,h=h+2|0,r=r+1|0,(n|0)!=(r|0););break r;case 3:for(u=Q[h>>1],r=0;A=u<<16>>16,u=X[h+2>>1],X[t+(m(e,r)<<1)>>1]=((m(u,46)+m(A,-6)|0)+m(X[h+4>>1],28)|0)-(X[h+6>>1]<<2)>>w,h=h+2|0,r=r+1|0,(n|0)!=(r|0););break r;case 4:if(u=Q[h>>1],r=0,W=0,!C)break e;for(;A=u<<16>>16,u=X[h+4>>1],I=X[h+2>>1],E=A,A=X[h+6>>1],X[t+(m(e,r)<<1)>>1]=m(u+I|0,36)-(E+A<<2)>>w,X[t+(m(r|1,e)<<1)>>1]=m(A+u|0,36)-(I+X[h+8>>1]<<2)>>w,r=r+2|0,h=h+4|0,W=W+2|0,(Z|0)!=(W|0););break e;case 5:for(u=Q[h>>1],r=0;A=u<<16>>16,u=X[h+2>>1],X[t+(m(e,r)<<1)>>1]=((m(u,28)-(A<<2)|0)+m(X[h+4>>1],46)|0)+m(X[h+6>>1],-6)>>w,h=h+2|0,r=r+1|0,(n|0)!=(r|0););break r;case 6:break A}for(u=Q[h>>1],r=0;A=u<<16>>16,u=X[h+2>>1],X[t+(m(e,r)<<1)>>1]=m(X[h+4>>1],54)+(u<<4)-((A<<1)+(X[h+6>>1]<<2))>>w,h=h+2|0,r=r+1|0,(n|0)!=(r|0););break r}if(!y)break r;X[t+(m(e,r)<<1)>>1]=m(X[h+4>>1]+X[h+2>>1]|0,36)-(X[h+6>>1]+(u<<16>>16)<<2)>>w}if(p=p+1|0,(p|0)==(k|0))break}}}function Zr(f,e,r,A){var k=0,n=0,t=0,o=0;k=B-48|0,B=k,t=k+36|0,W6(t,i[e+48>>2],r),o=l[k+47|0],n=(o|0)<0;i:{r:{if(((n?i[k+40>>2]:o)|0)!=4)break r;n=n?i[k+36>>2]:t,t=s[n+1|0]<<8,o=s[n+2|0]<<16|s[n+3|0]<<24;e:{if((s[n|0]|t|o)==1684632167||(n=o|(t|s[n|0]),(n|0)==1852138601))break e;if((n|0)!=1819701097)break r}n=i[e+48>>2],t=i[n+76>>2],n=i[n+80>>2],n&&(i[n+4>>2]=i[n+4>>2]+1);e:{if(!t){if(e=U(56),i[k+24>>2]=e,i[k+28>>2]=54,i[k+32>>2]=-2147483592,r=s[3983]|s[3984]<<8|(s[3985]<<16|s[3986]<<24),A=s[3979]|s[3980]<<8|(s[3981]<<16|s[3982]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+54|0]=0,r=s[4029]|s[4030]<<8|(s[4031]<<16|s[4032]<<24),A=s[4025]|s[4026]<<8|(s[4027]<<16|s[4028]<<24),l[e+46|0]=A,l[e+47|0]=A>>>8,l[e+48|0]=A>>>16,l[e+49|0]=A>>>24,l[e+50|0]=r,l[e+51|0]=r>>>8,l[e+52|0]=r>>>16,l[e+53|0]=r>>>24,r=s[4023]|s[4024]<<8|(s[4025]<<16|s[4026]<<24),A=s[4019]|s[4020]<<8|(s[4021]<<16|s[4022]<<24),l[e+40|0]=A,l[e+41|0]=A>>>8,l[e+42|0]=A>>>16,l[e+43|0]=A>>>24,l[e+44|0]=r,l[e+45|0]=r>>>8,l[e+46|0]=r>>>16,l[e+47|0]=r>>>24,r=s[4015]|s[4016]<<8|(s[4017]<<16|s[4018]<<24),A=s[4011]|s[4012]<<8|(s[4013]<<16|s[4014]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[4007]|s[4008]<<8|(s[4009]<<16|s[4010]<<24),A=s[4003]|s[4004]<<8|(s[4005]<<16|s[4006]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[3999]|s[4e3]<<8|(s[4001]<<16|s[4002]<<24),A=s[3995]|s[3996]<<8|(s[3997]<<16|s[3998]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[3991]|s[3992]<<8|(s[3993]<<16|s[3994]<<24),A=s[3987]|s[3988]<<8|(s[3989]<<16|s[3990]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,117,k+24|0),l[k+35|0]>=0)break e;G(i[k+24>>2]);break e}oi(k+24|0,t,r);A:{f:{if(t=i[k+24>>2],(t|0)!=i[k+28>>2]&&(o=r,r=i[t>>2],(o|0)!=(r|0)))break f;if(e=U(56),i[k+12>>2]=e,i[k+16>>2]=54,i[k+20>>2]=-2147483592,r=s[3983]|s[3984]<<8|(s[3985]<<16|s[3986]<<24),A=s[3979]|s[3980]<<8|(s[3981]<<16|s[3982]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+54|0]=0,r=s[4029]|s[4030]<<8|(s[4031]<<16|s[4032]<<24),A=s[4025]|s[4026]<<8|(s[4027]<<16|s[4028]<<24),l[e+46|0]=A,l[e+47|0]=A>>>8,l[e+48|0]=A>>>16,l[e+49|0]=A>>>24,l[e+50|0]=r,l[e+51|0]=r>>>8,l[e+52|0]=r>>>16,l[e+53|0]=r>>>24,r=s[4023]|s[4024]<<8|(s[4025]<<16|s[4026]<<24),A=s[4019]|s[4020]<<8|(s[4021]<<16|s[4022]<<24),l[e+40|0]=A,l[e+41|0]=A>>>8,l[e+42|0]=A>>>16,l[e+43|0]=A>>>24,l[e+44|0]=r,l[e+45|0]=r>>>8,l[e+46|0]=r>>>16,l[e+47|0]=r>>>24,r=s[4015]|s[4016]<<8|(s[4017]<<16|s[4018]<<24),A=s[4011]|s[4012]<<8|(s[4013]<<16|s[4014]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[4007]|s[4008]<<8|(s[4009]<<16|s[4010]<<24),A=s[4003]|s[4004]<<8|(s[4005]<<16|s[4006]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[3999]|s[4e3]<<8|(s[4001]<<16|s[4002]<<24),A=s[3995]|s[3996]<<8|(s[3997]<<16|s[3998]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[3991]|s[3992]<<8|(s[3993]<<16|s[3994]<<24),A=s[3987]|s[3988]<<8|(s[3989]<<16|s[3990]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,117,k+12|0),l[k+23|0]>=0)break A;G(i[k+12>>2]);break A}Zr(f,e,r,A)}if(f=i[k+24>>2],!f)break e;i[k+28>>2]=f,G(f)}if(!n||(f=i[n+4>>2],i[n+4>>2]=f-1,f))break i;V[i[i[n>>2]+8>>2]](n),g(n);break i}if(i[A>>2]=r,e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}l[k+47|0]<0&&G(i[k+36>>2]),B=k+48|0}function Ah(f,e,r,A,k,n,t,o,u,h){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0,h=h|0;var w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0;Z=h-8|0,v=n+3|0,R=B-((m(v,k)<<1)+15&-16)|0;i:{if((n|0)>=-2){if((k|0)<=0)break i;for(C=r-1|0,J=R+2|0,r=n+2|0,I=(r|0)>0?r:0,H=k&2147483646,a=k&1,y=k-t&3,p=-1,E=k-1|0,S=E-t>>>0<3;;){_=J+(p<<1)|0,h=C+m(A,p)|0;r:{e:{A:switch(t|0){case 0:if(u=0,r=t,y)for(;X[_+(m(r,v)<<1)>>1]=s[h+1|0],r=r+1|0,h=h+1|0,u=u+1|0,(y|0)!=(u|0););if(S)break r;for(;X[_+(m(r,v)<<1)>>1]=s[h+1|0],X[_+(m(r+1|0,v)<<1)>>1]=s[h+2|0],X[_+(m(r+2|0,v)<<1)>>1]=s[h+3|0],X[_+(m(r+3|0,v)<<1)>>1]=s[h+4|0],h=h+4|0,r=r+4|0,(k|0)!=(r|0););break r;default:for(u=s[h|0],r=0;w=s[h+1|0],X[_+(m(r,v)<<1)>>1]=(m(s[h+2|0],58)+m(w,10)|0)-(s[h+3|0]+(u&255)<<1)>>Z,h=h+1|0,u=w,r=r+1|0,(k|0)!=(r|0););break r;case 1:for(u=s[h|0],r=0;w=s[h+1|0],X[_+(m(r,v)<<1)>>1]=(m(s[h+2|0],10)+m(w,58)|0)-(s[h+3|0]+(u&255)<<1)>>Z,h=h+1|0,u=w,r=r+1|0,(k|0)!=(r|0););break r;case 2:for(u=s[h|0],r=0;w=u&255,u=s[h+1|0],X[_+(m(r,v)<<1)>>1]=m(u,54)+(s[h+2|0]<<4)-((w<<2)+(s[h+3|0]<<1))>>Z,h=h+1|0,r=r+1|0,(k|0)!=(r|0););break r;case 3:for(u=s[h|0],r=0;w=u&255,u=s[h+1|0],X[_+(m(r,v)<<1)>>1]=((m(u,46)+m(w,-6)|0)+m(s[h+2|0],28)|0)-(s[h+3|0]<<2)>>Z,h=h+1|0,r=r+1|0,(k|0)!=(r|0););break r;case 4:if(u=s[h|0],r=0,W=0,!E)break e;for(;w=u&255,u=s[h+2|0],D=s[h+1|0],z=s[h+3|0],X[_+(m(r,v)<<1)>>1]=m(u+D|0,36)-(w+z<<2)>>Z,X[_+(m(r|1,v)<<1)>>1]=m(u+z|0,36)-(s[h+4|0]+D<<2)>>Z,r=r+2|0,h=h+2|0,W=W+2|0,(H|0)!=(W|0););break e;case 5:for(u=s[h|0],r=0;w=u&255,u=s[h+1|0],X[_+(m(r,v)<<1)>>1]=((m(u,28)-(w<<2)|0)+m(s[h+2|0],46)|0)+m(s[h+3|0],-6)>>Z,h=h+1|0,r=r+1|0,(k|0)!=(r|0););break r;case 6:break A}for(u=s[h|0],r=0;w=u&255,u=s[h+1|0],X[_+(m(r,v)<<1)>>1]=m(s[h+2|0],54)+(u<<4)-((w<<1)+(s[h+3|0]<<2))>>Z,h=h+1|0,r=r+1|0,(k|0)!=(r|0););break r}if(!a)break r;X[_+(m(r,v)<<1)>>1]=m(s[h+2|0]+s[h+1|0]|0,36)-(s[h+3|0]+(u&255)<<2)>>Z}if(p=p+1|0,(I|0)==(p|0))break}}if((k|0)<=0|(n|0)<=0)break i;for(w=t?6:Z,Z=n&2147483646,y=n&1,_=n-o&3,p=0,C=n-1|0,J=C-o>>>0<3;;){t=(p<<1)+f|0,h=(m(v,p)<<1)+R|0;r:{e:{A:switch(o|0){case 0:if(u=0,r=o,_)for(;X[t+(m(e,r)<<1)>>1]=Q[h+2>>1],r=r+1|0,h=h+2|0,u=u+1|0,(_|0)!=(u|0););if(J)break r;for(;X[t+(m(e,r)<<1)>>1]=Q[h+2>>1],X[t+(m(r+1|0,e)<<1)>>1]=Q[h+4>>1],X[t+(m(r+2|0,e)<<1)>>1]=Q[h+6>>1],X[t+(m(r+3|0,e)<<1)>>1]=Q[h+8>>1],h=h+8|0,r=r+4|0,(n|0)!=(r|0););break r;default:for(u=Q[h>>1],r=0;A=X[h+2>>1],X[t+(m(e,r)<<1)>>1]=(m(X[h+4>>1],58)+m(A,10)|0)-(X[h+6>>1]+(u<<16>>16)<<1)>>w,h=h+2|0,u=A,r=r+1|0,(n|0)!=(r|0););break r;case 1:for(u=Q[h>>1],r=0;A=X[h+2>>1],X[t+(m(e,r)<<1)>>1]=(m(X[h+4>>1],10)+m(A,58)|0)-(X[h+6>>1]+(u<<16>>16)<<1)>>w,h=h+2|0,u=A,r=r+1|0,(n|0)!=(r|0););break r;case 2:for(u=Q[h>>1],r=0;A=u<<16>>16,u=X[h+2>>1],X[t+(m(e,r)<<1)>>1]=m(u,54)+(X[h+4>>1]<<4)-((A<<2)+(X[h+6>>1]<<1))>>w,h=h+2|0,r=r+1|0,(n|0)!=(r|0););break r;case 3:for(u=Q[h>>1],r=0;A=u<<16>>16,u=X[h+2>>1],X[t+(m(e,r)<<1)>>1]=((m(u,46)+m(A,-6)|0)+m(X[h+4>>1],28)|0)-(X[h+6>>1]<<2)>>w,h=h+2|0,r=r+1|0,(n|0)!=(r|0););break r;case 4:if(u=Q[h>>1],r=0,W=0,!C)break e;for(;A=u<<16>>16,u=X[h+4>>1],I=X[h+2>>1],E=A,A=X[h+6>>1],X[t+(m(e,r)<<1)>>1]=m(u+I|0,36)-(E+A<<2)>>w,X[t+(m(r|1,e)<<1)>>1]=m(A+u|0,36)-(I+X[h+8>>1]<<2)>>w,r=r+2|0,h=h+4|0,W=W+2|0,(Z|0)!=(W|0););break e;case 5:for(u=Q[h>>1],r=0;A=u<<16>>16,u=X[h+2>>1],X[t+(m(e,r)<<1)>>1]=((m(u,28)-(A<<2)|0)+m(X[h+4>>1],46)|0)+m(X[h+6>>1],-6)>>w,h=h+2|0,r=r+1|0,(n|0)!=(r|0););break r;case 6:break A}for(u=Q[h>>1],r=0;A=u<<16>>16,u=X[h+2>>1],X[t+(m(e,r)<<1)>>1]=m(X[h+4>>1],54)+(u<<4)-((A<<1)+(X[h+6>>1]<<2))>>w,h=h+2|0,r=r+1|0,(n|0)!=(r|0););break r}if(!y)break r;X[t+(m(e,r)<<1)>>1]=m(X[h+4>>1]+X[h+2>>1]|0,36)-(X[h+6>>1]+(u<<16>>16)<<2)>>w}if(p=p+1|0,(p|0)==(k|0))break}}}function fh(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;if(h=B-32|0,B=h,n=i[f>>2],Zr(h+8|0,i[n+16>>2],i[n+20>>2],h+28|0),f=-1,!i[h+8>>2]){u=i[h+28>>2],r=B-128|0,B=r,o=i[i[n+16>>2]+48>>2],n=o+112|0;i:{r:{e=i[o+112>>2];e:{if(!e)break e;for(f=n;A=k0[e+16>>2]<u>>>0,f=A?f:e,e=i[(A<<2)+e>>2],!!e;);if(A=0,(f|0)==(n|0)|k0[f+16>>2]>u>>>0)break e;if(e=i[f+20>>2],A=i[f+24>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),e)break r}l[r+112|0]=0,l[r+123|0]=0;break i}if(l[e+75|0]>=0){f=e- -64|0,i[r+120>>2]=i[f+8>>2],e=i[f+4>>2],i[r+112>>2]=i[f>>2],i[r+116>>2]=e;break i}_0(r+112|0,i[e+64>>2],i[e+68>>2])}i:{if(!A||(f=i[A+4>>2],i[A+4>>2]=f-1,f))break i;V[i[i[A>>2]+8>>2]](A),g(A)}e=l[r+123|0],k=(e|0)<0,f=i[r+116>>2];i:{r:{if(((k?f:e)|0)!=4||(k=k?i[r+112>>2]:r+112|0,(s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24))!=828601960))break r;p4(r+32|0,i[o+44>>2],u,o+52|0,1752589123),e=i[r+32>>2];e:{if(!e){f=0;break e}if(f=0,A=N0(e,68572,74292),!A)break e;if(e=i[r+36>>2],!e){A=s[A+71|0],f=1;break e}if(f=1,k=i[e+4>>2],t=k+1|0,i[e+4>>2]=t,A=s[A+71|0],i[e+4>>2]=k,t)break e;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[r+36>>2];e:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break e;V[i[i[e>>2]+8>>2]](e),g(e)}if(f)break i;e=s[r+123|0],f=i[r+116>>2]}k=e<<24>>24;r:{if((((k|0)<0?f:e)|0)!=4||(t=0,k=(k|0)<0?i[r+112>>2]:r+112|0,(s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24))!=828601974))break r;p4(r+12|0,i[o+44>>2],u,o+52|0,1987470147),f=i[r+12>>2];e:{if(!f||(e=N0(f,68572,74976),!e)||(f=i[r+16>>2],f&&(i[f+4>>2]=i[f+4>>2]+1),A=i[e+60>>2],i[r+32>>2]=i[e+56>>2],i[r+36>>2]=A,_n(r+40|0,e- -64|0),X[r+100>>1]=Q[e+124>>1],i[r+96>>2]=i[e+120>>2],e=s[r+39|0],k=s[r+33|0],A=i[r+84>>2],A&&(i[r+88>>2]=A,G(A)),A=i[r+72>>2],A&&(i[r+76>>2]=A,G(A)),A=i[r+60>>2],A&&G(A),A=i[r+48>>2],A&&(i[r+52>>2]=A,G(A)),A=k?e+8|0:8,t=1,!f)||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break e;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[r+16>>2];e:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break e;V[i[i[f>>2]+8>>2]](f),g(f)}if(t)break i;e=s[r+123|0],f=i[r+116>>2]}k=e<<24>>24<0;r:{if(((k?f:e)|0)!=4||(k=k?i[r+112>>2]:r+112|0,(s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24))!=825259617))break r;p4(r+32|0,i[o+44>>2],u,o+52|0,1635135811),e=i[r+32>>2];e:{if(!e){f=0;break e}if(f=0,k=N0(e,68572,74408),!k)break e;if(e=i[r+36>>2],!e){A=s[k+52|0]?s[k+53|0]?12:10:8,f=1;break e}if(f=1,A=i[e+4>>2],t=A+1|0,i[e+4>>2]=t,w=s[k+52|0],k=s[k+53|0],i[e+4>>2]=A,A=w?k?12:10:8,t)break e;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[r+36>>2];e:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break e;V[i[i[e>>2]+8>>2]](e),g(e)}if(f)break i;e=s[r+123|0],f=i[r+116>>2]}r:{A=e<<24>>24;e:{if((((A|0)<0?f:e)|0)!=4)break e;if(A=(A|0)<0?i[r+112>>2]:r+112|0,k=s[A+1|0]<<8,t=s[A+2|0]<<16|s[A+3|0]<<24,(s[A|0]|k|t)==1734701162)break r;if((t|(k|s[A|0]))!=1701669229)break e;A=0;A:{f:{e=i[n>>2];k:{if(!e)break k;for(f=n;A=k0[e+16>>2]<u>>>0,f=A?f:e,e=i[(A<<2)+e>>2],!!e;);if(A=0,(f|0)==(n|0)|k0[f+16>>2]>u>>>0)break k;if(n=i[f+20>>2],A=i[f+24>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),n)break f}l[r+32|0]=0,l[r+43|0]=0;break A}if(l[n+99|0]>=0){i[r+40>>2]=i[n+96>>2],f=i[n+92>>2],i[r+32>>2]=i[n+88>>2],i[r+36>>2]=f;break A}_0(r+32|0,i[n+88>>2],i[n+92>>2])}A:{if(!A||(f=i[A+4>>2],i[A+4>>2]=f-1,f))break A;V[i[i[A>>2]+8>>2]](A),g(A)}if(f=0,A=l[r+43|0],n=(A|0)<0,((n?i[r+36>>2]:A)|0)==10&&(f=!K2(n?i[r+32>>2]:r+32|0,8704,10)),(A|0)<0&&G(i[r+32>>2]),f)break r;e=s[r+123|0],f=i[r+116>>2]}if(A=-1,n=f,f=e<<24>>24<0,((f?n:e)|0)!=4||(f=f?i[r+112>>2]:r+112|0,(s[f|0]|s[f+1|0]<<8|(s[f+2|0]<<16|s[f+3|0]<<24))!=829108842))break i;X[r+32>>1]=0,B0(r+36|0,0,68),wA(r+12|0,r+32|0,o,u),A=-1;e:{if(i[r+12>>2]||(f=i[r+68>>2],A=-1,i[r+72>>2]-f>>>0<5))break e;A=s[f+6|0]}if(l[r+31|0]<0&&G(i[r+20>>2]),f=i[r+92>>2],f&&(i[r+96>>2]=f,G(f)),f=i[r+80>>2],f&&(i[r+84>>2]=f,G(f)),f=i[r+68>>2],!f)break i;i[r+72>>2]=f,G(f);break i}A=J7(o,u)}l[r+123|0]<0&&G(i[r+112>>2]),B=r+128|0,f=A}return l[h+27|0]<0&&G(i[h+16>>2]),B=h+32|0,f|0}function kh(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;if(n=B-32|0,B=n,_=V[i[i[e>>2]+32>>2]](e,r,0)|0,A2(r,s[e+57|0]|s[e+56|0]<<1&6|248),s[e+57|0]==1){w2(r,(s[e+62|0]|(s[e+60|0]<<4|Q[e+58>>1]<<7|s[e+61|0]<<2))&65535),A2(r,(s[e+63|0]<<5|31)&255),A2(r,s[e+64|0]&63),A2(r,s[e+66|0]|s[e+65|0]<<1&254),A2(r,s[e+67|0]);i:{if(!s[e+64|0]||(A2(r,(s[i[e+72>>2]]|(s[e+69|0]<<6|s[e+68|0]<<7))&255),A=1,s[e+64|0]<=1))break i;for(;A2(r,s[i[e+72>>2]+A|0]),A=A+1|0,A>>>0<s[e+64|0];);}A=s[e+60|0];i:{if(A>>>0<=1)break i;k=A-1|0,h=k&1,o=i[e+84>>2],A=A-2|0;r:{if(!A){t=128,k=0;break r}for(v=k&-2,t=128,k=0;u=A-1|0,Z=0-(i[o+(u>>>3&536870908)>>2]>>>u&1)|0,u=t&255,k=Z&u>>>1|(0-(i[o+(A>>>3&536870908)>>2]>>>A&1)&t|k),A=A-2|0,t=u>>>2|0,w=w+2|0,(w|0)!=(v|0););}if(!h)break i;k=0-(i[o+(A>>>3&536870908)>>2]>>>A&1)&t|k}if(A2(r,k&255),A=s[e+60|0],A>>>0>=2)for(A=A-2|0;i[i[e+84>>2]+(A>>>3&536870908)>>2]>>>A&1&&A2(r,s[i[e+96>>2]+A|0]),k=(A|0)>0,A=A-1|0,!!k;);if(k=i[e+112>>2]-i[e+108>>2]>>>2&255,A2(r,k),k)for(A=0;l2(r,i[i[e+108>>2]+(A<<2)>>2]),A=A+1|0,(k|0)!=(A|0););w2(r,Q[e+120>>1]),w2(r,Q[e+122>>1]),w2(r,Q[e+124>>1])}A=i[e+132>>2]-i[e+128>>2]>>4;i:{if(A>>>0>=256){if(e=U(32),i[n+20>>2]=e,i[n+24>>2]=24,i[n+28>>2]=-2147483616,r=s[17552]|s[17553]<<8|(s[17554]<<16|s[17555]<<24),A=s[17548]|s[17549]<<8|(s[17550]<<16|s[17551]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+24|0]=0,r=s[17568]|s[17569]<<8|(s[17570]<<16|s[17571]<<24),A=s[17564]|s[17565]<<8|(s[17566]<<16|s[17567]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[17560]|s[17561]<<8|(s[17562]<<16|s[17563]<<24),A=s[17556]|s[17557]<<8|(s[17558]<<16|s[17559]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,9,0,n+20|0),l[n+31|0]>=0)break i;G(i[n+20>>2]);break i}if(A2(r,A&255),k=i[e+128>>2],t=i[e+132>>2],(k|0)!=(t|0))for(;;){if(A2(r,s[k+1|0]|(s[k|0]?128:0)),A=(i[k+8>>2]-i[k+4>>2]|0)/12|0,A>>>0>=65536){if(e=U(24),i[n+20>>2]=e,i[n+24>>2]=23,i[n+28>>2]=-2147483624,r=s[17577]|s[17578]<<8|(s[17579]<<16|s[17580]<<24),A=s[17573]|s[17574]<<8|(s[17575]<<16|s[17576]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+23|0]=0,r=s[17592]|s[17593]<<8|(s[17594]<<16|s[17595]<<24),A=s[17588]|s[17589]<<8|(s[17590]<<16|s[17591]<<24),l[e+15|0]=A,l[e+16|0]=A>>>8,l[e+17|0]=A>>>16,l[e+18|0]=A>>>24,l[e+19|0]=r,l[e+20|0]=r>>>8,l[e+21|0]=r>>>16,l[e+22|0]=r>>>24,r=s[17585]|s[17586]<<8|(s[17587]<<16|s[17588]<<24),A=s[17581]|s[17582]<<8|(s[17583]<<16|s[17584]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,9,0,n+20|0),l[n+31|0]>=0)break i;G(i[n+20>>2]);break i}if(w2(r,A&65535),A=i[k+4>>2],o=i[k+8>>2],(A|0)!=(o|0))for(;;){if(h=i[A+4>>2]-i[A>>2]|0,h>>>0>=65536){if(e=U(24),i[n+20>>2]=e,i[n+24>>2]=18,i[n+28>>2]=-2147483624,r=s[17830]|s[17831]<<8|(s[17832]<<16|s[17833]<<24),A=s[17826]|s[17827]<<8|(s[17828]<<16|s[17829]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+18|0]=0,r=s[17842]|s[17843]<<8,l[e+16|0]=r,l[e+17|0]=r>>>8,r=s[17838]|s[17839]<<8|(s[17840]<<16|s[17841]<<24),A=s[17834]|s[17835]<<8|(s[17836]<<16|s[17837]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,9,0,n+20|0),l[n+31|0]>=0)break i;G(i[n+20>>2]);break i}if(w2(r,h&65535),D4(r,A),A=A+12|0,(o|0)==(A|0))break}if(k=k+16|0,(t|0)==(k|0))break}if(Y4(n,e,r,_),l[n+19|0]<0&&G(i[n+8>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=n+32|0}function Ek(f){var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;if(h=B-32|0,B=h,Zr(h+8|0,i[f+16>>2],i[f+20>>2],h+28|0),n=-1,!i[h+8>>2]){u=i[h+28>>2],r=B-128|0,B=r,o=i[i[f+16>>2]+48>>2],n=o+112|0;i:{r:{e=i[o+112>>2];e:{if(!e)break e;for(f=n;A=k0[e+16>>2]<u>>>0,f=A?f:e,e=i[(A<<2)+e>>2],!!e;);if(A=0,(f|0)==(n|0)|k0[f+16>>2]>u>>>0)break e;if(e=i[f+20>>2],A=i[f+24>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),e)break r}l[r+112|0]=0,l[r+123|0]=0;break i}if(l[e+75|0]>=0){f=e- -64|0,i[r+120>>2]=i[f+8>>2],e=i[f+4>>2],i[r+112>>2]=i[f>>2],i[r+116>>2]=e;break i}_0(r+112|0,i[e+64>>2],i[e+68>>2])}i:{if(!A||(f=i[A+4>>2],i[A+4>>2]=f-1,f))break i;V[i[i[A>>2]+8>>2]](A),g(A)}e=l[r+123|0],k=(e|0)<0,f=i[r+116>>2];i:{r:{if(((k?f:e)|0)!=4||(k=k?i[r+112>>2]:r+112|0,(s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24))!=828601960))break r;p4(r+32|0,i[o+44>>2],u,o+52|0,1752589123),e=i[r+32>>2];e:{if(!e){f=0;break e}if(f=0,A=N0(e,68572,74292),!A)break e;if(e=i[r+36>>2],!e){A=s[A+70|0],f=1;break e}if(f=1,k=i[e+4>>2],t=k+1|0,i[e+4>>2]=t,A=s[A+70|0],i[e+4>>2]=k,t)break e;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[r+36>>2];e:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break e;V[i[i[e>>2]+8>>2]](e),g(e)}if(f)break i;e=s[r+123|0],f=i[r+116>>2]}k=e<<24>>24;r:{if((((k|0)<0?f:e)|0)!=4||(t=0,k=(k|0)<0?i[r+112>>2]:r+112|0,(s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24))!=828601974))break r;p4(r+12|0,i[o+44>>2],u,o+52|0,1987470147),f=i[r+12>>2];e:{if(!f||(e=N0(f,68572,74976),!e)||(f=i[r+16>>2],f&&(i[f+4>>2]=i[f+4>>2]+1),A=i[e+60>>2],i[r+32>>2]=i[e+56>>2],i[r+36>>2]=A,_n(r+40|0,e- -64|0),X[r+100>>1]=Q[e+124>>1],i[r+96>>2]=i[e+120>>2],e=s[r+39|0],k=s[r+33|0],A=i[r+84>>2],A&&(i[r+88>>2]=A,G(A)),A=i[r+72>>2],A&&(i[r+76>>2]=A,G(A)),A=i[r+60>>2],A&&G(A),A=i[r+48>>2],A&&(i[r+52>>2]=A,G(A)),A=k?e+8|0:8,t=1,!f)||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break e;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[r+16>>2];e:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break e;V[i[i[f>>2]+8>>2]](f),g(f)}if(t)break i;e=s[r+123|0],f=i[r+116>>2]}k=e<<24>>24<0;r:{if(((k?f:e)|0)!=4||(k=k?i[r+112>>2]:r+112|0,(s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24))!=825259617))break r;p4(r+32|0,i[o+44>>2],u,o+52|0,1635135811),e=i[r+32>>2];e:{if(!e){f=0;break e}if(f=0,k=N0(e,68572,74408),!k)break e;if(e=i[r+36>>2],!e){A=s[k+52|0]?s[k+53|0]?12:10:8,f=1;break e}if(f=1,A=i[e+4>>2],t=A+1|0,i[e+4>>2]=t,w=s[k+52|0],k=s[k+53|0],i[e+4>>2]=A,A=w?k?12:10:8,t)break e;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[r+36>>2];e:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break e;V[i[i[e>>2]+8>>2]](e),g(e)}if(f)break i;e=s[r+123|0],f=i[r+116>>2]}r:{A=e<<24>>24;e:{if((((A|0)<0?f:e)|0)!=4)break e;if(A=(A|0)<0?i[r+112>>2]:r+112|0,k=s[A+1|0]<<8,t=s[A+2|0]<<16|s[A+3|0]<<24,(s[A|0]|k|t)==1734701162)break r;if((t|(k|s[A|0]))!=1701669229)break e;A=0;A:{f:{e=i[n>>2];k:{if(!e)break k;for(f=n;A=k0[e+16>>2]<u>>>0,f=A?f:e,e=i[(A<<2)+e>>2],!!e;);if(A=0,(f|0)==(n|0)|k0[f+16>>2]>u>>>0)break k;if(n=i[f+20>>2],A=i[f+24>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),n)break f}l[r+32|0]=0,l[r+43|0]=0;break A}if(l[n+99|0]>=0){i[r+40>>2]=i[n+96>>2],f=i[n+92>>2],i[r+32>>2]=i[n+88>>2],i[r+36>>2]=f;break A}_0(r+32|0,i[n+88>>2],i[n+92>>2])}A:{if(!A||(f=i[A+4>>2],i[A+4>>2]=f-1,f))break A;V[i[i[A>>2]+8>>2]](A),g(A)}if(f=0,A=l[r+43|0],n=(A|0)<0,((n?i[r+36>>2]:A)|0)==10&&(f=!K2(n?i[r+32>>2]:r+32|0,8704,10)),(A|0)<0&&G(i[r+32>>2]),f)break r;e=s[r+123|0],f=i[r+116>>2]}if(A=-1,n=f,f=e<<24>>24<0,((f?n:e)|0)!=4||(f=f?i[r+112>>2]:r+112|0,(s[f|0]|s[f+1|0]<<8|(s[f+2|0]<<16|s[f+3|0]<<24))!=829108842))break i;X[r+32>>1]=0,B0(r+36|0,0,68),wA(r+12|0,r+32|0,o,u),A=-1;e:{if(i[r+12>>2]||(f=i[r+68>>2],A=-1,(f|0)==i[r+72>>2]))break e;A=s[f+2|0]}if(l[r+31|0]<0&&G(i[r+20>>2]),f=i[r+92>>2],f&&(i[r+96>>2]=f,G(f)),f=i[r+80>>2],f&&(i[r+84>>2]=f,G(f)),f=i[r+68>>2],!f)break i;i[r+72>>2]=f,G(f);break i}A=J7(o,u)}l[r+123|0]<0&&G(i[r+112>>2]),B=r+128|0,n=A}return l[h+27|0]<0&&G(i[h+16>>2]),B=h+32|0,n}function nh(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0;o=B-48|0,B=o,i[o+44>>2]=e,i[k>>2]=0,u=i[A+28>>2],i[o>>2]=u,(u|0)!=100008&&(i[u+4>>2]=i[u+4>>2]+1),u=x0(o,100184),O0(o);i:{r:{e:{A:switch(t-65|0){case 0:case 32:Bt(f,n+24|0,o+44|0,r,k,u);break r;case 1:case 33:case 39:ht(f,n+16|0,o+44|0,r,k,u);break r;case 34:e=V[i[i[f+8>>2]+12>>2]](f+8|0)|0,t=f,h=i[o+44>>2],s[e+11|0]>>>7|0?f=i[e>>2]:f=e,u=f,s[e+11|0]>>>7|0?f=i[e>>2]:f=e,s[e+11|0]>>>7|0?e=i[e+4>>2]:e=s[e+11|0]&127,w=o,_=Z8(t,h,r,A,k,n,u,f+(e<<2)|0),i[w+44>>2]=_;break r;case 35:case 36:f=$4(o+44|0,r,k,u,2),e=i[k>>2];f:{if(!(f-1>>>0>30|e&4)){i[n+12>>2]=f;break f}i[k>>2]=e|4}break r;case 3:t=i[15039],i[o+24>>2]=i[15038],i[o+28>>2]=t,t=i[15037],i[o+16>>2]=i[15036],i[o+20>>2]=t,t=i[15035],i[o+8>>2]=i[15034],i[o+12>>2]=t,t=i[15033],i[o>>2]=i[15032],i[o+4>>2]=t,w=o,_=Z8(f,e,r,A,k,n,o,o+32|0),i[w+44>>2]=_;break r;case 5:t=i[15047],i[o+24>>2]=i[15046],i[o+28>>2]=t,t=i[15045],i[o+16>>2]=i[15044],i[o+20>>2]=t,t=i[15043],i[o+8>>2]=i[15042],i[o+12>>2]=t,t=i[15041],i[o>>2]=i[15040],i[o+4>>2]=t,w=o,_=Z8(f,e,r,A,k,n,o,o+32|0),i[w+44>>2]=_;break r;case 7:f=$4(o+44|0,r,k,u,2),e=i[k>>2];f:{if(!((f|0)>23|e&4)){i[n+8>>2]=f;break f}i[k>>2]=e|4}break r;case 8:f=$4(o+44|0,r,k,u,2),e=i[k>>2];f:{if(!(f-1>>>0>11|e&4)){i[n+8>>2]=f;break f}i[k>>2]=e|4}break r;case 41:f=$4(o+44|0,r,k,u,3),e=i[k>>2];f:{if(!((f|0)>365|e&4)){i[n+28>>2]=f;break f}i[k>>2]=e|4}break r;case 44:e=$4(o+44|0,r,k,u,2)-1|0,f=i[k>>2];f:{if(!(e>>>0>11|f&4)){i[n+16>>2]=e;break f}i[k>>2]=f|4}break r;case 12:f=$4(o+44|0,r,k,u,2),e=i[k>>2];f:{if(!((f|0)>59|e&4)){i[n+4>>2]=f;break f}i[k>>2]=e|4}break r;case 45:case 51:for(f=o+44|0,e=B-16|0,B=e,i[e+12>>2]=r;;){f:{if(g2(f,e+12|0))break f;r=i[f>>2],A=i[r+12>>2];k:{if((A|0)==i[r+16>>2]){r=V[i[i[r>>2]+36>>2]](r)|0;break k}r=i[A>>2]}if(!(V[i[i[u>>2]+12>>2]](u,1,r)|0))break f;Y1(f);continue}break}g2(f,e+12|0)&&(i[k>>2]=i[k>>2]|2),B=e+16|0;break r;case 47:t=o+44|0,e=V[i[i[f+8>>2]+8>>2]](f+8|0)|0;f:{if(s[e+11|0]>>>7|0){f=i[e+4>>2];break f}f=s[e+11|0]&127}s[e+23|0]>>>7|0?A=i[e+16>>2]:A=s[e+23|0]&127;f:{if((f|0)==(0-A|0)){i[k>>2]=i[k>>2]|4;break f}if(r=Rr(t,r,e,e+24|0,u,k,0),f=i[n+8>>2],!((r|0)!=(e|0)|(f|0)!=12)){i[n+8>>2]=0;break f}(r-e|0)!=12|(f|0)>11||(i[n+8>>2]=f+12)}break r;case 49:t=l0(o,60192,44),w=t,_=Z8(f,e,r,A,k,n,t,t+44|0),i[w+44>>2]=_;break r;case 17:i[o+16>>2]=i[15064],t=i[15063],i[o+8>>2]=i[15062],i[o+12>>2]=t,t=i[15061],i[o>>2]=i[15060],i[o+4>>2]=t,w=o,_=Z8(f,e,r,A,k,n,o,o+20|0),i[w+44>>2]=_;break r;case 18:f=$4(o+44|0,r,k,u,2),e=i[k>>2];f:{if(!((f|0)>60|e&4)){i[n>>2]=f;break f}i[k>>2]=e|4}break r;case 19:t=i[15075],i[o+24>>2]=i[15074],i[o+28>>2]=t,t=i[15073],i[o+16>>2]=i[15072],i[o+20>>2]=t,t=i[15071],i[o+8>>2]=i[15070],i[o+12>>2]=t,t=i[15069],i[o>>2]=i[15068],i[o+4>>2]=t,w=o,_=Z8(f,e,r,A,k,n,o,o+32|0),i[w+44>>2]=_;break r;case 54:f=$4(o+44|0,r,k,u,1),e=i[k>>2];f:{if(!((f|0)>6|e&4)){i[n+24>>2]=f;break f}i[k>>2]=e|4}break r;case 55:f=V[i[i[f>>2]+20>>2]](f,e,r,A,k,n)|0;break i;case 23:e=V[i[i[f+8>>2]+24>>2]](f+8|0)|0,t=f,h=i[o+44>>2],s[e+11|0]>>>7|0?f=i[e>>2]:f=e,u=f,s[e+11|0]>>>7|0?f=i[e>>2]:f=e,s[e+11|0]>>>7|0?e=i[e+4>>2]:e=s[e+11|0]&127,w=o,_=Z8(t,h,r,A,k,n,u,f+(e<<2)|0),i[w+44>>2]=_;break r;case 56:Yt(n+20|0,o+44|0,r,k,u);break r;case 24:f=$4(o+44|0,r,k,u,4),s[k|0]&4||(i[n+20>>2]=f-1900);break r;default:if((t|0)==37)break e;break;case 2:case 4:case 6:case 9:case 10:case 11:case 13:case 14:case 15:case 16:case 20:case 21:case 22:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 37:case 38:case 40:case 42:case 43:case 46:case 48:case 50:case 52:case 53:break A}i[k>>2]=i[k>>2]|4;break r}f=B-16|0,B=f,i[f+12>>2]=r,r=o+44|0,n=f+12|0,e=6;e:{A:{if(g2(r,n))break A;e=i[r>>2],A=i[e+12>>2];f:{if((A|0)==i[e+16>>2]){A=V[i[i[e>>2]+36>>2]](e)|0;break f}A=i[A>>2]}if(e=4,(V[i[i[u>>2]+52>>2]](u,A,0)|0)!=37)break A;if(!g2(Y1(r),n))break e;e=2}i[k>>2]=e|i[k>>2]}B=f+16|0}f=i[o+44>>2]}return B=o+48|0,f|0}function WA(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=0,r2=0,n2=0,s2=0,W2=0,y2=0,x2=0,T2=0,O2=0,q2=0,b2=0,e1=0,A1=0,h1=0,B1=0,p1=0,W1=0,X1=0,N1=0,r4=0,e4=0,V4=0,M4=0,x4=0,Hi=0,Ti=0,ai=0;i:{r:{w=i[f+276>>2],I0=(A|0)>(w|0)?w:A;e:{if((I0|0)<=(r|0)||(j=i[f+272>>2],Q0=(k|0)>(j|0)?j:k,(Q0|0)<=0))break e;for(q=i[f+124>>2],L=i[q+16856>>2],q2=L<<(e^1),p0=i[q+16852>>2],b2=p0<<e,e1=f+4|0,A1=3-L|0,h1=3-p0|0,A=i[q+16840>>2],B1=A-8|0,u=-1<<A^-1,W=i[f+44>>2],F0=m(W,6),Y0=W<<2,D=W<<1,S0=0-D|0,p1=i[f+260>>2],A0=m(W,6),W1=0-W<<1,X1=1-W<<1,N1=2-W<<1,r4=3-W<<1;;){for(A=r<<A1,e4=m(A,W),f0=m(A,L),V4=f0-1|0,M4=m((f0|0)/4|0,j)+p1|0,n0=0;;){if(k=n0<<h1,h0=m(k,p0),A=s[((h0|0)/4|0)+M4|0]&3,A>>>0>1)for(w=1,x4=(A<<1)-2|0,A=i[f+168>>2],J=h0-1>>A,R=V4>>A,X0=f0>>A,G0=h0>>A,A=k+e4|0,Hi=A+W<<1,c0=A<<1,Ti=c0+S0|0,ai=i[f+132>>2],A=1;;){k=i[(A<<2)+e1>>2],_=k+c0|0;A:{if(!e){z=_+6|0,H=_+4|0,a=_+2|0,A=k+Hi|0,v=A+6|0,Z=A+4|0,C=A+2|0,k=k+Ti|0,S=k+6|0,I=k+S0|0,t=I+6|0,h=I+4|0,y=I+2|0,E=k+4|0,n=k+2|0;break A}I=_-4|0,t=A0+I|0,A=_+2|0,v=A0+A|0,o=D<<1,h=o+I|0,Z=A+o|0,y=I+D|0,C=A+D|0,k=_-2|0,S=A0+k|0,z=_+A0|0,H=o+_|0,a=_+D|0,E=k+o|0,n=k+D|0}if((G0|0)<0||(o=i[f+172>>2],(o|0)<=(G0|0)))break r;if((X0|0)<0||(p=i[f+176>>2],(p|0)<=(X0|0)))break i;r2=Q[t>>1],n2=Q[h>>1],s2=Q[y>>1],d=Q[I>>1],S=Q[S>>1],t=Q[E>>1],n=Q[n>>1],h=Q[k>>1],W2=Q[v>>1],y2=Q[Z>>1],x2=Q[C>>1],T2=Q[A>>1],z=Q[z>>1],H=Q[H>>1],a=Q[a>>1],v=Q[_>>1],I=w,k=i[(w?32:36)+ai>>2],C=i[f+160>>2],y=C+m(G0,3)|0,E=m(m(o,X0),3),w=y+E|0,Z=l[w+2|0];A:{if(!e){if((R|0)<0|(p|0)<=(R|0))break i;A=(y+m(m(o,R),3)|0)+2|0;break A}if((J|0)<0|o>>>0<=J>>>0)break r;A=(E+(C+m(J,3)|0)|0)+2|0}k=k+((Z+l[A|0]|0)+1>>1)|0;A:{if(i[q+16848>>2]!=1){k=(k|0)>=51?51:k;break A}if((k|0)<30)break A;if(k>>>0<=42){k=i[(k<<2)+45912>>2];break A}k=k-6|0}if(Z=i[f+148>>2],A=h0>>Z,(A|0)<0||(O2=i[f+152>>2],(A|0)>=(O2|0)))break r;if(Z=f0>>Z,(Z|0)<0|(Z|0)>=i[f+156>>2])break i;A=i[i[i[f+52>>2]+(Q[((i[f+140>>2]+m(A,24)|0)+m(m(Z,O2),24)|0)+2>>1]<<2)>>2]+768>>2]+(k+x4|0)|0,A=(A|0)>=53?53:A,A=s[((A|0)>0?A:0)+43024|0]<<B1,Z=s[q+8812|0];A:{f:{if(!e){if(Z){if((R|0)<0|(p|0)<=(R|0))break i;C=!(s[(y+m(m(o,R),3)|0)+1|0]&4)}else C=1;if((R|0)<0|(p|0)<=(R|0))break i;if(k=0-A|0,p=((d+(v-h<<2)|0)-T2|0)+4>>3,p=(k|0)>(p|0)?k:(A|0)>(p|0)?p:A,E=s[w|0]|s[w+1|0]<<8,w=C&!(s[(y+m(m(o,R),3)|0)+1|0]&8),w&&(o=h+p|0,X[_+W1>>1]=(o|0)>=0?(u|0)>(o|0)?o:u:0),o=!(E&2048)&(!Z|!(E&1024)),o&&(h=v-p|0,X[_>>1]=(h|0)>=0?(u|0)>(h|0)?h:u:0),h=(((a-n<<2)+s2|0)-x2|0)+4>>3,h=(k|0)>(h|0)?k:(A|0)>(h|0)?h:A,w&&(n=n+h|0,X[_+X1>>1]=(n|0)>=0?(u|0)>(n|0)?n:u:0),o&&(n=a-h|0,X[_+2>>1]=(n|0)>=0?(u|0)>(n|0)?n:u:0),n=(((H-t<<2)+n2|0)-y2|0)+4>>3,n=(k|0)>(n|0)?k:(A|0)>(n|0)?n:A,w&&(t=n+t|0,X[_+N1>>1]=(t|0)>=0?(u|0)>(t|0)?t:u:0),o&&(t=H-n|0,X[_+4>>1]=(t|0)>=0?(u|0)>(t|0)?t:u:0),t=(((z-S<<2)+r2|0)-W2|0)+4>>3,A=(k|0)>(t|0)?k:(A|0)>(t|0)?t:A,w&&(k=A+S|0,X[_+r4>>1]=(k|0)>=0?(k|0)<(u|0)?k:u:0),!o)break A;k=z-A|0,A=6;break f}if(Z){if((J|0)<0|o>>>0<=J>>>0)break r;p=!(s[(E+(C+m(J,3)|0)|0)+1|0]&4)}else p=1;if((J|0)<0|o>>>0<=J>>>0)break r;if(k=0-A|0,o=((d+(v-h<<2)|0)-T2|0)+4>>3,y=(k|0)>(o|0)?k:(A|0)>(o|0)?o:A,d=s[w|0]|s[w+1|0]<<8,w=_-2|0,o=p&!(s[(E+(C+m(J,3)|0)|0)+1|0]&8),o&&(h=h+y|0,X[w>>1]=(h|0)>=0?(u|0)>(h|0)?h:u:0),h=!(d&2048)&(!Z|!(d&1024)),h&&(v=v-y|0,X[_>>1]=(v|0)>=0?(u|0)>(v|0)?v:u:0),v=(((a-n<<2)+s2|0)-x2|0)+4>>3,v=(k|0)>(v|0)?k:(A|0)>(v|0)?v:A,o&&(n=n+v|0,X[w+D>>1]=(n|0)>=0?(u|0)>(n|0)?n:u:0),h&&(n=a-v|0,X[_+D>>1]=(n|0)>=0?(u|0)>(n|0)?n:u:0),n=(((H-t<<2)+n2|0)-y2|0)+4>>3,n=(k|0)>(n|0)?k:(A|0)>(n|0)?n:A,o&&(t=n+t|0,X[w+Y0>>1]=(t|0)>=0?(u|0)>(t|0)?t:u:0),h&&(t=H-n|0,X[_+Y0>>1]=(t|0)>=0?(u|0)>(t|0)?t:u:0),t=(((z-S<<2)+r2|0)-W2|0)+4>>3,A=(k|0)>(t|0)?k:(A|0)>(t|0)?t:A,o&&(k=A+S|0,X[w+F0>>1]=(k|0)>=0?(k|0)<(u|0)?k:u:0),!h)break A;k=z-A|0,A=F0}X[A+_>>1]=(k|0)>=0?(k|0)<(u|0)?k:u:0}if(A=2,w=0,!I)break}if(n0=n0+b2|0,!((Q0|0)>(n0|0)))break}if(r=r+q2|0,!((I0|0)>(r|0)))break}}return}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function Yk(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0;v=B-6240|0,B=v,Z=e+96|0,C=e+480|0,I=e+2016|0;i:{for(;;){for(h=w?64:16,p=(w|0)==3,y=p?3:1,_=(v+6144|0)+m(w,24)|0,k=0;;){n=k<<10,A=n+v|0;r:{e:{A:{f:{k:{if(!(u0(f,1)&255)){if(r=M0(f),(r|0)==-99999||(r=p?m(r,3):r,(r|0)>(k|0)))break A;if(t=_+(k<<2)|0,i[t>>2]=16,!r){if(!w){r=i[19411],i[A+8>>2]=i[19410],i[A+12>>2]=r,r=i[19409],i[A>>2]=i[19408],i[A+4>>2]=r;break e}if(k>>>0<=2){r=i[19427],i[A+56>>2]=i[19426],i[A+60>>2]=r,r=i[19425],i[A+48>>2]=i[19424],i[A+52>>2]=r,r=i[19423],i[A+40>>2]=i[19422],i[A+44>>2]=r,r=i[19421],i[A+32>>2]=i[19420],i[A+36>>2]=r,r=i[19419],i[A+24>>2]=i[19418],i[A+28>>2]=r,r=16,t=i[19417],i[A+16>>2]=i[19416],i[A+20>>2]=t,t=i[19415],i[A+8>>2]=i[19414],i[A+12>>2]=t,t=i[19413],i[A>>2]=i[19412],i[A+4>>2]=t;break k}r=i[19443],i[A+56>>2]=i[19442],i[A+60>>2]=r,r=i[19441],i[A+48>>2]=i[19440],i[A+52>>2]=r,r=i[19439],i[A+40>>2]=i[19438],i[A+44>>2]=r,r=i[19437],i[A+32>>2]=i[19436],i[A+36>>2]=r,r=i[19435],i[A+24>>2]=i[19434],i[A+28>>2]=r,r=16,t=i[19433],i[A+16>>2]=i[19432],i[A+20>>2]=t,t=i[19431],i[A+8>>2]=i[19430],i[A+12>>2]=t,t=i[19429],i[A>>2]=i[19428],i[A+4>>2]=t;break k}if((w|0)==3&(r|0)!=3)break f;r=k-r|0,l0(A,(r<<10)+v|0,h),r=i[_+(r<<2)>>2],i[t>>2]=r;break k}n:{if(w>>>0<2){t=8,r=16;break n}if(r=_1(f),r-248>>>0<4294967041)break A;t=r+8|0,i[_+(k<<2)>>2]=t,r=t}for(u=0;;){if(o=_1(f),o+128>>>0>255)break A;if(t=t+o|0,l[A+u|0]=t,u=u+1|0,(h|0)==(u|0))break}}k:switch(w|0){case 1:for(r=(k<<6)+Z|0,u=0,t=i[i[11334]+12>>2];n=t+(u<<1)|0,l[(r+(s[n+1|0]<<3)|0)+s[n|0]|0]=s[A+u|0],n=u|1,o=t+(n<<1)|0,l[(r+(s[o+1|0]<<3)|0)+s[o|0]|0]=s[A+n|0],u=u+2|0,(u|0)!=64;);break r;case 2:for(n=(k<<8)+C|0,W=n+1|0,t=0,E=i[i[11334]+12>>2];u=(t<<1)+E|0,o=s[A+t|0],l[(n+(s[u|0]<<1)|0)+(s[u+1|0]<<5)|0]=o,l[((s[u|0]<<1)+W|0)+(s[u+1|0]<<5)|0]=o,l[((n+(s[u|0]<<1)|0)+(s[u+1|0]<<5)|0)+16|0]=o,l[(((s[u|0]<<1)+W|0)+(s[u+1|0]<<5)|0)+16|0]=o,t=t+1|0,(t|0)!=64;);l[n|0]=r;break r;case 3:break k;case 0:break e;default:break r}t=n+I|0,L4(t,A,3),l[t|0]=r;break r}C0(16661,13927,934,2960),P()}f=8;break i}L4((k<<4)+e|0,A,0)}if(k=k+y|0,!(k>>>0<6))break}if(w=w+1|0,(w|0)==4)break}for(u=e+96|0,w=e- -64|0,_=e+32|0,f=0,t=i[i[11334]+12>>2];r=t+(f<<1)|0,n=s[r+1|0],r=s[r|0],A=((n<<7)+(r<<2)|0)+3040|0,k=A+e|0,r=m(s[(r+((n<<3)+Z|0)|0)- -64|0],16843009),l[k|0]=r,n=r>>>8|0,l[k+1|0]=n,o=r>>>16|0,l[k+2|0]=o,h=r>>>24|0,l[k+3|0]=h,k=A+_|0,l[k|0]=r,l[k+1|0]=n,l[k+2|0]=o,l[k+3|0]=h,k=A+w|0,l[k|0]=r,l[k+1|0]=n,l[k+2|0]=o,l[k+3|0]=h,A=A+u|0,l[A|0]=r,l[A+1|0]=n,l[A+2|0]=o,l[A+3|0]=h,f=f+1|0,(f|0)!=64;);for(l[e+3040|0]=s[e+160|0],u=e+96|0,w=e- -64|0,_=e+32|0,f=0;r=t+(f<<1)|0,n=s[r+1|0],r=s[r|0],A=((n<<7)+(r<<2)|0)+4064|0,k=A+e|0,r=m(s[(r+((n<<3)+Z|0)|0)+128|0],16843009),l[k|0]=r,n=r>>>8|0,l[k+1|0]=n,o=r>>>16|0,l[k+2|0]=o,h=r>>>24|0,l[k+3|0]=h,k=A+_|0,l[k|0]=r,l[k+1|0]=n,l[k+2|0]=o,l[k+3|0]=h,k=A+w|0,l[k|0]=r,l[k+1|0]=n,l[k+2|0]=o,l[k+3|0]=h,A=A+u|0,l[A|0]=r,l[A+1|0]=n,l[A+2|0]=o,l[A+3|0]=h,f=f+1|0,(f|0)!=64;);for(l[e+4064|0]=s[e+224|0],u=e+96|0,w=e- -64|0,_=e+32|0,f=0;r=t+(f<<1)|0,n=s[r+1|0],r=s[r|0],A=((n<<7)+(r<<2)|0)+6112|0,k=A+e|0,r=m(s[(r+((n<<3)+Z|0)|0)+256|0],16843009),l[k|0]=r,n=r>>>8|0,l[k+1|0]=n,o=r>>>16|0,l[k+2|0]=o,h=r>>>24|0,l[k+3|0]=h,k=A+_|0,l[k|0]=r,l[k+1|0]=n,l[k+2|0]=o,l[k+3|0]=h,k=A+w|0,l[k|0]=r,l[k+1|0]=n,l[k+2|0]=o,l[k+3|0]=h,A=A+u|0,l[A|0]=r,l[A+1|0]=n,l[A+2|0]=o,l[A+3|0]=h,f=f+1|0,(f|0)!=64;);for(l[e+6112|0]=s[e+352|0],u=e+96|0,w=e- -64|0,_=e+32|0,f=0;r=t+(f<<1)|0,n=s[r+1|0],r=s[r|0],A=((n<<7)+(r<<2)|0)+7136|0,k=A+e|0,r=m(s[(r+((n<<3)+Z|0)|0)+320|0],16843009),l[k|0]=r,n=r>>>8|0,l[k+1|0]=n,o=r>>>16|0,l[k+2|0]=o,h=r>>>24|0,l[k+3|0]=h,k=A+_|0,l[k|0]=r,l[k+1|0]=n,l[k+2|0]=o,l[k+3|0]=h,k=A+w|0,l[k|0]=r,l[k+1|0]=n,l[k+2|0]=o,l[k+3|0]=h,A=A+u|0,l[A|0]=r,l[A+1|0]=n,l[A+2|0]=o,l[A+3|0]=h,f=f+1|0,(f|0)!=64;);l[e+7136|0]=s[e+416|0],f=0}return B=v+6240|0,f}function th(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=Y(0),v=0,Z=0,p=0,W=0,C=Y(0),I=0,y=0,E=0,J=0,R=Y(0),D=Y(0),z=0,H=0,a=0,S=0,q=0,d=0,A0=Y(0),f0=Y(0),n0=Y(0),h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=Y(0),Y0=Y(0),S0=0,c0=0,r2=Y(0),n2=Y(0);e=B+-64|0,B=e,A=i[r>>2],v=i[A+28>>2],p=i[A+24>>2],h=U0(A,10),t=i[i[r>>2]+36>>2],A=U(136),i[A>>2]=72792,i[A+4>>2]=0,i[A+8>>2]=0,B0(A+20|0,0,104),n=i[A+4>>2],o=n+1|0,i[A+4>>2]=o,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,u=A- -64|0,i[u>>2]=0,i[u+4>>2]=0,i[A+132>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+84>>2]=1,i[A+88>>2]=1,i[A+72>>2]=A+76,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,l[A+113|0]=0,l[A+114|0]=0,l[A+115|0]=0,l[A+116|0]=0,l[A+117|0]=0,l[A+118|0]=0,l[A+119|0]=0,l[A+120|0]=0,u=A+12|0,i[A+12>>2]=u,i[A+8>>2]=i[A+8>>2]+1,i[A+4>>2]=n,i[A+16>>2]=A,o||(V[i[i[A>>2]+8>>2]](A),g(A)),i[u+36>>2]=1,i[u+32>>2]=0,i[u+28>>2]=v,i[u+24>>2]=p,n=(v+1|0)/2|0,o=(p+1|0)/2|0;i:{r:{if(!J0(u,0,p,v,h)||!J0(u,1,o,n,h)||!J0(u,2,o,n,h))break r;e:{A:switch(o=t-13|0,o|0){case 0:case 2:break A;default:break e}if(!J0(u,6,p,v,h))break r}n=0,i[e+60>>2]=0,i[e+56>>2]=0,i[e+52>>2]=0,i[e+48>>2]=0,i[e+44>>2]=0,j=v0(i[r>>2],10,e+60|0),w=v0(u,0,e+56|0),S0=v0(u,1,e+52|0),c0=v0(u,2,e+48|0);e:switch(o|0){case 0:case 2:J=v0(u,6,e+44|0),n=i[e+44>>2]/2|0;break;default:break e}i[e+44>>2]=n,i[e+56>>2]=i[e+56>>2]/2,i[e+52>>2]=i[e+52>>2]/2,i[e+48>>2]=i[e+48>>2]/2,L=s[k+26|0],r=i[i[r>>2]+36>>2],Kr(e+4|0,Q[k+24>>1],Q[k+20>>1]);e:{if((v|0)<=0)break e;if(z=(t&-3)==13?8:6,W=-1<<h^-1,H=r&-2,o=(H|0)==14,p0=o|4,X0=o^3,G0=o|2,a=!o,S=(p|0)<=0,!S){R=Y(16<<h-8),q=o?4:5,d=i[e+56>>2],A0=Z0[e+16>>2],f0=Z0[e+12>>2],n0=Z0[e+8>>2],h0=i[e+60>>2],k=0;A:{f:switch(t-13|0){case 0:case 2:for(I=o^7,Z=o|6;;){for(y=m(i[e+44>>2],k),E=m(k,h0)+j|0,I0=w+(m(k,d)<<1)|0,n=0;;){Q0=(n<<1)+I0|0,t=m(n,z)+E|0,_=Y(Y(Y((s[t+p0|0]<<8|s[t+q|0])>>>0)*A0)+Y(Y(Y((s[t+a|0]|s[t+o|0]<<8)>>>0)*n0)+Y(f0*Y((s[t+X0|0]|s[t+G0|0]<<8)>>>0)))),_=Y((L&1?_:Y(Y(_*Y(.8554700016975403))+R))+Y(.5));k:{if(Y(d0(_))<Y(2147483648)){r=~~_;break k}r=-2147483648}if(X[Q0>>1]=(r|0)>=0?(r|0)<(W|0)?r:W:0,X[(n+y<<1)+J>>1]=s[t+I|0]|s[t+Z|0]<<8,n=n+1|0,(p|0)==(n|0))break}if(k=k+1|0,(v|0)==(k|0))break}break A;default:break f}for(;;){for(t=m(k,h0)+j|0,J=w+(m(k,d)<<1)|0,n=0;;){I=J+(n<<1)|0,r=t+m(n,z)|0,_=Y(Y(Y((s[r+p0|0]<<8|s[r+q|0])>>>0)*A0)+Y(Y(Y((s[r+a|0]|s[r+o|0]<<8)>>>0)*n0)+Y(f0*Y((s[r+X0|0]|s[r+G0|0]<<8)>>>0)))),_=Y((L&1?_:Y(Y(_*Y(.8554700016975403))+R))+Y(.5));f:{if(Y(d0(_))<Y(2147483648)){r=~~_;break f}r=-2147483648}if(X[I>>1]=(r|0)>=0?(r|0)<(W|0)?r:W:0,n=n+1|0,(p|0)==(n|0))break}if(k=k+1|0,(v|0)==(k|0))break}}if((v|0)<=0)break e}if(S)break e;for(q=(H|0)==14?4:5,R=Y((1<<h-1&65535)>>>0),h=0,d=i[e+48>>2],h0=i[e+52>>2],A0=Z0[e+40>>2],f0=Z0[e+36>>2],n0=Z0[e+32>>2],_=Z0[e+28>>2],r2=Z0[e+24>>2],n2=Z0[e+20>>2];;){for(r=h>>>1|0,J=(m(r,d)<<1)+c0|0,H=(m(r,h0)<<1)+S0|0,S=(h|1)<(v|0),k=0;;){I0=k+H|0,Z=i[e+60>>2],n=(m(Z,h)+j|0)+m(k,z)|0,r=n+p0|0,t=(k|1)<(p|0)?z:0,y=r+t|0,w=n+q|0,E=w+t|0,Q0=(s[y|0]<<8|s[E|0])+(s[w|0]|s[r|0]<<8)|0,I=r,r=S?Z:0,C=Y(Y((Q0+(s[I+r|0]<<8|s[r+w|0])|0)+(s[r+E|0]|s[r+y|0]<<8)>>>0)*Y(.25)),w=n+(t|a)|0,Z=n+(t|o)|0,y=n+a|0,E=n+o|0,F0=Y(Y((((s[w|0]|s[Z|0]<<8)+(s[y|0]|s[E|0]<<8)|0)+(s[r+y|0]|s[r+E|0]<<8)|0)+(s[r+w|0]|s[r+Z|0]<<8)>>>0)*Y(.25)),w=n+X0|0,Z=w+t|0,n=n+G0|0,t=n+t|0,Y0=Y(Y((((s[Z|0]|s[t|0]<<8)+(s[w|0]|s[n|0]<<8)|0)+(s[r+w|0]|s[r+n|0]<<8)|0)+(s[r+Z|0]|s[r+t|0]<<8)>>>0)*Y(.25)),D=Y(Y(C*_)+Y(Y(F0*n2)+Y(r2*Y0))),n=L&1,D=Y(Y((n?D:Y(D*Y(.875)))+R)+Y(.5));A:{if(Y(d0(D))<Y(2147483648)){r=~~D;break A}r=-2147483648}X[I0>>1]=(r|0)>=0?(r|0)<(W|0)?r:W:0,I=k+J|0,C=Y(Y(C*A0)+Y(Y(F0*n0)+Y(Y0*f0))),C=Y(Y((n?C:Y(C*Y(.875)))+R)+Y(.5));A:{if(Y(d0(C))<Y(2147483648)){r=~~C;break A}r=-2147483648}if(X[I>>1]=(r|0)>=0?(r|0)<(W|0)?r:W:0,k=k+2|0,!((p|0)>(k|0)))break}if(h=h+2|0,!((v|0)>(h|0)))break}}i[f+4>>2]=A,i[f>>2]=u;break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[A+4>>2],i[A+4>>2]=f-1,f)break i;V[i[i[A>>2]+8>>2]](A),g(A)}B=e- -64|0}function XA(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0,c0=0,r2=0,n2=0,s2=0,W2=0,y2=0,x2=0,T2=0,O2=0,q2=0,b2=0,e1=0,A1=0,h1=0,B1=0,p1=0,W1=0,X1=0,N1=0;i:{r:{_=i[f+276>>2],G0=(A|0)>(_|0)?_:A;e:{if((G0|0)<=(r|0)||(A=i[f+272>>2],I0=(A|0)<(k|0)?A:k,(I0|0)<=0))break e;for(S=i[f+124>>2],j=i[S+16856>>2],T2=j<<(e^1),L=i[S+16852>>2],O2=L<<e,q2=f+4|0,b2=3-j|0,e1=3-L|0,o=-1<<i[S+16840>>2]^-1,Z=i[f+44>>2],q=m(Z,3),d=Z<<1,A1=3-Z|0,h1=2-Z|0,B1=1-Z|0,p1=0-Z|0;;){for(Q0=r<<b2,A0=m(Q0,j),F0=A0-1|0,W1=(A0|0)/4|0,f0=0;;){if(n0=f0<<e1,h0=m(L,n0),A=s[(i[f+260>>2]+((h0|0)/4|0)|0)+m(i[f+272>>2],W1)|0]&3,A>>>0>1)for(X1=n0-Z|0,Y0=h0-1|0,t=1,N1=(A<<1)-2|0,A=1;;){p=i[(A<<2)+q2>>2],k=m(i[f+44>>2],Q0),_=(p+k|0)+n0|0;A:{if(!e){u=k+X1|0,A=u+p|0,E=A+3|0,k=p+(k+n0|0)|0,J=k+3|0,R=k+2|0,D=k+1|0,p=p+(u-Z|0)|0,w=p+3|0,v=p+2|0,W=p+1|0,I=k+Z|0,y=I+3|0,z=I+2|0,H=I+1|0,a=A+2|0,h=A+1|0;break A}J=_+q|0,R=_+d|0,D=_+Z|0,p=_-2|0,w=q+p|0,I=_+1|0,y=q+I|0,v=p+d|0,z=I+d|0,W=Z+p|0,H=Z+I|0,A=_-1|0,E=q+A|0,k=_,a=A+d|0,h=A+Z|0}if(n=i[f+168>>2],p0=h0>>n,(p0|0)<0||(u=i[f+172>>2],(u|0)<=(p0|0)))break r;if(X0=A0>>n,(X0|0)<0||(C=i[f+176>>2],(C|0)<=(X0|0)))break i;S0=s[w|0],c0=s[v|0],r2=s[W|0],n2=s[p|0],E=s[E|0],w=s[a|0],h=s[h|0],v=s[A|0],s2=s[y|0],W2=s[z|0],y2=s[H|0],x2=s[I|0],I=s[J|0],J=s[R|0],R=s[D|0],D=s[k|0],p=t,k=i[i[f+132>>2]+(t?32:36)>>2],z=i[f+160>>2],H=z+m(p0,3)|0,a=m(m(u,X0),3),W=H+a|0,t=l[W+2|0];A:{if(!e){if(A=F0>>n,(A|0)<0|(A|0)>=(C|0))break i;A=(H+m(m(A,u),3)|0)+2|0;break A}if(A=Y0>>n,(A|0)<0|A>>>0>=u>>>0)break r;A=(a+(z+m(A,3)|0)|0)+2|0}A=k+((t+l[A|0]|0)+1>>1)|0;A:{if(i[S+16848>>2]!=1){A=(A|0)>=51?51:A;break A}if((A|0)<30)break A;if(A>>>0<=42){A=i[(A<<2)+45912>>2];break A}A=A-6|0}if(t=i[f+148>>2],k=h0>>t,(k|0)<0||(y=i[f+152>>2],(y|0)<=(k|0)))break r;if(t=A0>>t,(t|0)<0|(t|0)>=i[f+156>>2])break i;A=i[i[i[f+52>>2]+(Q[((i[f+140>>2]+m(k,24)|0)+m(m(t,y),24)|0)+2>>1]<<2)>>2]+768>>2]+(A+N1|0)|0,A=(A|0)>=53?53:A,A=s[((A|0)>0?A:0)+43024|0]<<i[S+16840>>2]-8,y=s[S+8812|0];A:{f:{if(!e){if(t=F0>>n,y){if((t|0)<0|(t|0)>=(C|0))break i;n=!(s[(H+m(m(t,u),3)|0)+1|0]&4)}else n=1;if((t|0)<0|(t|0)>=(C|0))break i;if(k=0-A|0,C=(((D-v<<2)+n2|0)-x2|0)+4>>3,C=(k|0)>(C|0)?k:(A|0)>(C|0)?C:A,W=s[W|0]|s[W+1|0]<<8,t=n&!(s[(H+m(m(t,u),3)|0)+1|0]&8),t&&(u=v+C|0,l[_+p1|0]=(u|0)>=0?(o|0)>(u|0)?u:o:0),u=!(W&2048)&(!y|!(W&1024)),u&&(n=D-C|0,l[_|0]=(n|0)>=0?(n|0)<(o|0)?n:o:0),n=(((R-h<<2)+r2|0)-y2|0)+4>>3,n=(k|0)>(n|0)?k:(A|0)>(n|0)?n:A,t&&(h=n+h|0,l[_+B1|0]=(h|0)>=0?(o|0)>(h|0)?h:o:0),u&&(n=R-n|0,l[_+1|0]=(n|0)>=0?(n|0)<(o|0)?n:o:0),n=(((J-w<<2)+c0|0)-W2|0)+4>>3,n=(k|0)>(n|0)?k:(A|0)>(n|0)?n:A,t&&(w=n+w|0,l[_+h1|0]=(w|0)>=0?(o|0)>(w|0)?w:o:0),u&&(n=J-n|0,l[_+2|0]=(n|0)>=0?(n|0)<(o|0)?n:o:0),n=(((I-E<<2)+S0|0)-s2|0)+4>>3,A=(k|0)>(n|0)?k:(A|0)>(n|0)?n:A,t&&(k=A+E|0,l[_+A1|0]=(k|0)>=0?(k|0)<(o|0)?k:o:0),!u)break A;k=3,A=I-A|0;break f}if(t=Y0>>n,y){if((t|0)<0|t>>>0>=u>>>0)break r;n=!(s[(a+(z+m(t,3)|0)|0)+1|0]&4)}else n=1;if((t|0)<0|t>>>0>=u>>>0)break r;if(k=0-A|0,u=(((D-v<<2)+n2|0)-x2|0)+4>>3,C=(k|0)>(u|0)?k:(A|0)>(u|0)?u:A,W=s[W|0]|s[W+1|0]<<8,u=_-1|0,t=n&!(s[(a+(z+m(t,3)|0)|0)+1|0]&8),t&&(n=v+C|0,l[u|0]=(n|0)>=0?(n|0)<(o|0)?n:o:0),n=!(W&2048)&(!y|!(W&1024)),n&&(v=D-C|0,l[_|0]=(v|0)>=0?(o|0)>(v|0)?v:o:0),v=(((R-h<<2)+r2|0)-y2|0)+4>>3,v=(k|0)>(v|0)?k:(A|0)>(v|0)?v:A,t&&(h=h+v|0,l[u+Z|0]=(h|0)>=0?(o|0)>(h|0)?h:o:0),n&&(h=R-v|0,l[_+Z|0]=(h|0)>=0?(o|0)>(h|0)?h:o:0),h=(((J-w<<2)+c0|0)-W2|0)+4>>3,h=(k|0)>(h|0)?k:(A|0)>(h|0)?h:A,t&&(w=h+w|0,l[u+d|0]=(w|0)>=0?(o|0)>(w|0)?w:o:0),n&&(w=J-h|0,l[_+d|0]=(w|0)>=0?(o|0)>(w|0)?w:o:0),w=(((I-E<<2)+S0|0)-s2|0)+4>>3,A=(k|0)>(w|0)?k:(A|0)>(w|0)?w:A,t&&(k=A+E|0,l[u+q|0]=(k|0)>=0?(k|0)<(o|0)?k:o:0),!n)break A;k=q,A=I-A|0}l[k+_|0]=(A|0)>=0?(A|0)<(o|0)?A:o:0}if(A=2,t=0,!p)break}if(f0=f0+O2|0,!((I0|0)>(f0|0)))break}if(r=r+T2|0,!((G0|0)>(r|0)))break}}return}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function oh(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;h=B-16|0,B=h,n=(A|0)/8|0,t=i[r>>2],o=i[r+4>>2]-t|0,u=i[k>>2];i:{if(n>>>0>o-u>>>0){if(e=U(40),i[h+4>>2]=e,i[h+8>>2]=39,i[h+12>>2]=-2147483608,r=s[6972]|s[6973]<<8|(s[6974]<<16|s[6975]<<24),A=s[6968]|s[6969]<<8|(s[6970]<<16|s[6971]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+39|0]=0,r=s[7003]|s[7004]<<8|(s[7005]<<16|s[7006]<<24),A=s[6999]|s[7e3]<<8|(s[7001]<<16|s[7002]<<24),l[e+31|0]=A,l[e+32|0]=A>>>8,l[e+33|0]=A>>>16,l[e+34|0]=A>>>24,l[e+35|0]=r,l[e+36|0]=r>>>8,l[e+37|0]=r>>>16,l[e+38|0]=r>>>24,r=s[6996]|s[6997]<<8|(s[6998]<<16|s[6999]<<24),A=s[6992]|s[6993]<<8|(s[6994]<<16|s[6995]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[6988]|s[6989]<<8|(s[6990]<<16|s[6991]<<24),A=s[6984]|s[6985]<<8|(s[6986]<<16|s[6987]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[6980]|s[6981]<<8|(s[6982]<<16|s[6983]<<24),A=s[6976]|s[6977]<<8|(s[6978]<<16|s[6979]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,136,h+4|0),l[h+15|0]>=0)break i;G(i[h+4>>2]);break i}t=t+u|0,w=s[t|0],_=s[t+1|0];r:{if((A|0)==32){_=s[t+3|0]|(_<<16|w<<24|s[t+2|0]<<8),t=4;break r}_=_|w<<8,t=2}if(t=t+u|0,i[k>>2]=t,u=o-t|0,t=q0(n,n>>31,_,0),n=w0<<1|t>>>31,t=t<<1,!n&t>>>0<=u>>>0){r:{if(!_)break r;W=(A|0)!=32;e:{for(;;){A=i[k>>2],n=A+i[r>>2]|0,t=s[n|0],u=s[n+1|0];A:{if(!W){w=s[n+3|0],o=s[n+2|0],n=A+4|0,i[k>>2]=n,n=n+i[r>>2]|0,n=s[n|0]|s[n+1|0]<<8|(s[n+2|0]<<16|s[n+3|0]<<24),n=n<<24|(n&65280)<<8|(n>>>8&65280|n>>>24),u=u<<16|t<<24|o<<8|w,A=A+8|0;break A}n=A+2|0,i[k>>2]=n,u=(u<<16|t<<24)>>16,n=n+i[r>>2]|0,n=(s[n+1|0]<<16|s[n|0]<<24)>>16,A=A+4|0}i[k>>2]=A;A:{A=i[e+12>>2],o=i[e+16>>2];f:{if(A>>>0<o>>>0){i[A>>2]=u,i[A+4>>2]=n,u=A+8|0;break f}if(w=i[e+8>>2],Z=A-w>>3,t=Z+1|0,t>>>0>=536870912)break A;if(o=o-w|0,v=o>>2,v=o>>>0>=2147483640?536870911:t>>>0<v>>>0?v:t,v){if(v>>>0>=536870912)break e;t=U(v<<3)}else t=0;if(o=t+(Z<<3)|0,i[o>>2]=u,i[o+4>>2]=n,u=o+8|0,(A|0)!=(w|0)){for(;A=A-8|0,Z=i[A+4>>2],o=o-8|0,n=o,i[n>>2]=i[A>>2],i[n+4>>2]=Z,(A|0)!=(w|0););w=i[e+8>>2]}if(i[e+16>>2]=t+(v<<3),i[e+12>>2]=u,i[e+8>>2]=o,!w)break f;G(w)}if(i[e+12>>2]=u,p=p+1|0,(p|0)!=(_|0))continue;break r}break}y0(),P()}_2(),P()}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567]);break i}if(e=U(40),i[h+4>>2]=e,i[h+8>>2]=39,i[h+12>>2]=-2147483608,r=s[6972]|s[6973]<<8|(s[6974]<<16|s[6975]<<24),A=s[6968]|s[6969]<<8|(s[6970]<<16|s[6971]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+39|0]=0,r=s[7003]|s[7004]<<8|(s[7005]<<16|s[7006]<<24),A=s[6999]|s[7e3]<<8|(s[7001]<<16|s[7002]<<24),l[e+31|0]=A,l[e+32|0]=A>>>8,l[e+33|0]=A>>>16,l[e+34|0]=A>>>24,l[e+35|0]=r,l[e+36|0]=r>>>8,l[e+37|0]=r>>>16,l[e+38|0]=r>>>24,r=s[6996]|s[6997]<<8|(s[6998]<<16|s[6999]<<24),A=s[6992]|s[6993]<<8|(s[6994]<<16|s[6995]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[6988]|s[6989]<<8|(s[6990]<<16|s[6991]<<24),A=s[6984]|s[6985]<<8|(s[6986]<<16|s[6987]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[6980]|s[6981]<<8|(s[6982]<<16|s[6983]<<24),A=s[6976]|s[6977]<<8|(s[6978]<<16|s[6979]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,136,h+4|0),l[h+15|0]>=0)break i;G(i[h+4>>2])}B=h+16|0}function GA(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0;i:{r:{n=i[f+276>>2],D=(A|0)>(n|0)?n:A;e:{if((D|0)<=(r|0)||(A=i[f+272>>2],z=(A|0)<(k|0)?A:k,(z|0)<=0))break e;for(S=e?16:32,q=e?80:160,d=e?1:2,A0=e?2:1,f0=e-1|0,n0=0-e|0;;){for(I=r<<2,y=f0+I|0,H=I>>2,A=0;;){A:{f:{k:{if(k=A<<2,a=k>>2,_=(a+i[f+260>>2]|0)+m(i[f+272>>2],H)|0,t=s[_|0],t&q){if(n=k+n0|0,e=i[f+168>>2],u=n>>e,(u|0)<0||(o=i[f+172>>2],(o|0)<=(u|0)))break r;if(h=y>>e,(h|0)<0||(w=i[f+176>>2],(w|0)<=(h|0)))break i;if(v=k>>e,(v|0)<0|o>>>0<=v>>>0)break r;if(Z=I>>e,(Z|0)<0|(w|0)<=(Z|0))break i;e=2,w=m(u,3),u=i[f+160>>2],h=(w+u|0)+m(m(o,h),3)|0;n:{if(!((s[h|0]|s[h+1|0]<<8)&768)||(o=(u+m(v,3)|0)+m(m(o,Z),3)|0,!((s[o|0]|s[o+1|0]<<8)&768)))break n;if(t&S){if(o=i[f+248>>2],h=k>>o,(h|0)<0||(u=i[f+252>>2],(u|0)<=(h|0)))break r;if(v=I>>o,(v|0)<0||(Z=i[f+256>>2],(Z|0)<=(v|0)))break i;if(e=1,w=i[f+240>>2],l[(w+h|0)+m(u,v)|0]<0)break n;if(h=n>>o,(h|0)<0|u>>>0<=h>>>0)break r;if(o=y>>o,(o|0)<0|(o|0)>=(Z|0))break i;if(l[(h+w|0)+m(o,u)|0]<0)break n}if(e=i[f+188>>2],h=n>>e,(h|0)<0||(o=i[f+192>>2],(o|0)<=(h|0)))break r;if(v=y>>e,(v|0)<0||(u=i[f+196>>2],(u|0)<=(v|0)))break i;if(Z=k>>e,(Z|0)<0|o>>>0<=Z>>>0)break r;if(w=I>>e,(w|0)<0|(u|0)<=(w|0))break i;if(e=n,n=i[f+148>>2],p=e>>n,(p|0)<0||(u=i[f+152>>2],(u|0)<=(p|0)))break r;if(W=y>>n,(W|0)<0||(E=i[f+156>>2],(E|0)<=(W|0)))break i;if(e=0,C=i[f+52>>2],J=i[f+56>>2]-C>>2,R=m(p,24),p=i[f+140>>2],W=Q[((R+p|0)+m(m(u,W),24)|0)+2>>1],J>>>0>W>>>0&&(e=i[C+(W<<2)>>2]),k=k>>n,(k|0)<0|k>>>0>=u>>>0)break r;if(n=I>>n,(n|0)<0|(n|0)>=(E|0))break i;if(k=Q[((p+m(k,24)|0)+m(m(n,u),24)|0)+2>>1],k>>>0>=J>>>0){e=0;break n}if(!e){e=0;break n}if(p=i[C+(k<<2)>>2],!p){e=0;break n}if(n=i[f+180>>2],k=(n+m(h,12)|0)+m(m(o,v),12)|0,h=l[k+2|0],(h|0)>16||(W=l[k+3|0],(W|0)>16)||(n=(n+m(Z,12)|0)+m(m(o,w),12)|0,w=l[n+2|0],(w|0)>16)||(C=l[n+3|0],(C|0)>16))break f;if(u=-1,t=-1,Z=s[k|0],t=Z?i[((h<<2)+e|0)+924>>2]:t,v=s[k+1|0],u=v?i[((W<<2)+e|0)+988>>2]:u,_=-1,o=-1,h=s[n|0],o=h?i[(p+(w<<2)|0)+924>>2]:o,w=s[n+1|0],_=w?i[(p+(C<<2)|0)+988>>2]:_,!((t|0)==(o|0)&(_|0)==(u|0))&&(e=1,(t|0)!=(_|0)|(o|0)!=(u|0)))break n;e=Q[n+8>>1],p=Q[n+10>>1],W=Q[n+4>>1],n=Q[n+6>>1],C=Q[k+8>>1],E=Q[k+10>>1],J=Q[k+4>>1],R=Q[k+6>>1],(v+Z|0)!=(h+w|0)&&(v2(i[f+112>>2]+4|0,1013,0),l[f+312|0]=3),e=w?e:0,k=w?p:0,w=h?W:0,n=h?n:0,h=v?C:0,v=v?E:0,p=Z?J:0,Z=Z?R:0;t:{if((t|0)!=(u|0)){if(u=p<<16>>16,(t|0)!=(o|0)){if(t=u-(e<<16>>16)|0,e=t>>31,(e^t)-e>>>0>3||(k=(Z<<16>>16)-(k<<16>>16)|0,e=k>>31,(e^k)-e>>>0>3)||(k=(h<<16>>16)-(w<<16>>16)|0,e=k>>31,(e^k)-e>>>0>3)||(e=0,n=(v<<16>>16)-(n<<16>>16)|0,k=n>>31,(k^n)-k>>>0>=4))break t;break n}if(o=u-(w<<16>>16)|0,t=o>>31,(t^o)-t>>>0>3||(t=(Z<<16>>16)-(n<<16>>16)|0,n=t>>31,(n^t)-n>>>0>3)||(n=(h<<16>>16)-(e<<16>>16)|0,e=n>>31,(e^n)-e>>>0>3)||(e=0,n=(v<<16>>16)-(k<<16>>16)|0,k=n>>31,(k^n)-k>>>0>=4))break t;break n}if((o|0)!=(_|0))break k;o=p<<16>>16,u=w<<16>>16,_=o-u|0,t=_>>31;o:{if((t^_)-t>>>0>3||(_=(Z<<16>>16)-(n<<16>>16)|0,t=_>>31,(t^_)-t>>>0>3)||(_=(h<<16>>16)-(e<<16>>16)|0,t=_>>31,(t^_)-t>>>0>3)||(_=(v<<16>>16)-(k<<16>>16)|0,t=_>>31,(t^_)-t>>>0>=4))break o;e=0;break n}if(t=o-(e<<16>>16)|0,e=t>>31,(e^t)-e>>>0>3||(k=(Z<<16>>16)-(k<<16>>16)|0,e=k>>31,(e^k)-e>>>0>3)||(k=(h<<16>>16)-u|0,e=k>>31,(e^k)-e>>>0>3))break t;if(e=0,n=(v<<16>>16)-(n<<16>>16)|0,k=n>>31,(k^n)-k>>>0<4)break n}e=1}k=(i[f+260>>2]+a|0)+m(i[f+272>>2],H)|0,l[k|0]=s[k|0]&252|e;break A}l[_|0]=t&252;break A}C0(16975,14016,355,8358),P()}l[_|0]=t&252}if(A=A+A0|0,!((z|0)>(A|0)))break}if(r=r+d|0,!((D|0)>(r|0)))break}}return}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function lh(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0;o=B-16|0,B=o,i[o+12>>2]=e,i[k>>2]=0,u=i[A+28>>2],i[o>>2]=u,(u|0)!=100008&&(i[u+4>>2]=i[u+4>>2]+1),u=x0(o,100192),O0(o);i:{r:{e:{A:switch(t-65|0){case 0:case 32:mt(f,n+24|0,o+12|0,r,k,u);break r;case 1:case 33:case 39:st(f,n+16|0,o+12|0,r,k,u);break r;case 34:e=V[i[i[f+8>>2]+12>>2]](f+8|0)|0,t=f,h=i[o+12>>2],s[e+11|0]>>>7|0?f=i[e>>2]:f=e,u=f,s[e+11|0]>>>7|0?f=i[e>>2]:f=e,s[e+11|0]>>>7|0?e=i[e+4>>2]:e=s[e+11|0]&127,w=o,_=B8(t,h,r,A,k,n,u,f+e|0),i[w+12>>2]=_;break r;case 35:case 36:f=q4(o+12|0,r,k,u,2),e=i[k>>2];f:{if(!(f-1>>>0>30|e&4)){i[n+12>>2]=f;break f}i[k>>2]=e|4}break r;case 3:i[o>>2]=623865125,i[o+4>>2]=2032480100,w=o,_=B8(f,e,r,A,k,n,o,o+8|0),i[w+12>>2]=_;break r;case 5:i[o>>2]=623728933,i[o+4>>2]=1680158061,w=o,_=B8(f,e,r,A,k,n,o,o+8|0),i[w+12>>2]=_;break r;case 7:f=q4(o+12|0,r,k,u,2),e=i[k>>2];f:{if(!((f|0)>23|e&4)){i[n+8>>2]=f;break f}i[k>>2]=e|4}break r;case 8:f=q4(o+12|0,r,k,u,2),e=i[k>>2];f:{if(!(f-1>>>0>11|e&4)){i[n+8>>2]=f;break f}i[k>>2]=e|4}break r;case 41:f=q4(o+12|0,r,k,u,3),e=i[k>>2];f:{if(!((f|0)>365|e&4)){i[n+28>>2]=f;break f}i[k>>2]=e|4}break r;case 44:e=q4(o+12|0,r,k,u,2)-1|0,f=i[k>>2];f:{if(!(e>>>0>11|f&4)){i[n+16>>2]=e;break f}i[k>>2]=f|4}break r;case 12:f=q4(o+12|0,r,k,u,2),e=i[k>>2];f:{if(!((f|0)>59|e&4)){i[n+4>>2]=f;break f}i[k>>2]=e|4}break r;case 45:case 51:for(f=o+12|0,e=B-16|0,B=e,i[e+12>>2]=r;;){f:{if(J2(f,e+12|0))break f;r=i[f>>2],A=i[r+12>>2];k:{if((A|0)==i[r+16>>2]){r=V[i[i[r>>2]+36>>2]](r)|0;break k}r=s[A|0]}if(r=r<<24>>24,(r|0)>=0?r=i[i[u+8>>2]+(r<<2)>>2]&1:r=0,!r)break f;E1(f);continue}break}J2(f,e+12|0)&&(i[k>>2]=i[k>>2]|2),B=e+16|0;break r;case 47:t=o+12|0,e=V[i[i[f+8>>2]+8>>2]](f+8|0)|0;f:{if(s[e+11|0]>>>7|0){f=i[e+4>>2];break f}f=s[e+11|0]&127}s[e+23|0]>>>7|0?A=i[e+16>>2]:A=s[e+23|0]&127;f:{if((f|0)==(0-A|0)){i[k>>2]=i[k>>2]|4;break f}if(r=Nr(t,r,e,e+24|0,u,k,0),f=i[n+8>>2],!((r|0)!=(e|0)|(f|0)!=12)){i[n+8>>2]=0;break f}(r-e|0)!=12|(f|0)>11||(i[n+8>>2]=f+12)}break r;case 49:t=s[60104]|s[60105]<<8|(s[60106]<<16|s[60107]<<24),l[o+7|0]=t,l[o+8|0]=t>>>8,l[o+9|0]=t>>>16,l[o+10|0]=t>>>24,t=s[60101]|s[60102]<<8|(s[60103]<<16|s[60104]<<24),i[o>>2]=s[60097]|s[60098]<<8|(s[60099]<<16|s[60100]<<24),i[o+4>>2]=t,w=o,_=B8(f,e,r,A,k,n,o,o+11|0),i[w+12>>2]=_;break r;case 17:l[o+4|0]=s[60112],i[o>>2]=s[60108]|s[60109]<<8|(s[60110]<<16|s[60111]<<24),w=o,_=B8(f,e,r,A,k,n,o,o+5|0),i[w+12>>2]=_;break r;case 18:f=q4(o+12|0,r,k,u,2),e=i[k>>2];f:{if(!((f|0)>60|e&4)){i[n>>2]=f;break f}i[k>>2]=e|4}break r;case 19:i[o>>2]=624576549,i[o+4>>2]=1394948685,w=o,_=B8(f,e,r,A,k,n,o,o+8|0),i[w+12>>2]=_;break r;case 54:f=q4(o+12|0,r,k,u,1),e=i[k>>2];f:{if(!((f|0)>6|e&4)){i[n+24>>2]=f;break f}i[k>>2]=e|4}break r;case 55:f=V[i[i[f>>2]+20>>2]](f,e,r,A,k,n)|0;break i;case 23:e=V[i[i[f+8>>2]+24>>2]](f+8|0)|0,t=f,h=i[o+12>>2],s[e+11|0]>>>7|0?f=i[e>>2]:f=e,u=f,s[e+11|0]>>>7|0?f=i[e>>2]:f=e,s[e+11|0]>>>7|0?e=i[e+4>>2]:e=s[e+11|0]&127,w=o,_=B8(t,h,r,A,k,n,u,f+e|0),i[w+12>>2]=_;break r;case 56:Et(n+20|0,o+12|0,r,k,u);break r;case 24:f=q4(o+12|0,r,k,u,4),s[k|0]&4||(i[n+20>>2]=f-1900);break r;default:if((t|0)==37)break e;break;case 2:case 4:case 6:case 9:case 10:case 11:case 13:case 14:case 15:case 16:case 20:case 21:case 22:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 37:case 38:case 40:case 42:case 43:case 46:case 48:case 50:case 52:case 53:break A}i[k>>2]=i[k>>2]|4;break r}f=B-16|0,B=f,i[f+12>>2]=r,r=o+12|0,n=f+12|0,e=6;e:{A:{if(J2(r,n))break A;e=i[r>>2],A=i[e+12>>2];f:{if((A|0)==i[e+16>>2]){A=V[i[i[e>>2]+36>>2]](e)|0;break f}A=s[A|0]}if(e=4,(V[i[i[u>>2]+36>>2]](u,A<<24>>24,0)|0)!=37)break A;if(!J2(E1(r),n))break e;e=2}i[k>>2]=e|i[k>>2]}B=f+16|0}f=i[o+12>>2]}return B=o+16|0,f|0}function uh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0;e=B-32|0,B=e,t=U0(i[r>>2],0),u=U0(i[r>>2],1),h=U0(i[r>>2],2),D=H2(i[r>>2],6),D&&(p=U0(i[r>>2],6));i:{if(!(!(t>>>0<9|u>>>0<9)&h>>>0>8)){i[f>>2]=0,i[f+4>>2]=0;break i}if(!((t|0)==(u|0)&(t|0)==(h|0))){i[f>>2]=0,i[f+4>>2]=0;break i}A=i[r>>2],W=i[A+48>>2],W&&(i[W+4>>2]=i[W+4>>2]+1,A=i[r>>2]),k=i[A+28>>2],o=i[A+24>>2],A=U(136),i[A>>2]=72792,i[A+4>>2]=0,i[A+8>>2]=0,B0(A+20|0,0,104),w=i[A+4>>2],C=w+1|0,i[A+4>>2]=C,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,n=A- -64|0,i[n>>2]=0,i[n+4>>2]=0,i[A+132>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+84>>2]=1,i[A+88>>2]=1,i[A+72>>2]=A+76,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,l[A+113|0]=0,l[A+114|0]=0,l[A+115|0]=0,l[A+116|0]=0,l[A+117|0]=0,l[A+118|0]=0,l[A+119|0]=0,l[A+120|0]=0,n=A+12|0,i[A+12>>2]=n,i[A+8>>2]=i[A+8>>2]+1,i[A+4>>2]=w,i[A+16>>2]=A,C||(V[i[i[A>>2]+8>>2]](A),g(A)),i[n+36>>2]=3,i[n+32>>2]=0,i[n+28>>2]=k,i[n+24>>2]=o;r:{e:{if(!J0(n,0,o,k,t)||!J0(n,1,o,k,u)||!J0(n,2,o,k,h)||D&&!J0(n,6,o,k,p))break e;u=0,i[e+28>>2]=0,i[e+24>>2]=0,i[e+20>>2]=0,i[e+16>>2]=0,i[e+12>>2]=0,i[e+8>>2]=0,i[e+4>>2]=0,i[e>>2]=0,z=v0(i[r>>2],0,e+28|0),C=v0(i[r>>2],1,e+24|0),y=v0(i[r>>2],2,e+20|0),H=v0(n,0,e+12|0),E=v0(n,1,e+8|0),J=v0(n,2,e+4|0),t=0,D?(f0=v0(i[r>>2],6,e+16|0),n0=v0(n,6,e),u=i[e>>2]/2|0,r=i[e+16>>2]/2|0):r=0,i[e+16>>2]=r,i[e>>2]=u,i[e+28>>2]=i[e+28>>2]/2,u=i[e+24>>2]/2|0,i[e+24>>2]=u,h=i[e+20>>2]/2|0,i[e+20>>2]=h,i[e+12>>2]=i[e+12>>2]/2,p=i[e+8>>2]/2|0,i[e+8>>2]=p,w=i[e+4>>2]/2|0,i[e+4>>2]=w;A:{if((k|0)<=0)break A;if(r=0,(k|0)!=1)for(_=k&2147483646;X[(m(r,p)<<1)+E>>1]=Q[C+(m(r,u)<<1)>>1],X[(m(r,w)<<1)+J>>1]=Q[(m(r,h)<<1)+y>>1],v=r|1,X[(m(v,p)<<1)+E>>1]=Q[C+(m(u,v)<<1)>>1],X[(m(v,w)<<1)+J>>1]=Q[(m(h,v)<<1)+y>>1],r=r+2|0,t=t+2|0,(_|0)!=(t|0););if(!(k&1))break A;X[(m(r,p)<<1)+E>>1]=Q[C+(m(r,u)<<1)>>1],X[(m(r,w)<<1)+J>>1]=Q[(m(r,h)<<1)+y>>1]}A:{f:{if(o&1)break f;if((k|0)<=0)break A;if(t=(o+y|0)-2|0,v=(o+C|0)-2|0,r=o<<1,_=(r+J|0)-2|0,R=(r+E|0)-2|0,r=0,(k|0)!=1)for(S=k&2147483646;X[R+(m(r,p)<<1)>>1]=Q[v+(m(r,u)<<1)>>1],X[_+(m(r,w)<<1)>>1]=Q[t+(m(r,h)<<1)>>1],I=r|1,X[R+(m(I,p)<<1)>>1]=Q[v+(m(u,I)<<1)>>1],X[_+(m(w,I)<<1)>>1]=Q[t+(m(h,I)<<1)>>1],r=r+2|0,a=a+2|0,(S|0)!=(a|0););if(!(k&1))break f;X[R+(m(r,p)<<1)>>1]=Q[v+(m(r,u)<<1)>>1],X[_+(m(r,w)<<1)>>1]=Q[t+(m(r,h)<<1)>>1]}if((k|0)<=0)break A;if((o|0)>=3){for(R=o-1|0,t=0;;){for(I=(m(t,w)<<1)+J|0,S=(m(t,p)<<1)+E|0,a=(m(t,h)<<1)+y|0,h0=C+(m(t,u)<<1)|0,r=1;Z=r&-2,_=Z+a|0,v=Q[_>>1],_=Q[_+2>>1],q=r<<1,d=S+q|0,Z=Z+h0|0,A0=Q[Z>>1],Z=Q[Z+2>>1],X[d>>1]=(m(A0,3)+Z|0)+2>>>2,X[d+2>>1]=(m(Z,3)+A0|0)+2>>>2,Z=I+q|0,X[Z+2>>1]=(v+m(_,3)|0)+2>>>2,X[Z>>1]=(_+m(v,3)|0)+2>>>2,r=r+2|0,(R|0)>(r|0););if(t=t+1|0,(t|0)==(k|0))break}if((k|0)<=0)break A}if(o=o<<1,D){for(r=0;l0((m(i[e+12>>2],r)<<1)+H|0,(m(i[e+28>>2],r)<<1)+z|0,o),l0((m(i[e>>2],r)<<1)+n0|0,(m(i[e+16>>2],r)<<1)+f0|0,o),r=r+1|0,(k|0)!=(r|0););break A}if(r=0,(k|0)!=1)for(u=k&2147483646,t=0;l0((m(i[e+12>>2],r)<<1)+H|0,(m(i[e+28>>2],r)<<1)+z|0,o),h=r|1,l0((m(h,i[e+12>>2])<<1)+H|0,(m(h,i[e+28>>2])<<1)+z|0,o),r=r+2|0,t=t+2|0,(u|0)!=(t|0););if(!(k&1))break A;l0((m(i[e+12>>2],r)<<1)+H|0,(m(i[e+28>>2],r)<<1)+z|0,o)}i[f+4>>2]=A,i[f>>2]=n;break r}if(i[f>>2]=0,i[f+4>>2]=0,f=i[A+4>>2],i[A+4>>2]=f-1,f)break r;V[i[i[A>>2]+8>>2]](A),g(A)}if(!W||(f=i[W+4>>2],i[W+4>>2]=f-1,f))break i;V[i[i[W>>2]+8>>2]](W),g(W)}B=e+32|0}function Wi(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;t=B-48|0,B=t;i:{r:{e:{A:switch(k=i[e>>2],i[k+32>>2]){case 1:break r;case 0:break e;case 2:break A;default:break i}Jr(i[f+48>>2],r,U0(k,0),0,0);break i}Jr(i[f+48>>2],r,U0(k,0),U0(k,1),U0(k,2));break i}if(A=i[k+36>>2],(A|0)==3){Jr(i[f+48>>2],r,U0(k,3),U0(k,4),U0(k,5));break i}if((A&-2)!=10)break i;Jr(i[f+48>>2],r,8,8,8)}i:{if(i[k+72>>2]==i[k+76>>2])break i;n=U(72),i[n+4>>2]=0,i[n+8>>2]=0,i[n>>2]=71744,A=n+16|0,i[A+8>>2]=0,i[A+12>>2]=0,i[A+16>>2]=0,i[A+20>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+32>>2]=0,i[A>>2]=68500,i[n+60>>2]=0,i[n+52>>2]=0,i[n+56>>2]=0,i[A>>2]=69732,i[n+32>>2]=1885434736,i[n+64>>2]=i[k+72>>2],i[n+68>>2]=i[k+76>>2],k=i[f+48>>2],o=i[k+44>>2],k=i[k+48>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),i[t+44>>2]=n,i[t+40>>2]=A,i[n+4>>2]=i[n+4>>2]+1,o=N4(o,t+40|0),A=i[t+44>>2];r:{if(!A||(u=i[A+4>>2],i[A+4>>2]=u-1,u))break r;V[i[i[A>>2]+8>>2]](A),g(A)}r:{if(!k||(A=i[k+4>>2],i[k+4>>2]=A-1,A))break r;V[i[i[k>>2]+8>>2]](k),g(k)}A=i[f+48>>2],k=i[A+52>>2],A=i[A+56>>2];r:{if(A){if(i[A+4>>2]=i[A+4>>2]+1,X[t+38>>1]=o+1,l[t+36|0]=0,i[t+24>>2]=Q[t+36>>1]|Q[t+38>>1]<<16,c1(k,r,t+24|0),k=i[A+4>>2],i[A+4>>2]=k-1,k)break r;V[i[i[A>>2]+8>>2]](A),g(A);break r}l[t+36|0]=0,X[t+38>>1]=o+1,i[t+20>>2]=Q[t+36>>1]|Q[t+38>>1]<<16,c1(k,r,t+20|0)}if(A=i[n+4>>2],i[n+4>>2]=A-1,A)break i;V[i[i[n>>2]+8>>2]](n),g(n)}k=i[e>>2];i:{if(!(Q[k+80>>1]|Q[k+82>>1]))break i;n=U(72),i[n+4>>2]=0,i[n+8>>2]=0,i[n>>2]=71904,A=n+16|0,i[A+8>>2]=0,i[A+12>>2]=0,i[A+16>>2]=0,i[A+20>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+32>>2]=0,i[A>>2]=68500,i[n+60>>2]=0,i[n+52>>2]=0,i[n+56>>2]=0,i[A>>2]=69852,i[n+64>>2]=0,i[n+32>>2]=1668050025,i[n+64>>2]=i[k+80>>2],k=i[f+48>>2],o=i[k+44>>2],k=i[k+48>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),i[t+44>>2]=n,i[t+40>>2]=A,i[n+4>>2]=i[n+4>>2]+1,o=N4(o,t+40|0),A=i[t+44>>2];r:{if(!A||(u=i[A+4>>2],i[A+4>>2]=u-1,u))break r;V[i[i[A>>2]+8>>2]](A),g(A)}r:{if(!k||(A=i[k+4>>2],i[k+4>>2]=A-1,A))break r;V[i[i[k>>2]+8>>2]](k),g(k)}A=i[f+48>>2],k=i[A+52>>2],A=i[A+56>>2];r:{if(A){if(i[A+4>>2]=i[A+4>>2]+1,X[t+34>>1]=o+1,l[t+32|0]=0,i[t+16>>2]=Q[t+32>>1]|Q[t+34>>1]<<16,c1(k,r,t+16|0),k=i[A+4>>2],i[A+4>>2]=k-1,k)break r;V[i[i[A>>2]+8>>2]](A),g(A);break r}l[t+32|0]=0,X[t+34>>1]=o+1,i[t+12>>2]=Q[t+32>>1]|Q[t+34>>1]<<16,c1(k,r,t+12|0)}if(A=i[n+4>>2],i[n+4>>2]=A-1,A)break i;V[i[i[n>>2]+8>>2]](n),g(n)}k=i[e>>2];i:{if(s[k+108|0]!=1)break i;n=U(88),i[n+4>>2]=0,i[n+8>>2]=0,i[n>>2]=71944,A=n+16|0,i[A+16>>2]=0,i[A+20>>2]=0,i[A+8>>2]=0,i[A+12>>2]=0,i[A+40>>2]=0,i[A+44>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+32>>2]=0,i[A+36>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,o=A- -64|0,i[o>>2]=0,i[o+4>>2]=0,i[A+16>>2]=1835295606,i[A>>2]=68524,o=i[k+92>>2],u=i[k+96>>2],h=i[k+84>>2],w=i[k+88>>2],_=i[k+104>>2],i[n+80>>2]=i[k+100>>2],i[n+84>>2]=_,i[n+72>>2]=o,i[n+76>>2]=u,i[n+64>>2]=h,i[n+68>>2]=w,k=i[f+48>>2],o=i[k+44>>2],k=i[k+48>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),i[t+44>>2]=n,i[t+40>>2]=A,i[n+4>>2]=i[n+4>>2]+1,o=N4(o,t+40|0),A=i[t+44>>2];r:{if(!A||(u=i[A+4>>2],i[A+4>>2]=u-1,u))break r;V[i[i[A>>2]+8>>2]](A),g(A)}r:{if(!k||(A=i[k+4>>2],i[k+4>>2]=A-1,A))break r;V[i[i[k>>2]+8>>2]](k),g(k)}f=i[f+48>>2],A=i[f+52>>2],f=i[f+56>>2];r:{if(f){if(i[f+4>>2]=i[f+4>>2]+1,X[t+30>>1]=o+1,l[t+28|0]=0,i[t+8>>2]=Q[t+28>>1]|Q[t+30>>1]<<16,c1(A,r,t+8|0),r=i[f+4>>2],i[f+4>>2]=r-1,r)break r;V[i[i[f>>2]+8>>2]](f),g(f);break r}l[t+28|0]=0,X[t+30>>1]=o+1,i[t+4>>2]=Q[t+28>>1]|Q[t+30>>1]<<16,c1(A,r,t+4|0)}if(f=i[n+4>>2],i[n+4>>2]=f-1,f)break i;V[i[i[n>>2]+8>>2]](n),g(n)}f=i[e+4>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=t+48|0}function sh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0,n0=0,h0=0,j=0,L=0,p0=0;e=B-32|0,B=e,u=U0(i[r>>2],0),h=U0(i[r>>2],1),v=U0(i[r>>2],2),z=H2(i[r>>2],6),z&&(I=U0(i[r>>2],6));i:{if(!(!(u>>>0<9|h>>>0<9)&v>>>0>8)){i[f>>2]=0,i[f+4>>2]=0;break i}if(!((u|0)==(h|0)&(u|0)==(v|0))){i[f>>2]=0,i[f+4>>2]=0;break i}A=i[r>>2],Z=i[A+48>>2],Z&&(i[Z+4>>2]=i[Z+4>>2]+1,A=i[r>>2]),k=i[A+28>>2],o=i[A+24>>2],A=U(136),i[A>>2]=72792,i[A+4>>2]=0,i[A+8>>2]=0,B0(A+20|0,0,104),t=i[A+4>>2],w=t+1|0,i[A+4>>2]=w,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,n=A- -64|0,i[n>>2]=0,i[n+4>>2]=0,i[A+132>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+84>>2]=1,i[A+88>>2]=1,i[A+72>>2]=A+76,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,l[A+113|0]=0,l[A+114|0]=0,l[A+115|0]=0,l[A+116|0]=0,l[A+117|0]=0,l[A+118|0]=0,l[A+119|0]=0,l[A+120|0]=0,n=A+12|0,i[A+12>>2]=n,i[A+8>>2]=i[A+8>>2]+1,i[A+4>>2]=t,i[A+16>>2]=A,w||(V[i[i[A>>2]+8>>2]](A),g(A)),i[n+36>>2]=1,i[n+32>>2]=0,i[n+28>>2]=k,i[n+24>>2]=o,t=(k+1|0)/2|0,p=(o+1|0)/2|0;r:{e:{if(!J0(n,0,o,k,u)||!J0(n,1,p,t,h)||!J0(n,2,p,t,v)||z&&!J0(n,6,o,k,I))break e;if(i[e+28>>2]=0,i[e+24>>2]=0,i[e+20>>2]=0,i[e+16>>2]=0,i[e+12>>2]=0,i[e+8>>2]=0,i[e+4>>2]=0,i[e>>2]=0,H=v0(i[r>>2],0,e+28|0),v=v0(i[r>>2],1,e+24|0),I=v0(i[r>>2],2,e+20|0),a=v0(n,0,e+12|0),S=v0(n,1,e+8|0),q=v0(n,2,e+4|0),z&&(h0=v0(i[r>>2],6,e+16|0),j=v0(n,6,e)),i[e+28>>2]=i[e+28>>2]/2,u=i[e+24>>2]/2|0,i[e+24>>2]=u,h=i[e+20>>2]/2|0,i[e+20>>2]=h,i[e+16>>2]=i[e+16>>2]/2,i[e+12>>2]=i[e+12>>2]/2,E=i[e+8>>2]/2|0,i[e+8>>2]=E,J=i[e+4>>2]/2|0,i[e+4>>2]=J,i[e>>2]=i[e>>2]/2,d=k&1,!(!d|(o|0)<2))for(w=o-1|0,r=k-1|0,y=m(r,h),W=m(r,u),r=t-1|0,R=(m(r,J)<<1)+q|0,D=(m(r,E)<<1)+S|0,r=0;_=v+(r+W<<1)|0,X[r+D>>1]=(Q[_>>1]+Q[_+2>>1]|0)+1>>>1,_=I+(r+y<<1)|0,X[r+R>>1]=(Q[_>>1]+Q[_+2>>1]|0)+1>>>1,r=r+2|0,(w|0)>(r|0););w=k-1|0;A:{if(!(o&1))break A;if((k|0)>=2)for(r=p<<1,R=(r+q|0)-2|0,W=o<<1,y=(W+I|0)-2|0,D=(r+S|0)-2|0,W=(v+W|0)-2|0,r=0;_=r>>>1|0,C=r|1,X[D+(m(_,E)<<1)>>1]=(Q[W+(m(r,u)<<1)>>1]+Q[W+(m(C,u)<<1)>>1]|0)+1>>>1,X[R+(m(_,J)<<1)>>1]=(Q[y+(m(r,h)<<1)>>1]+Q[y+(m(h,C)<<1)>>1]|0)+1>>>1,r=r+2|0,(w|0)>(r|0););if(!d)break A;r=t-1|0,t=p<<1,p=o<<1,X[(((m(r,E)<<1)+S|0)+t|0)-2>>1]=Q[(p+(v+(m(u,w)<<1)|0)|0)-2>>1],X[(t+((m(r,J)<<1)+q|0)|0)-2>>1]=Q[(p+(I+(m(h,w)<<1)|0)|0)-2>>1]}A:{f:{if((k|0)>=2){if((o|0)<2)break f;for(p=o-1|0,t=0;;){for(y=m(t,h),W=m(t,u),r=t>>>1|0,d=(m(r,J)<<1)+q|0,R=(m(r,E)<<1)+S|0,r=t|1,D=I+(m(r,h)<<1)|0,_=v+(m(r,u)<<1)|0,r=0;C=r<<1,A0=C+D|0,L=Q[A0+2>>1],A0=Q[A0>>1],f0=I+(r+y<<1)|0,p0=Q[f0>>1],f0=Q[f0+2>>1],C=_+C|0,n0=v+(r+W<<1)|0,X[r+R>>1]=((Q[C>>1]+(Q[n0>>1]+Q[n0+2>>1]|0)|0)+Q[C+2>>1]|0)+2>>>2,X[r+d>>1]=((A0+(f0+p0|0)|0)+L|0)+2>>>2,r=r+2|0,(p|0)>(r|0););if(t=t+2|0,!((w|0)>(t|0)))break}}if((k|0)<=0)break A}if(o=o<<1,z){for(r=0;l0((m(i[e+12>>2],r)<<1)+a|0,(m(i[e+28>>2],r)<<1)+H|0,o),l0((m(i[e>>2],r)<<1)+j|0,(m(i[e+16>>2],r)<<1)+h0|0,o),r=r+1|0,(k|0)!=(r|0););break A}u=k&1;f:{if(!w){r=0;break f}for(h=k&-2,r=0,k=0;l0((m(i[e+12>>2],r)<<1)+a|0,(m(i[e+28>>2],r)<<1)+H|0,o),t=r|1,l0((m(t,i[e+12>>2])<<1)+a|0,(m(t,i[e+28>>2])<<1)+H|0,o),r=r+2|0,k=k+2|0,(h|0)!=(k|0););}if(!u)break A;l0((m(i[e+12>>2],r)<<1)+a|0,(m(i[e+28>>2],r)<<1)+H|0,o)}i[f+4>>2]=A,i[f>>2]=n;break r}if(i[f>>2]=0,i[f+4>>2]=0,f=i[A+4>>2],i[A+4>>2]=f-1,f)break r;V[i[i[A>>2]+8>>2]](A),g(A)}if(!Z||(f=i[Z+4>>2],i[Z+4>>2]=f-1,f))break i;V[i[i[Z>>2]+8>>2]](Z),g(Z)}B=e+32|0}function Jk(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0;if(k=i[f+124>>2],_=i[k+16876>>2],r=i[k+16872>>2],Z=e<<_>>r,v=i[k+16896>>2],e=e+1<<_>>r,y=(e|0)>(v|0)?v:e,(Z|0)>=(y|0))return 0;i:{r:{if(i[k+16888>>2]>0)for(E=-1<<_^-1,J=i[k+16892>>2],R=i[k+16880>>2],W=i[f+132>>2];;){if(i[k+16888>>2]>0)for(e=0,h=m(Z,R),r=(h|0)!=0,d=r&!(h&E),D=m(h>>_,J),v=r<<5,z=h-1|0,A0=m(z>>_,J)<<2;;){r=(i[f+160>>2]+m(m(i[f+172>>2],Z),3)|0)+m(e,3)|0,o=(s[r|0]|s[r+1|0]<<8)&7;e:{if(!o)break e;if(n=m(e,R),u=i[f+148>>2],r=n>>u,(r|0)<0||(w=i[f+152>>2],(w|0)<=(r|0)))break r;if(A=h>>u,(A|0)<0||(H=i[f+156>>2],(A|0)>=(H|0)))break i;if(C=i[f+52>>2],I=i[f+56>>2]-C>>2,p=i[f+140>>2],a=p+m(r,24)|0,S=m(m(A,w),24),r=Q[(a+S|0)+2>>1],I>>>0<=r>>>0)return 0;q=n>>_,t=i[C+(r<<2)>>2],A=((n|0)!=0)<<4,r=A;A:{if(!n||(r=A,n&E))break A;f:{if(s[t+772|0])break f;if(r=n-1>>u,(r|0)<0|r>>>0>=w>>>0)break r;if(p=Q[((m(r,24)+p|0)+S|0)+2>>1],p>>>0>=I>>>0)break f;if(r=0,i[t+808>>2]!=i[i[C+(p<<2)>>2]+808>>2])break A}if(r=A,s[W+57|0])break A;A=D<<2,r=i[W+8484>>2],r=(i[A+(r+(q<<2)|0)>>2]==i[A+(r+(n-1>>_<<2)|0)>>2])<<4}A=r,r=v;A:{if(!d)break A;f:{if(s[t+772|0])break f;if(r=z>>u,(r|0)<0|(r|0)>=(H|0))break i;if(u=Q[(m(m(r,w),24)+a|0)+2>>1],u>>>0>=I>>>0)break f;if(r=0,i[t+808>>2]!=i[i[C+(u<<2)>>2]+808>>2])break A}if(r=v,s[W+57|0])break A;r=i[W+8484>>2]+(q<<2)|0,r=(i[r+(D<<2)>>2]==i[r+A0>>2])<<5}if(s[t+762|0])break e;if(ri(f,n,h,o,0,A,r),r=i[f+168>>2],t=n>>r,(t|0)<0||(w=i[f+172>>2],(w|0)<=(t|0)))break r;if(u=h>>r,(u|0)<0|(u|0)>=i[f+176>>2])break i;r=1<<o,k=1<<o-2,A=1<<o-1;A:{f:{k:{n:{t:{o:{u:{l:switch(t=(i[f+160>>2]+m(t,3)|0)+m(m(u,w),3)|0,((s[t|0]|s[t+1|0]<<8)>>>3&7)-1|0){case 2:break f;case 1:break k;case 0:break n;case 5:break t;case 6:break o;case 3:break u;case 4:break l;default:break A}for(t=(r|0)<=1?1:r,A=(k+(A+h|0)|0)/4|0,r=0;k=(r+n|0)/4|0,o=i[f+272>>2],(k|0)>=(o|0)|(A|0)>=i[f+276>>2]||(k=(k+i[f+260>>2]|0)+m(A,o)|0,l[k|0]=s[k|0]|128),r=r+1|0,(t|0)!=(r|0););break A}for(t=(r|0)<=1?1:r,A=(k+h|0)/4|0,r=0;k=(r+n|0)/4|0,o=i[f+272>>2],(k|0)>=(o|0)|(A|0)>=i[f+276>>2]||(k=(k+i[f+260>>2]|0)+m(A,o)|0,l[k|0]=s[k|0]|128),r=r+1|0,(t|0)!=(r|0););break A}for(t=(r|0)<=1?1:r,A=(k+(A+n|0)|0)/4|0,r=0;k=i[f+272>>2],n=(r+h|0)/4|0,(k|0)<=(A|0)|(n|0)>=i[f+276>>2]||(n=(A+i[f+260>>2]|0)+m(k,n)|0,l[n|0]=s[n|0]|64),r=r+1|0,(t|0)!=(r|0););break A}for(t=(r|0)<=1?1:r,A=(k+n|0)/4|0,r=0;k=i[f+272>>2],n=(r+h|0)/4|0,(k|0)<=(A|0)|(n|0)>=i[f+276>>2]||(n=(A+i[f+260>>2]|0)+m(k,n)|0,l[n|0]=s[n|0]|64),r=r+1|0,(t|0)!=(r|0););break A}for(k=(r|0)<=1?1:r,A=(A+h|0)/4|0,r=0;t=(r+n|0)/4|0,o=i[f+272>>2],(t|0)>=(o|0)|(A|0)>=i[f+276>>2]||(t=(t+i[f+260>>2]|0)+m(A,o)|0,l[t|0]=s[t|0]|128),r=r+1|0,(k|0)!=(r|0););break A}for(k=(r|0)<=1?1:r,A=(A+n|0)/4|0,r=0;t=i[f+272>>2],n=(r+h|0)/4|0,(t|0)<=(A|0)|(n|0)>=i[f+276>>2]||(n=(A+i[f+260>>2]|0)+m(n,t)|0,l[n|0]=s[n|0]|64),r=r+1|0,(k|0)!=(r|0););break A}for(w=(r|0)<=1?1:r,t=(A+h|0)/4|0,o=(A+n|0)/4|0,r=0;A=i[f+276>>2],u=(r+h|0)/4|0,k=i[f+272>>2],(A|0)<=(u|0)|(o|0)>=(k|0)||(A=(o+i[f+260>>2]|0)+m(k,u)|0,l[A|0]=s[A|0]|64,k=i[f+272>>2],A=i[f+276>>2]),u=(r+n|0)/4|0,(A|0)<=(t|0)|(u|0)>=(k|0)||(A=(u+i[f+260>>2]|0)+m(k,t)|0,l[A|0]=s[A|0]|128),r=r+1|0,(w|0)!=(r|0););}k=i[f+124>>2],f0=1}if(e=e+1|0,!((e|0)<i[k+16888>>2]))break}if(Z=Z+1|0,(y|0)==(Z|0))break}return f0}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function gk(){var f=0,e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;s[79116]||(l[79116]=1),e=i[19772],i[19772]=e+1;i:{if((e|0)>0||(_k(),Zk()))break i;return i[19772]=i[19772]-1,0}f=U(3224),i[f+168>>2]=0,i[f+84>>2]=0,i[f>>2]=43512,i[f+384>>2]=876,i[f+376>>2]=877,i[f+360>>2]=878,i[f+356>>2]=879,i[f+352>>2]=880,i[f+348>>2]=881,i[f+344>>2]=882,i[f+340>>2]=883,i[f+336>>2]=884,i[f+332>>2]=885,i[f+328>>2]=886,i[f+324>>2]=887,i[f+320>>2]=888,i[f+316>>2]=889,i[f+312>>2]=890,i[f+308>>2]=891,i[f+304>>2]=892,i[f+300>>2]=893,i[f+296>>2]=894,i[f+292>>2]=894,i[f+288>>2]=894,i[f+284>>2]=895,i[f+280>>2]=896,i[f+276>>2]=897,i[f+272>>2]=898,i[f+268>>2]=899,i[f+264>>2]=900,i[f+260>>2]=901,i[f+256>>2]=902,i[f+252>>2]=903,i[f+248>>2]=904,i[f+244>>2]=905,i[f+240>>2]=906,i[f+236>>2]=907,i[f+232>>2]=908,i[f+228>>2]=909,i[f+224>>2]=910,i[f+220>>2]=911,i[f+216>>2]=912,i[f+212>>2]=912,i[f+208>>2]=912,i[f+204>>2]=913,i[f+200>>2]=914,i[f+196>>2]=915,i[f+192>>2]=916,i[f+188>>2]=917,i[f+184>>2]=918,i[f+180>>2]=919,i[f+176>>2]=920,i[f+172>>2]=921,i[f+372>>2]=922,i[f+380>>2]=923,i[f+364>>2]=924,i[f+368>>2]=925,i[f+388>>2]=926,i[f+392>>2]=927,i[f+396>>2]=928,i[f+400>>2]=929,i[f+404>>2]=930,i[f+408>>2]=931,i[f+412>>2]=932,i[f+416>>2]=933,i[f+420>>2]=934,i[f+424>>2]=935,i[f+428>>2]=936,i[f+432>>2]=937,i[f+456>>2]=938,i[f+460>>2]=939,i[f+468>>2]=940,i[f+472>>2]=941,i[f+464>>2]=942,i[f+508>>2]=943,i[f+504>>2]=944,i[f+500>>2]=945,i[f+496>>2]=946,i[f+492>>2]=947,i[f+488>>2]=948,i[f+484>>2]=949,i[f+480>>2]=950,i[f+476>>2]=951,i[f+452>>2]=952,i[f+448>>2]=953,i[f+444>>2]=954,i[f+440>>2]=955,i[f+436>>2]=956,i[f>>2]=43536,i[f+552>>2]=0,i[f+556>>2]=0,X[f+548>>1]=0,i[f+560>>2]=0,i[f+564>>2]=0,i[f+568>>2]=0,i[f+572>>2]=0,i[f+576>>2]=0,i[f+580>>2]=0,i[f+584>>2]=0,i[f+588>>2]=0,i[f+592>>2]=0,i[f+596>>2]=0,e=f+1412|0,i[e>>2]=0,i[e+4>>2]=0,e=f+1404|0,i[e>>2]=0,i[e+4>>2]=0,i[f+1396>>2]=0,i[f+1400>>2]=0,B0(f+600|0,0,792),e=f+2140|0,i[e+8>>2]=0,i[e+12>>2]=0,i[e>>2]=30,i[e+4>>2]=30,i[e+48>>2]=0,i[e+52>>2]=0,i[e+40>>2]=0,i[e+44>>2]=0,i[e+32>>2]=0,i[e+36>>2]=0,i[e+24>>2]=0,i[e+28>>2]=0,i[e+16>>2]=0,i[e+20>>2]=0,i[f+3216>>2]=0,i[f+3208>>2]=0,i[f+3212>>2]=0,X[f+532>>1]=0,l[f+514|0]=0,X[f+512>>1]=256,i[f+516>>2]=-1,i[f+520>>2]=-1,i[f+524>>2]=-1,i[f+528>>2]=-1,e=i[19404],r=i[19403],i[f+1368>>2]=0,i[f+544>>2]=0,i[f+536>>2]=r,i[f+540>>2]=e,e=i[f+1372>>2],i[f+1372>>2]=0;i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+1380>>2],i[f+1376>>2]=0,i[f+1380>>2]=0;i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+1388>>2],i[f+1384>>2]=0,i[f+1388>>2]=0;i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}i[f+1892>>2]=100,i[f+1896>>2]=6,i[f+1884>>2]=0,i[f+1888>>2]=6,i[f+1900>>2]=100,i[f+1904>>2]=6,e=i[f+1376>>2];i:{r:{e:{if(e){e=l[e+2|0];break e}if(r=i[f+1368>>2],e=6,!r)break r;e=i[r+8>>2]}if((e|0)<=0)break i;e=e-1|0}for(_=f+2112|0,u=f+1908|0,h=e+1|0;;){r=m(e,100),n=(r+100|0)/(h|0)|0,A=(r|0)/(h|0)|0;r:{if((n|0)<(A|0)){r=e;break r}t=i[f+1888>>2];e:{if(A+n&1){r=e,e=A;break e}r=(A<<1)+u|0,l[r+1|0]=(e|0)>(t|0)?100:0,k=r,r=(e|0)<(t|0)?e:t,l[k|0]=r,e=A+1|0}if(k=e,(A|0)==(n|0))break r;for(w=n-A|0,e=r;o=(k<<1)+u|0,r=(e|0)<(t|0)?e:t,l[o|0]=r,l[o+1|0]=(e|0)>(t|0)?100:(m(k-A|0,100)|0)/(w|0)|0,o=k+1|0,e=(o<<1)+u|0,l[e+1|0]=(m(o-A|0,100)|0)/(w|0),l[e|0]=r,k=k+2|0,e=r,(n|0)!=(o|0););}if(i[(r<<2)+_>>2]=n,e=r-1|0,!((r|0)>0))break}}return i[f+2200>>2]=0,i[f+2204>>2]=0,i[f+2196>>2]=-1,e=f+2216|0,i[e>>2]=0,i[e+4>>2]=0,e=f+2208|0,i[e>>2]=0,i[e+4>>2]=0,l[f+2200|0]=1,f|0}function hh(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;for(n=B-48|0,B=n,Z=e,p=B2(r),l[Z+48|0]=p,o=B2(r),l[e+51|0]=o&31,l[e+49|0]=o>>>6,l[e+50|0]=o>>>5&1,Z=e,p=D0(r),i[Z+52>>2]=p,h=e+56|0;o=B2(r),u=h+(A&-4)|0,k=i[u>>2],t=A<<3,k=(Z=k|1<<t,p=a0(-2,t)&k,W=o<<24>>24<0,W?Z:p),w=u,u=2<<t,k=o&64?u|k:k&(u^-1),u=4<<t,k=o&32?k|u:k&(u^-1),u=8<<t,k=o&16?k|u:k&(u^-1),u=16<<t,k=o&8?k|u:k&(u^-1),u=32<<t,k=o&4?k|u:k&(u^-1),u=64<<t,k=o&2?k|u:k&(u^-1),t=128<<t,i[w>>2]=o&1?k|t:k&(t^-1),A=A+1|0,(A|0)!=6;);Z=e,p=B2(r),l[Z+64|0]=p,Z=e,p=t2(r)&4095,X[Z+66>>1]=p,Z=e,p=B2(r)&3,l[Z+68|0]=p,Z=e,p=B2(r)&3,l[Z+69|0]=p,Z=e,p=B2(r)&7|8,l[Z+70|0]=p,Z=e,p=B2(r)&7|8,l[Z+71|0]=p,Z=e,p=t2(r),X[Z+72>>1]=p,o=B2(r),l[e+74|0]=o>>>6,l[e+80|0]=(o&3)+1,l[e+76|0]=o>>>2&1,l[e+75|0]=o>>>3&7,w=B2(r);i:{r:{if(!w)break r;for(_=e+84|0,v=n+36|0,h=0;;){if(s[r+20|0])break r;A=B2(r),o=0,i[n+44>>2]=0,i[n+36>>2]=0,i[n+40>>2]=0,l[n+33|0]=A&63,l[n+32|0]=A>>>6&1,u=t2(r);e:{A:{if(!u)break A;for(;;){if(s[r+20|0])break A;i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,k=t2(r),t=13;f:{if(!k)break f;k:{if(!T4(r,k))break k;t=i[n+20>>2],A=i[n+24>>2]-t|0;n:{if(A>>>0<k>>>0){L2(n+20|0,k-A|0);break n}if(A>>>0<=k>>>0)break n;i[n+24>>2]=t+k}t=i[r>>2],A=i[r+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),t=V[i[i[t>>2]+16>>2]](t,i[n+20>>2],k)|0;n:{if(!A||(k=i[A+4>>2],i[A+4>>2]=k-1,k))break n;V[i[i[A>>2]+8>>2]](A),g(A)}if(t)break k;A=U(32),i[n+8>>2]=A,i[n+12>>2]=28,i[n+16>>2]=-2147483616,t=s[2134]|s[2135]<<8|(s[2136]<<16|s[2137]<<24),k=s[2130]|s[2131]<<8|(s[2132]<<16|s[2133]<<24),l[A|0]=k,l[A+1|0]=k>>>8,l[A+2|0]=k>>>16,l[A+3|0]=k>>>24,l[A+4|0]=t,l[A+5|0]=t>>>8,l[A+6|0]=t>>>16,l[A+7|0]=t>>>24,l[A+28|0]=0,t=s[2154]|s[2155]<<8|(s[2156]<<16|s[2157]<<24),l[A+24|0]=t,l[A+25|0]=t>>>8,l[A+26|0]=t>>>16,l[A+27|0]=t>>>24,t=s[2150]|s[2151]<<8|(s[2152]<<16|s[2153]<<24),k=s[2146]|s[2147]<<8|(s[2148]<<16|s[2149]<<24),l[A+16|0]=k,l[A+17|0]=k>>>8,l[A+18|0]=k>>>16,l[A+19|0]=k>>>24,l[A+20|0]=t,l[A+21|0]=t>>>8,l[A+22|0]=t>>>16,l[A+23|0]=t>>>24,t=s[2142]|s[2143]<<8|(s[2144]<<16|s[2145]<<24),k=s[2138]|s[2139]<<8|(s[2140]<<16|s[2141]<<24),l[A+8|0]=k,l[A+9|0]=k>>>8,l[A+10|0]=k>>>16,l[A+11|0]=k>>>24,l[A+12|0]=t,l[A+13|0]=t>>>8,l[A+14|0]=t>>>16,l[A+15|0]=t>>>24,r0(f,2,100,n+8|0),l[n+19|0]<0&&G(i[n+8>>2]),t=1;break f}A=i[n+40>>2];k:{if(A>>>0<k0[n+44>>2]){i[A+8>>2]=0,i[A>>2]=0,i[A+4>>2]=0,i[A>>2]=i[n+20>>2],i[A+4>>2]=i[n+24>>2],i[A+8>>2]=i[n+28>>2],i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,A=A+12|0;break k}A=NA(v,n+20|0)}i[n+40>>2]=A,t=0}if(A=i[n+20>>2],A&&(i[n+24>>2]=A,G(A)),(t|0)!=13&&t)break e;if(o=o+1|0,(u|0)==(o|0))break}}o=i[e+88>>2];A:{if(o>>>0<k0[e+92>>2]){A=Q[n+32>>1],i[o+12>>2]=0,i[o+4>>2]=0,i[o+8>>2]=0,X[o>>1]=A,i[o+4>>2]=i[n+36>>2],i[o+8>>2]=i[n+40>>2],i[o+12>>2]=i[n+44>>2],i[n+44>>2]=0,i[n+36>>2]=0,i[n+40>>2]=0,A=o+16|0;break A}A=Fn(_,n+32|0)}i[e+88>>2]=A,t=0}if(k=i[n+36>>2],k){if(o=i[n+40>>2],A=k,(o|0)!=(A|0)){for(;A=o-12|0,u=i[A>>2],u&&(i[o-8>>2]=u,G(u)),o=A,(k|0)!=(A|0););A=i[n+36>>2]}i[n+40>>2]=k,G(A)}if(t)break i;if(h=h+1|0,(w|0)==(h|0))break}}if(o=i[r+16>>2],o&&(e=i[r+8>>2],e&&($t(e,o),o=i[r+16>>2]),e=i[r>>2],t=V[i[i[e>>2]+8>>2]](e)|0,A=w0,k=o,o=t+o|0,A=k>>>0>o>>>0?A+1|0:A,V[i[i[e>>2]+20>>2]](e,o,A)|0,i[r+16>>2]=0),s[r+20|0]==1){if(l[n+32|0]=0,l[n+43|0]=0,r0(f,2,100,n+32|0),l[n+43|0]>=0)break i;G(i[n+32>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=n+48|0}function Nk(){var f=0,e=0;k4(6453,1,73724,37195,486,487,0),k4(5831,1,73736,37198,488,489,0),k4(13664,1,73740,37195,490,491,0),k4(11268,2,73768,37232,492,493,0),k4(1382,3,73776,37249,494,495,0),k4(9544,2,73796,37277,496,497,0),k4(4407,2,73812,37277,498,499,0),k4(4852,2,73820,37300,500,501,0),k4(10179,3,73836,37304,502,503,0),k4(10138,2,73820,37300,500,504,0),k4(16698,4,73872,37382,505,506,0),k4(9355,2,73952,37232,507,508,0),k4(8403,2,73976,37277,509,510,0),k4(3270,2,73976,37277,509,511,0),k4(10542,2,73976,37277,509,512,0),k4(9381,2,73984,37232,513,514,0),s8(74008,11337,4,0),V0(74008,8139,0),V0(74008,2806,1),V0(74008,2637,2),V0(74008,5151,11),V0(74008,9567,3),V0(74008,9493,4),V0(74008,5194,5),V0(74008,4991,6),V0(74008,5058,7),V0(74008,5026,8),V0(74008,5090,9),V0(74008,2838,10),s8(74016,11318,4,0),V0(74016,13003,0),V0(74016,14213,5e3),V0(74016,4944,1001),V0(74016,14371,150),V0(74016,6233,5001),V0(74016,8673,5002),V0(74016,6088,5003),V0(74016,3901,5004),V0(74016,14313,100),V0(74016,8827,101),V0(74016,1587,102),V0(74016,1509,103),V0(74016,1826,104),V0(74016,1535,105),V0(74016,1904,106),V0(74016,1878,141),V0(74016,1665,107),V0(74016,1639,108),V0(74016,1852,109),V0(74016,1800,110),V0(74016,1722,111),V0(74016,1613,112),V0(74016,1748,113),V0(74016,5588,114),V0(74016,1104,115),V0(74016,7226,116),V0(74016,14286,117),V0(74016,14339,118),V0(74016,4451,119),V0(74016,1930,131),V0(74016,9400,120),V0(74016,14178,121),V0(74016,4757,122),V0(74016,13153,6001),V0(74016,5116,6e3),V0(74016,12920,123),V0(74016,1339,6002),V0(74016,12858,6003),V0(74016,7185,124),V0(74016,1774,125),V0(74016,13029,1e3),V0(74016,9599,126),V0(74016,3410,127),V0(74016,5855,128),V0(74016,8858,129),V0(74016,13262,2e3),V0(74016,3068,2001),V0(74016,13304,2002),V0(74016,6511,2003),V0(74016,6470,2004),V0(74016,5500,2005),V0(74016,9109,2006),V0(74016,1190,2007),V0(74016,10230,2008),V0(74016,1691,130),V0(74016,14252,136),V0(74016,13804,3e3),V0(74016,9640,3001),V0(74016,6552,3002),V0(74016,11643,3006),V0(74016,6381,3003),V0(74016,11540,3004),V0(74016,11591,3005),V0(74016,8184,4e3),V0(74016,8220,132),V0(74016,4319,133),V0(74016,4667,134),V0(74016,3640,135),V0(74016,1159,137),V0(74016,12667,138),V0(74016,12619,139),V0(74016,7421,140),V0(74016,1561,142),s8(74024,3386,4,0),V0(74024,12715,0),V0(74024,15460,1),V0(74024,15482,2),V0(74024,15138,3),V0(74024,16954,4),V0(74024,15418,5),V0(74024,15439,6),V0(74024,17240,7),V0(74024,12577,8),V0(74024,7812,9),V0(74024,15078,10),s8(73896,14597,4,0),V0(73896,12768,99),V0(73896,9957,0),V0(73896,17209,1),V0(73896,16819,2),V0(73896,16645,3),V0(73896,15580,10),V0(73896,15608,11),V0(73896,15266,12),V0(73896,15300,13),V0(73896,15196,14),V0(73896,15230,15),V0(73896,3210,10),V0(73896,3240,11),s8(74032,7150,4,0),V0(74032,10509,2),V0(74032,5431,1),V0(74032,2514,3),s8(74040,7117,4,0),V0(74040,5998,2),V0(74040,5391,1),s8(73888,11504,4,0),V0(73888,12742,99),V0(73888,6050,0),V0(73888,15560,1),V0(73888,9930,2),s8(73928,7696,4,0),V0(73928,14800,0),V0(73928,6072,2),V0(73928,14107,1),V0(73928,14954,3),V0(73928,15118,4),V0(73928,15512,5),V0(73928,14663,6),V0(73928,11869,10),s8(73804,3147,4,0),V0(73804,6139,0),V0(73804,11924,1),V0(73804,11894,2),V0(73804,11520,3),lA(73744,73752,74048,0,37195,515,37684,0,37684,0,2557,37686,516),lA(73848,73856,73960,0,37195,517,37684,0,37684,0,10212,37686,518),lA(73904,73912,73992,0,37195,519,37684,0,37684,0,10603,37686,520),ws(73788,5183,37689,521,37686,522),f=U(4),i[f>>2]=0,e=U(4),i[e>>2]=0,oA(73788,11348,74008,37277,523,f|0,74008,37691,524,e|0),f=U(4),i[f>>2]=4,e=U(4),i[e>>2]=4,oA(73788,11310,74016,37277,525,f|0,74016,37691,526,e|0),f=U(4),i[f>>2]=527,e=U(4),i[e>>2]=528,oA(73788,10501,73728,37300,529,f|0,73728,37696,530,e|0),hs(73788)}function wh(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;t=X[e+8>>1],_=B-32|0,o=X[e+16>>1],w=X[e>>1],n=X[e+24>>1],k=((m(o,-74)+m(w,74)|0)+m(n,74)|0)- -64>>7,k=(k|0)>=32767?32767:k,X[_+16>>1]=(k|0)<=-32768?-32768:k,k=(((m(t,-74)+m(w,84)|0)+m(o,55)|0)+m(n,-29)|0)- -64>>7,k=(k|0)>=32767?32767:k,X[_+24>>1]=(k|0)<=-32768?-32768:k,t=m(t,74),k=(((t+m(w,55)|0)+m(o,-29)|0)+m(n,-84)|0)- -64>>7,k=(k|0)>=32767?32767:k,X[_+8>>1]=(k|0)<=-32768?-32768:k,o=(((t+m(w,29)|0)+m(o,84)|0)+m(n,55)|0)- -64>>7,o=(o|0)>=32767?32767:o,X[_>>1]=(o|0)<=-32768?-32768:o,t=X[e+10>>1],o=X[e+18>>1],w=X[e+2>>1],n=X[e+26>>1],k=((m(o,-74)+m(w,74)|0)+m(n,74)|0)- -64>>7,k=(k|0)>=32767?32767:k,X[_+18>>1]=(k|0)<=-32768?-32768:k,k=(((m(t,-74)+m(w,84)|0)+m(o,55)|0)+m(n,-29)|0)- -64>>7,k=(k|0)>=32767?32767:k,X[_+26>>1]=(k|0)<=-32768?-32768:k,t=m(t,74),k=(((t+m(w,55)|0)+m(o,-29)|0)+m(n,-84)|0)- -64>>7,k=(k|0)>=32767?32767:k,X[_+10>>1]=(k|0)<=-32768?-32768:k,o=(((t+m(w,29)|0)+m(o,84)|0)+m(n,55)|0)- -64>>7,o=(o|0)>=32767?32767:o,X[_+2>>1]=(o|0)<=-32768?-32768:o,t=X[e+12>>1],o=X[e+20>>1],w=X[e+4>>1],n=X[e+28>>1],k=((m(o,-74)+m(w,74)|0)+m(n,74)|0)- -64>>7,k=(k|0)>=32767?32767:k,X[_+20>>1]=(k|0)<=-32768?-32768:k,k=(((m(t,-74)+m(w,84)|0)+m(o,55)|0)+m(n,-29)|0)- -64>>7,k=(k|0)>=32767?32767:k,X[_+28>>1]=(k|0)<=-32768?-32768:k,t=m(t,74),k=(((t+m(w,55)|0)+m(o,-29)|0)+m(n,-84)|0)- -64>>7,k=(k|0)>=32767?32767:k,X[_+12>>1]=(k|0)<=-32768?-32768:k,o=(((t+m(w,29)|0)+m(o,84)|0)+m(n,55)|0)- -64>>7,o=(o|0)>=32767?32767:o,X[_+4>>1]=(o|0)<=-32768?-32768:o,n=X[e+14>>1],o=X[e+22>>1],w=X[e+6>>1],e=X[e+30>>1],t=((m(o,-74)+m(w,74)|0)+m(e,74)|0)- -64>>7,t=(t|0)>=32767?32767:t,X[_+22>>1]=(t|0)<=-32768?-32768:t,t=(((m(n,-74)+m(w,84)|0)+m(o,55)|0)+m(e,-29)|0)- -64>>7,t=(t|0)>=32767?32767:t,X[_+30>>1]=(t|0)<=-32768?-32768:t,n=m(n,74),t=(((n+m(w,55)|0)+m(o,-29)|0)+m(e,-84)|0)- -64>>7,t=(t|0)>=32767?32767:t,X[_+14>>1]=(t|0)<=-32768?-32768:t,e=(((n+m(w,29)|0)+m(o,84)|0)+m(e,55)|0)- -64>>7,e=(e|0)>=32767?32767:e,X[_+6>>1]=(e|0)<=-32768?-32768:e,o=20-A|0,e=-1<<A^-1,w=1<<19-A;i:{if((r|0)!=1){for(A=0;t=(A<<3)+_|0,u=X[t+2>>1],n=(m(r,A)<<1)+f|0,k=X[t+4>>1],Z=X[t>>1],t=X[t+6>>1],h=w+((m(k,-74)+m(Z,74)|0)+m(t,74)|0)>>o,h=(h|0)>=32767?32767:h,h=Q[n+4>>1]+((h|0)<=-32768?-32768:h)|0,X[n+4>>1]=(h|0)>=0?(e|0)>(h|0)?h:e:0,v=m(u,74),h=w+(((v+m(Z,29)|0)+m(k,84)|0)+m(t,55)|0)>>o,h=(h|0)>=32767?32767:h,h=Q[n>>1]+((h|0)<=-32768?-32768:h)|0,X[n>>1]=(h|0)>=0?(e|0)>(h|0)?h:e:0,h=w+(((v+m(Z,55)|0)+m(k,-29)|0)+m(t,-84)|0)>>o,h=(h|0)>=32767?32767:h,h=Q[n+2>>1]+((h|0)<=-32768?-32768:h)|0,X[n+2>>1]=(h|0)>=0?(e|0)>(h|0)?h:e:0,v=n,h=Q[n+6>>1],n=w+(((m(u,-74)+m(Z,84)|0)+m(k,55)|0)+m(t,-29)|0)>>o,n=(n|0)>=32767?32767:n,n=h+((n|0)<=-32768?-32768:n)|0,X[v+6>>1]=(n|0)>=0?(e|0)>(n|0)?n:e:0,A=A+1|0,(A|0)!=4;);break i}for(k=Q[f+4>>1],A=0;t=(A<<3)+_|0,h=X[t+2>>1],n=(m(r,A)<<1)+f|0,v=k&65535,k=X[t+4>>1],Z=X[t>>1],t=X[t+6>>1],u=w+((m(k,-74)+m(Z,74)|0)+m(t,74)|0)>>o,u=(u|0)>=32767?32767:u,u=v+((u|0)<=-32768?-32768:u)|0,X[n+4>>1]=(u|0)>=0?(e|0)>(u|0)?u:e:0,v=m(h,74),u=w+(((v+m(Z,29)|0)+m(k,84)|0)+m(t,55)|0)>>o,u=(u|0)>=32767?32767:u,u=Q[n>>1]+((u|0)<=-32768?-32768:u)|0,X[n>>1]=(u|0)>=0?(e|0)>(u|0)?u:e:0,u=w+(((v+m(Z,55)|0)+m(k,-29)|0)+m(t,-84)|0)>>o,u=(u|0)>=32767?32767:u,u=Q[n+2>>1]+((u|0)<=-32768?-32768:u)|0,X[n+2>>1]=(u|0)>=0?(e|0)>(u|0)?u:e:0,v=n,u=Q[n+6>>1],n=w+(((m(h,-74)+m(Z,84)|0)+m(k,55)|0)+m(t,-29)|0)>>o,n=(n|0)>=32767?32767:n,n=u+((n|0)<=-32768?-32768:n)|0,k=(n|0)>=0?(e|0)>(n|0)?n:e:0,X[v+6>>1]=k,A=A+1|0,(A|0)!=4;);}}function _h(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;k=B-48|0,B=k,A=D0(r),i[e+52>>2]=A&16777215,l[e+48|0]=A>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[k|0]=0,l[k+11|0]=0,r0(k+24|0,2,100,k),l[k+11|0]>=0)break i;G(i[k>>2]);break i}if(A=i[19565],i[k+24>>2]=i[19564],i[k+28>>2]=A,A=k+32|0,l[78275]>=0){n=i[19567],i[A>>2]=i[19566],i[A+4>>2]=n,i[A+8>>2]=i[19568];break i}_0(A,i[19566],i[19567])}l[k+43|0]<0&&G(i[k+32>>2]);i:{if(s[e+48|0]){h4(f,e,2458);break i}i[k+16>>2]=0,i[k+20>>2]=0,i[k+8>>2]=0,i[k+12>>2]=0,i[k>>2]=0,i[k+4>>2]=0,i[e+64>>2]=0,i[e+68>>2]=1,i[e+56>>2]=0,i[e+60>>2]=0,A=i[k+4>>2],n=i[k>>2],X[e+72>>1]=n,X[e+74>>1]=n>>>16,X[e+76>>1]=A,X[e+78>>1]=A>>>16,A=i[k+12>>2],n=i[k+8>>2],X[e+80>>1]=n,X[e+82>>1]=n>>>16,X[e+84>>1]=A,X[e+86>>1]=A>>>16,A=i[k+20>>2],n=i[k+16>>2],X[e+88>>1]=n,X[e+90>>1]=n>>>16,X[e+92>>1]=A,X[e+94>>1]=A>>>16,i[e+104>>2]=0,i[e+108>>2]=0,i[e+96>>2]=0,i[e+100>>2]=1072693248,i[e+112>>2]=0,i[e+116>>2]=0,i[e+120>>2]=0,i[e+124>>2]=0,i[e+128>>2]=0,A=i[e+52>>2],A&1&&(l[e+136|0]=1,_=e,v=D0(r),i[_+56>>2]=v,A=i[e+52>>2]),A&2&&(l[e+137|0]=1,_=e,v=D0(r),i[_+60>>2]=v,A=i[e+52>>2]),A&4&&(l[e+138|0]=1,_=e,v=D0(r),i[_+64>>2]=v,A=i[e+52>>2]);r:{if(!(A&8))break r;l[e+139|0]=1;e:{A:switch(s[e+48|0]){case 0:h=A&16;f:{if(h){A=D0(r),n=D0(r),w=D0(r);break f}A=o3(r),n=o3(r),w=o3(r)}if(l[e+68|0]=1,t=+(16384<<h>>>0),o=+(w|0)/t,i0[e+88>>3]=o,u=+(n|0)/t,i0[e+80>>3]=u,t=+(A|0)/t,i0[e+72>>3]=t,t=o*o+(t*t+u*u),!(t>1))break e;if(e=U(48),i[k>>2]=e,i[k+4>>2]=47,i[k+8>>2]=-2147483600,r=s[2409]|s[2410]<<8|(s[2411]<<16|s[2412]<<24),A=s[2405]|s[2406]<<8|(s[2407]<<16|s[2408]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+47|0]=0,r=s[2448]|s[2449]<<8|(s[2450]<<16|s[2451]<<24),A=s[2444]|s[2445]<<8|(s[2446]<<16|s[2447]<<24),l[e+39|0]=A,l[e+40|0]=A>>>8,l[e+41|0]=A>>>16,l[e+42|0]=A>>>24,l[e+43|0]=r,l[e+44|0]=r>>>8,l[e+45|0]=r>>>16,l[e+46|0]=r>>>24,r=s[2441]|s[2442]<<8|(s[2443]<<16|s[2444]<<24),A=s[2437]|s[2438]<<8|(s[2439]<<16|s[2440]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[2433]|s[2434]<<8|(s[2435]<<16|s[2436]<<24),A=s[2429]|s[2430]<<8|(s[2431]<<16|s[2432]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[2425]|s[2426]<<8|(s[2427]<<16|s[2428]<<24),A=s[2421]|s[2422]<<8|(s[2423]<<16|s[2424]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[2417]|s[2418]<<8|(s[2419]<<16|s[2420]<<24),A=s[2413]|s[2414]<<8|(s[2415]<<16|s[2416]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,0,k),l[k+11|0]>=0)break i;G(i[k>>2]);break i;case 1:break A;default:break r}_=e,Z=+(D0(r)|0)*152587890625e-16,i0[_+104>>3]=Z,_=e,Z=+(D0(r)|0)*152587890625e-16,i0[_+112>>3]=Z,_=e,Z=+(D0(r)|0)*152587890625e-16,i0[_+120>>3]=Z;break r}i0[e+96>>3]=ss(1-t)}if(s[e+52|0]&32&&(l[e+140|0]=1,_=e,v=D0(r),i[_+128>>2]=v),s[r+20|0]==1){if(l[k|0]=0,l[k+11|0]=0,r0(f,2,100,k),l[k+11|0]>=0)break i;G(i[k>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+48|0}function vh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0;e=B-32|0,B=e,u=U0(i[r>>2],0),h=U0(i[r>>2],1),w=U0(i[r>>2],2),D=H2(i[r>>2],6),D&&(E=U0(i[r>>2],6));i:{if(!(!(u>>>0>8|h>>>0>8)&w>>>0<9)){i[f>>2]=0,i[f+4>>2]=0;break i}if(!((u|0)==(h|0)&(u|0)==(w|0))){i[f>>2]=0,i[f+4>>2]=0;break i}A=i[r>>2],W=i[A+48>>2],W&&(i[W+4>>2]=i[W+4>>2]+1,A=i[r>>2]),n=i[A+28>>2],k=i[A+24>>2],A=U(136),i[A>>2]=72792,i[A+4>>2]=0,i[A+8>>2]=0,B0(A+20|0,0,104),t=i[A+4>>2],v=t+1|0,i[A+4>>2]=v,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,o=A- -64|0,i[o>>2]=0,i[o+4>>2]=0,i[A+132>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+84>>2]=1,i[A+88>>2]=1,i[A+72>>2]=A+76,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,l[A+113|0]=0,l[A+114|0]=0,l[A+115|0]=0,l[A+116|0]=0,l[A+117|0]=0,l[A+118|0]=0,l[A+119|0]=0,l[A+120|0]=0,o=A+12|0,i[A+12>>2]=o,i[A+8>>2]=i[A+8>>2]+1,i[A+4>>2]=t,i[A+16>>2]=A,v||(V[i[i[A>>2]+8>>2]](A),g(A)),i[o+36>>2]=1,i[o+32>>2]=0,i[o+28>>2]=n,i[o+24>>2]=k,v=(n+1|0)/2|0,t=(k+1|0)/2|0;r:{e:{if(!J0(o,0,k,n,u)||!J0(o,1,t,v,h)||!J0(o,2,t,v,w)||D&&!J0(o,6,k,n,E))break e;if(i[e+28>>2]=0,i[e+24>>2]=0,i[e+20>>2]=0,i[e+16>>2]=0,i[e+12>>2]=0,i[e+8>>2]=0,i[e+4>>2]=0,i[e>>2]=0,E=v0(i[r>>2],0,e+28|0),u=v0(i[r>>2],1,e+24|0),h=v0(i[r>>2],2,e+20|0),z=v0(o,0,e+12|0),H=v0(o,1,e+8|0),a=v0(o,2,e+4|0),D&&(q=v0(i[r>>2],6,e+16|0),d=v0(o,6,e)),Z=n&1,!(!Z|(k|0)<2))for(J=k-1|0,w=v-1|0,I=n-1|0,r=0;_=r>>>1|0,R=u+(m(I,i[e+24>>2])+r|0)|0,l[_+(m(w,i[e+8>>2])+H|0)|0]=(s[R|0]+s[R+1|0]|0)+1>>>1,p=_+(m(w,i[e+4>>2])+a|0)|0,_=h+(m(I,i[e+20>>2])+r|0)|0,l[p|0]=(s[_|0]+s[_+1|0]|0)+1>>>1,r=r+2|0,(J|0)>(r|0););w=n-1|0;A:{if(!(k&1))break A;if((n|0)>=2)for(_=(t+a|0)-1|0,I=(k+h|0)-1|0,R=(t+H|0)-1|0,J=(k+u|0)-1|0,r=0;y=r>>>1|0,p=i[e+24>>2],S=s[J+m(p,r)|0],C=p,p=r|1,l[R+m(y,i[e+8>>2])|0]=(S+s[J+m(C,p)|0]|0)+1>>>1,C=_+m(y,i[e+4>>2])|0,y=i[e+20>>2],l[C|0]=(s[I+m(y,r)|0]+s[I+m(y,p)|0]|0)+1>>>1,r=r+2|0,(w|0)>(r|0););if(!Z)break A;r=v-1|0,l[(t+(m(r,i[e+8>>2])+H|0)|0)-1|0]=s[((u+m(w,i[e+24>>2])|0)+k|0)-1|0],l[(t+(m(r,i[e+4>>2])+a|0)|0)-1|0]=s[((h+m(w,i[e+20>>2])|0)+k|0)-1|0]}A:{f:{if((n|0)>=2){if((k|0)<2)break f;for(J=k-1|0,t=0;;){for(v=t>>>1|0,I=t|1,r=0;Z=i[e+20>>2],_=(h+m(Z,I)|0)+r|0,R=s[_+1|0],_=s[_|0],Z=h+(m(t,Z)+r|0)|0,y=s[Z|0],Z=s[Z+1|0],p=r>>>1|0,C=i[e+24>>2],S=u+(m(C,t)+r|0)|0,C=(u+m(I,C)|0)+r|0,l[p+(m(v,i[e+8>>2])+H|0)|0]=(((s[S|0]+s[S+1|0]|0)+s[C|0]|0)+s[C+1|0]|0)+2>>>2,l[p+(m(v,i[e+4>>2])+a|0)|0]=(R+(_+(Z+y|0)|0)|0)+2>>>2,r=r+2|0,(J|0)>(r|0););if(t=t+2|0,!((w|0)>(t|0)))break}}if((n|0)<=0)break A}if(D){for(r=0;l0(m(i[e+12>>2],r)+z|0,E+m(i[e+28>>2],r)|0,k),l0(m(i[e>>2],r)+d|0,m(i[e+16>>2],r)+q|0,k),r=r+1|0,(n|0)!=(r|0););break A}u=n&1;f:{if(!w){r=0;break f}for(n=n&-2,r=0,t=0;l0(m(i[e+12>>2],r)+z|0,E+m(i[e+28>>2],r)|0,k),h=r|1,l0(m(h,i[e+12>>2])+z|0,E+m(h,i[e+28>>2])|0,k),r=r+2|0,t=t+2|0,(n|0)!=(t|0););}if(!u)break A;l0(m(i[e+12>>2],r)+z|0,E+m(i[e+28>>2],r)|0,k)}i[f+4>>2]=A,i[f>>2]=o;break r}if(i[f>>2]=0,i[f+4>>2]=0,f=i[A+4>>2],i[A+4>>2]=f-1,f)break r;V[i[i[A>>2]+8>>2]](A),g(A)}if(!W||(f=i[W+4>>2],i[W+4>>2]=f-1,f))break i;V[i[i[W>>2]+8>>2]](W),g(W)}B=e+32|0}function CA(f){var e=0,r=0,A=0,k=0,n=0,t=0,o=0;s[100176]||(A=B-16|0,B=A,s[100168]||(k=B-16|0,B=k,i[k+12>>2]=1,i[25003]=i[k+12>>2]-1,i[25002]=66952,i[25002]=61792,i[25002]=60312,e=B-16|0,B=e,i[25004]=0,i[25005]=0,i[e+12>>2]=0,i[25006]=0,l[100148]=0,i[e+4>>2]=100016,l[e+10|0]=0,r=B-16|0,B=r,L9()>>>0<30&&(o4(),P()),ut(r+8|0,100028,30),n=i[r+8>>2],i[25005]=n,i[25004]=n,i[25006]=(i[r+12>>2]<<2)+n,B=r+16|0,J9(30),l[e+10|0]=1,B=e+16|0,G6(100152,15510),ao(100016),i[25360]=0,i[25359]=66952,i[25359]=61792,i[25359]=62900,f1(101436,r1(99840)),i[25362]=0,i[25361]=66952,i[25361]=61792,i[25361]=62932,f1(101444,r1(99848)),i[25364]=0,i[25363]=66952,i[25363]=61792,l[101464]=0,i[25365]=0,i[25363]=60332,i[25365]=60384,f1(101452,r1(100192)),i[25368]=0,i[25367]=66952,i[25367]=61792,i[25367]=61848,f1(101468,r1(100184)),i[25370]=0,i[25369]=66952,i[25369]=61792,i[25369]=61996,f1(101476,r1(100200)),i[25372]=0,i[25371]=66952,i[25371]=61792,i[25371]=61416,t=101492,o=M2(),i[t>>2]=o,f1(101484,r1(100208)),i[25375]=0,i[25374]=66952,i[25374]=61792,i[25374]=62144,f1(101496,r1(100216)),i[25377]=0,i[25376]=66952,i[25376]=61792,i[25376]=62376,f1(101504,r1(100232)),i[25379]=0,i[25378]=66952,i[25378]=61792,i[25378]=62260,f1(101512,r1(100224)),i[25381]=0,i[25380]=66952,i[25380]=61792,i[25380]=62492,f1(101520,r1(100240)),i[25383]=0,i[25382]=66952,i[25382]=61792,X[50768]=11310,i[25382]=61464,e=B-16|0,B=e,i[25385]=0,i[25386]=0,i[25387]=0,B=e+16|0,f1(101528,r1(100248)),i[25389]=0,i[25388]=66952,i[25388]=61792,i[25390]=46,i[25391]=44,i[25388]=61504,e=B-16|0,B=e,i[25392]=0,i[25393]=0,i[25394]=0,B=e+16|0,f1(101552,r1(100256)),i[25396]=0,i[25395]=66952,i[25395]=61792,i[25395]=62964,f1(101580,r1(99856)),i[25398]=0,i[25397]=66952,i[25397]=61792,i[25397]=63208,f1(101588,r1(99864)),i[25400]=0,i[25399]=66952,i[25399]=61792,i[25399]=63420,f1(101596,r1(99872)),i[25402]=0,i[25401]=66952,i[25401]=61792,i[25401]=63652,f1(101604,r1(99880)),i[25404]=0,i[25403]=66952,i[25403]=61792,i[25403]=64636,f1(101612,r1(99920)),i[25406]=0,i[25405]=66952,i[25405]=61792,i[25405]=64784,f1(101620,r1(99928)),i[25408]=0,i[25407]=66952,i[25407]=61792,i[25407]=64900,f1(101628,r1(99936)),i[25410]=0,i[25409]=66952,i[25409]=61792,i[25409]=65016,f1(101636,r1(99944)),i[25412]=0,i[25411]=66952,i[25411]=61792,i[25411]=65132,f1(101644,r1(99952)),i[25414]=0,i[25413]=66952,i[25413]=61792,i[25413]=65296,f1(101652,r1(99960)),i[25416]=0,i[25415]=66952,i[25415]=61792,i[25415]=65460,f1(101660,r1(99968)),i[25418]=0,i[25417]=66952,i[25417]=61792,i[25417]=65624,f1(101668,r1(99976)),i[25420]=0,i[25419]=66952,i[25419]=61792,i[25421]=66880,i[25419]=63852,i[25421]=63900,f1(101676,r1(99888)),i[25423]=0,i[25422]=66952,i[25422]=61792,i[25424]=66916,i[25422]=64116,i[25424]=64164,f1(101688,r1(99896)),i[25426]=0,i[25425]=66952,i[25425]=61792,vo(101708),i[25425]=64352,f1(101700,r1(99904)),i[25429]=0,i[25428]=66952,i[25428]=61792,vo(101720),i[25428]=64508,f1(101712,r1(99912)),i[25432]=0,i[25431]=66952,i[25431]=61792,i[25431]=65788,f1(101724,r1(99984)),i[25434]=0,i[25433]=66952,i[25433]=61792,i[25433]=65908,f1(101732,r1(99992)),B=k+16|0,i[A+8>>2]=100008,i[25041]=i[A+8>>2],l[100168]=1),B=A+16|0,e=i[25041],i[25043]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),l[100176]=1),e=f,f=i[25043],i[e>>2]=f,(f|0)!=100008&&(i[f+4>>2]=i[f+4>>2]+1)}function v8(f,e,r,A,k,n,t,o,u,h){var w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0;w=u<<2,Z=i[w+45024>>2]+n|0,w=i[w+45008>>2],p=Z+w|0,C=h-8|0,h=i[(o<<2)+45008>>2];i:{r:switch(o|0){case 0:if(v=0-w|0,(Z|0)<=(v|0)|(k|0)<=0)break i;for(I=(w<<1)+t|0,y=r-(h<<1)|0,E=k&2147483644,W=k&3,J=k>>>0<4;;){if(h=(v<<1)+I|0,w=(m(A,v)<<1)+y|0,_=0,!J)for(;X[h>>1]=Q[w>>1],r=p<<1,h=r+h|0,X[h>>1]=Q[w+2>>1],h=r+h|0,X[h>>1]=Q[w+4>>1],h=r+h|0,X[h>>1]=Q[w+6>>1],h=r+h|0,w=w+8|0,_=_+4|0,(E|0)!=(_|0););if(r=0,W)for(;X[h>>1]=Q[w>>1],w=w+2|0,h=(p<<1)+h|0,r=r+1|0,(W|0)!=(r|0););if(v=v+1|0,(Z|0)==(v|0))break}break i;case 1:if(_=0-w|0,(Z|0)<=(_|0)|(k|0)<=0)break i;for(v=(w<<1)+t|0,W=r-(h<<1)|0;;){for(h=v+(_<<1)|0,w=W+(m(A,_)<<1)|0,r=0;X[h>>1]=Q[w+12>>1]+((((((Q[w+2>>1]<<2)-Q[w>>1]|0)+m(Q[w+4>>1],-10)|0)+m(Q[w+6>>1],58)|0)+m(Q[w+8>>1],17)|0)+m(Q[w+10>>1],-5)|0)>>C,w=w+2|0,h=(p<<1)+h|0,r=r+1|0,(k|0)!=(r|0););if(_=_+1|0,(Z|0)==(_|0))break}break i;case 2:if(_=0-w|0,(Z|0)<=(_|0)|(k|0)<=0)break i;for(v=(w<<1)+t|0,W=r-(h<<1)|0;;){for(h=v+(_<<1)|0,w=W+(m(A,_)<<1)|0,r=0;X[h>>1]=(((((Q[w+2>>1]<<2)-Q[w>>1]|0)+m(Q[w+8>>1]+Q[w+6>>1]|0,40)|0)+(Q[w+12>>1]<<2)|0)-Q[w+14>>1]|0)+m(Q[w+10>>1]+Q[w+4>>1]|0,-11)>>C,w=w+2|0,h=(p<<1)+h|0,r=r+1|0,(k|0)!=(r|0););if(_=_+1|0,(Z|0)==(_|0))break}break i;case 3:break r;default:break i}if(_=0-w|0,(Z|0)<=(_|0)|(k|0)<=0)break i;for(v=(w<<1)+t|0,W=r-(h<<1)|0;;){for(h=v+(_<<1)|0,w=W+(m(A,_)<<1)|0,r=0;X[h>>1]=(((((Q[w>>1]+m(Q[w+2>>1],-5)|0)+m(Q[w+4>>1],17)|0)+m(Q[w+6>>1],58)|0)+m(Q[w+8>>1],-10)|0)+(Q[w+10>>1]<<2)|0)-Q[w+12>>1]>>C,w=w+2|0,h=(p<<1)+h|0,r=r+1|0,(k|0)!=(r|0););if(_=_+1|0,(Z|0)==(_|0))break}}A=o?6:C;i:{r:switch(u|0){case 3:if((k|0)<=0|(n|0)<=0)break i;for(_=0;;){for(h=(_<<1)+f|0,w=(m(_,p)<<1)+t|0,r=0;X[h>>1]=(((((X[w>>1]+m(X[w+2>>1],-5)|0)+m(X[w+4>>1],17)|0)+m(X[w+6>>1],58)|0)+m(X[w+8>>1],-10)|0)+(X[w+10>>1]<<2)|0)-X[w+12>>1]>>A,w=w+2|0,h=(e<<1)+h|0,r=r+1|0,(n|0)!=(r|0););if(_=_+1|0,(_|0)==(k|0))break}break i;case 2:if((k|0)<=0|(n|0)<=0)break i;for(_=0;;){for(h=(_<<1)+f|0,w=(m(_,p)<<1)+t|0,r=0;X[h>>1]=(((((X[w+2>>1]<<2)-X[w>>1]|0)+m(X[w+8>>1]+X[w+6>>1]|0,40)|0)+(X[w+12>>1]<<2)|0)-X[w+14>>1]|0)+m(X[w+10>>1]+X[w+4>>1]|0,-11)>>A,w=w+2|0,h=(e<<1)+h|0,r=r+1|0,(n|0)!=(r|0););if(_=_+1|0,(_|0)==(k|0))break}break i;case 1:if((k|0)<=0)break i;for(_=0,o=(n|0)<=0;;){if(!o)for(h=(_<<1)+f|0,w=(m(_,p)<<1)+t|0,r=0;X[h>>1]=X[w+12>>1]+((((((X[w+2>>1]<<2)-X[w>>1]|0)+m(X[w+4>>1],-10)|0)+m(X[w+6>>1],58)|0)+m(X[w+8>>1],17)|0)+m(X[w+10>>1],-5)|0)>>A,w=w+2|0,h=(e<<1)+h|0,r=r+1|0,(n|0)!=(r|0););if(_=_+1|0,(_|0)==(k|0))break}break i;case 0:break r;default:break i}if((k|0)<=0)break i;for(_=n&2147483644,u=n&3,A=0,Z=(n|0)<=0;;){r:{if(Z)break r;if(h=(A<<1)+f|0,w=(m(A,p)<<1)+t|0,r=0,n>>>0>3)for(;X[h>>1]=Q[w>>1],o=e<<1,h=o+h|0,X[h>>1]=Q[w+2>>1],h=o+h|0,X[h>>1]=Q[w+4>>1],h=o+h|0,X[h>>1]=Q[w+6>>1],h=o+h|0,w=w+8|0,r=r+4|0,(_|0)!=(r|0););if(r=0,!u)break r;for(;X[h>>1]=Q[w>>1],w=w+2|0,h=(e<<1)+h|0,r=r+1|0,(u|0)!=(r|0););}if(A=A+1|0,(k|0)==(A|0))break}}}function mh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0;e=B-32|0,B=e,t=U0(i[r>>2],0),Z=U0(i[r>>2],1),p=U0(i[r>>2],2),R=H2(i[r>>2],6),R&&(u=U0(i[r>>2],6));i:{if(!(!(t>>>0<9|Z>>>0<9)&p>>>0>8)){i[f>>2]=0,i[f+4>>2]=0;break i}if(!((t|0)==(Z|0)&(t|0)==(p|0))){i[f>>2]=0,i[f+4>>2]=0;break i}A=i[r>>2],w=i[A+48>>2],w&&(i[w+4>>2]=i[w+4>>2]+1,A=i[r>>2]),k=i[A+28>>2],o=i[A+24>>2],A=U(136),i[A>>2]=72792,i[A+4>>2]=0,i[A+8>>2]=0,B0(A+20|0,0,104),h=i[A+4>>2],W=h+1|0,i[A+4>>2]=W,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,n=A- -64|0,i[n>>2]=0,i[n+4>>2]=0,i[A+132>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+84>>2]=1,i[A+88>>2]=1,i[A+72>>2]=A+76,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,l[A+113|0]=0,l[A+114|0]=0,l[A+115|0]=0,l[A+116|0]=0,l[A+117|0]=0,l[A+118|0]=0,l[A+119|0]=0,l[A+120|0]=0,n=A+12|0,i[A+12>>2]=n,i[A+8>>2]=i[A+8>>2]+1,i[A+4>>2]=h,i[A+16>>2]=A,W||(V[i[i[A>>2]+8>>2]](A),g(A)),i[n+36>>2]=2,i[n+32>>2]=0,i[n+28>>2]=k,i[n+24>>2]=o,_=(o+1|0)/2|0;r:{e:{if(!J0(n,0,o,k,t)||!J0(n,1,_,k,Z)||!J0(n,2,_,k,p)||R&&!J0(n,6,o,k,u))break e;u=0,i[e+28>>2]=0,i[e+24>>2]=0,i[e+20>>2]=0,i[e+16>>2]=0,i[e+12>>2]=0,i[e+8>>2]=0,i[e+4>>2]=0,i[e>>2]=0,Z=v0(i[r>>2],0,e+28|0),z=v0(i[r>>2],1,e+24|0),H=v0(i[r>>2],2,e+20|0),p=v0(n,0,e+12|0),a=v0(n,1,e+8|0),S=v0(n,2,e+4|0),R?(q=v0(i[r>>2],6,e+16|0),d=v0(n,6,e),u=i[e>>2]/2|0,r=i[e+16>>2]/2|0):r=0,i[e+16>>2]=r,i[e>>2]=u,i[e+28>>2]=i[e+28>>2]/2,u=i[e+24>>2]/2|0,i[e+24>>2]=u,h=i[e+20>>2]/2|0,i[e+20>>2]=h,i[e+12>>2]=i[e+12>>2]/2,W=i[e+8>>2]/2|0,i[e+8>>2]=W,E=i[e+4>>2]/2|0,i[e+4>>2]=E;A:{if(!(o&1)|(k|0)<2)break A;if(r=_<<1,t=(r+S|0)-2|0,C=o<<1,_=(C+H|0)-2|0,J=(r+a|0)-2|0,C=(C+z|0)-2|0,v=k-1|0,D=v&1,r=0,(k|0)!=2)for(I=v&-2;X[J+(m(r,W)<<1)>>1]=Q[C+(m(r,u)<<1)>>1],X[t+(m(r,E)<<1)>>1]=Q[_+(m(r,h)<<1)>>1],v=r|1,X[J+(m(v,W)<<1)>>1]=Q[C+(m(u,v)<<1)>>1],X[t+(m(v,E)<<1)>>1]=Q[_+(m(h,v)<<1)>>1],r=r+2|0,y=y+2|0,(I|0)!=(y|0););if(!D)break A;X[J+(m(r,W)<<1)>>1]=Q[C+(m(r,u)<<1)>>1],X[t+(m(r,E)<<1)>>1]=Q[_+(m(r,h)<<1)>>1]}A:{if((k|0)<=0)break A;if((o|0)>=2){for(_=o-1|0,t=0;;){for(J=(m(t,E)<<1)+S|0,C=(m(t,W)<<1)+a|0,v=(m(t,h)<<1)+H|0,D=(m(t,u)<<1)+z|0,r=0;I=r<<1,y=I+v|0,A0=Q[y>>1],y=Q[y+2>>1],I=I+D|0,X[r+C>>1]=(Q[I>>1]+Q[I+2>>1]|0)+1>>>1,X[r+J>>1]=(y+A0|0)+1>>>1,r=r+2|0,(_|0)>(r|0););if(t=t+1|0,(t|0)==(k|0))break}if((k|0)<=0)break A}if(o=o<<1,R){for(r=0;l0(p+(m(i[e+12>>2],r)<<1)|0,Z+(m(i[e+28>>2],r)<<1)|0,o),l0((m(i[e>>2],r)<<1)+d|0,(m(i[e+16>>2],r)<<1)+q|0,o),r=r+1|0,(k|0)!=(r|0););break A}if(r=0,(k|0)!=1)for(u=k&2147483646,t=0;l0(p+(m(i[e+12>>2],r)<<1)|0,Z+(m(i[e+28>>2],r)<<1)|0,o),h=r|1,l0(p+(m(h,i[e+12>>2])<<1)|0,Z+(m(h,i[e+28>>2])<<1)|0,o),r=r+2|0,t=t+2|0,(u|0)!=(t|0););if(!(k&1))break A;l0(p+(m(i[e+12>>2],r)<<1)|0,Z+(m(i[e+28>>2],r)<<1)|0,o)}i[f+4>>2]=A,i[f>>2]=n;break r}if(i[f>>2]=0,i[f+4>>2]=0,f=i[A+4>>2],i[A+4>>2]=f-1,f)break r;V[i[i[A>>2]+8>>2]](A),g(A)}if(!w||(f=i[w+4>>2],i[w+4>>2]=f-1,f))break i;V[i[i[w>>2]+8>>2]](w),g(w)}B=e+32|0}function Bh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=Y(0),_=0,v=0,Z=0,p=Y(0),W=0,C=0,I=0,y=Y(0),E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=Y(0),f0=0,n0=0,h0=0,j=0,L=Y(0),p0=0,X0=0,G0=0,I0=0,Q0=0,F0=0,Y0=0,S0=0;o=B+-64|0,B=o,e=i[r>>2],C=i[e+28>>2],I=i[e+24>>2],A=U0(e,0),E=H2(i[r>>2],6),n=i[k+4>>2],t=U(136),i[t>>2]=72792,i[t+4>>2]=0,i[t+8>>2]=0,B0(t+20|0,0,104),e=i[t+4>>2],W=e+1|0,i[t+4>>2]=W,i[t+56>>2]=0,i[t+60>>2]=0,i[t+44>>2]=99,i[t+48>>2]=99,i[t+32>>2]=3795,u=t- -64|0,i[u>>2]=0,i[u+4>>2]=0,i[t+132>>2]=0,i[t+124>>2]=0,i[t+128>>2]=0,i[t+84>>2]=1,i[t+88>>2]=1,i[t+72>>2]=t+76,i[t+92>>2]=0,i[t+96>>2]=0,i[t+100>>2]=0,i[t+104>>2]=0,i[t+108>>2]=0,i[t+112>>2]=0,l[t+113|0]=0,l[t+114|0]=0,l[t+115|0]=0,l[t+116|0]=0,l[t+117|0]=0,l[t+118|0]=0,l[t+119|0]=0,l[t+120|0]=0,_=t+12|0,i[t+12>>2]=_,i[t+8>>2]=i[t+8>>2]+1,i[t+4>>2]=e,i[t+16>>2]=t,W||(V[i[i[t>>2]+8>>2]](t),g(t)),i[_+36>>2]=i[k+4>>2],i[_+32>>2]=1,i[_+28>>2]=C,i[_+24>>2]=I;i:{r:{if(!J0(_,10,I,C,A)||E&&!J0(_,6,I,C,A))break r;if(i[o+60>>2]=0,i[o+56>>2]=0,i[o+52>>2]=0,i[o+48>>2]=0,i[o+44>>2]=0,Z=v0(_,10,o+60|0),H=v0(i[r>>2],0,o+56|0),a=v0(i[r>>2],1,o+52|0),S=v0(i[r>>2],2,o+48|0),E&&(q=v0(i[r>>2],6,o+44|0)),i[o+36>>2]=-1086926434,i[o+40>>2]=1071829221,i[o+28>>2]=1068725436,i[o+32>>2]=-1095748968,l[o+24|0]=1,r=i[r>>2],e=i[r+44>>2],v=i[r+48>>2],v&&(i[v+4>>2]=i[v+4>>2]+1),k=1,e&&(k=s[e+10|0],V6(o+4|0,Q[e+8>>1],Q[e+4>>1]),i[o+40>>2]=i[o+20>>2],e=i[o+16>>2],i[o+32>>2]=i[o+12>>2],i[o+36>>2]=e,e=i[o+8>>2],i[o+24>>2]=i[o+4>>2],i[o+28>>2]=e),!((C|0)<=0|(I|0)<=0))for(e=n&-2,J=(e|0)==14,d=E?8:6,A0=Y(16<<A-8),r=(e|0)==14,f0=r?6:7,n0=(e|0)!=14,e=-1<<A^-1,W=e>>>8|0,z=1<<A-1,h0=(r?4:5)+Z|0,j=(r?2:3)+Z|0,r=0,L=Z0[o+28>>2],p0=i[o+48>>2],X0=i[o+52>>2],G0=i[o+56>>2],R=k&1;;){for(I0=((m(r,G0)|0)/2<<1)+H|0,A=r>>>1|0,Q0=((m(A,p0)|0)/2<<1)+S|0,F0=((m(A,X0)|0)/2<<1)+a|0,k=0;;){A=k&-2,w=Y(Q[A+Q0>>1]-z|0),y=R?w:Y(w*Y(1.142899990081787)),w=Y(Q[(k<<1)+I0>>1]),w=R?w:Y(Y(w-A0)*Y(1.1689000129699707)),p=Y(Y(Y(L*y)+w)+Y(.5));e:{if(Y(d0(p))<Y(2147483648)){u=~~p;break e}u=-2147483648}p=Y(Q[A+F0>>1]-z|0),p=R?p:Y(p*Y(1.142899990081787)),n=0,A=0;e:{if((u|0)<0)break e;if((e|0)<(u|0)){n=e,A=W;break e}n=u,A=u>>>8|0}Y0=n,n=0,y=Y(Y(Y(Z0[o+36>>2]*y)+Y(Y(Z0[o+32>>2]*p)+w))+Y(.5));e:{if(Y(d0(y))<Y(2147483648)){h=~~y;break e}h=-2147483648}u=0;e:{if((h|0)<0)break e;if((e|0)<(h|0)){n=W,u=e;break e}n=h>>>8|0,u=h}S0=u,D=0,w=Y(Y(Y(Z0[o+40>>2]*p)+w)+Y(.5));e:{if(Y(d0(w))<Y(2147483648)){h=~~w;break e}h=-2147483648}u=0;e:{if((h|0)<0)break e;if((e|0)<(h|0)){D=W,u=e;break e}D=h>>>8|0,u=h}if(h=m(k,d),l[(h+(m(i[o+60>>2],r)+Z|0)|0)+J|0]=A,l[((h+(m(i[o+60>>2],r)+Z|0)|0)+J|0)+2|0]=n,l[((h+(m(i[o+60>>2],r)+Z|0)|0)+J|0)+4|0]=D,l[((h|n0)+Z|0)+m(i[o+60>>2],r)|0]=Y0,l[(h+j|0)+m(i[o+60>>2],r)|0]=S0,l[(h+h0|0)+m(i[o+60>>2],r)|0]=u,E&&(A=k<<3,n=(((m(i[o+44>>2],r)|0)/2|0)+k<<1)+q|0,l[((A+(m(i[o+60>>2],r)+Z|0)|0)+J|0)+6|0]=s[n+1|0],l[((A|f0)+Z|0)+m(i[o+60>>2],r)|0]=s[n|0]),k=k+1|0,(I|0)==(k|0))break}if(r=r+1|0,(C|0)==(r|0))break}if(i[f+4>>2]=t,i[f>>2]=_,!v||(f=i[v+4>>2],i[v+4>>2]=f-1,f))break i;V[i[i[v>>2]+8>>2]](v),g(v);break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[t+4>>2],i[t+4>>2]=f-1,f)break i;V[i[i[t>>2]+8>>2]](t),g(t)}B=o- -64|0}function m8(f,e,r,A,k,n,t,o,u){var h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0;h=u<<2,Z=i[h+45024>>2]+n|0,h=i[h+45008>>2],p=Z+h|0,w=i[(o<<2)+45008>>2];i:{r:switch(o|0){case 0:if(v=0-h|0,(Z|0)<=(v|0)|(k|0)<=0)break i;for(C=(h<<1)+t|0,I=r-w|0,y=k&2147483644,W=k&3,E=k>>>0<4;;){if(w=(v<<1)+C|0,h=m(A,v)+I|0,_=0,!E)for(;X[w>>1]=s[h|0],r=p<<1,w=r+w|0,X[w>>1]=s[h+1|0],w=r+w|0,X[w>>1]=s[h+2|0],w=r+w|0,X[w>>1]=s[h+3|0],w=r+w|0,h=h+4|0,_=_+4|0,(y|0)!=(_|0););if(r=0,W)for(;X[w>>1]=s[h|0],h=h+1|0,w=(p<<1)+w|0,r=r+1|0,(W|0)!=(r|0););if(v=v+1|0,(Z|0)==(v|0))break}break i;case 1:if(_=0-h|0,(Z|0)<=(_|0)|(k|0)<=0)break i;for(v=(h<<1)+t|0,W=r-w|0;;){for(w=v+(_<<1)|0,h=W+m(A,_)|0,r=0;X[w>>1]=s[h+6|0]+((((((s[h+1|0]<<2)-s[h|0]|0)+m(s[h+2|0],-10)|0)+m(s[h+3|0],58)|0)+m(s[h+4|0],17)|0)+m(s[h+5|0],-5)|0),h=h+1|0,w=(p<<1)+w|0,r=r+1|0,(k|0)!=(r|0););if(_=_+1|0,(Z|0)==(_|0))break}break i;case 2:if(_=0-h|0,(Z|0)<=(_|0)|(k|0)<=0)break i;for(v=(h<<1)+t|0,W=r-w|0;;){for(w=v+(_<<1)|0,h=W+m(A,_)|0,r=0;X[w>>1]=(((((s[h+1|0]<<2)-s[h|0]|0)+m(s[h+4|0]+s[h+3|0]|0,40)|0)+(s[h+6|0]<<2)|0)-s[h+7|0]|0)+m(s[h+5|0]+s[h+2|0]|0,-11),h=h+1|0,w=(p<<1)+w|0,r=r+1|0,(k|0)!=(r|0););if(_=_+1|0,(Z|0)==(_|0))break}break i;case 3:break r;default:break i}if(_=0-h|0,(Z|0)<=(_|0)|(k|0)<=0)break i;for(v=(h<<1)+t|0,W=r-w|0;;){for(w=v+(_<<1)|0,h=W+m(A,_)|0,r=0;X[w>>1]=(((((s[h|0]+m(s[h+1|0],-5)|0)+m(s[h+2|0],17)|0)+m(s[h+3|0],58)|0)+m(s[h+4|0],-10)|0)+(s[h+5|0]<<2)|0)-s[h+6|0],h=h+1|0,w=(p<<1)+w|0,r=r+1|0,(k|0)!=(r|0););if(_=_+1|0,(Z|0)==(_|0))break}}A=o?6:0;i:{r:switch(u|0){case 3:if((k|0)<=0|(n|0)<=0)break i;for(_=0;;){for(w=(_<<1)+f|0,h=(m(_,p)<<1)+t|0,r=0;X[w>>1]=(((((X[h>>1]+m(X[h+2>>1],-5)|0)+m(X[h+4>>1],17)|0)+m(X[h+6>>1],58)|0)+m(X[h+8>>1],-10)|0)+(X[h+10>>1]<<2)|0)-X[h+12>>1]>>A,h=h+2|0,w=(e<<1)+w|0,r=r+1|0,(n|0)!=(r|0););if(_=_+1|0,(_|0)==(k|0))break}break i;case 2:if((k|0)<=0|(n|0)<=0)break i;for(_=0;;){for(w=(_<<1)+f|0,h=(m(_,p)<<1)+t|0,r=0;X[w>>1]=(((((X[h+2>>1]<<2)-X[h>>1]|0)+m(X[h+8>>1]+X[h+6>>1]|0,40)|0)+(X[h+12>>1]<<2)|0)-X[h+14>>1]|0)+m(X[h+10>>1]+X[h+4>>1]|0,-11)>>A,h=h+2|0,w=(e<<1)+w|0,r=r+1|0,(n|0)!=(r|0););if(_=_+1|0,(_|0)==(k|0))break}break i;case 1:if((k|0)<=0)break i;for(_=0,o=(n|0)<=0;;){if(!o)for(w=(_<<1)+f|0,h=(m(_,p)<<1)+t|0,r=0;X[w>>1]=X[h+12>>1]+((((((X[h+2>>1]<<2)-X[h>>1]|0)+m(X[h+4>>1],-10)|0)+m(X[h+6>>1],58)|0)+m(X[h+8>>1],17)|0)+m(X[h+10>>1],-5)|0)>>A,h=h+2|0,w=(e<<1)+w|0,r=r+1|0,(n|0)!=(r|0););if(_=_+1|0,(_|0)==(k|0))break}break i;case 0:break r;default:break i}if((k|0)<=0)break i;for(_=n&2147483644,u=n&3,A=0,Z=(n|0)<=0;;){r:{if(Z)break r;if(w=(A<<1)+f|0,h=(m(A,p)<<1)+t|0,r=0,n>>>0>3)for(;X[w>>1]=Q[h>>1],o=e<<1,w=o+w|0,X[w>>1]=Q[h+2>>1],w=o+w|0,X[w>>1]=Q[h+4>>1],w=o+w|0,X[w>>1]=Q[h+6>>1],w=o+w|0,h=h+8|0,r=r+4|0,(_|0)!=(r|0););if(r=0,!u)break r;for(;X[w>>1]=Q[h>>1],h=h+2|0,w=(e<<1)+w|0,r=r+1|0,(u|0)!=(r|0););}if(A=A+1|0,(k|0)==(A|0))break}}}function Rk(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0;C=B-2176|0,B=C;i:{if((e|0)<=0)break i;p=e>>>1|0;r:{if(e>>>0>=8){for(h=e>>>2|0,z=e&2,D=p&1073741822,t=C- -64|0,k=C;;){e:{if((e|0)==1)break e;if(w=(m(A,J)<<1)+r|0,n=0,o=0,(p|0)!=1)for(;_=n<<1,u=_+w|0,Z=t+_|0,_=n+p<<1,v=_+w|0,X[Z>>1]=Q[v>>1]+Q[u>>1],X[t+_>>1]=Q[u>>1]-Q[v>>1],u=n|1,_=u<<1,Z=_+t|0,u=u+p<<1,v=u+w|0,_=w+_|0,X[Z>>1]=Q[v>>1]+Q[_>>1],X[t+u>>1]=Q[_>>1]-Q[v>>1],n=n+2|0,o=o+2|0,(D|0)!=(o|0););if(!z)break e;u=n<<1,o=u+w|0,n=n+p<<1,w=n+w|0,X[t+u>>1]=Q[w>>1]+Q[o>>1],X[n+t>>1]=Q[o>>1]-Q[w>>1]}for(o=h,w=p;;){e:{if(n=t,t=k,!o)break e;for(I=o&536870910,E=o&1,u=0;;){if(k=0,_=0,(o|0)!=1)for(;v=k+u|0,W=v<<1,Z=W+t|0,R=o+v<<1,y=Q[R+n>>1],W=Q[n+W>>1],X[Z>>1]=y+W,X[t+R>>1]=W-y,v=v+1|0,W=v<<1,Z=W+t|0,v=o+v<<1,R=Q[v+n>>1],W=Q[n+W>>1],X[Z>>1]=R+W,X[t+v>>1]=W-R,k=k+2|0,_=_+2|0,(I|0)!=(_|0););if(E&&(k=k+u|0,_=k<<1,Z=_+t|0,k=k+o<<1,v=Q[k+n>>1],_=Q[n+_>>1],X[Z>>1]=v+_,X[k+t>>1]=_-v),u=u+w|0,!((u|0)<(e|0)))break}if(w=w>>>1|0,u=o>>>0>3,o=o>>>1|0,k=n,u)continue}break}for(o=m(e,J),k=0;w=C+128|0,u=k|1,_=(u<<1)+t|0,v=(k<<1)+t|0,X[w+(k+o<<1)>>1]=Q[_>>1]+Q[v>>1],X[w+(o+u<<1)>>1]=Q[v>>1]-Q[_>>1],k=k+2|0,(k|0)<(e|0););if(k=n,J=J+1|0,(J|0)==(e|0))break}break r}for(k=e-1|0,_=k&2,J=(k>>>1|0)+1&-2,v=p<<1,k=C- -64|0,z=v+k|0,D=p+2<<1,I=D+k|0,E=p+1<<1,W=E+k|0,R=e>>>0<3;;){e:{if((e|0)==1||(k=(m(A,o)<<1)+r|0,n=Q[k+v>>1],t=Q[k>>1],X[C+64>>1]=n+t,X[z>>1]=t-n,e>>>0<4)||(n=Q[k+E>>1],t=Q[k+2>>1],X[C+66>>1]=n+t,X[W>>1]=t-n,(p|0)==2))break e;n=Q[k+D>>1],k=Q[k+4>>1],X[C+68>>1]=n+k,X[I>>1]=k-n}if(n=m(e,o),t=0,k=0,!R)for(;w=C+128|0,h=C- -64|0,u=t|1,y=Q[h+(u<<1)>>1],Z=Q[h+(t<<1)>>1],X[w+(n+t<<1)>>1]=y+Z,X[w+(n+u<<1)>>1]=Z-y,y=t|2,u=Q[h+(y<<1)>>1],Z=w+(n+y<<1)|0,y=t|3,h=Q[h+(y<<1)>>1],X[Z>>1]=u+h,X[w+(n+y<<1)>>1]=u-h,t=t+4|0,k=k+2|0,(J|0)!=(k|0););if(_||(k=C+128|0,Z=k+(n+t<<1)|0,h=C- -64|0,w=t|1,u=Q[h+(w<<1)>>1],t=Q[h+(t<<1)>>1],X[Z>>1]=u+t,X[k+(n+w<<1)>>1]=t-u),o=o+1|0,(o|0)==(e|0))break}n=C,t=n- -64|0}if((e|0)<=0)break i;for(r=e>>>1|0,J=r>>>0<=1?1:r,A=e>>>2|0,p=0,v=e>>>0<8;;){k=0;r:{if((e|0)==1){k=n;break r}for(;h=C+128|0,w=r+k|0,o=Q[h+(m(w,e)+p<<1)>>1],h=h+(m(e,k)+p<<1)|0,X[(k<<1)+t>>1]=o+Q[h>>1],X[(w<<1)+t>>1]=Q[h>>1]-o,k=k+1|0,(J|0)!=(k|0););if(o=A,w=r,k=n,v)break r;for(;;){if(k=t,t=n,!o)break r;for(z=o&536870910,D=o&1,u=0;;){if(n=0,_=0,(o|0)!=1)for(;h=n+u|0,I=h<<1,Z=I+t|0,E=o+h<<1,W=Q[E+k>>1],I=Q[k+I>>1],X[Z>>1]=W+I,X[t+E>>1]=I-W,h=h+1|0,I=h<<1,Z=I+t|0,h=o+h<<1,E=Q[h+k>>1],I=Q[k+I>>1],X[Z>>1]=E+I,X[t+h>>1]=I-E,n=n+2|0,_=_+2|0,(z|0)!=(_|0););if(D&&(n=n+u|0,h=n<<1,Z=h+t|0,n=n+o<<1,_=Q[n+k>>1],h=Q[k+h>>1],X[Z>>1]=_+h,X[n+t>>1]=h-_),u=u+w|0,!((u|0)<(e|0)))break}if(w=w>>>1|0,h=o>>>0>3,o=o>>>1|0,n=k,!h)break}}for(o=(p<<1)+f|0,n=0;w=n|1,h=(w<<1)+t|0,u=(n<<1)+t|0,X[o+(m(e,n)<<1)>>1]=Q[h>>1]+Q[u>>1],X[o+(m(e,w)<<1)>>1]=Q[u>>1]-Q[h>>1],n=n+2|0,(n|0)<(e|0););if(n=k,p=p+1|0,(p|0)==(e|0))break}}B=C+2176|0}function Dk(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0;C=B;i:{r:{e:{A:{f:{k:{n:{t:{o:{u:{if(!k||!(u0(r,1)&255))break u;if(t){if(f=0,e=M0(r),(e|0)==-99999|(e|0)>=(k|0))break e;f=e^-1}else f=-1;if(h=f+k|0,(h|0)<0)break t;if(e=u0(r,1),f=M0(r),(f|0)==-99999)break i;for(Z=s[(i[n>>2]+m(h,100)|0)+98|0],k=Z+16&496,u=C-k|0,t=u,B=t,o=f^-1,_=f+1|0,w=t-k|0,B=w,k=0;f=u0(r,1),l[k+u|0]=f,t=k+w|0,f&255?f=1:f=u0(r,1),l[t|0]=f,f=(k|0)!=(Z|0),k=k+1|0,!!f;);o=e?o:_,r=m(h,100),e=r+i[n>>2]|0,f=s[e+96|0],e=s[e+97|0];l:{if(!e){t=0;break l}for(_=A- -64|0,t=0,v=e>>>0<17,k=e;;){if(p=i[n>>2],h>>>0>=(i[n+4>>2]-p|0)/100>>>0)break n;if(!v)break k;k=k-1|0,p=o+X[((r+p|0)+(k<<1)|0)+32>>1]|0;s:{if((p|0)>=0||(W=f+k|0,!s[W+w|0]))break s;if((t|0)>15)break i;X[(t<<1)+A>>1]=p,l[t+_|0]=s[u+W|0],t=t+1|0}if(!k)break}}if(!(!s[w+Z|0]|(o|0)>=0)){if((t|0)>15)break i;X[(t<<1)+A>>1]=o,l[(A+t|0)- -64|0]=s[u+Z|0],t=t+1|0}l:{if(!f){l[A+96|0]=t,k=0;break l}for(r=A- -64|0,k=0,_=m(h,100);;){if(v=o+X[(_+i[n>>2]|0)+(k<<1)>>1]|0,!(!s[k+w|0]|(v|0)>=0)){if((t|0)>15)break i;X[(t<<1)+A>>1]=v,l[r+t|0]=s[k+u|0],t=t+1|0}if(k=k+1|0,(f|0)==(k|0))break}if(l[A+96|0]=t,!f){k=0;break l}for(_=A+80|0,v=A+32|0,k=0,p=m(h,100),t=f;;){if(r=t,t=t-1|0,W=o+X[(p+i[n>>2]|0)+(t<<1)>>1]|0,!((W|0)<=0|!s[t+w|0])){if((k|0)>15)break i;X[v+(k<<1)>>1]=W,l[k+_|0]=s[t+u|0],k=k+1|0}if(!((r|0)>1))break}}if(!(!s[w+Z|0]|(o|0)<=0)){if((k|0)>15)break i;X[((k<<1)+A|0)+32>>1]=o,l[(A+k|0)+80|0]=s[u+Z|0],k=k+1|0}if(e)for(r=A+80|0,Z=A+32|0,t=0,h=m(h,100);;){_=o+X[((h+i[n>>2]|0)+(t<<1)|0)+32>>1]|0;l:{if((_|0)<=0||(v=f+t|0,!s[v+w|0]))break l;if((k|0)>15)break i;X[Z+(k<<1)>>1]=_,l[r+k|0]=s[u+v|0],k=k+1|0}if(t=t+1|0,(e|0)==(t|0))break}l[A+97|0]=k;break o}if(n=M0(r),o=M0(r),!((n|0)!=-99999&(o|0)!=-99999))break r;if(i[((l[e+2|0]<<2)+e|0)+524>>2]<(n+o|0)){X[A+96>>1]=0,X[A+98>>1]=0;break r}if(!((o|0)<17&(n|0)<=16))break r;if(l[A+97|0]=o,l[A+96|0]=n,(n|0)>0)for(t=A- -64|0,f=0,k=0,e=0;;){if(u=M0(r),(u|0)==-99999)break e;if(w=u0(r,1),h=(k<<1)+A|0,X[h>>1]=(u^-1)+e,l[k+t|0]=w,e=Q[h>>1],k=k+1|0,(n|0)==(k|0))break}if((o|0)<=0)break o;for(e=A+80|0,n=A+32|0,f=0,k=0,t=0;;){if(u=M0(r),(u|0)==-99999)break e;if(w=u0(r,1),h=n+(k<<1)|0,X[h>>1]=(t+u|0)+1,l[e+k|0]=w,t=Q[h>>1],k=k+1|0,(o|0)==(k|0))break}}if(k=0,l[A+99|0]=0,f=s[A+96|0],!f)break A;if(n=f&1,e=A- -64|0,(f|0)==1){r=0;break f}for(o=f&254,r=0,t=0;u=e+r|0,s[u|0]&&(k=k+1|0,l[A+99|0]=k),s[u+1|0]&&(k=k+1|0,l[A+99|0]=k),r=r+2|0,t=t+2|0,(o|0)!=(t|0););break f}C0(17134,14045,129,3344),P()}C0(18501,14045,174,3344),P()}C0(14916,14045,175,3344),P()}if(!n|!s[e+r|0])break A;k=k+1|0,l[A+99|0]=k}e=s[A+97|0];A:{if(!e)break A;if(n=A+80|0,r=0,(e|0)!=1)for(o=e&254,t=0;u=r+n|0,s[u|0]&&(k=k+1|0,l[A+99|0]=k),s[u+1|0]&&(k=k+1|0,l[A+99|0]=k),r=r+2|0,t=t+2|0,(o|0)!=(t|0););if(!(e&1)|!s[r+n|0])break A;l[A+99|0]=k+1}l[A+98|0]=f+e,f=1}return B=C,f}v2(f,1018,0)}return B=C,0}function Zh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0;e=B-32|0,B=e,k=U0(i[r>>2],0),w=U0(i[r>>2],1),_=U0(i[r>>2],2),C=H2(i[r>>2],6),C&&(v=U0(i[r>>2],6));i:{if(!(!(k>>>0>8|w>>>0>8)&_>>>0<9)){i[f>>2]=0,i[f+4>>2]=0;break i}if(!((k|0)==(w|0)&(k|0)==(_|0))){i[f>>2]=0,i[f+4>>2]=0;break i}A=i[r>>2],h=i[A+48>>2],h&&(i[h+4>>2]=i[h+4>>2]+1,A=i[r>>2]),n=i[A+28>>2],o=i[A+24>>2],A=U(136),i[A>>2]=72792,i[A+4>>2]=0,i[A+8>>2]=0,B0(A+20|0,0,104),u=i[A+4>>2],W=u+1|0,i[A+4>>2]=W,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,t=A- -64|0,i[t>>2]=0,i[t+4>>2]=0,i[A+132>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+84>>2]=1,i[A+88>>2]=1,i[A+72>>2]=A+76,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,l[A+113|0]=0,l[A+114|0]=0,l[A+115|0]=0,l[A+116|0]=0,l[A+117|0]=0,l[A+118|0]=0,l[A+119|0]=0,l[A+120|0]=0,t=A+12|0,i[A+12>>2]=t,i[A+8>>2]=i[A+8>>2]+1,i[A+4>>2]=u,i[A+16>>2]=A,W||(V[i[i[A>>2]+8>>2]](A),g(A)),i[t+36>>2]=3,i[t+32>>2]=0,i[t+28>>2]=n,i[t+24>>2]=o;r:{e:{if(!J0(t,0,o,n,k)||!J0(t,1,o,n,w)||!J0(t,2,o,n,_)||C&&!J0(t,6,o,n,v))break e;k=0,i[e+28>>2]=0,i[e+24>>2]=0,i[e+20>>2]=0,i[e+16>>2]=0,i[e+12>>2]=0,i[e+8>>2]=0,i[e+4>>2]=0,i[e>>2]=0,w=v0(i[r>>2],0,e+28|0),W=v0(i[r>>2],1,e+24|0),y=v0(i[r>>2],2,e+20|0),_=v0(t,0,e+12|0),v=v0(t,1,e+8|0),u=v0(t,2,e+4|0),C&&(R=v0(i[r>>2],6,e+16|0),D=v0(t,6,e));A:{if((n|0)<=0)break A;for(;l[v+m(i[e+8>>2],k)|0]=s[W+m(i[e+24>>2],k)|0],l[u+m(i[e+4>>2],k)|0]=s[m(i[e+20>>2],k)+y|0],k=k+1|0,(n|0)!=(k|0););if(!(o&1)){if((n|0)<=0)break A;for(k=(o+u|0)-1|0,I=(o+v|0)-1|0,r=o>>1,p=(r+y|0)-1|0,E=(r+W|0)-1|0,r=0;l[I+m(i[e+8>>2],r)|0]=s[E+m(i[e+24>>2],r)|0],l[k+m(i[e+4>>2],r)|0]=s[p+m(i[e+20>>2],r)|0],r=r+1|0,(n|0)!=(r|0););}if((n|0)<=0)break A;if((o|0)>=3){for(E=o-1|0,k=0;;){for(r=1;Z=r>>>1|0,p=Z+(m(i[e+20>>2],k)+y|0)|0,I=s[p+1|0],p=s[p|0],Z=Z+(W+m(i[e+24>>2],k)|0)|0,J=s[Z|0],Z=s[Z+1|0],l[(v+m(i[e+8>>2],k)|0)+r|0]=(m(J,3)+Z|0)+2>>>2,l[((v+m(i[e+8>>2],k)|0)+r|0)+1|0]=(m(Z,3)+J|0)+2>>>2,l[(u+m(i[e+4>>2],k)|0)+r|0]=(I+m(p,3)|0)+2>>>2,l[((u+m(i[e+4>>2],k)|0)+r|0)+1|0]=(p+m(I,3)|0)+2>>>2,r=r+2|0,(E|0)>(r|0););if(k=k+1|0,(n|0)==(k|0))break}if((n|0)<=0)break A}if(C){for(r=0;l0(_+m(i[e+12>>2],r)|0,w+m(i[e+28>>2],r)|0,o),l0(m(i[e>>2],r)+D|0,m(i[e+16>>2],r)+R|0,o),r=r+1|0,(n|0)!=(r|0););break A}if(r=0,(n|0)!=1)for(v=n&2147483646,k=0;l0(_+m(i[e+12>>2],r)|0,w+m(i[e+28>>2],r)|0,o),u=r|1,l0(_+m(u,i[e+12>>2])|0,w+m(u,i[e+28>>2])|0,o),r=r+2|0,k=k+2|0,(v|0)!=(k|0););if(!(n&1))break A;l0(_+m(i[e+12>>2],r)|0,w+m(i[e+28>>2],r)|0,o)}i[f+4>>2]=A,i[f>>2]=t;break r}if(i[f>>2]=0,i[f+4>>2]=0,f=i[A+4>>2],i[A+4>>2]=f-1,f)break r;V[i[i[A>>2]+8>>2]](A),g(A)}if(!h||(f=i[h+4>>2],i[h+4>>2]=f-1,f))break i;V[i[i[h>>2]+8>>2]](h),g(h)}B=e+32|0}function ph(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0;e=B-16|0,B=e,A=U(136),i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=72792,B0(A+20|0,0,104),k=i[A+4>>2],w=k+1|0,i[A+4>>2]=w,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,n=A- -64|0,i[n>>2]=0,i[n+4>>2]=0,i[A+132>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+84>>2]=1,i[A+88>>2]=1,i[A+72>>2]=A+76,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,l[A+113|0]=0,l[A+114|0]=0,l[A+115|0]=0,l[A+116|0]=0,l[A+117|0]=0,l[A+118|0]=0,l[A+119|0]=0,l[A+120|0]=0,n=A+12|0,i[A+12>>2]=n,i[A+8>>2]=i[A+8>>2]+1,i[A+4>>2]=k,i[A+16>>2]=A,w||(V[i[i[A>>2]+8>>2]](A),g(A)),k=i[r>>2],_=i[k+24>>2],w=i[k+28>>2],k=w,i[n+36>>2]=1,i[n+32>>2]=0,i[n+28>>2]=k,i[n+24>>2]=_,t=(k+1|0)/2|0,h=(_+1|0)/2|0;i:{r:{if(o=U0(i[r>>2],0),!J0(n,0,_,k,o)||!J0(n,1,h,t,o)||!J0(n,2,h,t,o)||(I=H2(i[r>>2],6),I&&(y=U0(i[r>>2],6),!J0(n,6,_,k,y))))break r;e:{if(o>>>0<=8){if(k=0,i[e+12>>2]=0,i[e+8>>2]=0,i[e+4>>2]=0,i[e>>2]=0,h=v0(i[r>>2],0,e),u=v0(n,0,e+4|0),v=v0(n,1,e+12|0),p=v0(n,2,e+8|0),o=1<<o-1,B0(v,o,m(t,i[e+12>>2])),B0(p,o,m(t,i[e+8>>2])),(w|0)<=0)break e;if((w|0)!=1)for(o=w&2147483646,t=0;l0(u+m(i[e+4>>2],k)|0,h+m(i[e>>2],k)|0,_),v=k|1,l0(u+m(v,i[e+4>>2])|0,h+m(v,i[e>>2])|0,_),k=k+2|0,t=t+2|0,(o|0)!=(t|0););if(!(w&1))break e;l0(u+m(i[e+4>>2],k)|0,h+m(i[e>>2],k)|0,_);break e}if(i[e+12>>2]=0,i[e+8>>2]=0,i[e+4>>2]=0,i[e>>2]=0,v=v0(i[r>>2],0,e),p=v0(n,0,e+4|0),J=v0(n,1,e+12|0),R=v0(n,2,e+8|0),i[e>>2]=i[e>>2]/2,i[e+4>>2]=i[e+4>>2]/2,(w|0)<=0)break e;if(D=i[e+8>>2]/2|0,z=i[e+12>>2]/2|0,(_|0)>0){for(k=128<<o-8,H=(t|0)<=1?1:t,t=(h|0)<=1?1:h,a=t&1073741820,E=t&3,S=(_|0)<7;;){if(o=(m(C,D)<<1)+R|0,h=(m(C,z)<<1)+J|0,t=0,Z=0,!S)for(;u=t<<1,X[u+h>>1]=k,X[o+u>>1]=k,W=u|2,X[W+h>>1]=k,X[o+W>>1]=k,W=u|4,X[W+h>>1]=k,X[o+W>>1]=k,u=u|6,X[u+h>>1]=k,X[o+u>>1]=k,t=t+4|0,Z=Z+4|0,(a|0)!=(Z|0););if(u=0,E)for(;Z=t<<1,X[Z+h>>1]=k,X[o+Z>>1]=k,t=t+1|0,u=u+1|0,(E|0)!=(u|0););if(C=C+1|0,(H|0)==(C|0))break}if((w|0)<=0)break e}if(t=_<<1,k=0,(w|0)!=1)for(h=w&2147483646,o=0;l0(p+(m(i[e+4>>2],k)<<1)|0,v+(m(i[e>>2],k)<<1)|0,t),u=k|1,l0(p+(m(u,i[e+4>>2])<<1)|0,v+(m(u,i[e>>2])<<1)|0,t),k=k+2|0,o=o+2|0,(h|0)!=(o|0););if(!(w&1))break e;l0(p+(m(i[e+4>>2],k)<<1)|0,v+(m(i[e>>2],k)<<1)|0,t)}e:{if(!I||(k=0,i[e+12>>2]=0,i[e+8>>2]=0,r=v0(i[r>>2],6,e+12|0),t=v0(n,6,e+8|0),(w|0)<=0))break e;if(_=_<<(y>>>0>8),(w|0)!=1)for(o=w&2147483646,u=0;l0(t+m(i[e+8>>2],k)|0,r+m(i[e+12>>2],k)|0,_),h=k|1,l0(t+m(h,i[e+8>>2])|0,r+m(h,i[e+12>>2])|0,_),k=k+2|0,u=u+2|0,(o|0)!=(u|0););if(!(w&1))break e;l0(t+m(i[e+8>>2],k)|0,r+m(i[e+12>>2],k)|0,_)}i[f+4>>2]=A,i[f>>2]=n;break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[A+4>>2],i[A+4>>2]=f-1,f)break i;V[i[i[A>>2]+8>>2]](A),g(A)}B=e+16|0}function s4(f,e,r,A,k,n,t,o,u){var h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0;w=B-112|0,B=w,h=u&2147483647;i:{r:{if(v=k&2147483647,_=2147418112,Z=!(e|r),!(A|v?v-_>>>0<2147549184:Z)&&(I=h-_|0,!o&(I|0)==-2147418112?n|t:(I|0)==-2147418112&(o|0)!=0|I>>>0>2147549184))break r;if(!(!A&(v|0)==2147418112?Z:v>>>0<2147418112)){o=A,u=k|32768,n=e,t=r;break i}if(!(!o&(h|0)==2147418112?!(n|t):h>>>0<2147418112)){u=u|32768;break i}if(!(e|A|(v^2147418112|r))){h=A,A=!(e^n|A^o|(r^t|k^u^-2147483648)),o=A?0:h,u=A?2147450880:k,n=A?0:e,t=A?0:r;break i}if(_=n|o,!(_|(h^2147418112|t)))break i;if(!(e|A|(r|v))){if(t|h|_)break i;n=e&n,t=r&t,o=A&o,u=k&u;break i}if(n|o|(t|h))break r;n=e,t=r,o=A,u=k;break i}_=(h|0)==(v|0),W=_&(A|0)==(o|0)?(r|0)==(t|0)&e>>>0<n>>>0|r>>>0<t>>>0:_&A>>>0<o>>>0|h>>>0>v>>>0,Z=W,v=Z?n:e,I=Z?t:r,_=Z?u:k,y=_,Z=Z?o:A,C=_&65535,h=W?A:o,_=W?k:u,A=_,_=A>>>16&32767,p=y>>>16&32767,p||(p=!(Z|C),o=p,p=o<<6,E=$2(o?v:Z)+32|0,o=$2(o?I:C),p=p+((o|0)==32?E:o)|0,L1(w+96|0,v,I,Z,C,p-15|0),Z=i[w+104>>2],C=i[w+108>>2],I=i[w+100>>2],p=16-p|0,v=i[w+96>>2]),n=W?e:n,t=W?r:t,e=h,r=A&65535,_||(h=!(e|r),W=h,A=h?n:e,h=h<<6,W=$2(W?t:r),h=h+((W|0)==32?$2(A)+32|0:W)|0,L1(w+80|0,n,t,e,r,h-15|0),_=16-h|0,n=i[w+80>>2],t=i[w+84>>2],e=i[w+88>>2],r=i[w+92>>2]),A=r<<3,r=e,e=A|e>>>29,h=r<<3,r=e,e=t>>>29|h,r=r|524288,h=C<<3|Z>>>29,C=Z<<3|I>>>29,W=h,o=k^u,h=t<<3|n>>>29,A=n<<3;r:{if((_|0)==(p|0))break r;if(k=p-_|0,k>>>0>127){e=0,r=0,h=0,A=1;break r}L1(w- -64|0,A,h,e,r,128-k|0),ti(w+48|0,A,h,e,r,k),e=i[w+56>>2],r=i[w+60>>2],h=i[w+52>>2],A=i[w+48>>2]|(i[w+64>>2]|i[w+72>>2]|(i[w+68>>2]|i[w+76>>2]))!=0}Z=A,_=h,W=W|524288,h=I<<3|v>>>29,v=v<<3;r:{if((o|0)<0){if(n=0,t=0,o=0,u=0,!(v^Z|e^C|(h^_|r^W)))break i;if(A=v-Z|0,k=h-((v>>>0<Z>>>0)+_|0)|0,n=C-e|0,t=(h|0)==(_|0)&v>>>0<Z>>>0|h>>>0<_>>>0,o=n-t|0,e=(W-((e>>>0>C>>>0)+r|0)|0)-(n>>>0<t>>>0)|0,u=e,e>>>0>524287)break r;r=!(e|o),t=r,u=r?A:o,r=r<<6,t=$2(t?k:e),r=r+((t|0)==32?$2(u)+32|0:t)|0,n=e,e=r-12|0,L1(w+32|0,A,k,o,n,e),p=p-e|0,o=i[w+40>>2],u=i[w+44>>2],A=i[w+32>>2],k=i[w+36>>2];break r}if(h=h+_|0,A=v+Z|0,k=A>>>0<v>>>0?h+1|0:h,n=(_|0)==(k|0)&A>>>0<Z>>>0|k>>>0<_>>>0,h=r+W|0,e=e+C|0,h=e>>>0<C>>>0?h+1|0:h,o=e+n|0,u=o>>>0<e>>>0?h+1|0:h,!(u&1048576))break r;A=Z&1|((k&1)<<31|A>>>1),k=o<<31|k>>>1,p=p+1|0,o=(u&1)<<31|o>>>1,u=u>>>1|0}if(n=0,e=y&-2147483648,v=e,(p|0)>=32767){o=n,u=e|2147418112,t=0;break i}_=0;r:{if((p|0)>0){_=p;break r}L1(w+16|0,A,k,o,u,p+127|0),ti(w,A,k,o,u,1-p|0),A=i[w>>2]|(i[w+16>>2]|i[w+24>>2]|(i[w+20>>2]|i[w+28>>2]))!=0,k=i[w+4>>2],o=i[w+8>>2],u=i[w+12>>2]}r=(k&7)<<29|A>>>3,e=o<<29|k>>>3,k=n|((u&7)<<29|o>>>3),n=v|(u>>>3&65535|_<<16);r:{e:{if(A=A&7,(A|0)!=4){u=n,n=A>>>0>4,t=n,n=r+n|0,t=t>>>0>n>>>0?e+1|0:e,e=(t|0)==(e|0)&r>>>0>n>>>0|e>>>0>t>>>0,o=e+k|0,u=e>>>0>o>>>0?u+1|0:u;break e}h=n,A=r&1,n=r+A|0,t=A>>>0>n>>>0?e+1|0:e,e=(t|0)==(e|0)&r>>>0>n>>>0|e>>>0>t>>>0,o=e+k|0,u=e>>>0>o>>>0?h+1|0:h;break r}if(!A)break i}}i[f>>2]=n,i[f+4>>2]=t,i[f+8>>2]=o,i[f+12>>2]=u,B=w+112|0}function Uk(f,e,r){var A=0,k=0,n=0,t=0;k=B-160|0,B=k,A=i[r+4>>2],r=i[r>>2],A=A-r|0;i:{if(A>>>0<=7){if(e=U(32),i[k+16>>2]=e,i[k+20>>2]=25,i[k+24>>2]=-2147483616,r=s[14528]|s[14529]<<8|(s[14530]<<16|s[14531]<<24),A=s[14524]|s[14525]<<8|(s[14526]<<16|s[14527]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+25|0]=0,l[e+24|0]=s[14548],r=s[14544]|s[14545]<<8|(s[14546]<<16|s[14547]<<24),A=s[14540]|s[14541]<<8|(s[14542]<<16|s[14543]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[14536]|s[14537]<<8|(s[14538]<<16|s[14539]<<24),A=s[14532]|s[14533]<<8|(s[14534]<<16|s[14535]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,118,k+16|0),l[k+27|0]>=0)break i;G(i[k+16>>2]);break i}if(n=s[r|0],n){i[k+24>>2]=54496,i[k+80>>2]=54516,e=i[13633],i[k+16>>2]=e,r=i[e-12>>2],e=k+16|0,i[r+e>>2]=i[13634],i[k+20>>2]=0,r=e+i[i[k+16>>2]-12>>2]|0,A=k+28|0,b0(r,A),i[r+72>>2]=0,i[r+76>>2]=-1,r=i[13635],i[k+24>>2]=r,t=k+24|0,i[t+i[r-12>>2]>>2]=i[13636],r=i[13632],i[k+16>>2]=r,i[e+i[r-12>>2]>>2]=i[13637],i[k+80>>2]=54516,i[k+16>>2]=54476,i[k+24>>2]=54496,e=$0(A),i[e>>2]=53552,i[k+68>>2]=0,i[k+72>>2]=0,i[k+60>>2]=0,i[k+64>>2]=0,i[k+76>>2]=24,x(H0(x(t,18893,19),n),12125,17),r=k+4|0,i2(r,e),r0(f,4,3002,r),l[k+15|0]<0&&G(i[k+4>>2]),f=i[13631],i[k+16>>2]=f,i[i[f-12>>2]+(k+16|0)>>2]=i[13639],i[k+24>>2]=i[13640],i[e>>2]=53552,l[k+71|0]<0&&G(i[k+60>>2]),K0(e),T0(k+80|0);break i}n=s[r+1|0],X[e>>1]=s[r+2|0]+1,X[e+2>>1]=s[r+3|0]+1;r:{if(n&1){if(n=11,A>>>0<=11){if(e=U(32),i[k+16>>2]=e,i[k+20>>2]=26,i[k+24>>2]=-2147483616,r=s[9318]|s[9319]<<8|(s[9320]<<16|s[9321]<<24),A=s[9314]|s[9315]<<8|(s[9316]<<16|s[9317]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+26|0]=0,r=s[9338]|s[9339]<<8,l[e+24|0]=r,l[e+25|0]=r>>>8,r=s[9334]|s[9335]<<8|(s[9336]<<16|s[9337]<<24),A=s[9330]|s[9331]<<8|(s[9332]<<16|s[9333]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[9326]|s[9327]<<8|(s[9328]<<16|s[9329]<<24),A=s[9322]|s[9323]<<8|(s[9324]<<16|s[9325]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,118,k+16|0),l[k+27|0]>=0)break i;G(i[k+16>>2]);break i}A=s[r+4|0]|s[r+5|0]<<8|(s[r+6|0]<<16|s[r+7|0]<<24),i[e+4>>2]=A<<24|(A&65280)<<8|(A>>>8&65280|A>>>24),A=s[r+9|0]<<16|s[r+8|0]<<24|s[r+10|0]<<8;break r}i[e+4>>2]=s[r+5|0]|s[r+4|0]<<8,n=7,A=s[r+6|0]<<8}if(i[e+8>>2]=A|s[r+n|0],e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+160|0}function Wh(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0;n=B+-64|0,B=n;i:{r:{e:{A:{f:{if(!(A&&e)){i[f>>2]=5,i[f+4>>2]=2001,i[f+8>>2]=12607;break f}if(o=U(120),i[o+4>>2]=0,i[o+8>>2]=0,i[o>>2]=72064,w=o+16|0,i[w+8>>2]=0,i[w+12>>2]=0,i[w+16>>2]=0,i[w+20>>2]=0,i[w+24>>2]=0,i[w+28>>2]=0,i[w+32>>2]=0,i[w>>2]=68500,i[o+52>>2]=0,i[o+56>>2]=0,i[o+68>>2]=0,l[o+57|0]=0,l[o+58|0]=0,l[o+59|0]=0,l[o+60|0]=0,l[o+61|0]=0,l[o+62|0]=0,l[o+63|0]=0,l[o+64|0]=0,i[w>>2]=70032,i[o+112>>2]=0,i[o+116>>2]=0,i[o+104>>2]=0,i[o+108>>2]=0,i[o+96>>2]=0,i[o+100>>2]=0,i[o+88>>2]=0,i[o+92>>2]=0,i[o+80>>2]=0,i[o+84>>2]=0,i[o+72>>2]=0,i[o+76>>2]=0,i[o+32>>2]=1969513843,t=i[A+4>>2],h=t||31341,u=G2(h),u>>>0>=2147483640)break A;k:{n:{if(u>>>0>=11){_=(u|7)+1|0,t=U(_),i[n+60>>2]=_|-2147483648,i[n+52>>2]=t,i[n+56>>2]=u;break n}if(l[n+63|0]=u,t=n+52|0,!u)break k}F2(t,h,u)}h=o+72|0,l[t+u|0]=0,t=l[n+63|0];k:{n:{if(l[o+83|0]>=0){if((t|0)>=0){t=i[n+56>>2],i[h>>2]=i[n+52>>2],i[h+4>>2]=t,i[h+8>>2]=i[n+60>>2];break k}i4(h,i[n+52>>2],i[n+56>>2]);break n}if(u=(t|0)<0,_4(h,u?i[n+52>>2]:n+52|0,u?i[n+56>>2]:t),l[n+63|0]>=0)break k}G(i[n+52>>2])}if(t=i[A+8>>2],h=t||31341,u=G2(h),u>>>0>=2147483640)break e;k:{n:{if(u>>>0>=11){_=(u|7)+1|0,t=U(_),i[n+48>>2]=_|-2147483648,i[n+40>>2]=t,i[n+44>>2]=u;break n}if(l[n+51|0]=u,t=n+40|0,!u)break k}F2(t,h,u)}l[t+u|0]=0,t=o+84|0,u=l[n+51|0];k:{n:{if(l[o+95|0]>=0){if((u|0)>=0){u=i[n+44>>2],i[t>>2]=i[n+40>>2],i[t+4>>2]=u,i[t+8>>2]=i[n+48>>2];break k}i4(t,i[n+40>>2],i[n+44>>2]);break n}h=t,t=(u|0)<0,_4(h,t?i[n+40>>2]:n+40|0,t?i[n+44>>2]:u)}if(l[n+51|0]>=0)break k;G(i[n+40>>2])}if(t=i[A+12>>2],h=t||31341,u=G2(h),u>>>0>=2147483640)break r;k:{n:{if(u>>>0>=11){_=(u|7)+1|0,t=U(_),i[n+36>>2]=_|-2147483648,i[n+28>>2]=t,i[n+32>>2]=u;break n}if(l[n+39|0]=u,t=n+28|0,!u)break k}F2(t,h,u)}l[t+u|0]=0,t=o+96|0,u=l[n+39|0];k:{n:{if(l[o+107|0]>=0){if((u|0)>=0){u=i[n+32>>2],i[t>>2]=i[n+28>>2],i[t+4>>2]=u,i[t+8>>2]=i[n+36>>2];break k}i4(t,i[n+28>>2],i[n+32>>2]);break n}h=t,t=(u|0)<0,_4(h,t?i[n+28>>2]:n+28|0,t?i[n+32>>2]:u)}if(l[n+39|0]>=0)break k;G(i[n+28>>2])}if(A=i[A+16>>2],u=A||31341,A=G2(u),A>>>0>=2147483640)break i;k:{n:{if(A>>>0>=11){h=(A|7)+1|0,t=U(h),i[n+24>>2]=h|-2147483648,i[n+16>>2]=t,i[n+20>>2]=A;break n}if(l[n+27|0]=A,t=n+16|0,!A)break k}F2(t,u,A)}l[A+t|0]=0,A=o+108|0,t=l[n+27|0];k:{n:{if(l[o+119|0]>=0){if((t|0)>=0){t=i[n+20>>2],i[A>>2]=i[n+16>>2],i[A+4>>2]=t,i[A+8>>2]=i[n+24>>2];break k}i4(A,i[n+16>>2],i[n+20>>2]);break n}h=A,A=(t|0)<0,_4(h,A?i[n+16>>2]:n+16|0,A?i[n+20>>2]:t)}if(l[n+27|0]>=0)break k;G(i[n+16>>2])}if(e=i[e>>2],i[n+12>>2]=o,i[n+8>>2]=w,i[o+4>>2]=i[o+4>>2]+1,A=i[n+12>>2],i[n>>2]=i[n+8>>2],i[n+4>>2]=A,e=Q3(e,r,n,0),k&&(i[k>>2]=e),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],f=i[o+4>>2],i[o+4>>2]=f-1,f)break f;V[i[i[o>>2]+8>>2]](o),g(o)}B=n- -64|0;return}c2(),P()}c2(),P()}c2(),P()}c2(),P()}function Xh(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;k=B-16|0,B=k;i:{if(!(i[e+8>>2]|i[e+12>>2])){if(e=U(48),i[k+4>>2]=e,i[k+8>>2]=44,i[k+12>>2]=-2147483600,r=s[12293]|s[12294]<<8|(s[12295]<<16|s[12296]<<24),A=s[12289]|s[12290]<<8|(s[12291]<<16|s[12292]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+44|0]=0,r=s[12329]|s[12330]<<8|(s[12331]<<16|s[12332]<<24),l[e+40|0]=r,l[e+41|0]=r>>>8,l[e+42|0]=r>>>16,l[e+43|0]=r>>>24,r=s[12325]|s[12326]<<8|(s[12327]<<16|s[12328]<<24),A=s[12321]|s[12322]<<8|(s[12323]<<16|s[12324]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[12317]|s[12318]<<8|(s[12319]<<16|s[12320]<<24),A=s[12313]|s[12314]<<8|(s[12315]<<16|s[12316]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[12309]|s[12310]<<8|(s[12311]<<16|s[12312]<<24),A=s[12305]|s[12306]<<8|(s[12307]<<16|s[12308]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[12301]|s[12302]<<8|(s[12303]<<16|s[12304]<<24),A=s[12297]|s[12298]<<8|(s[12299]<<16|s[12300]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,4,0,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}if(A=i[r+16>>2],A>>>0>=536870913){if(e=U(32),i[k+4>>2]=e,i[k+8>>2]=31,i[k+12>>2]=-2147483616,r=s[8972]|s[8973]<<8|(s[8974]<<16|s[8975]<<24),A=s[8968]|s[8969]<<8|(s[8970]<<16|s[8971]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+31|0]=0,r=s[8995]|s[8996]<<8|(s[8997]<<16|s[8998]<<24),A=s[8991]|s[8992]<<8|(s[8993]<<16|s[8994]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,l[e+27|0]=r,l[e+28|0]=r>>>8,l[e+29|0]=r>>>16,l[e+30|0]=r>>>24,r=s[8988]|s[8989]<<8|(s[8990]<<16|s[8991]<<24),A=s[8984]|s[8985]<<8|(s[8986]<<16|s[8987]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[8980]|s[8981]<<8|(s[8982]<<16|s[8983]<<24),A=s[8976]|s[8977]<<8|(s[8978]<<16|s[8979]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,0,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}n=i[e+48>>2],t=i[e+52>>2]-n|0;r:{if(t>>>0<A>>>0){L2(e+48|0,A-t|0),n=i[e+48>>2];break r}if(A>>>0>=t>>>0)break r;i[e+52>>2]=A+n}if(D6(r,n,A),s[r+20|0]==1){if(l[k+4|0]=0,l[k+15|0]=0,r0(f,2,100,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+16|0}function pr(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;u=B-32|0,B=u,i[u+28>>2]=0,i[u+20>>2]=0,i[u+24>>2]=0,I1(u,i[e>>2],r,u+20|0);i:{r:{if(i[u>>2]||(r=i[u+20>>2],t=i[u+24>>2],(r|0)==(t|0)))break r;for(;;){if(o=i[r>>2],i[o+16>>2]==1769173093){e:{A:{if(o=N0(o,68572,68596),o&&(r=i[r+4>>2],r))break A;t=i[o+60>>2],o=i[o+56>>2];break e}if(n=i[r+4>>2],_=n+1|0,i[r+4>>2]=_,t=i[o+60>>2],o=i[o+56>>2],i[r+4>>2]=n,_)break e;V[i[i[r>>2]+8>>2]](r),g(r)}if(!o|!t)break r;if(i[f+8>>2]=0,i[f+12>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,i[f+16>>2]=0,i[f+20>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0,i0[f+24>>3]=+(t|0)/+(k|0),i0[f>>3]=+(o|0)/+(A|0),r=i[u+20>>2],_=i[u+24>>2],(r|0)==(_|0))break i;for(;;){A=i[r>>2],k=i[A+16>>2];e:{A:{if((k|0)!=1668047216){if((k|0)!=1769107316){if((k|0)!=1768778098)break e;k=0,n=N0(A,68572,69532);f:{if(!n||(A=i[r+4>>2],!A))break f;i[A+4>>2]=i[A+4>>2]+1,k=A}if(A=i[n+48>>2],n=(((A|0)!=1)<<4)+f|0,i0[n>>3]=-i0[n>>3],A=(A|0)==1,n=(A?8:24)+f|0,i0[n>>3]=-i0[n>>3],n=(A?32:40)+f|0,i0[n>>3]=+((A?o:t)-1|0)-i0[n>>3],!k)break e;if(A=i[k+4>>2],i[k+4>>2]=A-1,!A)break A;break e}k=0,n=N0(A,68572,69472);f:{if(!n||(A=i[r+4>>2],!A))break f;i[A+4>>2]=i[A+4>>2]+1,k=A}A=i[n+48>>2];f:{k:{n:{if((A|0)!=270){if((A|0)!=180){if((A|0)!=90){A=t;break f}h=i0[f+32>>3],i0[f+32>>3]=i0[f+40>>3],v=i0[f+8>>3],i0[f+8>>3]=i0[f+24>>3],Z=i0[f>>3],i0[f>>3]=i0[f+16>>3],i0[f+24>>3]=-v,i0[f+16>>3]=-Z,h=+(o|0)-h+-1;break n}i0[f>>3]=-i0[f>>3],i0[f+8>>3]=-i0[f+8>>3],i0[f+16>>3]=-i0[f+16>>3],i0[f+24>>3]=-i0[f+24>>3],i0[f+32>>3]=+(o-1|0)-i0[f+32>>3],h=+(t-1|0)-i0[f+40>>3],A=t;break k}h=i0[f+24>>3],i0[f+24>>3]=i0[f+8>>3],v=i0[f+16>>3],i0[f+16>>3]=i0[f>>3],i0[f+8>>3]=-h,i0[f>>3]=-v,h=i0[f+32>>3],i0[f+32>>3]=+(t|0)-i0[f+40>>3]+-1}A=o,o=t}i0[f+40>>3]=h}if(!k){t=A;break e}if(n=i[k+4>>2],i[k+4>>2]=n-1,t=A,!n)break A;break e}k=0,n=N0(A,68572,69592);f:{if(!n||(A=i[r+4>>2],!A))break f;i[A+4>>2]=i[A+4>>2]+1,k=A}if(A=Ir(n,o),t=Vr(n,t),i0[f+32>>3]=i0[f+32>>3]-+(A|0),i0[f+40>>3]=i0[f+40>>3]-+(t|0),A=i[n+48>>2],t=i[n+52>>2],w=(t|0)/2|0,o=A+w|0,A=(A>>31)+(w>>31)|0,o=o2(o,o>>>0<w>>>0?A+1|0:A,t,t>>31),A=i[n+56>>2],t=i[n+60>>2],w=(t|0)/2|0,n=A+w|0,A=(A>>31)+(w>>31)|0,t=o2(n,n>>>0<w>>>0?A+1|0:A,t,t>>31),!k||(A=i[k+4>>2],i[k+4>>2]=A-1,A))break e}V[i[i[k>>2]+8>>2]](k),g(k)}if(r=r+8|0,(_|0)==(r|0))break}break i}if(r=r+8|0,(t|0)==(r|0))break}}i[f+8>>2]=0,i[f+12>>2]=0,i[f>>2]=0,i[f+4>>2]=1072693248,i[f+32>>2]=0,i[f+36>>2]=0,i[f+24>>2]=0,i[f+28>>2]=1072693248,i[f+16>>2]=0,i[f+20>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0}if(l[u+19|0]<0&&G(i[u+8>>2]),A=i[u+20>>2],A){if(f=i[u+24>>2],r=A,(f|0)!=(A|0)){for(;;){r=i[f-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(f=f-8|0,(A|0)==(f|0))break}r=i[u+20>>2]}i[u+24>>2]=A,G(r)}f=i[e+4>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=u+32|0}function G(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;i:{if(!f)break i;A=f-8|0,e=i[f-4>>2],f=e&-8,n=A+f|0;r:{if(e&1)break r;if(!(e&2)||(e=i[A>>2],A=A-e|0,A>>>0<k0[24258]))break i;f=f+e|0;e:{A:{f:{if(i[24259]!=(A|0)){if(r=i[A+12>>2],e>>>0<=255){if(k=i[A+8>>2],(k|0)!=(r|0))break f;u=97016,h=i[24254]&a0(-2,e>>>3|0),i[u>>2]=h;break r}if(o=i[A+24>>2],(r|0)!=(A|0)){e=i[A+8>>2],i[e+12>>2]=r,i[r+8>>2]=e;break e}if(k=i[A+20>>2],k)e=A+20|0;else{if(k=i[A+16>>2],!k)break A;e=A+16|0}for(;t=e,r=k,e=r+20|0,k=i[r+20>>2],!(!k&&(e=r+16|0,k=i[r+16>>2],!k)););i[t>>2]=0;break e}if(e=i[n+4>>2],(e&3)!=3)break r;i[24256]=f,i[n+4>>2]=e&-2,i[A+4>>2]=f|1,i[n>>2]=f;return}i[k+12>>2]=r,i[r+8>>2]=k;break r}r=0}if(!o)break r;e=i[A+28>>2],k=(e<<2)+97320|0;e:{if(i[k>>2]==(A|0)){if(i[k>>2]=r,r)break e;u=97020,h=i[24255]&a0(-2,e),i[u>>2]=h;break r}if(i[o+(i[o+16>>2]==(A|0)?16:20)>>2]=r,!r)break r}if(i[r+24>>2]=o,e=i[A+16>>2],e&&(i[r+16>>2]=e,i[e+24>>2]=r),e=i[A+20>>2],!e)break r;i[r+20>>2]=e,i[e+24>>2]=r}if(A>>>0>=n>>>0||(e=i[n+4>>2],!(e&1)))break i;r:{e:{A:{f:{if(!(e&2)){if((n|0)==i[24260]){if(i[24260]=A,f=i[24257]+f|0,i[24257]=f,i[A+4>>2]=f|1,i[24259]!=(A|0))break i;i[24256]=0,i[24259]=0;return}if((n|0)==i[24259]){i[24259]=A,f=i[24256]+f|0,i[24256]=f,i[A+4>>2]=f|1,i[f+A>>2]=f;return}if(f=(e&-8)+f|0,r=i[n+12>>2],e>>>0<=255){if(k=i[n+8>>2],(k|0)==(r|0)){u=97016,h=i[24254]&a0(-2,e>>>3|0),i[u>>2]=h;break e}i[k+12>>2]=r,i[r+8>>2]=k;break e}if(o=i[n+24>>2],(r|0)!=(n|0)){e=i[n+8>>2],i[e+12>>2]=r,i[r+8>>2]=e;break A}if(k=i[n+20>>2],k)e=n+20|0;else{if(k=i[n+16>>2],!k)break f;e=n+16|0}for(;t=e,r=k,e=r+20|0,k=i[r+20>>2],!(!k&&(e=r+16|0,k=i[r+16>>2],!k)););i[t>>2]=0;break A}i[n+4>>2]=e&-2,i[A+4>>2]=f|1,i[f+A>>2]=f;break r}r=0}if(!o)break e;e=i[n+28>>2],k=(e<<2)+97320|0;A:{if((n|0)==i[k>>2]){if(i[k>>2]=r,r)break A;u=97020,h=i[24255]&a0(-2,e),i[u>>2]=h;break e}if(i[o+((n|0)==i[o+16>>2]?16:20)>>2]=r,!r)break e}if(i[r+24>>2]=o,e=i[n+16>>2],e&&(i[r+16>>2]=e,i[e+24>>2]=r),e=i[n+20>>2],!e)break e;i[r+20>>2]=e,i[e+24>>2]=r}if(i[A+4>>2]=f|1,i[f+A>>2]=f,i[24259]!=(A|0))break r;i[24256]=f;return}if(f>>>0<=255){e=(f&-8)+97056|0,k=i[24254],f=1<<(f>>>3);r:{if(!(k&f)){i[24254]=f|k,f=e;break r}f=i[e+8>>2]}i[e+8>>2]=A,i[f+12>>2]=A,i[A+12>>2]=e,i[A+8>>2]=f;return}r=31,f>>>0<=16777215&&(e=$2(f>>>8|0),r=((f>>>38-e&1)-(e<<1)|0)+62|0),i[A+28>>2]=r,i[A+16>>2]=0,i[A+20>>2]=0,t=(r<<2)+97320|0;r:{e:{e=i[24255],k=1<<r;A:{if(!(e&k)){i[24255]=e|k,r=24,e=t;break A}for(r=f<<((r|0)!=31?25-(r>>>1|0)|0:0),e=i[t>>2];;){if(k=e,(i[e+4>>2]&-8)==(f|0))break e;if(e=r>>>29|0,r=r<<1,t=((e&4)+k|0)+16|0,e=i[t>>2],!e)break}r=24,e=k}k=A,n=A,f=8;break r}e=i[k+8>>2],i[e+12>>2]=A,r=8,t=k+8|0,n=0,f=24}i[t>>2]=A,i[r+A>>2]=e,i[A+12>>2]=k,i[f+A>>2]=n,f=i[24262]-1|0,i[24262]=f||-1}}function Gh(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0;W=e+4|0,o=r<<2,R=X[W+o>>1],u=e+2|0,w=X[u+o>>1],Z=e+6|0,_=X[Z+o>>1],A=r<<1,C=X[A+W>>1],h=m(r,6),r=X[h+W>>1],v=X[e+o>>1],W=X[W>>1],o=X[h+Z>>1],y=X[A+Z>>1],Z=X[Z>>1],k=m(o,-74)+m(y+Z|0,74)>>1,k=(k|0)>=32767?32767:k,k=(k|0)<=-32768?-32768:k,E=X[u+h>>1],J=X[A+u>>1],u=X[u>>1],n=m(E,-74)+m(J+u|0,74)>>1,n=(n|0)>=32767?32767:n,n=(n|0)<=-32768?-32768:n,h=X[e+h>>1],A=X[e+A>>1],e=X[e>>1],t=m(h,-74)+m(A+e|0,74)>>1,t=(t|0)>=32767?32767:t,t=(t|0)<=-32768?-32768:t,X[f+10>>1]=(m(k,16777142)+m(n+t|0,74)|0)+128>>>8,p=m(r,-74)+m(W+C|0,74)>>1,p=(p|0)>=32767?32767:p,p=(p|0)<=-32768?-32768:p,I=m(p,74),X[f+14>>1]=((I+(m(n,-84)+m(t,55)|0)|0)+m(k,16777187)|0)+128>>>8,X[f+12>>1]=(((m(n,-29)+m(t,84)|0)+m(p,16777142)|0)+m(k,55)|0)+128>>>8,X[f+8>>1]=((I+(m(n,55)+m(t,29)|0)|0)+m(k,84)|0)+128>>>8,p=m(_,74),k=((p+(m(y,-84)+m(Z,55)|0)|0)+m(o,-29)|0)+1>>1,k=(k|0)>=32767?32767:k,k=(k|0)<=-32768?-32768:k,I=m(w,74),n=((I+(m(J,-84)+m(u,55)|0)|0)+m(E,-29)|0)+1>>1,n=(n|0)>=32767?32767:n,n=(n|0)<=-32768?-32768:n,D=m(v,74),t=((D+(m(A,-84)+m(e,55)|0)|0)+m(h,-29)|0)+1>>1,t=(t|0)>=32767?32767:t,t=(t|0)<=-32768?-32768:t,X[f+26>>1]=(m(k,16777142)+m(n+t|0,74)|0)+128>>>8,_=(((m(y,-29)+m(Z,84)|0)+m(_,-74)|0)+m(o,55)|0)+1>>1,_=(_|0)>=32767?32767:_,_=(_|0)<=-32768?-32768:_,w=(((m(J,-29)+m(u,84)|0)+m(w,-74)|0)+m(E,55)|0)+1>>1,w=(w|0)>=32767?32767:w,w=(w|0)<=-32768?-32768:w,v=(((m(A,-29)+m(e,84)|0)+m(v,-74)|0)+m(h,55)|0)+1>>1,v=(v|0)>=32767?32767:v,v=(v|0)<=-32768?-32768:v,X[f+18>>1]=(m(_,16777142)+m(w+v|0,74)|0)+128>>>8,o=((p+(m(y,55)+m(Z,29)|0)|0)+m(o,84)|0)+1>>1,o=(o|0)>=32767?32767:o,o=(o|0)<=-32768?-32768:o,u=((I+(m(J,55)+m(u,29)|0)|0)+m(E,84)|0)+1>>1,u=(u|0)>=32767?32767:u,u=(u|0)<=-32768?-32768:u,e=(((m(A,55)+m(e,29)|0)+D|0)+m(h,84)|0)+1>>1,e=(e|0)>=32767?32767:e,e=(e|0)<=-32768?-32768:e,X[f+2>>1]=(m(o,16777142)+m(u+e|0,74)|0)+128>>>8,Z=m(R,74),A=((Z+(m(C,-84)+m(W,55)|0)|0)+m(r,-29)|0)+1>>1,A=(A|0)>=32767?32767:A,A=(A|0)<=-32768?-32768:A,h=m(A,74),X[f+30>>1]=((h+(m(n,-84)+m(t,55)|0)|0)+m(k,16777187)|0)+128>>>8,X[f+28>>1]=(((m(n,-29)+m(t,84)|0)+m(A,16777142)|0)+m(k,55)|0)+128>>>8,X[f+24>>1]=((h+(m(n,55)+m(t,29)|0)|0)+m(k,84)|0)+128>>>8,A=(((m(C,-29)+m(W,84)|0)+m(R,-74)|0)+m(r,55)|0)+1>>1,A=(A|0)>=32767?32767:A,A=(A|0)<=-32768?-32768:A,h=m(A,74),X[f+22>>1]=((h+(m(w,-84)+m(v,55)|0)|0)+m(_,16777187)|0)+128>>>8,X[f+20>>1]=(((m(w,-29)+m(v,84)|0)+m(A,16777142)|0)+m(_,55)|0)+128>>>8,X[f+16>>1]=((h+(m(w,55)+m(v,29)|0)|0)+m(_,84)|0)+128>>>8,r=((Z+(m(C,55)+m(W,29)|0)|0)+m(r,84)|0)+1>>1,r=(r|0)>=32767?32767:r,r=(r|0)<=-32768?-32768:r,C=m(r,74),X[f+6>>1]=((C+(m(u,-84)+m(e,55)|0)|0)+m(o,16777187)|0)+128>>>8,X[f+4>>1]=(((m(u,-29)+m(e,84)|0)+m(r,16777142)|0)+m(o,55)|0)+128>>>8,X[f>>1]=((C+(m(u,55)+m(e,29)|0)|0)+m(o,84)|0)+128>>>8}function Wr(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;n=B-48|0,B=n,o=i[e+60>>2],w=i[e+56>>2],_=o-w>>5;i:{if((o|0)==(w|0))break i;for(t=_>>>0<=1?1:_;;){if(i[w+(u<<5)>>2]==(r|0))break i;if(u=u+1|0,(t|0)==(u|0))break}u=t}w=e+56|0;i:{if((u|0)!=(_|0))break i;if(X[n+28>>1]=0,X[n+30>>1]=0,X[n+32>>1]=0,X[n+34>>1]=0,X[n+22>>1]=0,X[n+24>>1]=0,X[n+26>>1]=0,X[n+28>>1]=0,X[n+14>>1]=0,X[n+16>>1]=0,X[n+18>>1]=0,X[n+20>>1]=0,l[n+12|0]=k,i[n+8>>2]=r,o>>>0<k0[e+64>>2]){r=i[n+12>>2],i[o>>2]=i[n+8>>2],i[o+4>>2]=r,r=i[n+20>>2],i[o+8>>2]=i[n+16>>2],i[o+12>>2]=r,i[o+24>>2]=0,i[o+16>>2]=0,i[o+20>>2]=0,br(o+16|0,0,0,0),i[e+60>>2]=o+32;break i}if(r=vn(w,n+8|0),t=i[n+24>>2],i[e+60>>2]=r,!t)break i;if(r=t,o=i[n+28>>2],(r|0)!=(o|0)){for(;r=i[o-16>>2],r&&(i[o-12>>2]=r,G(r)),o=o-40|0,(t|0)!=(o|0););r=i[n+24>>2]}i[n+28>>2]=t,G(r)}i[n+40>>2]=0,r=n+32|0,i[r>>2]=0,i[r+4>>2]=0,i[n+24>>2]=0,i[n+28>>2]=0,i[n+16>>2]=0,i[n+20>>2]=0,i[n+8>>2]=0,i[n+12>>2]=0,(r|0)!=(A|0)&&(h=r,t=i[A>>2],r=i[A+4>>2],W8(h,t,r,r-t|0)),(k|0)==1&&(k=i[e+80>>2],r=k,i[n+16>>2]=r,i[n+20>>2]=r>>31,r=i[A+4>>2]-i[A>>2]|0,i[n+24>>2]=r,i[n+28>>2]=0,i[e+80>>2]=r+k),e=i[w>>2]+(u<<5)|0,h=e,w=e+16|0,r=i[e+24>>2],e=i[e+20>>2];i:{if(r>>>0>e>>>0){r=i[n+12>>2],i[e>>2]=i[n+8>>2],i[e+4>>2]=r,r=i[n+28>>2],i[e+16>>2]=i[n+24>>2],i[e+20>>2]=r,r=i[n+20>>2],i[e+8>>2]=i[n+16>>2],i[e+12>>2]=r,i[e+32>>2]=0,i[e+24>>2]=0,i[e+28>>2]=0,i[e+24>>2]=i[n+32>>2],i[e+28>>2]=i[n+36>>2],i[e+32>>2]=i[n+40>>2],i[n+40>>2]=0,i[n+32>>2]=0,i[n+36>>2]=0,e=e+40|0;break i}r=0;r:{e:{if(e=i[h+16>>2],k=(i[h+20>>2]-e|0)/40|0,t=k+1|0,t>>>0<107374183){if(A=(i[h+24>>2]-e|0)/40|0,e=A<<1,t=A>>>0>=53687091?107374182:e>>>0>t>>>0?e:t,t){if(t>>>0>=107374183)break e;r=U(m(t,40))}A=i[n+12>>2],e=m(k,40)+r|0,i[e>>2]=i[n+8>>2],i[e+4>>2]=A,A=i[n+28>>2],i[e+16>>2]=i[n+24>>2],i[e+20>>2]=A,A=i[n+20>>2],i[e+8>>2]=i[n+16>>2],i[e+12>>2]=A,i[e+24>>2]=i[n+32>>2],i[e+28>>2]=i[n+36>>2],i[e+32>>2]=i[n+40>>2],i[n+40>>2]=0,i[n+32>>2]=0,i[n+36>>2]=0,o=m(t,40)+r|0,k=e+40|0,A=i[h+20>>2],v=i[h+16>>2];A:{if((A|0)==(v|0)){r=e;break A}for(;t=A-40|0,u=i[t+4>>2],r=e-40|0,i[r>>2]=i[t>>2],i[r+4>>2]=u,u=i[t+20>>2],i[r+16>>2]=i[t+16>>2],i[r+20>>2]=u,u=i[t+12>>2],i[r+8>>2]=i[t+8>>2],i[r+12>>2]=u,u=e-8|0,i[u>>2]=0,_=A-16|0,i[e-16>>2]=i[_>>2],i[e-12>>2]=i[A-12>>2],e=A-8|0,i[u>>2]=i[e>>2],i[e>>2]=0,i[_>>2]=0,i[_+4>>2]=0,e=r,A=t,(v|0)!=(t|0););A=i[h+20>>2],v=i[h+16>>2]}if(i[h+24>>2]=o,i[h+20>>2]=k,i[h+16>>2]=r,(A|0)!=(v|0))for(;e=i[A-16>>2],e&&(i[A-12>>2]=e,G(e)),A=A-40|0,(v|0)!=(A|0););v&&G(v),e=k;break r}y0(),P()}_2(),P()}}i[w+4>>2]=e,e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,e=f+8|0;i:{if(l[78275]>=0){f=i[19567],i[e>>2]=i[19566],i[e+4>>2]=f,i[e+8>>2]=i[19568];break i}_0(e,i[19566],i[19567])}f=i[n+32>>2],f&&(i[n+36>>2]=f,G(f)),B=n+48|0}function Ch(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0;d=X[e+10>>1],p=X[e+26>>1],D=X[e+18>>1],z=X[e+2>>1],E=X[e+14>>1],J=X[e+12>>1],R=X[e+8>>1],h=1<<r-1,n=1<<A,A=0-n|0,_=X[e+22>>1],k=X[e+6>>1],y=X[e+30>>1],t=((m(_,-74)+m(k,74)|0)+m(y,74)|0)- -64>>7,w=n+65535|0,t=((A|0)>(t|0)?A:(n|0)>(t|0)?t:w)<<16>>16,v=X[e+20>>1],H=X[e+4>>1],a=X[e+28>>1],o=((m(v,-74)+m(H,74)|0)+m(a,74)|0)- -64>>7,o=((A|0)>(o|0)?A:(n|0)>(o|0)?o:w)<<16>>16,S=X[e+16>>1],q=X[e>>1],e=X[e+24>>1],u=((m(S,-74)+m(q,74)|0)+m(e,74)|0)- -64>>7,u=((A|0)>(u|0)?A:(n|0)>(u|0)?u:w)<<16>>16,i[f+40>>2]=h+(m(t,74)+(m(o,-74)+m(u,74)|0)|0)>>r,W=(((m(J,-74)+m(H,84)|0)+m(v,55)|0)+m(a,-29)|0)- -64>>7,W=((A|0)>(W|0)?A:(n|0)>(W|0)?W:w)<<16>>16,C=(((m(R,-74)+m(q,84)|0)+m(S,55)|0)+m(e,-29)|0)- -64>>7,C=((A|0)>(C|0)?A:(n|0)>(C|0)?C:w)<<16>>16,I=(((m(E,-74)+m(k,84)|0)+m(_,55)|0)+m(y,-29)|0)- -64>>7,I=((A|0)>(I|0)?A:(n|0)>(I|0)?I:w)<<16>>16,i[f+56>>2]=((m(W,-74)+m(C,74)|0)+m(I,74)|0)+h>>r,Z=((m(D,-74)+m(z,74)|0)+m(p,74)|0)- -64>>7,Z=((A|0)>(Z|0)?A:(n|0)>(Z|0)?Z:w)<<16>>16,i[f+44>>2]=(((m(Z,-74)+m(u,84)|0)+m(o,55)|0)+m(t,-29)|0)+h>>r,Z=m(Z,74),i[f+36>>2]=(((Z+m(u,55)|0)+m(o,-29)|0)+m(t,-84)|0)+h>>r,i[f+32>>2]=(((Z+m(u,29)|0)+m(o,84)|0)+m(t,55)|0)+h>>r,J=m(J,74),t=(((J+m(H,55)|0)+m(v,-29)|0)+m(a,-84)|0)- -64>>7,t=((A|0)>(t|0)?A:(n|0)>(t|0)?t:w)<<16>>16,R=m(R,74),o=(((R+m(q,55)|0)+m(S,-29)|0)+m(e,-84)|0)- -64>>7,o=((A|0)>(o|0)?A:(n|0)>(o|0)?o:w)<<16>>16,E=m(E,74),u=(((E+m(k,55)|0)+m(_,-29)|0)+m(y,-84)|0)- -64>>7,u=((A|0)>(u|0)?A:(n|0)>(u|0)?u:w)<<16>>16,i[f+24>>2]=((m(t,-74)+m(o,74)|0)+m(u,74)|0)+h>>r,v=(((J+m(H,29)|0)+m(v,84)|0)+m(a,55)|0)- -64>>7,v=((A|0)>(v|0)?A:(n|0)>(v|0)?v:w)<<16>>16,e=(((R+m(q,29)|0)+m(S,84)|0)+m(e,55)|0)- -64>>7,e=((e|0)<(A|0)?A:(e|0)<(n|0)?e:w)<<16>>16,_=(((E+m(k,29)|0)+m(_,84)|0)+m(y,55)|0)- -64>>7,_=((A|0)>(_|0)?A:(n|0)>(_|0)?_:w)<<16>>16,i[f+8>>2]=((m(v,-74)+m(e,74)|0)+m(_,74)|0)+h>>r,k=(((m(d,-74)+m(z,84)|0)+m(D,55)|0)+m(p,-29)|0)- -64>>7,k=((A|0)>(k|0)?A:(n|0)>(k|0)?k:w)<<16>>16,i[f+60>>2]=(((m(k,-74)+m(C,84)|0)+m(W,55)|0)+m(I,-29)|0)+h>>r,k=m(k,74),i[f+52>>2]=(((k+m(C,55)|0)+m(W,-29)|0)+m(I,-84)|0)+h>>r,i[f+48>>2]=(((k+m(C,29)|0)+m(W,84)|0)+m(I,55)|0)+h>>r,y=m(d,74),k=(((y+m(z,55)|0)+m(D,-29)|0)+m(p,-84)|0)- -64>>7,k=((A|0)>(k|0)?A:(n|0)>(k|0)?k:w)<<16>>16,i[f+28>>2]=(((m(k,-74)+m(o,84)|0)+m(t,55)|0)+m(u,-29)|0)+h>>r,k=m(k,74),i[f+20>>2]=(((k+m(o,55)|0)+m(t,-29)|0)+m(u,-84)|0)+h>>r,i[f+16>>2]=(((k+m(o,29)|0)+m(t,84)|0)+m(u,55)|0)+h>>r,p=(((y+m(z,29)|0)+m(D,84)|0)+m(p,55)|0)- -64>>7,A=((A|0)>(p|0)?A:(n|0)>(p|0)?p:w)<<16>>16,i[f+12>>2]=(((m(A,-74)+m(e,84)|0)+m(v,55)|0)+m(_,-29)|0)+h>>r,A=m(A,74),i[f+4>>2]=(((A+m(e,55)|0)+m(v,-29)|0)+m(_,-84)|0)+h>>r,i[f>>2]=(((A+m(e,29)|0)+m(v,84)|0)+m(_,55)|0)+h>>r}function Vh(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,u=i[13708],i[A+12>>2]=u,n=A+12|0,i[n+i[u-12>>2]>>2]=i[13709],u=n+i[i[A+12>>2]-12>>2]|0,k=A+16|0,b0(u,k),i[u+72>>2]=0,i[u+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,u=$0(k),i[u>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,k=A+148|0,R2(k,e,r),o=n,t=k,n=l[A+159|0],k=(n|0)<0,x(o,k?i[A+148>>2]:t,k?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),n=A+148|0,W0(n,r),o=n,n=l[A+159|0],k=(n|0)<0,x(A+12|0,k?i[A+148>>2]:o,k?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),n=x(H0(x(A+12|0,20352,9),s[e+48|0]),31338,1),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],t=(k|0)<0,x(n,t?i[A+148>>2]:o,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),n=x(H0(x(n,21093,13),s[e+49|0]),31338,1),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],t=(k|0)<0,x(n,t?i[A+148>>2]:o,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),n=x(H0(x(n,21624,17),s[e+50|0]),31338,1),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],t=(k|0)<0,x(n,t?i[A+148>>2]:o,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),n=x(H0(x(n,20482,15),s[e+52|0]),31338,1),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],t=(k|0)<0,x(n,t?i[A+148>>2]:o,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),n=x(H0(x(n,19578,12),s[e+53|0]),31338,1),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],t=(k|0)<0,x(n,t?i[A+148>>2]:o,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),n=x(H0(x(n,19530,22),s[e+55|0]),31338,1),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],t=(k|0)<0,x(n,t?i[A+148>>2]:o,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),n=x(H0(x(n,19378,22),s[e+56|0]),31338,1),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],t=(k|0)<0,x(n,t?i[A+148>>2]:o,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),n=x(H0(x(n,20188,24),s[e+57|0]),31338,1),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],t=(k|0)<0,x(n,t?i[A+148>>2]:o,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),x(n,19349,28);i:{if(s[e+58|0]){x(H0(A+12|0,s[e+59|0]+1|0),31338,1);break i}x(A+12|0,21752,12)}if(k=A+148|0,W0(k,r),n=0,o=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:o,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),x(A+12|0,16378,12),i[e+64>>2]!=i[e+60>>2])for(;r=x(A+12|0,21741,1),k=i[r>>2],t=k-12|0,o=i[t>>2]+r|0,i[o+4>>2]=i[o+4>>2]&-75|8,t=r+i[t>>2]|0,i[t+76>>2]==-1&&(o=A+148|0,k=i[t+28>>2],i[o>>2]=k,(k|0)!=100008&&(i[k+4>>2]=i[k+4>>2]+1),k=x0(o,100192),V[i[i[k>>2]+28>>2]](k,32)|0,O0(o),k=i[r>>2]),i[t+76>>2]=48,i[(r+i[k-12>>2]|0)+12>>2]=2,H0(r,s[i[e+60>>2]+n|0]),n=n+1|0,n>>>0<i[e+64>>2]-i[e+60>>2]>>>0;);e=A+12|0,r=e+i[i[A+12>>2]-12>>2]|0,i[r+4>>2]=i[r+4>>2]&-75|2,x(e,31338,1),i2(f,u),f=i[13707],i[A+12>>2]=f,i[e+i[f-12>>2]>>2]=i[13710],i[u>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(u),T0(A+68|0),B=A+160|0}function Xr(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;n=f+e|0,r=i[f+4>>2];i:{r:{if(r&1)break r;if(!(r&2))break i;r=i[f>>2],e=r+e|0;e:{A:{f:{if(f=f-r|0,(f|0)!=i[24259]){if(A=i[f+12>>2],r>>>0<=255){if(k=i[f+8>>2],(k|0)!=(A|0))break f;u=97016,h=i[24254]&a0(-2,r>>>3|0),i[u>>2]=h;break r}if(t=i[f+24>>2],(f|0)!=(A|0)){r=i[f+8>>2],i[r+12>>2]=A,i[A+8>>2]=r;break e}if(k=i[f+20>>2],k)r=f+20|0;else{if(k=i[f+16>>2],!k)break A;r=f+16|0}for(;o=r,A=k,r=A+20|0,k=i[A+20>>2],!(!k&&(r=A+16|0,k=i[A+16>>2],!k)););i[o>>2]=0;break e}if(r=i[n+4>>2],(r&3)!=3)break r;i[24256]=e,i[n+4>>2]=r&-2,i[f+4>>2]=e|1,i[n>>2]=e;return}i[k+12>>2]=A,i[A+8>>2]=k;break r}A=0}if(!t)break r;r=i[f+28>>2],k=(r<<2)+97320|0;e:{if(i[k>>2]==(f|0)){if(i[k>>2]=A,A)break e;u=97020,h=i[24255]&a0(-2,r),i[u>>2]=h;break r}if(i[t+(i[t+16>>2]==(f|0)?16:20)>>2]=A,!A)break r}if(i[A+24>>2]=t,r=i[f+16>>2],r&&(i[A+16>>2]=r,i[r+24>>2]=A),r=i[f+20>>2],!r)break r;i[A+20>>2]=r,i[r+24>>2]=A}r:{e:{A:{f:{if(r=i[n+4>>2],!(r&2)){if(i[24260]==(n|0)){if(i[24260]=f,e=i[24257]+e|0,i[24257]=e,i[f+4>>2]=e|1,i[24259]!=(f|0))break i;i[24256]=0,i[24259]=0;return}if(i[24259]==(n|0)){i[24259]=f,e=i[24256]+e|0,i[24256]=e,i[f+4>>2]=e|1,i[f+e>>2]=e;return}if(e=(r&-8)+e|0,A=i[n+12>>2],r>>>0<=255){if(k=i[n+8>>2],(k|0)==(A|0)){u=97016,h=i[24254]&a0(-2,r>>>3|0),i[u>>2]=h;break e}i[k+12>>2]=A,i[A+8>>2]=k;break e}if(t=i[n+24>>2],(A|0)!=(n|0)){r=i[n+8>>2],i[r+12>>2]=A,i[A+8>>2]=r;break A}if(k=i[n+20>>2],k)r=n+20|0;else{if(k=i[n+16>>2],!k)break f;r=n+16|0}for(;o=r,A=k,r=A+20|0,k=i[A+20>>2],!(!k&&(r=A+16|0,k=i[A+16>>2],!k)););i[o>>2]=0;break A}i[n+4>>2]=r&-2,i[f+4>>2]=e|1,i[f+e>>2]=e;break r}A=0}if(!t)break e;r=i[n+28>>2],k=(r<<2)+97320|0;A:{if(i[k>>2]==(n|0)){if(i[k>>2]=A,A)break A;u=97020,h=i[24255]&a0(-2,r),i[u>>2]=h;break e}if(i[t+(i[t+16>>2]==(n|0)?16:20)>>2]=A,!A)break e}if(i[A+24>>2]=t,r=i[n+16>>2],r&&(i[A+16>>2]=r,i[r+24>>2]=A),r=i[n+20>>2],!r)break e;i[A+20>>2]=r,i[r+24>>2]=A}if(i[f+4>>2]=e|1,i[f+e>>2]=e,i[24259]!=(f|0))break r;i[24256]=e;return}if(e>>>0<=255){r=(e&-8)+97056|0,A=i[24254],e=1<<(e>>>3);r:{if(!(A&e)){i[24254]=e|A,e=r;break r}e=i[r+8>>2]}i[r+8>>2]=f,i[e+12>>2]=f,i[f+12>>2]=r,i[f+8>>2]=e;return}A=31,e>>>0<=16777215&&(r=$2(e>>>8|0),A=((e>>>38-r&1)-(r<<1)|0)+62|0),i[f+28>>2]=A,i[f+16>>2]=0,i[f+20>>2]=0,r=(A<<2)+97320|0;r:{k=i[24255],o=1<<A;e:{if(!(k&o)){i[24255]=k|o,i[r>>2]=f,i[f+24>>2]=r;break e}for(A=e<<((A|0)!=31?25-(A>>>1|0)|0:0),r=i[r>>2];;){if(k=r,(i[r+4>>2]&-8)==(e|0))break r;if(r=A>>>29|0,A=A<<1,o=k+(r&4)|0,r=i[o+16>>2],!r)break}i[o+16>>2]=f,i[f+24>>2]=k}i[f+12>>2]=f,i[f+8>>2]=f;return}e=i[k+8>>2],i[e+12>>2]=f,i[k+8>>2]=f,i[f+24>>2]=0,i[f+12>>2]=k,i[f+8>>2]=e}}function Gr(f){var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;t=B-32|0,B=t;i:{e=i[f+16>>2];r:{if(e>>>0>=1024){i[f+16>>2]=e-1024,e=i[f+4>>2],u=i[e>>2],r=e+4|0,i[f+4>>2]=r,A=i[f+8>>2];e:{if((A|0)!=i[f+12>>2])break e;if(e=i[f>>2],e>>>0<r>>>0){n=A-r|0,k=((r-e>>2)+1|0)/-2<<2,e=k+r|0,(r|0)!=(A|0)&&(F2(e,r,n),r=i[f+4>>2]),A=e+n|0,i[f+8>>2]=A,i[f+4>>2]=r+k;break e}if(k=(e|0)==(A|0)?1:A-e>>1,k>>>0>=1073741824)break i;if(o=k<<2,n=U(o),h=n+o|0,o=n+(k&-4)|0,k=o,(r|0)!=(A|0))for(A=k+(A-r|0)|0;i[k>>2]=i[r>>2],r=r+4|0,k=k+4|0,(A|0)!=(k|0););i[f+12>>2]=h,i[f+8>>2]=k,i[f+4>>2]=o,i[f>>2]=n,G(e),A=i[f+8>>2]}i[A>>2]=u,i[f+8>>2]=i[f+8>>2]+4;break r}if(r=i[f+8>>2],k=i[f+4>>2],n=r-k|0,e=i[f+12>>2],A=i[f>>2],o=e-A|0,n>>>0<o>>>0){if((r|0)!=(e|0)){w=t,_=U(4096),i[w+12>>2]=_;e:{A:{n=i[f+8>>2];f:{if((n|0)!=i[f+12>>2]){e=n;break f}if(r=i[f+4>>2],A=i[f>>2],r>>>0>A>>>0){e=n-r|0,k=((r-A>>2)+1|0)/-2<<2,A=k+r|0,(r|0)!=(n|0)&&(F2(A,r,e),r=i[f+4>>2]),e=e+A|0,i[f+8>>2]=e,i[f+4>>2]=r+k;break f}if(e=(A|0)==(n|0)?1:n-A>>1,e>>>0>=1073741824)break A;if(o=e<<2,k=U(o),o=k+o|0,u=k+(e&-4)|0,e=u,(r|0)!=(n|0))for(n=(n-r|0)+e|0;i[e>>2]=i[r>>2],r=r+4|0,e=e+4|0,(n|0)!=(e|0););if(i[f+12>>2]=o,i[f+8>>2]=e,i[f+4>>2]=u,i[f>>2]=k,!A)break f;G(A),e=i[f+8>>2]}i[e>>2]=i[t+12>>2],i[f+8>>2]=i[f+8>>2]+4;break e}_2(),P()}break r}w=t,_=U(4096),i[w+12>>2]=_,_7(f,t+12|0),e=i[f+4>>2],u=i[e>>2],r=e+4|0,i[f+4>>2]=r,A=i[f+8>>2];e:{if((A|0)!=i[f+12>>2])break e;if(e=i[f>>2],e>>>0<r>>>0){n=A-r|0,k=((r-e>>2)+1|0)/-2<<2,e=k+r|0,(r|0)!=(A|0)&&(F2(e,r,n),r=i[f+4>>2]),A=e+n|0,i[f+8>>2]=A,i[f+4>>2]=r+k;break e}if(k=(e|0)==(A|0)?1:A-e>>1,k>>>0>=1073741824)break i;if(o=k<<2,n=U(o),h=n+o|0,o=n+(k&-4)|0,k=o,(r|0)!=(A|0))for(A=k+(A-r|0)|0;i[k>>2]=i[r>>2],r=r+4|0,k=k+4|0,(A|0)!=(k|0););i[f+12>>2]=h,i[f+8>>2]=k,i[f+4>>2]=o,i[f>>2]=n,G(e),A=i[f+8>>2]}i[A>>2]=u,i[f+8>>2]=i[f+8>>2]+4;break r}if(i[t+28>>2]=f+12,e=(e|0)==(A|0)?1:o>>1,e>>>0>=1073741824)break i;u=e<<2,e=U(u),i[t+12>>2]=e,o=e+u|0,i[t+24>>2]=o,A=e+n|0,i[t+16>>2]=A,h=U(4096);e:{if((n|0)!=(u|0))break e;if((n|0)>0){A=A-((n>>>1|0)+2&-4)|0,i[t+16>>2]=A;break e}if(r=(r|0)==(k|0)?1:n>>1,r>>>0>=1073741824)break i;A=r<<2,n=U(A),i[t+12>>2]=n,o=A+n|0,i[t+24>>2]=o,A=n+(r&-4)|0,i[t+16>>2]=A,G(e),k=i[f+4>>2],r=i[f+8>>2],e=n}if(i[A>>2]=h,u=A+4|0,i[t+20>>2]=u,(r|0)!=(k|0)){for(;r=r-4|0,_7(t+12|0,r),k=i[f+4>>2],(k|0)!=(r|0););r=i[f+8>>2],o=i[t+24>>2],u=i[t+20>>2],A=i[t+16>>2],e=i[t+12>>2]}if(n=i[f>>2],i[f>>2]=e,i[t+12>>2]=n,i[f+4>>2]=A,i[t+16>>2]=k,i[f+8>>2]=u,i[t+20>>2]=r,e=i[f+12>>2],i[f+12>>2]=o,i[t+24>>2]=e,(r|0)!=(k|0)&&(i[t+20>>2]=((k-r|0)+3&-4)+r),!n)break r;G(n)}B=t+32|0;return}_2(),P()}function Ih(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0;e=B-32|0,B=e,t=U0(i[r>>2],0),w=U0(i[r>>2],1),_=U0(i[r>>2],2),W=H2(i[r>>2],6),W&&(v=U0(i[r>>2],6));i:{if(!(!(t>>>0>8|w>>>0>8)&_>>>0<9)){i[f>>2]=0,i[f+4>>2]=0;break i}if(!((t|0)==(w|0)&(t|0)==(_|0))){i[f>>2]=0,i[f+4>>2]=0;break i}A=i[r>>2],h=i[A+48>>2],h&&(i[h+4>>2]=i[h+4>>2]+1,A=i[r>>2]),k=i[A+28>>2],n=i[A+24>>2],A=U(136),i[A>>2]=72792,i[A+4>>2]=0,i[A+8>>2]=0,B0(A+20|0,0,104),u=i[A+4>>2],p=u+1|0,i[A+4>>2]=p,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,o=A- -64|0,i[o>>2]=0,i[o+4>>2]=0,i[A+132>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+84>>2]=1,i[A+88>>2]=1,i[A+72>>2]=A+76,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,l[A+113|0]=0,l[A+114|0]=0,l[A+115|0]=0,l[A+116|0]=0,l[A+117|0]=0,l[A+118|0]=0,l[A+119|0]=0,l[A+120|0]=0,o=A+12|0,i[A+12>>2]=o,i[A+8>>2]=i[A+8>>2]+1,i[A+4>>2]=u,i[A+16>>2]=A,p||(V[i[i[A>>2]+8>>2]](A),g(A)),i[o+36>>2]=2,i[o+32>>2]=0,i[o+28>>2]=k,i[o+24>>2]=n,u=(n+1|0)/2|0;r:{e:{if(!J0(o,0,n,k,t)||!J0(o,1,u,k,w)||!J0(o,2,u,k,_)||W&&!J0(o,6,n,k,v))break e;if(v=0,i[e+28>>2]=0,i[e+24>>2]=0,i[e+20>>2]=0,i[e+16>>2]=0,i[e+12>>2]=0,i[e+8>>2]=0,i[e+4>>2]=0,i[e>>2]=0,w=v0(i[r>>2],0,e+28|0),p=v0(i[r>>2],1,e+24|0),E=v0(i[r>>2],2,e+20|0),_=v0(o,0,e+12|0),J=v0(o,1,e+8|0),R=v0(o,2,e+4|0),W&&(D=v0(i[r>>2],6,e+16|0),v=v0(o,6,e)),!(!(n&1)|(k|0)<2))for(t=(u+R|0)-1|0,Z=(n+E|0)-1|0,u=(u+J|0)-1|0,y=(n+p|0)-1|0,C=k-2|0,r=0;l[u+m(i[e+8>>2],r)|0]=s[y+m(i[e+24>>2],r)|0],l[t+m(i[e+4>>2],r)|0]=s[Z+m(i[e+20>>2],r)|0],I=(r|0)!=(C|0),r=r+1|0,!!I;);A:{if((k|0)<=0)break A;if((n|0)>=2){for(u=n-1|0,t=0;;){for(r=0;Z=(m(i[e+20>>2],t)+E|0)+r|0,y=s[Z|0],Z=s[Z+1|0],C=r>>>1|0,I=(p+m(i[e+24>>2],t)|0)+r|0,l[C+(m(i[e+8>>2],t)+J|0)|0]=(s[I|0]+s[I+1|0]|0)+1>>>1,l[C+(m(i[e+4>>2],t)+R|0)|0]=(Z+y|0)+1>>>1,r=r+2|0,(u|0)>(r|0););if(t=t+1|0,(t|0)==(k|0))break}if((k|0)<=0)break A}if(W){for(r=0;l0(_+m(i[e+12>>2],r)|0,w+m(i[e+28>>2],r)|0,n),l0(m(i[e>>2],r)+v|0,m(i[e+16>>2],r)+D|0,n),r=r+1|0,(k|0)!=(r|0););break A}if(r=0,(k|0)!=1)for(v=k&2147483646,t=0;l0(_+m(i[e+12>>2],r)|0,w+m(i[e+28>>2],r)|0,n),u=r|1,l0(_+m(u,i[e+12>>2])|0,w+m(u,i[e+28>>2])|0,n),r=r+2|0,t=t+2|0,(v|0)!=(t|0););if(!(k&1))break A;l0(_+m(i[e+12>>2],r)|0,w+m(i[e+28>>2],r)|0,n)}i[f+4>>2]=A,i[f>>2]=o;break r}if(i[f>>2]=0,i[f+4>>2]=0,f=i[A+4>>2],i[A+4>>2]=f-1,f)break r;V[i[i[A>>2]+8>>2]](A),g(A)}if(!h||(f=i[h+4>>2],i[h+4>>2]=f-1,f))break i;V[i[i[h>>2]+8>>2]](h),g(h)}B=e+32|0}function Qh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0;A=B-32|0,B=A,t=s[k+8|0],u=i[i[r>>2]+36>>2],e=U(136),i[e>>2]=72792,i[e+4>>2]=0,i[e+8>>2]=0,B0(e+20|0,0,104),k=i[e+4>>2],o=k+1|0,i[e+4>>2]=o,i[e+56>>2]=0,i[e+60>>2]=0,i[e+44>>2]=99,i[e+48>>2]=99,i[e+32>>2]=3795,n=e- -64|0,i[n>>2]=0,i[n+4>>2]=0,i[e+132>>2]=0,i[e+124>>2]=0,i[e+128>>2]=0,i[e+84>>2]=1,i[e+88>>2]=1,i[e+72>>2]=e+76,i[e+92>>2]=0,i[e+96>>2]=0,i[e+100>>2]=0,i[e+104>>2]=0,i[e+108>>2]=0,i[e+112>>2]=0,l[e+113|0]=0,l[e+114|0]=0,l[e+115|0]=0,l[e+116|0]=0,l[e+117|0]=0,l[e+118|0]=0,l[e+119|0]=0,l[e+120|0]=0,n=e+12|0,i[e+12>>2]=n,i[e+8>>2]=i[e+8>>2]+1,i[e+4>>2]=k,i[e+16>>2]=e,o||(V[i[i[e>>2]+8>>2]](e),g(e)),k=i[r>>2],o=i[k+28>>2],h=i[k+24>>2],k=U0(k,10),i[n+36>>2]=3,i[n+32>>2]=1,i[n+28>>2]=o,i[n+24>>2]=h;i:{r:{if(!J0(n,3,h,o,k)||!J0(n,4,h,o,k)||!J0(n,5,h,o,k)||(Z=t&1,Z&&!J0(n,6,h,o,k)))break r;i[A+28>>2]=0,i[A+24>>2]=0,i[A+20>>2]=0,i[A+16>>2]=0,i[A+12>>2]=0,I=v0(i[r>>2],10,A+28|0),y=v0(n,3,A+24|0),E=v0(n,4,A+20|0),J=v0(n,5,A+16|0),Z&&(W=v0(n,6,A+12|0),p=i[A+12>>2]/2|0),Z=i[A+16>>2]/2|0,R=i[A+20>>2]/2|0,D=i[A+24>>2]/2|0;e:{if((o|0)<=0|(h|0)<=0)break e;if(z=(u&-3)==13?8:6,H=i[A+28>>2],!(t&1)){for(k=0;;){for(_=m(k,H)+I|0,w=(m(k,Z)<<1)+J|0,v=(m(k,R)<<1)+E|0,C=(m(k,D)<<1)+y|0,r=0;t=_+m(r,z)|0,u=s[t+4|0]|s[t+5|0]<<8,W=s[t+2|0]|s[t+3|0]<<8,p=r<<1,t=s[t|0]|s[t+1|0]<<8,X[p+C>>1]=t<<8|t>>>8,X[p+v>>1]=W<<8|W>>>8,X[w+p>>1]=u<<8|u>>>8,r=r+1|0,(h|0)!=(r|0););if(k=k+1|0,(o|0)==(k|0))break}break e}v=-1<<k^-1,k=0;A:switch(u-13|0){case 0:case 2:for(;;){for(C=m(k,p),u=m(k,H)+I|0,a=(m(k,Z)<<1)+J|0,S=(m(k,R)<<1)+E|0,q=(m(k,D)<<1)+y|0,r=0;t=u+m(r,z)|0,_=s[t+4|0]|s[t+5|0]<<8,w=s[t+2|0]|s[t+3|0]<<8,v=r<<1,t=s[t|0]|s[t+1|0]<<8,X[v+q>>1]=t<<8|t>>>8,X[v+S>>1]=w<<8|w>>>8,X[v+a>>1]=_<<8|_>>>8,t=u+(r<<3)|0,t=s[t+6|0]|s[t+7|0]<<8,X[(r+C<<1)+W>>1]=t<<8|t>>>8,r=r+1|0,(h|0)!=(r|0););if(k=k+1|0,(o|0)==(k|0))break}break e;default:break A}for(;;){for(C=m(k,p),a=m(k,H)+I|0,S=(m(k,Z)<<1)+J|0,q=(m(k,R)<<1)+E|0,d=(m(k,D)<<1)+y|0,r=0;t=a+m(r,z)|0,u=s[t+4|0]|s[t+5|0]<<8,_=s[t+2|0]|s[t+3|0]<<8,w=r<<1,t=s[t|0]|s[t+1|0]<<8,X[w+d>>1]=t<<8|t>>>8,X[w+q>>1]=_<<8|_>>>8,X[w+S>>1]=u<<8|u>>>8,X[(r+C<<1)+W>>1]=v,r=r+1|0,(h|0)!=(r|0););if(k=k+1|0,(o|0)==(k|0))break}}i[f+4>>2]=e,i[f>>2]=n;break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[e+4>>2],i[e+4>>2]=f-1,f)break i;V[i[i[e>>2]+8>>2]](e),g(e)}B=A+32|0}function Mk(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;o=U(136),i[o+4>>2]=0,i[o+8>>2]=0,i[o>>2]=72792,B0(o+20|0,0,104),u=i[o+4>>2],w=u+1|0,i[o+4>>2]=w,i[o+56>>2]=0,i[o+60>>2]=0,i[o+44>>2]=99,i[o+48>>2]=99,i[o+32>>2]=3795,h=o- -64|0,i[h>>2]=0,i[h+4>>2]=0,i[o+132>>2]=0,i[o+124>>2]=0,i[o+128>>2]=0,i[o+84>>2]=1,i[o+88>>2]=1,i[o+72>>2]=o+76,i[o+92>>2]=0,i[o+96>>2]=0,i[o+100>>2]=0,i[o+104>>2]=0,i[o+108>>2]=0,i[o+112>>2]=0,l[o+113|0]=0,l[o+114|0]=0,l[o+115|0]=0,l[o+116|0]=0,l[o+117|0]=0,l[o+118|0]=0,l[o+119|0]=0,l[o+120|0]=0,h=o+12|0,i[o+12>>2]=h,i[o+8>>2]=i[o+8>>2]+1,i[o+4>>2]=u,i[o+16>>2]=o,w||(V[i[i[o>>2]+8>>2]](o),g(o)),i[t>>2]=h,u=i[t+4>>2],i[t+4>>2]=o;i:{if(!u||(o=i[u+4>>2],i[u+4>>2]=o-1,o))break i;V[i[i[u>>2]+8>>2]](u),g(u)}if(u=i[e+36>>2],o=i[t>>2],i[o+32>>2]=i[e+32>>2],i[o+36>>2]=u,i[o+28>>2]=(n-k|0)+1,i[o+24>>2]=(A-r|0)+1,u=i[e+60>>2],I=e- -64|0,(u|0)!=(I|0)){for(;;){o=i[u+24>>2],w=i[e+24>>2],_=(m(o,r)|0)/(w|0)|0,v=i[u+16>>2],p=(((m(A,o)|0)/(w|0)|0)-_|0)+1|0,o=i[u+28>>2],w=i[e+28>>2],W=(m(o,n)|0)/(w|0)|0,w=(m(k,o)|0)/(w|0)|0,J0(i[t>>2],v,p,(W-w|0)+1|0,s[u+20|0]),o=i[t>>2],C=o- -64|0,h=C;i:{r:{if(o=i[o+64>>2],!o)break r;for(;Z=(v|0)>i[o+16>>2],h=Z?h:o,o=i[(Z<<2)+o>>2],!!o;);if((h|0)==(C|0))break r;if(C=0,o=0,(v|0)<i[h+16>>2])break i;C=i[h+48>>2],o=i[h+40>>2];break i}C=0,o=0}h=o,o=i[u+40>>2],v=i[u+48>>2];i:{if(s[u+20|0]!=8){if((w|0)>(W|0)||(p=p<<1,_=o+(_<<1)|0,o=w,W+o&1||(l0(h,_+m(o,v)|0,p),o=o+1|0),(w|0)==(W|0)))break i;for(;l0(h+m(o-w|0,C)|0,_+m(o,v)|0,p),Z=o+1|0,l0(h+m(Z-w|0,C)|0,_+m(v,Z)|0,p),o=o+2|0,(W|0)!=(Z|0););break i}if((w|0)>(W|0)||(_=o+_|0,o=w,W+o&1||(l0(h,_+m(o,v)|0,p),o=o+1|0),(w|0)==(W|0)))break i;for(;l0(h+m(o-w|0,C)|0,_+m(o,v)|0,p),Z=o+1|0,l0(h+m(Z-w|0,C)|0,_+m(v,Z)|0,p),o=o+2|0,(W|0)!=(Z|0););}h=i[u+4>>2];i:{if(h){for(;;)if(o=h,h=i[o>>2],!h)break i}for(;o=i[u+8>>2],w=i[o>>2]!=(u|0),u=o,!!w;);}if(u=o,(o|0)==(I|0))break}o=i[t>>2]}r=i[e+44>>2],A=i[e+48>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[o+44>>2]=r,r=i[o+48>>2],i[o+48>>2]=A;i:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break i;V[i[i[r>>2]+8>>2]](r),g(r)}k=i[e+52>>2],r=i[t>>2],A=i[e+56>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+52>>2]=k,e=i[r+56>>2],i[r+56>>2]=A;i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];return}_0(f,i[19566],i[19567])}function yh(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0;u=B-16|0,B=u,o=i[k>>2],n=o+i[r>>2]|0;i:{if(i[r+4>>2]-n>>>0<(A|0)/8<<2>>>0){if(e=U(56),i[u+4>>2]=e,i[u+8>>2]=54,i[u+12>>2]=-2147483592,r=s[6821]|s[6822]<<8|(s[6823]<<16|s[6824]<<24),A=s[6817]|s[6818]<<8|(s[6819]<<16|s[6820]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+54|0]=0,r=s[6867]|s[6868]<<8|(s[6869]<<16|s[6870]<<24),A=s[6863]|s[6864]<<8|(s[6865]<<16|s[6866]<<24),l[e+46|0]=A,l[e+47|0]=A>>>8,l[e+48|0]=A>>>16,l[e+49|0]=A>>>24,l[e+50|0]=r,l[e+51|0]=r>>>8,l[e+52|0]=r>>>16,l[e+53|0]=r>>>24,r=s[6861]|s[6862]<<8|(s[6863]<<16|s[6864]<<24),A=s[6857]|s[6858]<<8|(s[6859]<<16|s[6860]<<24),l[e+40|0]=A,l[e+41|0]=A>>>8,l[e+42|0]=A>>>16,l[e+43|0]=A>>>24,l[e+44|0]=r,l[e+45|0]=r>>>8,l[e+46|0]=r>>>16,l[e+47|0]=r>>>24,r=s[6853]|s[6854]<<8|(s[6855]<<16|s[6856]<<24),A=s[6849]|s[6850]<<8|(s[6851]<<16|s[6852]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[6845]|s[6846]<<8|(s[6847]<<16|s[6848]<<24),A=s[6841]|s[6842]<<8|(s[6843]<<16|s[6844]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[6837]|s[6838]<<8|(s[6839]<<16|s[6840]<<24),A=s[6833]|s[6834]<<8|(s[6835]<<16|s[6836]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[6829]|s[6830]<<8|(s[6831]<<16|s[6832]<<24),A=s[6825]|s[6826]<<8|(s[6827]<<16|s[6828]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,136,u+4|0),l[u+15|0]>=0)break i;G(i[u+4>>2]);break i}t=s[n|0],h=s[n+1|0];r:{if((A|0)==32){n=s[n+3|0]|(h<<16|t<<24|s[n+2|0]<<8),t=o+4|0;break r}n=(h<<16|t<<24)>>16,t=o+2|0}i[k>>2]=t,i[e+4>>2]=n,o=i[k>>2],n=o+i[r>>2]|0,t=s[n|0],h=s[n+1|0];r:{if((A|0)==32){n=s[n+3|0]|(h<<16|t<<24|s[n+2|0]<<8),t=o+4|0;break r}n=(h<<16|t<<24)>>16,t=o+2|0}i[k>>2]=t,i[e+8>>2]=n,t=i[r>>2],h=i[k>>2],r=t+h|0,o=s[r|0],n=s[r+1|0];r:{if((A|0)==32){r=s[r+3|0]|(n<<16|o<<24|s[r+2|0]<<8),n=4;break r}r=n|o<<8,n=2}i[k>>2]=n+h,i[e+12>>2]=r,r=t,t=i[k>>2],r=r+t|0,o=s[r|0],n=s[r+1|0];r:{if((A|0)==32){A=s[r+3|0]|(n<<16|o<<24|s[r+2|0]<<8),r=4;break r}A=n|o<<8,r=2}if(i[k>>2]=r+t,i[e+16>>2]=A,e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=u+16|0}function D8(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;n=B-16|0,B=n,o=1;i:{if(u=e+112|0,w=i[e+108>>2],(u|0)==(w|0))break i;for(;;){h=0,A=w;r:{for(;;){if(_=i[i[A+20>>2]+56>>2]==(o|0),_)break r;t=A,k=i[A+4>>2];e:{if(k){for(;;)if(A=k,k=i[A>>2],!k)break e}for(;A=i[t+8>>2],k=i[A>>2]!=(t|0),t=A,!!k;);}if(h=h|_,(A|0)==(u|0))break}if(!(h&1))break i}o=o+1|0}}if(A=U(144),i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=70824,k=A+16|0,i[k+8>>2]=0,i[k+12>>2]=0,i[k+16>>2]=0,i[k+20>>2]=0,i[k+24>>2]=0,i[k+28>>2]=0,i[k+32>>2]=0,i[k>>2]=68500,i[A+52>>2]=0,i[A+56>>2]=0,i[A+68>>2]=0,l[A+57|0]=0,l[A+58|0]=0,l[A+59|0]=0,l[A+60|0]=0,l[A+61|0]=0,l[A+62|0]=0,l[A+63|0]=0,l[A+64|0]=0,i[k>>2]=69024,i[A+80>>2]=0,i[A+84>>2]=0,X[A+76>>1]=0,i[A+88>>2]=0,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,i[A+116>>2]=0,i[A+120>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+132>>2]=0,l[A+133|0]=0,l[A+134|0]=0,l[A+135|0]=0,l[A+136|0]=0,l[A+137|0]=0,l[A+138|0]=0,l[A+139|0]=0,l[A+140|0]=0,i[A+32>>2]=1768842853,i[f+4>>2]=A,i[f>>2]=k,i[A+72>>2]=o,l[k+124|0]=0,i[k+52>>2]=i[k+52>>2]&-2,k=G2(r),k>>>0<2147483640){i:{r:{if(k>>>0>=11){w=(k|7)+1|0,t=U(w),i[n+12>>2]=w|-2147483648,i[n+4>>2]=t,i[n+8>>2]=k;break r}if(l[n+15|0]=k,t=n+4|0,!k)break i}l0(t,r,k)}r=A+80|0,l[k+t|0]=0,k=l[n+15|0];i:{r:{if(l[A+91|0]>=0){if((k|0)>=0){A=i[n+8>>2],i[r>>2]=i[n+4>>2],i[r+4>>2]=A,i[r+8>>2]=i[n+12>>2];break i}i4(r,i[n+4>>2],i[n+8>>2]);break r}if(A=r,r=(k|0)<0,_4(A,r?i[n+4>>2]:n+4|0,r?i[n+8>>2]:k),l[n+15|0]>=0)break i}G(i[n+4>>2])}A=u,k=i[A>>2];i:{r:{if(!k)break r;for(;;){if(A=k,r=i[A+16>>2],r>>>0>o>>>0){if(u=A,k=i[A>>2],k)continue;break r}if(r>>>0>=o>>>0)break i;if(k=i[A+4>>2],!k)break}u=A+4|0}k=U(28),i[k+20>>2]=0,i[k+24>>2]=0,i[k+16>>2]=o,i[k+8>>2]=A,i[k>>2]=0,i[k+4>>2]=0,i[u>>2]=k,A=k,r=i[i[e+108>>2]>>2],r&&(i[e+108>>2]=r,A=i[u>>2]),D1(i[e+112>>2],A),i[e+116>>2]=i[e+116>>2]+1}r=i[f>>2],A=i[f+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[k+20>>2]=r,r=i[k+24>>2],i[k+24>>2]=A;i:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break i;V[i[i[r>>2]+8>>2]](r),g(r)}e=i[e+92>>2],r=i[f>>2],i[n+4>>2]=r,A=i[f+4>>2],i[n+8>>2]=A;i:{r:{e:{if(!A){if(h=e+40|0,t=i[e+40>>2],t>>>0>=k0[e+44>>2])break r;i[t+4>>2]=A,i[t>>2]=r;break e}if(i[A+4>>2]=i[A+4>>2]+1,h=e+40|0,t=i[e+40>>2],t>>>0>=k0[e+44>>2])break r;i[t+4>>2]=A,i[t>>2]=r,i[A+4>>2]=i[A+4>>2]+1}k=t+8|0;break i}k=Q2(e+36|0,n+4|0),A=i[n+8>>2]}i[h>>2]=k;i:{if(!A||(f=i[A+4>>2],i[A+4>>2]=f-1,f))break i;V[i[i[A>>2]+8>>2]](A),g(A)}B=n+16|0;return}c2(),P()}function Fh(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0;A=B-160|0,B=A,i[A+68>>2]=54820,n=i[13708],i[A+12>>2]=n,k=i[n-12>>2],n=A+12|0,i[k+n>>2]=i[13709],k=n+i[i[A+12>>2]-12>>2]|0,h=A+16|0,b0(k,h),i[k+72>>2]=0,i[k+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,h=$0(h),i[h>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,k=A+148|0,R2(k,e,r),o=n,t=k,n=l[A+159|0],k=(n|0)<0,x(o,k?i[A+148>>2]:t,k?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),n=A+148|0,W0(n,r),t=n,n=l[A+159|0],k=(n|0)<0,x(A+12|0,k?i[A+148>>2]:t,k?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),n=x(L0(x(A+12|0,21529,9),i[e+56>>2]),31338,1),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],t=(k|0)<0,x(n,t?i[A+148>>2]:o,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),n=x(L0(x(n,19425,23),Q[e+60>>1]),31338,1),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],t=(k|0)<0,x(n,t?i[A+148>>2]:o,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),o=x(n,20997,11),n=e- -64|0,k=l[e+75|0],t=(k|0)<0,k=x(x(o,t?i[e+64>>2]:n,t?i[e+68>>2]:k),31338,1),t=A+148|0,W0(t,r),o=t,t=l[A+159|0],u=(t|0)<0,x(k,u?i[A+148>>2]:o,u?i[A+152>>2]:t),l[A+159|0]<0&&G(i[A+148>>2]),o=x(k,21081,11),k=l[e+87|0],t=(k|0)<0,x(x(o,t?i[e+76>>2]:e+76|0,t?i[e+80>>2]:k),31338,1),k=l[e+75|0],t=(k|0)<0,u=i[e+68>>2];i:{if(((t?u:k)|0)!=4||(t=t?i[n>>2]:n,(s[t|0]|s[t+1|0]<<8|(s[t+2|0]<<16|s[t+3|0]<<24))!=1701669229))break i;k=A+148|0,W0(k,r),o=k,k=l[A+159|0],t=(k|0)<0,x(A+12|0,t?i[A+148>>2]:o,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),o=x(A+12|0,20918,14),k=l[e+99|0],t=(k|0)<0,k=x(x(o,t?i[e+88>>2]:e+88|0,t?i[e+92>>2]:k),31338,1),t=A+148|0,W0(t,r),o=t,t=l[A+159|0],u=(t|0)<0,x(k,u?i[A+148>>2]:o,u?i[A+152>>2]:t),l[A+159|0]<0&&G(i[A+148>>2]),o=x(k,20561,18),k=l[e+111|0],t=(k|0)<0,x(x(o,t?i[e+100>>2]:e+100|0,t?i[e+104>>2]:k),31338,1),k=s[e+75|0],u=i[e+68>>2]}t=k,k=k<<24>>24<0;i:{if(((k?u:t)|0)!=4||(n=k?i[n>>2]:n,(s[n|0]|s[n+1|0]<<8|(s[n+2|0]<<16|s[n+3|0]<<24))!=543781493))break i;n=A+148|0,W0(n,r),t=n,n=l[A+159|0],k=(n|0)<0,x(A+12|0,k?i[A+148>>2]:t,k?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),t=x(A+12|0,21054,15),n=l[e+123|0],k=(n|0)<0,x(x(t,k?i[e+112>>2]:e+112|0,k?i[e+116>>2]:n),31338,1)}n=A+148|0,W0(n,r),k=n,r=l[A+159|0],n=(r|0)<0,x(A+12|0,n?i[A+148>>2]:k,n?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),n=A+12|0,r=x(n,20362,13),k=i[i[r>>2]-12>>2]+r|0,i[k+4>>2]=i[k+4>>2]|1,x(re(r,s[e+124|0]),31338,1),i2(f,h),f=i[13707],i[A+12>>2]=f,i[n+i[f-12>>2]>>2]=i[13710],i[h>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(h),T0(A+68|0),B=A+160|0}function Eh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;A=B-32|0,B=A,t=H2(i[r>>2],6),k=s[k+8|0];i:{r:{e:{if((U0(i[r>>2],3)|0)!=8||(U0(i[r>>2],4)|0)!=8)break e;if((U0(i[r>>2],5)|0)==8)break r}i[f>>2]=0,i[f+4>>2]=0;break i}r:{if(!t||(U0(i[r>>2],6)|0)==8)break r;i[f>>2]=0,i[f+4>>2]=0;break i}if(e=U(136),i[e+4>>2]=0,i[e+8>>2]=0,i[e>>2]=72792,B0(e+20|0,0,104),n=i[e+4>>2],o=n+1|0,i[e+4>>2]=o,i[e+56>>2]=0,i[e+60>>2]=0,i[e+44>>2]=99,i[e+48>>2]=99,i[e+32>>2]=3795,u=e- -64|0,i[u>>2]=0,i[u+4>>2]=0,i[e+132>>2]=0,i[e+124>>2]=0,i[e+128>>2]=0,i[e+84>>2]=1,i[e+88>>2]=1,i[e+72>>2]=e+76,i[e+92>>2]=0,i[e+96>>2]=0,i[e+100>>2]=0,i[e+104>>2]=0,i[e+108>>2]=0,i[e+112>>2]=0,l[e+113|0]=0,l[e+114|0]=0,l[e+115|0]=0,l[e+116|0]=0,l[e+117|0]=0,l[e+118|0]=0,l[e+119|0]=0,l[e+120|0]=0,u=e+12|0,i[e+12>>2]=u,i[e+8>>2]=i[e+8>>2]+1,i[e+4>>2]=n,i[e+16>>2]=e,o||(V[i[i[e>>2]+8>>2]](e),g(e)),n=i[r>>2],o=i[n+24>>2],h=i[n+28>>2],n=h,i[u+36>>2]=k&1?11:10,i[u+32>>2]=1,i[u+28>>2]=n,i[u+24>>2]=o,J0(u,10,o,n,8)){i[A+28>>2]=0,i[A+24>>2]=0,i[A+20>>2]=0,i[A+16>>2]=0,i[A+12>>2]=0,w=v0(i[r>>2],3,A+28|0),_=v0(i[r>>2],4,A+24|0),v=v0(i[r>>2],5,A+20|0),n=v0(u,10,A+12|0),t&&(Z=v0(i[r>>2],6,A+16|0));r:{if((h|0)<=0)break r;if((k&t)==1){if((o|0)<=0)break r;for(r=0,p=i[A+16>>2];;){for(W=m(r,p),k=0;t=k<<2,l[t+(n+m(i[A+12>>2],r)|0)|0]=s[(k+w|0)+m(i[A+28>>2],r)|0],l[(t+(n+m(i[A+12>>2],r)|0)|0)+1|0]=s[(k+_|0)+m(i[A+24>>2],r)|0],l[(t+(n+m(i[A+12>>2],r)|0)|0)+2|0]=s[(k+v|0)+m(i[A+20>>2],r)|0],l[(t+(n+m(i[A+12>>2],r)|0)|0)+3|0]=s[(k+W|0)+Z|0],k=k+1|0,(o|0)!=(k|0););if(r=r+1|0,(h|0)==(r|0))break}break r}if(k&1){if((o|0)<=0)break r;for(r=0;;){for(k=0;t=k<<2,l[t+(n+m(i[A+12>>2],r)|0)|0]=s[(k+w|0)+m(i[A+28>>2],r)|0],l[(t+(n+m(i[A+12>>2],r)|0)|0)+1|0]=s[(k+_|0)+m(i[A+24>>2],r)|0],l[(t+(n+m(i[A+12>>2],r)|0)|0)+2|0]=s[(k+v|0)+m(i[A+20>>2],r)|0],l[(t+(n+m(i[A+12>>2],r)|0)|0)+3|0]=255,k=k+1|0,(o|0)!=(k|0););if(r=r+1|0,(h|0)==(r|0))break}break r}if((o|0)<=0)break r;for(r=0;;){for(k=0;t=m(k,3),l[t+(n+m(i[A+12>>2],r)|0)|0]=s[(k+w|0)+m(i[A+28>>2],r)|0],l[(t+(n+m(i[A+12>>2],r)|0)|0)+1|0]=s[(k+_|0)+m(i[A+24>>2],r)|0],l[(t+(n+m(i[A+12>>2],r)|0)|0)+2|0]=s[(k+v|0)+m(i[A+20>>2],r)|0],k=k+1|0,(o|0)!=(k|0););if(r=r+1|0,(h|0)==(r|0))break}}i[f+4>>2]=e,i[f>>2]=u;break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[e+4>>2],i[e+4>>2]=f-1,f)break i;V[i[i[e>>2]+8>>2]](e),g(e)}B=A+32|0}function Yh(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;i[f+4>>2]=1,e=i[f+12>>2],i[e+324>>2]=i[e+324>>2]-1,i[e+328>>2]=i[e+328>>2]+1,e=i[f+12>>2],w=i[e+124>>2],h=i[w+16876>>2],v=i[w+16892>>2],A=v-1|0,i8(e,f,A,i[f+8>>2],i[f+24>>2]),r=i[f+8>>2],(r|0)>0&&(i8(i[f+12>>2],f,A,r-1|0,i[f+24>>2]),r=i[f+8>>2]),e=r+1|0,(e|0)<i[w+16900>>2]&&(i8(i[f+12>>2],f,A,e,i[f+24>>2]),r=i[f+8>>2],e=r+1|0),n=i[f+20>>2],A=i[f+16>>2],e=e<<h;i:{r:{e:{if(r=r<<h,!(r&1)){if(u=i[A+28>>2],k=(e|0)>(u|0)?u:e,k&1)break e;if(e=i[n+124>>2],u=(i[e+16840>>2]+7|0)/8|0,o=(i[e+16832>>2]+7|0)/8|0,e=i[A+40>>2],(e|0)==i[n+40>>2])break r;if((r|0)>=(k|0))break i;for(e=r;t=m(e,o),l0(i[n+4>>2]+m(t,i[n+40>>2])|0,i[A+4>>2]+m(t,i[A+40>>2])|0,m(o,i[A+24>>2])),e=e+1|0,(k|0)!=(e|0););break i}C0(17299,14027,570,7096),P()}C0(17314,14027,571,7096),P()}t=m(e,m(r,o)),l0(t+i[n+4>>2]|0,t+i[A+4>>2]|0,m(k-r|0,m(e,o)))}e=k,k=s[A+51|0],e=(e|0)/(k|0)|0,r=(r|0)/(k|0)|0;i:{if(!i[A+20>>2])break i;if(k=i[A+44>>2],(k|0)!=i[n+44>>2]){if((e|0)<=(r|0))break i;for(;k=m(r,u),l0(i[n+8>>2]+m(k,i[n+44>>2])|0,i[A+8>>2]+m(k,i[A+44>>2])|0,m(u,i[A+32>>2])),l0(i[n+12>>2]+m(k,i[n+44>>2])|0,i[A+12>>2]+m(k,i[A+44>>2])|0,m(u,i[A+32>>2])),r=r+1|0,(e|0)!=(r|0););break i}o=m(r,u),t=m(o,k),e=m(u,e-r|0),l0(t+i[n+8>>2]|0,t+i[A+8>>2]|0,m(e,k)),k=i[n+12>>2],r=i[n+44>>2],n=m(r,o),l0(k+n|0,n+i[A+12>>2]|0,m(e,r))}i:{if(i[w+16892>>2]<=0)break i;for(e=1<<h,r=0;;){if(A=i[f+12>>2],n=i[A+52>>2],u=i[f+8>>2],k=Q[((i[A+140>>2]+m(m(u,i[A+152>>2]),24)|0)+m(r,24)|0)+2>>1],k>>>0>=i[A+56>>2]-n>>2>>>0||(n=i[n+(k<<2)>>2],!n))break i;r:{if(!s[n+333|0])break r;if(o=i[f+20>>2],k=i[o+40>>2],o=i[o+4>>2],t=i[f+16>>2],h=i[t+40>>2],t=i[t+4>>2],i[i[A+124>>2]+16832>>2]>=9){t6(A,r,u,0,e,e,t,h,o,k);break r}o6(A,r,u,0,e,e,t,h,o,k)}r:{if(!s[n+334|0])break r;A=(e|0)/i[w+16856>>2]|0,n=(e|0)/i[w+16852>>2]|0,u=i[f+8>>2],o=i[f+20>>2],k=i[o+44>>2],o=i[o+8>>2],t=i[f+16>>2],h=i[t+44>>2],t=i[t+8>>2],_=i[f+12>>2];e:{if(i[i[_+124>>2]+16840>>2]>=9){t6(_,r,u,1,n,A,t,h,o,k);break e}o6(_,r,u,1,n,A,t,h,o,k)}if(u=i[f+8>>2],o=i[f+20>>2],k=i[o+44>>2],o=i[o+12>>2],t=i[f+16>>2],h=i[t+44>>2],t=i[t+12>>2],_=i[f+12>>2],i[i[_+124>>2]+16840>>2]>=9){t6(_,r,u,2,n,A,t,h,o,k);break r}o6(_,r,u,2,n,A,t,h,o,k)}if(r=r+1|0,!((r|0)<i[w+16892>>2]))break}}if(r=0,(v|0)>0)for(;e=(i[i[f+12>>2]+320>>2]+m(r,76)|0)+m(m(i[f+8>>2],i[w+16892>>2]),76)|0,i[e>>2]<4&&(i[e>>2]=4),r=r+1|0,(v|0)!=(r|0););i[f+4>>2]=3,Ze(i[f+12>>2])}function Jh(){var f=0,e=0,r=0,A=0,k=0,n=0;s[99593]||(r=i[13846],A=B-16|0,B=A,f=$0(99240),i[f+40>>2]=99296,i[f+32>>2]=r,i[f>>2]=55716,l[f+52|0]=0,i[f+48>>2]=-1,k=A+12|0,e=i[f+4>>2],i[k>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),V[i[i[f>>2]+8>>2]](f,k),O0(k),B=A+16|0,i[24641]=55348,i[24641]=53680,i[24639]=53212,i[24641]=53232,i[24640]=0,Qe(i[13300]+98556|0,99240),k=i[12469],Q9(99304,k,99352),M3(98732,99304),n=i[12468],Q9(99360,n,99408),M3(98900,99360),M3(99068,i[(i[i[24725]-12>>2]+98900|0)+24>>2]),i[(i[i[24639]-12>>2]+98556|0)+72>>2]=98732,f=i[i[24725]-12>>2]+98900|0,i[f+4>>2]=i[f+4>>2]|8192,i[(i[i[24725]-12>>2]+98900|0)+72>>2]=98732,A=B-16|0,B=A,f=vt(99416),i[f+40>>2]=99472,i[f+32>>2]=r,i[f>>2]=55920,l[f+52|0]=0,i[f+48>>2]=-1,r=A+12|0,e=i[f+4>>2],i[r>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),V[i[i[f>>2]+8>>2]](f,r),O0(r),B=A+16|0,i[24663]=55348,i[24663]=54116,i[24661]=53460,i[24663]=53480,i[24662]=0,Qe(i[13362]+98644|0,99416),y9(99480,k,99528),x3(98816,99480),y9(99536,n,99584),x3(98984,99536),x3(99152,i[(i[i[24746]-12>>2]+98984|0)+24>>2]),i[(i[i[24661]-12>>2]+98644|0)+72>>2]=98816,f=i[i[24746]-12>>2]+98984|0,i[f+4>>2]=i[f+4>>2]|8192,i[(i[i[24746]-12>>2]+98984|0)+72>>2]=98816,l[99593]=1),f=B-16|0,B=f;i:{if(Zs(f+12|0,f+8|0)|0||(e=Z2((i[f+12>>2]<<2)+4|0),i[24899]=e,!e)||(e=Z2(i[f+8>>2]),e&&(i[i[24899]+(i[f+12>>2]<<2)>>2]=0,!(Bs(i[24899],e|0)|0))))break i;i[24899]=0}B=f+16|0,i[19564]=0,i[19565]=0,l[78275]=0,l[78264]=0,i[19570]=0,i[19571]=0,i[19569]=78280,i[19572]=78292,i[19573]=0,i[19574]=0,bA(),f=B-80|0,B=f,i[19578]=0,i[19577]=531,Nk(),i[19578]=i[23941],i[23941]=78308,i[19580]=0,i[19581]=0,i[19579]=78320,e=i[9245],i[f+48>>2]=i[9244],i[f+52>>2]=e,e=i[9243],i[f+40>>2]=i[9242],i[f+44>>2]=e,e=i[9241],i[f+32>>2]=i[9240],i[f+36>>2]=e,e=i[9239],i[f+24>>2]=i[9238],i[f+28>>2]=e,e=i[9237],i[f+16>>2]=i[9236],i[f+20>>2]=e,e=i[9235],i[f+8>>2]=i[9234],i[f+12>>2]=e,e=f+8|0,jr(78316,e,f+56|0),l0(e,36984,68),i[19582]=78332,i[19583]=0,i[19584]=0,jr(78328,e,f+76|0),i[19586]=0,i[19587]=0,i[19585]=78344,r=i[9276],i[f+56>>2]=i[9275],i[f+60>>2]=r,r=i[9274],i[f+48>>2]=i[9273],i[f+52>>2]=r,r=i[9272],i[f+40>>2]=i[9271],i[f+44>>2]=r,r=i[9270],i[f+32>>2]=i[9269],i[f+36>>2]=r,r=i[9268],i[f+24>>2]=i[9267],i[f+28>>2]=r,r=i[9266],i[f+16>>2]=i[9265],i[f+20>>2]=r,r=i[9264],i[f+8>>2]=i[9263],i[f+12>>2]=r,jr(78340,e,f- -64|0),B=f+80|0,i[19592]=0,i[19590]=0,i[19591]=0,i[23942]=970,i[23943]=0,an(),i[23943]=i[23941],i[23941]=95768,i[23985]=95820,i[23967]=42}function gh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;e=B-32|0,B=e;i:{r:{e:{if((U0(i[r>>2],3)|0)!=8||(U0(i[r>>2],4)|0)!=8)break e;if((U0(i[r>>2],5)|0)==8)break r}i[f>>2]=0,i[f+4>>2]=0;break i}t=H2(i[r>>2],6),u=s[k+8|0];r:{if(!t||(U0(i[r>>2],6)|0)==8)break r;i[f>>2]=0,i[f+4>>2]=0;break i}if(A=U(136),i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=72792,B0(A+20|0,0,104),k=i[A+4>>2],n=k+1|0,i[A+4>>2]=n,i[A+56>>2]=0,i[A+60>>2]=0,i[A+44>>2]=99,i[A+48>>2]=99,i[A+32>>2]=3795,o=A- -64|0,i[o>>2]=0,i[o+4>>2]=0,i[A+132>>2]=0,i[A+124>>2]=0,i[A+128>>2]=0,i[A+84>>2]=1,i[A+88>>2]=1,i[A+72>>2]=A+76,i[A+92>>2]=0,i[A+96>>2]=0,i[A+100>>2]=0,i[A+104>>2]=0,i[A+108>>2]=0,i[A+112>>2]=0,l[A+113|0]=0,l[A+114|0]=0,l[A+115|0]=0,l[A+116|0]=0,l[A+117|0]=0,l[A+118|0]=0,l[A+119|0]=0,l[A+120|0]=0,o=A+12|0,i[A+12>>2]=o,i[A+8>>2]=i[A+8>>2]+1,i[A+4>>2]=k,i[A+16>>2]=A,n||(V[i[i[A>>2]+8>>2]](A),g(A)),n=i[r>>2],h=i[n+24>>2],k=h,w=i[n+28>>2],n=w,_=t|u,i[o+36>>2]=_&1?13:12,i[o+32>>2]=1,i[o+28>>2]=n,i[o+24>>2]=k,J0(o,10,k,n,U0(i[r>>2],3))){k=0,i[e+28>>2]=0,i[e+24>>2]=0,i[e+20>>2]=0,i[e+16>>2]=0,i[e+12>>2]=0,v=v0(i[r>>2],3,e+28|0),Z=v0(i[r>>2],4,e+24|0),p=v0(i[r>>2],5,e+20|0),n=v0(o,10,e+12|0);r:{if(t){if(u=v0(i[r>>2],6,e+16|0),(w|0)<=0|(h|0)<=0)break r;for(_=i[e+16>>2];;){for(W=u+m(k,_)|0,r=0;t=r<<3,l[t+(n+m(i[e+12>>2],k)|0)|0]=0,l[(t+(n+m(i[e+12>>2],k)|0)|0)+1|0]=s[(r+v|0)+m(i[e+28>>2],k)|0],l[(t+(n+m(i[e+12>>2],k)|0)|0)+2|0]=0,l[(t+(n+m(i[e+12>>2],k)|0)|0)+3|0]=s[(r+Z|0)+m(i[e+24>>2],k)|0],l[(t+(n+m(i[e+12>>2],k)|0)|0)+4|0]=0,l[(t+(n+m(i[e+12>>2],k)|0)|0)+5|0]=s[(r+p|0)+m(i[e+20>>2],k)|0],l[(t+(n+m(i[e+12>>2],k)|0)|0)+6|0]=0,l[(t+(n+m(i[e+12>>2],k)|0)|0)+7|0]=s[r+W|0],r=r+1|0,(h|0)!=(r|0););if(k=k+1|0,(w|0)==(k|0))break}break r}if((w|0)<=0|(h|0)<=0)break r;for(u=u&1?8:6;;){for(r=0;t=m(r,u),l[t+(n+m(i[e+12>>2],k)|0)|0]=0,l[(t+(n+m(i[e+12>>2],k)|0)|0)+1|0]=s[(r+v|0)+m(i[e+28>>2],k)|0],l[(t+(n+m(i[e+12>>2],k)|0)|0)+2|0]=0,l[(t+(n+m(i[e+12>>2],k)|0)|0)+3|0]=s[(r+Z|0)+m(i[e+24>>2],k)|0],l[(t+(n+m(i[e+12>>2],k)|0)|0)+4|0]=0,l[(t+(n+m(i[e+12>>2],k)|0)|0)+5|0]=s[(r+p|0)+m(i[e+20>>2],k)|0],_&1&&(l[(t+(n+m(i[e+12>>2],k)|0)|0)+6|0]=0,l[(t+(n+m(i[e+12>>2],k)|0)|0)+7|0]=255),r=r+1|0,(h|0)!=(r|0););if(k=k+1|0,(w|0)==(k|0))break}}i[f+4>>2]=A,i[f>>2]=o;break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[A+4>>2],i[A+4>>2]=f-1,f)break i;V[i[i[A>>2]+8>>2]](A),g(A)}B=e+32|0}function Nh(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;t=B-32|0,B=t,u=t+12|0,v=i[e>>2],Z=r,r=0,n=B-16|0,B=n;i:{if(k>>>0<5)break i;for(h=k-4|0;;){if(o=r+A|0,w=s[o+1|0]<<8,_=s[o+2|0]<<16|s[o+3|0]<<24,(s[o|0]|w|_)==704662861|(_|(w|s[o|0]))==2771273)break i;if(r=r+1|0,(h|0)==(r|0))break}r=h}i:{if(r>>>0>=k>>>0){if(r=U(64),i[n+4>>2]=r,i[n+8>>2]=56,i[n+12>>2]=-2147483584,A=s[18084]|s[18085]<<8|(s[18086]<<16|s[18087]<<24),k=s[18080]|s[18081]<<8|(s[18082]<<16|s[18083]<<24),l[r|0]=k,l[r+1|0]=k>>>8,l[r+2|0]=k>>>16,l[r+3|0]=k>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+56|0]=0,A=s[18132]|s[18133]<<8|(s[18134]<<16|s[18135]<<24),k=s[18128]|s[18129]<<8|(s[18130]<<16|s[18131]<<24),l[r+48|0]=k,l[r+49|0]=k>>>8,l[r+50|0]=k>>>16,l[r+51|0]=k>>>24,l[r+52|0]=A,l[r+53|0]=A>>>8,l[r+54|0]=A>>>16,l[r+55|0]=A>>>24,A=s[18124]|s[18125]<<8|(s[18126]<<16|s[18127]<<24),k=s[18120]|s[18121]<<8|(s[18122]<<16|s[18123]<<24),l[r+40|0]=k,l[r+41|0]=k>>>8,l[r+42|0]=k>>>16,l[r+43|0]=k>>>24,l[r+44|0]=A,l[r+45|0]=A>>>8,l[r+46|0]=A>>>16,l[r+47|0]=A>>>24,A=s[18116]|s[18117]<<8|(s[18118]<<16|s[18119]<<24),k=s[18112]|s[18113]<<8|(s[18114]<<16|s[18115]<<24),l[r+32|0]=k,l[r+33|0]=k>>>8,l[r+34|0]=k>>>16,l[r+35|0]=k>>>24,l[r+36|0]=A,l[r+37|0]=A>>>8,l[r+38|0]=A>>>16,l[r+39|0]=A>>>24,A=s[18108]|s[18109]<<8|(s[18110]<<16|s[18111]<<24),k=s[18104]|s[18105]<<8|(s[18106]<<16|s[18107]<<24),l[r+24|0]=k,l[r+25|0]=k>>>8,l[r+26|0]=k>>>16,l[r+27|0]=k>>>24,l[r+28|0]=A,l[r+29|0]=A>>>8,l[r+30|0]=A>>>16,l[r+31|0]=A>>>24,A=s[18100]|s[18101]<<8|(s[18102]<<16|s[18103]<<24),k=s[18096]|s[18097]<<8|(s[18098]<<16|s[18099]<<24),l[r+16|0]=k,l[r+17|0]=k>>>8,l[r+18|0]=k>>>16,l[r+19|0]=k>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[18092]|s[18093]<<8|(s[18094]<<16|s[18095]<<24),k=s[18088]|s[18089]<<8|(s[18090]<<16|s[18091]<<24),l[r+8|0]=k,l[r+9|0]=k>>>8,l[r+10|0]=k>>>16,l[r+11|0]=k>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,r0(u,5,2006,n+4|0),l[n+15|0]>=0)break i;G(i[n+4>>2]);break i}if(i[n+12>>2]=0,i[n+4>>2]=0,i[n+8>>2]=0,L2(n+4|0,k+4|0),l[i[n+4>>2]]=r>>>24,l[i[n+4>>2]+1|0]=r>>>16,l[i[n+4>>2]+2|0]=r>>>8,l[i[n+4>>2]+3|0]=r,r=i[n+4>>2],l0(r+4|0,A,k),u6(u,v,Z,r,i[n+8>>2]-r|0,8780,0,0,0),r=i[n+4>>2],!r)break i;i[n+8>>2]=r,G(r)}B=n+16|0;i:{if(i[t+12>>2]!=i[19564]){P0(f,u,i[e>>2]);break i}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}l[t+31|0]<0&&G(i[t+20>>2]),B=t+32|0}function Rh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;A=B-16|0,B=A,e=i[r>>2],v=i[e+28>>2],_=i[e+24>>2];i:{if((U0(e,0)|0)!=8){i[f>>2]=0,i[f+4>>2]=0;break i}e=U(136),i[e+4>>2]=0,i[e+8>>2]=0,i[e>>2]=72792,B0(e+20|0,0,104),n=i[e+4>>2],t=n+1|0,i[e+4>>2]=t,i[e+56>>2]=0,i[e+60>>2]=0,i[e+44>>2]=99,i[e+48>>2]=99,i[e+32>>2]=3795,h=e- -64|0,i[h>>2]=0,i[h+4>>2]=0,i[e+132>>2]=0,i[e+124>>2]=0,i[e+128>>2]=0,i[e+84>>2]=1,i[e+88>>2]=1,i[e+72>>2]=e+76,i[e+92>>2]=0,i[e+96>>2]=0,i[e+100>>2]=0,i[e+104>>2]=0,i[e+108>>2]=0,i[e+112>>2]=0,l[e+113|0]=0,l[e+114|0]=0,l[e+115|0]=0,l[e+116|0]=0,l[e+117|0]=0,l[e+118|0]=0,l[e+119|0]=0,l[e+120|0]=0,h=e+12|0,i[e+12>>2]=h,i[e+8>>2]=i[e+8>>2]+1,i[e+4>>2]=n,i[e+16>>2]=e,t||(V[i[i[e>>2]+8>>2]](e),g(e)),n=H2(i[r>>2],6),i[h+36>>2]=s[k+8|0]?11:10,i[h+32>>2]=1,i[h+28>>2]=v,i[h+24>>2]=_;r:{e:{if(J0(h,10,_,v,8)){if(i[A+12>>2]=0,i[A+4>>2]=0,Z=v0(i[r>>2],0,A+12|0),n&&(p=v0(i[r>>2],6,A+8|0)),t=v0(h,10,A+4|0),(v|0)<=0)break r;if(!n)break e;for(r=0,u=(_|0)<=0;;){A:{if(s[k+8|0]){if(n=0,u)break A;for(;o=n<<2,w=s[(n+Z|0)+m(i[A+12>>2],r)|0],l[o+(t+m(i[A+4>>2],r)|0)|0]=w,l[(o+(t+m(i[A+4>>2],r)|0)|0)+1|0]=w,l[(o+(t+m(i[A+4>>2],r)|0)|0)+2|0]=w,l[(o+(t+m(i[A+4>>2],r)|0)|0)+3|0]=s[(m(i[A+8>>2],r)+n|0)+p|0],n=n+1|0,(_|0)!=(n|0););break A}if(n=0,u)break A;for(;o=m(n,3),w=s[(n+Z|0)+m(i[A+12>>2],r)|0],l[o+(t+m(i[A+4>>2],r)|0)|0]=w,l[(o+(t+m(i[A+4>>2],r)|0)|0)+1|0]=w,l[(o+(t+m(i[A+4>>2],r)|0)|0)+2|0]=w,n=n+1|0,(_|0)!=(n|0););}if(r=r+1|0,(v|0)==(r|0))break}break r}if(i[f>>2]=0,i[f+4>>2]=0,f=i[e+4>>2],i[e+4>>2]=f-1,f)break i;V[i[i[e>>2]+8>>2]](e),g(e);break i}if(w=(_|0)<=0,!w){for(r=0;;){n=0;e:{if(s[k+8|0]){for(;;)if(o=n<<2,u=s[(n+Z|0)+m(i[A+12>>2],r)|0],l[o+(t+m(i[A+4>>2],r)|0)|0]=u,l[(o+(t+m(i[A+4>>2],r)|0)|0)+1|0]=u,l[(o+(t+m(i[A+4>>2],r)|0)|0)+2|0]=u,l[(o+(t+m(i[A+4>>2],r)|0)|0)+3|0]=255,n=n+1|0,(_|0)==(n|0))break e}if(w)break e;for(;o=m(n,3),u=s[(n+Z|0)+m(i[A+12>>2],r)|0],l[o+(t+m(i[A+4>>2],r)|0)|0]=u,l[(o+(t+m(i[A+4>>2],r)|0)|0)+1|0]=u,l[(o+(t+m(i[A+4>>2],r)|0)|0)+2|0]=u,n=n+1|0,(_|0)!=(n|0););}if(r=r+1|0,(v|0)==(r|0))break}break r}if(s[k+8|0])break r;for(o=t+2|0,u=t+1|0,r=0;s[k+8|0]|(_|0)<=0||(n=s[m(i[A+12>>2],r)+Z|0],l[t+m(i[A+4>>2],r)|0]=n,l[u+m(i[A+4>>2],r)|0]=n,l[o+m(i[A+4>>2],r)|0]=n),r=r+1|0,(v|0)!=(r|0););}i[f+4>>2]=e,i[f>>2]=h}B=A+16|0}function Dh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=Y(0),y=Y(0),E=Y(0),J=Y(0),R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0;A=B+-64|0,B=A;i:{r:{e:{if((U0(i[r>>2],0)|0)!=8||(U0(i[r>>2],1)|0)!=8)break e;if((U0(i[r>>2],2)|0)==8)break r}i[f>>2]=0,i[f+4>>2]=0;break i}if(e=U(136),i[e+4>>2]=0,i[e+8>>2]=0,i[e>>2]=72792,B0(e+20|0,0,104),k=i[e+4>>2],n=k+1|0,i[e+4>>2]=n,i[e+56>>2]=0,i[e+60>>2]=0,i[e+44>>2]=99,i[e+48>>2]=99,i[e+32>>2]=3795,t=e- -64|0,i[t>>2]=0,i[t+4>>2]=0,i[e+132>>2]=0,i[e+124>>2]=0,i[e+128>>2]=0,i[e+84>>2]=1,i[e+88>>2]=1,i[e+72>>2]=e+76,i[e+92>>2]=0,i[e+96>>2]=0,i[e+100>>2]=0,i[e+104>>2]=0,i[e+108>>2]=0,i[e+112>>2]=0,l[e+113|0]=0,l[e+114|0]=0,l[e+115|0]=0,l[e+116|0]=0,l[e+117|0]=0,l[e+118|0]=0,l[e+119|0]=0,l[e+120|0]=0,t=e+12|0,i[e+12>>2]=t,i[e+8>>2]=i[e+8>>2]+1,i[e+4>>2]=k,i[e+16>>2]=e,n||(V[i[i[e>>2]+8>>2]](e),g(e)),n=i[r>>2],v=i[n+24>>2],k=v,Z=i[n+28>>2],n=Z,i[t+36>>2]=11,i[t+32>>2]=1,i[t+28>>2]=n,i[t+24>>2]=k,J0(t,10,k,n,8)){if(n=i[r>>2],k=i[n+44>>2],n=i[n+48>>2],n&&(i[n+4>>2]=i[n+4>>2]+1),i[A+52>>2]=-1086926434,i[A+56>>2]=1071829221,i[A+44>>2]=1068725436,i[A+48>>2]=-1095748968,l[A+40|0]=1,k&&(V6(A+20|0,Q[k+8>>1],Q[k+4>>1]),i[A+56>>2]=i[A+36>>2],k=i[A+32>>2],i[A+48>>2]=i[A+28>>2],i[A+52>>2]=k,k=i[A+24>>2],i[A+40>>2]=i[A+20>>2],i[A+44>>2]=k),I=Z0[A+56>>2],y=Z0[A+48>>2],E=Z0[A+52>>2],J=Z0[A+44>>2],p=H2(i[r>>2],6),k=0,i[A+20>>2]=0,i[A+16>>2]=0,i[A+12>>2]=0,i[A+8>>2]=0,i[A+4>>2]=0,R=v0(i[r>>2],0,A+20|0),D=v0(i[r>>2],1,A+16|0),h=i[r>>2],z=z8(Y(I*Y(256))),H=z8(Y(y*Y(256))),a=z8(Y(E*Y(256))),S=z8(Y(J*Y(256))),q=v0(h,2,A+12|0),p&&(d=v0(i[r>>2],6,A+8|0)),h=v0(t,10,A+4|0),!((Z|0)<=0|(v|0)<=0))for(;;){for(W=k>>>1|0,r=0;o=r>>>1|0,w=s[o+(m(i[A+16>>2],W)+D|0)|0],_=r<<2,C=s[o+(m(i[A+12>>2],W)+q|0)|0]-128|0,o=s[(m(i[A+20>>2],k)+R|0)+r|0],u=(m(C,S)+128>>8)+o|0,l[_+(h+m(i[A+4>>2],k)|0)|0]=(u|0)>=0?u>>>0>=255?255:u:0,w=w-128|0,u=o+((m(w,H)+m(a,C)|0)+128>>8)|0,l[((h+m(i[A+4>>2],k)|0)+_|0)+1|0]=(u|0)>=0?u>>>0>=255?255:u:0,o=o+(m(w,z)+128>>8)|0,l[((h+m(i[A+4>>2],k)|0)+_|0)+2|0]=(o|0)>=0?o>>>0>=255?255:o:0,l[((h+m(i[A+4>>2],k)|0)+_|0)+3|0]=p?s[(m(i[A+8>>2],k)+r|0)+d|0]:255,r=r+1|0,(v|0)!=(r|0););if(k=k+1|0,(Z|0)==(k|0))break}if(i[f+4>>2]=e,i[f>>2]=t,!n||(f=i[n+4>>2],i[n+4>>2]=f-1,f))break i;V[i[i[n>>2]+8>>2]](n),g(n);break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[e+4>>2],i[e+4>>2]=f-1,f)break i;V[i[i[e>>2]+8>>2]](e),g(e)}B=A- -64|0}function Uh(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0;k=B-16|0,B=k,W=e,C=D0(r),i[W+48>>2]=C,W=e,C=D0(r),i[W+52>>2]=C,n=i[e+12>>2],A=i[e+8>>2],h=i[e+32>>2];i:{if(!n&A>>>0<=h+8>>>0){if(e=U(40),i[k+4>>2]=e,i[k+8>>2]=38,i[k+12>>2]=-2147483608,r=s[18216]|s[18217]<<8|(s[18218]<<16|s[18219]<<24),A=s[18212]|s[18213]<<8|(s[18214]<<16|s[18215]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+38|0]=0,r=s[18246]|s[18247]<<8|(s[18248]<<16|s[18249]<<24),A=s[18242]|s[18243]<<8|(s[18244]<<16|s[18245]<<24),l[e+30|0]=A,l[e+31|0]=A>>>8,l[e+32|0]=A>>>16,l[e+33|0]=A>>>24,l[e+34|0]=r,l[e+35|0]=r>>>8,l[e+36|0]=r>>>16,l[e+37|0]=r>>>24,r=s[18240]|s[18241]<<8|(s[18242]<<16|s[18243]<<24),A=s[18236]|s[18237]<<8|(s[18238]<<16|s[18239]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[18232]|s[18233]<<8|(s[18234]<<16|s[18235]<<24),A=s[18228]|s[18229]<<8|(s[18230]<<16|s[18231]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[18224]|s[18225]<<8|(s[18226]<<16|s[18227]<<24),A=s[18220]|s[18221]<<8|(s[18222]<<16|s[18223]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,101,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}o=A-h|0,v=o-8|0;r:{if(A=(n-(A>>>0<h>>>0)|0)-(o>>>0<8)|0,!A&v>>>0<4)break r;Z=(A&3)<<30|v>>>2,v=A>>>2|0,h=0,A=0;e:{for(;;){if(s[r+20|0]==1)break r;w=D0(r);A:{n=i[e+60>>2],t=i[e+64>>2];f:{if(n>>>0<t>>>0){i[n>>2]=w,w=n+4|0;break f}if(_=i[e+56>>2],u=n-_>>2,o=u+1|0,o>>>0>=1073741824)break A;if(p=u<<2,t=t-_|0,u=t>>1,u=t>>>0>=2147483644?1073741823:u>>>0>o>>>0?u:o,u){if(u>>>0>=1073741824)break e;o=U(u<<2)}else o=0;if(t=p+o|0,i[t>>2]=w,w=t+4|0,(n|0)!=(_|0))for(;t=t-4|0,n=n-4|0,i[t>>2]=i[n>>2],(n|0)!=(_|0););if(i[e+64>>2]=o+(u<<2),i[e+60>>2]=w,i[e+56>>2]=t,!_)break f;G(_)}if(i[e+60>>2]=w,h=h+1|0,A=h?A:A+1|0,(h|0)!=(Z|0)|(A|0)!=(v|0))continue;break r}break}y0(),P()}_2(),P()}if(s[r+20|0]==1){if(l[k+4|0]=0,l[k+15|0]=0,r0(f,2,100,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+16|0}function Cr(f,e,r){var A=0,k=0;A=B-656|0,B=A,e=e?7776:5478,s[f|0]&&(i[A+644>>2]=l[f+1|0],i[A+640>>2]=e,c(r,26967,A+640|0),i[A+628>>2]=l[f+2|0],i[A+624>>2]=e,c(r,28201,A+624|0),k=i[f+4>>2]-1|0,k>>>0<=3?k=i[(k<<2)+46120>>2]:k=18285,i[A+612>>2]=k,i[A+608>>2]=e,c(r,21931,A+608|0),i[A+592>>2]=e,c(r,19849,A+592|0),i[A+576>>2]=l[f+8|0],c(r,13655,A+576|0),c(r,18139,0),i[A+560>>2]=l[f+9|0],c(r,13655,A+560|0),c(r,18139,0),i[A+544>>2]=l[f+10|0],c(r,13655,A+544|0),c(r,18139,0),i[A+528>>2]=l[f+11|0],c(r,13655,A+528|0),c(r,18139,0),i[A+512>>2]=l[f+12|0],c(r,13655,A+512|0),c(r,18139,0),i[A+496>>2]=l[f+13|0],c(r,13655,A+496|0),c(r,18139,0),i[A+480>>2]=l[f+14|0],c(r,13655,A+480|0),c(r,18139,0),i[A+464>>2]=l[f+15|0],c(r,13655,A+464|0),c(r,18139,0),i[A+448>>2]=l[f+16|0],c(r,13655,A+448|0),c(r,18139,0),i[A+432>>2]=l[f+17|0],c(r,13655,A+432|0),c(r,18139,0),i[A+416>>2]=l[f+18|0],c(r,13655,A+416|0),c(r,18139,0),i[A+400>>2]=l[f+19|0],c(r,13655,A+400|0),c(r,18139,0),i[A+384>>2]=l[f+20|0],c(r,13655,A+384|0),c(r,18139,0),i[A+368>>2]=l[f+21|0],c(r,13655,A+368|0),c(r,18139,0),i[A+352>>2]=l[f+22|0],c(r,13655,A+352|0),c(r,18139,0),i[A+336>>2]=l[f+23|0],c(r,13655,A+336|0),c(r,18139,0),i[A+320>>2]=l[f+24|0],c(r,13655,A+320|0),c(r,18139,0),i[A+304>>2]=l[f+25|0],c(r,13655,A+304|0),c(r,18139,0),i[A+288>>2]=l[f+26|0],c(r,13655,A+288|0),c(r,18139,0),i[A+272>>2]=l[f+27|0],c(r,13655,A+272|0),c(r,18139,0),i[A+256>>2]=l[f+28|0],c(r,13655,A+256|0),c(r,18139,0),i[A+240>>2]=l[f+29|0],c(r,13655,A+240|0),c(r,18139,0),i[A+224>>2]=l[f+30|0],c(r,13655,A+224|0),c(r,18139,0),i[A+208>>2]=l[f+31|0],c(r,13655,A+208|0),c(r,18139,0),i[A+192>>2]=l[f+32|0],c(r,13655,A+192|0),c(r,18139,0),i[A+176>>2]=l[f+33|0],c(r,13655,A+176|0),c(r,18139,0),i[A+160>>2]=l[f+34|0],c(r,13655,A+160|0),c(r,18139,0),i[A+144>>2]=l[f+35|0],c(r,13655,A+144|0),c(r,18139,0),i[A+128>>2]=l[f+36|0],c(r,13655,A+128|0),c(r,18139,0),i[A+112>>2]=l[f+37|0],c(r,13655,A+112|0),c(r,18139,0),i[A+96>>2]=l[f+38|0],c(r,13655,A+96|0),c(r,18139,0),i[A+80>>2]=l[f+39|0],c(r,13655,A+80|0),c(r,31103,0),i[A+68>>2]=l[f+40|0],i[A+64>>2]=e,c(r,24570,A- -64|0),i[A+52>>2]=l[f+41|0],i[A+48>>2]=e,c(r,24607,A+48|0),i[A+36>>2]=l[f+42|0],i[A+32>>2]=e,c(r,23734,A+32|0),i[A+20>>2]=l[f+43|0],i[A+16>>2]=e,c(r,23694,A+16|0)),s[f+44|0]&&(f=i[f+48>>2],i[A+4>>2]=f,i[A>>2]=e,i0[A+8>>3]=Y(Y(f|0)/Y(30)),c(r,31206,A)),B=A+656|0}function xk(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0,h=0;k=B-160|0,B=k,A=i[r>>2],n=V[i[i[A>>2]+8>>2]](A)|0,t=i[r>>2],A=w0,n=n+8|0,A=n>>>0<8?A+1|0:A;i:{if(V[i[i[t>>2]+12>>2]](t,n,A)|0){if(l[k+16|0]=0,l[k+27|0]=0,r0(f,2,100,k+16|0),l[k+27|0]>=0)break i;G(i[k+16>>2]);break i}if(u=e,h=D0(r),i[u+8>>2]=h,i[e+12>>2]=0,A=D0(r),i[e+32>>2]=8,i[e+16>>2]=A,!i[e+12>>2]&i[e+8>>2]==1){if(A=i[r>>2],n=V[i[i[A>>2]+8>>2]](A)|0,t=i[r>>2],A=w0,n=n+8|0,A=n>>>0<8?A+1|0:A,V[i[i[t>>2]+12>>2]](t,n,A)|0){if(l[k+16|0]=0,l[k+27|0]=0,r0(f,2,100,k+16|0),l[k+27|0]>=0)break i;G(i[k+16>>2]);break i}if(A=D0(r),u=e,h=D0(r),i[u+8>>2]=h,i[e+12>>2]=A,i[e+32>>2]=i[e+32>>2]+8,i[k+24>>2]=54496,i[k+80>>2]=54516,A=i[13633],i[k+16>>2]=A,n=i[A-12>>2],A=k+16|0,i[n+A>>2]=i[13634],i[k+20>>2]=0,n=A+i[i[k+16>>2]-12>>2]|0,t=k+28|0,b0(n,t),i[n+72>>2]=0,i[n+76>>2]=-1,n=i[13635],i[k+24>>2]=n,o=k+24|0,i[o+i[n-12>>2]>>2]=i[13636],n=i[13632],i[k+16>>2]=n,i[A+i[n-12>>2]>>2]=i[13637],i[k+80>>2]=54516,i[k+16>>2]=54476,i[k+24>>2]=54496,A=$0(t),i[A>>2]=53552,i[k+68>>2]=0,i[k+72>>2]=0,i[k+60>>2]=0,i[k+64>>2]=0,i[k+76>>2]=24,x(n4(x(o,19110,9),i[e+8>>2],i[e+12>>2]),17482,24),n=k+80|0,t=i[e+12>>2],(t|0)==268435456|t>>>0>268435456){e=k+4|0,i2(e,A),r0(f,6,1e3,e),l[k+15|0]<0&&G(i[k+4>>2]),f=i[13631],i[k+16>>2]=f,i[i[f-12>>2]+(k+16|0)>>2]=i[13639],i[k+24>>2]=i[13640],i[A>>2]=53552,l[k+71|0]<0&&G(i[k+60>>2]),K0(A),T0(n);break i}t=i[13631],i[k+16>>2]=t,i[i[t-12>>2]+(k+16|0)>>2]=i[13639],i[k+24>>2]=i[13640],i[A>>2]=53552,l[k+71|0]<0&&G(i[k+60>>2]),K0(A),T0(n),A=i[e+16>>2]}if((A|0)==1970628964){if(A=i[r>>2],n=V[i[i[A>>2]+8>>2]](A)|0,t=i[r>>2],A=w0,n=n+16|0,A=n>>>0<16?A+1|0:A,V[i[i[t>>2]+12>>2]](t,n,A)|0){if(l[k+16|0]=0,l[k+27|0]=0,r0(f,2,100,k+16|0),l[k+27|0]>=0)break i;G(i[k+16>>2]);break i}r:{if(!T4(r,16))break r;t=e+20|0,n=i[e+20>>2],A=i[e+24>>2]-n|0;e:{if(A>>>0<=15){L2(t,16-A|0);break e}if((A|0)==16)break e;i[e+24>>2]=n+16}if(n=i[r>>2],A=i[r+4>>2],A){if(i[A+4>>2]=i[A+4>>2]+1,V[i[i[n>>2]+16>>2]](n,i[t>>2],16)|0,n=i[A+4>>2],i[A+4>>2]=n-1,n)break r;V[i[i[A>>2]+8>>2]](A),g(A);break r}V[i[i[n>>2]+16>>2]](n,i[t>>2],16)|0}i[e+32>>2]=i[e+32>>2]+16}if(s[r+20|0]==1){if(l[k+16|0]=0,l[k+27|0]=0,r0(f,2,100,k+16|0),l[k+27|0]>=0)break i;G(i[k+16>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+160|0}function Mh(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0;u=B-16|0,B=u,o=i[k>>2],n=o+i[r>>2]|0;i:{if(i[r+4>>2]-n>>>0<(A|0)/8<<2>>>0){if(e=U(56),i[u+4>>2]=e,i[u+8>>2]=48,i[u+12>>2]=-2147483592,r=s[6923]|s[6924]<<8|(s[6925]<<16|s[6926]<<24),A=s[6919]|s[6920]<<8|(s[6921]<<16|s[6922]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+48|0]=0,r=s[6963]|s[6964]<<8|(s[6965]<<16|s[6966]<<24),A=s[6959]|s[6960]<<8|(s[6961]<<16|s[6962]<<24),l[e+40|0]=A,l[e+41|0]=A>>>8,l[e+42|0]=A>>>16,l[e+43|0]=A>>>24,l[e+44|0]=r,l[e+45|0]=r>>>8,l[e+46|0]=r>>>16,l[e+47|0]=r>>>24,r=s[6955]|s[6956]<<8|(s[6957]<<16|s[6958]<<24),A=s[6951]|s[6952]<<8|(s[6953]<<16|s[6954]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[6947]|s[6948]<<8|(s[6949]<<16|s[6950]<<24),A=s[6943]|s[6944]<<8|(s[6945]<<16|s[6946]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[6939]|s[6940]<<8|(s[6941]<<16|s[6942]<<24),A=s[6935]|s[6936]<<8|(s[6937]<<16|s[6938]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[6931]|s[6932]<<8|(s[6933]<<16|s[6934]<<24),A=s[6927]|s[6928]<<8|(s[6929]<<16|s[6930]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,136,u+4|0),l[u+15|0]>=0)break i;G(i[u+4>>2]);break i}t=s[n|0],h=s[n+1|0];r:{if((A|0)==32){n=s[n+3|0]|(h<<16|t<<24|s[n+2|0]<<8),t=o+4|0;break r}n=(h<<16|t<<24)>>16,t=o+2|0}i[k>>2]=t,i[e+4>>2]=n,o=i[k>>2],n=o+i[r>>2]|0,t=s[n|0],h=s[n+1|0];r:{if((A|0)==32){n=s[n+3|0]|(h<<16|t<<24|s[n+2|0]<<8),t=o+4|0;break r}n=(h<<16|t<<24)>>16,t=o+2|0}i[k>>2]=t,i[e+8>>2]=n,t=i[r>>2],h=i[k>>2],r=t+h|0,o=s[r|0],n=s[r+1|0];r:{if((A|0)==32){r=s[r+3|0]|(n<<16|o<<24|s[r+2|0]<<8),n=4;break r}r=n|o<<8,n=2}i[k>>2]=n+h,i[e+12>>2]=r,r=t,t=i[k>>2],r=r+t|0,o=s[r|0],n=s[r+1|0];r:{if((A|0)==32){A=s[r+3|0]|(n<<16|o<<24|s[r+2|0]<<8),r=4;break r}A=n|o<<8,r=2}if(i[k>>2]=r+t,i[e+16>>2]=A,e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=u+16|0}function xh(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0;u=B-16|0,B=u,o=i[k>>2],n=o+i[r>>2]|0;i:{if(i[r+4>>2]-n>>>0<(A|0)/8<<2>>>0){if(e=U(48),i[u+4>>2]=e,i[u+8>>2]=46,i[u+12>>2]=-2147483600,r=s[6876]|s[6877]<<8|(s[6878]<<16|s[6879]<<24),A=s[6872]|s[6873]<<8|(s[6874]<<16|s[6875]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+46|0]=0,r=s[6914]|s[6915]<<8|(s[6916]<<16|s[6917]<<24),A=s[6910]|s[6911]<<8|(s[6912]<<16|s[6913]<<24),l[e+38|0]=A,l[e+39|0]=A>>>8,l[e+40|0]=A>>>16,l[e+41|0]=A>>>24,l[e+42|0]=r,l[e+43|0]=r>>>8,l[e+44|0]=r>>>16,l[e+45|0]=r>>>24,r=s[6908]|s[6909]<<8|(s[6910]<<16|s[6911]<<24),A=s[6904]|s[6905]<<8|(s[6906]<<16|s[6907]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[6900]|s[6901]<<8|(s[6902]<<16|s[6903]<<24),A=s[6896]|s[6897]<<8|(s[6898]<<16|s[6899]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[6892]|s[6893]<<8|(s[6894]<<16|s[6895]<<24),A=s[6888]|s[6889]<<8|(s[6890]<<16|s[6891]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[6884]|s[6885]<<8|(s[6886]<<16|s[6887]<<24),A=s[6880]|s[6881]<<8|(s[6882]<<16|s[6883]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,136,u+4|0),l[u+15|0]>=0)break i;G(i[u+4>>2]);break i}t=s[n|0],h=s[n+1|0];r:{if((A|0)==32){n=s[n+3|0]|(h<<16|t<<24|s[n+2|0]<<8),t=o+4|0;break r}n=(h<<16|t<<24)>>16,t=o+2|0}i[k>>2]=t,i[e+4>>2]=n,o=i[k>>2],n=o+i[r>>2]|0,t=s[n|0],h=s[n+1|0];r:{if((A|0)==32){n=s[n+3|0]|(h<<16|t<<24|s[n+2|0]<<8),t=o+4|0;break r}n=(h<<16|t<<24)>>16,t=o+2|0}i[k>>2]=t,i[e+8>>2]=n,t=i[r>>2],h=i[k>>2],r=t+h|0,o=s[r|0],n=s[r+1|0];r:{if((A|0)==32){r=s[r+3|0]|(n<<16|o<<24|s[r+2|0]<<8),n=4;break r}r=n|o<<8,n=2}i[k>>2]=n+h,i[e+12>>2]=r,r=t,t=i[k>>2],r=r+t|0,o=s[r|0],n=s[r+1|0];r:{if((A|0)==32){A=s[r+3|0]|(n<<16|o<<24|s[r+2|0]<<8),r=4;break r}A=n|o<<8,r=2}if(i[k>>2]=r+t,i[e+16>>2]=A,e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=u+16|0}function zk(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;k=i[f+18588>>2],_=i[k+132>>2],A=-1<<i[_+8268>>2],t=A&r,v=i[f+18592>>2],h=i[k+124>>2],u=e&A,(u|0)==i[f+18524>>2]&(t|0)==i[f+18528>>2]||(i[f+18528>>2]=t,i[f+18524>>2]=u,i[f+18532>>2]=i[f+18520>>2]),A=i[h+16876>>2],n=-1<<A^-1,o=i[v+808>>2],w=i[h+16892>>2],k=(o|0)/(w|0)|0,w=o-m(k,w)|0,o=i[h+16884>>2],o=(u|0)==(m(w,o)|0)&(t|0)==(m(k,o)|0),k=0;i:{if(!s[_+46|0]||(k=0,n&(t|u)))break i;k=e9(_,u>>A,t>>A)}i:{if(!(!s[_+45|0]|(u|n&t))||k|o){k=i[f+18592>>2]+800|0;break i}k=f+18532|0}A=i[k>>2];i:{r:{o=u-1|0;e:{if(!p7(i[f+18588>>2],u,t,o,t)){n=i[f+18588>>2],k=A;break e}if(n=i[f+18588>>2],w=i[h+16936>>2],k=A,i[f+4>>2]!=i[(i[_+8496>>2]+(o>>w<<2)|0)+(m(i[h+16924>>2],t>>w)<<2)>>2]>>(i[h+16876>>2]-w<<1))break e;if(k=o,o=i[n+168>>2],k=k>>o,(k|0)<0||(w=i[n+172>>2],(w|0)<=(k|0)))break r;if(o=t>>o,(o|0)<0|(o|0)>=i[n+176>>2])break i;k=l[((i[n+160>>2]+m(k,3)|0)+m(m(o,w),3)|0)+2|0]}o=n,n=t-1|0;e:{if(!p7(o,u,t,u,n)||(t=i[h+16936>>2],i[f+4>>2]!=i[(i[_+8496>>2]+(u>>t<<2)|0)+(m(i[h+16924>>2],n>>t)<<2)>>2]>>(i[h+16876>>2]-t<<1)))break e;if(o=u,A=i[f+18588>>2],u=i[A+168>>2],t=o>>u,(t|0)<0||(o=i[A+172>>2],(o|0)<=(t|0)))break r;if(n=n>>u,(n|0)<0|(n|0)>=i[A+176>>2])break i;A=l[((i[A+160>>2]+m(t,3)|0)+m(m(n,o),3)|0)+2|0]}k=i[f+18504>>2]+((A+k|0)+1>>1)|0,A=i[h+16836>>2],n=((k+(A<<1)|0)+52|0)%(A+52|0)|0,i[f+18536>>2]=(n|0)>0?n:0,u=i[h+16844>>2],k=0-u|0,t=n-A|0,A=i[f+18516>>2]+(i[v+756>>2]+(t+i[_+36>>2]|0)|0)|0,n=(A|0)<(k|0)?k:(A|0)>=57?57:A,A=i[f+18512>>2]+(i[v+752>>2]+(t+i[_+32>>2]|0)|0)|0,A=(A|0)<(k|0)?k:(A|0)>=57?57:A;e:{if(i[h+16848>>2]!=1)break e;A:{if((A|0)<30)break A;if(A>>>0>=43){A=A-6|0;break A}A=i[(A<<2)+45912>>2]}if((n|0)<30)break e;if(n>>>0>=43){n=n-6|0;break e}n=i[(n<<2)+45912>>2]}if(k=n+u|0,i[f+18544>>2]=(k|0)>0?k:0,k=A+u|0,i[f+18540>>2]=(k|0)>0?k:0,A=i[f+18588>>2],n=i[A+168>>2],k=e>>n,(k|0)<0||(h=i[A+172>>2],(h|0)<=(k|0)))break r;if(e=r>>n,(e|0)<0|i[A+176>>2]<=(e|0))break i;if(A=i[A+160>>2],r=(A+m(k,3)|0)+m(m(e,h),3)|0,r=(s[r|0]|s[r+1|0]<<8)&7,r=(r>>>0<=3?3:r)-n|0,(r|0)!=31)for(r=1<<r,n=r+e|0,u=r+k|0;;){for(_=(A+m(m(e,h),3)|0)+2|0,r=k;l[_+m(r,3)|0]=t,r=r+1|0,(u|0)>(r|0););if(e=e+1|0,!((n|0)>(e|0)))break}i[f+18520>>2]=t;return}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function zh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=Y(0),I=Y(0),y=Y(0),E=Y(0),J=0,R=0,D=0,z=0,H=0,a=0,S=0;A=B+-64|0,B=A;i:{r:{e:{if((U0(i[r>>2],0)|0)!=8||(U0(i[r>>2],1)|0)!=8)break e;if((U0(i[r>>2],2)|0)==8)break r}i[f>>2]=0,i[f+4>>2]=0;break i}if(e=U(136),i[e+4>>2]=0,i[e+8>>2]=0,i[e>>2]=72792,B0(e+20|0,0,104),k=i[e+4>>2],n=k+1|0,i[e+4>>2]=n,i[e+56>>2]=0,i[e+60>>2]=0,i[e+44>>2]=99,i[e+48>>2]=99,i[e+32>>2]=3795,o=e- -64|0,i[o>>2]=0,i[o+4>>2]=0,i[e+132>>2]=0,i[e+124>>2]=0,i[e+128>>2]=0,i[e+84>>2]=1,i[e+88>>2]=1,i[e+72>>2]=e+76,i[e+92>>2]=0,i[e+96>>2]=0,i[e+100>>2]=0,i[e+104>>2]=0,i[e+108>>2]=0,i[e+112>>2]=0,l[e+113|0]=0,l[e+114|0]=0,l[e+115|0]=0,l[e+116|0]=0,l[e+117|0]=0,l[e+118|0]=0,l[e+119|0]=0,l[e+120|0]=0,o=e+12|0,i[e+12>>2]=o,i[e+8>>2]=i[e+8>>2]+1,i[e+4>>2]=k,i[e+16>>2]=e,n||(V[i[i[e>>2]+8>>2]](e),g(e)),n=i[r>>2],w=i[n+24>>2],k=w,_=i[n+28>>2],n=_,i[o+36>>2]=10,i[o+32>>2]=1,i[o+28>>2]=n,i[o+24>>2]=k,J0(o,10,k,n,8)){if(k=i[r>>2],n=i[k+44>>2],k=i[k+48>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),i[A+52>>2]=-1086926434,i[A+56>>2]=1071829221,i[A+44>>2]=1068725436,i[A+48>>2]=-1095748968,l[A+40|0]=1,n&&(V6(A+20|0,Q[n+8>>1],Q[n+4>>1]),i[A+56>>2]=i[A+36>>2],n=i[A+32>>2],i[A+48>>2]=i[A+28>>2],i[A+52>>2]=n,n=i[A+24>>2],i[A+40>>2]=i[A+20>>2],i[A+44>>2]=n),C=Z0[A+56>>2],I=Z0[A+48>>2],y=Z0[A+52>>2],E=Z0[A+44>>2],n=0,i[A+20>>2]=0,i[A+16>>2]=0,i[A+12>>2]=0,i[A+8>>2]=0,J=v0(i[r>>2],0,A+20|0),R=v0(i[r>>2],1,A+16|0),r=i[r>>2],D=z8(Y(C*Y(256))),z=z8(Y(I*Y(256))),H=z8(Y(y*Y(256))),a=z8(Y(E*Y(256))),S=v0(r,2,A+12|0),v=v0(o,10,A+8|0),!((_|0)<=0|(w|0)<=0))for(;;){for(p=n>>>1|0,r=0;t=r>>>1|0,h=s[t+(m(i[A+16>>2],p)+R|0)|0],u=m(r,3),Z=s[(m(i[A+20>>2],n)+J|0)+r|0],W=s[t+(m(i[A+12>>2],p)+S|0)|0]-128|0,t=Z+(m(W,a)+128>>8)|0,l[u+(m(i[A+8>>2],n)+v|0)|0]=(t|0)>=0?t>>>0>=255?255:t:0,h=h-128|0,t=((m(h,z)+m(H,W)|0)+128>>8)+Z|0,l[(u+(m(i[A+8>>2],n)+v|0)|0)+1|0]=(t|0)>=0?t>>>0>=255?255:t:0,t=u+(m(i[A+8>>2],n)+v|0)|0,u=(m(h,D)+128>>8)+Z|0,l[t+2|0]=(u|0)>=0?u>>>0>=255?255:u:0,r=r+1|0,(w|0)!=(r|0););if(n=n+1|0,(_|0)==(n|0))break}if(i[f+4>>2]=e,i[f>>2]=o,!k||(f=i[k+4>>2],i[k+4>>2]=f-1,f))break i;V[i[i[k>>2]+8>>2]](k),g(k);break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[e+4>>2],i[e+4>>2]=f-1,f)break i;V[i[i[e>>2]+8>>2]](e),g(e)}B=A- -64|0}function Hh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0;t=B-32|0,B=t;i:{r:{e:{if(U0(i[r>>2],3)>>>0<9||U0(i[r>>2],4)>>>0<9)break e;if(U0(i[r>>2],5)>>>0>8)break r}i[f>>2]=0,i[f+4>>2]=0;break i}_=H2(i[r>>2],6),Z=s[k+8|0];r:{if(!_)break r;if(U0(i[r>>2],6)>>>0<=8){i[f>>2]=0,i[f+4>>2]=0;break i}if((y4(i[r>>2],6)|0)==(y4(i[r>>2],4)|0)&&(F4(i[r>>2],6)|0)==(F4(i[r>>2],4)|0))break r;i[f>>2]=0,i[f+4>>2]=0;break i}if(e=U0(i[r>>2],3),!e){i[f>>2]=0,i[f+4>>2]=0;break i}if(n=U(136),i[n+4>>2]=0,i[n+8>>2]=0,i[n>>2]=72792,B0(n+20|0,0,104),A=i[n+4>>2],k=A+1|0,i[n+4>>2]=k,i[n+56>>2]=0,i[n+60>>2]=0,i[n+44>>2]=99,i[n+48>>2]=99,i[n+32>>2]=3795,o=n- -64|0,i[o>>2]=0,i[o+4>>2]=0,i[n+132>>2]=0,i[n+124>>2]=0,i[n+128>>2]=0,i[n+84>>2]=1,i[n+88>>2]=1,i[n+72>>2]=n+76,i[n+92>>2]=0,i[n+96>>2]=0,i[n+100>>2]=0,i[n+104>>2]=0,i[n+108>>2]=0,i[n+112>>2]=0,l[n+113|0]=0,l[n+114|0]=0,l[n+115|0]=0,l[n+116|0]=0,l[n+117|0]=0,l[n+118|0]=0,l[n+119|0]=0,l[n+120|0]=0,u=n+12|0,i[n+12>>2]=u,i[n+8>>2]=i[n+8>>2]+1,i[n+4>>2]=A,i[n+16>>2]=n,k||(V[i[i[n>>2]+8>>2]](n),g(n)),k=i[r>>2],p=i[k+24>>2],A=p,W=i[k+28>>2],k=W,C=_|Z,i[u+36>>2]=C&1?13:12,i[u+32>>2]=1,i[u+28>>2]=k,i[u+24>>2]=A,J0(u,10,A,k,e)){if(i[t+28>>2]=0,i[t+24>>2]=0,i[t+20>>2]=0,i[t+16>>2]=0,i[t+12>>2]=0,I=v0(i[r>>2],3,t+28|0),y=v0(i[r>>2],4,t+24|0),E=v0(i[r>>2],5,t+20|0),o=v0(u,10,t+12|0),_&&(J=v0(i[r>>2],6,t+16|0),R=i[t+16>>2]/2|0),i[t+28>>2]=i[t+28>>2]/2,i[t+24>>2]=i[t+24>>2]/2,i[t+20>>2]=i[t+20>>2]/2,!((W|0)<=0|(p|0)<=0))for(D=C&1?8:6,k=-1<<e^-1,Z=(k&65280)>>>8|0,r=0;;){for(z=m(r,R),w=0;e=w<<1,A=Q[(e+E|0)+(m(i[t+20>>2],r)<<1)>>1],v=Q[(e+y|0)+(m(i[t+24>>2],r)<<1)>>1],h=m(w,D),e=Q[(e+I|0)+(m(i[t+28>>2],r)<<1)>>1],l[h+(o+m(i[t+12>>2],r)|0)|0]=e>>>8,l[((o+m(i[t+12>>2],r)|0)+h|0)+1|0]=e,l[((o+m(i[t+12>>2],r)|0)+h|0)+2|0]=v>>>8,l[((o+m(i[t+12>>2],r)|0)+h|0)+3|0]=v,l[((o+m(i[t+12>>2],r)|0)+h|0)+4|0]=A>>>8,l[((o+m(i[t+12>>2],r)|0)+h|0)+5|0]=A,C&1&&(e=k,v=(o+m(i[t+12>>2],r)|0)+h|0,_?(e=Q[(w+z<<1)+J>>1],A=e>>>8|0):A=Z,l[v+6|0]=A,l[((o+m(i[t+12>>2],r)|0)+h|0)+7|0]=e),w=w+1|0,(p|0)!=(w|0););if(r=r+1|0,(W|0)==(r|0))break}i[f+4>>2]=n,i[f>>2]=u;break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[n+4>>2],i[n+4>>2]=f-1,f)break i;V[i[i[n>>2]+8>>2]](n),g(n)}B=t+32|0}function Th(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;A=B-32|0,B=A,t=s[k+8|0],p=i[i[r>>2]+36>>2],e=U(136),i[e>>2]=72792,i[e+4>>2]=0,i[e+8>>2]=0,B0(e+20|0,0,104),k=i[e+4>>2],o=k+1|0,i[e+4>>2]=o,i[e+56>>2]=0,i[e+60>>2]=0,i[e+44>>2]=99,i[e+48>>2]=99,i[e+32>>2]=3795,n=e- -64|0,i[n>>2]=0,i[n+4>>2]=0,i[e+132>>2]=0,i[e+124>>2]=0,i[e+128>>2]=0,i[e+84>>2]=1,i[e+88>>2]=1,i[e+72>>2]=e+76,i[e+92>>2]=0,i[e+96>>2]=0,i[e+100>>2]=0,i[e+104>>2]=0,i[e+108>>2]=0,i[e+112>>2]=0,l[e+113|0]=0,l[e+114|0]=0,l[e+115|0]=0,l[e+116|0]=0,l[e+117|0]=0,l[e+118|0]=0,l[e+119|0]=0,l[e+120|0]=0,n=e+12|0,i[e+12>>2]=n,i[e+8>>2]=i[e+8>>2]+1,i[e+4>>2]=k,i[e+16>>2]=e,o||(V[i[i[e>>2]+8>>2]](e),g(e)),k=i[r>>2],u=i[k+24>>2],w=i[k+28>>2],k=w,i[n+36>>2]=3,i[n+32>>2]=1,i[n+28>>2]=k,i[n+24>>2]=u;i:{r:{if(!J0(n,3,u,k,8)||!J0(n,4,u,k,8)||!J0(n,5,u,k,8)||(h=t&1,h&&!J0(n,6,u,k,8)))break r;i[A+28>>2]=0,i[A+24>>2]=0,i[A+20>>2]=0,i[A+16>>2]=0,i[A+12>>2]=0,o=v0(i[r>>2],10,A+28|0),_=v0(n,3,A+24|0),v=v0(n,4,A+20|0),Z=v0(n,5,A+16|0),h&&(W=v0(n,6,A+12|0));e:{if((w|0)<=0|(u|0)<=0)break e;if(h=(p|0)==11?4:3,!(t&1)){for(r=0;;){for(k=0;t=m(k,h),l[(k+_|0)+m(i[A+24>>2],r)|0]=s[t+(o+m(i[A+28>>2],r)|0)|0],l[(k+v|0)+m(i[A+20>>2],r)|0]=s[(t+(o+m(i[A+28>>2],r)|0)|0)+1|0],l[(k+Z|0)+m(i[A+16>>2],r)|0]=s[(t+(o+m(i[A+28>>2],r)|0)|0)+2|0],k=k+1|0,(u|0)!=(k|0););if(r=r+1|0,(w|0)==(r|0))break}break e}if(r=0,(p|0)==11)for(;;){for(k=0;t=m(k,h),l[(k+_|0)+m(i[A+24>>2],r)|0]=s[t+(o+m(i[A+28>>2],r)|0)|0],l[(k+v|0)+m(i[A+20>>2],r)|0]=s[(t+(o+m(i[A+28>>2],r)|0)|0)+1|0],l[(k+Z|0)+m(i[A+16>>2],r)|0]=s[(t+(o+m(i[A+28>>2],r)|0)|0)+2|0],l[(m(i[A+12>>2],r)+k|0)+W|0]=s[(t+(o+m(i[A+28>>2],r)|0)|0)+3|0],k=k+1|0,(u|0)!=(k|0););if(r=r+1|0,(w|0)==(r|0))break e}for(;;){for(k=0;t=m(k,h),l[(k+_|0)+m(i[A+24>>2],r)|0]=s[t+(o+m(i[A+28>>2],r)|0)|0],l[(k+v|0)+m(i[A+20>>2],r)|0]=s[(t+(o+m(i[A+28>>2],r)|0)|0)+1|0],l[(k+Z|0)+m(i[A+16>>2],r)|0]=s[(t+(o+m(i[A+28>>2],r)|0)|0)+2|0],l[(m(i[A+12>>2],r)+k|0)+W|0]=255,k=k+1|0,(u|0)!=(k|0););if(r=r+1|0,(w|0)==(r|0))break}}i[f+4>>2]=e,i[f>>2]=n;break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[e+4>>2],i[e+4>>2]=f-1,f)break i;V[i[i[e>>2]+8>>2]](e),g(e)}B=A+32|0}function ah(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0,v=0,Z=0;if(u=B-48|0,B=u,o=i[e>>2],v=i[o+48>>2],_=i[o+52>>2],_&&(i[_+4>>2]=i[_+4>>2]+1),h=G2(A),h>>>0<2147483640){i:{r:{if(h>>>0>=11){w=(h|7)+1|0,o=U(w),i[u+20>>2]=w|-2147483648,i[u+12>>2]=o,i[u+16>>2]=h;break r}if(l[u+23|0]=h,o=u+12|0,!h)break i}l0(o,A,h)}l[o+h|0]=0,A=B+-64|0,B=A,i[u+28>>2]=0,i[u+32>>2]=0,i[u+44>>2]=0,i[u+36>>2]=0,i[u+40>>2]=0,D8(A+56|0,v,9980),w=i[A+56>>2],o=w,l[o+124|0]=1,i[o+52>>2]=i[o+52>>2]&-2|1;i:{if(h=G2(r),h>>>0<2147483640){r:{e:{if(h>>>0>=11){Z=(h|7)+1|0,o=U(Z),i[A+52>>2]=Z|-2147483648,i[A+44>>2]=o,i[A+48>>2]=h;break e}if(l[A+55|0]=h,o=A+44|0,!h)break r}l0(o,r,h)}l[o+h|0]=0,r=w+88|0;r:{if((r|0)==(A+44|0))break r;if(o=l[A+55|0],l[w+99|0]>=0){if((o|0)>=0){o=i[A+48>>2],i[r>>2]=i[A+44>>2],i[r+4>>2]=o,i[r+8>>2]=i[A+52>>2];break r}i4(r,i[A+44>>2],i[A+48>>2]);break r}w=r,r=(o|0)<0,_4(w,r?i[A+44>>2]:A+44|0,r?i[A+48>>2]:o)}l[A+55|0]<0&&G(i[A+44>>2]),i[u+24>>2]=i[i[A+56>>2]+56>>2];r:{if(l[u+23|0]>=0){i[A+16>>2]=i[u+20>>2],r=i[u+16>>2],i[A+8>>2]=i[u+12>>2],i[A+12>>2]=r;break r}_0(A+8|0,i[u+12>>2],i[u+16>>2])}o=A+8|0,r=B-32|0,B=r,i[r+8>>2]=0,i[r>>2]=0,i[r+4>>2]=0,n?(L2(r,n),w=i[r>>2]):w=0,l0(w,k,n),h=i[A+56>>2],k=h+100|0;r:{if((k|0)==(o|0))break r;if(n=l[o+11|0],l[h+111|0]>=0){if((n|0)>=0){n=i[o+4>>2],i[k>>2]=i[o>>2],i[k+4>>2]=n,i[k+8>>2]=i[o+8>>2];break r}i4(k,i[o>>2],i[o+4>>2]);break r}w=k,k=(n|0)<0,_4(w,k?i[o>>2]:o,k?i[o+4>>2]:n)}Wr(r+12|0,i[v+60>>2],i[i[A+56>>2]+56>>2],r,0),l[r+31|0]<0&&G(i[r+20>>2]),n=i[19565],k=A+24|0,i[k>>2]=i[19564],i[k+4>>2]=n,k=k+8|0;r:{if(l[78275]>=0){n=i[19567],i[k>>2]=i[19566],i[k+4>>2]=n,i[k+8>>2]=i[19568];break r}_0(k,i[19566],i[19567])}k=i[r>>2],k&&(i[r+4>>2]=k,G(k)),B=r+32|0,l[A+43|0]<0&&G(i[A+32>>2]),l[A+19|0]<0&&G(i[A+8>>2]),r=i[A+60>>2];r:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break r;V[i[i[r>>2]+8>>2]](r),g(r)}B=A- -64|0;break i}c2(),P()}l[u+23|0]<0&&G(i[u+12>>2]);i:{if(!_||(r=i[_+4>>2],i[_+4>>2]=r-1,r))break i;V[i[i[_>>2]+8>>2]](_),g(_)}i:{if(!(i[u+28>>2]|!t)){i[t>>2]=i[u+24>>2],i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e;break i}P0(f,u+28|0,i[e>>2])}l[u+47|0]<0&&G(i[u+36>>2]),B=u+48|0;return}c2(),P()}function Sh(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;k=B-32|0,B=k,n=hr()|0;i:{if(!e){i[f+4>>2]=n,i[f>>2]=95844;break i}IA(k+4|0,e,k+16|0,r,A,0);r:{if(!i[k+4>>2]){for(A=H4(11237)|0,o=i[k+16>>2],i[k+24>>2]=o,r=j1(73912,k+24|0)|0,g4(n|0,A|0,r|0),r>>>0>=9&&t1(r|0),A>>>0>=9&&t1(A|0),r=i[e>>2],r?r=i[r+24>>2]:r=0,A=H4(8425)|0,i[k+24>>2]=r,r=j1(67596,k+24|0)|0,g4(n|0,A|0,r|0),r>>>0>=9&&t1(r|0),A>>>0>=9&&t1(A|0),e=i[e>>2],e?_=i[e+28>>2]:_=0,r=H4(3313)|0,i[k+24>>2]=_,e=j1(67596,k+24|0)|0,g4(n|0,r|0,e|0),e>>>0>=9&&t1(e|0),r>>>0>=9&&t1(r|0),e=i[i[o>>2]+36>>2],r=H4(14612)|0,i[k+24>>2]=e,e=j1(73896,k+24|0)|0,g4(n|0,r|0,e|0),e>>>0>=9&&t1(e|0),r>>>0>=9&&t1(r|0),e=i[i[o>>2]+32>>2],r=H4(11509)|0,i[k+24>>2]=e,e=j1(73888,k+24|0)|0,g4(n|0,r|0,e|0),e>>>0>=9&&t1(e|0),r>>>0>=9&&t1(r|0),v=U(32),r=v,e=i[9348],i[r>>2]=i[9347],i[r+4>>2]=e,e=i[9354],i[r+24>>2]=i[9353],i[r+28>>2]=e,e=i[9352],i[r+16>>2]=i[9351],i[r+20>>2]=e,e=i[9350],i[r+8>>2]=i[9349],i[r+12>>2]=e,w=d5()|0,A=0;;){h=i[A+v>>2];e:{if(!H2(i[o>>2],h))break e;t=hr()|0,r=H4(11843)|0,i[k+24>>2]=h,e=j1(73928,k+24|0)|0,g4(t|0,r|0,e|0),e>>>0>=9&&t1(e|0),r>>>0>=9&&t1(r|0),e=i[o>>2];A:{if(!e){i[k>>2]=0,e=0;break A}e=v0(e,h,k)}u=H4(11376)|0,i[k+24>>2]=i[k>>2],r=j1(67596,k+24|0)|0,g4(t|0,u|0,r|0),r>>>0>=9&&t1(r|0),u>>>0>=9&&t1(u|0),r=i[k>>2],i[k+28>>2]=e,i[k+24>>2]=m(r,_),r=j1(73936,k+24|0)|0,e=H4(14587)|0,g4(t|0,e|0,r|0),e>>>0>=9&&t1(e|0),r>>>0>=9&&t1(r|0),e=y4(i[o>>2],h),r=H4(8425)|0,i[k+24>>2]=e,e=j1(67596,k+24|0)|0,g4(t|0,r|0,e|0),e>>>0>=9&&t1(e|0),r>>>0>=9&&t1(r|0),e=F4(i[o>>2],h),r=H4(3313)|0,i[k+24>>2]=e,e=j1(67596,k+24|0)|0,g4(t|0,r|0,e|0),e>>>0>=9&&t1(e|0),r>>>0>=9&&t1(r|0),u=t>>>0<9,u||Js(t|0),i[k+24>>2]=t,i[k+20>>2]=0;A:{if(l[78356]&1){r=i[19588];break A}r=Ys(2,73944,0)|0,l[78356]=1,i[19588]=r}if(+Es(r|0,w|0,8431,k+20|0,k+24|0),e=i[k+20>>2],e&&Fs(e|0),u)break e;t1(t|0)}if(A=A+4|0,(A|0)==32)break}break r}if(r=U(12),i[r+8>>2]=i[k+12>>2],e=i[k+8>>2],i[r>>2]=i[k+4>>2],i[r+4>>2]=e,i[k+24>>2]=r,Z=f,p=j1(73788,k+24|0)|0,i[Z+4>>2]=p,i[f>>2]=95844,n>>>0<9)break i;t1(n|0);break i}e=H4(4034)|0,g4(n|0,e|0,w|0),e>>>0>=9&&t1(e|0),i[f+4>>2]=n,i[f>>2]=95844,w>>>0>=9&&t1(w|0),G(v)}B=k+32|0}function Hk(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;i:{r:{e:{A:switch(e-f>>3){case 2:if(i[e-4>>2]<=i[f+4>>2])break e;return A=i[f>>2],r=i[f+4>>2],k=e-8|0,e=i[k+4>>2],i[f>>2]=i[k>>2],i[f+4>>2]=e,i[k>>2]=A,i[k+4>>2]=r,1;case 3:if(n=e-8|0,k=e-4|0,A=i[k>>2],r=i[f+12>>2],(r|0)<=i[f+4>>2]){if((r|0)>=(A|0)||(A=i[f+8>>2],r=i[f+12>>2],e=i[n+4>>2],i[f+8>>2]=i[n>>2],i[f+12>>2]=e,i[n>>2]=A,i[n+4>>2]=r,i[f+12>>2]<=i[f+4>>2]))break e;e=i[f+8>>2],r=i[f+12>>2];break r}if(e=i[f>>2],t=i[f+4>>2],(r|0)<(A|0)){r=i[n+4>>2],i[f>>2]=i[n>>2],i[f+4>>2]=r;break i}if(A=i[f+8>>2],r=i[f+12>>2],i[f+8>>2]=e,i[f+12>>2]=t,i[f>>2]=A,i[f+4>>2]=r,(t|0)>=i[k>>2])break e;r=i[n+4>>2],i[f+8>>2]=i[n>>2],i[f+12>>2]=r;break i;case 4:return Tr(f,f+8|0,f+16|0,e-8|0),1;case 5:if(Tr(f,f+8|0,f+16|0,f+24|0),i[e-4>>2]<=i[f+28>>2]||(A=i[f+24>>2],r=i[f+28>>2],k=e-8|0,e=i[k+4>>2],i[f+24>>2]=i[k>>2],i[f+28>>2]=e,i[k>>2]=A,i[k+4>>2]=r,i[f+28>>2]<=i[f+20>>2])||(e=i[f+24>>2],r=i[f+28>>2],A=i[f+20>>2],i[f+24>>2]=i[f+16>>2],i[f+28>>2]=A,i[f+16>>2]=e,i[f+20>>2]=r,(r|0)<=i[f+12>>2])||(A=i[f+12>>2],i[f+16>>2]=i[f+8>>2],i[f+20>>2]=A,i[f+8>>2]=e,i[f+12>>2]=r,(r|0)<=i[f+4>>2]))break e;break r;case 0:case 1:break e;default:break A}t=i[f+20>>2],A=i[f+12>>2],k=i[f+4>>2];A:{if((A|0)<=(k|0)){if((A|0)>=(t|0)||(r=i[f+16>>2],t=i[f+20>>2],A=i[f+12>>2],i[f+16>>2]=i[f+8>>2],i[f+20>>2]=A,i[f+8>>2]=r,i[f+12>>2]=t,(k|0)>=(t|0)))break A;A=i[f+4>>2],i[f+8>>2]=i[f>>2],i[f+12>>2]=A,i[f>>2]=r,i[f+4>>2]=t;break A}if(r=i[f>>2],n=i[f+4>>2],(A|0)<(t|0)){k=i[f+16>>2],A=i[f+20>>2],i[f+16>>2]=r,i[f+20>>2]=n,i[f>>2]=k,i[f+4>>2]=A;break A}if(k=i[f+8>>2],A=i[f+12>>2],i[f+8>>2]=r,i[f+12>>2]=n,i[f>>2]=k,i[f+4>>2]=A,(n|0)>=(t|0))break A;k=i[f+16>>2],A=i[f+20>>2],i[f+16>>2]=r,i[f+20>>2]=n,i[f+8>>2]=k,i[f+12>>2]=A}if(k=f+24|0,(k|0)==(e|0))break e;for(A=f+16|0;;){A:{if(i[k+4>>2]<=i[A+4>>2])break A;for(u=i[k>>2],n=i[k+4>>2],r=k;;){f:{if(t=r,r=A,A=i[r+4>>2],i[t>>2]=i[r>>2],i[t+4>>2]=A,(f|0)==(r|0))break f;if(A=r-8|0,i[r-4>>2]<(n|0))continue}break}if(i[r>>2]=u,i[r+4>>2]=n,o=o+1|0,(o|0)!=8)break A;return(k+8|0)==(e|0)}if(A=k,k=k+8|0,(k|0)==(e|0))break}}return 1}return A=i[f+4>>2],i[f+8>>2]=i[f>>2],i[f+12>>2]=A,i[f>>2]=e,i[f+4>>2]=r,1}return i[n>>2]=e,i[n+4>>2]=t,1}function Vr(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;A=e-1|0,r=A,o=(A|0)/2|0,A=e+65535>>>0<131073,o=A?r:o,k=i[f+72>>2],t=k>>31,e=A?2:1,n=i[f+76>>2];i:{if((e|0)==(n|0)){if(r=(o>>31)+t|0,n=k+o|0,r=n>>>0<o>>>0?r+1|0:r,(r-(n>>>0<2147483648)|0)==-1)break i;e=r>>31,o=e,e=n+(e|1)|0,r=r+o|0,n=o2(e,e>>>0<n>>>0?r+1|0:r,2,0),e=1;break i}if(e=n,u=e>>31,n=q0(e,u,o,o>>31),h=w0,w=n,r=k,n=A&31,(A&63)>>>0>=32?(o=r<<n,k=0):(o=(1<<n)-1&r>>>32-n|t<<n,k=r<<n),n=w+k|0,r=o+h|0,r=k>>>0>n>>>0?r+1|0:r,t=r,h=(r-(n>>>0<2147483648)|0)==-1,o=e,k=A&31,(A&63)>>>0>=32?(r=e<<k,A=0):(r=(1<<k)-1&o>>>32-k|u<<k,A=o<<k),k=r,!((r-(A>>>0<2147483648)|0)==-1&h))for(;e=k>>31,r=e,e=A+(r|1)|0,r=r+k|0,A=o2(e,e>>>0<A>>>0?r+1|0:r,2,0),k=w0,u=k-(A>>>0<2147483648)|0,e=t>>31,o=e,e=n+(e|1)|0,r=t+o|0,n=o2(e,e>>>0<n>>>0?r+1|0:r,2,0),e=w0,t=e,(e-(n>>>0<2147483648)&u)!=-1;);e=A}if(k=i[f+56>>2],f=i[f+60>>2],A=k-f|0,t=f>>31,k=(k>>31)-(t+(f>>>0>k>>>0)|0)|0,r=k-(A>>>0<2147483648)|0,(r|0)==-2|r>>>0<4294967294){for(;r=t>>31,u=f+(r|1)|0,r=t+r|0,f=o2(u,f>>>0>u>>>0?r+1|0:r,2,0),t=w0,r=k>>31,u=A+(r|1)|0,r=k+r|0,A=o2(u,A>>>0>u>>>0?r+1|0:r,2,0),k=w0,(k-(A>>>0<2147483648)|0)!=-1;);t=f>>31}if(r=t<<1|f>>>31,f=f<<1,t=r,r=r-(f>>>0<2147483648)|0,(r|0)==-2|r>>>0<4294967294)for(;r=k>>31,u=A+(r|1)|0,o=r+k|0,A=o2(u,A>>>0>u>>>0?o+1|0:o,2,0),k=w0,r=t>>31,u=f+(r|1)|0,r=r+t|0,f=o2(u,f>>>0>u>>>0?r+1|0:r,2,0),t=w0,(t-(f>>>0<2147483648)|0)!=-1;);k=n>>31;i:{if((f|0)==(e|0)){if(k=k-((A>>31)+(A>>>0>n>>>0)|0)|0,A=n-A|0,(k-(A>>>0<2147483648)|0)==-1)break i;for(f=e,t=e>>31;e=t>>31,r=e,e=f+(r|1)|0,r=r+t|0,f=o2(e,f>>>0>e>>>0?r+1|0:r,2,0),t=w0,e=k>>31,r=e,e=A+(r|1)|0,r=r+k|0,A=o2(e,e>>>0<A>>>0?r+1|0:r,2,0),e=w0,k=e,(e-(A>>>0<2147483648)|0)!=-1;);e=f;break i}if(k=q0(f,t,n,k),n=w0,r=e>>31,u=q0(e,r,A,A>>31),A=k-u|0,k=n-(w0+(k>>>0<u>>>0)|0)|0,f=q0(f,t,e,r),e=w0,t=e,(k-(A>>>0<2147483648)&e-(f>>>0<2147483648))!=-1)for(;e=t>>31,n=e,e=f+(e|1)|0,r=n+t|0,f=o2(e,f>>>0>e>>>0?r+1|0:r,2,0),t=w0,n=t-(f>>>0<2147483648)|0,e=k>>31,o=e,e=A+(e|1)|0,r=k+o|0,A=o2(e,e>>>0<A>>>0?r+1|0:r,2,0),e=w0,k=e,(e-(A>>>0<2147483648)&n)!=-1;);e=f}return f=A,A=(e|0)/2|0,f=f+A|0,r=(A>>31)+k|0,o2(f,f>>>0<A>>>0?r+1|0:r,e,e>>31)}function L4(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0,h=0;i:{r:switch(r|0){case 1:for(r=0,k=i[i[11334]+12>>2];n=k+(r<<1)|0,l[((s[n+1|0]<<3)+f|0)+s[n|0]|0]=s[e+r|0],n=r|1,o=k+(n<<1)|0,l[((s[o+1|0]<<3)+f|0)+s[o|0]|0]=s[e+n|0],r=r+2|0,(r|0)!=64;);break i;case 2:for(n=f+1|0,o=i[i[11334]+12>>2];r=o+(k<<1)|0,t=e+k|0,u=s[t|0],l[((s[r|0]<<1)+f|0)+(s[r+1|0]<<5)|0]=u,l[(n+(s[r|0]<<1)|0)+(s[r+1|0]<<5)|0]=u,t=s[t|0],l[(((s[r|0]<<1)+f|0)+(s[r+1|0]<<5)|0)+16|0]=t,l[((n+(s[r|0]<<1)|0)+(s[r+1|0]<<5)|0)+16|0]=t,k=k+1|0,(k|0)!=64;);break i;case 3:for(n=f+3|0,o=f+2|0,t=f+1|0,h=i[i[11334]+12>>2];r=(u<<1)+h|0,k=e+u|0,A=s[k|0],l[((s[r|0]<<2)+f|0)+(s[r+1|0]<<7)|0]=A,l[(t+(s[r|0]<<2)|0)+(s[r+1|0]<<7)|0]=A,A=s[k|0],l[(o+(s[r|0]<<2)|0)+(s[r+1|0]<<7)|0]=A,l[(n+(s[r|0]<<2)|0)+(s[r+1|0]<<7)|0]=A,A=s[k|0],l[(((s[r|0]<<2)+f|0)+(s[r+1|0]<<7)|0)+32|0]=A,l[((t+(s[r|0]<<2)|0)+(s[r+1|0]<<7)|0)+32|0]=A,A=s[k|0],l[((o+(s[r|0]<<2)|0)+(s[r+1|0]<<7)|0)+32|0]=A,l[((n+(s[r|0]<<2)|0)+(s[r+1|0]<<7)|0)+32|0]=A,A=s[k|0],l[(((s[r|0]<<2)+f|0)+(s[r+1|0]<<7)|0)+64|0]=A,l[((t+(s[r|0]<<2)|0)+(s[r+1|0]<<7)|0)+64|0]=A,A=s[k|0],l[((o+(s[r|0]<<2)|0)+(s[r+1|0]<<7)|0)+64|0]=A,l[((n+(s[r|0]<<2)|0)+(s[r+1|0]<<7)|0)+64|0]=A,A=s[k|0],l[(((s[r|0]<<2)+f|0)+(s[r+1|0]<<7)|0)+96|0]=A,l[((t+(s[r|0]<<2)|0)+(s[r+1|0]<<7)|0)+96|0]=A,k=s[k|0],l[((o+(s[r|0]<<2)|0)+(s[r+1|0]<<7)|0)+96|0]=k,l[((n+(s[r|0]<<2)|0)+(s[r+1|0]<<7)|0)+96|0]=k,u=u+1|0,(u|0)!=64;);break i;default:C0(17356,13927,865,4924),P();case 0:break r}r=i[i[11334]+8>>2],l[((s[r+1|0]<<2)+f|0)+s[r|0]|0]=s[e|0],l[s[r+2|0]+((s[r+3|0]<<2)+f|0)|0]=s[e+1|0],l[s[r+4|0]+((s[r+5|0]<<2)+f|0)|0]=s[e+2|0],l[s[r+6|0]+((s[r+7|0]<<2)+f|0)|0]=s[e+3|0],l[s[r+8|0]+((s[r+9|0]<<2)+f|0)|0]=s[e+4|0],l[s[r+10|0]+((s[r+11|0]<<2)+f|0)|0]=s[e+5|0],l[s[r+12|0]+((s[r+13|0]<<2)+f|0)|0]=s[e+6|0],l[s[r+14|0]+((s[r+15|0]<<2)+f|0)|0]=s[e+7|0],l[s[r+16|0]+((s[r+17|0]<<2)+f|0)|0]=s[e+8|0],l[s[r+18|0]+((s[r+19|0]<<2)+f|0)|0]=s[e+9|0],l[s[r+20|0]+((s[r+21|0]<<2)+f|0)|0]=s[e+10|0],l[s[r+22|0]+((s[r+23|0]<<2)+f|0)|0]=s[e+11|0],l[s[r+24|0]+((s[r+25|0]<<2)+f|0)|0]=s[e+12|0],l[s[r+26|0]+((s[r+27|0]<<2)+f|0)|0]=s[e+13|0],l[s[r+28|0]+((s[r+29|0]<<2)+f|0)|0]=s[e+14|0],l[s[r+30|0]+((s[r+31|0]<<2)+f|0)|0]=s[e+15|0]}}function Oh(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;k=B-16|0,B=k,o=D0(r),u=D0(r),h=D0(r),_=D0(r),A=D0(r),n=D0(r),w=D0(r),t=D0(r);i:{if((t|(o|u|h|_|n))<0){if(e=U(32),i[k>>2]=e,i[k+4>>2]=31,i[k+8>>2]=-2147483616,r=s[17877]|s[17878]<<8|(s[17879]<<16|s[17880]<<24),A=s[17873]|s[17874]<<8|(s[17875]<<16|s[17876]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+31|0]=0,r=s[17900]|s[17901]<<8|(s[17902]<<16|s[17903]<<24),A=s[17896]|s[17897]<<8|(s[17898]<<16|s[17899]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,l[e+27|0]=r,l[e+28|0]=r>>>8,l[e+29|0]=r>>>16,l[e+30|0]=r>>>24,r=s[17893]|s[17894]<<8|(s[17895]<<16|s[17896]<<24),A=s[17889]|s[17890]<<8|(s[17891]<<16|s[17892]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[17885]|s[17886]<<8|(s[17887]<<16|s[17888]<<24),A=s[17881]|s[17882]<<8|(s[17883]<<16|s[17884]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,128,k),l[k+11|0]>=0)break i;G(i[k>>2]);break i}if(u=p9(k,o,u),o=i[u>>2],u=i[u+4>>2],i[e+48>>2]=o,i[e+52>>2]=u,h=p9(k,h,_),o=i[h>>2],h=i[h+4>>2],i[e+56>>2]=o,i[e+60>>2]=h,n-65537>>>0<4294836223)for(;A=(A|0)/2|0,n=(n|0)/2|0,n-65537>>>0<4294836223;);r:{if((n|0)<=1)break r;for(;;){if(A-65537>>>0>4294836222)break r;if(A=(A|0)/2|0,o=n>>>0>3,n=n>>>1|0,!o)break}}if(i[e+64>>2]=A,i[e+68>>2]=n,t-65537>>>0<4294836223)for(;w=(w|0)/2|0,t=(t|0)/2|0,t-65537>>>0<4294836223;);r:{if((t|0)<=1){A=t;break r}for(;;){if(w-65537>>>0>4294836222){A=t;break r}if(w=(w|0)/2|0,o=t>>>0>3,A=t>>>1|0,t=A,!o)break}}i[e+72>>2]=w,i[e+76>>2]=A;r:{if(!(!n|(!u|!h))&&A)break r;if(e=f,f=C1(k,31341),r0(e,2,128,f),l[f+11|0]>=0)break i;G(i[f>>2]);break i}e=B-16|0,B=e;r:{if(s[r+20|0]==1){if(l[e+4|0]=0,l[e+15|0]=0,r0(f,2,100,e+4|0),l[e+15|0]>=0)break r;G(i[e+4>>2]);break r}if(r=i[19565],i[f>>2]=i[19564],i[f+4>>2]=r,f=f+8|0,l[78275]>=0){r=i[19567],i[f>>2]=i[19566],i[f+4>>2]=r,i[f+8>>2]=i[19568];break r}_0(f,i[19566],i[19567])}B=e+16|0}B=k+16|0}function jh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0;A=B-16|0,B=A,e=U(136),i[e+4>>2]=0,i[e+8>>2]=0,i[e>>2]=72792,B0(e+20|0,0,104),k=i[e+4>>2],n=k+1|0,i[e+4>>2]=n,i[e+56>>2]=0,i[e+60>>2]=0,i[e+44>>2]=99,i[e+48>>2]=99,i[e+32>>2]=3795,o=e- -64|0,i[o>>2]=0,i[o+4>>2]=0,i[e+132>>2]=0,i[e+124>>2]=0,i[e+128>>2]=0,i[e+84>>2]=1,i[e+88>>2]=1,i[e+72>>2]=e+76,i[e+92>>2]=0,i[e+96>>2]=0,i[e+100>>2]=0,i[e+104>>2]=0,i[e+108>>2]=0,i[e+112>>2]=0,l[e+113|0]=0,l[e+114|0]=0,l[e+115|0]=0,l[e+116|0]=0,l[e+117|0]=0,l[e+118|0]=0,l[e+119|0]=0,l[e+120|0]=0,o=e+12|0,i[e+12>>2]=o,i[e+8>>2]=i[e+8>>2]+1,i[e+4>>2]=k,i[e+16>>2]=e,n||(V[i[i[e>>2]+8>>2]](e),g(e)),k=i[r>>2],n=i[k+24>>2],u=i[k+28>>2],t=i[k+32>>2],i[o+36>>2]=i[k+36>>2],i[o+32>>2]=t,i[o+28>>2]=u,i[o+24>>2]=n;i:{r:{for(;;){n=i[p+41232>>2];e:{if(!H2(i[r>>2],n))break e;if(t=U0(i[r>>2],n),t>>>0>=9){if(h=y4(i[r>>2],n),w=F4(i[r>>2],n),!J0(o,n,h,w,8))break r;if(_=v0(i[r>>2],n,A+12|0),i[A+12>>2]=i[A+12>>2]/2,v=v0(o,n,A+8|0),(w|0)<=0|(h|0)<=0)break e;for(t=t-8|0,W=h&2147483646,C=h&1,n=0;;){if(k=0,u=0,(h|0)!=1)for(;l[(v+m(i[A+8>>2],n)|0)+k|0]=Q[(_+(m(i[A+12>>2],n)<<1)|0)+(k<<1)>>1]>>>t,Z=k|1,l[Z+(v+m(i[A+8>>2],n)|0)|0]=Q[(_+(m(i[A+12>>2],n)<<1)|0)+(Z<<1)>>1]>>>t,k=k+2|0,u=u+2|0,(W|0)!=(u|0););if(C&&(l[(v+m(i[A+8>>2],n)|0)+k|0]=Q[(_+(m(i[A+12>>2],n)<<1)|0)+(k<<1)>>1]>>>t),n=n+1|0,(w|0)==(n|0))break}break e}if((t|0)!=8){if(h=y4(i[r>>2],n),v=F4(i[r>>2],n),!J0(o,n,h,v,8))break r;if(u=1<<16-t,k=(u&65534)>>>t|0,k)for(;u=k|u,k=k>>>t|0,!!k;);if(t=v0(i[r>>2],n,A+12|0),_=v0(o,n,A+8|0),(v|0)<=0|(h|0)<=0)break e;for(W=h&2147483646,C=h&1,n=0;;){if(k=0,w=0,(h|0)!=1)for(;l[(_+m(i[A+8>>2],n)|0)+k|0]=m(s[(t+m(i[A+12>>2],n)|0)+k|0],u)>>>8,Z=k|1,l[Z+(_+m(i[A+8>>2],n)|0)|0]=m(s[Z+(t+m(i[A+12>>2],n)|0)|0],u)>>>8,k=k+2|0,w=w+2|0,(W|0)!=(w|0););if(C&&(l[(_+m(i[A+8>>2],n)|0)+k|0]=m(s[(t+m(i[A+12>>2],n)|0)+k|0],u)>>>8),n=n+1|0,(v|0)==(n|0))break}break e}U8(o,r,n,n)}if(p=p+4|0,(p|0)==28)break}i[f+4>>2]=e,i[f>>2]=o;break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[e+4>>2],i[e+4>>2]=f-1,f)break i;V[i[i[e>>2]+8>>2]](e),g(e)}B=A+16|0}function Ph(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;o=B-16|0,B=o;i:{r:{if((G2(r)|0)!=4){e=i[18420],i[f>>2]=i[18419],i[f+4>>2]=e,i[f+8>>2]=i[18421];break r}Z=s[r|0]|s[r+1|0]<<8|(s[r+2|0]<<16|s[r+3|0]<<24),i[o+12>>2]=0,i[o+4>>2]=0,i[o+8>>2]=0,n=A,w=k+n|0,u=w;e:{if((k|0)<=0)break e;if(r=i[o+12>>2],h=i[o+8>>2],(r-h|0)>=(k|0)){A:{if((k|0)<=(h|0)){r=h;break A}if(w=n+h|0,r=u-w|0,(u|0)!=(w|0)&&F2(h,w,r),r=r+h|0,i[o+8>>2]=r,(h|0)<=0)break e}t=r,A=r-k|0;A:{if(h>>>0<=A>>>0)break A;if(_=k+h|0,u=_-r&7,u)for(;l[t|0]=s[A|0],t=t+1|0,A=A+1|0,v=v+1|0,(u|0)!=(v|0););if(r-_>>>0>=4294967289)break A;for(;l[t|0]=s[A|0],l[t+1|0]=s[A+1|0],l[t+2|0]=s[A+2|0],l[t+3|0]=s[A+3|0],l[t+4|0]=s[A+4|0],l[t+5|0]=s[A+5|0],l[t+6|0]=s[A+6|0],l[t+7|0]=s[A+7|0],t=t+8|0,A=A+8|0,(h|0)!=(A|0););}if(i[o+8>>2]=t,(r|0)!=(k|0)&&(A=r,r=r-k|0,F2(A-r|0,0,r)),(n|0)==(w|0))break e;F2(0,n,w-n|0);break e}if(w=i[o+4>>2],u=(h-w|0)+k|0,(u|0)>=0){t=0-w|0,A=r-w|0,r=A<<1,_=A>>>0>=1073741823?2147483647:r>>>0>u>>>0?r:u,_?u=U(_):u=0,r=l0(t+u|0,n,k);A:{if(!w){A=r;break A}n=t&3;f:{if(!n){A=r,t=0;break f}for(A=r,t=0;A=A-1|0,t=t-1|0,l[A|0]=s[t|0],v=v+1|0,(n|0)!=(v|0););}if(w>>>0<=4294967292)for(;l[A-1|0]=s[t-1|0],l[A-2|0]=s[t-2|0],l[A-3|0]=s[t-3|0],A=A-4|0,t=t-4|0,l[A|0]=s[t|0],(t|0)!=(w|0););h=i[o+8>>2]}r=r+k|0,h&&F2(r,0,h),i[o+12>>2]=u+_,i[o+8>>2]=r+h,r=i[o+4>>2],i[o+4>>2]=A,r&&G(r);break e}y0(),P()}if(n=U(32),i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,i[n+16>>2]=Z<<24|(Z&65280)<<8|(Z>>>8&65280|Z>>>24),i[n+12>>2]=72952,i[n>>2]=73092,i[n+4>>2]=0,i[n+8>>2]=0,r=i[o+8>>2],k=i[o+4>>2],(r|0)!=(k|0)){if(u=r-k|0,(u|0)<0)break i;A=U(u),i[n+20>>2]=A,r=A+u|0,i[n+28>>2]=r,l0(A,k,u),i[n+24>>2]=r}e=i[e>>2],i[n+4>>2]=i[n+4>>2]+2,i[e+52>>2]=n+12,r=i[e+56>>2],i[e+56>>2]=n;e:{if(!r||(e=i[r+4>>2],i[r+4>>2]=e-1,e))break e;V[i[i[r>>2]+8>>2]](r),g(r)}if(e=i[n+4>>2],i[n+4>>2]=e-1,e||(V[i[i[n>>2]+8>>2]](n),g(n)),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],f=i[n+4>>2],i[n+4>>2]=f-1,f||(V[i[i[n>>2]+8>>2]](n),g(n)),f=i[o+4>>2],!f)break r;i[o+8>>2]=f,G(f)}B=o+16|0;return}y0(),P()}function f1(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;if(o=B-16|0,B=o,i[f+4>>2]=i[f+4>>2]+1,r=B-16|0,B=r,i[r+12>>2]=f,i[o+12>>2]=i[r+12>>2],B=r+16|0,r=i[25004],i[25005]-r>>2>>>0<=e>>>0)i:{if(f=e+1|0,A=i[25005],r=A-r>>2,f>>>0>r>>>0){u=B-32|0,B=u,t=f-r|0;r:{if(t>>>0<=i[25006]-A>>2>>>0){J9(t);break r}A=u+12|0,r=B-16|0,B=r,k=t+(i[25005]-i[25004]>>2)|0,i[r+12>>2]=k;e:{if(f=L9(),k>>>0<=f>>>0){k=i[25006]-i[25004]>>2,k>>>0<f>>>1>>>0&&(i[r+8>>2]=k<<1,f=B-16|0,B=f,B=f+16|0,f=r+12|0,k=r+8|0,f=i[(k0[k>>2]<k0[f>>2]?f:k)>>2]),B=r+16|0,r=f;break e}o4(),P()}for(n=i[25005]-i[25004]>>2,f=0,k=B-16|0,B=k,i[k+12>>2]=0,i[A+12>>2]=0,i[A+16>>2]=100028,r?(ut(k+4|0,i[A+16>>2],r),f=i[k+4>>2],r=i[k+8>>2]):r=0,i[A>>2]=f,n=(n<<2)+f|0,i[A+8>>2]=n,i[A+4>>2]=n,i[A+12>>2]=(r<<2)+f,B=k+16|0,r=B-16|0,B=r,f=i[A+8>>2],i[r+12>>2]=A+8,i[r+4>>2]=f,i[r+8>>2]=f+(t<<2),f=i[r+4>>2];;){if(i[r+8>>2]!=(f|0)){i[i[r+4>>2]>>2]=0,f=i[r+4>>2]+4|0,i[r+4>>2]=f;continue}break}for(i[i[r+12>>2]>>2]=i[r+4>>2],B=r+16|0,k=B-16|0,B=k,i[k+8>>2]=i[25005],i[k+4>>2]=i[25004],i[k>>2]=i[A+4>>2],n=i[k+4>>2],h=i[k>>2],t=B-16|0,B=t,f=B-32|0,B=f,r=B-16|0,B=r,i[r+12>>2]=i[k+8>>2],i[r+8>>2]=n,i[f+24>>2]=i[r+12>>2],i[f+28>>2]=i[r+8>>2],B=r+16|0,n=i[f+24>>2],r=B-16|0,B=r,i[r+8>>2]=i[f+28>>2],i[r+12>>2]=n,i[r+4>>2]=h;;){if(n=i[r+12>>2],(n|0)!=i[r+8>>2]){i[i[r+4>>2]-4>>2]=i[n-4>>2],i[r+12>>2]=i[r+12>>2]-4,i[r+4>>2]=i[r+4>>2]-4;continue}break}for(i[f+16>>2]=i[r+12>>2],i[f+20>>2]=i[r+4>>2],B=r+16|0,i[f+12>>2]=i[f+16>>2],i[f+8>>2]=i[f+20>>2],i[t+8>>2]=i[f+12>>2],i[t+12>>2]=i[f+8>>2],B=f+32|0,B=t+16|0,i[k+12>>2]=i[t+12>>2],i[A+4>>2]=i[k+12>>2],f=i[25004],i[25004]=i[A+4>>2],i[A+4>>2]=f,f=i[25005],i[25005]=i[A+8>>2],i[A+8>>2]=f,f=i[25006],i[25006]=i[A+12>>2],i[A+12>>2]=f,i[A>>2]=i[A+4>>2],B=k+16|0,f=i[A+4>>2];;){if(r=i[A+8>>2],(r|0)!=(f|0)){i[A+8>>2]=r-4;continue}break}f=i[A>>2],f&&Mt(i[A+16>>2],f)}B=u+32|0;break i}f>>>0<r>>>0&&xt(100016,i[25004]+(f<<2)|0)}f=i[i[25004]+(e<<2)>>2],f&&(r=i[f+4>>2]-1|0,i[f+4>>2]=r,(r|0)==-1&&V[i[i[f>>2]+8>>2]](f)),f=i[o+12>>2],i[o+12>>2]=0,i[i[25004]+(e<<2)>>2]=f,f=i[o+12>>2],i[o+12>>2]=0,f&&(e=i[f+4>>2]-1|0,i[f+4>>2]=e,(e|0)==-1&&V[i[i[f>>2]+8>>2]](f)),B=o+16|0}function VA(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;if(t=B-16|0,B=t,i[t+12>>2]=0,i[t+4>>2]=0,i[t+8>>2]=0,n=f+28|0,k=i[f+28>>2],A=i[f+32>>2],(k|0)==(A|0))f=0;else{for(;;){if(f=i[k>>2],(f|0)!=i[e>>2]){i:{if(k0[t+12>>2]>r>>>0){i[r>>2]=f,f=i[k+4>>2],i[r+4>>2]=f,f&&(i[f+4>>2]=i[f+4>>2]+1),r=r+8|0;break i}r=Q2(t+4|0,k)}i[t+8>>2]=r}if(k=k+8|0,(A|0)==(k|0))break}f=i[t+4>>2]}if((t+4|0)!=(n|0)){k=r,o=r-f>>3;i:{if(A=i[n+8>>2],r=i[n>>2],o>>>0<=A-r>>3>>>0){if(e=i[n+4>>2],A=e-r|0,o>>>0>A>>3>>>0){if(A=f+A|0,(e|0)!=(r|0)){for(;;){e=i[f>>2],o=i[f+4>>2],o&&(i[o+4>>2]=i[o+4>>2]+1),i[r>>2]=e,e=i[r+4>>2],i[r+4>>2]=o;r:{if(!e||(o=i[e+4>>2],i[e+4>>2]=o-1,o))break r;V[i[i[e>>2]+8>>2]](e),g(e)}if(r=r+8|0,f=f+8|0,(A|0)==(f|0))break}e=i[n+4>>2]}if(f=e,(A|0)!=(k|0))for(;i[f>>2]=i[A>>2],r=i[A+4>>2],i[f+4>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),f=f+8|0,A=A+8|0,(k|0)!=(A|0););i[n+4>>2]=(f-e|0)+e;break i}if((f|0)!=(k|0)){for(;;){e=i[f>>2],A=i[f+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r>>2]=e,e=i[r+4>>2],i[r+4>>2]=A;r:{if(!e||(A=i[e+4>>2],i[e+4>>2]=A-1,A))break r;V[i[i[e>>2]+8>>2]](e),g(e)}if(r=r+8|0,f=f+8|0,(k|0)==(f|0))break}e=i[n+4>>2]}if((e|0)!=(r|0))for(;;){f=i[e-4>>2];r:{if(!f||(k=i[f+4>>2],i[f+4>>2]=k-1,k))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(e=e-8|0,(r|0)==(e|0))break}i[n+4>>2]=r;break i}if(r){if(e=r,A=i[n+4>>2],(e|0)!=(A|0)){for(;;){e=i[A-4>>2];r:{if(!e||(u=i[e+4>>2],i[e+4>>2]=u-1,u))break r;V[i[i[e>>2]+8>>2]](e),g(e)}if(A=A-8|0,(A|0)==(r|0))break}e=i[n>>2]}i[n+4>>2]=r,G(e),i[n+8>>2]=0,i[n>>2]=0,i[n+4>>2]=0,A=0}r:{if(o>>>0>=536870912||(e=A>>2,e=A>>>0>=2147483640?536870911:e>>>0>o>>>0?e:o,e>>>0>=536870912))break r;if(e=e<<3,r=U(e),i[n+4>>2]=r,i[n>>2]=r,i[n+8>>2]=e+r,(f|0)!=(k|0))for(;i[r>>2]=i[f>>2],e=i[f+4>>2],i[r+4>>2]=e,e&&(i[e+4>>2]=i[e+4>>2]+1),r=r+8|0,f=f+8|0,(k|0)!=(f|0););i[n+4>>2]=r;break i}y0(),P()}f=i[t+4>>2]}if(f){if(r=f,k=i[t+8>>2],(r|0)!=(k|0)){for(;;){e=i[k-4>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(k=k-8|0,(k|0)==(f|0))break}r=i[t+4>>2]}i[t+8>>2]=f,G(r)}B=t+16|0}function Ir(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;k=e-1|0,r=k,o=(k|0)/2|0,k=e+65535>>>0<131073,o=k?r:o,A=i[f+64>>2],t=A>>31,e=k?2:1,n=i[f+68>>2];i:{if((e|0)==(n|0)){if(r=(o>>31)+t|0,n=A+o|0,r=n>>>0<o>>>0?r+1|0:r,(r-(n>>>0<2147483648)|0)==-1)break i;e=r>>31,o=e,e=n+(e|1)|0,r=r+o|0,n=o2(e,e>>>0<n>>>0?r+1|0:r,2,0),e=1;break i}if(e=n,u=e>>31,n=q0(e,u,o,o>>31),h=w0,w=n,r=A,n=k&31,(k&63)>>>0>=32?(o=r<<n,A=0):(o=(1<<n)-1&r>>>32-n|t<<n,A=r<<n),n=w+A|0,r=o+h|0,r=A>>>0>n>>>0?r+1|0:r,t=r,h=(r-(n>>>0<2147483648)|0)==-1,o=e,A=k&31,(k&63)>>>0>=32?(r=e<<A,k=0):(r=(1<<A)-1&o>>>32-A|u<<A,k=o<<A),A=r,!((r-(k>>>0<2147483648)|0)==-1&h))for(;e=A>>31,r=e,e=k+(r|1)|0,r=r+A|0,k=o2(e,e>>>0<k>>>0?r+1|0:r,2,0),A=w0,u=A-(k>>>0<2147483648)|0,e=t>>31,o=e,e=n+(e|1)|0,r=t+o|0,n=o2(e,e>>>0<n>>>0?r+1|0:r,2,0),e=w0,t=e,(e-(n>>>0<2147483648)&u)!=-1;);e=k}if(A=i[f+48>>2],f=i[f+52>>2],k=A-f|0,t=f>>31,A=(A>>31)-(t+(f>>>0>A>>>0)|0)|0,r=A-(k>>>0<2147483648)|0,(r|0)==-2|r>>>0<4294967294){for(;r=t>>31,u=f+(r|1)|0,r=t+r|0,f=o2(u,f>>>0>u>>>0?r+1|0:r,2,0),t=w0,r=A>>31,u=k+(r|1)|0,r=A+r|0,k=o2(u,k>>>0>u>>>0?r+1|0:r,2,0),A=w0,(A-(k>>>0<2147483648)|0)!=-1;);t=f>>31}if(r=t<<1|f>>>31,f=f<<1,t=r,r=r-(f>>>0<2147483648)|0,(r|0)==-2|r>>>0<4294967294)for(;r=A>>31,u=k+(r|1)|0,o=r+A|0,k=o2(u,k>>>0>u>>>0?o+1|0:o,2,0),A=w0,r=t>>31,u=f+(r|1)|0,r=r+t|0,f=o2(u,f>>>0>u>>>0?r+1|0:r,2,0),t=w0,(t-(f>>>0<2147483648)|0)!=-1;);A=n>>31;i:{if((f|0)==(e|0)){if(A=A-((k>>31)+(k>>>0>n>>>0)|0)|0,k=n-k|0,(A-(k>>>0<2147483648)|0)==-1)break i;for(f=e,t=e>>31;e=t>>31,r=e,e=f+(r|1)|0,r=r+t|0,f=o2(e,f>>>0>e>>>0?r+1|0:r,2,0),t=w0,e=A>>31,r=e,e=k+(r|1)|0,r=r+A|0,k=o2(e,e>>>0<k>>>0?r+1|0:r,2,0),e=w0,A=e,(e-(k>>>0<2147483648)|0)!=-1;);e=f;break i}if(A=q0(f,t,n,A),n=w0,r=e>>31,u=q0(e,r,k,k>>31),k=A-u|0,A=n-(w0+(A>>>0<u>>>0)|0)|0,f=q0(f,t,e,r),e=w0,t=e,(A-(k>>>0<2147483648)&e-(f>>>0<2147483648))!=-1)for(;e=t>>31,n=e,e=f+(e|1)|0,r=n+t|0,f=o2(e,f>>>0>e>>>0?r+1|0:r,2,0),t=w0,n=t-(f>>>0<2147483648)|0,e=A>>31,o=e,e=k+(e|1)|0,r=A+o|0,k=o2(e,e>>>0<k>>>0?r+1|0:r,2,0),e=w0,A=e,(e-(k>>>0<2147483648)&n)!=-1;);e=f}return(k|0)/(e|0)|0}function Lh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;A=B-32|0,B=A,e=i[r>>2],o=i[e+28>>2],u=i[e+24>>2],e=U(136),i[e>>2]=72792,i[e+4>>2]=0,i[e+8>>2]=0,B0(e+20|0,0,104),h=i[e+4>>2],w=h+1|0,i[e+4>>2]=w,i[e+56>>2]=0,i[e+60>>2]=0,i[e+44>>2]=99,i[e+48>>2]=99,i[e+32>>2]=3795,n=e- -64|0,i[n>>2]=0,i[n+4>>2]=0,i[e+132>>2]=0,i[e+124>>2]=0,i[e+128>>2]=0,i[e+84>>2]=1,i[e+88>>2]=1,i[e+72>>2]=e+76,i[e+92>>2]=0,i[e+96>>2]=0,i[e+100>>2]=0,i[e+104>>2]=0,i[e+108>>2]=0,i[e+112>>2]=0,l[e+113|0]=0,l[e+114|0]=0,l[e+115|0]=0,l[e+116|0]=0,l[e+117|0]=0,l[e+118|0]=0,l[e+119|0]=0,l[e+120|0]=0,n=e+12|0,i[e+12>>2]=n,i[e+8>>2]=i[e+8>>2]+1,i[e+4>>2]=h,i[e+16>>2]=e,w||(V[i[i[e>>2]+8>>2]](e),g(e)),i[n+36>>2]=3,i[n+32>>2]=0,i[n+28>>2]=o,i[n+24>>2]=u,k=s[k+8|0],t=i[i[r>>2]+36>>2];i:{r:{if(!J0(n,0,u,o,8)||!J0(n,1,u,o,8)||!J0(n,2,u,o,8)||(_=k&1,_&&!J0(n,6,u,o,8)))break r;i[A+28>>2]=0,i[A+24>>2]=0,i[A+20>>2]=0,i[A+16>>2]=0,i[A+12>>2]=0,h=v0(i[r>>2],10,A+12|0),w=v0(n,0,A+20|0),p=v0(n,1,A+28|0),W=v0(n,2,A+24|0),_&&(Z=v0(n,6,A+16|0));e:{if((o|0)<=0|(u|0)<=0)break e;if(_=(t|0)==11?4:3,!(k&1)){for(k=0;;){for(r=0;t=(h+m(i[A+12>>2],k)|0)+m(r,_)|0,Z=s[t|0],v=s[t+2|0],l[(w+m(i[A+20>>2],k)|0)+r|0]=s[t+1|0],l[(m(i[A+28>>2],k)+p|0)+r|0]=v,l[(m(i[A+24>>2],k)+W|0)+r|0]=Z,r=r+1|0,(u|0)!=(r|0););if(k=k+1|0,(o|0)==(k|0))break}break e}if(r=0,(t|0)==11)for(;;){for(k=0;v=m(k,_),t=v+(h+m(i[A+12>>2],r)|0)|0,C=s[t|0],I=s[t+2|0],l[(w+m(i[A+20>>2],r)|0)+k|0]=s[t+1|0],l[(m(i[A+28>>2],r)+p|0)+k|0]=I,l[(m(i[A+24>>2],r)+W|0)+k|0]=C,l[(m(i[A+16>>2],r)+k|0)+Z|0]=s[(v+(h+m(i[A+12>>2],r)|0)|0)+3|0],k=k+1|0,(u|0)!=(k|0););if(r=r+1|0,(o|0)==(r|0))break e}for(;;){for(k=0;t=(h+m(i[A+12>>2],r)|0)+m(k,_)|0,v=s[t|0],C=s[t+2|0],l[(w+m(i[A+20>>2],r)|0)+k|0]=s[t+1|0],l[(m(i[A+28>>2],r)+p|0)+k|0]=C,l[(m(i[A+24>>2],r)+W|0)+k|0]=v,l[(m(i[A+16>>2],r)+k|0)+Z|0]=255,k=k+1|0,(u|0)!=(k|0););if(r=r+1|0,(o|0)==(r|0))break}}i[f+4>>2]=e,i[f>>2]=n;break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[e+4>>2],i[e+4>>2]=f-1,f)break i;V[i[i[e>>2]+8>>2]](e),g(e)}B=A+32|0}function Kh(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0;u=B-32|0,B=u;i:{r:{e:{A:{if(o=i[e+16>>2],(V[i[i[o>>2]+8>>2]](o)|0)==5){f:{if(!(!k|(!r|!A))&&n)break f;e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560];break i}if(o=i[e+16>>2],!o||(h=N0(o,72776,73388),!h))break A;o=i[e+20>>2],o&&(i[o+4>>2]=i[o+4>>2]+1),i[r>>2]=i[h+4>>2],i[A>>2]=i[h+8>>2],w=i[h+12>>2],i[k>>2]=w,e=n,n=i[h+16>>2],i[e>>2]=n,h=i[h+20>>2],QA(u+16|0,w,n,2,0,t);f:{if(i[u+16>>2]){e=i[u+20>>2],i[f>>2]=i[u+16>>2],i[f+4>>2]=e,i[f+8>>2]=i[u+24>>2];break f}if(Z3(u+4|0,i[t>>2],0,w,n,8),i[u+24>>2]=i[u+12>>2],r=i[u+8>>2],e=i[u+4>>2],i[u+16>>2]=e,i[u+20>>2]=r,e){G4(i[t>>2]),i[f+8>>2]=i[u+24>>2],e=i[u+20>>2],i[f>>2]=i[u+16>>2],i[f+4>>2]=e;break f}if(r=0,t=T6(i[t>>2],0,u+4|0),!(!w|!n))for(k=0,A=0;;){for(e=0;l[(t+m(i[u+4>>2],r)|0)+e|0]=(s[((A&7)<<29|k>>>3)+h|0]<<(k&7)&128)>>>7|0?-1:0,k=k+1|0,A=k?A:A+1|0,e=e+1|0,(w|0)!=(e|0););if(r=r+1|0,(n|0)==(r|0))break}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}if(!o||(f=i[o+4>>2],i[o+4>>2]=f-1,f))break i;V[i[i[o>>2]+8>>2]](o),g(o);break i}if(o=i[e+16>>2],(V[i[i[o>>2]+8>>2]](o)|0)==4){f:{if(!(!k|(!r|!A))&&n)break f;r=i[18559],i[f>>2]=i[18558],i[f+4>>2]=r,i[f+8>>2]=i[18560],r=0;break r}if(o=i[e+16>>2],!o||(h=N0(o,72776,73344),!h))break e;if(o=i[e+20>>2],o&&(i[o+4>>2]=i[o+4>>2]+1),i[r>>2]=i[h+4>>2],i[A>>2]=i[h+8>>2],i[k>>2]=i[h+12>>2],i[n>>2]=i[h+16>>2],r=i[h+20>>2],i[f+8>>2]=i[18412],A=i[18411],i[f>>2]=i[18410],i[f+4>>2]=A,!o||(A=i[o+4>>2],i[o+4>>2]=A-1,A))break r;V[i[i[o>>2]+8>>2]](o),g(o);break r}e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560];break i}e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560];break i}r=i[18559],i[f>>2]=i[18558],i[f+4>>2]=r,i[f+8>>2]=i[18560],r=0}if(i[f>>2]||(A=i[e>>2],e=i[e+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[u+8>>2]=e,i[u+4>>2]=A,gA(f,u+4|0,r,u),i[f>>2]||(IA(u+16|0,i[u>>2],t,2,0,0),i[f+8>>2]=i[u+24>>2],e=i[u+20>>2],i[f>>2]=i[u+16>>2],i[f+4>>2]=e,N6(i[u>>2])),f=i[u+8>>2],!f)||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=u+32|0}function qh(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0;t=B-144|0,B=t;i:{if(!A){if(l[t+108|0]=0,l[t+119|0]=0,r=f,f=r0(t+56|0,5,2001,t+108|0),P0(r,f,i[e>>2]),l[f+19|0]<0&&G(i[f+8>>2]),l[t+119|0]>=0)break i;G(i[t+108>>2]);break i}l[t+113|0]=0,l[t+114|0]=0,l[t+115|0]=0,l[t+116|0]=0,X[t+110>>1]=0,X[t+112>>1]=0,X[t+108>>1]=263,l[t+140|0]=1,l[t+136|0]=0,i[t+128>>2]=2,i[t+132>>2]=2,l[t+124|0]=1,i[t+120>>2]=1;r:{if(!k)break r;e:{A:switch(s[k|0]-1|0){case 1:l[t+110|0]=s[k+2|0],l[t+109|0]=s[k+1|0];break e;case 0:l[t+109|0]=s[k+1|0];break e;case 6:l[t+140|0]=s[k+32|0];case 5:o=i[k+20>>2],i[t+124>>2]=i[k+16>>2],i[t+128>>2]=o,o=i[k+28>>2],i[t+132>>2]=i[k+24>>2],i[t+136>>2]=o;case 4:i[t+120>>2]=i[k+12>>2];case 3:o=i[k+4>>2],i[t+112>>2]=o,l[t+116|0]=s[k+8|0];break;case 2:break A;default:break e}if(l[t+111|0]=s[k+3|0],l[t+110|0]=s[k+2|0],l[t+109|0]=s[k+1|0],o)break r}if(k=i[r>>2],o=i[k+44>>2],k=i[k+48>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),o&&(l[t+56|0]=1,i[t+112>>2]=t+56,i[t+60>>2]=Q[o+4>>1],i[t+64>>2]=Q[o+6>>1],i[t+68>>2]=Q[o+8>>1],l[t+72|0]=s[o+10|0]),!k||(o=i[k+4>>2],i[k+4>>2]=o-1,o))break r;V[i[i[k>>2]+8>>2]](k),g(k)}i[t+48>>2]=0,i[t+52>>2]=0,k=t+24|0,i[k>>2]=0,i[k+4>>2]=0,i[k+16>>2]=0,i[k+8>>2]=0,i[k+12>>2]=0,BA(t,i[e>>2],r,A,t+108|0,1,t+48|0),A=i[t+4>>2],r=i[t>>2],i[k>>2]=r,i[k+4>>2]=A,l[k+19|0]<0&&(G(i[k+8>>2]),r=i[k>>2]),A=i[t+12>>2],i[k+8>>2]=i[t+8>>2],i[k+12>>2]=A,i[k+16>>2]=i[t+16>>2],A=i[e>>2];r:{if((r|0)!=i[19564]){P0(f,k,A);break r}i[A+40>>2]||s3(A,t+48|0);e:{if(!n)break e;r=U(16),i[r>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,i[r+12>>2]=0,i[n>>2]=r,A=i[t+48>>2],o=i[t+52>>2];A:{if(!o){i[r+4>>2]=o,i[r>>2]=A;break A}if(i[o+4>>2]=i[o+4>>2]+1,i[r>>2]=A,A=i[r+4>>2],i[r+4>>2]=o,!A||(r=i[A+4>>2],i[A+4>>2]=r-1,r))break A;V[i[i[A>>2]+8>>2]](A),g(A)}if(o=i[e>>2],r=i[n>>2],A=i[e+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+8>>2]=o,e=i[r+12>>2],i[r+12>>2]=A,!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break e;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}if(l[k+19|0]<0&&G(i[k+8>>2]),f=i[t+52>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=t+144|0}function $h(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;A=B-32|0,B=A,h=A+12|0,_=i[e>>2],o=B-32|0,B=o,k=U(132),i[k+4>>2]=0,i[k+8>>2]=0,i[k>>2]=72576,Z=_,p=Ge(k+12|0),i[Z+48>>2]=p,n=i[_+52>>2],i[_+52>>2]=k;i:{if(!n||(k=i[n+4>>2],i[n+4>>2]=k-1,k))break i;V[i[i[n>>2]+8>>2]](n),g(n)}w=i[_+48>>2],n=B-160|0,B=n,k=U(188),u=i[13753],i[k>>2]=u,i[k+108>>2]=55e3,i[k+i[u-12>>2]>>2]=i[13754],i[k+4>>2]=0,u=k+i[i[k>>2]-12>>2]|0,t=k+8|0,b0(u,t),i[u+72>>2]=0,i[u+76>>2]=-1,i[k+108>>2]=55e3,i[k>>2]=54980,jk(z7(t),r,12)||(r=k+i[i[k>>2]-12>>2]|0,z1(r,i[r+16>>2]|4)),u=o+8|0,i[n+156>>2]=k;i:{if(i[(k+i[i[k>>2]-12>>2]|0)+16>>2]){i[n+20>>2]=54496,i[n+76>>2]=54516,r=i[13633],i[n+12>>2]=r,k=i[r-12>>2],r=n+12|0,i[k+r>>2]=i[13634],i[n+16>>2]=0,k=r+i[i[n+12>>2]-12>>2]|0,t=n+24|0,b0(k,t),i[k+72>>2]=0,i[k+76>>2]=-1,k=i[13635],i[n+20>>2]=k,w=i[k-12>>2],k=n+20|0,i[w+k>>2]=i[13636],w=i[13632],i[n+12>>2]=w,i[r+i[w-12>>2]>>2]=i[13637],i[n+76>>2]=54516,i[n+12>>2]=54476,i[n+20>>2]=54496,r=$0(t),i[r>>2]=53552,t=n- -64|0,i[t>>2]=0,i[t+4>>2]=0,i[n+56>>2]=0,i[n+60>>2]=0,i[n+72>>2]=24,t=x(k,21125,20),k=i[23944],k=Q[((k>>>0<=153?k:0)<<1)+51808>>1]+49880|0,x(H0(x(x(t,k,G2(k)),18656,2),i[23944]),31337,2),i2(n,r),r0(u,1,0,n),l[n+11|0]<0&&G(i[n>>2]),k=i[13631],i[n+12>>2]=k,i[i[k-12>>2]+(n+12|0)>>2]=i[13639],i[n+20>>2]=i[13640],i[r>>2]=53552,l[n+67|0]<0&&G(i[n+56>>2]),K0(r),T0(n+76|0);break i}if(r=U(32),i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=72872,k=B-16|0,B=k,v=r+16|0,i[v>>2]=68360,t=i[n+156>>2],i[n+156>>2]=0,i[r+20>>2]=t,f3(t,0,0,2),s9(k,i[r+20>>2]),t=i[k+12>>2],i[r+24>>2]=i[k+8>>2],i[r+28>>2]=t,f3(i[r+20>>2],0,0,0),B=k+16|0,i[n+16>>2]=r,i[n+12>>2]=v,i[r+4>>2]=i[r+4>>2]+1,_A(u,w,n+12|0),k=i[r+4>>2],i[r+4>>2]=k-1,k||(V[i[i[r>>2]+8>>2]](r),g(r)),k=i[r+4>>2],i[r+4>>2]=k-1,k)break i;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[n+156>>2],i[n+156>>2]=0,r&&V[i[i[r>>2]+4>>2]](r),B=n+160|0;i:{if(i[o+8>>2]){r=i[o+12>>2],i[h>>2]=i[o+8>>2],i[h+4>>2]=r,r=i[o+20>>2],i[h+8>>2]=i[o+16>>2],i[h+12>>2]=r,i[h+16>>2]=i[o+24>>2];break i}if(hA(h,_),l[o+27|0]>=0)break i;G(i[o+16>>2])}B=o+32|0,P0(f,h,i[e>>2]),l[A+31|0]<0&&G(i[A+20>>2]),B=A+32|0}function Tk(f,e,r,A,k,n){var t=0,o=0,u=0,h=0,w=0,_=0;i:{r:{if(u=f+548|0,!i[u+8>>2]){l[u+1|0]=0,f=7,t=i[u+44>>2];e:{if((t|0)!=i[u+40>>2]){o=t-4|0,t=i[o>>2],i[u+44>>2]=o,o=i[t+32>>2];break e}t=U(48),i[t+40>>2]=0,i[t+32>>2]=0,i[t+36>>2]=0,l[t+2|0]=0,l[t|0]=0,l[t+1|0]=0,o=U(64),i[t+32>>2]=o,h=o- -64|0,i[t+40>>2]=h,i[o+56>>2]=0,i[o+60>>2]=0,i[o+48>>2]=0,i[o+52>>2]=0,i[o+40>>2]=0,i[o+44>>2]=0,i[o+32>>2]=0,i[o+36>>2]=0,i[o+24>>2]=0,i[o+28>>2]=0,i[o+16>>2]=0,i[o+20>>2]=0,i[o+8>>2]=0,i[o+12>>2]=0,i[o>>2]=0,i[o+4>>2]=0,i[t+8>>2]=0,i[t+12>>2]=0,i[t+36>>2]=h,i[t+16>>2]=0,i[t+20>>2]=0,i[t+24>>2]=0,i[t+28>>2]=0}if(i[t+36>>2]=o,i[t+24>>2]=0,i[t+16>>2]=0,i[t+8>>2]=0,i[t+12>>2]=0,l[t+2|0]=0,X[t>>1]=0,i[t+28>>2]<(r|0))e:{if(o=Z2(r),o){h=i[t+20>>2],h&&G(h),i[t+28>>2]=r,i[t+20>>2]=o;break e}w4(u,t),t=0}if(t){e:{if(i[t+28>>2]>=(r|0)){f=i[t+20>>2];break e}if(f=Z2(r),!f)break r;o=i[t+20>>2],o&&(l0(f,o,i[t+24>>2]),G(o)),i[t+28>>2]=r,i[t+20>>2]=f}if(l0(f,e,r),i[t+16>>2]=n,i[t+8>>2]=A,i[t+12>>2]=k,i[t+24>>2]=r,(r|0)>=3)for(f=i[t+20>>2],n=0;;){e=f+2|0;e:{A:{f:switch(A=s[f+2|0],A|0){case 0:case 3:break A;default:break f}n=n+2|0;break e}if(s[f|0]){e=f;break e}if((A|0)!=3){e=f;break e}if(s[f+1|0]){e=f;break e}r=i[t+36>>2],w=((r-i[t+32>>2]>>2)+n|0)+2|0;A:{if(o=i[t+40>>2],o>>>0>r>>>0){i[r>>2]=w,i[t+36>>2]=r+4;break A}f:{if(k=i[t+32>>2],h=r-k>>2,A=h+1|0,A>>>0<1073741824){if(_=h<<2,o=o-k|0,h=o>>1,h=o>>>0>=2147483644?1073741823:A>>>0<h>>>0?h:A,h){if(h>>>0>=1073741824)break f;A=U(h<<2)}else A=0;if(o=_+A|0,i[o>>2]=w,w=o+4|0,(r|0)!=(k|0))for(;o=o-4|0,r=r-4|0,i[o>>2]=i[r>>2],(r|0)!=(k|0););i[t+40>>2]=A+(h<<2),i[t+36>>2]=w,i[t+32>>2]=o,k&&G(k),i[t+36>>2]=w;break A}y0(),P()}_2(),P()}F2(e,f+3|0,(i[t+24>>2]-n|0)-3|0),r=i[t+24>>2]-1|0,i[t+24>>2]=r,n=n+1|0,e=f+1|0}if(f=e+1|0,n=n+1|0,!((n|0)<(r-2|0)))break}f=0,o=i[u+32>>2],e=o+i[u+28>>2]|0,A=i[u+20>>2],n=i[u+16>>2],(e|0)==(((A|0)!=(n|0)?(A-n<<8)-1|0:0)|0)&&(Gr(u+12|0),r=i[t+24>>2],n=i[u+16>>2],o=i[u+32>>2],e=o+i[u+28>>2]|0),i[i[(e>>>8&16777212)+n>>2]+((e&1023)<<2)>>2]=t,i[u+32>>2]=o+1,i[u+36>>2]=i[u+36>>2]+r}break i}C0(15032,13941,375,15069),P()}w4(u,t),f=7}return f}function bh(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;k=B-48|0,B=k,yA(k+24|0,e,r);i:{if(i[k+24>>2]){e=i[k+28>>2],i[f>>2]=i[k+24>>2],i[f+4>>2]=e,i[f+16>>2]=i[k+40>>2],e=i[k+36>>2],i[f+8>>2]=i[k+32>>2],i[f+12>>2]=e,i[k+40>>2]=0,i[k+32>>2]=0,i[k+36>>2]=0;break i}if((i[e+64>>2]-i[e+60>>2]|0)!=8){if(e=U(64),i[k+12>>2]=e,i[k+16>>2]=57,i[k+20>>2]=-2147483584,r=s[4489]|s[4490]<<8|(s[4491]<<16|s[4492]<<24),A=s[4485]|s[4486]<<8|(s[4487]<<16|s[4488]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+57|0]=0,l[e+56|0]=s[4541],r=s[4537]|s[4538]<<8|(s[4539]<<16|s[4540]<<24),A=s[4533]|s[4534]<<8|(s[4535]<<16|s[4536]<<24),l[e+48|0]=A,l[e+49|0]=A>>>8,l[e+50|0]=A>>>16,l[e+51|0]=A>>>24,l[e+52|0]=r,l[e+53|0]=r>>>8,l[e+54|0]=r>>>16,l[e+55|0]=r>>>24,r=s[4529]|s[4530]<<8|(s[4531]<<16|s[4532]<<24),A=s[4525]|s[4526]<<8|(s[4527]<<16|s[4528]<<24),l[e+40|0]=A,l[e+41|0]=A>>>8,l[e+42|0]=A>>>16,l[e+43|0]=A>>>24,l[e+44|0]=r,l[e+45|0]=r>>>8,l[e+46|0]=r>>>16,l[e+47|0]=r>>>24,r=s[4521]|s[4522]<<8|(s[4523]<<16|s[4524]<<24),A=s[4517]|s[4518]<<8|(s[4519]<<16|s[4520]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[4513]|s[4514]<<8|(s[4515]<<16|s[4516]<<24),A=s[4509]|s[4510]<<8|(s[4511]<<16|s[4512]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[4505]|s[4506]<<8|(s[4507]<<16|s[4508]<<24),A=s[4501]|s[4502]<<8|(s[4503]<<16|s[4504]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[4497]|s[4498]<<8|(s[4499]<<16|s[4500]<<24),A=s[4493]|s[4494]<<8|(s[4495]<<16|s[4496]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,101,k+12|0),l[k+23|0]>=0)break i;G(i[k+12>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}l[k+43|0]<0&&G(i[k+32>>2]),B=k+48|0}function dh(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0;n=B-96|0,B=n;i:{if(!(k&&e)){i[f>>2]=5,i[f+4>>2]=2006,i[f+8>>2]=12607;break i}u=i[e>>2],t=i[u+48>>2],u=i[u+52>>2],u&&(i[u+4>>2]=i[u+4>>2]+1),i[n+92>>2]=0,i[n+84>>2]=0,i[n+88>>2]=0,o=n- -64|0,I1(o,t,r,n+84|0);r:{if(i[n+64>>2]){P0(f,o,i[e>>2]);break r}if(r=A-1|0,e=i[n+84>>2],r>>>0>=i[n+88>>2]-e>>3>>>0){i[f>>2]=5,i[f+4>>2]=2007,i[f+8>>2]=10388;break r}e:{if(r=e+(r<<3)|0,e=i[r>>2],!e||(e=N0(e,68572,70072),!e))break e;r=i[r+4>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),A=U(20),i[A>>2]=0,i[A+4>>2]=0,i[A+16>>2]=0,i[A+8>>2]=0,i[A+12>>2]=0,i[A>>2]=1;A:{if(l[e+67|0]>=0){i[n+56>>2]=i[e+64>>2],t=i[e+60>>2],i[n+48>>2]=i[e+56>>2],i[n+52>>2]=t;break A}_0(n+48|0,i[e+56>>2],i[e+60>>2])}o=l[n+59|0],t=(o|0)<0,h=U((t?i[n+52>>2]:o)+1|0),o=i[n+48>>2],w=A,_=Fi(h,t?o:n+48|0),i[w+4>>2]=_,t&&G(o);A:{if(l[e+79|0]>=0){i[n+40>>2]=i[e+76>>2],t=i[e+72>>2],i[n+32>>2]=i[e+68>>2],i[n+36>>2]=t;break A}_0(n+32|0,i[e+68>>2],i[e+72>>2])}o=l[n+43|0],t=(o|0)<0,h=U((t?i[n+36>>2]:o)+1|0),o=i[n+32>>2],w=A,_=Fi(h,t?o:n+32|0),i[w+8>>2]=_,t&&G(o);A:{if(l[e+91|0]>=0){i[n+24>>2]=i[e+88>>2],t=i[e+84>>2],i[n+16>>2]=i[e+80>>2],i[n+20>>2]=t;break A}_0(n+16|0,i[e+80>>2],i[e+84>>2])}o=l[n+27|0],t=(o|0)<0,h=U((t?i[n+20>>2]:o)+1|0),o=i[n+16>>2],w=A,_=Fi(h,t?o:n+16|0),i[w+12>>2]=_,t&&G(o);A:{if(l[e+103|0]>=0){i[n+8>>2]=i[e+100>>2],t=i[e+96>>2],i[n>>2]=i[e+92>>2],i[n+4>>2]=t;break A}_0(n,i[e+92>>2],i[e+96>>2])}if(t=l[n+11|0],e=(t|0)<0,o=U((e?i[n+4>>2]:t)+1|0),t=i[n>>2],w=A,_=Fi(o,e?t:n),i[w+16>>2]=_,e&&G(t),i[k>>2]=A,i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,!r||(f=i[r+4>>2],i[r+4>>2]=f-1,f))break r;V[i[i[r>>2]+8>>2]](r),g(r);break r}i[f>>2]=5,i[f+4>>2]=2007,i[f+8>>2]=9699}if(l[n+83|0]<0&&G(i[n+72>>2]),r=i[n+84>>2],r){if(f=r,e=i[n+88>>2],(f|0)!=(e|0)){for(;;){f=i[e-4>>2];r:{if(!f||(A=i[f+4>>2],i[f+4>>2]=A-1,A))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(e=e-8|0,(r|0)==(e|0))break}f=i[n+84>>2]}i[n+88>>2]=r,G(f)}if(!u||(f=i[u+4>>2],i[u+4>>2]=f-1,f))break i;V[i[i[u>>2]+8>>2]](u),g(u)}B=n+96|0}function Qr(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0;if(h=B-2048|0,B=h,_=5,(r|0)>=2){for(_=0,n=r;t=_,_=t+1|0,o=n>>>0>3,n=n>>>1|0,!!o;);_=4-t|0}i:{if((r|0)<=0)break i;for(y=r&2147483644,p=r&3,W=r-1|0;;){v=(u<<1)+A|0,n=0,t=r;r:{for(;;){if(Z=n,o=t,(t|0)<=0){if(t=0,n=0,o=0,W>>>0>=3)for(;X[(m(r,n)+u<<1)+h>>1]=0,X[(m(n|1,r)+u<<1)+h>>1]=0,X[(m(n|2,r)+u<<1)+h>>1]=0,X[(m(n|3,r)+u<<1)+h>>1]=0,n=n+4|0,o=o+4|0,(y|0)!=(o|0););if(!p)break r;for(;X[(m(r,n)+u<<1)+h>>1]=0,n=n+1|0,t=t+1|0,(p|0)!=(t|0););break r}if(n=Z+1|0,t=o-1|0,!!Q[v+(m(t,r)<<1)>>1])break}for(E=o&2147483646,C=o&1,t=0;;){if(n=0,o=0,w=0,(Z|0)!=(W|0))for(;I=m(X[v+(m(r,n)<<1)>>1],l[((n<<_<<5)+t|0)+43984|0])+o|0,o=n|1,o=I+m(X[v+(m(o,r)<<1)>>1],l[((o<<_<<5)+t|0)+43984|0])|0,n=n+2|0,w=w+2|0,(E|0)!=(w|0););if(w=(m(r,t)+u<<1)+h|0,C&&(o=m(X[v+(m(r,n)<<1)>>1],l[((n<<_<<5)+t|0)+43984|0])+o|0),n=o- -64>>7,n=(n|0)>=32767?32767:n,X[w>>1]=(n|0)<=-32768?-32768:n,t=t+1|0,(t|0)==(r|0))break}}if(u=u+1|0,(u|0)==(r|0))break}if((r|0)<=0)break i;for(y=r&2147483646,E=r&1,C=1<<19-k,I=20-k|0,p=C>>I,u=-1<<k^-1,k=0;;){v=m(r,k),n=0,t=r;r:{e:{for(;;){if(Z=n,A=t,(t|0)<=0)break e;if(n=n+1|0,t=t-1|0,!!Q[(v+t<<1)+h>>1])break}for(J=A&2147483646,R=A&1,D=(m(e,k)<<1)+f|0,t=0;;){if(n=0,o=0,w=0,(Z|0)!=(W|0))for(;A=n|1,o=(m(X[(n+v<<1)+h>>1],l[((n<<_<<5)+t|0)+43984|0])+o|0)+m(X[(A+v<<1)+h>>1],l[((A<<_<<5)+t|0)+43984|0])|0,n=n+2|0,w=w+2|0,(J|0)!=(w|0););if(A=(t<<1)+D|0,w=Q[A>>1],R&&(o=m(X[(n+v<<1)+h>>1],l[((n<<_<<5)+t|0)+43984|0])+o|0),n=A,A=(o+C>>I)+w|0,X[n>>1]=(A|0)>=0?(A|0)<(u|0)?A:u:0,t=t+1|0,(t|0)==(r|0))break}break r}if(o=(m(e,k)<<1)+f|0,n=0,Z=0,W)for(;A=o+(n<<1)|0,t=p+Q[A>>1]|0,X[A>>1]=(t|0)>=0?(t|0)<(u|0)?t:u:0,t=A,A=p+Q[A+2>>1]|0,X[t+2>>1]=(A|0)>=0?(A|0)<(u|0)?A:u:0,n=n+2|0,Z=Z+2|0,(y|0)!=(Z|0););if(!E)break r;t=o+(n<<1)|0,A=p+Q[t>>1]|0,X[t>>1]=(A|0)>=0?(A|0)<(u|0)?A:u:0}if(k=k+1|0,(k|0)==(r|0))break}}B=h+2048|0}function ch(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0;k=B-48|0,B=k,A=D0(r),i[e+52>>2]=A&16777215,l[e+48|0]=A>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[k+8|0]=0,l[k+19|0]=0,r0(k+24|0,2,100,k+8|0),l[k+19|0]>=0)break i;G(i[k+8>>2]);break i}if(A=i[19565],i[k+24>>2]=i[19564],i[k+28>>2]=A,A=k+32|0,l[78275]>=0){n=i[19567],i[A>>2]=i[19566],i[A+4>>2]=n,i[A+8>>2]=i[19568];break i}_0(A,i[19566],i[19567])}l[k+43|0]<0&&G(i[k+32>>2]);i:{if(s[e+48|0]>=2){h4(f,e,14592);break i}r:{if(v=D0(r),!v)break r;for(W=e+56|0;;){if(s[r+20|0]|!i[r+16>>2])break r;i[k+20>>2]=0,i[k+12>>2]=0,i[k+16>>2]=0;e:{if(!s[e+48|0]){A=t2(r);break e}A=D0(r)}i[k+8>>2]=A,_=0;e:{if(Z=B2(r),!Z)break e;A:{for(;;){f:{if(l[e+52|0]&1){A=t2(r),u=A&32767,A=A>>>15|0;break f}A=B2(r),u=A&127,A=A>>>7|0}f:{t=i[k+16>>2],o=i[k+20>>2];k:{if(t>>>0<o>>>0){A=u<<16|A,X[t>>1]=A,X[t+2>>1]=A>>>16,u=t+4|0;break k}if(h=i[k+12>>2],w=t-h>>2,n=w+1|0,n>>>0>=1073741824)break f;if(C=w<<2,o=o-h|0,w=o>>1,w=o>>>0>=2147483644?1073741823:n>>>0<w>>>0?w:n,w){if(w>>>0>=1073741824)break A;n=U(w<<2)}else n=0;if(o=C+n|0,A=u<<16|A,X[o>>1]=A,X[o+2>>1]=A>>>16,u=o+4|0,(t|0)!=(h|0)){for(;o=o-4|0,t=t-4|0,A=Q[t>>1]|Q[t+2>>1]<<16,X[o>>1]=A,X[o+2>>1]=A>>>16,(t|0)!=(h|0););h=i[k+12>>2]}if(i[k+20>>2]=n+(w<<2),i[k+16>>2]=u,i[k+12>>2]=o,!h)break k;G(h)}if(i[k+16>>2]=u,_=_+1|0,(Z|0)==(_|0))break e;continue}break}y0(),P()}_2(),P()}e:{A=i[e+60>>2];A:{if(A>>>0<k0[e+64>>2]){if(n=i[k+8>>2],i[A+12>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=n,n=i[k+16>>2],u=i[k+12>>2],(n|0)!=(u|0)){if(n=n-u|0,(n|0)<0)break e;t=U(n),i[A+8>>2]=t,i[A+4>>2]=t,h=n+t|0,i[A+12>>2]=h,l0(t,u,n),i[A+8>>2]=h}A=A+16|0;break A}A=Nn(W,k+8|0)}if(i[e+60>>2]=A,A=i[k+12>>2],A&&(i[k+16>>2]=A,G(A)),p=p+1|0,(p|0)!=(v|0))continue;break r}break}y0(),P()}if(s[r+20|0]==1){if(l[k+8|0]=0,l[k+19|0]=0,r0(f,2,100,k+8|0),l[k+19|0]>=0)break i;G(i[k+8>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+48|0}function ak(f,e,r,A,k,n,t,o,u,h){var w=0,_=0,v=0,Z=0,p=0,W=0,C=0;W=B-16|0,B=W;i:{r:{e:{A:{f:{if(V[i[i[f>>2]+12>>2]](f,A)|0){if(_=V[i[i[f>>2]+8>>2]](f,A)|0,!(i[_+24>>2]>(k|0)&i[_+28>>2]>(n|0))){v2(f+4|0,1026,0),l[h|0]=0;break e}k:{if(w=i[_+168>>2],A=k>>w,(A|0)<0||(v=i[_+172>>2],(v|0)<=(A|0)))break k;if(w=n>>w,!((w|0)<0|(w|0)>=i[_+176>>2])){if(!(s[((i[_+160>>2]+m(A,3)|0)+m(m(w,v),3)|0)+1|0]&3)){X[u>>1]=0,X[u+2>>1]=0,l[h|0]=0;break e}if(s[_+312|0]==1){X[u>>1]=0,X[u+2>>1]=0,l[h|0]=0;break e}n:{if(w=i[_+188>>2],A=k>>w,(A|0)<0||(v=i[_+192>>2],(v|0)<=(A|0)))break n;if(w=n>>w,!((w|0)<0|(w|0)>=i[_+196>>2])){if(w=(i[_+180>>2]+m(A,12)|0)+m(m(w,v),12)|0,!s[w|0]){v=w+3|0,A=1,w=w+8|0;break A}if(!s[w+1|0]){v=w+2|0,A=0,w=w+4|0;break A}if(Z=i[e+96>>2],v=1,i[r+340>>2]<=0)break f;for(p=r+988|0,A=0;;){if(C=i[(V[i[i[f>>2]+8>>2]](f,i[p+(A<<2)>>2])|0)+96>>2],v=(C|0)<=(Z|0),A=A+1|0,(A|0)>=i[r+340>>2])break f;if(!((Z|0)>=(C|0)))break}break f}break r}break i}break r}break i}C0(18344,13964,1136,3838),P()}f:{if(!v|i[r+336>>2]<=0)break f;for(p=r+924|0,A=0;;){if(C=i[(V[i[i[f>>2]+8>>2]](f,i[p+(A<<2)>>2])|0)+96>>2],v=(C|0)<=(Z|0),A=A+1|0,(A|0)>=i[r+336>>2])break f;if(!((Z|0)>=(C|0)))break}}if(v){v=(o+w|0)+2|0,A=o,w=(w+(A<<2)|0)+4|0;break A}A=l[r+380|0],v=(w+A|0)+2|0,w=(w+(A<<2)|0)+4|0}if(Z=i[_+148>>2],k=k>>Z,(k|0)<0||(p=i[_+152>>2],(p|0)<=(k|0)))break i;if(n=n>>Z,(n|0)<0|(n|0)>=i[_+156>>2])break r;if(k=Q[((i[_+140>>2]+m(k,24)|0)+m(m(n,p),24)|0)+2>>1],Z=i[_+52>>2],k>>>0>=i[_+56>>2]-Z>>2>>>0){v2(f+4|0,1033,0),l[h|0]=0,X[u>>1]=0,X[u+2>>1]=0;break e}if(n=(((o<<4)+r|0)+t|0)+1308|0,v=l[v|0],Z=i[Z+(k<<2)>>2],s[n|0]!=s[(v+(Z+(A<<4)|0)|0)+1308|0]){l[h|0]=0,X[u>>1]=0,X[u+2>>1]=0;break e}k=Q[w>>1]|Q[w+2>>1]<<16,l[h|0]=1;A:{if(!s[n|0]&&(A=i[_+96>>2]-i[((Z+(A<<6)|0)+(v<<2)|0)+1052>>2]|0,r=i[e+96>>2]-i[(((o<<6)+r|0)+(t<<2)|0)+1052>>2]|0,(A|0)!=(r|0)))break A;X[u>>1]=k,X[u+2>>1]=k>>>16;break e}if(i[W+8>>2]=k,i[W+12>>2]=k,C7(u,W+8|0,A,r))break e;v2(f+4|0,1008,0),l[e+312|0]=3}B=W+16|0;return}C0(3720,8453,119,3372),P()}C0(3758,8453,118,3372),P()}function iw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0;if(A=B-160|0,B=A,i[A+60>>2]=54820,k=i[13708],i[A+4>>2]=k,u=i[k-12>>2],k=A+4|0,i[u+k>>2]=i[13709],n=k+i[i[A+4>>2]-12>>2]|0,t=A+8|0,b0(n,t),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+60>>2]=54820,i[A+4>>2]=54800,p=$0(t),i[p>>2]=53552,i[A+48>>2]=0,i[A+52>>2]=0,i[A+40>>2]=0,i[A+44>>2]=0,i[A+56>>2]=16,n=A+148|0,R2(n,e,r),w=k,u=n,k=l[A+159|0],n=(k|0)<0,x(w,n?i[A+148>>2]:u,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),t=i[e+56>>2],W=i[e+60>>2],(t|0)!=(W|0))for(;;){e=A+148|0,W0(e,r),u=e,e=l[A+159|0],k=(e|0)<0,x(A+4|0,k?i[A+148>>2]:u,k?i[A+152>>2]:e),l[A+159|0]<0&&G(i[A+148>>2]),e=x(A+4|0,18659,21),k=A+148|0,Vn(k,t),w=e,u=k,e=l[A+159|0],k=(e|0)<0,x(L0(x(x(x(w,k?i[A+148>>2]:u,k?i[A+152>>2]:e),18679,1),21539,10),i[t+40>>2]),20145,9),l[A+159|0]<0&&G(i[A+148>>2]);i:{if(e=i[t+44>>2],C=i[t+48>>2],(e|0)==(C|0))break i;for(;;){r:{v=L0(A+4|0,i[e>>2]),w=V1(A+140|0,v);e:{if(s[w|0]!=1)break e;h=i[i[v>>2]-12>>2]+v|0,Z=i[h+4>>2],n=i[h+24>>2],_=i[h+76>>2],(_|0)==-1&&(o=A+148|0,k=i[h+28>>2],i[o>>2]=k,(k|0)!=100008&&(i[k+4>>2]=i[k+4>>2]+1),k=x0(o,100192),_=V[i[i[k>>2]+28>>2]](k,32)|0,O0(o),i[h+76>>2]=_);A:{if(!n||(k=i[h+12>>2],Z=(Z&176)==32?21742:21741,o=Z-21741|0,(o|0)>0&&(V[i[i[n>>2]+48>>2]](n,21741,o)|0)!=(o|0)))break A;if(k=(k|0)>1?k-1|0:0,(k|0)>0){if(k>>>0>=2147483640)break r;f:{if(k>>>0>=11){u=(k|7)+1|0,o=U(u),i[A+156>>2]=u|-2147483648,i[A+148>>2]=o,i[A+152>>2]=k;break f}l[A+159|0]=k,o=A+148|0}if(I=B0(o,_,k)+k|0,y=0,l[I|0]=y,_=V[i[i[n>>2]+48>>2]](n,l[A+159|0]<0?i[A+148>>2]:A+148|0,k)|0,l[A+159|0]<0&&G(i[A+148>>2]),(k|0)!=(_|0))break A}if(k=21742-Z|0,(k|0)>0&&(V[i[i[n>>2]+48>>2]](n,Z,k)|0)!=(k|0))break A;i[h+12>>2]=0;break e}k=i[i[v>>2]-12>>2]+v|0,z1(k,i[k+16>>2]|5)}if(Z1(w),e=e+4|0,(C|0)!=(e|0))continue;break i}break}c2(),P()}if(x(A+4|0,31338,1),t=t+56|0,(W|0)==(t|0))break}i2(f,p),f=i[13707],i[A+4>>2]=f,i[i[f-12>>2]+(A+4|0)>>2]=i[13710],i[p>>2]=53552,l[A+51|0]<0&&G(i[A+40>>2]),K0(p),T0(A+60|0),B=A+160|0}function rw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;n=B-48|0,B=n;i:{if(!r){if(l[n+16|0]=0,l[n+27|0]=0,r=f,f=r0(n+28|0,5,2001,n+16|0),P0(r,f,i[e>>2]),l[f+19|0]<0&&G(i[f+8>>2]),l[n+27|0]>=0)break i;G(i[n+16>>2]);break i}A=i[e>>2];r:{if(l[A+151|0]>=0){i[n+24>>2]=i[A+148>>2],k=i[A+144>>2],i[n+16>>2]=i[A+140>>2],i[n+20>>2]=k;break r}_0(n+16|0,i[A+140>>2],i[A+144>>2])}A=l[n+27|0],k=(A|0)<0,t=Z2((k?i[n+20>>2]:A)+1|0);r:{if(!t){r=U(48),i[n+4>>2]=r,i[n+8>>2]=45,i[n+12>>2]=-2147483600,A=s[8634]|s[8635]<<8|(s[8636]<<16|s[8637]<<24),k=s[8630]|s[8631]<<8|(s[8632]<<16|s[8633]<<24),l[r+37|0]=k,l[r+38|0]=k>>>8,l[r+39|0]=k>>>16,l[r+40|0]=k>>>24,l[r+41|0]=A,l[r+42|0]=A>>>8,l[r+43|0]=A>>>16,l[r+44|0]=A>>>24,A=s[8629]|s[8630]<<8|(s[8631]<<16|s[8632]<<24),k=s[8625]|s[8626]<<8|(s[8627]<<16|s[8628]<<24),l[r+32|0]=k,l[r+33|0]=k>>>8,l[r+34|0]=k>>>16,l[r+35|0]=k>>>24,l[r+36|0]=A,l[r+37|0]=A>>>8,l[r+38|0]=A>>>16,l[r+39|0]=A>>>24,A=s[8621]|s[8622]<<8|(s[8623]<<16|s[8624]<<24),k=s[8617]|s[8618]<<8|(s[8619]<<16|s[8620]<<24),l[r+24|0]=k,l[r+25|0]=k>>>8,l[r+26|0]=k>>>16,l[r+27|0]=k>>>24,l[r+28|0]=A,l[r+29|0]=A>>>8,l[r+30|0]=A>>>16,l[r+31|0]=A>>>24,A=s[8613]|s[8614]<<8|(s[8615]<<16|s[8616]<<24),k=s[8609]|s[8610]<<8|(s[8611]<<16|s[8612]<<24),l[r+16|0]=k,l[r+17|0]=k>>>8,l[r+18|0]=k>>>16,l[r+19|0]=k>>>24,l[r+20|0]=A,l[r+21|0]=A>>>8,l[r+22|0]=A>>>16,l[r+23|0]=A>>>24,A=s[8605]|s[8606]<<8|(s[8607]<<16|s[8608]<<24),k=s[8601]|s[8602]<<8|(s[8603]<<16|s[8604]<<24),l[r+8|0]=k,l[r+9|0]=k>>>8,l[r+10|0]=k>>>16,l[r+11|0]=k>>>24,l[r+12|0]=A,l[r+13|0]=A>>>8,l[r+14|0]=A>>>16,l[r+15|0]=A>>>24,A=s[8597]|s[8598]<<8|(s[8599]<<16|s[8600]<<24),k=s[8593]|s[8594]<<8|(s[8595]<<16|s[8596]<<24),l[r|0]=k,l[r+1|0]=k>>>8,l[r+2|0]=k>>>16,l[r+3|0]=k>>>24,l[r+4|0]=A,l[r+5|0]=A>>>8,l[r+6|0]=A>>>16,l[r+7|0]=A>>>24,l[r+45|0]=0,r=f,f=r0(n+28|0,6,0,n+4|0),P0(r,f,i[e>>2]),l[f+19|0]<0&&G(i[f+8>>2]),l[n+15|0]<0&&G(i[n+4>>2]),A=s[n+27|0];break r}o=r,u=Fi(t,k?i[n+16>>2]:n+16|0),i[o>>2]=u,i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e}if(A<<24>>24>=0)break i;G(i[n+16>>2])}B=n+48|0}function ew(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;A=i[i[f>>2]+20>>2],e=B-96|0,B=e,k=i[f+8>>2],h=k+20|0,f=i[k+20>>2];i:{r:{if(!f)break r;for(n=h;r=A>>>0>k0[f+16>>2],n=r?n:f,f=i[(r<<2)+f>>2],!!f;);if((n|0)==(h|0))break r;if(A>>>0>=k0[n+16>>2])break i}n=h}f=i[n+20>>2],o=i[n+24>>2],o&&(i[o+4>>2]=i[o+4>>2]+1),n=1;i:{if(i[f+52>>2])break i;t=e+84|0,W6(t,i[k+48>>2],A),n=0,f=l[e+95|0],r=(f|0)<0;r:{if(((r?i[e+88>>2]:f)|0)!=4||(r=r?i[e+84>>2]:t,(s[r|0]|s[r+1|0]<<8|(s[r+2|0]<<16|s[r+3|0]<<24))!=1684632167))break r;i[e+80>>2]=0,i[e+72>>2]=0,i[e+76>>2]=0,f=e+72|0,w8(e+52|0,i[k+48>>2],A,f);e:{if(i[e+52>>2])break e;i[e+48>>2]=0,i[e+40>>2]=0,i[e+44>>2]=0,Uk(e+20|0,e+40|0,f);A:{if(i[e+20>>2])break A;r=i[k+48>>2],f=i[r+76>>2],u=i[r+80>>2],u&&(i[u+4>>2]=i[u+4>>2]+1);f:{if(!f)break f;oi(e+8|0,f,A),_=i[e+12>>2],r=i[e+8>>2];k:{if((m(Q[e+42>>1],Q[e+40>>1])|0)!=_-r>>2||(w=(r|0)==(_|0),w)||(t=i[k+16>>2],(t|0)==(h|0)))break k;k=r;n:for(;;){for(v=i[k>>2],f=t;;){if((v|0)==i[f+16>>2]){if(k=k+4|0,(_|0)!=(k|0))continue n;if(w)break k;for(;;){t:{if(f=i[h>>2],!f){n=0;break t}for(k=i[r>>2],A=h;t=k>>>0>k0[f+16>>2],A=t?A:f,f=i[(t<<2)+f>>2],!!f;);if((A|0)==(h|0)){n=0;break t}if(k>>>0<k0[A+16>>2]){n=0;break t}k=i[A+20>>2],f=i[A+24>>2];o:{if(!f){A=i[k+52>>2];break o}if(t=i[f+4>>2],w=t+1|0,i[f+4>>2]=w,A=i[k+52>>2],i[f+4>>2]=t,w)break o;V[i[i[f>>2]+8>>2]](f),g(f)}if(n=(A|0)!=0|n,r=r+4|0,(_|0)!=(r|0))continue}break}r=i[e+8>>2];break k}A=i[f+4>>2];t:{if(A){for(;;)if(f=A,A=i[f>>2],!A)break t}for(;A=f,f=i[f+8>>2],(A|0)!=i[f>>2];);}if((f|0)==(h|0))break}break}}if(!r)break f;i[e+12>>2]=r,G(r)}if(!u||(f=i[u+4>>2],i[u+4>>2]=f-1,f))break A;V[i[i[u>>2]+8>>2]](u),g(u)}if(l[e+39|0]>=0)break e;G(i[e+28>>2])}l[e+71|0]<0&&G(i[e+60>>2]),f=i[e+72>>2],f&&(i[e+76>>2]=f,G(f)),f=s[e+95|0]}if(f<<24>>24>=0)break i;G(i[e+84>>2])}i:{if(!o||(f=i[o+4>>2],i[o+4>>2]=f-1,f))break i;V[i[i[o>>2]+8>>2]](o),g(o)}return B=e+96|0,n&1}function ii(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0;n=B-160|0,B=n;i:{r:{if(t=i[A>>2],A=i[t+56>>2],t=i[t+60>>2],(A|0)!=(t|0))for(;;){if(i[A>>2]==(r|0))break r;if(A=A+16|0,(t|0)==(A|0))break}i[n+24>>2]=54496,i[n+80>>2]=54516,e=i[13633],i[n+16>>2]=e,A=i[e-12>>2],e=n+16|0,i[A+e>>2]=i[13634],i[n+20>>2]=0,A=e+i[i[n+16>>2]-12>>2]|0,k=n+28|0,b0(A,k),i[A+72>>2]=0,i[A+76>>2]=-1,A=i[13635],i[n+24>>2]=A,t=i[A-12>>2],A=n+24|0,i[t+A>>2]=i[13636],t=i[13632],i[n+16>>2]=t,i[e+i[t-12>>2]>>2]=i[13637],i[n+80>>2]=54516,i[n+16>>2]=54476,i[n+24>>2]=54496,e=$0(k),i[e>>2]=53552,i[n+68>>2]=0,i[n+72>>2]=0,i[n+60>>2]=0,i[n+64>>2]=0,i[n+76>>2]=24,x(L0(x(A,16351,9),r),2059,46),r=n+4|0,i2(r,e),r0(f,2,116,r),l[n+15|0]<0&&G(i[n+4>>2]),f=i[13631],i[n+16>>2]=f,i[i[f-12>>2]+(n+16|0)>>2]=i[13639],i[n+24>>2]=i[13640],i[e>>2]=53552,l[n+71|0]<0&&G(i[n+60>>2]),K0(e),T0(n+80|0);break i}if(t=i[A+4>>2],u=i[A+8>>2],(t|0)!=(u|0))for(;;){if(A=Q[t+2>>1],o=i[e+36>>2],A>>>0>i[e+40>>2]-o>>3>>>0){i[n+24>>2]=54496,i[n+80>>2]=54516,e=i[13633],i[n+16>>2]=e,A=i[e-12>>2],e=n+16|0,i[A+e>>2]=i[13634],i[n+20>>2]=0,A=e+i[i[n+16>>2]-12>>2]|0,k=n+28|0,b0(A,k),i[A+72>>2]=0,i[A+76>>2]=-1,A=i[13635],i[n+24>>2]=A,o=i[A-12>>2],A=n+24|0,i[o+A>>2]=i[13636],o=i[13632],i[n+16>>2]=o,i[e+i[o-12>>2]>>2]=i[13637],i[n+80>>2]=54516,i[n+16>>2]=54476,i[n+24>>2]=54496,e=$0(k),i[e>>2]=53552,i[n+68>>2]=0,i[n+72>>2]=0,i[n+60>>2]=0,i[n+64>>2]=0,i[n+76>>2]=24,x(L0(x(x(L0(x(A,16322,28),Q[t+2>>1]),18971,11),16371,4),r),2106,23),r=n+4|0,i2(r,e),r0(f,2,115,r),l[n+15|0]<0&&G(i[n+4>>2]),f=i[13631],i[n+16>>2]=f,i[i[f-12>>2]+(n+16|0)>>2]=i[13639],i[n+24>>2]=i[13640],i[e>>2]=53552,l[n+71|0]<0&&G(i[n+60>>2]),K0(e),T0(n+80|0);break i}if(A){h=o+(A<<3)|0,o=h-8|0,A=i[k+4>>2];r:{if(A>>>0<k0[k+8>>2]){i[A>>2]=i[o>>2],o=i[h-4>>2],i[A+4>>2]=o,o&&(i[o+4>>2]=i[o+4>>2]+1),A=A+8|0;break r}A=Q2(k,o)}i[k+4>>2]=A}if(t=t+4|0,(u|0)==(t|0))break}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=n+160|0}function yr(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0;if(h=B-2048|0,B=h,_=5,(e|0)>=2){for(_=0,n=e;t=_,_=t+1|0,Z=n>>>0>3,n=n>>>1|0,!!Z;);_=4-t|0}i:{if((e|0)<=0)break i;for(p=1<<k,Z=0-p|0,W=p+65535|0,y=e&2147483644,C=e&3,I=e-1|0;;){v=(o<<1)+r|0,n=0,k=e;r:{for(;;){if(w=n,t=k,(k|0)<=0){if(k=0,n=0,t=0,I>>>0>=3)for(;X[(m(e,n)+o<<1)+h>>1]=0,X[(m(n|1,e)+o<<1)+h>>1]=0,X[(m(n|2,e)+o<<1)+h>>1]=0,X[(m(n|3,e)+o<<1)+h>>1]=0,n=n+4|0,t=t+4|0,(y|0)!=(t|0););if(!C)break r;for(;X[(m(e,n)+o<<1)+h>>1]=0,n=n+1|0,k=k+1|0,(C|0)!=(k|0););break r}if(n=w+1|0,k=t-1|0,!!Q[v+(m(k,e)<<1)>>1])break}for(E=t&2147483646,J=t&1,k=0;;){if(n=0,t=0,u=0,(w|0)!=(I|0))for(;R=m(X[v+(m(e,n)<<1)>>1],l[((n<<_<<5)+k|0)+43984|0])+t|0,t=n|1,t=R+m(X[v+(m(t,e)<<1)>>1],l[((t<<_<<5)+k|0)+43984|0])|0,n=n+2|0,u=u+2|0,(E|0)!=(u|0););if(u=(m(e,k)+o<<1)+h|0,J&&(t=m(X[v+(m(e,n)<<1)>>1],l[((n<<_<<5)+k|0)+43984|0])+t|0),n=t- -64>>7,X[u>>1]=(n|0)<(Z|0)?Z:(n|0)<(p|0)?n:W,k=k+1|0,(k|0)==(e|0))break}}if(o=o+1|0,(o|0)==(e|0))break}if((e|0)<=0)break i;for(C=e&2147483640,p=e&7,W=1<<A-1,w=W>>A,v=0;;){o=m(e,v),n=0,k=e;r:{e:{for(;;){if(Z=n,r=k,(k|0)<=0)break e;if(n=n+1|0,k=k-1|0,!!Q[(o+k<<1)+h>>1])break}for(y=r&2147483646,r=r&1,E=(o<<2)+f|0,k=0;;){if(n=0,t=0,u=0,(Z|0)!=(I|0))for(;J=m(X[(n+o<<1)+h>>1],l[((n<<_<<5)+k|0)+43984|0])+t|0,t=n|1,t=J+m(X[(t+o<<1)+h>>1],l[((t<<_<<5)+k|0)+43984|0])|0,n=n+2|0,u=u+2|0,(y|0)!=(u|0););if(u=E+(k<<2)|0,r&&(t=m(X[(n+o<<1)+h>>1],l[((n<<_<<5)+k|0)+43984|0])+t|0),i[u>>2]=t+W>>A,k=k+1|0,(k|0)==(e|0))break}break r}if(n=(o<<2)+f|0,t=0,k=0,u=0,I>>>0>=7)for(;r=n+(k<<2)|0,i[r>>2]=w,i[r+4>>2]=w,i[r+8>>2]=w,i[r+12>>2]=w,i[r+16>>2]=w,i[r+20>>2]=w,i[r+24>>2]=w,i[r+28>>2]=w,k=k+8|0,u=u+8|0,(C|0)!=(u|0););if(!p)break r;for(;i[n+(k<<2)>>2]=w,k=k+1|0,t=t+1|0,(p|0)!=(t|0););}if(v=v+1|0,(v|0)==(e|0))break}}B=h+2048|0}function IA(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0;t=B-80|0,B=t,i[t+72>>2]=0,i[t+76>>2]=0,u=i[i[e>>2]+20>>2],i[t+40>>2]=0,i[t+44>>2]=0,X[t+48>>1]=0,i[t+52>>2]=0,X[t+28>>1]=5,i[t+32>>2]=0,i[t+36>>2]=0,l[t+68|0]=0,i[t+60>>2]=2,i[t+64>>2]=2,l[t+56|0]=1;i:{if(!n)break i;r:switch(s[n|0]-1|0){case 4:o=i[n+32>>2],i[t+56>>2]=i[n+28>>2],i[t+60>>2]=o,o=i[n+40>>2],i[t+64>>2]=i[n+36>>2],i[t+68>>2]=o;case 3:i[t+52>>2]=i[n+24>>2];case 2:l[t+49|0]=s[n+21|0];case 1:l[t+48|0]=s[n+20|0];break;case 0:break r;default:break i}l[t+29|0]=s[n+1|0],i[t+32>>2]=i[n+4>>2],i[t+36>>2]=i[n+8>>2],i[t+40>>2]=i[n+12>>2],i[t+44>>2]=i[n+16>>2]}n=t+8|0,o=B-48|0,B=o,h=u,u=t+72|0,w=t+28|0,f6(o+24|0,i[e+8>>2],h,u,A,w,0);i:{if(i[o+24>>2]){A=i[o+28>>2],i[n>>2]=i[o+24>>2],i[n+4>>2]=A,i[n+16>>2]=i[o+40>>2],A=i[o+36>>2],i[n+8>>2]=i[o+32>>2],i[n+12>>2]=A,i[o+40>>2]=0,i[o+32>>2]=0,i[o+36>>2]=0;break i}h=i[u>>2],_=i[h+36>>2],k=(k|0)==99?_:k;r:{if(A=(A|0)==99?i[h+32>>2]:A,(k|0)==(_|0)&(A|0)==i[h+32>>2])break r;h=s[w+20|0],i[o+16>>2]=0,i[o+20>>2]=0,N8(o+4|0,u,A,k,o+16|0,((h|0)!=0)<<3,w+28|0),k=i[o+4>>2],h=i[o+8>>2],i[o+4>>2]=0,i[o+8>>2]=0,A=i[u+4>>2],i[u>>2]=k,i[u+4>>2]=h;e:{if(!A||(k=i[A+4>>2],i[A+4>>2]=k-1,k))break e;V[i[i[A>>2]+8>>2]](A),g(A)}A=i[o+8>>2];e:{if(!A||(k=i[A+4>>2],i[A+4>>2]=k-1,k))break e;V[i[i[A>>2]+8>>2]](A),g(A)}A=i[o+20>>2];e:{if(!A||(k=i[A+4>>2],i[A+4>>2]=k-1,k))break e;V[i[i[A>>2]+8>>2]](A),g(A)}if(i[u>>2])break r;if(l[o+4|0]=0,l[o+15|0]=0,r0(n,4,3003,o+4|0),l[o+15|0]>=0)break i;G(i[o+4>>2]);break i}if(A=i[19565],i[n>>2]=i[19564],i[n+4>>2]=A,A=n+8|0,l[78275]>=0){k=i[19567],i[A>>2]=i[19566],i[A+4>>2]=k,i[A+8>>2]=i[19568];break i}_0(A,i[19566],i[19567])}l[o+43|0]<0&&G(i[o+32>>2]),B=o+48|0,i[t+8>>2]||(A=r,r=U(8),i[A>>2]=r,A=i[t+72>>2],k=i[t+76>>2],i[t+72>>2]=0,i[t+76>>2]=0,i[r>>2]=A,i[r+4>>2]=k,n=78256),P0(f,n,i[e>>2]),l[t+27|0]<0&&G(i[t+16>>2]),f=i[t+76>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=t+80|0}function Sk(f,e,r,A,k,n,t,o,u){var h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0;h=B-128|0,B=h;i:{r:{e:{if(!fi(n,t,o,u,0,0,0,0))break e;w=u&65535,v=u>>>16&32767;A:f:{if((v|0)!=32767){if(Z=4,v)break f;Z=n|o|(t|w)?3:2;break A}Z=!(n|o|(t|w))}if(!Z)break e;if(y=k>>>16|0,W=y&32767,(W|0)!=32767)break r}d2(h+16|0,e,r,A,k,n,t,o,u),e=i[h+16>>2],A=i[h+20>>2],k=i[h+24>>2],r=i[h+28>>2],Bk(h,e,A,k,r,e,A,k,r),A=i[h+8>>2],k=i[h+12>>2],o=i[h>>2],u=i[h+4>>2];break i}if(p=A,Z=k&2147483647,w=Z,v=o,_=u&2147483647,(fi(e,r,p,w,n,t,o,_)|0)<=0){if(fi(e,r,p,w,n,t,o,_)){o=e,u=r;break i}d2(h+112|0,e,r,A,k,0,0,0,0),A=i[h+120>>2],k=i[h+124>>2],o=i[h+112>>2],u=i[h+116>>2];break i}if(C=u>>>16&32767,W?(u=r,o=e):(d2(h+96|0,e,r,p,Z,0,0,0,1081540608),p=i[h+104>>2],o=i[h+108>>2],Z=o,W=(o>>>16|0)-120|0,u=i[h+100>>2],o=i[h+96>>2]),C||(d2(h+80|0,n,t,v,_,0,0,0,1081540608),v=i[h+88>>2],n=i[h+92>>2],_=n,C=(n>>>16|0)-120|0,t=i[h+84>>2],n=i[h+80>>2]),I=v,E=_&65535|65536,Z=Z&65535|65536,(W|0)>(C|0)){for(;;){_=p-I|0,w=(t|0)==(u|0)&n>>>0>o>>>0|t>>>0>u>>>0,v=_-w|0,w=(Z-((p>>>0<I>>>0)+E|0)|0)-(w>>>0>_>>>0)|0;r:{if((w|0)>=0|(w|0)>0){if(p=o,o=o-n|0,u=u-((n>>>0>p>>>0)+t|0)|0,!(o|v|(u|w))){d2(h+32|0,e,r,A,k,0,0,0,0),A=i[h+40>>2],k=i[h+44>>2],o=i[h+32>>2],u=i[h+36>>2];break i}w=w<<1|v>>>31,p=v<<1|u>>>31;break r}w=Z<<1|p>>>31,p=p<<1|u>>>31}if(Z=w,w=u<<1|o>>>31,o=o<<1,u=w,W=W-1|0,!((C|0)<(W|0)))break}W=C}_=p-I|0,w=(t|0)==(u|0)&n>>>0>o>>>0|t>>>0>u>>>0,v=_-w|0,w=(Z-((p>>>0<I>>>0)+E|0)|0)-(w>>>0>_>>>0)|0,_=w;r:{if((w|0)<0){v=p,_=Z;break r}if(p=o,o=o-n|0,u=u-((n>>>0>p>>>0)+t|0)|0,o|v|(u|_))break r;d2(h+48|0,e,r,A,k,0,0,0,0),A=i[h+56>>2],k=i[h+60>>2],o=i[h+48>>2],u=i[h+52>>2];break i}if((_|0)==65535|_>>>0<65535)for(;e=u>>>31|0,W=W-1|0,Z=u<<1|o>>>31,o=o<<1,u=Z,r=e,e=_<<1|v>>>31,v=r|v<<1,_=e,e>>>0<65536;);if(e=y&32768,(W|0)<=0){d2(h- -64|0,o,u,v,_&65535|(e|W+120)<<16,0,0,0,1065811968),A=i[h+72>>2],k=i[h+76>>2],o=i[h+64>>2],u=i[h+68>>2];break i}A=v,k=_&65535|(e|W)<<16}i[f>>2]=o,i[f+4>>2]=u,i[f+8>>2]=A,i[f+12>>2]=k,B=h+128|0}function Fr(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0;if(u=B-2048|0,B=u,w=5,(r|0)>=2){for(w=0,k=r;n=w,w=n+1|0,t=k>>>0>3,k=k>>>1|0,!!t;);w=4-n|0}i:{if((r|0)<=0)break i;for(W=r&2147483644,Z=r&3,p=r-1|0;;){_=(o<<1)+A|0,k=0,n=r;r:{for(;;){if(v=k,t=n,(n|0)<=0){if(n=0,k=0,t=0,p>>>0>=3)for(;X[(m(r,k)+o<<1)+u>>1]=0,X[(m(k|1,r)+o<<1)+u>>1]=0,X[(m(k|2,r)+o<<1)+u>>1]=0,X[(m(k|3,r)+o<<1)+u>>1]=0,k=k+4|0,t=t+4|0,(W|0)!=(t|0););if(!Z)break r;for(;X[(m(r,k)+o<<1)+u>>1]=0,k=k+1|0,n=n+1|0,(Z|0)!=(n|0););break r}if(k=v+1|0,n=t-1|0,!!Q[_+(m(n,r)<<1)>>1])break}for(C=t&2147483646,I=t&1,n=0;;){if(k=0,t=0,h=0,(v|0)!=(p|0))for(;y=m(X[_+(m(r,k)<<1)>>1],l[((k<<w<<5)+n|0)+43984|0])+t|0,t=k|1,t=y+m(X[_+(m(t,r)<<1)>>1],l[((t<<w<<5)+n|0)+43984|0])|0,k=k+2|0,h=h+2|0,(C|0)!=(h|0););if(h=(m(r,n)+o<<1)+u|0,I&&(t=m(X[_+(m(r,k)<<1)>>1],l[((k<<w<<5)+n|0)+43984|0])+t|0),k=t- -64>>7,k=(k|0)>=32767?32767:k,X[h>>1]=(k|0)<=-32768?-32768:k,n=n+1|0,(n|0)==(r|0))break}}if(o=o+1|0,(o|0)==(r|0))break}if((r|0)<=0)break i;for(Z=r&2147483646,W=r&1,o=0;;){_=m(r,o),k=0,n=r;r:{e:{for(;;){if(v=k,A=n,(n|0)<=0)break e;if(k=k+1|0,n=n-1|0,!!Q[(_+n<<1)+u>>1])break}for(C=A&2147483646,I=A&1,y=m(e,o)+f|0,n=0;;){if(k=0,t=0,h=0,(v|0)!=(p|0))for(;A=k|1,t=(m(X[(k+_<<1)+u>>1],l[((k<<w<<5)+n|0)+43984|0])+t|0)+m(X[(A+_<<1)+u>>1],l[((A<<w<<5)+n|0)+43984|0])|0,k=k+2|0,h=h+2|0,(C|0)!=(h|0););if(A=n+y|0,h=s[A|0],I&&(t=m(X[(k+_<<1)+u>>1],l[((k<<w<<5)+n|0)+43984|0])+t|0),k=A,A=(t+2048>>12)+h|0,l[k|0]=(A|0)>=0?(A|0)>=255?255:A:0,n=n+1|0,(n|0)==(r|0))break}break r}if(n=m(e,o)+f|0,k=0,t=0,p)for(;A=k+n|0,v=s[A|0],l[A|0]=v>>>0>=255?255:v,v=A,A=s[A+1|0],l[v+1|0]=A>>>0>=255?255:A,k=k+2|0,t=t+2|0,(Z|0)!=(t|0););if(!W)break r;n=k+n|0,A=s[n|0],l[n|0]=A>>>0>=255?255:A}if(o=o+1|0,(o|0)==(r|0))break}}B=u+2048|0}function Aw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,k=i[13708],i[A+12>>2]=k,n=i[k-12>>2],k=A+12|0,i[n+k>>2]=i[13709],u=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(u,n),i[u+72>>2]=0,i[u+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,u=$0(n),i[u>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),o=k,t=n,k=l[A+159|0],n=(k|0)<0,x(o,n?i[A+148>>2]:t,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),t=k,k=l[A+159|0],n=(k|0)<0,x(A+12|0,n?i[A+148>>2]:t,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,x(k,21668,22),x(H0(k,i[e+56>>2]),19321,3),x(H0(k,i[e+60>>2]),19321,3),x(H0(k,i[e+64>>2]),31338,1),n=A+148|0,W0(n,r),o=k,t=n,k=l[A+159|0],n=(k|0)<0,x(o,n?i[A+148>>2]:t,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,x(k,18880,12);i:{if(s[e+68|0]==1){x(k,31193,12),n=A+148|0,W0(n,r),o=k,t=n,k=l[A+159|0],n=(k|0)<0,x(o,n?i[A+148>>2]:t,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),x(Q4(x(Q4(x(Q4(x(Q4(x(A+12|0,14777,7),i0[e+72>>3]),16376,1),i0[e+80>>3]),16376,1),i0[e+88>>3]),16376,1),i0[e+96>>3]),30511,2);break i}k=A+12|0,x(k,31106,9),n=A+148|0,W0(n,r),o=k,t=n,k=l[A+159|0],n=(k|0)<0,x(o,n?i[A+148>>2]:t,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,x(Q4(x(k,21726,9),i0[e+104>>3]),31338,1),n=A+148|0,W0(n,r),o=k,t=n,k=l[A+159|0],n=(k|0)<0,x(o,n?i[A+148>>2]:t,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,x(Q4(x(k,20539,9),i0[e+112>>3]),31338,1),n=A+148|0,W0(n,r),o=k,t=n,k=l[A+159|0],n=(k|0)<0,x(o,n?i[A+148>>2]:t,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),x(Q4(x(A+12|0,21695,9),i0[e+120>>3]),31338,1)}k=A+148|0,W0(k,r),n=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:n,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(L0(x(r,21298,28),i[e+128>>2]),31338,1),i2(f,u),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[u>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(u),T0(A+68|0),B=A+160|0}function fw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0;A=B-32|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(A,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(k=i[19565],i[A>>2]=i[19564],i[A+4>>2]=k,k=A+8|0,l[78275]>=0){n=i[19567],i[k>>2]=i[19566],i[k+4>>2]=n,i[k+8>>2]=i[19568];break i}_0(k,i[19566],i[19567])}l[A+19|0]<0&&G(i[A+8>>2]),k=s[e+48|0];i:{if(k>>>0>=4){h4(f,e,11243);break i}r:{if(k>>>0<=1&&(t=e,o=t2(r),i[t+56>>2]=o,t=e,o=t2(r),X[t+60>>1]=o,B4(A+20|0,r),l[e+87|0]<0&&G(i[e+76>>2]),k=i[A+24>>2],i[e+76>>2]=i[A+20>>2],i[e+80>>2]=k,i[e+84>>2]=i[A+28>>2],B4(A+20|0,r),l[e+99|0]<0&&G(i[e+88>>2]),k=i[A+24>>2],i[e+88>>2]=i[A+20>>2],i[e+92>>2]=k,i[e+96>>2]=i[A+28>>2],B4(A+20|0,r),l[e+111|0]<0&&G(i[e+100>>2]),k=i[A+24>>2],i[e+100>>2]=i[A+20>>2],i[e+104>>2]=k,i[e+108>>2]=i[A+28>>2],k=s[e+48|0],k>>>0<2))break r;l[e+124|0]=l[e+52|0]&1;e:{if((k|0)==2){k=t2(r);break e}k=D0(r)}if(i[e+56>>2]=k,t=e,o=t2(r),X[t+60>>1]=o,k=D0(r),k&&(l[e+75|0]<0&&G(i[e+64>>2]),l[e+75|0]=4,l[e+68|0]=0,i[e+64>>2]=k<<24|(k&65280)<<8|(k>>>8&65280|k>>>24)),B4(A+20|0,r),l[e+87|0]<0&&G(i[e+76>>2]),n=i[A+24>>2],i[e+76>>2]=i[A+20>>2],i[e+80>>2]=n,i[e+84>>2]=i[A+28>>2],(k|0)!=1970432288){if((k|0)!=1835625829)break r;B4(A+20|0,r),l[e+99|0]<0&&G(i[e+88>>2]),k=i[A+24>>2],i[e+88>>2]=i[A+20>>2],i[e+92>>2]=k,i[e+96>>2]=i[A+28>>2],B4(A+20|0,r),l[e+111|0]<0&&G(i[e+100>>2]),k=i[A+24>>2],i[e+100>>2]=i[A+20>>2],i[e+104>>2]=k,i[e+108>>2]=i[A+28>>2];break r}B4(A+20|0,r),l[e+123|0]<0&&G(i[e+112>>2]),k=i[A+24>>2],i[e+112>>2]=i[A+20>>2],i[e+116>>2]=k,i[e+120>>2]=i[A+28>>2]}if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(f,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function kw(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0;o=B-16|0,B=o,t=i[k>>2],n=t+i[r>>2]|0;i:{if(i[r+4>>2]-n>>>0<(A|0)/8<<1>>>0){if(e=U(48),i[o+4>>2]=e,i[o+8>>2]=44,i[o+12>>2]=-2147483600,r=s[6647]|s[6648]<<8|(s[6649]<<16|s[6650]<<24),A=s[6643]|s[6644]<<8|(s[6645]<<16|s[6646]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+44|0]=0,r=s[6683]|s[6684]<<8|(s[6685]<<16|s[6686]<<24),l[e+40|0]=r,l[e+41|0]=r>>>8,l[e+42|0]=r>>>16,l[e+43|0]=r>>>24,r=s[6679]|s[6680]<<8|(s[6681]<<16|s[6682]<<24),A=s[6675]|s[6676]<<8|(s[6677]<<16|s[6678]<<24),l[e+32|0]=A,l[e+33|0]=A>>>8,l[e+34|0]=A>>>16,l[e+35|0]=A>>>24,l[e+36|0]=r,l[e+37|0]=r>>>8,l[e+38|0]=r>>>16,l[e+39|0]=r>>>24,r=s[6671]|s[6672]<<8|(s[6673]<<16|s[6674]<<24),A=s[6667]|s[6668]<<8|(s[6669]<<16|s[6670]<<24),l[e+24|0]=A,l[e+25|0]=A>>>8,l[e+26|0]=A>>>16,l[e+27|0]=A>>>24,l[e+28|0]=r,l[e+29|0]=r>>>8,l[e+30|0]=r>>>16,l[e+31|0]=r>>>24,r=s[6663]|s[6664]<<8|(s[6665]<<16|s[6666]<<24),A=s[6659]|s[6660]<<8|(s[6661]<<16|s[6662]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[6655]|s[6656]<<8|(s[6657]<<16|s[6658]<<24),A=s[6651]|s[6652]<<8|(s[6653]<<16|s[6654]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,136,o+4|0),l[o+15|0]>=0)break i;G(i[o+4>>2]);break i}u=s[n|0],h=s[n+1|0];r:{if((A|0)==32){t=t+4|0,n=s[n+3|0]|(h<<16|u<<24|s[n+2|0]<<8);break r}t=t+2|0,n=(h<<16|u<<24)>>16}i[k>>2]=t,i[e+4>>2]=n,n=i[k>>2],r=n+i[r>>2]|0,t=s[r|0],u=s[r+1|0];r:{if((A|0)==32){A=n+4|0,r=s[r+3|0]|(u<<16|t<<24|s[r+2|0]<<8);break r}A=n+2|0,r=(u<<16|t<<24)>>16}if(i[k>>2]=A,i[e+8>>2]=r,e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=o+16|0}function Ok(f,e,r,A){var k=0,n=0,t=0,o=0,u=0;k=i[e>>2];i:{r:{e:{A:{f:{k:{n:{t:{o:{u:{l:{s:{if(!A||(t=i[A>>2],!t))break s;if(!f){A=r;break u}i[A>>2]=0,A=r;break l}s:{if(!i[i[23985]>>2]){if(!f)break s;if(!r)break i;for(t=r;;){if(A=l[k|0],A){if(i[f>>2]=A&57343,f=f+4|0,k=k+1|0,t=t-1|0,t)continue;break i}break}return i[f>>2]=0,i[e>>2]=0,r-t|0}if(A=r,!f)break o;break n}return G2(k)}n=1;break n}n=0;break t}n=1}for(;;){if(!n){if(n=s[k|0]>>>3|0,(n-16|n+(t>>26))>>>0>7)break k;n=k+1|0;t:{if(!(t&33554432))break t;if((s[n|0]&192)!=128){k=k-1|0;break A}if(n=k+2|0,!(t&524288))break t;if((s[n|0]&192)!=128){k=k-1|0;break A}n=k+3|0}k=n,A=A-1|0,n=1;continue}for(;;){t=s[k|0];t:{if(k&3|t-1>>>0>126||(t=i[k>>2],(t|t-16843009)&-2139062144))break t;for(;A=A-4|0,t=i[k+4>>2],k=k+4|0,!((t-16843009|t)&-2139062144););}if(n=t&255,n-1>>>0<=126){A=A-1|0,k=k+1|0;continue}break}if(n=n-194|0,n>>>0>50)break f;k=k+1|0,t=i[(n<<2)+55504>>2],n=0}}for(;;){if(!n){if(!A)break i;for(;;){n:{n=s[k|0],o=n-1|0;t:{o:{if(o>>>0>126){t=n;break o}if(k&3|A>>>0<5)break t;u:{for(;;){if(t=i[k>>2],(t|t-16843009)&-2139062144)break u;if(i[f>>2]=t&255,i[f+4>>2]=s[k+1|0],i[f+8>>2]=s[k+2|0],i[f+12>>2]=s[k+3|0],f=f+16|0,k=k+4|0,A=A-4|0,!(A>>>0>4))break}t=s[k|0]}n=t&255,o=n-1|0}if(o>>>0>126)break n}if(i[f>>2]=n,f=f+4|0,k=k+1|0,A=A-1|0,A)continue;break i}break}if(n=n-194|0,n>>>0>50)break f;k=k+1|0,t=i[(n<<2)+55504>>2],n=1;continue}if(u=s[k|0],n=u>>>3|0,(n-16|n+(t>>26))>>>0>7)break k;n:{t:{o=k+1|0,n=u-128|t<<6;o:{if((n|0)>=0)break o;if(o=s[o|0]-128|0,o>>>0>63)break t;if(u=n<<6,n=o|u,o=k+2|0,(u|0)>=0)break o;if(o=s[o|0]-128|0,o>>>0>63)break t;n=o|n<<6,o=k+3|0}k=o,i[f>>2]=n,A=A-1|0,f=f+4|0;break n}i[23944]=25,k=k-1|0;break e}n=0}}if(k=k-1|0,t)break A;t=s[k|0]}if(t&255)break A;return f&&(i[f>>2]=0,i[e>>2]=0),r-A|0}if(i[23944]=25,!f)break r}i[e>>2]=k}return-1}return i[e>>2]=k,r}function jk(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0;i:{r:{if(i[f+64>>2])break r;A=2512;e:{A:{f:{k:{n:{t:{o:{u:{l:{s:{h:{w:{_:{v:switch(t=r&-3,t-1|0){case 4:case 20:break o;case 19:break u;case 8:case 24:break l;case 23:break h;case 7:break w;case 0:case 16:break _;case 15:break e;case 1:case 2:case 3:case 5:case 6:case 9:case 10:case 13:case 14:case 17:case 18:case 21:case 22:case 25:case 26:break A;case 12:case 28:break f;case 27:break n;case 11:break t;default:break v}v:switch(t-48|0){case 4:break u;case 0:break e;case 1:case 2:case 3:break A;default:break v}switch(t-56|0){case 0:break s;case 4:break k;default:break A}}A=14717;break e}A=6086;break e}A=18145;break e}A=18142;break e}A=18148;break e}A=14080;break e}A=14104;break e}A=14083;break e}A=14127;break e}A=14123;break e}A=14131;break e}A=0}if(t=A,!A)break r;o=B-16|0,B=o;e:{A:{if(!zi(14135,l[A|0])){i[23944]=28;break A}if(A=2,zi(t,43)||(A=s[t|0]!=114),A=zi(t,120)?A|128:A,A=zi(t,101)?A|524288:A,k=A,u=A|64,A=s[t|0],k=(A|0)==114?k:u,k=(A|0)==119?k|512:k,i[o>>2]=438,i[o+4>>2]=0,k=Xs(-100,e|0,((A|0)==97?k|1024:k)|32768,o|0)|0,k>>>0>=4294963201&&(i[23944]=0-k,k=-1),(k|0)<0)break e;n=B-32|0,B=n;f:{k:{n:{if(!zi(14135,l[t|0])){i[23944]=28;break n}if(A=Z2(1176),A)break k}e=0;break f}B0(A,0,144),zi(t,43)||(i[A>>2]=s[t|0]==114?8:4);k:{if(s[t|0]!=97){e=i[A>>2];break k}e=c5(k|0,3,0)|0,e&1024||(e=e|1024,i[n+16>>2]=e,i[n+20>>2]=e>>31,c5(k|0,4,n+16|0)|0),e=i[A>>2]|128,i[A>>2]=e}i[A+80>>2]=-1,i[A+48>>2]=1024,i[A+60>>2]=k,i[A+44>>2]=A+152;k:{if(e&8||(i[n>>2]=n+24,i[n+4>>2]=0,Ws(k|0,21523,n|0)|0))break k;i[A+80>>2]=10}i[A+40>>2]=973,i[A+36>>2]=972,i[A+32>>2]=979,i[A+12>>2]=971,s[95789]||(i[A+76>>2]=-1),e=i[23946],i[A+56>>2]=e,e&&(i[e+52>>2]=A),i[23946]=A,e=A}if(B=n+32|0,n=e,n)break e;ik(k|0)|0}n=0}if(B=o+16|0,i[f+64>>2]=n,!n)break r;if(i[f+88>>2]=r,!(r&2)||!Ce(n,0,0,2))break i;B3(i[f+64>>2]),i[f+64>>2]=0}return 0}return f}function Pk(f,e,r,A,k,n,t,o,u,h,w,_,v){var Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0;p=B,D=p,p=p-19808&-32,B=p,Z=A,A=i[e+16856>>2],C=m(Z,2/(A|0)|0),n=((n|0)/(A|0)|0)+(C>>3)|0,W=i[e+16852>>2],Z=m(2/(W|0)|0,r),r=((k|0)/(W|0)|0)+(Z>>3)|0,k=i[e+488>>2]/(A|0)|0,A=i[e+484>>2]/(W|0)|0;i:{W=Z&7,Z=C&7;r:{if(!(W|Z)){if(e=i[e+16840>>2],!((r|0)<0|(A|0)<(r+w|0)|((n|0)<0|(k|0)<(n+_|0)))){if(e=((r<<1)+u|0)+(m(n,h)<<1)|0,(v|0)<=8){V[i[f+204>>2]](t,o,e,h,w,_,0,0,0),B=D;return}V[i[f+284>>2]](t,o,e,h,w,_,0,0,0,v),B=D;return}if((_|0)<=0|(w|0)<=0)break r;for(v=14-e|0,E=k-1|0,p=A-1|0,J=w&2147483646,R=w&1,f=0;;){if(e=f+n|0,W=(m((e|0)>=0?(e|0)<(k|0)?e:E:0,h)<<1)+u|0,C=(m(f,o)<<1)+t|0,e=0,y=0,(w|0)!=1)for(;Z=e+r|0,X[C+(e<<1)>>1]=Q[W+(((Z|0)>=0?(A|0)>(Z|0)?Z:p:0)<<1)>>1]<<v,I=e|1,Z=I+r|0,X[C+(I<<1)>>1]=Q[W+(((Z|0)>=0?(A|0)>(Z|0)?Z:p:0)<<1)>>1]<<v,e=e+2|0,y=y+2|0,(J|0)!=(y|0););if(R&&(Z=C+(e<<1)|0,e=e+r|0,X[Z>>1]=Q[W+(((e|0)>=0?(e|0)<(A|0)?e:p:0)<<1)>>1]<<v),f=f+1|0,(_|0)==(f|0))break}break r}e:{if(!((r|0)<=0|(r+w|0)>(A-2|0)|((n|0)<=0|(n+_|0)>(k-2|0)))){e=((r<<1)+u|0)+(m(n,h)<<1)|0;break e}if(!((_|0)<-2|(w|0)<-2))for(C=-1,H=k-1|0,y=A-1|0,e=_+2|0,a=(e|0)>0?e:0,e=w+3|0,S=e&-2,q=e&1;;){if(e=n+C|0,E=(m((e|0)>=0?(e|0)<(k|0)?e:H:0,h)<<1)+u|0,J=m(C,80)+80|0,e=-1,R=0,(w|0)!=-2)for(;z=e+1|0,I=e+r|0,X[p+(J+z<<1)>>1]=Q[E+(((I|0)>=0?(A|0)>(I|0)?I:y:0)<<1)>>1],e=e+2|0,I=r+z|0,X[p+(J+e<<1)>>1]=Q[E+(((I|0)>=0?(A|0)>(I|0)?I:y:0)<<1)>>1],R=R+2|0,(S|0)!=(R|0););if(q&&(I=p+(e+J<<1)|0,e=e+r|0,X[I+2>>1]=Q[E+(((e|0)>=0?(e|0)<(A|0)?e:y:0)<<1)>>1]),C=C+1|0,(a|0)==(C|0))break}h=80,e=p+162|0}A=(((v|0)<9?44:124)+f|0)+172|0;e:{if(!(!W|!Z)||(r=(v|0)<9,A=((r?36:116)+f|0)+172|0,W))break e;if(!Z)break i;W=0,A=((r?40:120)+f|0)+172|0}r=A,V[i[r>>2]](t,o,e,h,w,_,W,Z,p+10720|0,v)}B=D;return}C0(9349,13964,269,14609),P()}function nw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0;k=B+-64|0,B=k,ct(i[e>>2]),i[r>>2]=0,A=i[19373],n=i[19372];i:{r:{for(;;){e:{if(i[k+44>>2]=0,Ak(i[e>>2],k+44|0))break e;if(o=H9(i[e>>2]),o){if(A=i[r>>2],A&&G4(A),A=i[o+20>>2],p=A,QA(k+52|0,i[i[10336]+o>>2],i[i[10339]+o>>2],!A<<1,A,r),A=i[k+52>>2],A){t=i[k+60>>2],u=i[k+56>>2];break r}for(n=0,_=i[i[o+124>>2]+i[10342]>>2],W=(_+7|0)/8|0;;){if(n>>>0<=2?A=i[i[o+124>>2]+i[(n<<2)+41368>>2]>>2]:A=0,(A|0)!=(_|0)){G4(i[r>>2]),t=12169,A=4,u=3003;break r}t=41328,v=U9(o,n,k+48|0),u=129,A=7;A:{if(h=n>>>0<=2?i[i[(n<<2)+41344>>2]+o>>2]:0,w=n>>>0<=2?i[i[(n<<2)+41356>>2]+o>>2]:0,!((h|0)<=0|(w|0)<=0)){if(u=i[(n<<2)+41332>>2],Z3(k+52|0,i[r>>2],u,h,w,_),A=i[k+52>>2],!A)break A;u=i[k+56>>2],t=i[k+60>>2]}G4(i[r>>2]);break r}if(t=m(h,W),A=0,h=T6(i[r>>2],u,k+52|0),(w|0)!=1)for(C=w&2147483646,u=0;l0(h+m(i[k+52>>2],A)|0,m(i[k+48>>2],A)+v|0,t),Z=A|1,l0(h+m(Z,i[k+52>>2])|0,m(i[k+48>>2],Z)+v|0,t),A=A+2|0,u=u+2|0,(C|0)!=(u|0););if(w&1&&l0(h+m(i[k+52>>2],A)|0,m(i[k+48>>2],A)+v|0,t),!(p&&(A=n>>>0<2,n=n+1|0,A)))break}if(A=gt(),cA(f,A,s[i[o+124>>2]+9018|0]),i[f>>2]){if(s[e+4|0]==1){G(A),G4(i[r>>2]),i[r>>2]=0;break i}t=i[r>>2],i[k+40>>2]=i[f+8>>2],n=i[f+4>>2],i[k+32>>2]=i[f>>2],i[k+36>>2]=n,Dr(t,k+32|0)}if(i3(f,A,s[i[o+124>>2]+9019|0]),i[f>>2]){if(s[e+4|0]==1){G(A),G4(i[r>>2]),i[r>>2]=0;break i}t=i[r>>2],i[k+24>>2]=i[f+8>>2],n=i[f+4>>2],i[k+16>>2]=i[f>>2],i[k+20>>2]=n,Dr(t,k+16|0)}if(dA(f,A,s[i[o+124>>2]+9020|0]),i[f>>2]){if(s[e+4|0]==1){G(A),G4(i[r>>2]),i[r>>2]=0;break i}t=i[r>>2],i[k+8>>2]=i[f+8>>2],n=i[f+4>>2],i[k>>2]=i[f>>2],i[k+4>>2]=n,Dr(t,k)}n=0,l[A+16|0]=s[i[o+124>>2]+9016|0]!=0,s7(k+52|0,i[r>>2],A),G(A),tt(i[e>>2]),A=41320}if(i[k+44>>2])continue}break}i[f>>2]=0,i[f+4>>2]=n,i[f+8>>2]=A;break i}i[f>>2]=A,i[f+4>>2]=u,i[f+8>>2]=t}B=k- -64|0}function Lk(f,e,r,A,k,n,t,o,u,h,w,_,v,Z,p){var W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0;for(E=B-16|0,B=E,i[r>>2]=f,D=o?4:0,z=A&512;;){if((J|0)==4)s[Z+11|0]>>>7|0?k=i[Z+4>>2]:k=s[Z+11|0]&127,k>>>0>1&&(a=E,S=C4(Z),i[a+12>>2]=S,a=r,S=k9(J3(E+12|0,1),a8(Z),i[r>>2]),i[a>>2]=S),A=A&176,(A|0)!=16&&((A|0)==32&&(f=i[r>>2]),i[e>>2]=f),B=E+16|0;else{i:{r:switch(s[u+J|0]){case 0:i[e>>2]=i[r>>2];break i;case 1:i[e>>2]=i[r>>2],o=V[i[i[t>>2]+44>>2]](t,32)|0,W=i[r>>2],i[r>>2]=W+4,i[W>>2]=o;break i;case 3:if(s[Z+11|0]>>>7|0?o=i[Z+4>>2]:o=s[Z+11|0]&127,!o)break i;s[Z+11|0]>>>7|0?o=i[Z>>2]:o=Z,o=i[o>>2],W=i[r>>2],i[r>>2]=W+4,i[W>>2]=o;break i;case 2:if(s[v+11|0]>>>7|0?o=i[v+4>>2]:o=s[v+11|0]&127,o=!o,o|!z)break i;a=r,S=k9(C4(v),a8(v),i[r>>2]),i[a>>2]=S;break i;case 4:break r;default:break i}for(H=i[r>>2],k=k+D|0,o=k;;){r:{if(n>>>0<=o>>>0||!(V[i[i[t>>2]+12>>2]](t,64,i[o>>2])|0))break r;o=o+4|0;continue}break}if((p|0)>0){for(W=i[r>>2],C=p;;){if(!(!C|k>>>0>=o>>>0)){C=C-1|0,o=o-4|0,y=i[o>>2],I=W+4|0,i[r>>2]=I,i[W>>2]=y,W=I;continue}break}r:{if(!C){I=0;break r}I=V[i[i[t>>2]+44>>2]](t,48)|0,W=i[r>>2]}for(;;){if(y=W+4|0,(C|0)>0){i[W>>2]=I,C=C-1|0,W=y;continue}break}i[r>>2]=y,i[W>>2]=h}r:{if((k|0)==(o|0)){W=V[i[i[t>>2]+44>>2]](t,48)|0,C=i[r>>2],o=C+4|0,i[r>>2]=o,i[C>>2]=W;break r}for(s[_+11|0]>>>7|0?W=i[_>>2]:W=_,I=l[W|0],s[_+11|0]>>>7|0?W=i[_+4>>2]:W=s[_+11|0]&127,I=W?I:-1,W=0,y=0;;){if((k|0)!=(o|0)){e:{if((W|0)!=(I|0)){C=W;break e}if(C=i[r>>2],i[r>>2]=C+4,i[C>>2]=w,C=0,s[_+11|0]>>>7|0?I=i[_+4>>2]:I=s[_+11|0]&127,y=y+1|0,I>>>0<=y>>>0){I=W;break e}if(s[_+11|0]>>>7|0?W=i[_>>2]:W=_,s[W+y|0]==127){I=-1;break e}s[_+11|0]>>>7|0?W=i[_>>2]:W=_,I=l[W+y|0]}o=o-4|0,W=i[o>>2],R=i[r>>2],i[r>>2]=R+4,i[R>>2]=W,W=C+1|0;continue}break}o=i[r>>2]}te(H,o)}J=J+1|0;continue}break}}function Er(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;if(!f)return Z2(e);if(e>>>0>=4294967232)return i[23944]=48,0;n=e>>>0<11?16:e+11&-8,u=f-8|0,h=i[u+4>>2],k=h&-8;i:{if(!(h&3)){if(n>>>0<256||k>>>0>=n+4>>>0&&(r=u,k-n>>>0<=i[24374]<<1>>>0))break i;r=0;break i}t=k+u|0;r:{if(k>>>0>=n>>>0){if(A=k-n|0,A>>>0<16)break r;i[u+4>>2]=h&1|n|2,r=n+u|0,i[r+4>>2]=A|3,i[t+4>>2]=i[t+4>>2]|1,Xr(r,A);break r}if(i[24260]==(t|0)){if(k=k+i[24257]|0,k>>>0<=n>>>0)break i;i[u+4>>2]=h&1|n|2,A=n+u|0,r=k-n|0,i[A+4>>2]=r|1,i[24257]=r,i[24260]=A;break r}if(i[24259]==(t|0)){if(k=k+i[24256]|0,k>>>0<n>>>0)break i;r=k-n|0;e:{if(r>>>0>=16){i[u+4>>2]=h&1|n|2,A=n+u|0,i[A+4>>2]=r|1,k=k+u|0,i[k>>2]=r,i[k+4>>2]=i[k+4>>2]&-2;break e}i[u+4>>2]=k|h&1|2,r=k+u|0,i[r+4>>2]=i[r+4>>2]|1,r=0}i[24259]=A,i[24256]=r;break r}if(A=i[t+4>>2],A&2||(w=k+(A&-8)|0,w>>>0<n>>>0))break i;v=w-n|0,o=i[t+12>>2];e:{if(A>>>0<=255){if(r=i[t+8>>2],(r|0)==(o|0)){Z=97016,p=i[24254]&a0(-2,A>>>3|0),i[Z>>2]=p;break e}i[r+12>>2]=o,i[o+8>>2]=r;break e}_=i[t+24>>2];A:{if((t|0)!=(o|0)){r=i[t+8>>2],i[r+12>>2]=o,i[o+8>>2]=r;break A}f:{if(r=i[t+20>>2],r)A=t+20|0;else{if(r=i[t+16>>2],!r)break f;A=t+16|0}for(;k=A,o=r,A=r+20|0,r=i[r+20>>2],!(!r&&(A=o+16|0,r=i[o+16>>2],!r)););i[k>>2]=0;break A}o=0}if(!_)break e;A=i[t+28>>2],r=(A<<2)+97320|0;A:{if(i[r>>2]==(t|0)){if(i[r>>2]=o,o)break A;Z=97020,p=i[24255]&a0(-2,A),i[Z>>2]=p;break e}if(i[(i[_+16>>2]==(t|0)?16:20)+_>>2]=o,!o)break e}if(i[o+24>>2]=_,r=i[t+16>>2],r&&(i[o+16>>2]=r,i[r+24>>2]=o),r=i[t+20>>2],!r)break e;i[o+20>>2]=r,i[r+24>>2]=o}if(v>>>0<=15){i[u+4>>2]=h&1|w|2,r=u+w|0,i[r+4>>2]=i[r+4>>2]|1;break r}i[u+4>>2]=h&1|n|2,A=n+u|0,i[A+4>>2]=v|3,r=u+w|0,i[r+4>>2]=i[r+4>>2]|1,Xr(A,v)}r=u}return r?r+8|0:(A=Z2(e),A?(r=i[f-4>>2],r=(r&3?-4:-8)+(r&-8)|0,l0(A,f,e>>>0>r>>>0?r:e),G(f),A):0)}function tw(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0,v=0;if(f=B-448|0,B=f,i[f+440>>2]=r,i[f+444>>2]=e,i[f+20>>2]=1095,h=f+20|0,w=o1(f+24|0,f+32|0,h),o=f+16|0,e=i[k+28>>2],i[o>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(o,100184),l[f+15|0]=0,Xk(f+444|0,r,A,o,i[k+4>>2],n,f+15|0,e,w,h,f+432|0)){r=B-16|0,B=r;i:if(s[t+11|0]>>>7|0)break i;i:{if(s[t+11|0]>>>7|0){A=i[t>>2],i[r+12>>2]=0,i[A>>2]=i[r+12>>2],i[t+4>>2]=0;break i}i[r+8>>2]=0,i[t>>2]=i[r+8>>2],l[t+11|0]=s[t+11|0]&128,l[t+11|0]=s[t+11|0]&127}for(B=r+16|0,s[f+15|0]==1&&KA(t,V[i[i[e>>2]+44>>2]](e,45)|0),e=V[i[i[e>>2]+44>>2]](e,48)|0,r=i[w>>2],u=i[f+20>>2],A=u-4|0;;){if(!((e|0)!=i[r>>2]|r>>>0>=A>>>0)){r=r+4|0;continue}break}h=B-16|0,B=h,s[t+11|0]>>>7|0?A=i[t+4>>2]:A=s[t+11|0]&127,k=s[t+11|0]>>>7|0?(i[t+8>>2]&2147483647)-1|0:1,e=u-r>>2;i:{if(!e)break i;if(s[t+11|0]>>>7|0?o=i[t>>2]:o=t,v=o,s[t+11|0]>>>7|0?o=i[t>>2]:o=t,s[t+11|0]>>>7|0?_=i[t+4>>2]:_=s[t+11|0]&127,!c9(v,(o+(_<<2)|0)+4|0,r)){for(e>>>0>k-A>>>0&&Z7(t,k,e+(A-k|0)|0,A,A),s[t+11|0]>>>7|0?k=i[t>>2]:k=t,k=k+(A<<2)|0;;){if((r|0)!=(u|0)){i[k>>2]=i[r>>2],r=r+4|0,k=k+4|0;continue}break}i[h+4>>2]=0,i[k>>2]=i[h+4>>2],wi(t,e+A|0);break i}e=B-16|0,B=e,A=h+4|0,F7(A,r,u),B=e+16|0,s[A+11|0]>>>7|0?r=i[A>>2]:r=A,u=B-16|0,B=u,s[A+11|0]>>>7|0?e=i[A+4>>2]:e=s[A+11|0]&127,o=s[t+11|0]>>>7|0?(i[t+8>>2]&2147483647)-1|0:1,s[t+11|0]>>>7|0?k=i[t+4>>2]:k=s[t+11|0]&127;r:{if(e>>>0<=o-k>>>0){if(!e)break r;o=r,s[t+11|0]>>>7|0?r=i[t>>2]:r=t,ui(o,e,r+(k<<2)|0),e=e+k|0,wi(t,e),i[u+12>>2]=0,i[r+(e<<2)>>2]=i[u+12>>2];break r}r7(t,o,k+(e-o|0)|0,k,k,0,e,r)}B=u+16|0,l1(A)}B=h+16|0}return g2(f+444|0,f+440|0)&&(i[n>>2]=i[n>>2]|2),r=i[f+444>>2],O0(f+16|0),e=i[w>>2],i[w>>2]=0,e&&V[i[w+4>>2]](e),B=f+448|0,r|0}function Kk(f,e,r,A,k,n,t,o,u,h,w,_,v,Z,p){var W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0;for(J=B-16|0,B=J,i[r>>2]=f,z=A&512;;){if((R|0)==4)s[Z+11|0]>>>7|0?k=i[Z+4>>2]:k=s[Z+11|0]&127,k>>>0>1&&(a=J,S=C4(Z),i[a+12>>2]=S,a=r,S=n9(R3(J+12|0,1),S8(Z),i[r>>2]),i[a>>2]=S),A=A&176,(A|0)!=16&&((A|0)==32&&(f=i[r>>2]),i[e>>2]=f),B=J+16|0;else{i:{r:switch(s[u+R|0]){case 0:i[e>>2]=i[r>>2];break i;case 1:i[e>>2]=i[r>>2],W=V[i[i[t>>2]+28>>2]](t,32)|0,C=i[r>>2],i[r>>2]=C+1,l[C|0]=W;break i;case 3:if(s[Z+11|0]>>>7|0?W=i[Z+4>>2]:W=s[Z+11|0]&127,!W)break i;s[Z+11|0]>>>7|0?W=i[Z>>2]:W=Z,W=s[W|0],C=i[r>>2],i[r>>2]=C+1,l[C|0]=W;break i;case 2:if(s[v+11|0]>>>7|0?W=i[v+4>>2]:W=s[v+11|0]&127,W=!W,W|!z)break i;a=r,S=n9(C4(v),S8(v),i[r>>2]),i[a>>2]=S;break i;case 4:break r;default:break i}for(H=i[r>>2],k=k+o|0,I=k;;){r:{if(n>>>0<=I>>>0||(W=l[I|0],(W|0)>=0?W=(i[i[t+8>>2]+(W<<2)>>2]&64)!=0:W=0,!W))break r;I=I+1|0;continue}break}if(W=p,(W|0)>0){for(;;){if(!(!W|k>>>0>=I>>>0)){W=W-1|0,I=I-1|0,C=s[I|0],y=i[r>>2],i[r>>2]=y+1,l[y|0]=C;continue}break}for(W?C=V[i[i[t>>2]+28>>2]](t,48)|0:C=0;;){if(y=i[r>>2],i[r>>2]=y+1,(W|0)>0){l[y|0]=C,W=W-1|0;continue}break}l[y|0]=h}r:{if((k|0)==(I|0)){W=V[i[i[t>>2]+28>>2]](t,48)|0,C=i[r>>2],i[r>>2]=C+1,l[C|0]=W;break r}for(s[_+11|0]>>>7|0?W=i[_>>2]:W=_,C=l[W|0],s[_+11|0]>>>7|0?W=i[_+4>>2]:W=s[_+11|0]&127,C=W?C:-1,W=0,E=0;;){if((k|0)==(I|0))break r;e:{if((W|0)!=(C|0)){y=W;break e}if(C=i[r>>2],i[r>>2]=C+1,l[C|0]=w,y=0,s[_+11|0]>>>7|0?C=i[_+4>>2]:C=s[_+11|0]&127,E=E+1|0,C>>>0<=E>>>0){C=W;break e}if(s[_+11|0]>>>7|0?W=i[_>>2]:W=_,s[W+E|0]==127){C=-1;break e}s[_+11|0]>>>7|0?W=i[_>>2]:W=_,C=l[W+E|0]}I=I-1|0,W=s[I|0],D=i[r>>2],i[r>>2]=D+1,l[D|0]=W,W=y+1|0}}li(H,i[r>>2])}R=R+1|0;continue}break}}function Yr(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0;k=B-192|0,B=k,p=e+36|0,o=f+8|0,u=i[13631],W=u-12|0,C=i[13632]-12|0,I=i[13635]-12|0,h=i[13633],y=h-12|0,E=i[13640],J=i[13639],R=i[13637],D=i[13636],z=i[13634],w=k+28|0,_=k+24|0,H=k+80|0;i:{r:{e:{A:{for(;;){if(n=s[r+20|0],!i[r+16>>2]|n&1)break A;i[k+184>>2]=0,i[k+188>>2]=0,_r(k+160|0,r,k+184|0);f:{if(i[k+160>>2]!=i[19564]){n=i[k+164>>2],i[f>>2]=i[k+160>>2],i[f+4>>2]=n,i[o+8>>2]=i[k+176>>2],n=i[k+172>>2],i[o>>2]=i[k+168>>2],i[o+4>>2]=n,i[k+168>>2]=0,i[k+172>>2]=0,i[k+176>>2]=0,n=1;break f}if(n=i[e+40>>2],n-i[e+36>>2]>>>0>=160001){i[k+16>>2]=h,i[k+24>>2]=54496,i[k+80>>2]=54516,n=k+16|0,i[n+i[y>>2]>>2]=z,i[k+20>>2]=0,t=n+i[i[k+16>>2]-12>>2]|0,b0(t,w),i[t+72>>2]=0,i[t+76>>2]=-1,i[i[I>>2]+_>>2]=D,i[n+i[C>>2]>>2]=R,i[k+80>>2]=54516,i[k+16>>2]=54476,i[k+24>>2]=54496,n=$0(w),i[n>>2]=53552,i[k+68>>2]=0,i[k+72>>2]=0,i[k+60>>2]=0,i[k+64>>2]=0,i[k+76>>2]=24,x(L0(x(_,18757,30),2e4),18069,10),t=k+4|0,i2(t,n),r0(f,6,1e3,t),l[k+15|0]<0&&G(i[k+4>>2]),i[k+16>>2]=u,i[i[W>>2]+(k+16|0)>>2]=J,i[k+24>>2]=E,i[n>>2]=53552,l[k+71|0]<0&&G(i[k+60>>2]),K0(n),T0(H),n=1;break f}k:{if(n>>>0<k0[e+44>>2]){i[n>>2]=i[k+184>>2],i[n+4>>2]=i[k+188>>2],i[k+184>>2]=0,i[k+188>>2]=0,n=n+8|0;break k}n=z2(p,k+184|0)}i[e+40>>2]=n,v=v+1|0,n=(A|0)!=-1&&(v|0)==(A|0)?3:0}l[k+179|0]<0&&G(i[k+168>>2]),t=i[k+188>>2];f:{if(!t||(Z=i[t+4>>2],i[t+4>>2]=Z-1,Z))break f;V[i[i[t>>2]+8>>2]](t),g(t)}if(n)break}if((n|0)!=3)break i;if(!(l[r+20|0]&1))break e;break r}if(n&1)break r}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,l[78275]>=0){f=i[19567],i[o>>2]=i[19566],i[o+4>>2]=f,i[o+8>>2]=i[19568];break i}_0(o,i[19566],i[19567]);break i}if(l[k+16|0]=0,l[k+27|0]=0,r0(f,2,100,k+16|0),l[k+27|0]>=0)break i;G(i[k+16>>2])}B=k+192|0}function qk(f,e,r,A,k,n,t,o,u,h,w,_,v){var Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0;W=B,D=W,W=W-14464&-32,B=W,Z=A,A=i[e+16856>>2],C=m(Z,2/(A|0)|0),n=((n|0)/(A|0)|0)+(C>>3)|0,p=i[e+16852>>2],Z=m(2/(p|0)|0,r),r=((k|0)/(p|0)|0)+(Z>>3)|0,k=i[e+488>>2]/(A|0)|0,A=i[e+484>>2]/(p|0)|0;i:{p=Z&7,Z=C&7;r:{if(!(p|Z)){if(e=i[e+16840>>2],!((r|0)<0|(A|0)<(r+w|0)|((n|0)<0|(k|0)<(n+_|0)))){if(e=(r+u|0)+m(n,h)|0,(v|0)<=8){V[i[f+204>>2]](t,o,e,h,w,_,0,0,0),B=D;return}V[i[f+284>>2]](t,o,e,h,w,_,0,0,0,v),B=D;return}if((_|0)<=0|(w|0)<=0)break r;for(v=14-e|0,E=k-1|0,W=A-1|0,J=w&2147483646,R=w&1,f=0;;){if(e=f+n|0,p=m((e|0)>=0?(e|0)<(k|0)?e:E:0,h)+u|0,C=(m(f,o)<<1)+t|0,e=0,y=0,(w|0)!=1)for(;Z=e+r|0,X[C+(e<<1)>>1]=s[p+((Z|0)>=0?(A|0)>(Z|0)?Z:W:0)|0]<<v,I=e|1,Z=I+r|0,X[C+(I<<1)>>1]=s[p+((Z|0)>=0?(A|0)>(Z|0)?Z:W:0)|0]<<v,e=e+2|0,y=y+2|0,(J|0)!=(y|0););if(R&&(Z=C+(e<<1)|0,e=e+r|0,X[Z>>1]=s[p+((e|0)>=0?(e|0)<(A|0)?e:W:0)|0]<<v),f=f+1|0,(_|0)==(f|0))break}break r}e:{if(!((r|0)<=0|(r+w|0)>(A-2|0)|((n|0)<=0|(n+_|0)>(k-2|0)))){e=(r+u|0)+m(n,h)|0;break e}if(!((_|0)<-2|(w|0)<-2))for(C=-1,a=k-1|0,y=A-1|0,e=_+2|0,S=(e|0)>0?e:0,e=w+3|0,q=e&-2,d=e&1;;){if(e=n+C|0,E=m((e|0)>=0?(e|0)<(k|0)?e:a:0,h)+u|0,J=m(C,80)+80|0,e=-1,R=0,(w|0)!=-2)for(;z=W+16|0,H=e+1|0,I=e+r|0,l[z+(J+H|0)|0]=s[E+((I|0)>=0?(A|0)>(I|0)?I:y:0)|0],e=e+2|0,I=r+H|0,l[(J+e|0)+z|0]=s[E+((I|0)>=0?(A|0)>(I|0)?I:y:0)|0],R=R+2|0,(q|0)!=(R|0););if(d&&(I=W+(e+J|0)|0,e=e+r|0,l[I+17|0]=s[E+((e|0)>=0?(e|0)<(A|0)?e:y:0)|0]),C=C+1|0,(S|0)==(C|0))break}h=80,e=W+97|0}A=(((v|0)<9?44:124)+f|0)+172|0;e:{if(!(!p|!Z)||(r=(v|0)<9,A=((r?36:116)+f|0)+172|0,p))break e;if(!Z)break i;p=0,A=((r?40:120)+f|0)+172|0}r=A,V[i[r>>2]](t,o,e,h,w,_,p,Z,W+5376|0,v)}B=D;return}C0(9349,13964,269,14609),P()}function $k(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;t=B-80|0,B=t;i:{if(!k||!e|!A){i[f>>2]=5,i[f+4>>2]=2001,i[f+8>>2]=3104;break i}if((r|0)<=0){i[f>>2]=5,i[f+4>>2]=2006,i[f+8>>2]=9064;break i}h=U(48),o=h,i[o+4>>2]=0,i[o+8>>2]=0,i[o>>2]=72912,e=W3(o+16|0,e,r,0),i[t+52>>2]=o,i[t+48>>2]=e,i[o+4>>2]=i[o+4>>2]+1,e=i[t+52>>2],i[t>>2]=i[t+48>>2],i[t+4>>2]=e,v=_e(t+56|0,t,r,0),i[t+40>>2]=0,i[t+44>>2]=0,_r(t+20|0,v,t+40|0);r:{if(r=i[t+20>>2],r){if(e=i[t+24>>2],i[f>>2]=r,(e|0)==100){i[f+4>>2]=100,i[f+8>>2]=14458;break r}i[f+4>>2]=e,i[f+8>>2]=1995;break r}e:{A:{if(e=i[t+40>>2],!e||(n=N0(e,68572,68764),!n))break A;if(o=i[t+44>>2],o&&(i[o+4>>2]=i[o+4>>2]+1),e=0,i[t+16>>2]=0,i[t+8>>2]=0,i[t+12>>2]=0,r=0,w=i[n+60>>2],n=i[n+56>>2],(w|0)!=(n|0)){if(e=w-n|0,(e|0)<0)break e;r=U(e),e=l0(r,n,e)+e|0}u=A,n=e-r|0,A=Z2(n),i[u>>2]=A,n=n>>2,i[k>>2]=n;f:{k:{if((e|0)!=(r|0)){if(u=n>>>0<=1?1:n,w=u&3,k=0,e=0,n>>>0>=4)for(Z=u&-4,u=0;n=e<<2,i[n+A>>2]=i[r+n>>2],_=n|4,i[_+A>>2]=i[r+_>>2],_=n|8,i[_+A>>2]=i[r+_>>2],n=n|12,i[n+A>>2]=i[r+n>>2],e=e+4|0,u=u+4|0,(Z|0)!=(u|0););if(w)for(;n=e<<2,i[n+A>>2]=i[r+n>>2],e=e+1|0,k=k+1|0,(w|0)!=(k|0););e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412];break k}if(e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],!r)break f}G(r)}if(!o||(f=i[o+4>>2],i[o+4>>2]=f-1,f))break r;V[i[i[o>>2]+8>>2]](o),g(o);break r}i[f>>2]=2,i[f+4>>2]=102,i[f+8>>2]=2018;break r}y0(),P()}l[t+39|0]<0&&G(i[t+28>>2]),f=i[t+44>>2];r:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[v+4>>2];r:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=i[h+4>>2],i[h+4>>2]=f-1,f)break i;V[i[i[h>>2]+8>>2]](h),g(h)}B=t+80|0}function ow(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0;n=B-32|0,B=n;i:{if(!(k&&e)){i[f>>2]=5,i[f+4>>2]=2006,i[f+8>>2]=12607;break i}u=i[e>>2],h=i[u+48>>2],t=i[u+52>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,I1(n,h,r,n+20|0);r:{if(i[n>>2]){P0(f,n,i[e>>2]);break r}if(e=A-1|0,r=i[n+20>>2],e>>>0>=i[n+24>>2]-r>>3>>>0){i[f>>2]=5,i[f+4>>2]=2007,i[f+8>>2]=10388;break r}e:{if(r=r+(e<<3)|0,e=i[r>>2],!e||(e=N0(e,68572,69952),!e))break e;if(o=i[r+4>>2],o){if(i[o+4>>2]=i[o+4>>2]+1,r=U(48),i[k>>2]=r,A=e- -64|0,w=i[A>>2],_=i[A+4>>2],v=i[e+72>>2],Z=i[e+76>>2],p=i[e+80>>2],W=i[e+84>>2],C=i[e+88>>2],u=i[e+92>>2],h=i[e+56>>2],k=i[e+60>>2],A=i[e+100>>2],i[r+40>>2]=i[e+96>>2],i[r+44>>2]=A,i[r+32>>2]=C,i[r+36>>2]=u,i[r+24>>2]=p,i[r+28>>2]=W,i[r+16>>2]=v,i[r+20>>2]=Z,i[r+8>>2]=w,i[r+12>>2]=_,i[r>>2]=h,i[r+4>>2]=k,i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,f=i[o+4>>2],i[o+4>>2]=f-1,f)break r;V[i[i[o>>2]+8>>2]](o),g(o);break r}r=U(48),i[k>>2]=r,A=e- -64|0,w=i[A>>2],_=i[A+4>>2],v=i[e+72>>2],Z=i[e+76>>2],p=i[e+80>>2],W=i[e+84>>2],C=i[e+88>>2],u=i[e+92>>2],h=i[e+56>>2],k=i[e+60>>2],A=i[e+100>>2],i[r+40>>2]=i[e+96>>2],i[r+44>>2]=A,i[r+32>>2]=C,i[r+36>>2]=u,i[r+24>>2]=p,i[r+28>>2]=W,i[r+16>>2]=v,i[r+20>>2]=Z,i[r+8>>2]=w,i[r+12>>2]=_,i[r>>2]=h,i[r+4>>2]=k,i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e;break r}i[f>>2]=5,i[f+4>>2]=2007,i[f+8>>2]=9699}if(l[n+19|0]<0&&G(i[n+8>>2]),r=i[n+20>>2],r){if(f=r,e=i[n+24>>2],(r|0)!=(e|0)){for(;;){A=i[e-4>>2];r:{if(!A||(f=i[A+4>>2],i[A+4>>2]=f-1,f))break r;V[i[i[A>>2]+8>>2]](A),g(A)}if(e=e-8|0,(r|0)==(e|0))break}f=i[n+20>>2]}i[n+24>>2]=r,G(f)}if(!t||(f=i[t+4>>2],i[t+4>>2]=f-1,f))break i;V[i[i[t>>2]+8>>2]](t),g(t)}B=n+32|0}function lw(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0,v=0;if(f=B-144|0,B=f,i[f+136>>2]=r,i[f+140>>2]=e,i[f+20>>2]=1095,h=f+20|0,w=o1(f+24|0,f+32|0,h),o=f+16|0,e=i[k+28>>2],i[o>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(o,100192),l[f+15|0]=0,pk(f+140|0,r,A,o,i[k+4>>2],n,f+15|0,e,w,h,f+132|0)){r=B-16|0,B=r;i:if(s[t+11|0]>>>7|0)break i;i:{if(s[t+11|0]>>>7|0){A=i[t>>2],l[r+15|0]=0,l[A|0]=s[r+15|0],i[t+4>>2]=0;break i}l[r+14|0]=0,l[t|0]=s[r+14|0],l[t+11|0]=s[t+11|0]&128,l[t+11|0]=s[t+11|0]&127}for(B=r+16|0,s[f+15|0]==1&&C6(t,V[i[i[e>>2]+28>>2]](e,45)|0),e=V[i[i[e>>2]+28>>2]](e,48)|0,r=i[w>>2],u=i[f+20>>2],A=u-1|0,e=e&255;;){if(!((e|0)!=s[r|0]|r>>>0>=A>>>0)){r=r+1|0;continue}break}h=B-16|0,B=h,s[t+11|0]>>>7|0?A=i[t+4>>2]:A=s[t+11|0]&127,k=s[t+11|0]>>>7|0?(i[t+8>>2]&2147483647)-1|0:10,e=u-r|0;i:{if(!e)break i;if(s[t+11|0]>>>7|0?o=i[t>>2]:o=t,v=o,s[t+11|0]>>>7|0?o=i[t>>2]:o=t,s[t+11|0]>>>7|0?_=i[t+4>>2]:_=s[t+11|0]&127,!c9(v,(o+_|0)+1|0,r)){for(e>>>0>k-A>>>0&&HA(t,k,e+(A-k|0)|0,A,A),s[t+11|0]>>>7|0?k=i[t>>2]:k=t,k=k+A|0;;){if((r|0)!=(u|0)){l[k|0]=s[r|0],r=r+1|0,k=k+1|0;continue}break}l[h+15|0]=0,l[k|0]=s[h+15|0],wi(t,e+A|0);break i}A=j3(h,r,u);r:{if(s[A+11|0]>>>7|0){r=i[A>>2];break r}r=A}u=B-16|0,B=u,s[A+11|0]>>>7|0?e=i[A+4>>2]:e=s[A+11|0]&127,o=s[t+11|0]>>>7|0?(i[t+8>>2]&2147483647)-1|0:10,s[t+11|0]>>>7|0?k=i[t+4>>2]:k=s[t+11|0]&127;r:{if(e>>>0<=o-k>>>0){if(!e)break r;o=r,s[t+11|0]>>>7|0?r=i[t>>2]:r=t,e8(o,e,r+k|0),e=e+k|0,wi(t,e),l[u+15|0]=0,l[e+r|0]=s[u+15|0];break r}Pr(t,o,k+(e-o|0)|0,k,k,0,e,r)}B=u+16|0,z0(A)}B=h+16|0}return J2(f+140|0,f+136|0)&&(i[n>>2]=i[n>>2]|2),r=i[f+140>>2],O0(f+16|0),e=i[w>>2],i[w>>2]=0,e&&V[i[w+4>>2]](e),B=f+144|0,r|0}function QA(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0;u=B-16|0,B=u;i:{if(!n){i[f>>2]=5,i[f+4>>2]=2001,i[f+8>>2]=17605;break i}A|k||(x(98900,30633,136),A=2);r:{e:{A:switch(A|0){case 0:o=U(12),i[u+4>>2]=o,t=o+12|0,i[u+12>>2]=t,i[o+8>>2]=3,i[o>>2]=1,i[o+4>>2]=2;break e;case 1:o=U(28),i[u+4>>2]=o,t=o+28|0,i[u+12>>2]=t,i[o+24>>2]=i[8847],h=i[8846],i[o+16>>2]=i[8845],i[o+20>>2]=h,h=i[8844],i[o+8>>2]=i[8843],i[o+12>>2]=h,h=i[8842],i[o>>2]=i[8841],i[o+4>>2]=h;break e;case 2:o=U(4),i[u+4>>2]=o,t=o+4|0,i[u+12>>2]=t,i[o>>2]=0;break e;default:break A}i[u+12>>2]=0,i[u+4>>2]=0,i[u+8>>2]=0;break r}i[u+8>>2]=t}o=i[u+4>>2],t=o;r:{e:{A:{f:{if(h=i[u+8>>2],(h|0)==(t|0))break f;for(;;){if(i[t>>2]==(k|0))break f;if(t=t+4|0,(h|0)==(t|0))break}break A}if((t|0)!=(h|0))break e}i[n>>2]=0,i[f+8>>2]=17654,i[f>>2]=5,i[f+4>>2]=2006;break r}h=U(8),t=h,i[t>>2]=0,i[t+4>>2]=0,t=U(136),i[t>>2]=72792,i[t+4>>2]=0,i[t+8>>2]=0,B0(t+20|0,0,104),o=i[t+4>>2],_=o+1|0,i[t+4>>2]=_,i[t+56>>2]=0,i[t+60>>2]=0,i[t+44>>2]=99,i[t+48>>2]=99,i[t+32>>2]=37837,w=t- -64|0,i[w>>2]=0,i[w+4>>2]=0,i[t+132>>2]=0,i[t+124>>2]=0,i[t+128>>2]=0,i[t+84>>2]=1,i[t+88>>2]=1,i[t+72>>2]=t+76,i[t+92>>2]=0,i[t+96>>2]=0,i[t+100>>2]=0,i[t+104>>2]=0,i[t+108>>2]=0,i[t+112>>2]=0,l[t+113|0]=0,l[t+114|0]=0,l[t+115|0]=0,l[t+116|0]=0,l[t+117|0]=0,l[t+118|0]=0,l[t+119|0]=0,l[t+120|0]=0,w=t+12|0,i[t+12>>2]=w,i[t+8>>2]=i[t+8>>2]+1,i[t+4>>2]=o,i[t+16>>2]=t,_||(V[i[i[t>>2]+8>>2]](t),g(t)),i[h>>2]=w,o=i[h+4>>2],i[h+4>>2]=t;e:{if(!o||(t=i[o+4>>2],i[o+4>>2]=t-1,t))break e;V[i[i[o>>2]+8>>2]](o),g(o)}t=i[h>>2],i[t+36>>2]=k,i[t+32>>2]=A,i[t+28>>2]=r,i[t+24>>2]=e,i[n>>2]=h,i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,o=i[u+4>>2]}if(!o)break i;i[u+8>>2]=o,G(o)}B=u+16|0}function uw(f,e,r,A,k,n,t,o,u){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0;var h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;f=B-1056|0,B=f,i[f+16>>2]=n,i[f+20>>2]=t,i[f+24>>2]=o,i[f+28>>2]=u,h=f+944|0,i[f+940>>2]=h,h=I8(h,100,8817,f+16|0),i[f+528>>2]=1094,w=f+528|0,Z=o1(f+520|0,0,w),i[f+528>>2]=1094,_=o1(f+512|0,0,w);i:{if(h>>>0>=100&&(h=M2(),i[f>>2]=n,i[f+4>>2]=t,i[f+8>>2]=o,i[f+12>>2]=u,h=c4(f+940|0,h,8817,f),(h|0)==-1||(n=i[Z>>2],i[Z>>2]=i[f+940>>2],n&&V[i[Z+4>>2]](n),t=Z2(h<<2),n=i[_>>2],i[_>>2]=t,n&&V[i[_+4>>2]](n),w=i[_>>2],!w)))break i;t=f+508|0,n=i[A+28>>2],i[t>>2]=n,(n|0)!=100008&&(i[n+4>>2]=i[n+4>>2]+1),I=x0(t,100184),n=I,t=i[f+940>>2],V[i[i[n>>2]+48>>2]](n,t,t+h|0,w)|0,C=(h|0)>0?s[i[f+940>>2]]==45:C,t=B-16|0,B=t,n=f+484|0,i[n>>2]=0,i[n+4>>2]=0,i[n+8>>2]=0,B=t+16|0,t=B-16|0,B=t,o=f+472|0,i[o>>2]=0,i[o+4>>2]=0,i[o+8>>2]=0,B=t+16|0,t=B-16|0,B=t,u=f+460|0,i[u>>2]=0,i[u+4>>2]=0,i[u+8>>2]=0,B=t+16|0,Zn(r,C,f+508|0,f+504|0,f+500|0,f+496|0,n,o,u,f+456|0),i[f+48>>2]=1094,r=f+48|0,v=o1(f+40|0,0,r),t=i[f+456>>2];r:{if((t|0)<(h|0)){s[o+11|0]>>>7|0?p=i[o+4>>2]:p=s[o+11|0]&127,s[u+11|0]>>>7|0?W=i[u+4>>2]:W=s[u+11|0]&127,t=(t+(p+(W+(h-t<<1)|0)|0)|0)+1|0;break r}W=i[f+456>>2],s[u+11|0]>>>7|0?t=i[u+4>>2]:t=s[u+11|0]&127,s[o+11|0]>>>7|0?p=i[o+4>>2]:p=s[o+11|0]&127,t=(W+(t+p|0)|0)+2|0}if(t>>>0>=101&&(t=Z2(t<<2),r=i[v>>2],i[v>>2]=t,r&&V[i[v+4>>2]](r),r=i[v>>2],!r))break i;return Lk(r,f+36|0,f+32|0,i[A+4>>2],w,(h<<2)+w|0,I,C,f+504|0,i[f+500>>2],i[f+496>>2],n,o,u,i[f+456>>2]),r=X8(e,r,i[f+36>>2],i[f+32>>2],A,k),e=i[v>>2],i[v>>2]=0,e&&V[i[v+4>>2]](e),l1(u),l1(o),z0(n),O0(f+508|0),e=i[_>>2],i[_>>2]=0,e&&V[i[_+4>>2]](e),e=i[Z>>2],i[Z>>2]=0,e&&V[i[Z+4>>2]](e),B=f+1056|0,r|0}u1(),P()}function sw(f,e,r,A,k,n,t,o,u){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0;var h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;f=B-448|0,B=f,i[f+16>>2]=n,i[f+20>>2]=t,i[f+24>>2]=o,i[f+28>>2]=u,h=f+336|0,i[f+332>>2]=h,h=I8(h,100,8817,f+16|0),i[f+224>>2]=1094,w=f+224|0,Z=o1(f+216|0,0,w),i[f+224>>2]=1094,_=o1(f+208|0,0,w);i:{if(h>>>0>=100&&(h=M2(),i[f>>2]=n,i[f+4>>2]=t,i[f+8>>2]=o,i[f+12>>2]=u,h=c4(f+332|0,h,8817,f),(h|0)==-1||(n=i[Z>>2],i[Z>>2]=i[f+332>>2],n&&V[i[Z+4>>2]](n),t=Z2(h),n=i[_>>2],i[_>>2]=t,n&&V[i[_+4>>2]](n),w=i[_>>2],!w)))break i;t=f+204|0,n=i[A+28>>2],i[t>>2]=n,(n|0)!=100008&&(i[n+4>>2]=i[n+4>>2]+1),I=x0(t,100192),n=I,t=i[f+332>>2],V[i[i[n>>2]+32>>2]](n,t,t+h|0,w)|0,C=(h|0)>0?s[i[f+332>>2]]==45:C,t=B-16|0,B=t,n=f+184|0,i[n>>2]=0,i[n+4>>2]=0,i[n+8>>2]=0,B=t+16|0,t=B-16|0,B=t,o=f+172|0,i[o>>2]=0,i[o+4>>2]=0,i[o+8>>2]=0,B=t+16|0,t=B-16|0,B=t,u=f+160|0,i[u>>2]=0,i[u+4>>2]=0,i[u+8>>2]=0,B=t+16|0,Wn(r,C,f+204|0,f+200|0,f+199|0,f+198|0,n,o,u,f+156|0),i[f+48>>2]=1094,r=f+48|0,v=o1(f+40|0,0,r),t=i[f+156>>2];r:{if((t|0)<(h|0)){s[o+11|0]>>>7|0?p=i[o+4>>2]:p=s[o+11|0]&127,s[u+11|0]>>>7|0?W=i[u+4>>2]:W=s[u+11|0]&127,t=(t+(p+(W+(h-t<<1)|0)|0)|0)+1|0;break r}W=i[f+156>>2],s[u+11|0]>>>7|0?t=i[u+4>>2]:t=s[u+11|0]&127,s[o+11|0]>>>7|0?p=i[o+4>>2]:p=s[o+11|0]&127,t=(W+(t+p|0)|0)+2|0}if(t>>>0>=101&&(t=Z2(t),r=i[v>>2],i[v>>2]=t,r&&V[i[v+4>>2]](r),r=i[v>>2],!r))break i;return Kk(r,f+36|0,f+32|0,i[A+4>>2],w,h+w|0,I,C,f+200|0,l[f+199|0],l[f+198|0],n,o,u,i[f+156>>2]),r=G8(e,r,i[f+36>>2],i[f+32>>2],A,k),e=i[v>>2],i[v>>2]=0,e&&V[i[v+4>>2]](e),z0(u),z0(o),z0(n),O0(f+204|0),e=i[_>>2],i[_>>2]=0,e&&V[i[_+4>>2]](e),e=i[Z>>2],i[Z>>2]=0,e&&V[i[Z+4>>2]](e),B=f+448|0,r|0}u1(),P()}function hw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;k=B-16|0,B=k;i:{if(!(i[e+8>>2]|i[e+12>>2])){if(e=U(32),i[k+4>>2]=e,i[k+8>>2]=30,i[k+12>>2]=-2147483616,r=s[8941]|s[8942]<<8|(s[8943]<<16|s[8944]<<24),A=s[8937]|s[8938]<<8|(s[8939]<<16|s[8940]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+30|0]=0,r=s[8963]|s[8964]<<8|(s[8965]<<16|s[8966]<<24),A=s[8959]|s[8960]<<8|(s[8961]<<16|s[8962]<<24),l[e+22|0]=A,l[e+23|0]=A>>>8,l[e+24|0]=A>>>16,l[e+25|0]=A>>>24,l[e+26|0]=r,l[e+27|0]=r>>>8,l[e+28|0]=r>>>16,l[e+29|0]=r>>>24,r=s[8957]|s[8958]<<8|(s[8959]<<16|s[8960]<<24),A=s[8953]|s[8954]<<8|(s[8955]<<16|s[8956]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[8949]|s[8950]<<8|(s[8951]<<16|s[8952]<<24),A=s[8945]|s[8946]<<8|(s[8947]<<16|s[8948]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,0,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}o=e,u=B2(r)&127,l[o+48|0]=u,A=B2(r),l[e+50|0]=A&31,l[e+49|0]=A>>>5,A=B2(r),l[e+57|0]=A&3,l[e+51|0]=A>>>7,l[e+56|0]=A>>>2&1,l[e+55|0]=A>>>3&1,l[e+54|0]=A>>>4&1,l[e+53|0]=A>>>5&1,l[e+52|0]=A>>>6&1,A=B2(r),n=A>>>4&1,l[e+58|0]=n,n&&(l[e+59|0]=A&15),n=i[e+60>>2],t=i[e+64>>2]-n|0,A=i[r+16>>2];r:{if(t>>>0<A>>>0){L2(e+60|0,A-t|0),n=i[e+60>>2];break r}if(A>>>0>=t>>>0)break r;i[e+64>>2]=A+n}if(D6(r,n,A),s[r+20|0]==1){if(l[k+4|0]=0,l[k+15|0]=0,r0(f,2,100,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+16|0}function ww(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0;for(C=B-16|0,B=C,h=r;;){i:{if((A|0)==(h|0)){h=A;break i}if(!s[h|0])break i;h=h+1|0;continue}break}for(i[o>>2]=n,i[k>>2]=r;;){i:{r:{e:{if((r|0)==(A|0)|(n|0)==(t|0))break e;u=i[e+4>>2],i[C+8>>2]=i[e>>2],i[C+12>>2]=u,I=B-16|0,B=I,i[I+12>>2]=i[f+8>>2],J=S4(I+8|0,I+12|0),p=h-r|0,_=0,Z=B-1040|0,B=Z,u=i[k>>2],i[Z+12>>2]=u,W=n||Z+16|0,v=n?t-n>>2:256;A:{f:{k:{if(!(!u|!v)){for(;;){if(w=p>>>2|0,!(p>>>0>131|w>>>0>=v>>>0)){w=u;break f}if(y=Ok(W,Z+12|0,w>>>0<v>>>0?w:v,e),w=i[Z+12>>2],(y|0)==-1){v=0,_=-1;break k}if(E=(Z+16|0)!=(W|0)?y:0,v=v-E|0,W=(E<<2)+W|0,p=w?(u+p|0)-w|0:0,_=_+y|0,!w)break k;if(u=w,!v)break}break k}w=u}if(!w)break A}if(!v|!p)break A;for(u=_;;){f:{_=B6(W,w,p,e);k:{if(_+2>>>0<=2){n:switch(_+1|0){case 1:i[Z+12>>2]=0;break k;case 0:break A;default:break n}i[e>>2]=0;break k}if(w=i[Z+12>>2]+_|0,i[Z+12>>2]=w,u=u+1|0,v=v-1|0,v)break f}_=u;break A}if(W=W+4|0,p=p-_|0,_=u,!p)break}}n&&(i[k>>2]=i[Z+12>>2]),B=Z+1040|0,u=i[J>>2],u&&(i[23985]=(u|0)==-1?95820:u),B=I+16|0;A:{f:{k:{n:{if((_|0)==-1)for(;;){if(i[o>>2]=n,i[k>>2]==(r|0))break e;t=1;t:{o:{u:switch(e=d9(n,r,h-r|0,C+8|0,i[f+8>>2]),e+2|0){case 0:break f;case 2:break t;case 1:break u;default:break o}i[k>>2]=r;break n}t=e}r=r+t|0,n=i[o>>2]+4|0}if(n=i[o>>2]+(_<<2)|0,i[o>>2]=n,(n|0)==(t|0))break A;if(r=i[k>>2],(A|0)==(h|0)){h=A;continue}if(!d9(n,r,1,e,i[f+8>>2]))break k}f=2;break r}for(i[o>>2]=i[o>>2]+4,r=i[k>>2]+1|0,i[k>>2]=r,h=r;;){if((A|0)==(h|0)){h=A;break i}if(!s[h|0])break i;h=h+1|0}}i[k>>2]=r,f=1;break r}r=i[k>>2]}f=(r|0)!=(A|0)}return B=C+16|0,f|0}n=i[o>>2]}}function _w(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0;n=B+-64|0,B=n;i:{if(!(A&&e)){i[f>>2]=5,i[f+4>>2]=2001,i[f+8>>2]=12607;break i}if(t=U(128),i[t+4>>2]=0,i[t+8>>2]=0,i[t>>2]=71984,o=t+16|0,i[o+8>>2]=0,i[o+12>>2]=0,i[o+16>>2]=0,i[o+20>>2]=0,i[o+24>>2]=0,i[o+28>>2]=0,i[o+32>>2]=0,i[o>>2]=68500,i[t+52>>2]=0,i[t+56>>2]=0,i[t+68>>2]=0,l[t+57|0]=0,l[t+58|0]=0,l[t+59|0]=0,l[t+60|0]=0,l[t+61|0]=0,l[t+62|0]=0,l[t+63|0]=0,l[t+64|0]=0,i[o>>2]=69912,l[t+96|0]=0,i[t+88>>2]=0,i[t+92>>2]=0,i[t+80>>2]=0,i[t+84>>2]=0,i[t+72>>2]=0,i[t+76>>2]=0,i[t+104>>2]=0,i[t+108>>2]=0,i[t+112>>2]=0,i[t+116>>2]=0,i[t+120>>2]=0,i[t+124>>2]=0,i[t+32>>2]=1668114798,u=i[A+44>>2],i[n+48>>2]=i[A+40>>2],i[n+52>>2]=u,u=i[A+36>>2],i[n+40>>2]=i[A+32>>2],i[n+44>>2]=u,u=i[A+28>>2],i[n+32>>2]=i[A+24>>2],i[n+36>>2]=u,u=i[A+20>>2],i[n+24>>2]=i[A+16>>2],i[n+28>>2]=u,u=i[A+12>>2],i[n+16>>2]=i[A+8>>2],i[n+20>>2]=u,u=i[A+4>>2],i[n+8>>2]=i[A>>2],i[n+12>>2]=u,A=i[n+12>>2],i[o+56>>2]=i[n+8>>2],i[o+60>>2]=A,A=i[n+52>>2],i[o+96>>2]=i[n+48>>2],i[o+100>>2]=A,A=i[n+44>>2],i[o+88>>2]=i[n+40>>2],i[o+92>>2]=A,A=i[n+36>>2],i[o+80>>2]=i[n+32>>2],i[o+84>>2]=A,A=i[n+28>>2],i[o+72>>2]=i[n+24>>2],i[o+76>>2]=A,A=i[n+20>>2],u=o- -64|0,i[u>>2]=i[n+16>>2],i[u+4>>2]=A,h=s[n+32|0],w=h6(i0[n+8>>3]),A=h6(i0[n+16>>3]),u=h6(i0[n+24>>3]),A=A>>>0<w>>>0?A:w,u=A>>>0>u>>>0?u:A,i[o+104>>2]=u,A=0,(h|0)==1&&(A=h6(i0[n+40>>3]),u=A>>>0<u>>>0?A:u,i[o+104>>2]=u,A=h6(i0[n+48>>3])),i[o+108>>2]=A,i[o+52>>2]=u<<8|h|A<<16,A=i[e>>2],i[n+60>>2]=t,i[n+56>>2]=o,i[t+4>>2]=i[t+4>>2]+1,e=i[n+60>>2],i[n>>2]=i[n+56>>2],i[n+4>>2]=e,e=Q3(A,r,n,0),k&&(i[k>>2]=e),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],f=i[t+4>>2],i[t+4>>2]=f-1,f)break i;V[i[i[t>>2]+8>>2]](t),g(t)}B=n- -64|0}function l6(f,e,r,A){var k=0,n=0,t=0,o=0,u=0;k=B-160|0,B=k;i:{r:{e:{A:{if((r|A)>=0){if(!A)break e;if(t=K6(i[e+64>>2],i[e+68>>2],A,0),n=w0,!n&r>>>0<=t>>>0|n)break A}i[k+24>>2]=54496,i[k+80>>2]=54516,n=i[13633],i[k+16>>2]=n,t=k+16|0,i[t+i[n-12>>2]>>2]=i[13634],i[k+20>>2]=0,n=i[i[k+16>>2]-12>>2]+t|0,o=k+28|0,b0(n,o),i[n+72>>2]=0,i[n+76>>2]=-1,n=i[13635],i[k+24>>2]=n,u=k+24|0,i[u+i[n-12>>2]>>2]=i[13636],n=i[13632],i[k+16>>2]=n,i[i[n-12>>2]+t>>2]=i[13637],i[k+80>>2]=54516,i[k+16>>2]=54476,i[k+24>>2]=54496,t=$0(o),i[t>>2]=53552,i[k+68>>2]=0,i[k+72>>2]=0,i[k+60>>2]=0,i[k+64>>2]=0,i[k+76>>2]=24,x(n4(x(L0(x(L0(x(u,19153,11),r),2490,1),A),19120,32),i[e+64>>2],i[e+68>>2]),31338,1),e=k+4|0,i2(e,t),r0(f,6,1e3,e),l[k+15|0]<0&&G(i[k+4>>2]),f=i[13631],i[k+16>>2]=f,i[i[f-12>>2]+(k+16|0)>>2]=i[13639],i[k+24>>2]=i[13640],i[t>>2]=53552,l[k+71|0]<0&&G(i[k+60>>2]),K0(t),T0(k+80|0);break i}if(r)break r}if(e=U(24),i[k+16>>2]=e,i[k+20>>2]=20,i[k+24>>2]=-2147483624,r=s[3303]|s[3304]<<8|(s[3305]<<16|s[3306]<<24),A=s[3299]|s[3300]<<8|(s[3301]<<16|s[3302]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+20|0]=0,r=s[3315]|s[3316]<<8|(s[3317]<<16|s[3318]<<24),l[e+16|0]=r,l[e+17|0]=r>>>8,l[e+18|0]=r>>>16,l[e+19|0]=r>>>24,r=s[3311]|s[3312]<<8|(s[3313]<<16|s[3314]<<24),A=s[3307]|s[3308]<<8|(s[3309]<<16|s[3310]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,6,129,k+16|0),l[k+27|0]>=0)break i;G(i[k+16>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+160|0}function vw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;k=B-48|0,B=k,i[k+44>>2]=0,i[k+36>>2]=0,i[k+40>>2]=0;i:{if(!f){f=i[9282],i[k+24>>2]=i[9281],i[k+28>>2]=f,f=i[9280],i[k+16>>2]=i[9279],i[k+20>>2]=f,f=i[9278],i[k+8>>2]=i[9277],i[k+12>>2]=f,ki(k+36|0,k+8|0,k+32|0,6);break i}n=U(4),i[n>>2]=f,f=n+4|0,i[k+44>>2]=f,i[k+36>>2]=n,i[k+40>>2]=f}Ve();i:{if(n=i[19569],(n|0)==78280|i[k+36>>2]==i[k+40>>2])break i;r:{for(;;){e:{f=i[k+36>>2],A=i[k+40>>2];A:{if((f|0)==(A|0))break A;for(_=i[n+16>>2];;){if(v=V[i[_+16>>2]](i[f>>2])|0,!v){if(f=f+4|0,(A|0)!=(f|0))continue;break A}break}if(o>>>0<h>>>0){i[o+4>>2]=v,i[o>>2]=_,o=o+8|0;break A}if(u=o-t>>3,w=u+1|0,w>>>0>=536870912)break e;if(A=h-t|0,f=A>>2,h=A>>>0>=2147483640?536870911:f>>>0>w>>>0?f:w,h){if(h>>>0>=536870912)break r;A=U(h<<3)}else A=0;if(u=A+(u<<3)|0,i[u+4>>2]=v,i[u>>2]=_,f=u,(t|0)!=(o|0))for(;o=o-8|0,w=i[o+4>>2],f=f-8|0,i[f>>2]=i[o>>2],i[f+4>>2]=w,(t|0)!=(o|0););h=A+(h<<3)|0,o=u+8|0,t&&G(t),t=f}A=i[n+4>>2];A:{if(A){for(;;)if(f=A,A=i[f>>2],!A)break A}for(;f=i[n+8>>2],A=i[f>>2]!=(n|0),n=f,!!A;);}if(n=f,(f|0)!=78280)continue;break i}break}L3(4917),P()}_2(),P()}n=o-t>>3;i:{if(!e||(f=0,mk(t,o,(t|0)!=(o|0)?62-($2(n)<<1)|0:0,1),n=(r|0)>(n|0)?n:r,(n|0)<=0))break i;if(n>>>0>=4)for(u=n&2147483644,A=0;i[(f<<2)+e>>2]=i[(f<<3)+t>>2],r=f|1,i[(r<<2)+e>>2]=i[(r<<3)+t>>2],r=f|2,i[(r<<2)+e>>2]=i[(r<<3)+t>>2],r=f|3,i[(r<<2)+e>>2]=i[(r<<3)+t>>2],f=f+4|0,A=A+4|0,(u|0)!=(A|0););if(r=n&3,!r)break i;for(A=0;i[(f<<2)+e>>2]=i[(f<<3)+t>>2],f=f+1|0,A=A+1|0,(r|0)!=(A|0););}return f=i[k+36>>2],f&&(i[k+40>>2]=f,G(f)),t&&G(t),B=k+48|0,n|0}function mw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,k=i[13708],i[A+12>>2]=k,n=i[k-12>>2],k=A+12|0,i[n+k>>2]=i[13709],t=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(t,n),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(n),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,Hr(n,e,r),o=k,u=n,k=l[A+159|0],n=(k|0)<0,x(o,n?i[A+148>>2]:u,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),u=k,k=l[A+159|0],n=(k|0)<0,x(A+12|0,n?i[A+148>>2]:u,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),n=x(A+12|0,21262,13),k=i[e+48>>2],l[A+11|0]=4,l[A+3|0]=k,l[A+2|0]=k>>>8,l[A+1|0]=k>>>16,l[A|0]=k>>>24,l[A+4|0]=0,k=x(x(n,A,4),31338,1),n=A+148|0,W0(n,r),u=n,n=l[A+159|0],o=(n|0)<0,x(k,o?i[A+148>>2]:u,o?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),k=x(L0(x(k,20346,15),i[e+52>>2]),31338,1),n=A+148|0,W0(n,r),u=n,r=l[A+159|0],n=(r|0)<0,x(k,n?i[A+148>>2]:u,n?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),x(k,20085,19),l[A+11|0]<0&&G(i[A>>2]),r=i[e+56>>2],k=i[e+60>>2];i:{if((r|0)==(k|0)||(e=i[r>>2],l[A+152|0]=0,l[A+159|0]=4,l[A+151|0]=e,l[A+150|0]=e>>>8,l[A+149|0]=e>>>16,l[A+148|0]=e>>>24,x(A+12|0,A+148|0,4),l[A+159|0]<0&&G(i[A+148>>2]),r=r+4|0,(k|0)==(r|0)))break i;for(;e=i[r>>2],l[A+148|0]=44,n=A+12|0,o=A+148|0,x(n,o,1),l[A+152|0]=0,l[A+159|0]=4,l[A+151|0]=e,l[A+150|0]=e>>>8,l[A+149|0]=e>>>16,l[A+148|0]=e>>>24,x(n,o,4),l[A+159|0]<0&&G(i[A+148>>2]),r=r+4|0,(k|0)!=(r|0););}e=A+12|0,x(e,31338,1),i2(f,t),f=i[13707],i[A+12>>2]=f,i[e+i[f-12>>2]>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function bk(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;v=B-16|0,B=v,h=x0(t,100184),p=x0(t,100256),t=p,V[i[i[t>>2]+20>>2]](v+4|0,t),i[n>>2]=A;i:{r:switch(u=f,t=s[u|0],t-43|0){case 0:case 2:break r;default:break i}t=V[i[i[h>>2]+44>>2]](h,t<<24>>24)|0,o=i[n>>2],i[n>>2]=o+4,i[o>>2]=t,u=f+1|0}i:{if(t=u,!((r-t|0)<=1|s[t|0]!=48|(s[t+1|0]|32)!=120))for(o=V[i[i[h>>2]+44>>2]](h,48)|0,u=i[n>>2],i[n>>2]=u+4,i[u>>2]=o,o=V[i[i[h>>2]+44>>2]](h,l[t+1|0])|0,u=i[n>>2],i[n>>2]=u+4,i[u>>2]=o,u=t+2|0,t=u;;){if(r>>>0<=t>>>0||(o=l[t|0],M2(),!(o-48>>>0<10|(o|32)-97>>>0<6)))break i;t=t+1|0}for(;;){if(r>>>0<=t>>>0||(o=l[t|0],M2(),o-48>>>0>=10))break i;t=t+1|0}}s[v+15|0]>>>7|0?o=i[v+8>>2]:o=s[v+15|0]&127;i:{if(!o){V[i[i[h>>2]+48>>2]](h,u,t,i[n>>2])|0,i[n>>2]=i[n>>2]+(t-u<<2);break i}for(li(u,t),C=V[i[i[p>>2]+16>>2]](p)|0,o=u;;){if(t>>>0<=o>>>0)te((u-f<<2)+A|0,i[n>>2]);else{w=v+4|0;r:{if(s[w+11|0]>>>7|0){Z=i[w>>2];break r}Z=w}I=l[Z+W|0]<=0,s[w+11|0]>>>7|0?Z=i[w>>2]:Z=w,I|l[Z+W|0]!=(_|0)||(_=i[n>>2],i[n>>2]=_+4,i[_>>2]=C,s[w+11|0]>>>7|0?w=i[w+4>>2]:w=s[w+11|0]&127,W=(w-1>>>0>W>>>0)+W|0,_=0),w=V[i[i[h>>2]+44>>2]](h,l[o|0])|0,Z=i[n>>2],i[n>>2]=Z+4,i[Z>>2]=w,o=o+1|0,_=_+1|0;continue}break}}i:{r:{for(;;){if(r>>>0<=t>>>0)break r;if(o=t+1|0,t=l[t|0],(t|0)!=46){t=V[i[i[h>>2]+44>>2]](h,t)|0,u=i[n>>2],i[n>>2]=u+4,i[u>>2]=t,t=o;continue}break}t=V[i[i[p>>2]+12>>2]](p)|0,u=i[n>>2],_=u+4|0,i[n>>2]=_,i[u>>2]=t;break i}_=i[n>>2],o=t}V[i[i[h>>2]+48>>2]](h,o,r,_)|0,t=n,n=i[n>>2]+(r-o<<2)|0,i[t>>2]=n,i[k>>2]=(e|0)==(r|0)?n:(e-f<<2)+A|0,z0(v+4|0),B=v+16|0}function Bw(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0;if(I=r,y=A,n=B-16|0,B=n,w=i[e>>2],A=i[w+60>>2],v=w- -64|0,(A|0)!=(v|0))for(;;){x9(I,y,i[A+16>>2],i[w+36>>2],n+12|0,n+8|0),o=i[A+28>>2],h=i[A+24>>2],u=i[n+12>>2],t=i[n+8>>2];i:{if(!((u|0)>i[A+32>>2]|(t|0)>i[A+36>>2])){e=s[A+20|0]+7>>>3|0;break i}e=1;r:e:{A:{f:{k:switch(k=i[w+36>>2],k|0){case 0:case 1:case 2:case 3:case 99:break e;case 11:case 13:case 15:break f;case 10:case 12:case 14:break k;default:break A}e=3;break r}e=4;break r}e=0}if(r=e,e=s[A+20|0],e=(e|0)==24&&(k|0)==10?8:e,Z=(k|0)==11&&(e|0)==32?8:e,e=Z+7>>>3|0,k=u+1|0,p=k>>>0<64?64:k&-2,k=m(e,m(r,p))+15&-16,r=t+1|0,W=r>>>0<64?64:r&-2,_=U(m(k,W)|15),r=_&15,C=(r?16-r|0:0)+_|0,i[A+28>>2]>0)for(r=0;l0(m(r,k)+C|0,i[A+40>>2]+m(i[A+48>>2],r)|0,i[A+24>>2]),r=r+1|0,(r|0)<i[A+28>>2];);i[A+48>>2]=k,i[A+44>>2]=_,i[A+40>>2]=C,i[A+36>>2]=W,i[A+32>>2]=p,i[A+28>>2]=t,i[A+24>>2]=u,l[A+20|0]=Z}i:{if((o|0)<=0||(k=0,(u|0)<=(h|0)))break i;for(;;){if(r=h,(u|0)>(r|0))for(;t=i[A+40>>2]+m(i[A+48>>2],k)|0,l0(t+m(e,r)|0,t+m(i[A+24>>2]-1|0,e)|0,e),r=r+1|0,u=i[n+12>>2],(r|0)<(u|0););if(k=k+1|0,(k|0)==(o|0))break}t=i[n+8>>2]}if((o|0)<(t|0))for(;h=i[A+40>>2],r=i[A+48>>2],l0(h+m(r,o)|0,h+m(r,i[A+28>>2]-1|0)|0,m(i[n+12>>2],e)),o=o+1|0,(o|0)<i[n+8>>2];);r=i[A+4>>2];i:{if(r){for(;;)if(e=r,r=i[r>>2],!r)break i}for(;e=i[A+8>>2],r=i[e>>2]!=(A|0),A=e,!!r;);}if(A=e,(v|0)==(A|0))break}B=n+16|0,e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}function Zw(f,e,r,A,k,n,t,o,u){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0;var h=0,w=0,_=0,v=0,Z=0,p=0,W=0;h=B-32|0,B=h;i:{r:{e:{if(!(!e|!n)&&(_=(A|0)!=1970628964,k|_))break e;i[f>>2]=5,i[f+4>>2]=2001,i[f+8>>2]=7049;break r}w=U(80),i[w+4>>2]=0,i[w+8>>2]=0,i[w>>2]=72464,v=w+16|0,i[v+8>>2]=0,i[v+12>>2]=0,i[v+16>>2]=0,i[v+20>>2]=0,i[v+24>>2]=0,i[v+28>>2]=0,i[v+32>>2]=0,i[v>>2]=68500,i[w+60>>2]=0,i[w+52>>2]=0,i[w+56>>2]=0,i[v>>2]=68664,i[w+72>>2]=0,i[w+64>>2]=0,i[w+68>>2]=0,i[w+32>>2]=A;e:{if(_||(A=U(16),i[h+20>>2]=A,Z=A+16|0,i[h+28>>2]=Z,_=s[k+12|0]|s[k+13|0]<<8|(s[k+14|0]<<16|s[k+15|0]<<24),p=s[k+8|0]|s[k+9|0]<<8|(s[k+10|0]<<16|s[k+11|0]<<24),l[A+8|0]=p,l[A+9|0]=p>>>8,l[A+10|0]=p>>>16,l[A+11|0]=p>>>24,l[A+12|0]=_,l[A+13|0]=_>>>8,l[A+14|0]=_>>>16,l[A+15|0]=_>>>24,_=s[k+4|0]|s[k+5|0]<<8|(s[k+6|0]<<16|s[k+7|0]<<24),k=s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24),l[A|0]=k,l[A+1|0]=k>>>8,l[A+2|0]=k>>>16,l[A+3|0]=k>>>24,l[A+4|0]=_,l[A+5|0]=_>>>8,l[A+6|0]=_>>>16,l[A+7|0]=_>>>24,i[h+24>>2]=Z,i[v+16>>2]=1970628964,k=v+20|0,A=h+20|0,(k|0)!=(A|0)&&(Z=k,k=i[A>>2],A=i[A+4>>2],W8(Z,k,A,A-k|0)),A=i[h+20>>2],!A))break e;i[h+24>>2]=A,G(A)}if(i[h+28>>2]=0,i[h+20>>2]=0,i[h+24>>2]=0,A=0,t){if((t|0)<0)break i;A=U(t),i[h+20>>2]=A,W=A+t|0,i[h+28>>2]=W,l0(A,n,t),i[h+24>>2]=W}if(W8(w- -64|0,A,W,W-A|0),e=i[e>>2],i[h+16>>2]=w,i[h+12>>2]=v,i[w+4>>2]=i[w+4>>2]+1,k=i[h+16>>2],i[h>>2]=i[h+12>>2],i[h+4>>2]=k,e=Q3(e,r,h,(o|0)!=0),u&&(i[u>>2]=e),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],A&&G(A),f=i[w+4>>2],i[w+4>>2]=f-1,f)break r;V[i[i[w>>2]+8>>2]](w),g(w)}B=h+32|0;return}y0(),P()}function dk(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;_=B-16|0,B=_,h=x0(t,100192),p=x0(t,100248),t=p,V[i[i[t>>2]+20>>2]](_+4|0,t),i[n>>2]=A;i:{r:switch(u=f,t=s[u|0],t-43|0){case 0:case 2:break r;default:break i}t=V[i[i[h>>2]+28>>2]](h,t<<24>>24)|0,o=i[n>>2],i[n>>2]=o+1,l[o|0]=t,u=f+1|0}i:{if(t=u,!((r-t|0)<=1|s[t|0]!=48|(s[t+1|0]|32)!=120))for(o=V[i[i[h>>2]+28>>2]](h,48)|0,u=i[n>>2],i[n>>2]=u+1,l[u|0]=o,o=V[i[i[h>>2]+28>>2]](h,l[t+1|0])|0,u=i[n>>2],i[n>>2]=u+1,l[u|0]=o,u=t+2|0,t=u;;){if(r>>>0<=t>>>0||(o=l[t|0],M2(),!(o-48>>>0<10|(o|32)-97>>>0<6)))break i;t=t+1|0}for(;;){if(r>>>0<=t>>>0||(o=l[t|0],M2(),o-48>>>0>=10))break i;t=t+1|0}}s[_+15|0]>>>7|0?o=i[_+8>>2]:o=s[_+15|0]&127;i:{if(!o){V[i[i[h>>2]+32>>2]](h,u,t,i[n>>2])|0,i[n>>2]=i[n>>2]+(t-u|0);break i}for(li(u,t),C=V[i[i[p>>2]+16>>2]](p)|0,o=u;;){if(t>>>0<=o>>>0)li((u-f|0)+A|0,i[n>>2]);else{w=_+4|0;r:{if(s[w+11|0]>>>7|0){v=i[w>>2];break r}v=w}I=l[v+W|0]<=0,s[w+11|0]>>>7|0?v=i[w>>2]:v=w,I|l[v+W|0]!=(Z|0)||(Z=i[n>>2],i[n>>2]=Z+1,l[Z|0]=C,s[w+11|0]>>>7|0?w=i[w+4>>2]:w=s[w+11|0]&127,W=(w-1>>>0>W>>>0)+W|0,Z=0),w=V[i[i[h>>2]+28>>2]](h,l[o|0])|0,v=i[n>>2],i[n>>2]=v+1,l[v|0]=w,o=o+1|0,Z=Z+1|0;continue}break}}for(;;){i:{r:{if(r>>>0<=t>>>0){o=t;break r}if(o=t+1|0,t=l[t|0],(t|0)!=46)break i;t=V[i[i[p>>2]+12>>2]](p)|0,u=i[n>>2],i[n>>2]=u+1,l[u|0]=t}V[i[i[h>>2]+32>>2]](h,o,r,i[n>>2])|0,t=n,n=i[n>>2]+(r-o|0)|0,i[t>>2]=n,i[k>>2]=(e|0)==(r|0)?n:(e-f|0)+A|0,z0(_+4|0),B=_+16|0;return}t=V[i[i[h>>2]+28>>2]](h,t)|0,u=i[n>>2],i[n>>2]=u+1,l[u|0]=t,t=o}}function pw(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0;n=B-16|0,B=n,e=U(136),i[e+4>>2]=0,i[e+8>>2]=0,i[e>>2]=72792,B0(e+20|0,0,104),A=i[e+4>>2],o=A+1|0,i[e+4>>2]=o,i[e+56>>2]=0,i[e+60>>2]=0,i[e+44>>2]=99,i[e+48>>2]=99,i[e+32>>2]=3795,t=e- -64|0,i[t>>2]=0,i[t+4>>2]=0,i[e+132>>2]=0,i[e+124>>2]=0,i[e+128>>2]=0,i[e+84>>2]=1,i[e+88>>2]=1,i[e+72>>2]=e+76,i[e+92>>2]=0,i[e+96>>2]=0,i[e+100>>2]=0,i[e+104>>2]=0,i[e+108>>2]=0,i[e+112>>2]=0,l[e+113|0]=0,l[e+114|0]=0,l[e+115|0]=0,l[e+116|0]=0,l[e+117|0]=0,l[e+118|0]=0,l[e+119|0]=0,l[e+120|0]=0,t=e+12|0,i[e+12>>2]=t,i[e+8>>2]=i[e+8>>2]+1,i[e+4>>2]=A,i[e+16>>2]=e,o||(V[i[i[e>>2]+8>>2]](e),g(e)),A=i[r>>2],o=i[A+24>>2],u=i[A+28>>2],_=i[A+32>>2],i[t+36>>2]=i[A+36>>2],i[t+32>>2]=_,i[t+28>>2]=u,i[t+24>>2]=o;i:{r:{for(;;){A=i[v+41232>>2];e:{if(!H2(i[r>>2],A))break e;if(o=y4(i[r>>2],A),Z=F4(i[r>>2],A),!J0(t,A,o,Z,i[k+12>>2]))break r;if(u=U0(i[r>>2],A),w=i[k+12>>2],E=v0(i[r>>2],A,n+12|0),J=v0(t,A,n+8|0),I=i[n+8>>2]/2|0,i[n+8>>2]=I,(Z|0)<=0|(o|0)<=0)break e;for(_=(u<<1)-w|0,w=w-u|0,R=i[n+12>>2],D=o&2147483646,z=o&1,u=0;;){if(p=m(u,R)+E|0,W=(m(u,I)<<1)+J|0,A=0,C=0,(o|0)!=1)for(;h=s[A+p|0],X[(A<<1)+W>>1]=h<<w|h>>>_,y=A|1,h=s[y+p|0],X[(y<<1)+W>>1]=h<<w|h>>>_,A=A+2|0,C=C+2|0,(D|0)!=(C|0););if(z&&(h=(A<<1)+W|0,A=s[A+p|0],X[h>>1]=A<<w|A>>>_),u=u+1|0,(Z|0)==(u|0))break}}if(v=v+4|0,(v|0)==28)break}i[f+4>>2]=e,i[f>>2]=t;break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[e+4>>2],i[e+4>>2]=f-1,f)break i;V[i[i[e>>2]+8>>2]](e),g(e)}B=n+16|0}function Jr(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;u=B-16|0,B=u,n=U(88),i[n+4>>2]=0,i[n+8>>2]=0,i[n>>2]=71704,h=n+16|0,i[h+8>>2]=0,i[h+12>>2]=0,i[h+16>>2]=0,i[h+20>>2]=0,i[h+24>>2]=0,i[h+28>>2]=0,i[h+32>>2]=0,i[h>>2]=68500,i[n+52>>2]=0,i[n+56>>2]=0,i[n+68>>2]=0,l[n+57|0]=0,l[n+58|0]=0,l[n+59|0]=0,l[n+60|0]=0,l[n+61|0]=0,l[n+62|0]=0,l[n+63|0]=0,l[n+64|0]=0,i[h>>2]=69672,i[n+80>>2]=0,i[n+72>>2]=0,i[n+76>>2]=0,i[n+32>>2]=1885960297,t=U(1),l[t|0]=r,r=t+1|0,i[n+80>>2]=r,i[n+72>>2]=t,i[n+76>>2]=r;i:{if(A|k){v=U(2),l[v+1|0]=A,l[v|0]=s[t|0],o=v+2|0,i[n+80>>2]=o,i[n+76>>2]=o,r=i[n+72>>2],i[n+72>>2]=v;r:{e:{if(!r){t=o;break e}if(G(r),i[n+76>>2]=o,t=i[n+80>>2],o>>>0>=t>>>0)break e;l[v+2|0]=k,k=v+3|0;break r}if(_=i[n+72>>2],r=o-_|0,w=r+1|0,(w|0)<0)break i;t=t-_|0,A=t<<1,w=t>>>0>=1073741823?2147483647:A>>>0>w>>>0?A:w,w?t=U(w):t=0,A=r+t|0,l[A|0]=k,Z=t+w|0,k=A+1|0;e:{if((o|0)==(_|0)){t=A;break e}if(w=r&3,w)for(r=0;A=A-1|0,o=o-1|0,l[A|0]=s[o|0],r=r+1|0,(w|0)!=(r|0););if((v-_|0)+1>>>0>=3)for(;l[A-1|0]=s[o-1|0],l[A-2|0]=s[o-2|0],l[A-3|0]=s[o-3|0],A=A-4|0,o=o-4|0,l[A|0]=s[o|0],(o|0)!=(_|0););_=i[n+72>>2]}if(i[n+80>>2]=Z,i[n+76>>2]=k,i[n+72>>2]=t,!_)break r;G(_)}i[n+76>>2]=k}r=i[f+44>>2],i[u+12>>2]=n,i[u+8>>2]=h,i[n+4>>2]=i[n+4>>2]+1,A=N4(r,u+8|0),k=i[u+12>>2];r:{if(!k||(r=i[k+4>>2],i[k+4>>2]=r-1,r))break r;V[i[i[k>>2]+8>>2]](k),g(k)}f=i[f+52>>2],X[u+6>>1]=A+1,l[u+4|0]=0,i[u>>2]=Q[u+4>>1]|Q[u+6>>1]<<16,c1(f,e,u),f=i[n+4>>2],i[n+4>>2]=f-1,f||(V[i[i[n>>2]+8>>2]](n),g(n)),B=u+16|0;return}y0(),P()}function Ww(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;if(t=B-32|0,B=t,u=V[i[i[e>>2]+32>>2]](e,r,0)|0,A2(r,s[e+48|0]),A2(r,(s[e+51|0]&31|(s[e+50|0]<<5|s[e+49|0]<<6))&255),l2(r,i[e+52>>2]),A=s[e+56|0],k=A>>>4|0,k=k&2|(k&1|(A>>>2&2|(A&4|A<<2&8)))<<2,A=A>>>6|0,A2(r,((k|A&1)<<2|A)&254),A=i[e+56>>2],k=A>>>10|0,n=k&2|(A>>>8&2|k&1)<<2,k=A>>>12|0,A=A>>>14|0,A2(r,(((n|k&1)<<2|k&2|A&1)<<2|A&2)&254),A=i[e+56>>2],k=A>>>18|0,n=k&2|(A>>>16&2|k&1)<<2,k=A>>>20|0,A=A>>>22|0,A2(r,(((n|k&1)<<2|k&2|A&1)<<2|A&2)&254),A=i[e+56>>2],k=A>>>26|0,n=k&2|(A>>>24&2|k&1)<<2,k=A>>>28|0,A=A>>>30|0,A2(r,(((n|k&1)<<2|k&2|A&1)<<2|A)&254),A=s[e+60|0],k=A>>>4|0,k=k&2|(k&1|(A>>>2&2|(A&4|A<<2&8)))<<2,A=A>>>6|0,A2(r,((k|A&1)<<2|A)&254),A=i[e+60>>2],k=A>>>10|0,n=k&2|(A>>>8&2|k&1)<<2,k=A>>>12|0,A=A>>>14|0,A2(r,(((n|k&1)<<2|k&2|A&1)<<2|A&2)&254),A2(r,s[e+64|0]),w2(r,Q[e+66>>1]|61440),A2(r,s[e+68|0]|252),A2(r,s[e+69|0]|252),A2(r,s[e+70|0]|248),A2(r,s[e+71|0]|248),w2(r,Q[e+72>>1]),A2(r,(s[e+80|0]-1&3|(s[e+76|0]<<2&4|(s[e+75|0]<<3&56|s[e+74|0]<<6)))&255),A2(r,i[e+88>>2]-i[e+84>>2]>>>4&255),A=i[e+84>>2],n=i[e+88>>2],(A|0)!=(n|0))for(;;){if(A2(r,s[A|0]<<6&64|s[A+1|0]&63),w2(r,(i[A+8>>2]-i[A+4>>2]|0)/12&65535),k=i[A+4>>2],o=i[A+8>>2],(k|0)!=(o|0))for(;w2(r,i[k+4>>2]-i[k>>2]&65535),D4(r,k),k=k+12|0,(o|0)!=(k|0););if(A=A+16|0,(n|0)==(A|0))break}Y4(t+12|0,e,r,u),l[t+31|0]<0&&G(i[t+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=t+32|0}function Xw(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0,o=0;A=B-16|0,B=A;i:{r:{if(!i[f+64>>2]){n=-1;break r}r=i[f+92>>2]&8,r||(i[f+28>>2]=0,i[f+20>>2]=0,i[f+24>>2]=0,n=s[f+98|0],e=i[(n?32:56)+f>>2],n=e+i[(n?52:60)+f>>2]|0,i[f+16>>2]=n,i[f+12>>2]=n,i[f+8>>2]=e,i[f+92>>2]=8),i[f+12>>2]||(e=A+16|0,i[f+16>>2]=e,i[f+12>>2]=e,i[f+8>>2]=A+15),r&&(e=i[f+16>>2],r=i[f+8>>2],i[A+4>>2]=4,i[A+8>>2]=(e-r|0)/2,e=B-16|0,B=e,B=e+16|0,e=A+4|0,r=A+8|0,t=i[(k0[e>>2]<k0[r>>2]?e:r)>>2]),n=-1,e=i[f+16>>2];e:{if((e|0)==i[f+12>>2]){if(F2(i[f+8>>2],e-t|0,t),s[f+98|0]==1){if(e=i[f+8>>2]+t|0,e=u9(e,i[f+16>>2]-e|0,i[f+64>>2]),!e)break e;r=i[f+8>>2],n=i[f+8>>2]+t|0,i[f+16>>2]=e+(i[f+8>>2]+t|0),i[f+12>>2]=n,i[f+8>>2]=r,n=s[i[f+12>>2]];break e}e=i[f+40>>2],r=i[f+36>>2];A:{if((e|0)==(r|0)){r=e;break A}F2(i[f+32>>2],r,e-r|0),e=i[f+36>>2],r=i[f+40>>2]}if(k=i[f+32>>2],e=r-e|0,i[f+36>>2]=k+e,r=(k|0)==(f+44|0)?8:i[f+52>>2],i[f+40>>2]=r+k,i[A+8>>2]=i[f+60>>2]-t,i[A+4>>2]=r-e,e=B-16|0,B=e,B=e+16|0,r=A+4|0,e=A+8|0,r=i[(k0[r>>2]<k0[e>>2]?r:e)>>2],k=i[f+76>>2],i[f+80>>2]=i[f+72>>2],i[f+84>>2]=k,k=u9(i[f+36>>2],r,i[f+64>>2]),!k)break e;if(r=i[f+68>>2],!r)break i;k=k+i[f+36>>2]|0,i[f+40>>2]=k,o=k,k=i[f+8>>2];A:{if((V[i[i[r>>2]+16>>2]](r,f+72|0,i[f+32>>2],o,f+36|0,k+t|0,k+i[f+60>>2]|0,e)|0)==3){e=i[f+32>>2],i[f+16>>2]=i[f+40>>2],i[f+12>>2]=e,i[f+8>>2]=e;break A}if(e=i[A+8>>2],r=i[f+8>>2],t=r+t|0,(e|0)==(t|0))break e;i[f+16>>2]=e,i[f+12>>2]=t,i[f+8>>2]=r}n=s[i[f+12>>2]];break e}n=s[i[f+12>>2]]}if(i[f+8>>2]!=(A+15|0))break r;i[f+16>>2]=0,i[f+12>>2]=0,i[f+8>>2]=0}return B=A+16|0,n|0}u1(),P()}function Gw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;A=B-32|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(A,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(k=i[19565],i[A>>2]=i[19564],i[A+4>>2]=k,o=A+8|0,l[78275]>=0){k=i[19567],i[o>>2]=i[19566],i[o+4>>2]=k,i[o+8>>2]=i[19568];break i}_0(o,i[19566],i[19567])}l[A+19|0]<0&&G(i[A+8>>2]);i:{r:{if(s[e+48|0]){h4(f,e,15336);break r}if(B4(A+20|0,r),l[e+67|0]<0&&G(i[e+56>>2]),k=i[A+24>>2],i[e+56>>2]=i[A+20>>2],i[e+60>>2]=k,i[e+64>>2]=i[A+28>>2],i[r+16>>2])for(;;){w=B2(r),h=i[e+72>>2],k=i[e+76>>2];e:{if(h>>>0<k>>>0){l[h|0]=w,_=h+1|0;break e}if(u=i[e+68>>2],o=h-u|0,t=o+1|0,(t|0)<0)break i;n=k-u|0,k=n<<1,n=n>>>0>=1073741823?2147483647:k>>>0>t>>>0?k:t,n?k=U(n):k=0,t=o+k|0,l[t|0]=w,w=k+n|0,_=t+1|0;A:{if((u|0)==(h|0)){k=t;break A}if(v=0,n=h,o=o&3,o)for(;t=t-1|0,n=n-1|0,l[t|0]=s[n|0],v=v+1|0,(o|0)!=(v|0););if(u-h>>>0<=4294967292)for(;l[t-1|0]=s[n-1|0],l[t-2|0]=s[n-2|0],l[t-3|0]=s[n-3|0],t=t-4|0,n=n-4|0,l[t|0]=s[n|0],(n|0)!=(u|0););u=i[e+68>>2]}if(i[e+76>>2]=w,i[e+72>>2]=_,i[e+68>>2]=k,!u)break e;G(u)}if(i[e+72>>2]=_,!i[r+16>>2])break}if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(f,2,100,A+20|0),l[A+31|0]>=0)break r;G(i[A+20>>2]);break r}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,e=f+8|0,l[78275]>=0){f=i[19567],i[e>>2]=i[19566],i[e+4>>2]=f,i[e+8>>2]=i[19568];break r}_0(e,i[19566],i[19567])}B=A+32|0;return}y0(),P()}function Cw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;k=B-16|0,B=k,v=e,Z=B2(r),l[v+48|0]=Z,v=e,Z=B2(r),l[v+49|0]=Z,v=e,Z=B2(r),l[v+50|0]=Z,v=e,Z=B2(r),l[v+51|0]=Z,v=e,Z=(B2(r)&3)+1|0,l[v+52|0]=Z;i:{if(h=B2(r)&31,!h)break i;for(_=e+56|0;;){t=t2(r),i[k+12>>2]=0,i[k+4>>2]=0,i[k+8>>2]=0,n=0,A=0,t&&(A=U(t),i[k+4>>2]=A,n=A+t|0,i[k+12>>2]=n,B0(A,0,t),i[k+8>>2]=n),D6(r,A,n-A|0);r:{A=i[e+60>>2];e:{if(A>>>0<k0[e+64>>2]){if(i[A+8>>2]=0,i[A>>2]=0,i[A+4>>2]=0,n=i[k+8>>2],o=i[k+4>>2],(n|0)!=(o|0)){if(n=n-o|0,(n|0)<0)break r;t=U(n),i[A+4>>2]=t,i[A>>2]=t,w=n+t|0,i[A+8>>2]=w,l0(t,o,n),i[A+4>>2]=w}A=A+12|0;break e}A=v6(_,k+4|0)}if(i[e+60>>2]=A,A=i[k+4>>2],A&&(i[k+8>>2]=A,G(A)),u=u+1|0,(h|0)!=(u|0))continue;break i}break}y0(),P()}i:{if(h=B2(r),!h)break i;for(_=e+68|0,u=0;;){t=t2(r),i[k+12>>2]=0,i[k+4>>2]=0,i[k+8>>2]=0,n=0,A=0,t&&(A=U(t),i[k+4>>2]=A,n=A+t|0,i[k+12>>2]=n,B0(A,0,t),i[k+8>>2]=n),D6(r,A,n-A|0);r:{A=i[e+72>>2];e:{if(A>>>0<k0[e+76>>2]){if(i[A+8>>2]=0,i[A>>2]=0,i[A+4>>2]=0,n=i[k+8>>2],o=i[k+4>>2],(n|0)!=(o|0)){if(n=n-o|0,(n|0)<0)break r;t=U(n),i[A+4>>2]=t,i[A>>2]=t,w=n+t|0,i[A+8>>2]=w,l0(t,o,n),i[A+4>>2]=w}A=A+12|0;break e}A=v6(_,k+4|0)}if(i[e+72>>2]=A,A=i[k+4>>2],A&&(i[k+8>>2]=A,G(A)),u=u+1|0,(h|0)!=(u|0))continue;break i}break}y0(),P()}i:{if(s[r+20|0]==1){if(l[k+4|0]=0,l[k+15|0]=0,r0(f,2,100,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+16|0}function Vw(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;f=B-480|0,B=f,t=f+476|0,o=i[A+28>>2],i[t>>2]=o,(o|0)!=100008&&(i[o+4>>2]=i[o+4>>2]+1),p=x0(t,100184),s[n+11|0]>>>7|0?t=i[n+4>>2]:t=s[n+11|0]&127,t&&(s[n+11|0]>>>7|0?t=i[n>>2]:t=n,W=i[t>>2]==(V[i[i[p>>2]+44>>2]](p,45)|0)),t=B-16|0,B=t,_=f+452|0,i[_>>2]=0,i[_+4>>2]=0,i[_+8>>2]=0,B=t+16|0,t=B-16|0,B=t,u=f+440|0,i[u>>2]=0,i[u+4>>2]=0,i[u+8>>2]=0,B=t+16|0,t=B-16|0,B=t,h=f+428|0,i[h>>2]=0,i[h+4>>2]=0,i[h+8>>2]=0,B=t+16|0,Zn(r,W,f+476|0,f+472|0,f+468|0,f+464|0,_,u,h,f+424|0),i[f+16>>2]=1094,r=f+16|0,w=o1(f+8|0,0,r);i:{s[n+11|0]>>>7|0?t=i[n+4>>2]:t=s[n+11|0]&127;r:{if((t|0)>i[f+424>>2]){s[n+11|0]>>>7|0?o=i[n+4>>2]:o=s[n+11|0]&127,t=i[f+424>>2],s[u+11|0]>>>7|0?v=i[u+4>>2]:v=s[u+11|0]&127,s[h+11|0]>>>7|0?Z=i[h+4>>2]:Z=s[h+11|0]&127,t=(t+(v+(Z+(o-t<<1)|0)|0)|0)+1|0;break r}v=i[f+424>>2],s[h+11|0]>>>7|0?t=i[h+4>>2]:t=s[h+11|0]&127,s[u+11|0]>>>7|0?o=i[u+4>>2]:o=s[u+11|0]&127,t=(v+(t+o|0)|0)+2|0}if(t>>>0<101||(r=Z2(t<<2),t=i[w>>2],i[w>>2]=r,t&&V[i[w+4>>2]](t),r=i[w>>2],r))break i;u1(),P()}return v=f+4|0,Z=i[A+4>>2],s[n+11|0]>>>7|0?t=i[n>>2]:t=n,o=t,s[n+11|0]>>>7|0?t=i[n>>2]:t=n,s[n+11|0]>>>7|0?n=i[n+4>>2]:n=s[n+11|0]&127,Lk(r,v,f,Z,o,t+(n<<2)|0,p,W,f+472|0,i[f+468>>2],i[f+464>>2],_,u,h,i[f+424>>2]),e=X8(e,r,i[f+4>>2],i[f>>2],A,k),r=i[w>>2],i[w>>2]=0,r&&V[i[w+4>>2]](r),l1(h),l1(u),z0(_),O0(f+476|0),B=f+480|0,e|0}function Iw(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;f=B-176|0,B=f,t=f+172|0,o=i[A+28>>2],i[t>>2]=o,(o|0)!=100008&&(i[o+4>>2]=i[o+4>>2]+1),p=x0(t,100192),s[n+11|0]>>>7|0?t=i[n+4>>2]:t=s[n+11|0]&127,t&&(s[n+11|0]>>>7|0?t=i[n>>2]:t=n,W=s[t|0]==(V[i[i[p>>2]+28>>2]](p,45)&255)),t=B-16|0,B=t,_=f+152|0,i[_>>2]=0,i[_+4>>2]=0,i[_+8>>2]=0,B=t+16|0,t=B-16|0,B=t,u=f+140|0,i[u>>2]=0,i[u+4>>2]=0,i[u+8>>2]=0,B=t+16|0,t=B-16|0,B=t,h=f+128|0,i[h>>2]=0,i[h+4>>2]=0,i[h+8>>2]=0,B=t+16|0,Wn(r,W,f+172|0,f+168|0,f+167|0,f+166|0,_,u,h,f+124|0),i[f+16>>2]=1094,r=f+16|0,w=o1(f+8|0,0,r);i:{s[n+11|0]>>>7|0?t=i[n+4>>2]:t=s[n+11|0]&127;r:{if((t|0)>i[f+124>>2]){s[n+11|0]>>>7|0?o=i[n+4>>2]:o=s[n+11|0]&127,t=i[f+124>>2],s[u+11|0]>>>7|0?v=i[u+4>>2]:v=s[u+11|0]&127,s[h+11|0]>>>7|0?Z=i[h+4>>2]:Z=s[h+11|0]&127,t=(t+(v+(Z+(o-t<<1)|0)|0)|0)+1|0;break r}v=i[f+124>>2],s[h+11|0]>>>7|0?t=i[h+4>>2]:t=s[h+11|0]&127,s[u+11|0]>>>7|0?o=i[u+4>>2]:o=s[u+11|0]&127,t=(v+(t+o|0)|0)+2|0}if(t>>>0<101||(r=Z2(t),t=i[w>>2],i[w>>2]=r,t&&V[i[w+4>>2]](t),r=i[w>>2],r))break i;u1(),P()}return v=f+4|0,Z=i[A+4>>2],s[n+11|0]>>>7|0?t=i[n>>2]:t=n,o=t,s[n+11|0]>>>7|0?t=i[n>>2]:t=n,s[n+11|0]>>>7|0?n=i[n+4>>2]:n=s[n+11|0]&127,Kk(r,v,f,Z,o,t+n|0,p,W,f+168|0,l[f+167|0],l[f+166|0],_,u,h,i[f+124>>2]),e=G8(e,r,i[f+4>>2],i[f>>2],A,k),r=i[w>>2],i[w>>2]=0,r&&V[i[w+4>>2]](r),z0(h),z0(u),z0(_),O0(f+172|0),B=f+176|0,e|0}function Qw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;k=B-32|0,B=k,A=D0(r),i[e+52>>2]=A&16777215,l[e+48|0]=A>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[k+20|0]=0,l[k+31|0]=0,r0(k,2,100,k+20|0),l[k+31|0]>=0)break i;G(i[k+20>>2]);break i}if(A=i[19565],i[k>>2]=i[19564],i[k+4>>2]=A,A=k+8|0,l[78275]>=0){n=i[19567],i[A>>2]=i[19566],i[A+4>>2]=n,i[A+8>>2]=i[19568];break i}_0(A,i[19566],i[19567])}l[k+19|0]<0&&G(i[k+8>>2]);i:{if(s[e+48|0]){h4(f,e,8812);break i}if(A=D0(r),(A|0)<0){if(e=U(32),i[k+20>>2]=e,i[k+24>>2]=30,i[k+28>>2]=-2147483616,r=s[17430]|s[17431]<<8|(s[17432]<<16|s[17433]<<24),A=s[17426]|s[17427]<<8|(s[17428]<<16|s[17429]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+30|0]=0,r=s[17452]|s[17453]<<8|(s[17454]<<16|s[17455]<<24),A=s[17448]|s[17449]<<8|(s[17450]<<16|s[17451]<<24),l[e+22|0]=A,l[e+23|0]=A>>>8,l[e+24|0]=A>>>16,l[e+25|0]=A>>>24,l[e+26|0]=r,l[e+27|0]=r>>>8,l[e+28|0]=r>>>16,l[e+29|0]=r>>>24,r=s[17446]|s[17447]<<8|(s[17448]<<16|s[17449]<<24),A=s[17442]|s[17443]<<8|(s[17444]<<16|s[17445]<<24),l[e+16|0]=A,l[e+17|0]=A>>>8,l[e+18|0]=A>>>16,l[e+19|0]=A>>>24,l[e+20|0]=r,l[e+21|0]=r>>>8,l[e+22|0]=r>>>16,l[e+23|0]=r>>>24,r=s[17438]|s[17439]<<8|(s[17440]<<16|s[17441]<<24),A=s[17434]|s[17435]<<8|(s[17436]<<16|s[17437]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,6,1e3,k+20|0),l[k+31|0]>=0)break i;G(i[k+20>>2]);break i}Yr(f,e,r,A)}B=k+32|0}function P1(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0;if(o=B-16|0,B=o,n=i[f+76>>2],!n){k=U(88),i[k+4>>2]=0,i[k+8>>2]=0,i[k>>2]=71184,n=k+16|0,i[n+8>>2]=0,i[n+12>>2]=0,i[n+16>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,i[n+28>>2]=0,i[n+32>>2]=0,i[n>>2]=68500,i[k+52>>2]=0,i[k+56>>2]=0,i[k+68>>2]=0,l[k+57|0]=0,l[k+58|0]=0,l[k+59|0]=0,l[k+60|0]=0,l[k+61|0]=0,l[k+62|0]=0,l[k+63|0]=0,l[k+64|0]=0,i[n>>2]=69612,i[k+80>>2]=0,i[k+72>>2]=0,i[k+76>>2]=0,i[k+32>>2]=1769104742,i[f+76>>2]=n,t=i[f+80>>2],i[f+80>>2]=k;i:{r:{e:{A:{f:{if(!t){t=i[f+36>>2],i[o+12>>2]=k,i[o+8>>2]=n;break f}if(k=i[t+4>>2],i[t+4>>2]=k-1,k||(V[i[i[t>>2]+8>>2]](t),g(t)),t=i[f+36>>2],n=i[f+76>>2],k=i[f+80>>2],i[o+12>>2]=k,i[o+8>>2]=n,!k)break A}if(i[k+4>>2]=i[k+4>>2]+1,h=t+40|0,u=i[t+40>>2],u>>>0>=k0[t+44>>2])break r;i[u+4>>2]=k,i[u>>2]=n,i[k+4>>2]=i[k+4>>2]+1;break e}if(h=t+40|0,u=i[t+40>>2],u>>>0>=k0[t+44>>2])break r;i[u+4>>2]=0,i[u>>2]=n}k=u+8|0;break i}k=Q2(t+36|0,o+8|0)}i[h>>2]=k,k=i[o+12>>2];i:{if(!k||(n=i[k+4>>2],i[k+4>>2]=n-1,n))break i;V[i[i[k>>2]+8>>2]](k),g(k)}n=i[f+76>>2]}f=B+-64|0,B=f,i[f+24>>2]=0,i[f+28>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,i[f+40>>2]=0,i[f+24>>2]=r,i[f+16>>2]=0,i[f+20>>2]=0,i[f+60>>2]=0,i[f+52>>2]=0,i[f+56>>2]=0,i[f+48>>2]=e,i[f+8>>2]=68500,e=f+52|0,(e|0)!=(A|0)&&(k=e,e=i[A>>2],r=i[A+4>>2],ki(k,e,r,r-e>>2)),e=i[n+60>>2];i:{if(e>>>0<k0[n+64>>2]){Z6(e,f+8|0),e=e+56|0;break i}e=xA(n+56|0,f+8|0)}i[n+60>>2]=e,e=i[f+52>>2],e&&(i[f+56>>2]=e,G(e)),i[f+8>>2]=68500,e=i[f+28>>2],e&&(i[f+32>>2]=e,G(e)),B=f- -64|0,B=o+16|0}function yw(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0;k=B-48|0,B=k;i:{r:{if(!A){if(l[k+16|0]=0,l[k+27|0]=0,r=f,f=r0(k+28|0,5,2001,k+16|0),P0(r,f,i[e>>2]),l[f+19|0]<0&&G(i[f+8>>2]),l[k+27|0]>=0)break r;G(i[k+16>>2]);break r}n=i[e>>2],i[k+24>>2]=0,i[k+16>>2]=0,i[k+20>>2]=0,o=i[n+152>>2],u=i[n+156>>2];e:{if((o|0)!=(u|0)){if(n=u-o|0,(n|0)<0)break i;for(t=U(n),i[k+16>>2]=t,i[k+24>>2]=n+t,n=t;i[n>>2]=i[o>>2],h=n,n=i[o+4>>2],i[h+4>>2]=n,n&&(i[n+4>>2]=i[n+4>>2]+1),n=h+8|0,o=o+8|0,(u|0)!=(o|0););for(i[k+20>>2]=n,o=t;;){if(u=i[o>>2],i[u+20>>2]==(r|0)){r=U(16),i[r>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,i[r+12>>2]=0,i[A>>2]=r,n=i[o+4>>2];A:{if(!n){i[r+4>>2]=n,i[r>>2]=u;break A}if(i[n+4>>2]=i[n+4>>2]+1,i[r>>2]=u,t=i[r+4>>2],i[r+4>>2]=n,!t||(r=i[t+4>>2],i[t+4>>2]=r-1,r))break A;V[i[i[t>>2]+8>>2]](t),g(t)}r=i[e+8>>2],A=i[A>>2],t=i[e+12>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),i[A+8>>2]=r,r=i[A+12>>2],i[A+12>>2]=t;A:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break A;V[i[i[r>>2]+8>>2]](r),g(r)}P0(f,78256,i[e>>2]),t=i[k+16>>2];break e}if(n=(o|0)!=(h|0),o=o+8|0,!n)break}}if(l[k+4|0]=0,l[k+15|0]=0,r=r0(k+28|0,5,2e3,k+4|0),l[k+15|0]<0&&G(i[k+4>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break e;G(i[r+8>>2])}if(!t)break r;if(f=t,o=i[k+20>>2],(o|0)!=(t|0)){for(;;){f=i[o-4>>2];e:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break e;V[i[i[f>>2]+8>>2]](f),g(f)}if(o=o-8|0,(o|0)==(t|0))break}f=i[k+16>>2]}i[k+20>>2]=t,G(f)}B=k+48|0;return}y0(),P()}function Fw(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0;k=B-48|0,B=k;i:{r:{if(!A){if(l[k+16|0]=0,l[k+27|0]=0,r=f,f=r0(k+28|0,5,2001,k+16|0),P0(r,f,i[e>>2]),l[f+19|0]<0&&G(i[f+8>>2]),l[k+27|0]>=0)break r;G(i[k+16>>2]);break r}n=i[e>>2],i[k+24>>2]=0,i[k+16>>2]=0,i[k+20>>2]=0,o=i[n+36>>2],u=i[n+40>>2];e:{if((o|0)!=(u|0)){if(n=u-o|0,(n|0)<0)break i;for(t=U(n),i[k+16>>2]=t,i[k+24>>2]=n+t,n=t;i[n>>2]=i[o>>2],h=n,n=i[o+4>>2],i[h+4>>2]=n,n&&(i[n+4>>2]=i[n+4>>2]+1),n=h+8|0,o=o+8|0,(u|0)!=(o|0););for(i[k+20>>2]=n,o=t;;){if(u=i[o>>2],i[u+20>>2]==(r|0)){r=U(16),i[r>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,i[r+12>>2]=0,i[A>>2]=r,n=i[o+4>>2];A:{if(!n){i[r+4>>2]=n,i[r>>2]=u;break A}if(i[n+4>>2]=i[n+4>>2]+1,i[r>>2]=u,t=i[r+4>>2],i[r+4>>2]=n,!t||(r=i[t+4>>2],i[t+4>>2]=r-1,r))break A;V[i[i[t>>2]+8>>2]](t),g(t)}r=i[e+8>>2],A=i[A>>2],t=i[e+12>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),i[A+8>>2]=r,r=i[A+12>>2],i[A+12>>2]=t;A:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break A;V[i[i[r>>2]+8>>2]](r),g(r)}P0(f,78256,i[e>>2]),t=i[k+16>>2];break e}if(n=(o|0)!=(h|0),o=o+8|0,!n)break}}if(l[k+4|0]=0,l[k+15|0]=0,r=r0(k+28|0,5,2e3,k+4|0),l[k+15|0]<0&&G(i[k+4>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break e;G(i[r+8>>2])}if(!t)break r;if(f=t,o=i[k+20>>2],(o|0)!=(t|0)){for(;;){f=i[o-4>>2];e:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break e;V[i[i[f>>2]+8>>2]](f),g(f)}if(o=o-8|0,(o|0)==(t|0))break}f=i[k+16>>2]}i[k+20>>2]=t,G(f)}B=k+48|0;return}y0(),P()}function Ew(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,t=i[13708],i[A+12>>2]=t,k=A+12|0,i[k+i[t-12>>2]>>2]=i[13709],t=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(t,n),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(n),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),o=k,u=n,k=l[A+159|0],n=(k|0)<0,x(o,n?i[A+148>>2]:u,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],n=(k|0)<0,x(A+12|0,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,x(Q4(x(Q4(x(k,19560,17),i0[e+64>>3]),21692,2),i0[e+72>>3]),31338,1);i:{if(s[e+80|0]==1){n=A+148|0,W0(n,r),o=k,u=n,k=l[A+159|0],n=(k|0)<0,x(o,n?i[A+148>>2]:u,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,x(Q4(x(Q4(x(k,20510,14),i0[e+56>>3]),21692,2),i0[e+88>>3]),31338,1),n=A+148|0,W0(n,r),o=k,r=l[A+159|0],k=(r|0)<0,x(o,k?i[A+148>>2]:n,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),x(Q4(x(A+12|0,19553,6),i0[e+96>>3]),31338,1);break i}k=A+148|0,W0(k,r),o=k,k=l[A+159|0],n=(k|0)<0,x(A+12|0,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,x(Q4(x(k,20510,14),i0[e+56>>3]),31338,1),e=A+148|0,W0(e,r),n=e,e=l[A+159|0],r=(e|0)<0,x(k,r?i[A+148>>2]:n,r?i[A+152>>2]:e),l[A+159|0]<0&&G(i[A+148>>2]),x(A+12|0,21743,8)}i2(f,t),f=i[13707],i[A+12>>2]=f,i[i[f-12>>2]+(A+12|0)>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function u6(f,e,r,A,k,n,t,o,u){var h=0,w=0,_=0,v=0;h=B-32|0,B=h,D8(h+24|0,i[e+48>>2],n),n=i[h+24>>2],l[n+124|0]=1,i[n+52>>2]=i[n+52>>2]&-2|1;i:{r:{if(!t)break r;if(_=i[h+24>>2],n=G2(t),n>>>0>=2147483640)break i;e:{A:{if(n>>>0>=11){v=(n|7)+1|0,w=U(v),i[h+20>>2]=v|-2147483648,i[h+12>>2]=w,i[h+16>>2]=n;break A}if(l[h+23|0]=n,w=h+12|0,!n)break e}l0(w,t,n)}l[n+w|0]=0,n=_+88|0;e:{if((n|0)==(h+12|0))break e;if(t=l[h+23|0],l[_+99|0]>=0){if((t|0)>=0){t=i[h+16>>2],i[n>>2]=i[h+12>>2],i[n+4>>2]=t,i[n+8>>2]=i[h+20>>2];break e}i4(n,i[h+12>>2],i[h+16>>2]);break e}w=n,n=(t|0)<0,_4(w,n?i[h+12>>2]:h+12|0,n?i[h+16>>2]:t)}if(l[h+23|0]>=0)break r;G(i[h+12>>2])}n=i[i[h+24>>2]+56>>2],u&&(i[u>>2]=n),t=i[e+48>>2],u=i[i[r>>2]+20>>2],r=U(4),i[h+12>>2]=r,w=r+4|0,i[h+20>>2]=w,i[r>>2]=u,i[h+16>>2]=w,P1(t,n,1667527523,h+12|0),r=i[h+12>>2],r&&(i[h+16>>2]=r,G(r)),i[h+20>>2]=0,i[h+12>>2]=0,i[h+16>>2]=0;r:{e:switch(o-3|0){case 1:if(l[h|0]=0,l[h+11|0]=0,r0(f,4,3005,h),l[h+11|0]>=0)break r;G(i[h>>2]);break r;case 0:if(l[h|0]=0,l[h+11|0]=0,r0(f,4,3005,h),l[h+11|0]>=0)break r;G(i[h>>2]);break r;default:break e}if(k?(L2(h+12|0,k),r=i[h+12>>2]):r=0,l0(r,A,k),hi(i[e+48>>2],n,h+12|0,0),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break r}_0(f,i[19566],i[19567])}f=i[h+12>>2],f&&(i[h+16>>2]=f,G(f)),f=i[h+28>>2];r:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}B=h+32|0;return}c2(),P()}function Yw(f){f=f|0;var e=0,r=0,A=0,k=0;he(f+120|0,i[f+124>>2]),e=i[f+116>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+108>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+100>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+92>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+84>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+76>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+68>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+60>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+52>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+44>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+36>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(e=i[f+20>>2],e){if(r=e,A=i[f+24>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+20>>2]}i[f+24>>2]=e,G(r)}f=i[f+16>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}}function Jw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,k=i[13708],i[A+12>>2]=k,n=i[k-12>>2],k=A+12|0,i[n+k>>2]=i[13709],o=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(o,n),i[o+72>>2]=0,i[o+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,o=$0(n),i[o>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),t=k,u=n,k=l[A+159|0],n=(k|0)<0,x(t,n?i[A+148>>2]:u,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),t=k,k=l[A+159|0],n=(k|0)<0,x(A+12|0,n?i[A+148>>2]:t,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,x(k,21642,25),x(L0(x(L0(x(k,18657,1),Q[e+48>>1]),16376,1),Q[e+54>>1]),21691,3),x(L0(x(L0(x(k,18657,1),Q[e+50>>1]),16376,1),Q[e+56>>1]),21691,3),x(L0(x(L0(x(k,18657,1),Q[e+52>>1]),16376,1),Q[e+58>>1]),31337,2),n=A+148|0,W0(n,r),t=k,u=n,k=l[A+159|0],n=(k|0)<0,x(t,n?i[A+148>>2]:u,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,x(L0(x(L0(x(k,18638,20),Q[e+60>>1]),16376,1),Q[e+62>>1]),31337,2),n=A+148|0,W0(n,r),t=k,u=n,k=l[A+159|0],n=(k|0)<0,x(t,n?i[A+148>>2]:u,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,x(L0(x(k,21146,33),i[e+64>>2]),31338,1),n=A+148|0,W0(n,r),t=k,r=l[A+159|0],k=(r|0)<0,x(t,k?i[A+148>>2]:n,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(L0(x(r,21180,33),i[e+68>>2]),31338,1),i2(f,o),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[o>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(o),T0(A+68|0),B=A+160|0}function ck(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;n=B-160|0,B=n,i[n+20>>2]=54496,i[n+76>>2]=54516,o=i[13633],i[n+12>>2]=o,h=n+12|0,i[h+i[o-12>>2]>>2]=i[13634],i[n+16>>2]=0,o=h+i[i[n+12>>2]-12>>2]|0,t=n+24|0,b0(o,t),i[o+72>>2]=0,i[o+76>>2]=-1,o=i[13635],i[n+20>>2]=o,u=i[o-12>>2],o=n+20|0,i[u+o>>2]=i[13636],u=i[13632],i[n+12>>2]=u,i[h+i[u-12>>2]>>2]=i[13637],i[n+76>>2]=54516,i[n+12>>2]=54476,i[n+20>>2]=54496,h=$0(t),i[h>>2]=53552,t=n- -64|0,i[t>>2]=0,i[t+4>>2]=0,i[n+56>>2]=0,i[n+60>>2]=0,i[n+72>>2]=24,t=i[n+20>>2]-12|0,u=o+i[t>>2]|0,i[u+4>>2]=i[u+4>>2]&-75|8,u=o+i[t>>2]|0,i[u+76>>2]==-1&&(w=n+156|0,t=i[u+28>>2],i[w>>2]=t,(t|0)!=100008&&(i[t+4>>2]=i[t+4>>2]+1),t=x0(w,100192),V[i[i[t>>2]+28>>2]](t,32)|0,O0(w)),i[u+76>>2]=48;i:{if(!r)break i;t=l[A+11|0],u=(t|0)<0,x(o,u?i[A>>2]:A,u?i[A+4>>2]:t),t=n+32|0,i[t+i[i[n+20>>2]-12>>2]>>2]=4,x(L0(o,0),21688,2),i[t+i[i[n+20>>2]-12>>2]>>2]=2,H0(o,s[e|0]);r:{if(u=r-1|0,u){A=1;break r}x(o,31338,1);break i}for(;;){r:{e:{A:{f:switch(w=A&15,w|0){case 0:break f;case 8:break A;default:break e}_=l[k+11|0],v=(_|0)<0,x(o,v?i[k>>2]:k,v?i[k+4>>2]:_),i[t+i[i[n+20>>2]-12>>2]>>2]=4,x(L0(o,A),21688,2);break r}x(o,21740,2);break r}x(o,21741,1)}if(i[t+i[i[n+20>>2]-12>>2]>>2]=2,H0(o,s[e+A|0]),(A|0)!=(u|0)&(w|0)!=15||x(o,31338,1),A=A+1|0,(A|0)==(r|0))break}}i2(f,h),f=i[13631],i[n+12>>2]=f,i[i[f-12>>2]+(n+12|0)>>2]=i[13639],i[n+20>>2]=i[13640],i[h>>2]=53552,l[n+67|0]<0&&G(i[n+56>>2]),K0(h),T0(n+76|0),B=n+160|0}function U8(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;h=255,n=i[e>>2],t=i[n+64>>2];i:{if(!t){w=-1,_=-1;break i}for(o=n- -64|0,k=o,n=t;u=i[n+16>>2]<(r|0),k=u?k:n,n=i[(u<<2)+n>>2],!!n;);for(_=-1,_=(k|0)==(o|0)|i[k+16>>2]>(r|0)?_:i[k+24>>2],k=o,n=t;u=i[n+16>>2]<(r|0),k=u?k:n,n=i[(u<<2)+n>>2],!!n;);for(w=-1,w=(k|0)==(o|0)|i[k+16>>2]>(r|0)?w:i[k+28>>2],n=o;k=i[t+16>>2]<(r|0),n=k?n:t,t=i[(k<<2)+t>>2],!!t;);if((n|0)==(o|0)|i[n+16>>2]>(r|0))break i;h=s[n+20|0]}J0(f,A,_,w,h),v=i[e>>2],e=v- -64|0;i:{r:{if(n=i[v+64>>2],!n)break r;for(k=e,t=n;o=i[t+16>>2]<(r|0),k=o?k:t,t=i[(o<<2)+t>>2],!!t;);if((e|0)==(k|0))break r;if(h=0,o=0,i[k+16>>2]>(r|0))break i;h=i[k+40>>2],o=i[k+48>>2];break i}h=0,o=0}t=i[f+64>>2],u=0;i:{if(!t)break i;for(u=f- -64|0,k=u;f=i[t+16>>2]<(A|0),k=f?k:t,t=i[(f<<2)+t>>2],!!t;);if((k|0)==(u|0)){u=0;break i}if(u=0,i[k+16>>2]>(A|0))break i;Z=i[k+48>>2],u=i[k+40>>2]}f=u;i:{if((r|0)==10){if(A=31,e=i[v+36>>2]-10|0,e>>>0>=6)break i;A=i[(e<<2)+35392>>2];break i}if(A=0,!n)break i;for(k=e;t=i[n+16>>2]<(r|0),k=t?k:n,n=i[(t<<2)+n>>2],!!n;);if((e|0)==(k|0)|i[k+16>>2]>(r|0))break i;A=(s[k+20|0]+7&248)>>>3|0}i:{if((w|0)<=0)break i;if(n=m(A,_),r=0,(w|0)!=1)for(A=w&2147483646,k=0;l0(f+m(r,Z)|0,m(r,o)+h|0,n),e=r|1,l0(f+m(e,Z)|0,m(e,o)+h|0,n),r=r+2|0,k=k+2|0,(A|0)!=(k|0););if(!(w&1))break i;l0(f+m(r,Z)|0,m(r,o)+h|0,n)}}function gw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0;A=B-160|0,B=A,i[A+68>>2]=54820,u=i[13708],i[A+12>>2]=u,k=A+12|0,i[k+i[u-12>>2]>>2]=i[13709],u=k+i[i[A+12>>2]-12>>2]|0,o=A+16|0,b0(u,o),i[u+72>>2]=0,i[u+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,u=$0(o),i[u>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,o=A+148|0,R2(o,e,r),n=k,t=o,k=l[A+159|0],o=(k|0)<0,x(n,o?i[A+148>>2]:t,o?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),n=k,k=l[A+159|0],o=(k|0)<0,x(A+12|0,o?i[A+148>>2]:n,o?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,h=x(k,20602,6),o=e+56|0,n=l[e+67|0],t=(n|0)<0,x(x(h,t?i[e+56>>2]:o,t?i[e+60>>2]:n),31338,1),n=A+148|0,W0(n,r),t=k,h=n,k=l[A+159|0],n=(k|0)<0,x(t,n?i[A+148>>2]:h,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,h=x(k,21086,6),n=l[e+79|0],t=(n|0)<0,x(x(h,t?i[e+68>>2]:e+68|0,t?i[e+72>>2]:n),31338,1),n=A+148|0,W0(n,r),t=k,h=n,k=l[A+159|0],n=(k|0)<0,x(t,n?i[A+148>>2]:h,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,h=x(k,20174,13),n=l[e+91|0],t=(n|0)<0,x(x(h,t?i[e+80>>2]:e+80|0,t?i[e+84>>2]:n),31338,1),n=A+148|0,W0(n,r),t=k,r=l[A+159|0],k=(r|0)<0,x(t,k?i[A+148>>2]:n,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,t=x(r,19842,6),n=o,k=l[e+67|0],o=(k|0)<0,x(x(t,o?i[e+56>>2]:n,o?i[e+60>>2]:k),31338,1),i2(f,u),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[u>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(u),T0(A+68|0),B=A+160|0}function Nw(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0,Z=0,p=0;h=B-16|0,B=h;i:{if(!wo(t,0)){i[f>>2]=5,i[f+4>>2]=2002,i[f+8>>2]=7709;break i}if(u=U(44),i[u+40>>2]=0,i[u+32>>2]=0,i[u+36>>2]=0,i[u+12>>2]=73364,i[u+4>>2]=0,i[u+8>>2]=0,i[u+28>>2]=n,i[u+24>>2]=k,i[u+20>>2]=A,i[u+16>>2]=r,i[u>>2]=73608,r=u+32|0,A=0,k=m(k,n)+7|0,k>>>0>=8&&(L2(r,k>>>3|0),_=i[u+36>>2],A=i[u+32>>2]),v=u+12|0,k=0,B0(A,0,_-A|0),A=ho(t,0),n=so(t,0),_=T6(t,0,h+12|0),!(!A|!n))for(;;){for(t=0;p=i[r>>2]+((Z&7)<<29|w>>>3)|0,l[p|0]=s[p|0]|(s[(_+m(i[h+12>>2],k)|0)+t|0]&128)>>>(w&7),w=w+1|0,Z=w?Z:Z+1|0,t=t+1|0,(n|0)!=(t|0););if(k=k+1|0,(A|0)==(k|0))break}r=i[e+8>>2],i[h+8>>2]=u,i[h+4>>2]=v,i[u+4>>2]=i[u+4>>2]+1,A=i[r+16>>2];r:{e:{if(A>>>0<k0[r+20>>2]){i[A+4>>2]=u,i[A>>2]=v,i[u+4>>2]=i[u+4>>2]+1,i[r+16>>2]=A+8,n=u;break e}if(A=Q2(r+12|0,h+4|0),n=i[h+8>>2],i[r+16>>2]=A,!n)break r}if(r=i[n+4>>2],i[n+4>>2]=r-1,r)break r;V[i[i[n>>2]+8>>2]](n),g(n)}r:{if(!o||(i[u+4>>2]=i[u+4>>2]+1,r=U(24),i[u+4>>2]=i[u+4>>2]+1,i[r+20>>2]=u,i[r+16>>2]=v,k=i[e+8>>2],A=i[e+12>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+12>>2]=A,i[r+8>>2]=k,A=i[e>>2],e=i[e+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[r+4>>2]=e,i[r>>2]=A,i[o>>2]=r,e=i[u+4>>2],i[u+4>>2]=e-1,e))break r;V[i[i[u>>2]+8>>2]](u),g(u)}if(e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],f=i[u+4>>2],i[u+4>>2]=f-1,f)break i;V[i[i[u>>2]+8>>2]](u),g(u)}B=h+16|0}function gr(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0;k=B-32|0,B=k,A=180,t=1;i:{r:{e:A:{f:switch(r-2|0){case 2:t=0;break r;case 3:A=270,o=1;break e;case 4:A=270;break A;case 5:A=270,t=0,o=1;break e;case 0:break r;case 1:break e;case 6:break f;default:break i}A=90}r=U(72),i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=71064,n=r+16|0,i[n+8>>2]=0,i[n+12>>2]=0,i[n+16>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,i[n+28>>2]=0,i[n+32>>2]=0,i[n>>2]=68500,i[r+60>>2]=0,i[r+52>>2]=0,i[r+56>>2]=0,i[n>>2]=69432,i[r+64>>2]=A,i[r+32>>2]=1769107316,A=i[f+44>>2],i[k+28>>2]=r,i[k+24>>2]=n,i[r+4>>2]=i[r+4>>2]+1,n=N4(A,k+24|0),A=i[k+28>>2];e:{if(!A||(u=i[A+4>>2],i[A+4>>2]=u-1,u))break e;V[i[i[A>>2]+8>>2]](A),g(A)}if(A=i[f+52>>2],X[k+22>>1]=n+1,l[k+20|0]=0,i[k+12>>2]=Q[k+20>>1]|Q[k+22>>1]<<16,c1(A,e,k+12|0),A=i[r+4>>2],i[r+4>>2]=A-1,A||(V[i[i[r>>2]+8>>2]](r),g(r)),!o)break i}r=U(72),i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=71104,A=r+16|0,i[A+8>>2]=0,i[A+12>>2]=0,i[A+16>>2]=0,i[A+20>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,i[A+32>>2]=0,i[A>>2]=68500,i[r+60>>2]=0,i[r+52>>2]=0,i[r+56>>2]=0,i[A>>2]=69492,i[r+64>>2]=t,i[r+32>>2]=1768778098,n=i[f+44>>2],i[k+28>>2]=r,i[k+24>>2]=A,i[r+4>>2]=i[r+4>>2]+1,n=N4(n,k+24|0),A=i[k+28>>2];r:{if(!A||(t=i[A+4>>2],i[A+4>>2]=t-1,t))break r;V[i[i[A>>2]+8>>2]](A),g(A)}if(f=i[f+52>>2],X[k+18>>1]=n+1,l[k+16|0]=0,i[k+8>>2]=Q[k+16>>1]|Q[k+18>>1]<<16,c1(f,e,k+8|0),f=i[r+4>>2],i[r+4>>2]=f-1,f)break i;V[i[i[r>>2]+8>>2]](r),g(r)}B=k+32|0}function Rw(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0;n=B-48|0,B=n;i:{if(!(k&&e)){i[f>>2]=5,i[f+4>>2]=2001,i[f+8>>2]=7049;break i}t=i[e>>2],u=i[t+48>>2],t=i[t+52>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),i[n+44>>2]=0,i[n+36>>2]=0,i[n+40>>2]=0,o=n+16|0,I1(o,u,r,n+36|0);r:{if(i[n+16>>2]){P0(f,o,i[e>>2]);break r}if(r=A-1|0,e=i[n+36>>2],r>>>0>=i[n+40>>2]-e>>3>>>0){i[f>>2]=5,i[f+4>>2]=2007,i[f+8>>2]=10388;break r}e=e+(r<<3)|0,r=i[e>>2],e=i[e+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1);e:{A:{f:{k:{n:{if(!r||(r=N0(r,68572,68704),!r))break n;if(e&&(i[e+4>>2]=i[e+4>>2]+1),i[n+12>>2]=0,i[n+4>>2]=0,i[n+8>>2]=0,u=i[r+52>>2],A=i[r+48>>2],o=(u|0)==(A|0),o)break f;if(r=u-A|0,(r|0)<0)break k;A=l0(U(r),A,r),o||l0(k,A,r),r=i[18411],i[f>>2]=i[18410],i[f+4>>2]=r,i[f+8>>2]=i[18412],G(A);break A}i[f>>2]=5,i[f+4>>2]=2007,i[f+8>>2]=1956;break e}y0(),P()}r=i[18411],i[f>>2]=i[18410],i[f+4>>2]=r,i[f+8>>2]=i[18412]}if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break e;V[i[i[e>>2]+8>>2]](e),g(e)}if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break r;V[i[i[e>>2]+8>>2]](e),g(e)}if(l[n+35|0]<0&&G(i[n+24>>2]),r=i[n+36>>2],r){if(f=r,e=i[n+40>>2],(f|0)!=(e|0)){for(;;){f=i[e-4>>2];r:{if(!f||(A=i[f+4>>2],i[f+4>>2]=A-1,A))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(e=e-8|0,(r|0)==(e|0))break}f=i[n+36>>2]}i[n+40>>2]=r,G(f)}if(!t||(f=i[t+4>>2],i[t+4>>2]=f-1,f))break i;V[i[i[t>>2]+8>>2]](t),g(t)}B=n+48|0}function Dw(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0;for(Z=B-16|0,B=Z,u=r;;){i:{if((A|0)==(u|0)){u=A;break i}if(!i[u>>2])break i;u=u+4|0;continue}break}i[o>>2]=n,i[k>>2]=r;i:{for(;;){r:{e:{if(!((r|0)==(A|0)|(n|0)==(t|0))){h=i[e+4>>2],i[Z+8>>2]=i[e>>2],i[Z+12>>2]=h,y=1,p=B-16|0,B=p,i[p+12>>2]=i[f+8>>2],E=S4(p+8|0,p+12|0),h=n,w=t-h|0,W=0,C=B-16|0,B=C,_=i[k>>2],I=u-r>>2;A:{if(!_|!I)break A;for(w=h?w:0;;){if(v=ie(w>>>0<4?C+12|0:h,i[_>>2]),(v|0)==-1){W=-1;break A}if(h){if(w>>>0<=3){if(w>>>0<v>>>0)break A;l0(h,C+12|0,v)}w=w-v|0,h=h+v|0}else h=0;if(!i[_>>2]){_=0;break A}if(W=W+v|0,_=_+4|0,I=I-1|0,!I)break}}h&&(i[k>>2]=_),B=C+16|0,h=i[E>>2],h&&(i[23985]=(h|0)==-1?95820:h),B=p+16|0;A:{f:{k:switch(W+1|0){case 0:for(i[o>>2]=n;;){if(i[k>>2]==(r|0)||(e=y3(n,i[r>>2],i[f+8>>2]),(e|0)==-1))break f;n=e+i[o>>2]|0,i[o>>2]=n,r=r+4|0}case 1:break i;default:break k}if(n=i[o>>2]+W|0,i[o>>2]=n,(n|0)==(t|0))break A;if((A|0)==(u|0)){r=i[k>>2],u=A;continue}if(r=Z+4|0,u=y3(r,0,i[f+8>>2]),(u|0)==-1)break r;if(t-i[o>>2]>>>0<u>>>0)break i;for(;;){if(u){n=s[r|0],h=i[o>>2],i[o>>2]=h+1,l[h|0]=n,u=u-1|0,r=r+1|0;continue}break}for(r=i[k>>2]+4|0,i[k>>2]=r,u=r;;){if((A|0)==(u|0)){u=A;break e}if(!i[u>>2])break e;u=u+4|0}}i[k>>2]=r;break r}r=i[k>>2]}y=(r|0)!=(A|0);break i}n=i[o>>2];continue}break}y=2}return B=Z+16|0,y|0}function yA(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;A=B-32|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(A,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(k=i[19565],i[A>>2]=i[19564],i[A+4>>2]=k,k=A+8|0,l[78275]>=0){t=i[19567],i[k>>2]=i[19566],i[k+4>>2]=t,i[k+8>>2]=i[19568];break i}_0(k,i[19566],i[19567])}i:{r:{e:{if(i[A>>2]!=i[19564]){e=i[A+4>>2],i[f>>2]=i[A>>2],i[f+4>>2]=e,i[f+16>>2]=i[A+16>>2],e=i[A+12>>2],i[f+8>>2]=i[A+8>>2],i[f+12>>2]=e,i[A+16>>2]=0,i[A+8>>2]=0,i[A+12>>2]=0;break e}Z=e,p=D0(r),i[Z+56>>2]=p,w=D0(r);A:{if(!w|!i[r+16>>2])break A;for(;;){u=D0(r),t=i[e+64>>2],n=i[e+68>>2];f:{if(t>>>0<n>>>0){i[t>>2]=u,u=t+4|0;break f}if(h=i[e+60>>2],o=t-h>>2,k=o+1|0,k>>>0>=1073741824)break r;if(v=o<<2,n=n-h|0,o=n>>1,o=n>>>0>=2147483644?1073741823:k>>>0<o>>>0?o:k,o){if(o>>>0>=1073741824)break i;k=U(o<<2)}else k=0;if(n=v+k|0,i[n>>2]=u,u=n+4|0,(t|0)!=(h|0))for(;n=n-4|0,t=t-4|0,i[n>>2]=i[t>>2],(t|0)!=(h|0););if(i[e+68>>2]=k+(o<<2),i[e+64>>2]=u,i[e+60>>2]=n,!h)break f;G(h)}if(i[e+64>>2]=u,_=_+1|0,_>>>0>=w>>>0)break A;if(!i[r+16>>2])break}}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break e}_0(f,i[19566],i[19567])}l[A+19|0]<0&&G(i[A+8>>2]),B=A+32|0;return}y0(),P()}_2(),P()}function rn(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;if(k=B-160|0,B=k,i[k+68>>2]=54820,n=i[13708],i[k+12>>2]=n,t=k+12|0,i[t+i[n-12>>2]>>2]=i[13709],n=t+i[i[k+12>>2]-12>>2]|0,u=k+16|0,b0(n,u),i[n+72>>2]=0,i[n+76>>2]=-1,i[k+68>>2]=54820,i[k+12>>2]=54800,w=$0(u),i[w>>2]=53552,i[k+56>>2]=0,i[k+60>>2]=0,i[k+48>>2]=0,i[k+52>>2]=0,i[k+64>>2]=16,u=1,n=i[r>>2]+1|0,i[r>>2]=n,o=i[e+36>>2],e=i[e+40>>2],(o|0)!=(e|0)){if(A&&(n=k+148|0,W0(n,r),h=n,n=l[k+159|0],u=(n|0)<0,x(t,u?i[k+148>>2]:h,u?i[k+152>>2]:n),l[k+159|0]<0&&G(i[k+148>>2]),x(H0(x(k+12|0,19522,7),1),31338,1),u=2),n=k+148|0,t=i[o>>2],V[i[i[t>>2]+8>>2]](n,t,r),h=n,n=l[k+159|0],t=(n|0)<0,x(k+12|0,t?i[k+148>>2]:h,t?i[k+152>>2]:n),l[k+159|0]<0&&G(i[k+148>>2]),n=o+8|0,(e|0)!=(n|0))for(;t=k+148|0,W0(t,r),h=t,t=l[k+159|0],o=(t|0)<0,x(k+12|0,o?i[k+148>>2]:h,o?i[k+152>>2]:t),l[k+159|0]<0&&G(i[k+148>>2]),t=k+12|0,x(t,31338,1),A&&(o=k+148|0,W0(o,r),_=t,h=o,t=l[k+159|0],o=(t|0)<0,x(_,o?i[k+148>>2]:h,o?i[k+152>>2]:t),l[k+159|0]<0&&G(i[k+148>>2]),x(H0(x(k+12|0,19522,7),u),31338,1),u=u+1|0),t=k+148|0,o=i[n>>2],V[i[i[o>>2]+8>>2]](t,o,r),h=t,t=l[k+159|0],o=(t|0)<0,x(k+12|0,o?i[k+148>>2]:h,o?i[k+152>>2]:t),l[k+159|0]<0&&G(i[k+148>>2]),n=n+8|0,(e|0)!=(n|0););n=i[r>>2]}i[r>>2]=(n|0)>0?n-1|0:0,i2(f,w),f=i[13707],i[k+12>>2]=f,i[i[f-12>>2]+(k+12|0)>>2]=i[13710],i[w>>2]=53552,l[k+59|0]<0&&G(i[k+48>>2]),K0(w),T0(k+68|0),B=k+160|0}function en(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0;f=B-16|0,B=f,i[f+12>>2]=r,i[f+8>>2]=n,i[f+12>>2]=r,i[f+8>>2]=n;i:{r:{e:{for(;;){A:{if(n=i[f+12>>2],n>>>0>=A>>>0||(w=i[f+8>>2],w>>>0>=t>>>0))break A;e=2,u=s[n|0];f:{if(u<<24>>24>=0){X[w>>1]=u,e=n+1|0;break f}if(u>>>0<194)break r;if(u>>>0<=223){if(r=1,(A-n|0)<2)break i;if(r=s[n+1|0],(r&192)!=128)break e;X[w>>1]=r&63|u<<6&1984,e=n+2|0;break f}if(u>>>0<=239){if(e=1,h=A-n|0,(h|0)<2)break e;r=s[n+1|0];k:{n:{if((u|0)!=237){if((u|0)!=224)break n;if((r&224)!=160)break r;break k}if((r&224)!=128)break r;break k}if((r&192)!=128)break r}if((h|0)==2)break e;if(e=s[n+2|0],(e&192)!=128)break r;X[w>>1]=e&63|((r&63)<<6|u<<12),e=n+3|0;break f}if(u>>>0>244)break r;if(e=1,h=A-n|0,(h|0)<2)break e;r=s[n+1|0];k:{n:switch(u-240|0){case 0:if((r+112&255)>>>0>=48)break r;break k;case 4:if((r&240)!=128)break r;break k;default:break n}if((r&192)!=128)break r}if((h|0)==2)break e;if(_=s[n+2|0],(_&192)!=128)break r;if((h|0)==3)break e;if(n=s[n+3|0],(n&192)!=128)break r;if((t-w|0)<3||(e=2,n=n&63,h=_<<6,u=u&7,(n|(h&4032|(r<<12&258048|u<<18)))>>>0>1114111))break e;e=r<<2,X[w>>1]=(_>>>4&3|(e&192|u<<8|e&60))+16320|55296,i[f+8>>2]=w+2,X[w+2>>1]=n|h&960|56320,e=i[f+12>>2]+4|0}i[f+12>>2]=e,i[f+8>>2]=i[f+8>>2]+2;continue}break}e=A>>>0>n>>>0}r=e;break i}r=2}return i[k>>2]=i[f+12>>2],i[o>>2]=i[f+8>>2],B=f+16|0,r|0}function An(f){var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0;e=i[f+4>>2],k=i[e+124>>2],i[f+24>>2]=k,u=i[e+132>>2],i[f+28>>2]=u;i:{if(!i[f+12>>2]){A=1,h=1;break i}A=i[k+16856>>2],h=i[k+16852>>2]}i[f+300>>2]=A,i[f+296>>2]=h,p=m(i[f+20>>2],A),W=i[k+16892>>2],n=i[k+16876>>2],r=i[f+16>>2],C=m(r,h),C||(l[f+307|0]=0,l[f+304|0]=0),p||(l[f+307|0]=0,l[f+305|0]=0,l[f+306|0]=0),I=i[f+8>>2],w=m(r+I|0,h),(w|0)>=i[k+484>>2]&&(l[f+306|0]=0),t=i[e+140>>2],o=i[e+152>>2],_=p>>n,J=t+m(m(o,_),24)|0,R=-1,r=C-1>>n,y=-1,v=s[f+304|0],y=(v|0)==1?Q[m(r,24)+J>>1]:y,E=C>>n,e=p-1>>n,Z=s[f+305|0],(Z|0)==1&&(R=Q[(t+m(m(e,o),24)|0)+m(E,24)>>1]),w=w>>n,D=-1,z=-1,H=s[f+306|0],(H|0)==1&&(z=Q[(t+m(m(e,o),24)|0)+m(w,24)>>1]),a=s[f+307|0],(a|0)==1&&(D=Q[(t+m(m(e,o),24)|0)+m(r,24)>>1]),o=m(W,_)<<2,n=i[u+8484>>2],t=-1,u=-1,u=v?i[o+(n+(r<<2)|0)>>2]:u,_=n+(E<<2)|0,t=Z?i[_+(m(e,W)<<2)>>2]:t,v=-1,Z=-1,a&&(Z=i[(n+(r<<2)|0)+(m(e,W)<<2)>>2]),r=Q[m(E,24)+J>>1],H&&(v=i[(n+(w<<2)|0)+(m(e,W)<<2)>>2]),e=i[o+_>>2],(r|0)==(y|0)&(e|0)==(u|0)||(l[f+304|0]=0),(r|0)==(R|0)&(e|0)==(t|0)||(l[f+305|0]=0),(r|0)==(D|0)&(e|0)==(Z|0)||(l[f+307|0]=0),(r|0)==(z|0)&(e|0)==(v|0)||(l[f+306|0]=0),A=(i[k+488>>2]+((p^-1)+A|0)|0)/(A|0)|0,e=I<<1,i[f+308>>2]=(e|0)>(A|0)?A:e,k=i[k+484>>2],i[f+316>>2]=0,A=f+160|0,i[f+292>>2]=A,r=f,f=(k+((C^-1)+h|0)|0)/(h|0)|0,i[r+312>>2]=(f|0)<(e|0)?f:e,B0(A-e|0,0,I<<2|1)}function Uw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;if(A=B-160|0,B=A,i[A+68>>2]=54820,k=i[13708],i[A+12>>2]=k,t=i[k-12>>2],k=A+12|0,i[t+k>>2]=i[13709],o=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(o,n),i[o+72>>2]=0,i[o+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,o=$0(n),i[o>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,mn(n,e,r),u=k,t=n,k=l[A+159|0],n=(k|0)<0,x(u,n?i[A+148>>2]:t,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),t=k,k=l[A+159|0],n=(k|0)<0,x(A+12|0,n?i[A+148>>2]:t,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),x(L0(x(L0(x(A+12|0,20773,11),Q[e+72>>1]),2490,1),Q[e+74>>1]),31338,1),k=i[e+76>>2],w=i[e+80>>2],(k|0)!=(w|0))for(e=0;n=A+148|0,W0(n,r),u=n,n=l[A+159|0],t=(n|0)<0,x(A+12|0,t?i[A+148>>2]:u,t?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),n=x(H0(x(A+12|0,18847,6),e),30585,2),t=A+148|0,W0(t,r),u=t,t=l[A+159|0],h=(t|0)<0,x(n,h?i[A+148>>2]:u,h?i[A+152>>2]:t),l[A+159|0]<0&&G(i[A+148>>2]),n=x(L0(x(n,20549,11),Q[k>>1]),31338,1),t=A+148|0,W0(t,r),u=t,t=l[A+159|0],h=(t|0)<0,x(n,h?i[A+148>>2]:u,h?i[A+152>>2]:t),l[A+159|0]<0&&G(i[A+148>>2]),x(H0(x(H0(x(n,20009,9),Q[k+2>>1]+1|0),2490,1),Q[k+4>>1]+1|0),31338,1),e=e+1|0,k=k+6|0,(w|0)!=(k|0););i2(f,o),f=i[13707],i[A+12>>2]=f,i[i[f-12>>2]+(A+12|0)>>2]=i[13710],i[o>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(o),T0(A+68|0),B=A+160|0}function Mw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;t=B-16|0,B=t,A=i[f+8>>2],i[t+12>>2]=0,i[t+4>>2]=0,i[t+8>>2]=0;i:{r:{e:{n=i[A+12>>2],u=i[A+16>>2];A:{if((n|0)==(u|0)){A=0;break A}if(A=u-n|0,(A|0)<0)break e;for(k=U(A),i[t+4>>2]=k,i[t+12>>2]=A+k,A=k;i[A>>2]=i[n>>2],o=i[n+4>>2],i[A+4>>2]=o,o&&(i[o+4>>2]=i[o+4>>2]+1),A=A+8|0,n=n+8|0,(u|0)!=(n|0););i[t+8>>2]=A}if(A=A-k>>3,o=(r|0)>(A|0)?A:r,(o|0)<=0)break i;for(n=0;;){r=U(24),i[r>>2]=0,i[r+4>>2]=0,i[r+16>>2]=0,i[r+20>>2]=0,i[r+8>>2]=0,i[r+12>>2]=0,k=i[f>>2],A=i[f+4>>2];A:{if(!A){i[r+4>>2]=A,i[r>>2]=k;break A}if(i[A+4>>2]=i[A+4>>2]+1,i[r>>2]=k,k=i[r+4>>2],i[r+4>>2]=A,!k||(A=i[k+4>>2],i[k+4>>2]=A-1,A))break A;V[i[i[k>>2]+8>>2]](k),g(k)}k=i[f+8>>2],A=i[f+12>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+8>>2]=k,k=i[r+12>>2],i[r+12>>2]=A;A:{if(!k||(A=i[k+4>>2],i[k+4>>2]=A-1,A))break A;V[i[i[k>>2]+8>>2]](k),g(k)}k=i[t+4>>2]+(n<<3)|0,u=i[k>>2],A=i[k+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+16>>2]=u,k=i[r+20>>2],i[r+20>>2]=A;A:{if(!k||(A=i[k+4>>2],i[k+4>>2]=A-1,A))break A;V[i[i[k>>2]+8>>2]](k),g(k)}if(i[(n<<2)+e>>2]=r,n=n+1|0,(o|0)==(n|0))break}break r}y0(),P()}k=i[t+4>>2]}if(k){if(A=i[t+8>>2],(k|0)!=(A|0)){for(;;){f=i[A-4>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}if(A=A-8|0,(k|0)==(A|0))break}k=i[t+4>>2]}G(k)}return B=t+16|0,o|0}function d1(f,e,r,A,k,n,t,o,u,h){var w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;p=i[f+18592>>2],_=f+18548|0,w=f2(_,i[f+18572>>2]+147|0),v=w<<4&16|s[f+26|0]&-17,l[f+26|0]=v,W=f+16|0;i:{r:{if(w){w=0;e:{if(i[i[f+18592>>2]+812>>2]<2||!f2(_,i[f+18572>>2]+148|0)||(w=32,i[i[f+18592>>2]+812>>2]<3))break e;for(w=1;x1(_)&&(w=w+1|0,(w|0)<(i[i[f+18592>>2]+812>>2]-1|0)););w=w<<5}o=s[f+26|0]&31|w;break r}w=1;e:{A:{f:{if(!i[p+28>>2]){if(w=i[f+18572>>2],(n+t|0)==12||!f2(_,(o+w|0)+156|0))break f;v=s[f+26|0],w=3}l[f+26|0]=v&252|w;break A}if(w=f2(_,w+160|0)+1|0,l[f+26|0]=w&3|s[f+26|0]&252,v=2,(w|0)==2)break e}v=w,w=0,o=i[p+336>>2];A:{if((o|0)<2||!f2(_,i[f+18572>>2]+154|0))break A;if(Z=o-2|0,!Z){w=1;break A}if(w=1,!f2(_,i[f+18572>>2]+155|0))break A;for(o=o-1|0;;){if((w|0)==(Z|0)){w=o;break A}if(w=w+1|0,!x1(_))break}}if(l[f+16|0]=w,o9(f,0),C=f,I=f2(_,i[f+18572>>2]+152|0)<<2&4|s[f+26|0]&251,l[C+26|0]=I,(v|0)==1)break i}w=0,o=i[p+340>>2];e:{if((o|0)<2||!f2(_,i[f+18572>>2]+154|0))break e;if(Z=o-2|0,!Z){w=1;break e}if(w=1,!f2(_,i[f+18572>>2]+155|0))break e;for(o=o-1|0;;){if((w|0)==(Z|0)){w=o;break e}if(w=w+1|0,!x1(_))break}}l[f+17|0]=w;e:{if(!(!s[p+378|0]|(v|0)!=3)){X[f+22>>1]=0,X[f+24>>1]=0;break e}o9(f,1)}o=f2(_,i[f+18572>>2]+152|0)<<3&8|s[f+26|0]&-9}l[f+26|0]=o}nk(i[f+18584>>2],i[f+18592>>2],i[f+18588>>2],W,e,r,A,k,u,n,t,h)}function fn(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0;p=B-16|0,B=p,v=i[f+12>>2],h=i[f+8>>2],w=v-h>>2;i:{if((h|0)!=(v|0))for(_=w>>>0<=1?1:w;;){if(o=i[h+(u<<2)>>2],!(s[o+104|0]|i[o+100>>2])){aA(o),v=i[f+12>>2],w=v-i[f+8>>2]>>2;break i}if(u=u+1|0,(_|0)==(u|0))break}u=-9}i:{if((w-1|0)==(u|0)|k0[f+4>>2]>=w>>>0||(h=i[v-4>>2],s[h+104|0]|i[h+100>>2]))break i;G(zA(h)),v=i[f+12>>2]-4|0,i[f+12>>2]=v}i:{r:{e:{if((u|0)==-9){W=i[f+8>>2],w=N7(U(416)),u=i[f+12>>2],o=i[f+16>>2];A:{if(u>>>0<o>>>0){i[u>>2]=w,w=u+4|0;break A}if(_=i[f+8>>2],Z=u-_>>2,h=Z+1|0,h>>>0>=1073741824)break e;if(C=Z<<2,o=o-_|0,Z=o>>1,Z=o>>>0>=2147483644?1073741823:h>>>0<Z>>>0?Z:h,Z){if(Z>>>0>=1073741824)break r;h=U(Z<<2)}else h=0;if(o=C+h|0,i[o>>2]=w,w=o+4|0,(u|0)!=(_|0)){for(;o=o-4|0,u=u-4|0,i[o>>2]=i[u>>2],(u|0)!=(_|0););_=i[f+8>>2]}if(i[f+16>>2]=h+(Z<<2),i[f+12>>2]=w,i[f+8>>2]=o,!_)break A;G(_)}i[f+12>>2]=w,u=v-W>>2}A:{if((u|0)<0){o=i[e+4>>2];break A}if(h=i[e>>2],w=i[h+476>>2],w>>>0>=4)break i;if(f=i[i[f+8>>2]+(u<<2)>>2],_=i[h+488>>2],v=i[h+484>>2],i[p+8>>2]=h,o=i[e+4>>2],i[p+12>>2]=o,o&&(i[o+4>>2]=i[o+4>>2]+1),e=i[p+12>>2],i[p>>2]=i[p+8>>2],i[p+4>>2]=e,e=Fk(f,v,_,w,p,1,r,A,k,n,t),e){u=0-e|0;break A}l[f+312|0]=0}A:{if(!o||(f=i[o+4>>2],i[o+4>>2]=f-1,f))break A;V[i[i[o>>2]+8>>2]](o),g(o)}return B=p+16|0,u}y0(),P()}_2(),P()}C0(17356,14064,263,10577),P()}function kn(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;k=B-16|0,B=k;i:{r=i[f+4>>2];r:{if(r>>>0<e>>>0){t=e-r|0,n=i[f+8>>2],A=n<<5;e:{if(!(t>>>0>A>>>0|r>>>0>A-t>>>0)){i[f+4>>2]=e,A=r&31,e=i[f>>2]+(r>>>3&536870908)|0;break e}if(i[k+12>>2]=0,i[k+4>>2]=0,i[k+8>>2]=0,(e|0)<0)break i;A:{if(A>>>0<=1073741822?(r=n<<6,e=e+31&-32,e=e>>>0<r>>>0?r:e):e=2147483647,e>>>0<=i[k+12>>2]<<5>>>0)break A;if((e|0)>=0){if(w=(e-1>>>5|0)+1|0,n=U(w<<2),A=i[k+4>>2],e=i[k+8>>2],i[n+((e>>>0>=33?e-1>>>5|0:0)<<2)>>2]=0,e)for(_=e&31,v=A+(e>>>3&536870908)|0,e=n,r=A;o=1<<u,i[r>>2]>>>h&1?o=o|i[e>>2]:o=i[e>>2]&(o^-1),i[e>>2]=o,o=(u|0)==31,u=o?0:u+1|0,e=(o<<2)+e|0,o=(h|0)==31,r=(o<<2)+r|0,h=o?0:h+1|0,!!((_|0)!=(h|0)|(r|0)!=(v|0)););if(i[k+12>>2]=w,i[k+4>>2]=n,!A)break A;G(A);break A}y0(),P()}A=i[f+4>>2],i[k+8>>2]=A+t,r=i[f>>2],e=i[k+4>>2];A:{if((A|0)<=0){A=0;break A}n=A>>>5|0,A>>>0>=32&&F2(e,r,n<<2),n=n<<2,e=n+e|0,A=A&31,A&&(u=-1>>>32-A|0,i[e>>2]=i[e>>2]&(u^-1)|u&i[r+n>>2]),r=i[f>>2]}if(i[f>>2]=i[k+4>>2],i[k+4>>2]=r,n=i[f+4>>2],i[f+4>>2]=i[k+8>>2],i[k+8>>2]=n,n=i[f+8>>2],i[f+8>>2]=i[k+12>>2],i[k+12>>2]=n,!r)break e;G(r)}if(!t||(A&&(f=32-A|0,r=f>>>0<t>>>0?f:t,i[e>>2]=i[e>>2]&(-1<<A&-1>>>f-r^-1),t=t-r|0,e=e+4|0),f=t>>>5|0,t>>>0>=32&&B0(e,0,f<<2),r=t&31,!r))break r;f=(f<<2)+e|0,i[f>>2]=i[f>>2]&(-1>>>32-r^-1);break r}i[f+4>>2]=e}B=k+16|0;return}y0(),P()}function s6(f,e){var r=0,A=0,k=0,n=0;k=B-16|0,B=k,r=U(136),i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=72792,B0(r+20|0,0,104),i[r+56>>2]=0,i[r+60>>2]=0,i[r+44>>2]=99,i[r+48>>2]=99,i[r+32>>2]=34648,A=r- -64|0,i[A>>2]=0,i[A+4>>2]=0,i[r+132>>2]=0,i[r+124>>2]=0,i[r+128>>2]=0,i[r+84>>2]=1,i[r+88>>2]=1,i[r+72>>2]=r+76,i[r+92>>2]=0,i[r+96>>2]=0,i[r+100>>2]=0,i[r+104>>2]=0,i[r+108>>2]=0,i[r+112>>2]=0,l[r+113|0]=0,l[r+114|0]=0,l[r+115|0]=0,l[r+116|0]=0,l[r+117|0]=0,l[r+118|0]=0,l[r+119|0]=0,l[r+120|0]=0,i[f+4>>2]=r,A=r+12|0,i[f>>2]=A,i[r+12>>2]=A,i[r+8>>2]=i[r+8>>2]+1,i[r+16>>2]=r,i[r+4>>2]==-1&&(V[i[i[r>>2]+8>>2]](r),g(r)),r=i[e>>2],A=i[r+24>>2],n=i[r+28>>2],r=i[f>>2],i[r+36>>2]=0,i[r+32>>2]=2,i[r+28>>2]=n,i[r+24>>2]=A,i[k+8>>2]=i[e>>2],e=i[e+4>>2],i[k+12>>2]=e,e&&(i[e+4>>2]=i[e+4>>2]+1),U8(r,k+8|0,6,0),e=i[k+12>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=U(24),l[e+22|0]=1,X[e+20>>1]=2,i[e+16>>2]=131074,i[e+12>>2]=72992,i[e+4>>2]=0,i[e+8>>2]=0,i[e>>2]=72832,r=e+12|0,l[r+10|0]=1,X[r+8>>1]=6,i[r+4>>2]=851969,l[r+10|0]=1,X[r+8>>1]=2,i[r+4>>2]=131074,l[e+22|0]=1,A=i[f>>2],i[e+4>>2]=i[e+4>>2]+2,i[A+44>>2]=r,f=i[A+48>>2],i[A+48>>2]=e;i:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break i;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[e+4>>2],i[e+4>>2]=f-1,f||(V[i[i[e>>2]+8>>2]](e),g(e)),f=i[e+4>>2],i[e+4>>2]=f-1,f||(V[i[i[e>>2]+8>>2]](e),g(e)),B=k+16|0}function xw(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0;A=B-16|0,B=A,e=U(136),i[e+4>>2]=0,i[e+8>>2]=0,i[e>>2]=72792,B0(e+20|0,0,104),k=i[e+4>>2],t=k+1|0,i[e+4>>2]=t,i[e+56>>2]=0,i[e+60>>2]=0,i[e+44>>2]=99,i[e+48>>2]=99,i[e+32>>2]=3795,n=e- -64|0,i[n>>2]=0,i[n+4>>2]=0,i[e+132>>2]=0,i[e+124>>2]=0,i[e+128>>2]=0,i[e+84>>2]=1,i[e+88>>2]=1,i[e+72>>2]=e+76,i[e+92>>2]=0,i[e+96>>2]=0,i[e+100>>2]=0,i[e+104>>2]=0,i[e+108>>2]=0,i[e+112>>2]=0,l[e+113|0]=0,l[e+114|0]=0,l[e+115|0]=0,l[e+116|0]=0,l[e+117|0]=0,l[e+118|0]=0,l[e+119|0]=0,l[e+120|0]=0,n=e+12|0,i[e+12>>2]=n,i[e+8>>2]=i[e+8>>2]+1,i[e+4>>2]=k,i[e+16>>2]=e,t||(V[i[i[e>>2]+8>>2]](e),g(e));i:{r:{if(k=i[r>>2],o=i[k+36>>2]-12|0,o>>>0>3||(t=i[k+24>>2],h=i[k+28>>2],k=h,i[n+36>>2]=i[(o<<2)+41172>>2],i[n+32>>2]=1,i[n+28>>2]=k,i[n+24>>2]=t,!J0(n,10,t,k,U0(i[r>>2],10))))break r;k=0,i[A+12>>2]=0,i[A+8>>2]=0,t=v0(i[r>>2],10,A+12|0),o=v0(n,10,A+8|0);e:{if((h|0)<=0||(r=i[A+8>>2],u=i[A+12>>2],u=(r|0)<(u|0)?r:u,(u|0)<=0))break e;for(;;){for(r=0;l[(o+m(i[A+8>>2],k)|0)+r|0]=s[((t+m(i[A+12>>2],k)|0)+r|0)+1|0],l[((o+m(i[A+8>>2],k)|0)+r|0)+1|0]=s[(t+m(i[A+12>>2],k)|0)+r|0],r=r+2|0,(u|0)>(r|0););if(k=k+1|0,(h|0)==(k|0))break}}i[f+4>>2]=e,i[f>>2]=n;break i}if(i[f>>2]=0,i[f+4>>2]=0,f=i[e+4>>2],i[e+4>>2]=f-1,f)break i;V[i[i[e>>2]+8>>2]](e),g(e)}B=A+16|0}function zw(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0;for(f=B-272|0,B=f,i[f+264>>2]=r,i[f+268>>2]=e,u3(f+208|0,A,f+224|0,f+223|0,f+222|0),r=B-16|0,B=r,e=f+196|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+192>>2]=r,i[f+28>>2]=f+32,i[f+24>>2]=0,l[f+23|0]=1,l[f+22|0]=69;;){i:{if(J2(f+268|0,f+264|0))break i;t=i[f+192>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+192>>2]=A+r),t=f+268|0,A=i[t>>2],o=i[A+12>>2];r:{if((o|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=s[o|0]}if(EA(A<<24>>24,f+23|0,f+22|0,r,f+192|0,l[f+223|0],l[f+222|0],f+208|0,f+32|0,f+28|0,f+24|0,f+224|0))break i;E1(t);continue}break}s[f+219|0]>>>7|0?A=i[f+212>>2]:A=s[f+219|0]&127;i:{if(!A|s[f+23|0]!=1||(A=i[f+28>>2],(A-(f+32|0)|0)>159))break i;i[f+28>>2]=A+4,i[A>>2]=i[f+24>>2]}return Tn(f,r,i[f+192>>2],k),r=i[f>>2],A=i[f+4>>2],t=i[f+12>>2],i[n+8>>2]=i[f+8>>2],i[n+12>>2]=t,i[n>>2]=r,i[n+4>>2]=A,K1(f+208|0,f+32|0,i[f+28>>2],k),J2(f+268|0,f+264|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+268>>2],z0(e),z0(f+208|0),B=f+272|0,r|0}function Hw(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0;for(f=B-384|0,B=f,i[f+376>>2]=r,i[f+380>>2]=e,l3(f+220|0,A,f+240|0,f+236|0,f+232|0),r=B-16|0,B=r,e=f+208|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+204>>2]=r,i[f+28>>2]=f+32,i[f+24>>2]=0,l[f+23|0]=1,l[f+22|0]=69;;){i:{if(g2(f+380|0,f+376|0))break i;t=i[f+204>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+204>>2]=A+r),t=f+380|0,A=i[t>>2],o=i[A+12>>2];r:{if((o|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=i[o>>2]}if(FA(A,f+23|0,f+22|0,r,f+204|0,i[f+236>>2],i[f+232>>2],f+220|0,f+32|0,f+28|0,f+24|0,f+240|0))break i;Y1(t);continue}break}s[f+231|0]>>>7|0?A=i[f+224>>2]:A=s[f+231|0]&127;i:{if(!A|s[f+23|0]!=1||(A=i[f+28>>2],(A-(f+32|0)|0)>159))break i;i[f+28>>2]=A+4,i[A>>2]=i[f+24>>2]}return Tn(f,r,i[f+204>>2],k),r=i[f>>2],A=i[f+4>>2],t=i[f+12>>2],i[n+8>>2]=i[f+8>>2],i[n+12>>2]=t,i[n>>2]=r,i[n+4>>2]=A,K1(f+220|0,f+32|0,i[f+28>>2],k),g2(f+380|0,f+376|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+380>>2],z0(e),z0(f+220|0),B=f+384|0,r|0}function Tw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;n=B+-64|0,B=n;i:{if(Q1(e,67512,0)){i[r>>2]=0,A=1;break i}r:{if(s[f+8|0]&24)k=1;else{if(!e||(t=N0(e,67148,67244),!t))break r;k=(s[t+8|0]&24)!=0}k=Q1(f,e,k)}if(k){if(A=1,f=i[r>>2],!f)break i;i[r>>2]=i[f>>2];break i}r:{if(!e)break r;if(t=N0(e,67148,67292),!t||(e=i[r>>2],e&&(i[r>>2]=i[e>>2]),k=i[t+8>>2],e=i[f+8>>2],k&(e^-1)&7|e&(k^-1)&96)||(A=1,Q1(i[f+12>>2],i[t+12>>2],0)))break i;if(Q1(i[f+12>>2],67500,0)){if(f=i[t+12>>2],!f)break i;A=!N0(f,67148,67344);break i}if(k=i[f+12>>2],!k)break r;if(A=0,e=N0(k,67148,67292),e){if(!(l[f+8|0]&1))break i;f=i[t+12>>2],r=0;e:{A:{for(;;){if(A=0,!f)break e;if(f=N0(f,67148,67292),!f|i[f+8>>2]&(i[e+8>>2]^-1))break A;if(A=1,Q1(i[e+12>>2],i[f+12>>2],0))break e;if(!(l[e+8|0]&1)||(A=i[e+12>>2],!A))break A;if(e=N0(A,67148,67292),e){f=i[f+12>>2];continue}break}if(e=N0(A,67148,67404),!e)break A;r=S9(e,i[f+12>>2])}A=r}break i}if(e=N0(k,67148,67404),e){if(!(l[f+8|0]&1))break i;A=S9(e,i[t+12>>2]);break i}if(k=N0(k,67148,67196),!k||(f=i[t+12>>2],!f)||(f=N0(f,67148,67196),!f))break i;e=i[r>>2],B0(n+8|0,0,56),l[n+59|0]=(e|0)!=0,i[n+16>>2]=-1,i[n+12>>2]=k,i[n+4>>2]=f,i[n+52>>2]=1,V[i[i[f>>2]+28>>2]](f,n+4|0,e,1),f=i[n+28>>2],(f|0)==1&&(i[r>>2]=e?i[n+20>>2]:0),A=(f|0)==1;break i}A=0}return B=n- -64|0,A|0}function aw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0;if(A=B-160|0,B=A,i[A+68>>2]=54820,t=i[13708],i[A+12>>2]=t,k=A+12|0,i[k+i[t-12>>2]>>2]=i[13709],t=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(t,n),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(n),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),u=k,o=n,k=l[A+159|0],n=(k|0)<0,x(u,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],n=(k|0)<0,x(A+12|0,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),o=x(A+12|0,21043,10),k=l[e+67|0],n=(k|0)<0,k=x(x(o,n?i[e+56>>2]:e+56|0,n?i[e+60>>2]:k),31338,1),n=A+148|0,W0(n,r),o=n,r=l[A+159|0],n=(r|0)<0,x(k,n?i[A+148>>2]:o,n?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),x(k,19994,14),r=i[e+68>>2],h=i[e+72>>2],(r|0)!=(h|0))for(u=A+24|0;o=s[r|0],e=i[A+12>>2]-12|0,k=t+i[e>>2]|0,i[k>>2]=i[k>>2]&-75|8,i[i[e>>2]+u>>2]=2,k=i[e>>2]+(A+12|0)|0,i[k+76>>2]==-1&&(n=A+148|0,e=i[k+28>>2],i[n>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(n,100192),V[i[i[e>>2]+28>>2]](e,32)|0,O0(n)),i[k+76>>2]=48,x(H0(A+12|0,o),21741,1),r=r+1|0,(h|0)!=(r|0););e=A+12|0,x(e,31338,1),i2(f,t),f=i[13707],i[A+12>>2]=f,i[e+i[f-12>>2]>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function Nr(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0;v=B-128|0,B=v,i[v+124>>2]=e,i[v+16>>2]=1094,h=v+16|0,Z=o1(v+8|0,0,h);i:{r:{e:{if(_=(A-r|0)/12|0,_>>>0>=101){if(h=Z2(_),!h)break e;e=i[Z>>2],i[Z>>2]=h,e&&V[i[Z+4>>2]](e)}for(o=h,e=r;;)if((e|0)==(A|0))A:for(;;){if(e=v+124|0,y=J2(f,e),E=1,J=_,J?y:E)for(J2(f,e)&&(i[n>>2]=i[n>>2]|2);;){if((r|0)==(A|0))break r;if(s[h|0]==2)break i;h=h+1|0,r=r+12|0}e=i[f>>2],o=i[e+12>>2];f:{if((o|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break f}e=s[o|0]}for(W=e<<24>>24,t||(W=V[i[i[k>>2]+12>>2]](k,W)|0),u=C+1|0,I=0,o=h,e=r;;)if((e|0)==(A|0)){if(C=u,!I||(E1(f),o=h,e=r,_+p>>>0<2))continue A;for(;;){if((e|0)==(A|0))continue A;s[e+11|0]>>>7|0?u=i[e+4>>2]:u=s[e+11|0]&127,(u|0)==(C|0)|s[o|0]!=2||(l[o|0]=0,p=p-1|0),o=o+1|0,e=e+12|0}}else{f:{if(s[o|0]!=1)break f;s[e+11|0]>>>7|0?w=i[e>>2]:w=e,w=l[w+C|0],t||(w=V[i[i[k>>2]+12>>2]](k,w)|0);k:{if((W|0)==(w|0)){if(I=1,s[e+11|0]>>>7|0?w=i[e+4>>2]:w=s[e+11|0]&127,(w|0)!=(u|0))break f;l[o|0]=2,p=p+1|0;break k}l[o|0]=0}_=_-1|0}o=o+1|0,e=e+12|0;continue}}else{s[e+11|0]>>>7|0?u=i[e+4>>2]:u=s[e+11|0]&127,u=!u,l[o|0]=u?2:1,o=o+1|0,e=e+12|0,p=p+u|0,_=_-u|0;continue}}u1(),P()}i[n>>2]=i[n>>2]|4}return f=i[Z>>2],i[Z>>2]=0,f&&V[i[Z+4>>2]](f),B=v+128|0,r}function Sw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;u=B-32|0,B=u,o=i[e+56>>2],n=i[e+60>>2];i:{if((o|0)==(n|0))break i;for(;;){r:{if(s[o+4|0]!=1||(A=i[o+16>>2],t=i[o+20>>2],(A|0)==(t|0)))break r;for(;k=(i[A+28>>2]+k|0)-i[A+24>>2]|0,A=A+40|0,(t|0)!=(A|0););}if(o=o+32|0,(n|0)==(o|0))break}if(!k||(l2(r,k+8|0),l2(r,1768186228),k=i[e+56>>2],n=i[e+60>>2],(k|0)==(n|0)))break i;for(;;){r:{if(s[k+4|0]!=1||(A=i[k+16>>2],t=i[k+20>>2],(A|0)==(t|0)))break r;for(;D4(r,A+24|0),A=A+40|0,(t|0)!=(A|0););}if(k=k+32|0,(n|0)==(k|0))break}}if(h=V[i[i[e>>2]+32>>2]](e,r,0)|0,i[e+68>>2]=i[r+12>>2],n=s[e+48|0],t=n>>>0<2,k=t?4:6,A=i[e+56>>2],w=i[e+60>>2],(A|0)!=(w|0))for(_=s[e+75|0],v=(((n|0)!=0)<<1)+(t?6:8)|0,o=(n?s[e+76|0]:0)&255,n=s[e+73|0],t=s[e+74|0],Z=((_+(v+o|0)|0)+n|0)+t|0,o=t+(n+o|0)|0;n=i[A+16>>2],t=i[A+20>>2],(n|0)==(t|0)?k=(k+v|0)+_|0:k=(k+Z|0)+m(o,((t-n|0)-40>>>0)/40|0)|0,A=A+32|0,(w|0)!=(A|0););we(r,k),i[r+12>>2]=h,V[i[i[e>>2]+36>>2]](u+12|0,e,r,i[r+4>>2]-(h+i[r>>2]|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[u+31|0]<0&&G(i[u+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,e=f+8|0;i:{if(l[78275]>=0){f=i[19567],i[e>>2]=i[19566],i[e+4>>2]=f,i[e+8>>2]=i[19568];break i}_0(e,i[19566],i[19567])}B=u+32|0}function Rr(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0;v=B-128|0,B=v,i[v+124>>2]=e,i[v+16>>2]=1094,h=v+16|0,Z=o1(v+8|0,0,h);i:{r:{e:{if(_=(A-r|0)/12|0,_>>>0>=101){if(h=Z2(_),!h)break e;e=i[Z>>2],i[Z>>2]=h,e&&V[i[Z+4>>2]](e)}for(o=h,e=r;;)if((e|0)==(A|0))A:for(;;){if(e=v+124|0,y=g2(f,e),E=1,J=_,J?y:E)for(g2(f,e)&&(i[n>>2]=i[n>>2]|2);;){if((r|0)==(A|0))break r;if(s[h|0]==2)break i;h=h+1|0,r=r+12|0}e=i[f>>2],o=i[e+12>>2];f:{if((o|0)==i[e+16>>2]){u=V[i[i[e>>2]+36>>2]](e)|0;break f}u=i[o>>2]}for(t||(u=V[i[i[k>>2]+28>>2]](k,u)|0),C=W+1|0,I=0,o=h,e=r;;)if((e|0)==(A|0)){if(W=C,!I||(Y1(f),o=h,e=r,_+p>>>0<2))continue A;for(;;){if((e|0)==(A|0))continue A;s[e+11|0]>>>7|0?u=i[e+4>>2]:u=s[e+11|0]&127,(u|0)==(W|0)|s[o|0]!=2||(l[o|0]=0,p=p-1|0),o=o+1|0,e=e+12|0}}else{f:{if(s[o|0]!=1)break f;s[e+11|0]>>>7|0?w=i[e>>2]:w=e,w=i[w+(W<<2)>>2],t||(w=V[i[i[k>>2]+28>>2]](k,w)|0);k:{if((u|0)==(w|0)){if(I=1,s[e+11|0]>>>7|0?w=i[e+4>>2]:w=s[e+11|0]&127,(w|0)!=(C|0))break f;l[o|0]=2,p=p+1|0;break k}l[o|0]=0}_=_-1|0}o=o+1|0,e=e+12|0;continue}}else{s[e+11|0]>>>7|0?u=i[e+4>>2]:u=s[e+11|0]&127,u=!u,l[o|0]=u?2:1,o=o+1|0,e=e+12|0,p=u+p|0,_=_-u|0;continue}}u1(),P()}i[n>>2]=i[n>>2]|4}return f=i[Z>>2],i[Z>>2]=0,f&&V[i[Z+4>>2]](f),B=v+128|0,r}function Ow(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0;n=B-48|0,B=n;i:{if(!(k&&e)){i[f>>2]=5,i[f+4>>2]=2001,i[f+8>>2]=7049;break i}t=i[e>>2],o=i[t+48>>2],t=i[t+52>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),i[n+44>>2]=0,i[n+36>>2]=0,i[n+40>>2]=0,u=n+16|0,I1(u,o,r,n+36|0);r:{if(i[n+16>>2]){P0(f,u,i[e>>2]);break r}e:{if(A&&(r=A-1|0,e=i[n+36>>2],r>>>0<i[n+40>>2]-e>>3>>>0))break e;i[f>>2]=5,i[f+4>>2]=2007,i[f+8>>2]=10388;break r}e=e+(r<<3)|0,r=i[e>>2],e=i[e+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1);e:{A:{f:{if(!r||(r=N0(r,68572,68704),!r))break f;if(e&&(i[e+4>>2]=i[e+4>>2]+1),A=0,i[n+12>>2]=0,i[n+4>>2]=0,i[n+8>>2]=0,o=i[r+52>>2],r=i[r+48>>2],(o|0)!=(r|0)&&(A=o-r|0,(A|0)<0))break A;if(i[k>>2]=A,i[f+8>>2]=i[18412],r=i[18411],i[f>>2]=i[18410],i[f+4>>2]=r,!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break e;V[i[i[e>>2]+8>>2]](e),g(e);break e}i[f>>2]=5,i[f+4>>2]=2007,i[f+8>>2]=1956;break e}y0(),P()}if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break r;V[i[i[e>>2]+8>>2]](e),g(e)}if(l[n+35|0]<0&&G(i[n+24>>2]),r=i[n+36>>2],r){if(f=r,e=i[n+40>>2],(f|0)!=(e|0)){for(;;){f=i[e-4>>2];r:{if(!f||(A=i[f+4>>2],i[f+4>>2]=A-1,A))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(e=e-8|0,(r|0)==(e|0))break}f=i[n+36>>2]}i[n+40>>2]=r,G(f)}if(!t||(f=i[t+4>>2],i[t+4>>2]=f-1,f))break i;V[i[i[t>>2]+8>>2]](t),g(t)}B=n+48|0}function jw(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;o=B-16|0,B=o;i:{if(!f)break i;h=o+4|0,A=i[i[f>>2]+48>>2],f=B-160|0,B=f,i[f+24>>2]=54496,i[f+80>>2]=54516,r=i[13633],i[f+16>>2]=r,n=f+16|0,i[n+i[r-12>>2]>>2]=i[13634],i[f+20>>2]=0,r=n+i[i[f+16>>2]-12>>2]|0,k=f+28|0,b0(r,k),i[r+72>>2]=0,i[r+76>>2]=-1,r=i[13635],i[f+24>>2]=r,t=i[r-12>>2],r=f+24|0,i[t+r>>2]=i[13636],u=i[13632],i[f+16>>2]=u,i[n+i[u-12>>2]>>2]=i[13637],i[f+80>>2]=54516,i[f+16>>2]=54476,i[f+24>>2]=54496,n=$0(k),i[n>>2]=53552,i[f+68>>2]=0,i[f+72>>2]=0,i[f+60>>2]=0,i[f+64>>2]=0,i[f+76>>2]=24,k=i[A+8>>2],u=i[A+12>>2];r:{if((k|0)==(u|0)||(A=i[k>>2],t=i[i[A>>2]+8>>2],i[f+12>>2]=0,V[t|0](f,A,f+12|0),A=l[f+11|0],t=(A|0)<0,x(r,t?i[f>>2]:f,t?i[f+4>>2]:A),l[f+11|0]<0&&G(i[f>>2]),A=k+8|0,(u|0)==(A|0)))break r;for(;x(r,31338,1),i[f+12>>2]=0,k=i[A>>2],V[i[i[k>>2]+8>>2]](f,k,f+12|0),k=l[f+11|0],t=(k|0)<0,x(r,t?i[f>>2]:f,t?i[f+4>>2]:k),l[f+11|0]<0&&G(i[f>>2]),A=A+8|0,(u|0)!=(A|0););}if(i2(h,n),r=i[13631],i[f+16>>2]=r,i[i[r-12>>2]+(f+16|0)>>2]=i[13639],i[f+24>>2]=i[13640],i[n>>2]=53552,l[f+71|0]<0&&G(i[f+60>>2]),K0(n),T0(f+80|0),B=f+160|0,r=l[o+15|0],n=(r|0)<0,A=n?i[o+4>>2]:h,f=B-16|0,B=f,i[f+12>>2]=n?i[o+8>>2]:r,i[f+8>>2]=A,e=uA(e|0,f+8|0,1,f+4|0)|0,e&&(i[23944]=e),B=f+16|0,l[o+15|0]>=0)break i;G(i[o+4>>2])}B=o+16|0}function Pw(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;u=B-16|0,B=u,n=U(32),i[n+16>>2]=1,i[n+4>>2]=0,i[n+8>>2]=0,i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,i[n+12>>2]=73276,i[n>>2]=73528,h=n+12|0;i:{if(!A||(SA(n+20|0,A),(A|0)<=0))break i;if(o=i[n+20>>2],(A|0)!=1)for(p=A&2147483646;t=_<<3,w=t+o|0,v=r+t|0,i[w>>2]=i[v>>2],i[w+4>>2]=i[v+4>>2],t=t|8,w=t+o|0,t=r+t|0,i[w>>2]=i[t>>2],i[w+4>>2]=i[t+4>>2],_=_+2|0,Z=Z+2|0,(p|0)!=(Z|0););if(!(A&1))break i;A=_<<3,o=A+o|0,r=r+A|0,i[o>>2]=i[r>>2],i[o+4>>2]=i[r+4>>2]}l[n+16|0]=1,r=i[e+8>>2],i[u+12>>2]=n,i[u+8>>2]=h,i[n+4>>2]=i[n+4>>2]+1,A=i[r+16>>2];i:{r:{if(A>>>0<k0[r+20>>2]){i[A+4>>2]=n,i[A>>2]=h,i[n+4>>2]=i[n+4>>2]+1,i[r+16>>2]=A+8,A=n;break r}if(o=Q2(r+12|0,u+8|0),A=i[u+12>>2],i[r+16>>2]=o,!A)break i}if(r=i[A+4>>2],i[A+4>>2]=r-1,r)break i;V[i[i[A>>2]+8>>2]](A),g(A)}i:{if(!k||(i[n+4>>2]=i[n+4>>2]+1,r=U(24),i[n+4>>2]=i[n+4>>2]+1,i[r+20>>2]=n,i[r+16>>2]=h,h=i[e+8>>2],A=i[e+12>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+12>>2]=A,i[r+8>>2]=h,A=i[e>>2],e=i[e+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[r+4>>2]=e,i[r>>2]=A,i[k>>2]=r,e=i[n+4>>2],i[n+4>>2]=e-1,e))break i;V[i[i[n>>2]+8>>2]](n),g(n)}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],f=i[n+4>>2],i[n+4>>2]=f-1,f||(V[i[i[n>>2]+8>>2]](n),g(n)),B=u+16|0}function Lw(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;u=B-16|0,B=u,n=U(32),i[n+16>>2]=1,i[n+4>>2]=0,i[n+8>>2]=0,i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,i[n+12>>2]=73276,i[n>>2]=73528,h=n+12|0;i:{if(!A||(SA(n+20|0,A),(A|0)<=0))break i;if(o=i[n+20>>2],(A|0)!=1)for(p=A&2147483646;t=_<<3,w=t+o|0,v=r+t|0,i[w>>2]=i[v>>2],i[w+4>>2]=i[v+4>>2],t=t|8,w=t+o|0,t=r+t|0,i[w>>2]=i[t>>2],i[w+4>>2]=i[t+4>>2],_=_+2|0,Z=Z+2|0,(p|0)!=(Z|0););if(!(A&1))break i;A=_<<3,o=A+o|0,r=r+A|0,i[o>>2]=i[r>>2],i[o+4>>2]=i[r+4>>2]}l[n+16|0]=0,r=i[e+8>>2],i[u+12>>2]=n,i[u+8>>2]=h,i[n+4>>2]=i[n+4>>2]+1,A=i[r+16>>2];i:{r:{if(A>>>0<k0[r+20>>2]){i[A+4>>2]=n,i[A>>2]=h,i[n+4>>2]=i[n+4>>2]+1,i[r+16>>2]=A+8,A=n;break r}if(o=Q2(r+12|0,u+8|0),A=i[u+12>>2],i[r+16>>2]=o,!A)break i}if(r=i[A+4>>2],i[A+4>>2]=r-1,r)break i;V[i[i[A>>2]+8>>2]](A),g(A)}i:{if(!k||(i[n+4>>2]=i[n+4>>2]+1,r=U(24),i[n+4>>2]=i[n+4>>2]+1,i[r+20>>2]=n,i[r+16>>2]=h,h=i[e+8>>2],A=i[e+12>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+12>>2]=A,i[r+8>>2]=h,A=i[e>>2],e=i[e+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[r+4>>2]=e,i[r>>2]=A,i[k>>2]=r,e=i[n+4>>2],i[n+4>>2]=e-1,e))break i;V[i[i[n>>2]+8>>2]](n),g(n)}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],f=i[n+4>>2],i[n+4>>2]=f-1,f||(V[i[i[n>>2]+8>>2]](n),g(n)),B=u+16|0}function Kw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;k=B-16|0,B=k,n=i[e+12>>2],o=n;i:{r:{e:{if(A=i[e+8>>2],n|A){if(n=i[e+32>>2],u=n>>>0>A>>>0,u&!o)break e;if(t=A-n|0,n=o-u|0,A=t,!n&A>>>0>=2147483648|n){if(e=U(24),i[k+4>>2]=e,i[k+8>>2]=18,i[k+12>>2]=-2147483624,r=s[10373]|s[10374]<<8|(s[10375]<<16|s[10376]<<24),A=s[10369]|s[10370]<<8|(s[10371]<<16|s[10372]<<24),l[e|0]=A,l[e+1|0]=A>>>8,l[e+2|0]=A>>>16,l[e+3|0]=A>>>24,l[e+4|0]=r,l[e+5|0]=r>>>8,l[e+6|0]=r>>>16,l[e+7|0]=r>>>24,l[e+18|0]=0,r=s[10385]|s[10386]<<8,l[e+16|0]=r,l[e+17|0]=r>>>8,r=s[10381]|s[10382]<<8|(s[10383]<<16|s[10384]<<24),A=s[10377]|s[10378]<<8|(s[10379]<<16|s[10380]<<24),l[e+8|0]=A,l[e+9|0]=A>>>8,l[e+10|0]=A>>>16,l[e+11|0]=A>>>24,l[e+12|0]=r,l[e+13|0]=r>>>8,l[e+14|0]=r>>>16,l[e+15|0]=r>>>24,r0(f,2,1e3,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}n=i[e+48>>2],t=i[e+52>>2]-n|0;A:{if(A>>>0>t>>>0){L2(e+48|0,A-t|0),n=i[e+48>>2];break A}if(A>>>0>=t>>>0)break A;i[e+52>>2]=A+n}D6(r,n,A)}if(s[r+20|0]!=1)break r;if(l[k+4|0]=0,l[k+15|0]=0,r0(f,2,100,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}if(l[k+4|0]=0,l[k+15|0]=0,r0(f,2,101,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+16|0}function qw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,k=i[13708],i[A+12>>2]=k,t=i[k-12>>2],k=A+12|0,i[t+k>>2]=i[13709],n=k+i[i[A+12>>2]-12>>2]|0,o=A+16|0,b0(n,o),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,o=$0(o),i[o>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),u=k,t=n,k=l[A+159|0],n=(k|0)<0,x(u,n?i[A+148>>2]:t,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]);i:{if(i[e+48>>2]){if(k=A+148|0,W0(k,r),t=k,k=l[A+159|0],n=(k|0)<0,x(A+12|0,n?i[A+148>>2]:t,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),u=x(A+12|0,20949,13),k=i[e+48>>2],n=V[i[i[k>>2]+8>>2]](k)|0,k=A+148|0,l[k+4|0]=0,l[k+11|0]=4,l[k+3|0]=n,l[k+2|0]=n>>>8,l[k+1|0]=n>>>16,l[k|0]=n>>>24,t=k,k=l[A+159|0],n=(k|0)<0,x(x(u,n?i[A+148>>2]:t,n?i[A+152>>2]:k),31338,1),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,e=i[e+48>>2],V[i[i[e>>2]+12>>2]](k,e,r),e=l[A+159|0],r=(e|0)<0,x(A+12|0,r?i[A+148>>2]:k,r?i[A+152>>2]:e),l[A+159|0]>=0)break i;G(i[A+148>>2]);break i}e=A+148|0,W0(e,r),k=e,e=l[A+159|0],r=(e|0)<0,x(A+12|0,r?i[A+148>>2]:k,r?i[A+152>>2]:e),l[A+159|0]<0&&G(i[A+148>>2]),e=A+12|0,x(e,31085,17),x(e,22231,17)}i2(f,o),f=i[13707],i[A+12>>2]=f,i[i[f-12>>2]+(A+12|0)>>2]=i[13710],i[o>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(o),T0(A+68|0),B=A+160|0}function Dr(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;t=B-48|0,B=t,k=i[f>>2],f=i[e+4>>2],e=i[e>>2],l[t+12|0]=0,l[t+23|0]=0,r=r0(t+24|0,e,f,t+12|0),f=i[k+116>>2];i:{if(f>>>0<k0[k+120>>2]){e=i[r+4>>2],i[f>>2]=i[r>>2],i[f+4>>2]=e,i[f+16>>2]=i[r+16>>2],e=i[r+12>>2],i[f+8>>2]=i[r+8>>2],i[f+12>>2]=e,i[r+16>>2]=0,i[r+8>>2]=0,i[r+12>>2]=0,i[k+116>>2]=f+20;break i}r:{e:{if(e=i[k+112>>2],n=(i[k+116>>2]-e|0)/20|0,f=n+1|0,f>>>0<214748365){if(e=(i[k+120>>2]-e|0)/20|0,u=e<<1,f=e>>>0>=107374182?214748364:f>>>0<u>>>0?u:f,f){if(f>>>0>=214748365)break e;A=U(m(f,20))}e=m(n,20)+A|0,n=i[r+4>>2],i[e>>2]=i[r>>2],i[e+4>>2]=n,i[e+16>>2]=i[r+16>>2],n=i[r+12>>2],i[e+8>>2]=i[r+8>>2],i[e+12>>2]=n,i[r+16>>2]=0,i[r+8>>2]=0,i[r+12>>2]=0,w=m(f,20)+A|0,n=e+20|0,A=i[k+116>>2],o=i[k+112>>2];A:{if((A|0)==(o|0)){f=e;break A}for(;u=A-20|0,h=i[u+4>>2],f=e-20|0,i[f>>2]=i[u>>2],i[f+4>>2]=h,h=e-12|0,e=A-12|0,i[h+8>>2]=i[e+8>>2],A=i[e+4>>2],i[h>>2]=i[e>>2],i[h+4>>2]=A,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,e=f,A=u,(o|0)!=(A|0););A=i[k+116>>2],o=i[k+112>>2]}if(i[k+120>>2]=w,i[k+116>>2]=n,i[k+112>>2]=f,(A|0)!=(o|0))for(;l[A-1|0]<0&&G(i[A-12>>2]),A=A-20|0,(o|0)!=(A|0););o&&G(o);break r}y0(),P()}_2(),P()}if(f=l[r+19|0],i[k+116>>2]=n,(f|0)>=0)break i;G(i[r+8>>2])}l[t+23|0]<0&&G(i[t+12>>2]),B=t+48|0}function B8(f,e,r,A,k,n,t,o){var u=0,h=0,w=0,_=0,v=0;u=B-16|0,B=u,i[u+8>>2]=r,i[u+12>>2]=e,r=u+4|0,e=i[A+28>>2],i[r>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),h=x0(r,100192),O0(r),i[k>>2]=0,e=0;i:{for(;;){if(e|(t|0)==(o|0))break i;r:{if(J2(u+12|0,u+8|0))break r;e:{if((V[i[i[h>>2]+36>>2]](h,l[t|0],0)|0)==37){if((t+1|0)==(o|0))break r;r=0;A:{f:{if(e=V[i[i[h>>2]+36>>2]](h,l[t+1|0],0)|0,(e|0)==69||(w=1,(e&255)==48))break f;break A}if((t+2|0)==(o|0))break r;w=2,r=e,e=V[i[i[h>>2]+36>>2]](h,l[t+2|0],0)|0}_=u,v=V[i[i[f>>2]+36>>2]](f,i[u+12>>2],i[u+8>>2],A,k,n,e,r)|0,i[_+12>>2]=v,t=(t+w|0)+1|0;break e}if(e=l[t|0],(e|0)>=0?e=i[i[h+8>>2]+(e<<2)>>2]&1:e=0,e){for(;t=t+1|0,!!((o|0)!=(t|0)&&(e=l[t|0],(e|0)>=0?e=i[i[h+8>>2]+(e<<2)>>2]&1:e=0,e)););for(;;){if(r=u+12|0,J2(r,u+8|0))break e;e=i[r>>2],w=i[e+12>>2];A:{if((w|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break A}e=s[w|0]}if(e=e<<24>>24,(e|0)>=0?e=i[i[h+8>>2]+(e<<2)>>2]&1:e=0,!e)break e;E1(r)}}w=u+12|0,e=i[w>>2],r=i[e+12>>2];A:{if((r|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break A}e=s[r|0]}if((V[i[i[h>>2]+12>>2]](h,e<<24>>24)|0)==(V[i[i[h>>2]+12>>2]](h,l[t|0])|0)){t=t+1|0,E1(w);break e}i[k>>2]=4}e=i[k>>2];continue}break}i[k>>2]=4}return J2(u+12|0,u+8|0)&&(i[k>>2]=i[k>>2]|2),B=u+16|0,i[u+12>>2]}function nn(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0;f=B-16|0,B=f,i[f+12>>2]=r,i[f+8>>2]=n,i[f+12>>2]=r,i[f+8>>2]=n;i:{r:{for(;;){e:{if(e=i[f+12>>2],A>>>0<=e>>>0||(w=i[f+8>>2],w>>>0>=t>>>0))break e;n=l[e|0],r=n&255;A:{if((n|0)>=0){if(r>>>0>1114111)break r;n=1;break A}if(n>>>0<4294967234)break r;if(n>>>0<=4294967263){if(n=1,(A-e|0)<2||(n=2,u=s[e+1|0],(u&192)!=128))break i;r=u&63|r<<6&1984,n=2;break A}if(n>>>0<=4294967279){if(n=1,h=A-e|0,(h|0)<2)break i;u=s[e+1|0];f:{k:{if((r|0)!=237){if((r|0)!=224)break k;if((u&224)==160)break f;break r}if((u&224)==128)break f;break r}if((u&192)!=128)break r}if((h|0)==2)break i;if(n=s[e+2|0],(n&192)!=128)break r;r=n&63|(r<<12&61440|(u&63)<<6),n=3;break A}if(n>>>0>4294967284)break r;if(n=1,h=A-e|0,(h|0)<2)break i;u=s[e+1|0];f:{k:switch(r-240|0){case 0:if((u+112&255)>>>0>=48)break r;break f;case 4:if((u&240)!=128)break r;break f;default:break k}if((u&192)!=128)break r}if((h|0)==2)break i;if(_=s[e+2|0],(_&192)!=128)break r;if((h|0)==3)break i;if(h=s[e+3|0],(h&192)!=128)break r;if(n=2,r=h&63|(_<<6&4032|(r<<18&1835008|(u&63)<<12)),r>>>0>1114111)break i;n=4}i[w>>2]=r,i[f+12>>2]=e+n,i[f+8>>2]=i[f+8>>2]+4;continue}break}n=e>>>0<A>>>0;break i}n=2}return i[k>>2]=i[f+12>>2],i[o>>2]=i[f+8>>2],B=f+16|0,n|0}function $w(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;n=B-32|0,B=n,t=V[i[i[e>>2]+32>>2]](e,r,0)|0,s[e+136|0]==1&&l2(r,i[e+56>>2]),s[e+137|0]==1&&l2(r,i[e+60>>2]),s[e+138|0]==1&&l2(r,i[e+64>>2]);i:{if(s[e+139|0]!=1)break i;if(s[e+68|0]==1){if(A=i0[e+72>>3],s[e+69|0]==1){A=A*1073741824;r:{if(d0(A)<2147483648){k=~~A;break r}k=-2147483648}l2(r,k),A=i0[e+80>>3]*1073741824;r:{if(d0(A)<2147483648){k=~~A;break r}k=-2147483648}if(l2(r,k),A=i0[e+88>>3]*1073741824,d0(A)<2147483648){l2(r,~~A);break i}l2(r,-2147483648);break i}A=A*16384;r:{if(d0(A)<2147483648){k=~~A;break r}k=-2147483648}w2(r,k),A=i0[e+80>>3]*16384;r:{if(d0(A)<2147483648){k=~~A;break r}k=-2147483648}if(w2(r,k),A=i0[e+88>>3]*16384,d0(A)<2147483648){w2(r,~~A);break i}w2(r,-2147483648);break i}A=i0[e+104>>3]*65536;r:{if(d0(A)<2147483648){k=~~A;break r}k=-2147483648}l2(r,k),A=i0[e+112>>3]*65536;r:{if(d0(A)<2147483648){k=~~A;break r}k=-2147483648}l2(r,k),A=i0[e+120>>3]*65536;r:{if(d0(A)<2147483648){k=~~A;break r}k=-2147483648}l2(r,k)}s[e+140|0]==1&&l2(r,i[e+128>>2]),i[r+12>>2]=t,V[i[i[e>>2]+36>>2]](n+12|0,e,r,i[r+4>>2]-(i[r>>2]+t|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[n+31|0]<0&&G(i[n+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=n+32|0}function tn(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0;f=B-16|0,B=f,i[f+12>>2]=r,i[f+8>>2]=n,i[f+12>>2]=r,i[f+8>>2]=n,r=i[f+12>>2];i:{r:{for(;;){if(r>>>0>=A>>>0){n=0;break i}n=2;e:{e=Q[r>>1];A:{if(e>>>0<=127){if(n=1,r=i[f+8>>2],(t-r|0)<=0)break i;i[f+8>>2]=r+1,l[r|0]=e;break A}if(e>>>0<=2047){if(r=i[f+8>>2],(t-r|0)<2)break r;i[f+8>>2]=r+1,l[r|0]=e>>>6|192,r=i[f+8>>2],i[f+8>>2]=r+1,l[r|0]=e&63|128;break A}if(e>>>0<=55295){if(r=i[f+8>>2],(t-r|0)<3)break r;i[f+8>>2]=r+1,l[r|0]=e>>>12|224,r=i[f+8>>2],i[f+8>>2]=r+1,l[r|0]=e>>>6&63|128,r=i[f+8>>2],i[f+8>>2]=r+1,l[r|0]=e&63|128;break A}if(e>>>0<=56319){if(n=1,(A-r|0)<3)break i;if(u=Q[r+2>>1],(u&64512)!=56320)break e;if((t-i[f+8>>2]|0)<4)break i;if(n=e&960,(u&1023|(e<<10&64512|n<<10))>>>0>1048575)break e;i[f+12>>2]=r+2,r=i[f+8>>2],i[f+8>>2]=r+1,h=r,r=(n>>>6|0)+1|0,l[h|0]=r>>>2|240,n=i[f+8>>2],i[f+8>>2]=n+1,l[n|0]=r<<4&48|e>>>2&15|128,r=i[f+8>>2],i[f+8>>2]=r+1,l[r|0]=u>>>6&15|e<<4&48|128,e=i[f+8>>2],i[f+8>>2]=e+1,l[e|0]=u&63|128;break A}if(e>>>0<57344)break i;if(r=i[f+8>>2],(t-r|0)<3)break r;i[f+8>>2]=r+1,l[r|0]=e>>>12|224,r=i[f+8>>2],i[f+8>>2]=r+1,l[r|0]=e>>>6&191,r=i[f+8>>2],i[f+8>>2]=r+1,l[r|0]=e&63|128}r=i[f+12>>2]+2|0,i[f+12>>2]=r;continue}break}n=2;break i}n=1}return i[k>>2]=i[f+12>>2],i[o>>2]=i[f+8>>2],B=f+16|0,n|0}function bw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-176|0,B=A,i[A+84>>2]=54820,k=i[13708],i[A+28>>2]=k,t=i[k-12>>2],k=A+28|0,i[t+k>>2]=i[13709],o=k+i[i[A+28>>2]-12>>2]|0,n=A+32|0,b0(o,n),i[o+72>>2]=0,i[o+76>>2]=-1,i[A+84>>2]=54820,i[A+28>>2]=54800,o=$0(n),i[o>>2]=53552,i[A+72>>2]=0,i[A+76>>2]=0,i[A+64>>2]=0,i[A+68>>2]=0,i[A+80>>2]=16,n=A+164|0,Hr(n,e,r),u=k,t=n,k=l[A+175|0],n=(k|0)<0,x(u,n?i[A+164>>2]:t,n?i[A+168>>2]:k),l[A+175|0]<0&&G(i[A+164>>2]),t=i[e+12>>2],n=i[e+32>>2],k=i[e+8>>2];i:{if(!t&n>>>0<=k>>>0|t){if(e=i[e+48>>2],X[A+20>>1]=s[21439]|s[21440]<<8,l[A+27|0]=6,i[A+16>>2]=s[21435]|s[21436]<<8|(s[21437]<<16|s[21438]<<24),l[A+22|0]=0,X[A+8>>1]=s[21740]|s[21741]<<8,l[A+15|0]=6,i[A+4>>2]=s[21736]|s[21737]<<8|(s[21738]<<16|s[21739]<<24),l[A+10|0]=0,r=A+164|0,ck(r,e,k-n|0,A+16|0,A+4|0),k=r,e=l[A+175|0],r=(e|0)<0,x(A+28|0,r?i[A+164>>2]:k,r?i[A+168>>2]:e),l[A+175|0]<0&&G(i[A+164>>2]),l[A+15|0]<0&&G(i[A+4>>2]),l[A+27|0]>=0)break i;G(i[A+16>>2]);break i}k=A+164|0,W0(k,r),t=k,r=l[A+175|0],k=(r|0)<0,x(A+28|0,k?i[A+164>>2]:t,k?i[A+168>>2]:r),l[A+175|0]<0&&G(i[A+164>>2]),x(n4(x(A+28|0,19092,17),i[e+8>>2],i[e+12>>2]),31151,23)}i2(f,o),f=i[13707],i[A+28>>2]=f,i[i[f-12>>2]+(A+28|0)>>2]=i[13710],i[o>>2]=53552,l[A+75|0]<0&&G(i[A+64>>2]),K0(o),T0(A+84|0),B=A+176|0}function dw(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;A=B+-64|0,B=A,i[A+60>>2]=0,i[A+56>>2]=0,$k(A+44|0,e,r,A+60|0,A+56|0);i:{if(i[A+44>>2]){e=i[A+48>>2],i[f>>2]=i[A+44>>2],i[f+4>>2]=e,i[f+8>>2]=i[A+52>>2];break i}r:{if((r|0)<12||(r=s[e+8|0],!r)||(n=s[e+9|0],!n)||(o=s[e+10|0],!o)||(e=s[e+11|0],!e))break r;k=e|(n<<16|r<<24|o<<8)}e=i[9233],i[A+24>>2]=i[9232],i[A+28>>2]=e,e=i[9231],i[A+16>>2]=i[9230],i[A+20>>2]=e,e=i[9229],i[A+8>>2]=i[9228],i[A+12>>2]=e,i[A+36>>2]=0,i[A+40>>2]=0,n=A+36|0,i[A+32>>2]=n,e=i[9227],i[A>>2]=i[9226],i[A+4>>2]=e,e=A+32|0,jr(e,A,e),o=i[A+36>>2];r:{e:{if(o){for(r=n,e=o;u=r,h=e,t=k0[e+16>>2]<k>>>0,r=t?r:e,e=i[(t<<2)+e>>2],!!e;);if(!((r|0)!=(n|0)&k0[(t?u:h)+16>>2]<=k>>>0)){if(k=i[A+60>>2],_=i[A+56>>2],!o|(_|0)<=0)break e;for(t=0;;){for(v=i[(t<<2)+k>>2],r=n,e=o;u=r,h=e,w=k0[e+16>>2]<v>>>0,r=w?r:e,e=i[(w<<2)+e>>2],!!e;);if(!((r|0)==(n|0)|k0[(w?u:h)+16>>2]>v>>>0)){k&&G(k),e=i[18553],i[f>>2]=i[18552],i[f+4>>2]=e,i[f+8>>2]=i[18554];break r}if(t=t+1|0,(_|0)==(t|0))break}break e}e=i[A+60>>2],e&&G(e),e=i[18553],i[f>>2]=i[18552],i[f+4>>2]=e,i[f+8>>2]=i[18554];break r}k=i[A+60>>2]}k&&G(k),i[f>>2]=2,i[f+4>>2]=3001,i[f+8>>2]=17987}P8(A+32|0,i[A+36>>2])}B=A- -64|0}function cw(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0,t=0,o=0,u=0;A=B-16|0,B=A;i:{r:{if(!i[f+64>>2])break r;if(!(s[f+92|0]&16)){i[f+16>>2]=0,i[f+12>>2]=0,i[f+8>>2]=0,r=i[f+52>>2];e:{if(r>>>0>=9){if(s[f+98|0]==1){n=r,r=i[f+32>>2],i[f+28>>2]=(n+r|0)-1,i[f+20>>2]=r,i[f+24>>2]=r;break e}r=i[f+56>>2],i[f+28>>2]=(r+i[f+60>>2]|0)-1,i[f+20>>2]=r,i[f+24>>2]=r;break e}i[f+28>>2]=0,i[f+20>>2]=0,i[f+24>>2]=0}i[f+92>>2]=16}if(t=i[f+20>>2],o=i[f+28>>2],(e|0)!=-1&&(i[f+24>>2]||(i[f+28>>2]=A+16,r=A+15|0,i[f+20>>2]=r,i[f+24>>2]=r),l[i[f+24>>2]]=e<<24>>24,i[f+24>>2]=i[f+24>>2]+1),k=i[f+24>>2],r=i[f+20>>2],(k|0)!=(r|0)){e:{if(s[f+98|0]==1){if(n=r,r=k-r|0,(F1(n,1,r,i[f+64>>2])|0)!=(r|0))break r;break e}for(i[A+8>>2]=i[f+32>>2],u=f+72|0;;){if(r=i[f+68>>2],r){if(k=i[f+32>>2],r=V[i[i[r>>2]+12>>2]](r,u,i[f+20>>2],i[f+24>>2],A+4|0,k,k+i[f+52>>2]|0,A+8|0)|0,i[f+20>>2]==i[A+4>>2])break r;if((r|0)==3){if(r=i[f+24>>2]-i[f+20>>2]|0,(F1(i[f+20>>2],1,r,i[f+64>>2])|0)!=(r|0))break r;break e}if(r>>>0>1||(n=i[f+32>>2],k=i[A+8>>2]-n|0,(F1(n,1,k,i[f+64>>2])|0)!=(k|0)))break r;if((r|0)!=1)break e;r=i[A+4>>2],i[f+28>>2]=i[f+24>>2],i[f+20>>2]=r,i[f+24>>2]=r,i[f+24>>2]=i[f+24>>2]+(i[f+28>>2]-i[f+20>>2]|0);continue}break}u1(),P()}i[f+28>>2]=o,i[f+20>>2]=t,i[f+24>>2]=t}f=(e|0)!=-1?e:0;break i}f=-1}return B=A+16|0,f|0}function Ur(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0;v=B-2048|0,B=v;i:{if((e|0)<2){h=-1,E=6,o=-2,J=32,u=5;break i}for(k=e;h=n,n=n+1|0,u=k>>>0>3,k=k>>>1|0,!!u;);for(n=0,k=e;t=n,n=n+1|0,u=k>>>0>3,k=k>>>1|0,!!u;);for(o=h-1|0,n=0,k=e;u=n,n=n+1|0,Z=k>>>0>3,k=k>>>1|0,!!Z;);J=64<<t,E=t+7|0,u=4-u|0}i:{if((e|0)<=0)break i;for(p=1<<o,C=e&2147483646,Z=e&1,R=e-1|0;;){for(I=(W<<1)+r|0,o=0;;){if(w=o<<u,k=0,n=0,_=0,R)for(;t=k|1,D=X[I+(m(t,A)<<1)>>1],y=t,t=(w<<5)+43984|0,n=m(D,l[y+t|0])+(m(X[I+(m(A,k)<<1)>>1],l[k+t|0])+n|0)|0,k=k+2|0,_=_+2|0,(C|0)!=(_|0););if(t=(m(e,o)+W<<1)+v|0,Z&&(n=m(X[I+(m(A,k)<<1)>>1],l[((w<<5)+k|0)+43984|0])+n|0),X[t>>1]=n+p>>h,o=o+1|0,(o|0)==(e|0))break}if(W=W+1|0,(W|0)==(e|0))break}if((e|0)<=0)break i;for(C=e&2147483646,Z=e&1,h=0;;){for(w=m(e,h),t=(w<<1)+f|0,r=0;;){if(p=r<<u,k=0,n=0,_=0,R)for(;A=k|1,o=X[(A+w<<1)+v>>1],y=A,A=(p<<5)+43984|0,n=m(o,l[y+A|0])+(m(X[(k+w<<1)+v>>1],l[A+k|0])+n|0)|0,k=k+2|0,_=_+2|0,(C|0)!=(_|0););if(A=t+(r<<1)|0,Z&&(n=m(X[(k+w<<1)+v>>1],l[((p<<5)+k|0)+43984|0])+n|0),X[A>>1]=n+J>>E,r=r+1|0,(r|0)==(e|0))break}if(h=h+1|0,(h|0)==(e|0))break}}B=v+2048|0}function i_(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=Y(0);for(f=B-256|0,B=f,i[f+248>>2]=r,i[f+252>>2]=e,u3(f+192|0,A,f+208|0,f+207|0,f+206|0),r=B-16|0,B=r,e=f+180|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+176>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0,l[f+7|0]=1,l[f+6|0]=69;;){i:{if(J2(f+252|0,f+248|0))break i;t=i[f+176>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+176>>2]=A+r),t=f+252|0,A=i[t>>2],o=i[A+12>>2];r:{if((o|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=s[o|0]}if(EA(A<<24>>24,f+7|0,f+6|0,r,f+176|0,l[f+207|0],l[f+206|0],f+192|0,f+16|0,f+12|0,f+8|0,f+208|0))break i;E1(t);continue}break}s[f+203|0]>>>7|0?A=i[f+196>>2]:A=s[f+203|0]&127;i:{if(!A|s[f+7|0]!=1||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return u=n,h=r9(r,i[f+176>>2],k),Z0[u>>2]=h,K1(f+192|0,f+16|0,i[f+12>>2],k),J2(f+252|0,f+248|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+252>>2],z0(e),z0(f+192|0),B=f+256|0,r|0}function P2(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;if(k=i[f+4>>2],r=i[f+8>>2],k>>>0<r>>>0){r=i[e+4>>2],i[k>>2]=i[e>>2],i[k+4>>2]=r,r=i[e+12>>2],i[k+8>>2]=i[e+8>>2],i[k+12>>2]=r,i[k+16>>2]=72992,i[k+20>>2]=i[e+20>>2],r=s[e+23|0]|s[e+24|0]<<8|(s[e+25|0]<<16|s[e+26|0]<<24),l[k+23|0]=r,l[k+24|0]=r>>>8,l[k+25|0]=r>>>16,l[k+26|0]=r>>>24,i[k+28>>2]=i[e+28>>2],i[f+4>>2]=k+32;return}i:{if(o=i[f>>2],t=k-o>>5,n=t+1|0,n>>>0<134217728){if(A=r-o|0,r=A>>4,u=A>>>0>=2147483616?134217727:r>>>0>n>>>0?r:n,u){if(u>>>0>=134217728)break i;n=U(u<<5)}else n=0;r=n+(t<<5)|0,A=i[e+4>>2],i[r>>2]=i[e>>2],i[r+4>>2]=A,t=i[e+12>>2],A=i[e+8>>2],i[r+16>>2]=72992,i[r+8>>2]=A,i[r+12>>2]=t,i[r+20>>2]=i[e+20>>2],A=s[e+23|0]|s[e+24|0]<<8|(s[e+25|0]<<16|s[e+26|0]<<24),l[r+23|0]=A,l[r+24|0]=A>>>8,l[r+25|0]=A>>>16,l[r+26|0]=A>>>24,i[r+28>>2]=i[e+28>>2],u=n+(u<<5)|0,h=r+32|0;r:{if((k|0)==(o|0)){e=r;break r}for(;n=k-32|0,A=i[n+4>>2],e=r-32|0,i[e>>2]=i[n>>2],i[e+4>>2]=A,A=i[n+12>>2],i[e+8>>2]=i[n+8>>2],i[e+12>>2]=A,i[r-16>>2]=72992,t=r-12|0,A=k-12|0,i[t>>2]=i[A>>2],A=s[A+3|0]|s[A+4|0]<<8|(s[A+5|0]<<16|s[A+6|0]<<24),l[t+3|0]=A,l[t+4|0]=A>>>8,l[t+5|0]=A>>>16,l[t+6|0]=A>>>24,i[r-4>>2]=i[k-4>>2],r=e,k=n,(k|0)!=(o|0););o=i[f>>2]}i[f+8>>2]=u,i[f+4>>2]=h,i[f>>2]=e,o&&G(o),i[f+4>>2]=h;return}y0(),P()}_2(),P()}function r_(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0;for(f=B-256|0,B=f,i[f+248>>2]=r,i[f+252>>2]=e,u3(f+192|0,A,f+208|0,f+207|0,f+206|0),r=B-16|0,B=r,e=f+180|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+176>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0,l[f+7|0]=1,l[f+6|0]=69;;){i:{if(J2(f+252|0,f+248|0))break i;t=i[f+176>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+176>>2]=A+r),t=f+252|0,A=i[t>>2],o=i[A+12>>2];r:{if((o|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=s[o|0]}if(EA(A<<24>>24,f+7|0,f+6|0,r,f+176|0,l[f+207|0],l[f+206|0],f+192|0,f+16|0,f+12|0,f+8|0,f+208|0))break i;E1(t);continue}break}s[f+203|0]>>>7|0?A=i[f+196>>2]:A=s[f+203|0]&127;i:{if(!A|s[f+7|0]!=1||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return u=n,h=A9(r,i[f+176>>2],k),i0[u>>3]=h,K1(f+192|0,f+16|0,i[f+12>>2],k),J2(f+252|0,f+248|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+252>>2],z0(e),z0(f+192|0),B=f+256|0,r|0}function e_(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=Y(0);for(f=B-368|0,B=f,i[f+360>>2]=r,i[f+364>>2]=e,l3(f+204|0,A,f+224|0,f+220|0,f+216|0),r=B-16|0,B=r,e=f+192|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+188>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0,l[f+7|0]=1,l[f+6|0]=69;;){i:{if(g2(f+364|0,f+360|0))break i;t=i[f+188>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+188>>2]=A+r),t=f+364|0,A=i[t>>2],o=i[A+12>>2];r:{if((o|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=i[o>>2]}if(FA(A,f+7|0,f+6|0,r,f+188|0,i[f+220>>2],i[f+216>>2],f+204|0,f+16|0,f+12|0,f+8|0,f+224|0))break i;Y1(t);continue}break}s[f+215|0]>>>7|0?A=i[f+208>>2]:A=s[f+215|0]&127;i:{if(!A|s[f+7|0]!=1||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return u=n,h=r9(r,i[f+188>>2],k),Z0[u>>2]=h,K1(f+204|0,f+16|0,i[f+12>>2],k),g2(f+364|0,f+360|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+364>>2],z0(e),z0(f+204|0),B=f+368|0,r|0}function A_(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0;for(f=B-368|0,B=f,i[f+360>>2]=r,i[f+364>>2]=e,l3(f+204|0,A,f+224|0,f+220|0,f+216|0),r=B-16|0,B=r,e=f+192|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+188>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0,l[f+7|0]=1,l[f+6|0]=69;;){i:{if(g2(f+364|0,f+360|0))break i;t=i[f+188>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+188>>2]=A+r),t=f+364|0,A=i[t>>2],o=i[A+12>>2];r:{if((o|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=i[o>>2]}if(FA(A,f+7|0,f+6|0,r,f+188|0,i[f+220>>2],i[f+216>>2],f+204|0,f+16|0,f+12|0,f+8|0,f+224|0))break i;Y1(t);continue}break}s[f+215|0]>>>7|0?A=i[f+208>>2]:A=s[f+215|0]&127;i:{if(!A|s[f+7|0]!=1||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return u=n,h=A9(r,i[f+188>>2],k),i0[u>>3]=h,K1(f+204|0,f+16|0,i[f+12>>2],k),g2(f+364|0,f+360|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+364>>2],z0(e),z0(f+204|0),B=f+368|0,r|0}function on(f,e,r){var A=0,k=0,n=0;i:{r:{if(!r){if(i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,r=i[e+156>>2],e=i[e+152>>2],(r|0)==(e|0))break r;if(k=r-e|0,(k|0)<0)break i;for(A=U(k),i[f+4>>2]=A,i[f>>2]=A,i[f+8>>2]=A+k;i[A>>2]=i[e>>2],k=i[e+4>>2],i[A+4>>2]=k,k&&(i[k+4>>2]=i[k+4>>2]+1),A=A+8|0,e=e+8|0,(r|0)!=(e|0););i[f+4>>2]=A;return}if(i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,A=i[e+152>>2],k=i[e+156>>2],(A|0)==(k|0))break r;if(n=r&4,!(r&2)){if(e=0,!n)for(;;){e:{if(k0[f+8>>2]<=e>>>0){e=Q2(f,A);break e}i[e>>2]=i[A>>2],r=i[A+4>>2],i[e+4>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),e=e+8|0}if(i[f+4>>2]=e,A=A+8|0,(k|0)==(A|0))break r}for(;;){if(r=i[A>>2],!s[r+60|0]){e:{if(k0[f+8>>2]<=e>>>0){e=Q2(f,A);break e}i[e>>2]=r,r=i[A+4>>2],i[e+4>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),e=e+8|0}i[f+4>>2]=e}if(A=A+8|0,(k|0)==(A|0))break}break r}if(e=0,!n)for(;;){if(r=i[A>>2],!s[r+48|0]){e:{if(k0[f+8>>2]<=e>>>0){e=Q2(f,A);break e}i[e>>2]=r,r=i[A+4>>2],i[e+4>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),e=e+8|0}i[f+4>>2]=e}if(A=A+8|0,(k|0)==(A|0))break r}for(;;){if(r=i[A>>2],!(s[r+48|0]|s[r+60|0])){e:{if(k0[f+8>>2]>e>>>0){i[e>>2]=r,r=i[A+4>>2],i[e+4>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),e=e+8|0;break e}e=Q2(f,A)}i[f+4>>2]=e}if(A=A+8|0,(k|0)==(A|0))break}}return}y0(),P()}function f_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;k=B-32|0,B=k,yA(k+8|0,e,r);i:{if(i[k+8>>2]){e=i[k+12>>2],i[f>>2]=i[k+8>>2],i[f+4>>2]=e,i[f+16>>2]=i[k+24>>2],e=i[k+20>>2],i[f+8>>2]=i[k+16>>2],i[f+12>>2]=e,i[k+24>>2]=0,i[k+16>>2]=0,i[k+20>>2]=0;break i}p=e,W=t2(r),X[p+72>>1]=W,p=e,W=t2(r),X[p+74>>1]=W;r:{if(i[e+64>>2]==i[e+60>>2])break r;e:{for(;;){A:{h=t2(r),w=t2(r),_=t2(r),n=i[e+80>>2],A=i[e+84>>2];f:{if(n>>>0<A>>>0){X[n+4>>1]=_,X[n+2>>1]=w,X[n>>1]=h,h=n+6|0;break f}if(o=i[e+76>>2],t=(n-o|0)/6|0,u=t+1|0,u>>>0>=715827883)break A;if(Z=m(t,6),A=(A-o|0)/6|0,t=A<<1,t=A>>>0>=357913941?715827882:t>>>0>u>>>0?t:u,t){if(t>>>0>=715827883)break e;u=U(m(t,6))}else u=0;if(A=Z+u|0,X[A+4>>1]=_,X[A+2>>1]=w,X[A>>1]=h,h=A+6|0,(n|0)!=(o|0)){for(;A=A-6|0,n=n-6|0,w=Q[n>>1]|Q[n+2>>1]<<16,X[A>>1]=w,X[A+2>>1]=w>>>16,X[A+4>>1]=Q[n+4>>1],(n|0)!=(o|0););o=i[e+76>>2]}if(i[e+84>>2]=u+m(t,6),i[e+80>>2]=h,i[e+76>>2]=A,!o)break f;G(o)}if(i[e+80>>2]=h,v=v+1|0,v>>>0<i[e+64>>2]-i[e+60>>2]>>2>>>0)continue;break r}break}y0(),P()}_2(),P()}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}l[k+27|0]<0&&G(i[k+16>>2]),B=k+32|0}function k_(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;for(f=B-256|0,B=f,i[f+248>>2]=r,i[f+252>>2]=e,e=B-16|0,B=e,o=f+196|0,i[o>>2]=0,i[o+4>>2]=0,i[o+8>>2]=0,B=e+16|0,t=f+16|0,e=i[A+28>>2],i[t>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(t,100192),V[i[i[e>>2]+32>>2]](e,60064,60090,f+208|0)|0,O0(t),e=B-16|0,B=e,r=f+184|0,i[r>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,B=e+16|0,h2(r,s[r+11|0]>>>7|0?(i[r+8>>2]&2147483647)-1|0:10),s[r+11|0]>>>7|0?e=i[r>>2]:e=r,i[f+180>>2]=e,i[f+12>>2]=t,i[f+8>>2]=0;;){i:{if(J2(f+252|0,f+248|0))break i;t=i[f+180>>2],s[r+11|0]>>>7|0?A=i[r+4>>2]:A=s[r+11|0]&127,(t|0)==(A+e|0)&&(s[r+11|0]>>>7|0?e=i[r+4>>2]:e=s[r+11|0]&127,s[r+11|0]>>>7|0?A=i[r+4>>2]:A=s[r+11|0]&127,h2(r,A<<1),h2(r,s[r+11|0]>>>7|0?(i[r+8>>2]&2147483647)-1|0:10),A=e,s[r+11|0]>>>7|0?e=i[r>>2]:e=r,i[f+180>>2]=A+e),u=f+252|0,A=i[u>>2],t=i[A+12>>2];r:{if((t|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=s[t|0]}if(Gi(A<<24>>24,16,e,f+180|0,f+8|0,0,o,f+16|0,f+12|0,f+208|0))break i;E1(u);continue}break}return h2(r,i[f+180>>2]-e|0),s[r+11|0]>>>7|0?e=i[r>>2]:e=r,A=M2(),i[f>>2]=n,(P9(e,A,f)|0)!=1&&(i[k>>2]=4),J2(f+252|0,f+248|0)&&(i[k>>2]=i[k>>2]|2),e=i[f+252>>2],z0(r),z0(o),B=f+256|0,e|0}function n_(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;h=B-16|0,B=h;i:{if((r|0)<0)break i;f=i[f>>2],n=i[f+48>>2],f=i[f+52>>2],f&&(i[f+4>>2]=i[f+4>>2]+1),o=i[n+76>>2],u=i[n+80>>2],u&&(i[u+4>>2]=i[u+4>>2]+1);r:{if(!f||(n=i[f+4>>2],i[f+4>>2]=n-1,n))break r;V[i[i[f>>2]+8>>2]](f),g(f)}r:{if(!o){n=0;break r}oe(h+4|0,o,e),f=i[h+8>>2],o=i[h+4>>2];e:{if(((f-o|0)/56|0)>(r|0)){r=o+m(r,56)|0,A&&(i[A>>2]=i[r+16>>2]);A:{if(!k){e=i[r+44>>2],n=i[r+48>>2];break A}if(e=i[r+48>>2]-i[r+44>>2]|0,w=U((e|0)<0?-1:e),i[k>>2]=w,e=i[r+44>>2],n=i[r+48>>2],(e|0)==(n|0)){e=n;break A}if(A=n-e>>2,t=A>>>0<=1?1:A,v=t&3,k=0,r=0,A>>>0>=4)for(Z=t&-4,A=0;t=r<<2,i[t+w>>2]=i[e+t>>2],_=t|4,i[_+w>>2]=i[e+_>>2],_=t|8,i[_+w>>2]=i[e+_>>2],t=t|12,i[t+w>>2]=i[e+t>>2],r=r+4|0,A=A+4|0,(Z|0)!=(A|0););if(!v)break A;for(;A=r<<2,i[A+w>>2]=i[e+A>>2],r=r+1|0,k=k+1|0,(v|0)!=(k|0););}n=n-e>>2;break e}if(n=0,!o)break r}if(r=o,(r|0)!=(f|0)){for(;e=i[f-12>>2],e&&(i[f-8>>2]=e,G(e)),e=f-56|0,i[e>>2]=68500,r=i[f-36>>2],r&&(i[f-32>>2]=r,G(r)),f=e,(o|0)!=(f|0););r=i[h+4>>2]}i[h+8>>2]=o,G(r)}if(!u||(f=i[u+4>>2],i[u+4>>2]=f-1,f))break i;V[i[i[u>>2]+8>>2]](u),g(u)}return B=h+16|0,n|0}function t_(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;for(f=B-320|0,B=f,i[f+312>>2]=r,i[f+316>>2]=e,e=B-16|0,B=e,o=f+196|0,i[o>>2]=0,i[o+4>>2]=0,i[o+8>>2]=0,B=e+16|0,t=f+16|0,e=i[A+28>>2],i[t>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(t,100184),V[i[i[e>>2]+48>>2]](e,60064,60090,f+208|0)|0,O0(t),e=B-16|0,B=e,r=f+184|0,i[r>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,B=e+16|0,h2(r,s[r+11|0]>>>7|0?(i[r+8>>2]&2147483647)-1|0:10),s[r+11|0]>>>7|0?e=i[r>>2]:e=r,i[f+180>>2]=e,i[f+12>>2]=t,i[f+8>>2]=0;;){i:{if(g2(f+316|0,f+312|0))break i;t=i[f+180>>2],s[r+11|0]>>>7|0?A=i[r+4>>2]:A=s[r+11|0]&127,(t|0)==(A+e|0)&&(s[r+11|0]>>>7|0?e=i[r+4>>2]:e=s[r+11|0]&127,s[r+11|0]>>>7|0?A=i[r+4>>2]:A=s[r+11|0]&127,h2(r,A<<1),h2(r,s[r+11|0]>>>7|0?(i[r+8>>2]&2147483647)-1|0:10),A=e,s[r+11|0]>>>7|0?e=i[r>>2]:e=r,i[f+180>>2]=A+e),u=f+316|0,A=i[u>>2],t=i[A+12>>2];r:{if((t|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=i[t>>2]}if(Ci(A,16,e,f+180|0,f+8|0,0,o,f+16|0,f+12|0,f+208|0))break i;Y1(u);continue}break}return h2(r,i[f+180>>2]-e|0),s[r+11|0]>>>7|0?e=i[r>>2]:e=r,A=M2(),i[f>>2]=n,(P9(e,A,f)|0)!=1&&(i[k>>2]=4),g2(f+316|0,f+312|0)&&(i[k>>2]=i[k>>2]|2),e=i[f+316>>2],z0(r),z0(o),B=f+320|0,e|0}function o_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,k=i[13708],i[A+12>>2]=k,n=i[k-12>>2],k=A+12|0,i[n+k>>2]=i[13709],t=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(t,n),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(n),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),u=k,o=n,k=l[A+159|0],n=(k|0)<0,x(u,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],n=(k|0)<0,x(A+12|0,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=x(L0(x(A+12|0,21348,13),i[e+56>>2]),31338,1),n=A+148|0,W0(n,r),o=n,n=l[A+159|0],u=(n|0)<0,x(k,u?i[A+148>>2]:o,u?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),n=x(k,20963,14),k=i[e+60>>2],l[A+11|0]=4,l[A+3|0]=k,l[A+2|0]=k>>>8,l[A+1|0]=k>>>16,l[A|0]=k>>>24,l[A+4|0]=0,k=x(x(n,A,4),31338,1),n=A+148|0,W0(n,r),o=n,r=l[A+159|0],n=(r|0)<0,x(k,n?i[A+148>>2]:o,n?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),n=x(k,21086,6),r=l[e+87|0],k=(r|0)<0,x(x(n,k?i[e+76>>2]:e+76|0,k?i[e+80>>2]:r),31338,1),l[A+11|0]<0&&G(i[A>>2]),i2(f,t),f=i[13707],i[A+12>>2]=f,i[i[f-12>>2]+(A+12|0)>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function l_(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0;for(f=B-336|0,B=f,i[f+328>>2]=r,i[f+332>>2]=e,o=A8(A),h=x6(A,f+208|0),U6(f+196|0,A,f+324|0),r=B-16|0,B=r,e=f+184|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0;;){i:{if(g2(f+332|0,f+328|0))break i;t=i[f+180>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=A+r),t=f+332|0,A=i[t>>2],u=i[A+12>>2];r:{if((u|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=i[u>>2]}if(Ci(A,o,r,f+180|0,f+8|0,i[f+324>>2],f+196|0,f+16|0,f+12|0,h))break i;Y1(t);continue}break}s[f+207|0]>>>7|0?A=i[f+200>>2]:A=s[f+207|0]&127;i:{if(!A||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return w=n,_=d7(r,i[f+180>>2],k,o),i[w>>2]=_,i[n+4>>2]=w0,K1(f+196|0,f+16|0,i[f+12>>2],k),g2(f+332|0,f+328|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+332>>2],z0(e),z0(f+196|0),B=f+336|0,r|0}function u_(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0;for(f=B-336|0,B=f,i[f+328>>2]=r,i[f+332>>2]=e,o=A8(A),h=x6(A,f+208|0),U6(f+196|0,A,f+324|0),r=B-16|0,B=r,e=f+184|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0;;){i:{if(g2(f+332|0,f+328|0))break i;t=i[f+180>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=A+r),t=f+332|0,A=i[t>>2],u=i[A+12>>2];r:{if((u|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=i[u>>2]}if(Ci(A,o,r,f+180|0,f+8|0,i[f+324>>2],f+196|0,f+16|0,f+12|0,h))break i;Y1(t);continue}break}s[f+207|0]>>>7|0?A=i[f+200>>2]:A=s[f+207|0]&127;i:{if(!A||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return w=n,_=D7(r,i[f+180>>2],k,o),i[w>>2]=_,i[n+4>>2]=w0,K1(f+196|0,f+16|0,i[f+12>>2],k),g2(f+332|0,f+328|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+332>>2],z0(e),z0(f+196|0),B=f+336|0,r|0}function s_(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0,Z=0;u=B-256|0,B=u,i[u+248>>2]=37,i[u+252>>2]=0,w=u+248|0,_=Ae(w|1,15076,i[r+4>>2]),h=u+208|0,i[u+204>>2]=h,f=M2();i:{if(_){Z=i[r+8>>2],v=u- -64|0,i[v>>2]=t,i[v+4>>2]=o,i[u+56>>2]=k,i[u+60>>2]=n,i[u+48>>2]=Z,f=b1(h,30,f,w,u+48|0);break i}i[u+80>>2]=k,i[u+84>>2]=n,i[u+88>>2]=t,i[u+92>>2]=o,f=b1(u+208|0,30,f,u+248|0,u+80|0)}i[u+128>>2]=1094,w=o1(u+196|0,0,u+128|0),h=u+208|0;i:{r:{if((f|0)>=30){f=M2();e:{if(_){h=i[r+8>>2],i[u+16>>2]=t,i[u+20>>2]=o,i[u+8>>2]=k,i[u+12>>2]=n,i[u>>2]=h,f=c4(u+204|0,f,u+248|0,u);break e}i[u+32>>2]=k,i[u+36>>2]=n,i[u+40>>2]=t,i[u+44>>2]=o,f=c4(u+204|0,f,u+248|0,u+32|0)}if((f|0)==-1)break r;k=i[w>>2],i[w>>2]=i[u+204>>2],k&&V[i[w+4>>2]](k),h=i[u+204>>2]}k=h,h=f+h|0,_=X4(k,h,r),i[u+128>>2]=1094,k=u+128|0,n=o1(u+120|0,0,k),t=i[u+204>>2];e:{if((t|0)==(u+208|0)){f=k;break e}if(f=Z2(f<<1),!f)break r;k=i[n>>2],i[n>>2]=f,k&&V[i[n+4>>2]](k),t=i[u+204>>2]}o=u+108|0,k=i[r+28>>2],i[o>>2]=k,(k|0)!=100008&&(i[k+4>>2]=i[k+4>>2]+1),dk(t,_,h,f,u+116|0,u+112|0,o),O0(o),f=G8(e,f,i[u+116>>2],i[u+112>>2],r,A),e=i[n>>2],i[n>>2]=0,e&&V[i[n+4>>2]](e),e=i[w>>2],i[w>>2]=0,e&&V[i[w+4>>2]](e),B=u+256|0;break i}u1(),P()}return f|0}function h_(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0,Z=0;u=B-416|0,B=u,i[u+408>>2]=37,i[u+412>>2]=0,w=u+408|0,_=Ae(w|1,15076,i[r+4>>2]),h=u+368|0,i[u+364>>2]=h,f=M2();i:{if(_){Z=i[r+8>>2],v=u- -64|0,i[v>>2]=t,i[v+4>>2]=o,i[u+56>>2]=k,i[u+60>>2]=n,i[u+48>>2]=Z,f=b1(h,30,f,w,u+48|0);break i}i[u+80>>2]=k,i[u+84>>2]=n,i[u+88>>2]=t,i[u+92>>2]=o,f=b1(u+368|0,30,f,u+408|0,u+80|0)}i[u+128>>2]=1094,w=o1(u+356|0,0,u+128|0),h=u+368|0;i:{r:{if((f|0)>=30){f=M2();e:{if(_){h=i[r+8>>2],i[u+16>>2]=t,i[u+20>>2]=o,i[u+8>>2]=k,i[u+12>>2]=n,i[u>>2]=h,f=c4(u+364|0,f,u+408|0,u);break e}i[u+32>>2]=k,i[u+36>>2]=n,i[u+40>>2]=t,i[u+44>>2]=o,f=c4(u+364|0,f,u+408|0,u+32|0)}if((f|0)==-1)break r;k=i[w>>2],i[w>>2]=i[u+364>>2],k&&V[i[w+4>>2]](k),h=i[u+364>>2]}k=h,h=f+h|0,_=X4(k,h,r),i[u+128>>2]=1094,k=u+128|0,n=o1(u+120|0,0,k),t=i[u+364>>2];e:{if((t|0)==(u+368|0)){f=k;break e}if(f=Z2(f<<3),!f)break r;k=i[n>>2],i[n>>2]=f,k&&V[i[n+4>>2]](k),t=i[u+364>>2]}o=u+108|0,k=i[r+28>>2],i[o>>2]=k,(k|0)!=100008&&(i[k+4>>2]=i[k+4>>2]+1),bk(t,_,h,f,u+116|0,u+112|0,o),O0(o),f=X8(e,f,i[u+116>>2],i[u+112>>2],r,A),e=i[n>>2],i[n>>2]=0,e&&V[i[n+4>>2]](e),e=i[w>>2],i[w>>2]=0,e&&V[i[w+4>>2]](e),B=u+416|0;break i}u1(),P()}return f|0}function Z8(f,e,r,A,k,n,t,o){var u=0,h=0,w=0,_=0,v=0;u=B-16|0,B=u,i[u+8>>2]=r,i[u+12>>2]=e,r=u+4|0,e=i[A+28>>2],i[r>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),h=x0(r,100184),O0(r),i[k>>2]=0,e=0;i:{for(;;){if(e|(t|0)==(o|0))break i;r:{if(g2(u+12|0,u+8|0))break r;e:{if((V[i[i[h>>2]+52>>2]](h,i[t>>2],0)|0)==37){if((t+4|0)==(o|0))break r;r=0;A:{f:{if(e=V[i[i[h>>2]+52>>2]](h,i[t+4>>2],0)|0,(e|0)==69||(w=4,(e&255)==48))break f;break A}if((t+8|0)==(o|0))break r;w=8,r=e,e=V[i[i[h>>2]+52>>2]](h,i[t+8>>2],0)|0}_=u,v=V[i[i[f>>2]+36>>2]](f,i[u+12>>2],i[u+8>>2],A,k,n,e,r)|0,i[_+12>>2]=v,t=(t+w|0)+4|0;break e}if(V[i[i[h>>2]+12>>2]](h,1,i[t>>2])|0){for(;t=t+4|0,!!((o|0)!=(t|0)&&V[i[i[h>>2]+12>>2]](h,1,i[t>>2])|0););for(;;){if(r=u+12|0,g2(r,u+8|0))break e;e=i[r>>2],w=i[e+12>>2];A:{if((w|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break A}e=i[w>>2]}if(!(V[i[i[h>>2]+12>>2]](h,1,e)|0))break e;Y1(r)}}w=u+12|0,e=i[w>>2],r=i[e+12>>2];A:{if((r|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break A}e=i[r>>2]}if((V[i[i[h>>2]+28>>2]](h,e)|0)==(V[i[i[h>>2]+28>>2]](h,i[t>>2])|0)){t=t+4|0,Y1(w);break e}i[k>>2]=4}e=i[k>>2];continue}break}i[k>>2]=4}return g2(u+12|0,u+8|0)&&(i[k>>2]=i[k>>2]|2),B=u+16|0,i[u+12>>2]}function ln(f,e){var r=0,A=0,k=0,n=0,t=0;i:{r:{e:{A:{f:{r=i[f+4>>2];k:{if((r|0)!=i[f+104>>2]){i[f+4>>2]=r+1,r=s[r|0];break k}r=I2(f)}switch(r-43|0){case 0:case 2:break f;default:break A}}t=(r|0)==45,e=!e,r=i[f+4>>2];f:{if((r|0)!=i[f+104>>2]){i[f+4>>2]=r+1,r=s[r|0];break f}r=I2(f)}if(A=r-58|0,e|A>>>0>4294967285)break e;if(i[f+116>>2]<0)break r;i[f+4>>2]=i[f+4>>2]-1;break r}A=r-58|0}if(A>>>0<4294967286)break r;e:{if(r-48>>>0>=10)break e;for(;;){k=(m(k,10)+r|0)-48|0,n=(k|0)<214748364,r=i[f+4>>2];A:{if((r|0)!=i[f+104>>2]){i[f+4>>2]=r+1,r=s[r|0];break A}r=I2(f)}if(e=r-48|0,!(n&e>>>0<=9))break}if(n=k>>31,e>>>0>=10)break e;for(;;){e=r,r=q0(k,n,10,0),A=e+r|0,e=w0,k=A-48|0,A=(r>>>0>A>>>0?e+1|0:e)-(A>>>0<48)|0,n=A,A=k>>>0<2061584302&(A|0)<=21474836|(A|0)<21474836,r=i[f+4>>2];A:{if((r|0)!=i[f+104>>2]){i[f+4>>2]=r+1,r=s[r|0];break A}r=I2(f)}if(e=r-48|0,!(A&e>>>0<=9))break}if(e>>>0>=10)break e;for(;;){e=i[f+4>>2];A:{if((e|0)!=i[f+104>>2]){i[f+4>>2]=e+1,e=s[e|0];break A}e=I2(f)}if(!(e-48>>>0<10))break}}e=i[f+116>>2],(e|0)>0?e=1:e=(e|0)>=0,e&&(i[f+4>>2]=i[f+4>>2]-1),f=k,k=t?0-f|0:f,n=t?0-(((f|0)!=0)+n|0)|0:n;break i}if(n=-2147483648,i[f+116>>2]<0)break i;return i[f+4>>2]=i[f+4>>2]-1,w0=-2147483648,0}return w0=n,k}function w_(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0;for(f=B-256|0,B=f,i[f+248>>2]=r,i[f+252>>2]=e,o=A8(A),M6(f+196|0,A,f+247|0),r=B-16|0,B=r,e=f+184|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0;;){i:{if(J2(f+252|0,f+248|0))break i;t=i[f+180>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=A+r),t=f+252|0,A=i[t>>2],u=i[A+12>>2];r:{if((u|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=s[u|0]}if(Gi(A<<24>>24,o,r,f+180|0,f+8|0,l[f+247|0],f+196|0,f+16|0,f+12|0,60064))break i;E1(t);continue}break}s[f+207|0]>>>7|0?A=i[f+200>>2]:A=s[f+207|0]&127;i:{if(!A||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return h=n,w=d7(r,i[f+180>>2],k,o),i[h>>2]=w,i[n+4>>2]=w0,K1(f+196|0,f+16|0,i[f+12>>2],k),J2(f+252|0,f+248|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+252>>2],z0(e),z0(f+196|0),B=f+256|0,r|0}function __(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0;for(f=B-256|0,B=f,i[f+248>>2]=r,i[f+252>>2]=e,o=A8(A),M6(f+196|0,A,f+247|0),r=B-16|0,B=r,e=f+184|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0;;){i:{if(J2(f+252|0,f+248|0))break i;t=i[f+180>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=A+r),t=f+252|0,A=i[t>>2],u=i[A+12>>2];r:{if((u|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=s[u|0]}if(Gi(A<<24>>24,o,r,f+180|0,f+8|0,l[f+247|0],f+196|0,f+16|0,f+12|0,60064))break i;E1(t);continue}break}s[f+207|0]>>>7|0?A=i[f+200>>2]:A=s[f+207|0]&127;i:{if(!A||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return h=n,w=D7(r,i[f+180>>2],k,o),i[h>>2]=w,i[n+4>>2]=w0,K1(f+196|0,f+16|0,i[f+12>>2],k),J2(f+252|0,f+248|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+252>>2],z0(e),z0(f+196|0),B=f+256|0,r|0}function v_(f){f=f|0;var e=0,r=0,A=0,k=0;e=i[f+212>>2],e&&(i[f+216>>2]=e,G(e)),e=i[f+204>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+196>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(r=i[f+180>>2],r){if(e=r,A=i[f+184>>2],(e|0)!=(A|0)){for(;;){e=i[A-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(A=A-8|0,(r|0)==(A|0))break}e=i[f+180>>2]}i[f+184>>2]=r,G(e)}if(r=i[f+168>>2],r){if(e=r,A=i[f+172>>2],(e|0)!=(A|0)){for(;;){e=i[A-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(A=A-8|0,(r|0)==(A|0))break}e=i[f+168>>2]}i[f+172>>2]=r,G(e)}l[f+167|0]<0&&G(i[f+156>>2]),e=i[f+84>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+72>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(r=i[f+52>>2],r){if(e=r,A=i[f+56>>2],(e|0)!=(A|0)){for(;;){e=i[A-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(A=A-8|0,(r|0)==(A|0))break}e=i[f+52>>2]}i[f+56>>2]=r,G(e)}l[f+27|0]<0&&G(i[f+16>>2])}function un(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0;for(f=B-336|0,B=f,i[f+328>>2]=r,i[f+332>>2]=e,o=A8(A),h=x6(A,f+208|0),U6(f+196|0,A,f+324|0),r=B-16|0,B=r,e=f+184|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0;;){i:{if(g2(f+332|0,f+328|0))break i;t=i[f+180>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=A+r),t=f+332|0,A=i[t>>2],u=i[A+12>>2];r:{if((u|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=i[u>>2]}if(Ci(A,o,r,f+180|0,f+8|0,i[f+324>>2],f+196|0,f+16|0,f+12|0,h))break i;Y1(t);continue}break}s[f+207|0]>>>7|0?A=i[f+200>>2]:A=s[f+207|0]&127;i:{if(!A||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return w=n,_=T7(r,i[f+180>>2],k,o),i[w>>2]=_,K1(f+196|0,f+16|0,i[f+12>>2],k),g2(f+332|0,f+328|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+332>>2],z0(e),z0(f+196|0),B=f+336|0,r|0}function m_(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0;for(f=B-336|0,B=f,i[f+328>>2]=r,i[f+332>>2]=e,o=A8(A),h=x6(A,f+208|0),U6(f+196|0,A,f+324|0),r=B-16|0,B=r,e=f+184|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0;;){i:{if(g2(f+332|0,f+328|0))break i;t=i[f+180>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=A+r),t=f+332|0,A=i[t>>2],u=i[A+12>>2];r:{if((u|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=i[u>>2]}if(Ci(A,o,r,f+180|0,f+8|0,i[f+324>>2],f+196|0,f+16|0,f+12|0,h))break i;Y1(t);continue}break}s[f+207|0]>>>7|0?A=i[f+200>>2]:A=s[f+207|0]&127;i:{if(!A||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return w=n,_=U7(r,i[f+180>>2],k,o),i[w>>2]=_,K1(f+196|0,f+16|0,i[f+12>>2],k),g2(f+332|0,f+328|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+332>>2],z0(e),z0(f+196|0),B=f+336|0,r|0}function B_(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0;for(f=B-336|0,B=f,i[f+328>>2]=r,i[f+332>>2]=e,o=A8(A),h=x6(A,f+208|0),U6(f+196|0,A,f+324|0),r=B-16|0,B=r,e=f+184|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0;;){i:{if(g2(f+332|0,f+328|0))break i;t=i[f+180>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=A+r),t=f+332|0,A=i[t>>2],u=i[A+12>>2];r:{if((u|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=i[u>>2]}if(Ci(A,o,r,f+180|0,f+8|0,i[f+324>>2],f+196|0,f+16|0,f+12|0,h))break i;Y1(t);continue}break}s[f+207|0]>>>7|0?A=i[f+200>>2]:A=s[f+207|0]&127;i:{if(!A||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return w=n,_=M7(r,i[f+180>>2],k,o),X[w>>1]=_,K1(f+196|0,f+16|0,i[f+12>>2],k),g2(f+332|0,f+328|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+332>>2],z0(e),z0(f+196|0),B=f+336|0,r|0}function Z_(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0;f=B-624|0,B=f,i[f+616>>2]=r,i[f+620>>2]=e,i[f+16>>2]=1095,e=f+16|0,u=o1(f+200|0,f+208|0,e),h=f+192|0,o=i[k+28>>2],i[h>>2]=o,(o|0)!=100008&&(i[o+4>>2]=i[o+4>>2]+1),o=x0(h,100184),l[f+191|0]=0;i:{if(!Xk(f+620|0,r,A,h,i[k+4>>2],n,f+191|0,o,u,f+196|0,f+608|0))break i;r=s[16413]|s[16414]<<8|(s[16415]<<16|s[16416]<<24),l[f+183|0]=r,l[f+184|0]=r>>>8,l[f+185|0]=r>>>16,l[f+186|0]=r>>>24,r=s[16410]|s[16411]<<8|(s[16412]<<16|s[16413]<<24),i[f+176>>2]=s[16406]|s[16407]<<8|(s[16408]<<16|s[16409]<<24),i[f+180>>2]=r,V[i[i[o>>2]+48>>2]](o,f+176|0,f+186|0,f+128|0)|0,i[f+16>>2]=1094,A=o1(f+8|0,0,e),k=e;r:{if(e=i[f+196>>2]-i[u>>2]|0,(e|0)>=393&&(r=Z2((e>>2)+2|0),e=i[A>>2],i[A>>2]=r,e&&V[i[A+4>>2]](e),k=i[A>>2],!k))break r;for(s[f+191|0]==1&&(l[k|0]=45,k=k+1|0),r=i[u>>2];;){if(k0[f+196>>2]<=r>>>0)e:{if(l[k|0]=0,i[f>>2]=t,(Lt(f+16|0,f)|0)!=1)break e;e=i[A>>2],i[A>>2]=0,e&&V[i[A+4>>2]](e);break i}else{e=f+128|0,w=k,_=s[(f+176|0)+(H3(e,e+40|0,r)-e>>2)|0],l[w|0]=_,k=k+1|0,r=r+4|0;continue}break}u1(),P()}u1(),P()}return g2(f+620|0,f+616|0)&&(i[n>>2]=i[n>>2]|2),r=i[f+620>>2],O0(f+192|0),e=i[u>>2],i[u>>2]=0,e&&V[i[u+4>>2]](e),B=f+624|0,r|0}function p_(f){f=f|0;var e=0,r=0,A=0,k=0,n=0;k=B-16|0,B=k;i:{if(!i[f+64>>2])break i;r:{if(A=i[f+68>>2],A){if(r=i[f+92>>2],r&16){if(i[f+24>>2]!=i[f+20>>2]&&(e=-1,(V[i[i[f>>2]+52>>2]](f,-1)|0)==-1))break i;for(A=f+72|0;;){if(e=i[f+68>>2],r=i[f+32>>2],r=V[i[i[e>>2]+20>>2]](e,A,r,r+i[f+52>>2]|0,k+12|0)|0,n=i[f+32>>2],e=i[k+12>>2]-n|0,(F1(n,1,e,i[f+64>>2])|0)!=(e|0))break r;e:switch(r-1|0){case 1:break r;case 0:continue;default:break e}break}if(e=0,!x8(i[f+64>>2]))break i;break r}if(!(r&8))break i;e=i[f+84>>2],i[k>>2]=i[f+80>>2],i[k+4>>2]=e;e:{A:{f:{if(s[f+98|0]==1){e=i[f+16>>2]-i[f+12>>2]|0,A=e>>31;break f}if(r=V[i[i[A>>2]+24>>2]](A)|0,e=i[f+40>>2]-i[f+36>>2]|0,A=e>>31,(r|0)>0){r=m(r,i[f+16>>2]-i[f+12>>2]|0),A=A+(r>>31)|0,n=e,e=e+r|0,A=n>>>0>e>>>0?A+1|0:A;break f}if(i[f+12>>2]!=i[f+16>>2])break A}r=0;break e}r=i[f+68>>2],r=V[i[i[r>>2]+32>>2]](r,k,i[f+32>>2],i[f+36>>2],i[f+12>>2]-i[f+8>>2]|0)|0,r=i[f+36>>2]-(r+i[f+32>>2]|0)|0,A=A+(r>>31)|0,n=e,e=e+r|0,A=n>>>0>e>>>0?A+1|0:A,r=1}if(Ce(i[f+64>>2],0-e|0,0-(A+((e|0)!=0)|0)|0,1))break r;r&&(e=i[k+4>>2],i[f+72>>2]=i[k>>2],i[f+76>>2]=e),e=i[f+32>>2],i[f+40>>2]=e,i[f+36>>2]=e,e=0,i[f+16>>2]=0,i[f+12>>2]=0,i[f+8>>2]=0,i[f+92>>2]=0;break i}u1(),P()}e=-1}return B=k+16|0,e|0}function sn(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0;for(f=B-256|0,B=f,i[f+248>>2]=r,i[f+252>>2]=e,o=A8(A),M6(f+196|0,A,f+247|0),r=B-16|0,B=r,e=f+184|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0;;){i:{if(J2(f+252|0,f+248|0))break i;t=i[f+180>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=A+r),t=f+252|0,A=i[t>>2],u=i[A+12>>2];r:{if((u|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=s[u|0]}if(Gi(A<<24>>24,o,r,f+180|0,f+8|0,l[f+247|0],f+196|0,f+16|0,f+12|0,60064))break i;E1(t);continue}break}s[f+207|0]>>>7|0?A=i[f+200>>2]:A=s[f+207|0]&127;i:{if(!A||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return h=n,w=T7(r,i[f+180>>2],k,o),i[h>>2]=w,K1(f+196|0,f+16|0,i[f+12>>2],k),J2(f+252|0,f+248|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+252>>2],z0(e),z0(f+196|0),B=f+256|0,r|0}function W_(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0;for(f=B-256|0,B=f,i[f+248>>2]=r,i[f+252>>2]=e,o=A8(A),M6(f+196|0,A,f+247|0),r=B-16|0,B=r,e=f+184|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0;;){i:{if(J2(f+252|0,f+248|0))break i;t=i[f+180>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=A+r),t=f+252|0,A=i[t>>2],u=i[A+12>>2];r:{if((u|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=s[u|0]}if(Gi(A<<24>>24,o,r,f+180|0,f+8|0,l[f+247|0],f+196|0,f+16|0,f+12|0,60064))break i;E1(t);continue}break}s[f+207|0]>>>7|0?A=i[f+200>>2]:A=s[f+207|0]&127;i:{if(!A||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return h=n,w=U7(r,i[f+180>>2],k,o),i[h>>2]=w,K1(f+196|0,f+16|0,i[f+12>>2],k),J2(f+252|0,f+248|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+252>>2],z0(e),z0(f+196|0),B=f+256|0,r|0}function X_(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0;for(f=B-256|0,B=f,i[f+248>>2]=r,i[f+252>>2]=e,o=A8(A),M6(f+196|0,A,f+247|0),r=B-16|0,B=r,e=f+184|0,i[e>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,B=r+16|0,h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=r,i[f+12>>2]=f+16,i[f+8>>2]=0;;){i:{if(J2(f+252|0,f+248|0))break i;t=i[f+180>>2],s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,(t|0)==(A+r|0)&&(s[e+11|0]>>>7|0?r=i[e+4>>2]:r=s[e+11|0]&127,s[e+11|0]>>>7|0?A=i[e+4>>2]:A=s[e+11|0]&127,h2(e,A<<1),h2(e,s[e+11|0]>>>7|0?(i[e+8>>2]&2147483647)-1|0:10),A=r,s[e+11|0]>>>7|0?r=i[e>>2]:r=e,i[f+180>>2]=A+r),t=f+252|0,A=i[t>>2],u=i[A+12>>2];r:{if((u|0)==i[A+16>>2]){A=V[i[i[A>>2]+36>>2]](A)|0;break r}A=s[u|0]}if(Gi(A<<24>>24,o,r,f+180|0,f+8|0,l[f+247|0],f+196|0,f+16|0,f+12|0,60064))break i;E1(t);continue}break}s[f+207|0]>>>7|0?A=i[f+200>>2]:A=s[f+207|0]&127;i:{if(!A||(A=i[f+12>>2],(A-(f+16|0)|0)>159))break i;i[f+12>>2]=A+4,i[A>>2]=i[f+8>>2]}return h=n,w=M7(r,i[f+180>>2],k,o),X[h>>1]=w,K1(f+196|0,f+16|0,i[f+12>>2],k),J2(f+252|0,f+248|0)&&(i[k>>2]=i[k>>2]|2),r=i[f+252>>2],z0(e),z0(f+196|0),B=f+256|0,r|0}function G_(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0;f=B-272|0,B=f,i[f+264>>2]=r,i[f+268>>2]=e,i[f+16>>2]=1095,e=f+16|0,u=o1(f+152|0,f+160|0,e),h=f+144|0,o=i[k+28>>2],i[h>>2]=o,(o|0)!=100008&&(i[o+4>>2]=i[o+4>>2]+1),o=x0(h,100192),l[f+143|0]=0;i:{if(!pk(f+268|0,r,A,h,i[k+4>>2],n,f+143|0,o,u,f+148|0,f+260|0))break i;r=s[16413]|s[16414]<<8|(s[16415]<<16|s[16416]<<24),l[f+135|0]=r,l[f+136|0]=r>>>8,l[f+137|0]=r>>>16,l[f+138|0]=r>>>24,r=s[16410]|s[16411]<<8|(s[16412]<<16|s[16413]<<24),i[f+128>>2]=s[16406]|s[16407]<<8|(s[16408]<<16|s[16409]<<24),i[f+132>>2]=r,V[i[i[o>>2]+32>>2]](o,f+128|0,f+138|0,f+118|0)|0,i[f+16>>2]=1094,A=o1(f+8|0,0,e),k=e;r:{if(e=i[f+148>>2]-i[u>>2]|0,(e|0)>=99&&(r=Z2(e+2|0),e=i[A>>2],i[A>>2]=r,e&&V[i[A+4>>2]](e),k=i[A>>2],!k))break r;for(s[f+143|0]==1&&(l[k|0]=45,k=k+1|0),r=i[u>>2];;){if(k0[f+148>>2]<=r>>>0)e:{if(l[k|0]=0,i[f>>2]=t,(Lt(f+16|0,f)|0)!=1)break e;e=i[A>>2],i[A>>2]=0,e&&V[i[A+4>>2]](e);break i}else{e=f+118|0,w=k,_=s[((T3(e,e+10|0,r)-f|0)+f|0)+10|0],l[w|0]=_,k=k+1|0,r=r+1|0;continue}break}u1(),P()}u1(),P()}return J2(f+268|0,f+264|0)&&(i[n>>2]=i[n>>2]|2),r=i[f+268>>2],O0(f+144|0),e=i[u>>2],i[u>>2]=0,e&&V[i[u+4>>2]](e),B=f+272|0,r|0}function C_(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0;h=B-16|0,B=h,u=U(36),i[u+32>>2]=t,i[u+28>>2]=n,i[u+24>>2]=k,i[u+20>>2]=A,i[u+16>>2]=r,i[u+12>>2]=73320,i[u+4>>2]=0,i[u+8>>2]=0,i[u>>2]=73568,r=i[e+8>>2],i[h+12>>2]=u,n=u+12|0,i[h+8>>2]=n,i[u+4>>2]=i[u+4>>2]+1,A=i[r+16>>2];i:{r:{if(A>>>0<k0[r+20>>2]){i[A+4>>2]=u,i[A>>2]=n,i[u+4>>2]=i[u+4>>2]+1,i[r+16>>2]=A+8,k=u;break r}if(A=Q2(r+12|0,h+8|0),k=i[h+12>>2],i[r+16>>2]=A,!k)break i}if(r=i[k+4>>2],i[k+4>>2]=r-1,r)break i;V[i[i[k>>2]+8>>2]](k),g(k)}i:{if(!o||(i[u+4>>2]=i[u+4>>2]+1,r=U(24),i[u+4>>2]=i[u+4>>2]+1,i[r+20>>2]=u,i[r+16>>2]=n,k=i[e+8>>2],A=i[e+12>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+12>>2]=A,i[r+8>>2]=k,k=i[e>>2],A=i[e+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+4>>2]=A,i[r>>2]=k,i[o>>2]=r,r=i[u+4>>2],i[u+4>>2]=r-1,r))break i;V[i[i[u>>2]+8>>2]](u),g(u)}A=i[e>>2],r=i[e+4>>2];i:{if(r){if(i[r+4>>2]=i[r+4>>2]+1,z9(A,i[i[e+8>>2]>>2],t),i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,f=i[r+4>>2],i[r+4>>2]=f-1,f)break i;V[i[i[r>>2]+8>>2]](r),g(r);break i}z9(A,i[i[e+8>>2]>>2],t),i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e}f=i[u+4>>2],i[u+4>>2]=f-1,f||(V[i[i[u>>2]+8>>2]](u),g(u)),B=h+16|0}function V_(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e,A=i[r+4>>2];i:{if(!(!s[k+12|0]|((A|0)==3|i[k+8>>2]==1))){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(!(!(i[r>>2]|(A|0)!=1)&i[r+12>>2]>8)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(A=Q[r+24>>1],!(A>>>0>14|!(1<<A&18689))){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,i[e+48>>2]=8,l[e+44|0]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,i[e+36>>2]=99,i[e+40>>2]=99,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,i[e+36>>2]=1,A=s[r+8|0],l[e+44|0]=A,i[e+40>>2]=A?15:14,i[e+48>>2]=i[r+12>>2],A=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=A,A=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,A=i[e+40>>2],i[e>>2]=i[e+36>>2],i[e+4>>2]=A,i[e+16>>2]=72992,i[e+20>>2]=i[e+56>>2],i[e+28>>2]=11,P2(f,e),i[e+36>>2]=1,A=s[r+8|0],l[e+44|0]=A,i[e+40>>2]=A?13:12,i[e+48>>2]=i[r+12>>2],r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,r=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,r=i[e+40>>2],i[e>>2]=i[e+36>>2],i[e+4>>2]=r,i[e+16>>2]=72992,i[e+20>>2]=i[e+56>>2],i[e+28>>2]=11,P2(f,e)}B=e- -64|0}function I_(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;i[f+4>>2]=1,A=i[f+8>>2],i[A+324>>2]=i[A+324>>2]-1,i[A+328>>2]=i[A+328>>2]+1,A=i[f+12>>2],n=A+1|0,r=i[f+8>>2],e=i[r+124>>2],u=i[e+16884>>2]/4|0,h=i[r+276>>2],o=i[e+16892>>2],k=o-1|0,t=i[r+272>>2],w=s[f+16|0];i:{if(w){e=i[e+16900>>2]-1|0,i8(r,f,k,(e|0)<(n|0)?e:n,1);break i}if((A|0)<=0?e=A:(i8(r,f,k,A-1|0,2),r=i[f+8>>2],e=i[f+12>>2]),i8(r,f,k,e,2),r=i[f+12>>2]+1|0,e=i[f+8>>2],(r|0)>=i[i[e+124>>2]+16900>>2])break i;i8(e,f,k,r,2)}e=i[f+12>>2],r=i[f+8>>2];i:{r:{if(s[f+16|0]==1){if(e=Jk(r,e),r=i[f+8>>2],l[(i[r+140>>2]+m(m(i[r+152>>2],i[f+12>>2]),24)|0)+21|0]=e,!e)break i;k=s[f+16|0];break r}if(k=0,s[(i[r+140>>2]+m(m(e,i[r+152>>2]),24)|0)+21|0]!=1)break i}A=m(A,u),e=m(n,u),e=(e|0)<(h|0)?e:h,GA(r,k&1,A,e,t),r=s[f+16|0],k=i[f+8>>2];r:{if(i[i[k+124>>2]+16832>>2]>=9){ZA(k,r&1,A,e,t);break r}pA(k,r&1,A,e,t)}if(r=i[f+8>>2],n=i[r+124>>2],!i[n+16848>>2])break i;if(k=s[f+16|0],i[n+16840>>2]>=9){WA(r,k&1,A,e,t);break i}XA(r,k&1,A,e,t)}if(r=0,(o|0)>0)for(A=w?2:3;e=i[f+8>>2],e=(i[e+320>>2]+m(r,76)|0)+m(m(i[f+12>>2],i[i[e+124>>2]+16892>>2]),76)|0,(A|0)>i[e>>2]&&(i[e>>2]=A),r=r+1|0,(o|0)!=(r|0););i[f+4>>2]=3,Ze(i[f+8>>2])}function g1(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;n=i[f+16>>2],o=i[f+20>>2],A=i[f>>2],r=i[f+24>>2],h=i[f+8>>2],t=h;i:{for(;;){if(!((r|0)>0)){r=64-r|0;r:{if(!t){t=0,k=r;break r}Z=0;e:{for(;;){if(_=A+1|0,i[f>>2]=_,A=s[A|0],t=t-1|0,i[f+8>>2]=t,k=r-8|0,v=k&31,h=f,(k&63)>>>0>=32?(u=A<<v,A=0):(u=(1<<v)-1&A>>>32-v,A=A<<v),n=A|n,i[f+16>>2]=n,o=o|u,i[h+20>>2]=o,(r|0)<=15)break e;if(Z=Z-(r>>>0<8)|0,r=r-8|0,A=_,!t)break}h=t,t=0,k=r;break r}h=t,A=_}r=64-k|0}if(_=o,k=r,r=r-1|0,i[f+24>>2]=r,u=_<<1|n>>>31,n=n<<1,i[f+16>>2]=n,o=u,i[f+20>>2]=o,(_|0)>0|(_|0)>=0){if(w=w+1|0,(w|0)!=21)continue;break i}break}if(p=e,w){if(!((k|0)>(w|0)|(k|0)>57)){for(r=65-k|0,Z=0;;){r:{if(v=r,!h){k=r;break r}if(t=A+1|0,i[f>>2]=t,e=s[A|0],h=h-1|0,i[f+8>>2]=h,k=v-8|0,A=k&31,(k&63)>>>0>=32?(u=e<<A,e=0):(u=(1<<A)-1&e>>>32-A,e=e<<A),n=e|n,e=o|u,o=e,i[f+16>>2]=n,i[f+20>>2]=e,e=r,r=r-8|0,Z=Z-(e>>>0<8)|0,A=t,(v|0)>15)continue}break}r=64-k|0}i[f+24>>2]=r-w,e=n,r=w&31,(w&63)>>>0>=32?(u=e<<r,e=0):(u=(1<<r)-1&e>>>32-r|o<<r,e=e<<r),i[f+16>>2]=e,i[f+20>>2]=u,f=n,e=64-w|0,r=e&31,(e&63)>>>0>=32?f=o>>>r|0:f=((1<<r)-1&o)<<32-r|f>>>r,f=f+(-1<<w^-1)|0}else f=0;i[p>>2]=f}return _>>>31|0}function M0(f){var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;k=i[f+8>>2],r=i[f+12>>2],n=i[f+16>>2];i:{for(;;){r:{if((n|0)>0){e=r,A=n;break r}for(A=64-n|0,w=0,n=i[f+4>>2],e=r;;){e:{if(u=A,!n){t=A;break e}if(r=i[f>>2],i[f>>2]=r+1,r=s[r|0],n=n-1|0,i[f+4>>2]=n,_=f,v=k,t=u-8|0,k=t&31,(t&63)>>>0>=32?(h=r<<k,r=0):(h=(1<<k)-1&r>>>32-k,r=r<<k),k=v|r,r=e|h,e=r,i[_+8>>2]=k,i[_+12>>2]=e,r=A,A=r-8|0,w=w-(r>>>0<8)|0,(u|0)>15)continue}break}A=64-t|0}if(n=A-1|0,i[f+16>>2]=n,h=e<<1|k>>>31,k=k<<1,i[f+8>>2]=k,r=h,i[f+12>>2]=r,(e|0)<0)break i;if(o=o+1|0,(o|0)==21)break}return-99999}if(!o)return 0;if(!((A|0)>(o|0)|(A|0)>57)){for(A=65-A|0,w=0,n=i[f+4>>2];;){i:{if(_=A,!n){t=A;break i}if(e=i[f>>2],i[f>>2]=e+1,e=s[e|0],n=n-1|0,i[f+4>>2]=n,h=f,v=k,t=_-8|0,k=t&31,(t&63)>>>0>=32?(u=e<<k,e=0):(u=(1<<k)-1&e>>>32-k,e=e<<k),k=v|e,i[h+8>>2]=k,r=r|u,i[f+12>>2]=r,e=A,A=e-8|0,w=w-(e>>>0<8)|0,(_|0)>15)continue}break}n=64-t|0}if(i[f+16>>2]=n-o,A=k,e=o&31,(o&63)>>>0>=32?(u=k<<e,A=0):(u=(1<<e)-1&A>>>32-e|r<<e,A=A<<e),i[f+8>>2]=A,i[f+12>>2]=u,f=k,A=64-o|0,e=A&31,(A&63)>>>0>=32?f=r>>>e|0:f=((1<<e)-1&r)<<32-e|f>>>e,f=f+(1<<o)|0,(f|0)>1)return f-1|0;C0(17126,13987,146,13779),P()}function Q_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-32|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(A,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(k=i[19565],i[A>>2]=i[19564],i[A+4>>2]=k,k=A+8|0,l[78275]>=0){n=i[19567],i[k>>2]=i[19566],i[k+4>>2]=n,i[k+8>>2]=i[19568];break i}_0(k,i[19566],i[19567])}l[A+19|0]<0&&G(i[A+8>>2]);i:{if(s[e+48|0]){h4(f,e,4563);break i}if(B4(A+20|0,r),l[e+67|0]<0&&G(i[e+56>>2]),k=i[A+24>>2],i[e+56>>2]=i[A+20>>2],i[e+60>>2]=k,i[e+64>>2]=i[A+28>>2],B4(A+20|0,r),l[e+79|0]<0&&G(i[e+68>>2]),k=i[A+24>>2],i[e+68>>2]=i[A+20>>2],i[e+72>>2]=k,i[e+76>>2]=i[A+28>>2],B4(A+20|0,r),l[e+91|0]<0&&G(i[e+80>>2]),k=i[A+24>>2],i[e+80>>2]=i[A+20>>2],i[e+84>>2]=k,i[e+88>>2]=i[A+28>>2],B4(A+20|0,r),l[e+103|0]<0&&G(i[e+92>>2]),k=i[A+24>>2],i[e+92>>2]=i[A+20>>2],i[e+96>>2]=k,i[e+100>>2]=i[A+28>>2],s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(f,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function hn(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;i:{r:{e:{A:{f:{k:{n:{t:{o:{u:{if(k=e,k){if(!r)break u;if(!A)break o;if(k=$2(A)-$2(k)|0,k>>>0<=31)break t;break r}if((A|0)==1|A>>>0>1)break r;return e=(f>>>0)/(r>>>0)|0,d8=f-m(e,r)|0,c8=0,w0=0,e}if(!f)break n;if(!A||(n=A-1|0,n&A))break k;return d8=f,c8=k&n,f=k>>>P6(A)|0,w0=0,f}if(n=r-1|0,!(n&r))break f;w=($2(r)+33|0)-$2(k)|0,t=0-w|0;break e}w=k+1|0,t=63-k|0;break e}return d8=0,f=(k>>>0)/(A>>>0)|0,c8=k-m(f,A)|0,w0=0,f}if(k=$2(A)-$2(k)|0,k>>>0<31)break A;break r}if(d8=f&n,c8=0,(r|0)==1)break i;return r=P6(r),A=r&31,(r&63)>>>0>=32?(k=0,f=e>>>A|0):(k=e>>>A|0,f=((1<<A)-1&e)<<32-A|f>>>A),w0=k,f}w=k+1|0,t=63-k|0}if(n=f,k=w&63,o=k&31,(k&63)>>>0>=32?(k=0,n=e>>>o|0):(k=e>>>o|0,n=((1<<o)-1&e)<<32-o|n>>>o),o=t&63,t=f,u=o&31,(o&63)>>>0>=32?(h=f<<u,f=0):(h=(1<<u)-1&t>>>32-u|e<<u,f=t<<u),e=h,w)for(t=A-1|0,_=r-1|0,t=(_|0)!=-1?t+1|0:t,o=_;k=k<<1|n>>>31,n=n<<1|e>>>31,_=k,u=t-(k+(n>>>0>o>>>0)|0)|0,v=u>>31,h=v,k=n,u=r&h,n=k-u|0,k=_-((A&h)+(k>>>0<u>>>0)|0)|0,h=e<<1|f>>>31,f=Z|f<<1,e=h|p,_=v&1,Z=_,w=w-1|0,!!w;);return d8=n,c8=k,h=e<<1|f>>>31,f=_|f<<1,w0=h|p,f}d8=f,c8=e,f=0,e=0}return w0=e,f}function wn(f,e,r){var A=0,k=0,n=0,t=0,o=Y(0),u=Y(0),h=Y(0),w=Y(0),_=Y(0),v=Y(0),Z=Y(0),p=Y(0);A=B-16|0,B=A,i[r>>2]=0,k=Z2(52);i:{if(!k){if(l[A+4|0]=0,l[A+15|0]=0,r0(f,6,0,A+4|0),l[A+15|0]>=0)break i;G(i[A+4>>2]);break i}if(l[k+16|0]=1,i[k+12>>2]=6,i[k+4>>2]=1,i[k+8>>2]=13,l[k|0]=1,n=A+4|0,cA(n,k,Q[e+4>>1]),t=i[A+4>>2],t){if(e=i[A+8>>2],G(k),l[A+4|0]=0,l[A+15|0]=0,r0(f,t,e,n),l[A+15|0]>=0)break i;G(i[A+4>>2]);break i}if(n=A+4|0,i3(n,k,Q[e+6>>1]),t=i[A+4>>2],t){if(e=i[A+8>>2],G(k),l[A+4|0]=0,l[A+15|0]=0,r0(f,t,e,n),l[A+15|0]>=0)break i;G(i[A+4>>2]);break i}if(n=A+4|0,dA(n,k,Q[e+8>>1]),t=i[A+4>>2],t){if(e=i[A+8>>2],G(k),l[A+4|0]=0,l[A+15|0]=0,r0(f,t,e,n),l[A+15|0]>=0)break i;G(i[A+4>>2]);break i}if(l[k+16|0]=s[e+10|0],e=Q[k+4>>1]-1|0,(e&65535)>>>0<=21&&(e=e<<2&262140,o=Z0[e+36156>>2],u=Z0[e+35892>>2],h=Z0[e+35804>>2],w=Z0[e+35716>>2],_=Z0[e+35628>>2],v=Z0[e+35540>>2],Z=Z0[e+36068>>2],p=Z0[e+35980>>2]),Z0[k+48>>2]=o,Z0[k+44>>2]=Z,Z0[k+40>>2]=h,Z0[k+36>>2]=w,Z0[k+32>>2]=_,Z0[k+28>>2]=v,Z0[k+24>>2]=p,Z0[k+20>>2]=u,i[r>>2]=k,e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+16|0}function y_(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0;n=B-32|0,B=n;i:{if(!(k&&e)){i[f>>2]=5,i[f+4>>2]=2006,i[f+8>>2]=12607;break i}t=i[e>>2],o=i[t+48>>2],t=i[t+52>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,I1(n,o,r,n+20|0);r:{if(i[n>>2]){P0(f,n,i[e>>2]);break r}if(r=A-1|0,e=i[n+20>>2],r>>>0>=i[n+24>>2]-e>>3>>>0){i[f>>2]=5,i[f+4>>2]=2007,i[f+8>>2]=10388;break r}e:{if(e=e+(r<<3)|0,r=i[e>>2],!r||(r=N0(r,68572,70012),!r))break e;if(e=i[e+4>>2],e){if(i[e+4>>2]=i[e+4>>2]+1,A=U(80),i[k>>2]=A,F2(A,r+56|0,76),i[f+8>>2]=i[18412],r=i[18411],i[f>>2]=i[18410],i[f+4>>2]=r,f=i[e+4>>2],i[e+4>>2]=f-1,f)break r;V[i[i[e>>2]+8>>2]](e),g(e);break r}e=U(80),i[k>>2]=e,F2(e,r+56|0,76),i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e;break r}i[f>>2]=5,i[f+4>>2]=2007,i[f+8>>2]=9699}if(l[n+19|0]<0&&G(i[n+8>>2]),r=i[n+20>>2],r){if(f=r,e=i[n+24>>2],(f|0)!=(e|0)){for(;;){f=i[e-4>>2];r:{if(!f||(A=i[f+4>>2],i[f+4>>2]=A-1,A))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(e=e-8|0,(r|0)==(e|0))break}f=i[n+20>>2]}i[n+24>>2]=r,G(f)}if(!t||(f=i[t+4>>2],i[t+4>>2]=f-1,f))break i;V[i[i[t>>2]+8>>2]](t),g(t)}B=n+32|0}function F_(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0;if(Q1(f,i[e+8>>2],k)){i[e+28>>2]==1|i[e+4>>2]!=(r|0)||(i[e+28>>2]=A);return}i:{r:{if(Q1(f,i[e>>2],k)){if(!(i[e+16>>2]!=(r|0)&i[e+20>>2]!=(r|0))){if((A|0)!=1)break i;i[e+32>>2]=1;return}if(i[e+32>>2]=A,i[e+44>>2]==4)break r;for(n=f+16|0,t=n+(i[f+12>>2]<<3)|0,A=0;;){e:{A:{f:{k:{if(n>>>0>=t>>>0||(X[e+52>>1]=0,Y3(n,e,r,r,1,k),s[e+54|0]))break k;if(s[e+53|0]!=1)break e;if(s[e+52|0]==1){if(i[e+24>>2]==1||(A=1,o=1,!(s[f+8|0]&2)))break A;break e}if(A=1,l[f+8|0]&1)break e;f=3;break f}f=A?3:4}if(i[e+44>>2]=f,o)break i;break r}i[e+44>>2]=3;break i}n=n+8|0}}if(n=i[f+12>>2],t=f+16|0,Be(t,e,r,A,k),(n|0)<2)break i;if(t=t+(n<<3)|0,n=f+24|0,f=i[f+8>>2],!(!(f&2)&i[e+36>>2]!=1)){for(;;){if(s[e+54|0])break i;if(Be(n,e,r,A,k),n=n+8|0,!(t>>>0>n>>>0))break}break i}if(!(f&1))for(;;){if(s[e+54|0]|i[e+36>>2]==1)break i;if(Be(n,e,r,A,k),n=n+8|0,!(t>>>0>n>>>0))break i}for(;;){if(s[e+54|0]|i[e+36>>2]==1&i[e+24>>2]==1)break i;if(Be(n,e,r,A,k),n=n+8|0,!(t>>>0>n>>>0))break}break i}if(i[e+20>>2]=r,i[e+40>>2]=i[e+40>>2]+1,i[e+36>>2]!=1|i[e+24>>2]!=2)break i;l[e+54|0]=1}}function E_(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(!(i[r>>2]==1&(i[r+4>>2]&-4)==12)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,l[e+62|0]=1,i[e+56>>2]=131074,l[e+44|0]=0,i[e+36>>2]=99,i[e+40>>2]=99,i[e+48>>2]=8,i[e+52>>2]=72992,X[e+60>>1]=2,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969;r:{e:switch(A=i[r+4>>2],A-12|0){case 0:case 2:break e;default:break r}l[e+44|0]=0,i[e+36>>2]=1,i[e+40>>2]=(A|0)==14?12:14,i[e+48>>2]=i[r+12>>2],A=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=A,A=i[e+40>>2],i[e>>2]=i[e+36>>2],i[e+4>>2]=A,i[e+16>>2]=72992,A=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,A=i[e+56>>2],i[e+28>>2]=11,i[e+20>>2]=A,P2(f,e),A=i[r+4>>2]}r:switch(A-13|0){case 0:case 2:break r;default:break i}l[e+44|0]=1,i[e+36>>2]=1,i[e+40>>2]=(A|0)==15?13:15,i[e+48>>2]=i[r+12>>2],r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,r=i[e+40>>2],i[e>>2]=i[e+36>>2],i[e+4>>2]=r,i[e+16>>2]=72992,r=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,r=i[e+56>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)}B=e- -64|0}function Xi(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;_=B-16|0,B=_;i:{r:{e:{if((r|0)<=36){if(t=s[f|0],t)break e;n=f;break r}i[23944]=28,A=0,k=0;break i}n=f;e:{for(;;){if(o=t<<24>>24,!((o|0)==32|o-9>>>0<5))break e;if(t=s[n+1|0],n=n+1|0,!t)break}break r}e:switch(o=t&255,o-43|0){case 0:case 2:break e;default:break r}h=(o|0)==45?-1:0,n=n+1|0}r:{if(!((r|16)!=16|s[n|0]!=48)){if(Z=1,(s[n+1|0]&223)==88){n=n+2|0,v=16;break r}n=n+1|0,v=r||8;break r}v=r||10}for(r=0;;){r:{o=s[n|0],t=o-48|0;e:{if((t&255)>>>0<10)break e;if((o-97&255)>>>0<=25){t=o-87|0;break e}if((o-65&255)>>>0>25)break r;t=o-55|0}if(t=t&255,(t|0)>=(v|0))break r;U1(_,v,0,0,0,w,u,0,0),o=1;e:{if(i[_+8>>2]|i[_+12>>2]||(p=q0(w,u,v,0),W=w0,(W|0)==-1&(t^-1)>>>0<p>>>0))break e;u=W,w=t+p|0,u=w>>>0<t>>>0?u+1|0:u,Z=1,o=r}n=n+1|0,r=o;continue}break}e&&(i[e>>2]=Z?n:f);r:{e:{if(r){i[23944]=68,f=A&1,h=f?0:h,w=A,u=k;break e}if((k|0)==(u|0)&A>>>0>w>>>0|k>>>0>u>>>0)break r;f=A&1}if(!(f|h)){i[23944]=68,f=A,A=f-1|0,k=k-!f|0;break i}if((k|0)==(u|0)&A>>>0>=w>>>0|k>>>0>u>>>0)break r;i[23944]=68;break i}f=h^w,A=f-h|0,e=h>>31,k=(e^u)-((f>>>0<h>>>0)+e|0)|0}return B=_+16|0,w0=k,A}function _n(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;i[f>>2]=i[e>>2],X[f+4>>1]=Q[e+4>>1],i[f+16>>2]=0,i[f+8>>2]=0,i[f+12>>2]=0;i:{r:{e:{if(A=i[e+12>>2],r=i[e+8>>2],(A|0)!=(r|0)){if(n=A-r|0,(n|0)<0)break e;k=U(n),i[f+12>>2]=k,i[f+8>>2]=k,A=k+n|0,i[f+16>>2]=A,l0(k,r,n),i[f+12>>2]=A}i[f+28>>2]=0,i[f+20>>2]=0,i[f+24>>2]=0;A:{if(A=i[e+24>>2],!A)break A;if((A|0)>=0){if(r=(A-1>>>5|0)+1|0,A=U(r<<2),i[f+28>>2]=r,i[f+24>>2]=0,i[f+20>>2]=A,t=i[e+20>>2],r=i[e+24>>2],i[f+24>>2]=r,i[((r>>>0>=33?r-1>>>5|0:0)<<2)+A>>2]=0,!r)break A;for(n=r&31,k=(r>>>3&536870908)+t|0;r=1<<u,i[t>>2]>>>o&1?r=r|i[A>>2]:r=i[A>>2]&(r^-1),i[A>>2]=r,r=(u|0)==31,u=r?0:u+1|0,A=(r<<2)+A|0,r=(o|0)==31,t=(r<<2)+t|0,o=r?0:o+1|0,!!((n|0)!=(o|0)|(k|0)!=(t|0)););break A}y0(),P()}if(i[f+40>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,A=i[e+36>>2],r=i[e+32>>2],(A|0)!=(r|0)){if(n=A-r|0,(n|0)<0)break r;k=U(n),i[f+36>>2]=k,i[f+32>>2]=k,A=k+n|0,i[f+40>>2]=A,l0(k,r,n),i[f+36>>2]=A}if(i[f+52>>2]=0,i[f+44>>2]=0,i[f+48>>2]=0,A=i[e+48>>2],r=i[e+44>>2],(A|0)!=(r|0)){if(k=A-r|0,(k|0)<0)break i;A=U(k),i[f+48>>2]=A,i[f+44>>2]=A,e=A+k|0,i[f+52>>2]=e,l0(A,r,k),i[f+48>>2]=e}return}y0(),P()}y0(),P()}y0(),P()}function Y_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0;A=B-32|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(A,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(k=i[19565],i[A>>2]=i[19564],i[A+4>>2]=k,k=A+8|0,l[78275]>=0){n=i[19567],i[k>>2]=i[19566],i[k+4>>2]=n,i[k+8>>2]=i[19568];break i}_0(k,i[19566],i[19567])}l[A+19|0]<0&&G(i[A+8>>2]);i:{if(s[e+48|0]){h4(f,e,8165);break i}if(k=B2(r),n=i[r>>2],t=V[i[i[n>>2]+8>>2]](n)|0,o=i[r>>2],n=w0,t=k+t|0,n=k>>>0>t>>>0?n+1|0:n,V[i[i[o>>2]+12>>2]](o,t,n)|0){if(l[A+20|0]=0,l[A+31|0]=0,r0(f,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}n=e+56|0,o=i[e+56>>2],t=i[e+60>>2]-o|0;r:{if(t>>>0<k>>>0){L2(n,k-t|0);break r}if(k>>>0>=t>>>0)break r;i[e+60>>2]=k+o}if(k)for(e=0;t=B2(r),l[i[n>>2]+e|0]=t,e=e+1|0,(k|0)!=(e|0););if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(f,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function ri(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0;i:{r:{o=i[f+248>>2],u=e>>o;e:{if((u|0)<0||(h=i[f+252>>2],(h|0)<=(u|0)))break e;if(o=r>>o,(o|0)<0|(o|0)>=i[f+256>>2])break r;if(!(s[(u+i[f+240>>2]|0)+m(o,h)|0]>>>k&1)){u=A,A=e;break i}if(u=A-1|0,o=k+1|0,ri(f,e,r,u,o,n,t),k=1<<A>>1,A=k+e|0,ri(f,A,r,u,o,16,t),r=r+k|0,ri(f,e,r,u,o,n,32),e=i[f+248>>2],k=A>>e,(k|0)<0)break e;for(e=r>>e;;){if(n=i[f+252>>2],(n|0)<=(k|0))break e;if((e|0)<0|i[f+256>>2]<=(e|0))break r;if(!(s[(i[f+240>>2]+k|0)+m(e,n)|0]>>>o&1)){n=16,t=32;break i}if(k=u-1|0,o=o+1|0,ri(f,A,r,k,o,16,32),e=1<<u>>1,n=e+A|0,ri(f,n,r,k,o,16,32),r=e+r|0,ri(f,A,r,k,o,16,32),t=i[f+248>>2],e=r>>t,u=k,A=n,k=n>>t,!((k|0)>=0))break}}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}i:{if((u|0)==31)break i;for(e=1<<u,k=(A|0)/4|0,o=0;w=i[f+272>>2],h=(r+o|0)/4|0,(k|0)>=(w|0)|(h|0)>=i[f+276>>2]||(h=(k+i[f+260>>2]|0)+m(h,w)|0,l[h|0]=s[h|0]|n),o=o+4|0,(e|0)>(o|0););if((u|0)==31)break i;for(k=(r|0)/4|0,r=0;n=(r+A|0)/4|0,u=i[f+272>>2],(n|0)>=(u|0)|(k|0)>=i[f+276>>2]||(n=(n+i[f+260>>2]|0)+m(k,u)|0,l[n|0]=s[n|0]|t),r=r+4|0,(e|0)>(r|0););}}function h6(f){var e=0;e=31;i:{if(f==0)break i;if(f=d0(f),!(f<1073741824))return 0;if(f=f+f,!(f<1073741824))return 1;if(f=f+f,!(f<1073741824))return 2;if(f=f+f,!(f<1073741824))return 3;if(f=f+f,!(f<1073741824))return 4;if(f=f+f,!(f<1073741824))return 5;if(f=f+f,!(f<1073741824))return 6;if(f=f+f,!(f<1073741824))return 7;if(f=f+f,!(f<1073741824))return 8;if(f=f+f,!(f<1073741824))return 9;if(f=f+f,!(f<1073741824))return 10;if(f=f+f,!(f<1073741824))return 11;if(f=f+f,!(f<1073741824))return 12;if(f=f+f,!(f<1073741824))return 13;if(f=f+f,!(f<1073741824))return 14;if(f=f+f,!(f<1073741824))return 15;if(f=f+f,!(f<1073741824))return 16;if(f=f+f,!(f<1073741824))return 17;if(f=f+f,!(f<1073741824))return 18;if(f=f+f,!(f<1073741824))return 19;if(f=f+f,!(f<1073741824))return 20;if(f=f+f,!(f<1073741824))return 21;if(f=f+f,!(f<1073741824))return 22;if(f=f+f,!(f<1073741824))return 23;if(f=f+f,!(f<1073741824))return 24;if(f=f+f,!(f<1073741824))return 25;if(f=f+f,!(f<1073741824))return 26;if(f=f+f,!(f<1073741824))return 27;if(f=f+f,!(f<1073741824))return 28;if(f=f+f,!(f<1073741824))return 29;if(f+f<1073741824)break i;e=30}return e}function vn(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;i:{if(r=i[f>>2],k=i[f+4>>2]-r>>5,t=k+1|0,t>>>0<134217728){if(A=i[f+8>>2]-r|0,r=A>>4,t=A>>>0>=2147483616?134217727:r>>>0>t>>>0?r:t,t){if(t>>>0>=134217728)break i;n=U(t<<5)}A=i[e+4>>2],r=(k<<5)+n|0,i[r>>2]=i[e>>2],i[r+4>>2]=A,k=i[e+8>>2],A=i[e+12>>2],i[r+24>>2]=0,i[r+16>>2]=0,i[r+20>>2]=0,i[r+8>>2]=k,i[r+12>>2]=A,A=i[e+16>>2],e=i[e+20>>2],br(r+16|0,A,e,(e-A|0)/40|0),t=(t<<5)+n|0,h=r+32|0,A=i[f+4>>2],o=i[f>>2];r:{if((A|0)==(o|0)){n=r;break r}for(;e=A-32|0,k=i[e+4>>2],n=r-32|0,i[n>>2]=i[e>>2],i[n+4>>2]=k,k=i[e+12>>2],i[n+8>>2]=i[e+8>>2],i[n+12>>2]=k,k=r-8|0,i[k>>2]=0,u=r-16|0,i[u>>2]=0,i[u+4>>2]=0,w=u,u=A-16|0,i[w>>2]=i[u>>2],i[r-12>>2]=i[A-12>>2],r=A-8|0,i[k>>2]=i[r>>2],i[r>>2]=0,i[u>>2]=0,i[u+4>>2]=0,r=n,A=e,(e|0)!=(o|0););A=i[f+4>>2],o=i[f>>2]}if(i[f+8>>2]=t,i[f+4>>2]=h,i[f>>2]=n,(A|0)!=(o|0))for(;;){if(k=A-16|0,f=i[k>>2],f){if(e=f,n=A-12|0,r=i[n>>2],(e|0)!=(r|0)){for(;e=i[r-16>>2],e&&(i[r-12>>2]=e,G(e)),r=r-40|0,(f|0)!=(r|0););e=i[k>>2]}i[n>>2]=f,G(e)}if(A=A-32|0,(o|0)==(A|0))break}return o&&G(o),h}y0(),P()}_2(),P()}function mn(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,t=i[13708],i[A+12>>2]=t,n=A+12|0,i[n+i[t-12>>2]>>2]=i[13709],t=n+i[i[A+12>>2]-12>>2]|0,k=A+16|0,b0(t,k),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(k),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,k=A+148|0,R2(k,e,r),o=n,u=k,n=l[A+159|0],k=(n|0)<0,x(o,k?i[A+148>>2]:u,k?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),n=A+148|0,W0(n,r),o=n,n=l[A+159|0],k=(n|0)<0,x(A+12|0,k?i[A+148>>2]:o,k?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),n=x(L0(x(A+12|0,21287,10),i[e+56>>2]),31338,1),k=A+148|0,W0(k,r),o=k,r=l[A+159|0],k=(r|0)<0,x(n,k?i[A+148>>2]:o,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),x(n,20132,12),r=i[e+60>>2],n=i[e+64>>2];i:{if((r|0)==(n|0)||(L0(A+12|0,i[r>>2]),e=r+4|0,(n|0)==(e|0)))break i;for(;r=i[e>>2],l[A+148|0]=32,k=A+12|0,x(k,A+148|0,1),L0(k,r),e=e+4|0,(n|0)!=(e|0););}e=A+12|0,x(e,31338,1),i2(f,t),f=i[13707],i[A+12>>2]=f,i[e+i[f-12>>2]>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function J_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;n=B-32|0,B=n;i:{r:{e:{if(!(i[e+52>>2]-i[e+48>>2]&255)){if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]<0)break e;e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}if(h=V[i[i[e>>2]+32>>2]](e,r,0)|0,w2(r,(i[e+64>>2]-i[e+60>>2]|0)/12&255),A2(r,i[e+52>>2]-i[e+48>>2]&255),A=i[e+48>>2],k=i[e+52>>2],(A|0)!=(k|0))for(;A2(r,s[A|0]),A=A+1|0,(k|0)!=(A|0););if(k=i[e+60>>2],u=i[e+64>>2],(k|0)==(u|0))break r;for(;;){if(i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,A=i[k+4>>2],t=i[k>>2],o=(A|0)==(t|0),!o){A:{if(A=A-t|0,(A|0)>=0){if(t=l0(U(A),t,A),o)break A;for(A=A>>>1|0,w=A>>>0<=1?1:A,A=0;;){o=Q[t+(A<<1)>>1];f:{if(s[i[e+48>>2]+A|0]<=8){A2(r,o&255);break f}w2(r,o)}if(A=A+1|0,(w|0)==(A|0))break}break A}y0(),P()}G(t)}if(k=k+12|0,(u|0)==(k|0))break}break r}_0(f,i[19566],i[19567]);break i}if(Y4(n,e,r,h),l[n+19|0]<0&&G(i[n+8>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=n+32|0}function g_(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0;e=B+-64|0,B=e,n=i[r+12>>2];i:{if((n|0)>=9){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if((n|0)!=8){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(!(i[r>>2]==1&i[r+4>>2]==3)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(n=Q[A+24>>1],!(n>>>0>14|!(1<<n&18688))){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,l[e+44|0]=0,i[e+36>>2]=99,i[e+40>>2]=99,i[e+48>>2]=8,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,n=i[A+4>>2];r:{if(!((n|0)==3|(s[k+12|0]?i[k+4>>2]!=1:0))){i[e+40>>2]=n,i[e+36>>2]=0;break r}i[e+36>>2]=0,i[e+40>>2]=3}l[e+44|0]=s[r+8|0],i[e+48>>2]=i[r+12>>2],r=s[A+23|0]|s[A+24|0]<<8|(s[A+25|0]<<16|s[A+26|0]<<24),l[e+59|0]=r,l[e+60|0]=r>>>8,l[e+61|0]=r>>>16,l[e+62|0]=r>>>24,i[e+56>>2]=i[A+20>>2],r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,r=i[e+40>>2],i[e>>2]=i[e+36>>2],i[e+4>>2]=r,i[e+16>>2]=72992,r=s[A+23|0]|s[A+24|0]<<8|(s[A+25|0]<<16|s[A+26|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,r=i[A+20>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)}B=e- -64|0}function N_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,t=i[13708],i[A+12>>2]=t,n=A+12|0,i[n+i[t-12>>2]>>2]=i[13709],t=n+i[i[A+12>>2]-12>>2]|0,k=A+16|0,b0(t,k),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(k),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,k=A+148|0,W0(k,r),o=n,u=k,n=l[A+159|0],k=(n|0)<0,x(o,k?i[A+148>>2]:u,k?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),n=x(L0(x(A+12|0,20019,18),Q[e+4>>1]),31338,1),k=A+148|0,W0(k,r),u=k,k=l[A+159|0],o=(k|0)<0,x(n,o?i[A+148>>2]:u,o?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),n=x(L0(x(n,20105,26),Q[e+6>>1]),31338,1),k=A+148|0,W0(k,r),u=k,k=l[A+159|0],o=(k|0)<0,x(n,o?i[A+148>>2]:u,o?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),n=x(L0(x(n,19703,21),Q[e+8>>1]),31338,1),k=A+148|0,W0(k,r),u=k,r=l[A+159|0],k=(r|0)<0,x(n,k?i[A+148>>2]:u,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),x(re(x(n,20629,17),s[e+10|0]),31338,1),i2(f,t),f=i[13707],i[A+12>>2]=f,i[i[f-12>>2]+(A+12|0)>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function FA(f,e,r,A,k,n,t,o,u,h,w,_){var v=0;v=B-16|0,B=v,i[v+12>>2]=f;i:{r:{if((f|0)==(n|0)){if(s[e|0]!=1)break r;if(f=0,l[e|0]=0,e=i[k>>2],i[k>>2]=e+1,l[e|0]=46,s[o+11|0]>>>7|0?e=i[o+4>>2]:e=s[o+11|0]&127,!e||(e=i[h>>2],(e-u|0)>159))break i;r=i[w>>2],i[h>>2]=e+4,i[e>>2]=r;break i}e:{if(s[o+11|0]>>>7|0?n=i[o+4>>2]:n=s[o+11|0]&127,!(!n|(f|0)!=(t|0))){if(s[e|0]!=1)break r;if(f=i[h>>2],(f-u|0)>159)break e;e=i[w>>2],i[h>>2]=f+4,i[f>>2]=e,f=0,i[w>>2]=0;break i}if(f=H3(_,_+128|0,v+12|0)-_|0,t=f>>2,(t|0)>31)break r;n=l[t+60064|0];A:{f:{if(f=f&-5,(f|0)!=88){if((f|0)!=96)break f;if(e=i[k>>2],(e|0)!=(A|0)&&(f=-1,A=l[e-1|0],r=l[r|0],((A-97>>>0<26?A&95:A)|0)!=((r-97>>>0<26?r&95:r)|0)))break i;i[k>>2]=e+1,l[e|0]=n;break e}l[r|0]=80;break A}if(f=n-97>>>0<26?n&95:n,(f|0)!=l[r|0]||(l[r|0]=f-65>>>0<26?f|32:f,s[e|0]!=1)||(l[e|0]=0,s[o+11|0]>>>7|0?f=i[o+4>>2]:f=s[o+11|0]&127,!f)||(f=i[h>>2],(f-u|0)>159))break A;e=i[w>>2],i[h>>2]=f+4,i[f>>2]=e}if(f=i[k>>2],i[k>>2]=f+1,l[f|0]=n,f=0,(t|0)>21)break i;i[w>>2]=i[w>>2]+1;break i}f=0;break i}f=-1}return B=v+16|0,f}function EA(f,e,r,A,k,n,t,o,u,h,w,_){var v=0;v=B-16|0,B=v,l[v+15|0]=f;i:{r:{if((f|0)==(n|0)){if(s[e|0]!=1)break r;if(f=0,l[e|0]=0,e=i[k>>2],i[k>>2]=e+1,l[e|0]=46,s[o+11|0]>>>7|0?e=i[o+4>>2]:e=s[o+11|0]&127,!e||(e=i[h>>2],(e-u|0)>159))break i;r=i[w>>2],i[h>>2]=e+4,i[e>>2]=r;break i}e:{if(s[o+11|0]>>>7|0?n=i[o+4>>2]:n=s[o+11|0]&127,!(!n|(f|0)!=(t|0))){if(s[e|0]!=1)break r;if(f=i[h>>2],(f-u|0)>159)break e;e=i[w>>2],i[h>>2]=f+4,i[f>>2]=e,f=0,i[w>>2]=0;break i}if(t=T3(_,_+32|0,v+15|0)-_|0,(t|0)>31)break r;n=l[t+60064|0];A:{f:switch((t&-2)-22|0){case 2:if(e=i[k>>2],(e|0)!=(A|0)&&(f=-1,A=l[e-1|0],r=l[r|0],((A-97>>>0<26?A&95:A)|0)!=((r-97>>>0<26?r&95:r)|0)))break i;i[k>>2]=e+1,l[e|0]=n;break e;case 0:l[r|0]=80;break A;default:break f}if(f=n-97>>>0<26?n&95:n,(f|0)!=l[r|0]||(l[r|0]=f-65>>>0<26?f|32:f,s[e|0]!=1)||(l[e|0]=0,s[o+11|0]>>>7|0?f=i[o+4>>2]:f=s[o+11|0]&127,!f)||(f=i[h>>2],(f-u|0)>159))break A;e=i[w>>2],i[h>>2]=f+4,i[f>>2]=e}if(f=i[k>>2],i[k>>2]=f+1,l[f|0]=n,f=0,(t|0)>21)break i;i[w>>2]=i[w>>2]+1;break i}f=0;break i}f=-1}return B=v+16|0,f}function Bn(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;A=B-32|0,B=A;i:{if(s[f+52|0]==1){if(r=i[f+48>>2],!e)break i;l[f+52|0]=0,i[f+48>>2]=-1;break i}r:{if(s[f+53|0]==1){r=i[f+32>>2];e:{if(i[r+76>>2]<0){r=f7(r);break e}r=f7(r)}if((r|0)!=-1&&(i[A+24>>2]=r),(r|0)==-1)break r;r=i[A+24>>2];e:{if(!e){if(!O7(r,i[f+32>>2]))break r;break e}i[f+48>>2]=r}r=i[A+24>>2];break i}for(i[A+24>>2]=1,k=B-16|0,B=k,B=k+16|0,k=f+44|0,n=A+24|0,k=i[(i[n>>2]<i[k>>2]?k:n)>>2],n=(k|0)>0?k:0;;){if((r|0)!=(n|0)){if(t=y6(i[f+32>>2]),(t|0)==-1)break r;l[(A+24|0)+r|0]=t,r=r+1|0;continue}break}h=A+24|0;e:{for(;;){A:{n=i[f+40>>2],r=i[n>>2],w=i[n+4>>2],o=A+24|0,t=o+k|0;f:switch(u=i[f+36>>2],(V[i[i[u>>2]+16>>2]](u,n,o,t,A+16|0,A+20|0,h,A+12|0)|0)-1|0){case 2:break A;case 0:break f;case 1:break r;default:break e}if(n=i[f+40>>2],i[n>>2]=r,i[n+4>>2]=w,(k|0)==8||(r=y6(i[f+32>>2]),(r|0)==-1))break r;l[t|0]=r,k=k+1|0;continue}break}i[A+20>>2]=l[A+24|0]}e:{if(!e)for(;;){if((k|0)<=0)break e;if(k=k-1|0,(gi(l[k+(A+24|0)|0],i[f+32>>2])|0)==-1)break r}i[f+48>>2]=i[A+20>>2]}r=i[A+20>>2];break i}r=-1}return B=A+32|0,r}function Mr(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;Z=B-16|0,B=Z,w=x0(t,100184),u=Z+4|0,t=x0(t,100256),V[i[i[t>>2]+20>>2]](u,t),s[u+11|0]>>>7|0?o=i[u+4>>2]:o=s[u+11|0]&127;i:{if(!o){V[i[i[w>>2]+48>>2]](w,f,r,A)|0,t=(r-f<<2)+A|0,i[n>>2]=t;break i}i[n>>2]=A;r:{e:switch(u=f,o=s[u|0],o-43|0){case 0:case 2:break e;default:break r}u=V[i[i[w>>2]+44>>2]](w,o<<24>>24)|0,o=i[n>>2],i[n>>2]=o+4,i[o>>2]=u,u=f+1|0}for(s[u|0]!=48|(r-u|0)<2|(s[u+1|0]|32)!=120||(o=V[i[i[w>>2]+44>>2]](w,48)|0,h=i[n>>2],i[n>>2]=h+4,i[h>>2]=o,o=V[i[i[w>>2]+44>>2]](w,l[u+1|0])|0,h=i[n>>2],i[n>>2]=h+4,i[h>>2]=o,u=u+2|0),li(u,r),p=V[i[i[t>>2]+16>>2]](t)|0,h=0,t=u;;){if(r>>>0<=t>>>0)te((u-f<<2)+A|0,i[n>>2]),t=i[n>>2];else{o=Z+4|0;r:{if(s[o+11|0]>>>7|0){_=i[o>>2];break r}_=o}W=!s[_+h|0],s[o+11|0]>>>7|0?_=i[o>>2]:_=o,W|l[_+h|0]!=(v|0)||(v=i[n>>2],i[n>>2]=v+4,i[v>>2]=p,s[o+11|0]>>>7|0?o=i[o+4>>2]:o=s[o+11|0]&127,h=(o-1>>>0>h>>>0)+h|0,v=0),o=V[i[i[w>>2]+44>>2]](w,l[t|0])|0,_=i[n>>2],i[n>>2]=_+4,i[_>>2]=o,t=t+1|0,v=v+1|0;continue}break}}i[k>>2]=(e|0)==(r|0)?t:(e-f<<2)+A|0,z0(Z+4|0),B=Z+16|0}function l0(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;if(r>>>0>=512)return Vs(f|0,e|0,r|0),f|0;A=f+r|0;i:{if(!((f^e)&3)){r:{if(!(f&3)){r=f;break r}if(!r){r=f;break r}for(r=f;;){if(l[r|0]=s[e|0],e=e+1|0,r=r+1|0,!(r&3))break r;if(!(r>>>0<A>>>0))break}}k=A&-4;r:{if(A>>>0<64||(n=k+-64|0,n>>>0<r>>>0))break r;for(;i[r>>2]=i[e>>2],i[r+4>>2]=i[e+4>>2],i[r+8>>2]=i[e+8>>2],i[r+12>>2]=i[e+12>>2],i[r+16>>2]=i[e+16>>2],i[r+20>>2]=i[e+20>>2],i[r+24>>2]=i[e+24>>2],i[r+28>>2]=i[e+28>>2],i[r+32>>2]=i[e+32>>2],i[r+36>>2]=i[e+36>>2],i[r+40>>2]=i[e+40>>2],i[r+44>>2]=i[e+44>>2],i[r+48>>2]=i[e+48>>2],i[r+52>>2]=i[e+52>>2],i[r+56>>2]=i[e+56>>2],i[r+60>>2]=i[e+60>>2],e=e- -64|0,r=r- -64|0,n>>>0>=r>>>0;);}if(r>>>0>=k>>>0)break i;for(;i[r>>2]=i[e>>2],e=e+4|0,r=r+4|0,k>>>0>r>>>0;);break i}if(A>>>0<4){r=f;break i}if(k=A-4|0,k>>>0<f>>>0){r=f;break i}for(r=f;l[r|0]=s[e|0],l[r+1|0]=s[e+1|0],l[r+2|0]=s[e+2|0],l[r+3|0]=s[e+3|0],e=e+4|0,r=r+4|0,k>>>0>=r>>>0;);}if(r>>>0<A>>>0)for(;l[r|0]=s[e|0],e=e+1|0,r=r+1|0,(A|0)!=(r|0););return f|0}function R_(f){f=f|0;var e=0,r=0,A=0,k=0;if(r=f+16|0,e=i[r+16>>2],k=r+20|0,(e|0)!=(k|0))for(;;){A=i[e+20>>2],f=i[e+24>>2];i:{if(!f){i7(A);break i}if(i[f+4>>2]=i[f+4>>2]+1,i7(A),A=i[f+4>>2],i[f+4>>2]=A-1,A)break i;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[e+4>>2];i:{if(f){for(;;)if(e=f,f=i[f>>2],!f)break i}for(;f=e,e=i[e+8>>2],(f|0)!=i[e>>2];);}if((e|0)==(k|0))break}if(A=i[r+72>>2],A){if(f=A,e=i[r+76>>2],(f|0)!=(e|0)){for(;;){f=i[e-4>>2];i:{if(!f||(k=i[f+4>>2],i[f+4>>2]=k-1,k))break i;V[i[i[f>>2]+8>>2]](f),g(f)}if(e=e-8|0,(A|0)==(e|0))break}f=i[r+72>>2]}i[r+76>>2]=A,G(f)}f=i[r+52>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[r+44>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}if(A=i[r+28>>2],A){if(f=A,e=i[r+32>>2],(f|0)!=(e|0)){for(;;){f=i[e-4>>2];i:{if(!f||(k=i[f+4>>2],i[f+4>>2]=k-1,k))break i;V[i[i[f>>2]+8>>2]](f),g(f)}if(e=e-8|0,(A|0)==(e|0))break}f=i[r+28>>2]}i[r+32>>2]=A,G(f)}H6(r+16|0,i[r+20>>2]),l[r+11|0]<0&&G(i[r>>2])}function D_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;t=B-16|0,B=t;i:{if(_=t2(r),!_)break i;r:{for(;;){if(s[r+20|0]|!i[r+16>>2])break i;h=t2(r),w=t2(r),v=t2(r);e:{k=i[e+52>>2],A=i[e+56>>2];A:{if(k>>>0<A>>>0){X[k+4>>1]=v,X[k+2>>1]=w,X[k>>1]=h,h=k+6|0;break A}if(o=i[e+48>>2],n=(k-o|0)/6|0,u=n+1|0,u>>>0>=715827883)break e;if(p=m(n,6),A=(A-o|0)/6|0,n=A<<1,n=A>>>0>=357913941?715827882:n>>>0>u>>>0?n:u,n){if(n>>>0>=715827883)break r;u=U(m(n,6))}else u=0;if(A=p+u|0,X[A+4>>1]=v,X[A+2>>1]=w,X[A>>1]=h,h=A+6|0,(k|0)!=(o|0)){for(;A=A-6|0,k=k-6|0,w=Q[k>>1]|Q[k+2>>1]<<16,X[A>>1]=w,X[A+2>>1]=w>>>16,X[A+4>>1]=Q[k+4>>1],(k|0)!=(o|0););o=i[e+48>>2]}if(i[e+56>>2]=u+m(n,6),i[e+52>>2]=h,i[e+48>>2]=A,!o)break A;G(o)}if(i[e+52>>2]=h,Z=Z+1|0,(Z|0)!=(_|0))continue;break i}break}y0(),P()}_2(),P()}i:{if(s[r+20|0]==1){if(l[t+4|0]=0,l[t+15|0]=0,r0(f,2,100,t+4|0),l[t+15|0]>=0)break i;G(i[t+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=t+16|0}function xr(f,e,r,A,k,n,t){var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;Z=B-16|0,B=Z,w=x0(t,100192),u=Z+4|0,t=x0(t,100248),V[i[i[t>>2]+20>>2]](u,t),s[u+11|0]>>>7|0?o=i[u+4>>2]:o=s[u+11|0]&127;i:{if(!o){V[i[i[w>>2]+32>>2]](w,f,r,A)|0,t=(r-f|0)+A|0,i[n>>2]=t;break i}i[n>>2]=A;r:{e:switch(u=f,o=s[u|0],o-43|0){case 0:case 2:break e;default:break r}u=V[i[i[w>>2]+28>>2]](w,o<<24>>24)|0,o=i[n>>2],i[n>>2]=o+1,l[o|0]=u,u=f+1|0}for(s[u|0]!=48|(r-u|0)<2|(s[u+1|0]|32)!=120||(o=V[i[i[w>>2]+28>>2]](w,48)|0,h=i[n>>2],i[n>>2]=h+1,l[h|0]=o,o=V[i[i[w>>2]+28>>2]](w,l[u+1|0])|0,h=i[n>>2],i[n>>2]=h+1,l[h|0]=o,u=u+2|0),li(u,r),p=V[i[i[t>>2]+16>>2]](t)|0,h=0,t=u;;){if(r>>>0<=t>>>0)li((u-f|0)+A|0,i[n>>2]),t=i[n>>2];else{o=Z+4|0;r:{if(s[o+11|0]>>>7|0){_=i[o>>2];break r}_=o}W=!s[_+h|0],s[o+11|0]>>>7|0?_=i[o>>2]:_=o,W|l[_+h|0]!=(v|0)||(v=i[n>>2],i[n>>2]=v+1,l[v|0]=p,s[o+11|0]>>>7|0?o=i[o+4>>2]:o=s[o+11|0]&127,h=(o-1>>>0>h>>>0)+h|0,v=0),o=V[i[i[w>>2]+28>>2]](w,l[t|0])|0,_=i[n>>2],i[n>>2]=_+1,l[_|0]=o,t=t+1|0,v=v+1|0;continue}break}}i[k>>2]=(e|0)==(r|0)?t:(e-f|0)+A|0,z0(Z+4|0),B=Z+16|0}function U_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;t=B-16|0,B=t;i:{if(_=t2(r),!_)break i;r:{for(;;){if(s[r+20|0]|!i[r+16>>2])break i;h=t2(r),w=B2(r),v=t2(r);e:{k=i[e+60>>2],A=i[e+64>>2];A:{if(k>>>0<A>>>0){X[k+4>>1]=v,l[k+2|0]=w,X[k>>1]=h,h=k+6|0;break A}if(o=i[e+56>>2],n=(k-o|0)/6|0,u=n+1|0,u>>>0>=715827883)break e;if(p=m(n,6),A=(A-o|0)/6|0,n=A<<1,n=A>>>0>=357913941?715827882:n>>>0>u>>>0?n:u,n){if(n>>>0>=715827883)break r;u=U(m(n,6))}else u=0;if(A=p+u|0,X[A+4>>1]=v,l[A+2|0]=w,X[A>>1]=h,h=A+6|0,(k|0)!=(o|0)){for(;A=A-6|0,k=k-6|0,w=Q[k>>1]|Q[k+2>>1]<<16,X[A>>1]=w,X[A+2>>1]=w>>>16,X[A+4>>1]=Q[k+4>>1],(k|0)!=(o|0););o=i[e+56>>2]}if(i[e+64>>2]=u+m(n,6),i[e+60>>2]=h,i[e+56>>2]=A,!o)break A;G(o)}if(i[e+60>>2]=h,Z=Z+1|0,(Z|0)!=(_|0))continue;break i}break}y0(),P()}_2(),P()}i:{if(s[r+20|0]==1){if(l[t+4|0]=0,l[t+15|0]=0,r0(f,2,100,t+4|0),l[t+15|0]>=0)break i;G(i[t+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=t+16|0}function M_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,t=i[13708],i[A+12>>2]=t,n=A+12|0,i[n+i[t-12>>2]>>2]=i[13709],t=n+i[i[A+12>>2]-12>>2]|0,k=A+16|0,b0(t,k),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(k),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,k=A+148|0,R2(k,e,r),o=n,u=k,n=l[A+159|0],k=(n|0)<0,x(o,k?i[A+148>>2]:u,k?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),n=A+148|0,W0(n,r),o=n,n=l[A+159|0],k=(n|0)<0,x(A+12|0,k?i[A+148>>2]:o,k?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),n=x(L0(x(A+12|0,21287,10),i[e+56>>2]),31338,1),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],u=(k|0)<0,x(n,u?i[A+148>>2]:o,u?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),n=x(L0(x(n,21594,15),i[i[e+60>>2]>>2]),31338,1),k=A+148|0,W0(k,r),o=k,r=l[A+159|0],k=(r|0)<0,x(n,k?i[A+148>>2]:o,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),x(L0(x(n,21577,16),i[i[e+60>>2]+4>>2]),31338,1),i2(f,t),f=i[13707],i[A+12>>2]=f,i[i[f-12>>2]+(A+12|0)>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function k1(f,e,r,A){var k=0,n=0,t=0;i:{r:switch(e-1|0){case 0:A2(f,r&255);return;case 1:e=i[f+12>>2],n=e+2|0,k=i[f>>2],t=i[f+4>>2]-k|0,n>>>0>t>>>0&&(L2(f,n-t|0),k=i[f>>2],e=i[f+12>>2]),i[f+12>>2]=e+1,l[e+k|0]=(A&255)<<24|r>>>8;break i;case 3:e=i[f+12>>2],n=e+4|0,k=i[f>>2],t=i[f+4>>2]-k|0,n>>>0>t>>>0&&(L2(f,n-t|0),k=i[f>>2],e=i[f+12>>2]),i[f+12>>2]=e+1,l[e+k|0]=(A&16777215)<<8|r>>>24,e=i[f+12>>2],i[f+12>>2]=e+1,l[e+i[f>>2]|0]=(A&65535)<<16|r>>>16,e=i[f+12>>2],i[f+12>>2]=e+1,l[e+i[f>>2]|0]=(A&255)<<24|r>>>8;break i;case 7:e=i[f+12>>2],n=e+8|0,k=i[f>>2],t=i[f+4>>2]-k|0,n>>>0>t>>>0&&(L2(f,n-t|0),k=i[f>>2],e=i[f+12>>2]),i[f+12>>2]=e+1,l[e+k|0]=A>>>24,e=i[f+12>>2],i[f+12>>2]=e+1,l[e+i[f>>2]|0]=A>>>16,e=i[f+12>>2],i[f+12>>2]=e+1,l[e+i[f>>2]|0]=A>>>8,e=i[f+12>>2],i[f+12>>2]=e+1,l[e+i[f>>2]|0]=A,e=i[f+12>>2],i[f+12>>2]=e+1,l[e+i[f>>2]|0]=(A&16777215)<<8|r>>>24,e=i[f+12>>2],i[f+12>>2]=e+1,l[e+i[f>>2]|0]=(A&65535)<<16|r>>>16,e=i[f+12>>2],i[f+12>>2]=e+1,l[e+i[f>>2]|0]=(A&255)<<24|r>>>8,e=i[f+12>>2],i[f+12>>2]=e+1,l[e+i[f>>2]|0]=r;break;default:break r}return}e=i[f+12>>2],i[f+12>>2]=e+1,l[e+i[f>>2]|0]=r}function x_(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0;o=B-16|0,B=o,t=B-16|0,B=t,u=i[e+8>>2],D8(t,i[u+48>>2],7077),n=i[t>>2],l[n+124|0]=1,i[n+52>>2]=i[n+52>>2]&-2|1,h=i[i[t>>2]+56>>2],n=U(36),i[n+32>>2]=0,i[n+24>>2]=0,i[n+28>>2]=0,i[n+20>>2]=A,i[n+16>>2]=r,i[n+12>>2]=h,i[n>>2]=72616,i[n+4>>2]=0,i[n+8>>2]=0,i[o+12>>2]=n,A=n+12|0,i[o+8>>2]=A,i[n+4>>2]=i[n+4>>2]+1,i[t+12>>2]=n,i[t+8>>2]=A,r=i[u+76>>2];i:{if(r>>>0<k0[u+80>>2]){i[r+4>>2]=n,i[r>>2]=A,i[u+76>>2]=r+8;break i}if(A=z2(u+72|0,t+8|0),r=i[t+12>>2],i[u+76>>2]=A,!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break i;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[t+4>>2];i:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break i;V[i[i[r>>2]+8>>2]](r),g(r)}B=t+16|0,y7(i[e>>2],i[i[o+8>>2]>>2]),k&&(r=U(16),A=i[e+8>>2],e=i[e+12>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[r+4>>2]=e,i[r>>2]=A,A=i[o+8>>2],e=i[o+12>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[r+12>>2]=e,i[r+8>>2]=A,i[k>>2]=r),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],f=i[o+12>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=o+16|0}function z_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,t=i[13708],i[A+12>>2]=t,k=A+12|0,i[k+i[t-12>>2]>>2]=i[13709],t=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(t,n),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(n),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),u=k,o=n,k=l[A+159|0],n=(k|0)<0,x(u,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],n=(k|0)<0,x(A+12|0,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,x(H0(x(H0(x(H0(x(H0(x(k,20901,16),i[e+48>>2]),17358,1),i[e+52>>2]),18734,3),i[e+56>>2]),17358,1),i[e+60>>2]),31338,1),n=A+148|0,W0(n,r),o=k,r=l[A+159|0],k=(r|0)<0,x(o,k?i[A+148>>2]:n,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(H0(x(H0(x(H0(x(H0(x(r,19634,8),i[e+64>>2]),17358,1),i[e+68>>2]),19321,3),i[e+72>>2]),17358,1),i[e+76>>2]),31338,1),i2(f,t),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function H_(f,e,r,A,k,n,t,o,u){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0;var h=0,w=0,_=0;_=B-16|0,B=_,h=U(44),i[h+40>>2]=0,i[h+32>>2]=0,i[h+36>>2]=0,i[h+12>>2]=73364,i[h+4>>2]=0,i[h+8>>2]=0,i[h+28>>2]=n,i[h+24>>2]=k,i[h+20>>2]=A,i[h+16>>2]=r,i[h>>2]=73608,A=h+12|0,o?(L2(h+32|0,o),w=i[h+36>>2],r=i[h+32>>2]):r=0,l0(r,t,w-r|0),k=i[e+8>>2],i[_+12>>2]=h,i[_+8>>2]=A,i[h+4>>2]=i[h+4>>2]+1,r=i[k+16>>2];i:{r:{if(r>>>0<k0[k+20>>2]){i[r+4>>2]=h,i[r>>2]=A,i[h+4>>2]=i[h+4>>2]+1,i[k+16>>2]=r+8,w=h;break r}if(r=Q2(k+12|0,_+8|0),w=i[_+12>>2],i[k+16>>2]=r,!w)break i}if(r=i[w+4>>2],i[w+4>>2]=r-1,r)break i;V[i[i[w>>2]+8>>2]](w),g(w)}i:{if(!u||(i[h+4>>2]=i[h+4>>2]+1,k=U(24),i[h+4>>2]=i[h+4>>2]+1,i[k+20>>2]=h,i[k+16>>2]=A,r=i[e+8>>2],A=i[e+12>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[k+12>>2]=A,i[k+8>>2]=r,r=i[e>>2],e=i[e+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[k+4>>2]=e,i[k>>2]=r,i[u>>2]=k,e=i[h+4>>2],i[h+4>>2]=e-1,e))break i;V[i[i[h>>2]+8>>2]](h),g(h)}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],f=i[h+4>>2],i[h+4>>2]=f-1,f||(V[i[i[h>>2]+8>>2]](h),g(h)),B=_+16|0}function Zn(f,e,r,A,k,n,t,o,u,h){var w=0,_=0,v=0;w=B-16|0,B=w;i:{if(f){f=x0(r,99944);r:{if(e){e=w+4|0,V[i[i[f>>2]+44>>2]](e,f),r=i[w+4>>2],l[A|0]=r,l[A+1|0]=r>>>8,l[A+2|0]=r>>>16,l[A+3|0]=r>>>24,V[i[i[f>>2]+32>>2]](e,f);break r}e=w+4|0,V[i[i[f>>2]+40>>2]](e,f),r=i[w+4>>2],l[A|0]=r,l[A+1|0]=r>>>8,l[A+2|0]=r>>>16,l[A+3|0]=r>>>24,V[i[i[f>>2]+28>>2]](e,f)}r8(u,e),l1(e),_=k,v=V[i[i[f>>2]+12>>2]](f)|0,i[_>>2]=v,_=n,v=V[i[i[f>>2]+16>>2]](f)|0,i[_>>2]=v,e=w+4|0,V[i[i[f>>2]+20>>2]](e,f),q1(t,e),z0(e),V[i[i[f>>2]+24>>2]](e,f),r8(o,e),l1(e),f=V[i[i[f>>2]+36>>2]](f)|0;break i}f=x0(r,99936);r:{if(e){e=w+4|0,V[i[i[f>>2]+44>>2]](e,f),r=i[w+4>>2],l[A|0]=r,l[A+1|0]=r>>>8,l[A+2|0]=r>>>16,l[A+3|0]=r>>>24,V[i[i[f>>2]+32>>2]](e,f);break r}e=w+4|0,V[i[i[f>>2]+40>>2]](e,f),r=i[w+4>>2],l[A|0]=r,l[A+1|0]=r>>>8,l[A+2|0]=r>>>16,l[A+3|0]=r>>>24,V[i[i[f>>2]+28>>2]](e,f)}r8(u,e),l1(e),_=k,v=V[i[i[f>>2]+12>>2]](f)|0,i[_>>2]=v,_=n,v=V[i[i[f>>2]+16>>2]](f)|0,i[_>>2]=v,e=w+4|0,V[i[i[f>>2]+20>>2]](e,f),q1(t,e),z0(e),V[i[i[f>>2]+24>>2]](e,f),r8(o,e),l1(e),f=V[i[i[f>>2]+36>>2]](f)|0}i[h>>2]=f,B=w+16|0}function c1(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0;u=B-16|0,B=u,A=i[f+60>>2],k=i[f+56>>2],o=A-k>>4;i:{if((A|0)==(k|0))break i;for(t=o>>>0<=1?1:o;;){if(i[k+(n<<4)>>2]==(e|0))break i;if(n=n+1|0,(t|0)==(n|0))break}n=t}if((n|0)==(o|0)){k=f+56|0,i[u+12>>2]=0,i[u+4>>2]=0,i[u+8>>2]=0,i[u>>2]=e;i:{if(A>>>0<k0[f+64>>2]){i[A+12>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=e,i[f+60>>2]=A+16;break i}if(t=Nn(k,u),e=i[u+4>>2],i[f+60>>2]=t,!e)break i;i[u+8>>2]=e,G(e)}k=i[k>>2]}i:{r:{t=(n<<4)+k|0,n=i[t+8>>2],k=i[t+12>>2];e:{if(n>>>0<k>>>0){f=Q[r>>1]|Q[r+2>>1]<<16,X[n>>1]=f,X[n+2>>1]=f>>>16,f=n+4|0;break e}if(e=i[t+4>>2],A=n-e>>2,f=A+1|0,f>>>0>=1073741824)break r;if(k=k-e|0,o=k>>1,o=k>>>0>=2147483644?1073741823:f>>>0<o>>>0?o:f,o){if(o>>>0>=1073741824)break i;k=U(o<<2)}else k=0;if(A=k+(A<<2)|0,f=Q[r>>1]|Q[r+2>>1]<<16,X[A>>1]=f,X[A+2>>1]=f>>>16,f=A+4|0,(e|0)!=(n|0)){for(;A=A-4|0,n=n-4|0,r=Q[n>>1]|Q[n+2>>1]<<16,X[A>>1]=r,X[A+2>>1]=r>>>16,(e|0)!=(n|0););e=i[t+4>>2]}if(i[t+12>>2]=k+(o<<2),i[t+8>>2]=f,i[t+4>>2]=A,!e)break e;G(e)}i[t+8>>2]=f,B=u+16|0;return}y0(),P()}_2(),P()}function pn(f,e){var r=0,A=0;s[f|0]&&(r=f,A=u0(e,2),l[r+1|0]=A,r=f,A=u0(e,1),l[r+2|0]=A,r=f,A=u0(e,5),i[r+4>>2]=A,r=f,A=u0(e,1),l[r+8|0]=A,r=f,A=u0(e,1),l[r+9|0]=A,r=f,A=u0(e,1),l[r+10|0]=A,r=f,A=u0(e,1),l[r+11|0]=A,r=f,A=u0(e,1),l[r+12|0]=A,r=f,A=u0(e,1),l[r+13|0]=A,r=f,A=u0(e,1),l[r+14|0]=A,r=f,A=u0(e,1),l[r+15|0]=A,r=f,A=u0(e,1),l[r+16|0]=A,r=f,A=u0(e,1),l[r+17|0]=A,r=f,A=u0(e,1),l[r+18|0]=A,r=f,A=u0(e,1),l[r+19|0]=A,r=f,A=u0(e,1),l[r+20|0]=A,r=f,A=u0(e,1),l[r+21|0]=A,r=f,A=u0(e,1),l[r+22|0]=A,r=f,A=u0(e,1),l[r+23|0]=A,r=f,A=u0(e,1),l[r+24|0]=A,r=f,A=u0(e,1),l[r+25|0]=A,r=f,A=u0(e,1),l[r+26|0]=A,r=f,A=u0(e,1),l[r+27|0]=A,r=f,A=u0(e,1),l[r+28|0]=A,r=f,A=u0(e,1),l[r+29|0]=A,r=f,A=u0(e,1),l[r+30|0]=A,r=f,A=u0(e,1),l[r+31|0]=A,r=f,A=u0(e,1),l[r+32|0]=A,r=f,A=u0(e,1),l[r+33|0]=A,r=f,A=u0(e,1),l[r+34|0]=A,r=f,A=u0(e,1),l[r+35|0]=A,r=f,A=u0(e,1),l[r+36|0]=A,r=f,A=u0(e,1),l[r+37|0]=A,r=f,A=u0(e,1),l[r+38|0]=A,r=f,A=u0(e,1),l[r+39|0]=A,r=f,A=u0(e,1),l[r+40|0]=A,r=f,A=u0(e,1),l[r+41|0]=A,r=f,A=u0(e,1),l[r+42|0]=A,r=f,A=u0(e,1),l[r+43|0]=A,ni(e,44)),s[f+44|0]&&(r=f,A=u0(e,8),i[r+48>>2]=A)}function Wn(f,e,r,A,k,n,t,o,u,h){var w=0,_=0,v=0;w=B-16|0,B=w;i:{if(f){f=x0(r,99928);r:{if(e){e=w+4|0,V[i[i[f>>2]+44>>2]](e,f),r=i[w+4>>2],l[A|0]=r,l[A+1|0]=r>>>8,l[A+2|0]=r>>>16,l[A+3|0]=r>>>24,V[i[i[f>>2]+32>>2]](e,f);break r}e=w+4|0,V[i[i[f>>2]+40>>2]](e,f),r=i[w+4>>2],l[A|0]=r,l[A+1|0]=r>>>8,l[A+2|0]=r>>>16,l[A+3|0]=r>>>24,V[i[i[f>>2]+28>>2]](e,f)}q1(u,e),z0(e),_=k,v=V[i[i[f>>2]+12>>2]](f)|0,l[_|0]=v,_=n,v=V[i[i[f>>2]+16>>2]](f)|0,l[_|0]=v,e=w+4|0,V[i[i[f>>2]+20>>2]](e,f),q1(t,e),z0(e),V[i[i[f>>2]+24>>2]](e,f),q1(o,e),z0(e),f=V[i[i[f>>2]+36>>2]](f)|0;break i}f=x0(r,99920);r:{if(e){e=w+4|0,V[i[i[f>>2]+44>>2]](e,f),r=i[w+4>>2],l[A|0]=r,l[A+1|0]=r>>>8,l[A+2|0]=r>>>16,l[A+3|0]=r>>>24,V[i[i[f>>2]+32>>2]](e,f);break r}e=w+4|0,V[i[i[f>>2]+40>>2]](e,f),r=i[w+4>>2],l[A|0]=r,l[A+1|0]=r>>>8,l[A+2|0]=r>>>16,l[A+3|0]=r>>>24,V[i[i[f>>2]+28>>2]](e,f)}q1(u,e),z0(e),_=k,v=V[i[i[f>>2]+12>>2]](f)|0,l[_|0]=v,_=n,v=V[i[i[f>>2]+16>>2]](f)|0,l[_|0]=v,e=w+4|0,V[i[i[f>>2]+20>>2]](e,f),q1(t,e),z0(e),V[i[i[f>>2]+24>>2]](e,f),q1(o,e),z0(e),f=V[i[i[f>>2]+36>>2]](f)|0}i[h>>2]=f,B=w+16|0}function T_(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0;n=B-32|0,B=n,f=i[f>>2],o=i[f+48>>2],u=i[f+52>>2],u&&(i[u+4>>2]=i[u+4>>2]+1),i[n+28>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,I1(n,o,e,n+20|0);i:{if(i[n>>2]||(f=i[n+20>>2],h=i[n+24>>2],(f|0)==(h|0)))break i;e=!A;r:{if(!r){if(e)break r;for(o=1;r=e,(k|0)>(t|0)&&(i[(t<<2)+A>>2]=o,r=1),o=o+1|0,t=r+t|0,f=f+8|0,(h|0)!=(f|0););break i}if(!A){for(;;)if(t=(e&i[i[f>>2]+16>>2]==(r|0))+t|0,f=f+8|0,(h|0)==(f|0))break i}for(o=1;;){e:{if(i[i[f>>2]+16>>2]!=(r|0))break e;if((k|0)>(t|0)){i[(t<<2)+A>>2]=o,t=t+1|0;break e}t=e+t|0}if(o=o+1|0,f=f+8|0,(h|0)==(f|0))break}break i}t=((h-f|0)-8>>>3|0)+1|0}if(l[n+19|0]<0&&G(i[n+8>>2]),r=i[n+20>>2],r){if(f=i[n+24>>2],e=r,(f|0)!=(e|0)){for(;;){e=i[f-4>>2];i:{if(!e||(A=i[e+4>>2],i[e+4>>2]=A-1,A))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(f=f-8|0,(r|0)==(f|0))break}e=i[n+20>>2]}i[n+24>>2]=r,G(e)}i:{if(!u||(f=i[u+4>>2],i[u+4>>2]=f-1,f))break i;V[i[i[u>>2]+8>>2]](u),g(u)}return B=n+32|0,t|0}function a_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-32|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(A,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(k=i[19565],i[A>>2]=i[19564],i[A+4>>2]=k,k=A+8|0,l[78275]>=0){n=i[19567],i[k>>2]=i[19566],i[k+4>>2]=n,i[k+8>>2]=i[19568];break i}_0(k,i[19566],i[19567])}l[A+19|0]<0&&G(i[A+8>>2]);i:{if(s[e+48|0]){h4(f,e,7012);break i}n=i[e+52>>2]>>>8|0,i[e+104>>2]=n&31,k=1,t=+(1<<n>>>0),o=e,u=+(D0(r)|0)/t,i0[o+56>>3]=u,o=e,u=+(D0(r)|0)/t,i0[o+64>>3]=u,o=e,u=+(D0(r)|0)/t,i0[o+72>>3]=u,n=i[e+52>>2];r:{if(n&1){n=n>>>16|0,i[e+108>>2]=n&31,o=e,u=+(D0(r)|0)/t,i0[o+88>>3]=u,t=+(D0(r)|0)/+(1<<n>>>0);break r}i[e+88>>2]=0,i[e+92>>2]=0,k=0,t=0}if(i0[e+96>>3]=t,l[e+80|0]=k,s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(f,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function S_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;u=B-16|0,B=u;i:{r:{e:{if(!i[r+16>>2])break e;for(;;){if(s[r+20|0])break e;o=t2(r),w=B2(r),_=B2(r),k=i[e+52>>2],A=i[e+56>>2];A:{if(k>>>0<A>>>0){n=o|(_<<24|w<<16),X[k>>1]=n,X[k+2>>1]=n>>>16,o=k+4|0;break A}if(h=i[e+48>>2],t=k-h>>2,n=t+1|0,n>>>0>=1073741824)break r;if(v=t<<2,A=A-h|0,t=A>>1,t=A>>>0>=2147483644?1073741823:t>>>0>n>>>0?t:n,t){if(t>>>0>=1073741824)break i;n=U(t<<2)}else n=0;if(A=v+n|0,o=o|(_<<24|w<<16),X[A>>1]=o,X[A+2>>1]=o>>>16,o=A+4|0,(k|0)!=(h|0)){for(;A=A-4|0,k=k-4|0,w=Q[k>>1]|Q[k+2>>1]<<16,X[A>>1]=w,X[A+2>>1]=w>>>16,(k|0)!=(h|0););h=i[e+48>>2]}if(i[e+56>>2]=n+(t<<2),i[e+52>>2]=o,i[e+48>>2]=A,!h)break A;G(h)}if(i[e+52>>2]=o,!i[r+16>>2])break}}e:{if(s[r+20|0]==1){if(l[u+4|0]=0,l[u+15|0]=0,r0(f,2,100,u+4|0),l[u+15|0]>=0)break e;G(i[u+4>>2]);break e}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break e}_0(f,i[19566],i[19567])}B=u+16|0;return}y0(),P()}_2(),P()}function Xn(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;A=B-32|0,B=A;i:{if(s[f+52|0]==1){if(r=i[f+48>>2],!e)break i;l[f+52|0]=0,i[f+48>>2]=-1;break i}r:{if(s[f+53|0]==1){if(r=y6(i[f+32>>2]),(r|0)!=-1&&(l[A+24|0]=r),(r|0)==-1)break r;r=s[A+24|0];e:{if(!e){if(!yo(r,i[f+32>>2]))break r;break e}i[f+48>>2]=r}r=s[A+24|0];break i}for(i[A+24>>2]=1,k=B-16|0,B=k,B=k+16|0,k=f+44|0,n=A+24|0,k=i[(i[n>>2]<i[k>>2]?k:n)>>2],n=(k|0)>0?k:0;;){if((r|0)!=(n|0)){if(t=y6(i[f+32>>2]),(t|0)==-1)break r;l[(A+24|0)+r|0]=t,r=r+1|0;continue}break}h=A+24|0;e:{for(;;){A:{n=i[f+40>>2],r=i[n>>2],w=i[n+4>>2],o=A+24|0,t=o+k|0;f:switch(u=i[f+36>>2],(V[i[i[u>>2]+16>>2]](u,n,o,t,A+16|0,A+23|0,h,A+12|0)|0)-1|0){case 2:break A;case 0:break f;case 1:break r;default:break e}if(n=i[f+40>>2],i[n>>2]=r,i[n+4>>2]=w,(k|0)==8||(r=y6(i[f+32>>2]),(r|0)==-1))break r;l[t|0]=r,k=k+1|0;continue}break}l[A+23|0]=s[A+24|0]}e:{if(!e)for(;;){if((k|0)<=0)break e;if(k=k-1|0,(gi(s[k+(A+24|0)|0],i[f+32>>2])|0)==-1)break r}i[f+48>>2]=s[A+23|0]}r=s[A+23|0];break i}r=-1}return B=A+32|0,r}function YA(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0;t=B-32|0,B=t,k=A&65535,n=A>>>16&32767,u=n;i:{if(n-15361>>>0<=2045){k=k<<4|r>>>28,r=r<<4,n=k,k=e>>>28|r,r=n,n=u-15360|0,e=e&268435455;r:{if((e|0)==134217728&(f|0)!=0|e>>>0>134217728){k=k+1|0,r=k?r:r+1|0;break r}if(f|(e|0)!=134217728)break r;f=k,k=k+(k&1)|0,r=f>>>0>k>>>0?r+1|0:r}o=r>>>0>1048575,f=o?0:k,e=o?0:r,k=0,r=n+o|0,n=r>>>0<n>>>0?1:k;break i}if(!(!(f|r|(e|k))|((n|0)!=32767|(o|0)!=0))){f=r,r=k<<4|r>>>28,f=f<<4|e>>>28,e=r|524288,r=2047,n=0;break i}if(u>>>0>17406){f=0,e=0,r=2047,n=0;break i}if(o=!(n|o),h=o?15360:15361,n=h-u|0,(n|0)>112){f=0,e=0,r=0,n=0;break i}k=o?k:k|65536,L1(t+16|0,f,e,r,k,128-n|0),ti(t,f,e,r,k,n),f=i[t+8>>2],o=f<<4,e=i[t+12>>2]<<4|f>>>28,f=i[t+4>>2],n=f,f=f>>>28|o,n=n&268435455,r=i[t>>2]|(u|0)!=(h|0)&(i[t+16>>2]|i[t+24>>2]|(i[t+20>>2]|i[t+28>>2]))!=0;r:{if((n|0)==134217728&(r|0)!=0|n>>>0>134217728){f=f+1|0,e=f?e:e+1|0;break r}if(r|(n|0)!=134217728)break r;k=e,e=f,f=f+(f&1)|0,e=e>>>0>f>>>0?k+1|0:k}r=e>>>0>1048575,e=r?e^1048576:e,n=0}return B=t+32|0,N2(0,f|0),N2(1,e|(A&-2147483648|r<<20)),+m1()}function O_(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=+k;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;n=B-208|0,B=n,i[n+200>>2]=37,i[n+204>>2]=0,t=n+200|0,o=Ae(t|1,31341,i[r+4>>2]),u=n+160|0,i[n+156>>2]=u,f=M2();i:{if(o){h=i[r+8>>2],i0[n+40>>3]=k,i[n+32>>2]=h,f=b1(u,30,f,t,n+32|0);break i}i0[n+48>>3]=k,f=b1(n+160|0,30,f,n+200|0,n+48|0)}i[n+80>>2]=1094,u=o1(n+148|0,0,n+80|0),t=n+160|0;i:{r:{if((f|0)>=30){f=M2();e:{if(o){t=i[r+8>>2],i0[n+8>>3]=k,i[n>>2]=t,f=c4(n+156|0,f,n+200|0,n);break e}i0[n+16>>3]=k,f=c4(n+156|0,f,n+200|0,n+16|0)}if((f|0)==-1)break r;t=i[u>>2],i[u>>2]=i[n+156>>2],t&&V[i[u+4>>2]](t),t=i[n+156>>2]}_=f+t|0,v=X4(t,_,r),i[n+80>>2]=1094,t=n+80|0,o=o1(n+72|0,0,t),h=i[n+156>>2];e:{if((h|0)==(n+160|0)){f=t;break e}if(f=Z2(f<<1),!f)break r;t=i[o>>2],i[o>>2]=f,t&&V[i[o+4>>2]](t),h=i[n+156>>2]}w=n+60|0,t=i[r+28>>2],i[w>>2]=t,(t|0)!=100008&&(i[t+4>>2]=i[t+4>>2]+1),dk(h,v,_,f,n+68|0,n- -64|0,w),O0(w),f=G8(e,f,i[n+68>>2],i[n+64>>2],r,A),e=i[o>>2],i[o>>2]=0,e&&V[i[o+4>>2]](e),e=i[u>>2],i[u>>2]=0,e&&V[i[u+4>>2]](e),B=n+208|0;break i}u1(),P()}return f|0}function j_(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=+k;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;n=B-368|0,B=n,i[n+360>>2]=37,i[n+364>>2]=0,t=n+360|0,o=Ae(t|1,31341,i[r+4>>2]),u=n+320|0,i[n+316>>2]=u,f=M2();i:{if(o){h=i[r+8>>2],i0[n+40>>3]=k,i[n+32>>2]=h,f=b1(u,30,f,t,n+32|0);break i}i0[n+48>>3]=k,f=b1(n+320|0,30,f,n+360|0,n+48|0)}i[n+80>>2]=1094,u=o1(n+308|0,0,n+80|0),t=n+320|0;i:{r:{if((f|0)>=30){f=M2();e:{if(o){t=i[r+8>>2],i0[n+8>>3]=k,i[n>>2]=t,f=c4(n+316|0,f,n+360|0,n);break e}i0[n+16>>3]=k,f=c4(n+316|0,f,n+360|0,n+16|0)}if((f|0)==-1)break r;t=i[u>>2],i[u>>2]=i[n+316>>2],t&&V[i[u+4>>2]](t),t=i[n+316>>2]}_=f+t|0,v=X4(t,_,r),i[n+80>>2]=1094,t=n+80|0,o=o1(n+72|0,0,t),h=i[n+316>>2];e:{if((h|0)==(n+320|0)){f=t;break e}if(f=Z2(f<<3),!f)break r;t=i[o>>2],i[o>>2]=f,t&&V[i[o+4>>2]](t),h=i[n+316>>2]}w=n+60|0,t=i[r+28>>2],i[w>>2]=t,(t|0)!=100008&&(i[t+4>>2]=i[t+4>>2]+1),bk(h,v,_,f,n+68|0,n- -64|0,w),O0(w),f=X8(e,f,i[n+68>>2],i[n+64>>2],r,A),e=i[o>>2],i[o>>2]=0,e&&V[i[o+4>>2]](e),e=i[u>>2],i[u>>2]=0,e&&V[i[u+4>>2]](e),B=n+368|0;break i}u1(),P()}return f|0}function P_(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0;e=B+-64|0,B=e;i:{if(i[r+12>>2]<=8){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(!(i[r>>2]==1&i[r+4>>2]==3)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(n=Q[A+24>>1],!(n>>>0>14|!(1<<n&18688))){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,l[e+44|0]=0,i[e+36>>2]=99,i[e+40>>2]=99,i[e+48>>2]=8,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,n=i[A+4>>2];r:{if(!((n|0)==3|(s[k+12|0]?i[k+4>>2]!=1:0))){i[e+40>>2]=n,i[e+36>>2]=0;break r}i[e+36>>2]=0,i[e+40>>2]=3}l[e+44|0]=s[r+8|0],i[e+48>>2]=i[r+12>>2],r=s[A+23|0]|s[A+24|0]<<8|(s[A+25|0]<<16|s[A+26|0]<<24),l[e+59|0]=r,l[e+60|0]=r>>>8,l[e+61|0]=r>>>16,l[e+62|0]=r>>>24,i[e+56>>2]=i[A+20>>2],r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,r=i[e+40>>2],i[e>>2]=i[e+36>>2],i[e+4>>2]=r,i[e+16>>2]=72992,r=s[A+23|0]|s[A+24|0]<<8|(s[A+25|0]<<16|s[A+26|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,r=i[A+20>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)}B=e- -64|0}function L_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0;n=B-32|0,B=n,o=V[i[i[e>>2]+32>>2]](e,r,0)|0,A=s[e+48|0];i:{if(A>>>0<=1&&(w2(r,Q[e+56>>1]),w2(r,Q[e+60>>1]),R4(r,e+76|0),R4(r,e+88|0),R4(r,e+100|0),A=s[e+48|0],A>>>0<2))break i;r:{e:switch(A-2|0){case 0:w2(r,Q[e+56>>1]);break r;case 1:break e;default:break r}l2(r,i[e+56>>2])}if(w2(r,Q[e+60>>1]),A=e- -64|0,t=l[e+75|0],k=(t|0)<0,(k?i[e+68>>2]:t)?(k=k?i[A>>2]:A,k=l[k+1|0]<<16|s[k|0]<<24|l[k+2|0]<<8|l[k+3|0]):k=0,l2(r,k),R4(r,e+76|0),t=l[e+75|0],k=(t|0)<0,((k?i[e+68>>2]:t)|0)!=4)break i;A=k?i[A>>2]:A;r:{if((s[A|0]|s[A+1|0]<<8|(s[A+2|0]<<16|s[A+3|0]<<24))==1701669229){R4(r,e+88|0),A=100;break r}if((s[A|0]|s[A+1|0]<<8|(s[A+2|0]<<16|s[A+3|0]<<24))!=543781493)break i;A=112}R4(r,A+e|0)}i[r+12>>2]=o,V[i[i[e>>2]+36>>2]](n+12|0,e,r,i[r+4>>2]-(i[r>>2]+o|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[n+31|0]<0&&G(i[n+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=n+32|0}function Gn(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0;o=B-16|0,B=o;i:{r:{if(!r|(!f|!e))break r;if(f=i[f>>2],i[o+12>>2]=0,i[o+4>>2]=0,i[o+8>>2]=0,A=i[f+28>>2],n=i[f+32>>2],(A|0)!=(n|0)){if(f=n-A|0,(f|0)<0)break i;for(t=U(f),i[o+4>>2]=t,i[o+12>>2]=f+t,f=t;i[f>>2]=i[A>>2],k=i[A+4>>2],i[f+4>>2]=k,k&&(i[k+4>>2]=i[k+4>>2]+1),f=f+8|0,A=A+8|0,(n|0)!=(A|0););i[o+8>>2]=f,A=f-t>>3,k=(r|0)>(A|0)?A:r;e:{if((k|0)<=0)break e;if(r=0,A=0,k>>>0>=4)for(h=k&2147483644,n=0;i[(A<<2)+e>>2]=i[i[(A<<3)+t>>2]+20>>2],u=A|1,i[(u<<2)+e>>2]=i[i[(u<<3)+t>>2]+20>>2],u=A|2,i[(u<<2)+e>>2]=i[i[(u<<3)+t>>2]+20>>2],u=A|3,i[(u<<2)+e>>2]=i[i[(u<<3)+t>>2]+20>>2],A=A+4|0,n=n+4|0,(h|0)!=(n|0););if(n=k&3,!n)break e;for(;i[(A<<2)+e>>2]=i[i[(A<<3)+t>>2]+20>>2],A=A+1|0,r=r+1|0,(n|0)!=(r|0););}for(;;){e=f-8|0,f=i[f-4>>2];e:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break e;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=e,(t|0)==(f|0))break}G(i[o+4>>2]);break r}k=r>>31&r}return B=o+16|0,k|0}y0(),P()}function K_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0;t=B-16|0,B=t;i:{r:{if(!e){r=0;break r}if(f=i[f>>2],i[t+12>>2]=0,i[t+4>>2]=0,i[t+8>>2]=0,A=i[f+36>>2],k=i[f+40>>2],(A|0)!=(k|0)){if(f=k-A|0,(f|0)<0)break i;for(n=U(f),i[t+4>>2]=n,i[t+12>>2]=f+n,f=n;i[f>>2]=i[A>>2],o=i[A+4>>2],i[f+4>>2]=o,o&&(i[o+4>>2]=i[o+4>>2]+1),f=f+8|0,A=A+8|0,(k|0)!=(A|0););i[t+8>>2]=f,A=f-n>>3,r=(r|0)>(A|0)?A:r;e:{if((r|0)<=0)break e;if(o=0,A=0,r>>>0>=4)for(h=r&2147483644,k=0;i[(A<<2)+e>>2]=i[i[(A<<3)+n>>2]+20>>2],u=A|1,i[(u<<2)+e>>2]=i[i[(u<<3)+n>>2]+20>>2],u=A|2,i[(u<<2)+e>>2]=i[i[(u<<3)+n>>2]+20>>2],u=A|3,i[(u<<2)+e>>2]=i[i[(u<<3)+n>>2]+20>>2],A=A+4|0,k=k+4|0,(h|0)!=(k|0););if(k=r&3,!k)break e;for(;i[(A<<2)+e>>2]=i[i[(A<<3)+n>>2]+20>>2],A=A+1|0,o=o+1|0,(k|0)!=(o|0););}for(;;){e=f-8|0,f=i[f-4>>2];e:{if(!f||(A=i[f+4>>2],i[f+4>>2]=A-1,A))break e;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=e,(n|0)==(f|0))break}G(i[t+4>>2]);break r}r=r>>31&r}return B=t+16|0,r|0}y0(),P()}function q_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;A=B-80|0,B=A,n=-1;i:{if(!f|(e|0)<=0|(!r|!s[r|0])||!s[r+3|0]|(!s[r+1|0]|!s[r+2|0]))break i;k=U(48),i[k+4>>2]=0,i[k+8>>2]=0,i[k>>2]=72912,f=W3(k+16|0,f,e,0),i[A+52>>2]=k,i[A+48>>2]=f,i[k+4>>2]=i[k+4>>2]+1,f=i[A+52>>2],i[A+8>>2]=i[A+48>>2],i[A+12>>2]=f,t=_e(A+56|0,A+8|0,e,0),i[A+40>>2]=0,i[A+44>>2]=0,_r(A+20|0,t,A+40|0);r:{if(i[A+20>>2]){n=i[A+24>>2]==100?-1:-2;break r}if(n=-2,f=i[A+40>>2],!f||(e=N0(f,68572,68764),!e)||(f=i[A+44>>2],f&&(i[f+4>>2]=i[f+4>>2]+1),n=e,e=s[r|0]|s[r+1|0]<<8|(s[r+2|0]<<16|s[r+3|0]<<24),n=_i(n,e<<24|(e&65280)<<8|(e>>>8&65280|e>>>24)),!f)||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}l[A+39|0]<0&&G(i[A+28>>2]),f=i[A+44>>2];r:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[t+4>>2];r:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(f=i[k+4>>2],i[k+4>>2]=f-1,f)break i;V[i[i[k>>2]+8>>2]](k),g(k)}return B=A+80|0,n|0}function x(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;o=B-16|0,B=o,_=V1(o+4|0,f);i:{if(s[_|0]!=1)break i;u=e+r|0,t=i[i[f>>2]-12>>2]+f|0,h=(i[t+4>>2]&176)==32?u:e,k=i[t+24>>2],r=i[t+76>>2],(r|0)==-1&&(A=o+12|0,r=i[t+28>>2],i[A>>2]=r,(r|0)!=100008&&(i[r+4>>2]=i[r+4>>2]+1),r=x0(A,100192),r=V[i[i[r>>2]+28>>2]](r,32)|0,O0(A),i[t+76>>2]=r),v=r<<24>>24,r=0,A=B-16|0,B=A;r:{e:{A:{if(!k||(n=i[t+12>>2],w=h-e|0,(w|0)>0&&(V[i[i[k>>2]+48>>2]](k,e,w)|0)!=(w|0)))break A;if(e=u-e|0,e=(e|0)<(n|0)?n-e|0:0,(e|0)>0){if(e>>>0>=2147483640)break e;f:{if(e>>>0>=11){r=(e|7)+1|0,n=U(r),i[A+12>>2]=r|-2147483648,i[A+4>>2]=n,i[A+8>>2]=e;break f}l[A+15|0]=e,n=A+4|0}if(r=0,Z=B0(n,v,e)+e|0,p=0,l[Z|0]=p,n=V[i[i[k>>2]+48>>2]](k,l[A+15|0]<0?i[A+4>>2]:A+4|0,e)|0,l[A+15|0]<0&&G(i[A+4>>2]),(e|0)!=(n|0))break A}f:{if(e=u-h|0,(e|0)<=0||(V[i[i[k>>2]+48>>2]](k,h,e)|0)==(e|0))break f;break A}i[t+12>>2]=0,r=k}B=A+16|0;break r}c2(),P()}if(r)break i;e=i[i[f>>2]-12>>2]+f|0,z1(e,i[e+16>>2]|5)}return Z1(_),B=o+16|0,f}function Cn(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;i[f>>2]=0,i[f+4>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,i[f+24>>2]=0,i[f+28>>2]=0,i[f+16>>2]=0,i[f+20>>2]=0,i[f+8>>2]=0,i[f+12>>2]=0;i:{if(s[e+12|0]==1){r=i0[e+24>>3],A=i0[e+32>>3],o=r*A,k=i0[e+16>>3],t=i0[e+40>>3],h=k*t,n=o-h,i0[f+40>>3]=n+n,n=k*r,w=A*t,u=n+w,i0[f+24>>3]=u+u,u=k*A,t=r*t,_=u+t,i0[f+16>>3]=_+_,n=n-w,i0[f+8>>3]=n+n,k=k*k,A=A*A,n=k+A,i0[f+32>>3]=1-(n+n),n=r*r,r=n+A,i0[f>>3]=1-(r+r),A=k+n,A=1-(A+A),k=o+h,k=k+k,r=u-t,r=r+r;break i}r=i0[e+56>>3]*.017453292519943295,k=A3(r),t=e3(r),A=i0[e+48>>3]*.017453292519943295,r=A3(A),A=e3(A),o=i0[e+64>>3],n=t*0,p=n+(0-k),h=p*0,w=k*0+(t+0),i0[f+24>>3]=h+(r*w+A*0),i0[f>>3]=h+(A*w+r*-0),o=o*.017453292519943295,h=e3(o),v=k*-0,o=A3(o),u=o*-0,W=t*h+(v+u),C=W*0,u=k*h+(n+u),_=h*0,Z=_+(0-o),i0[f+40>>3]=C+(r*u+A*Z),v=t*o+(v+_),I=v*0,k=k*o+(n+_),t=o*0+(h+0),i0[f+32>>3]=I+(r*k+A*t),i0[f+16>>3]=C+(A*u-Z*r),i0[f+8>>3]=I+(A*k-t*r),A=W+(u*0+Z*0),k=v+(k*0+t*0),r=p+(w*0+0)}i0[f+64>>3]=A,i0[f+56>>3]=k,i0[f+48>>3]=r}function Vn(f,e){var r=0,A=0,k=0,n=0,t=0;r=B-144|0,B=r;i:{r:{if(A=i[e+16>>2],(A|0)==1970628964){for(i[r+60>>2]=54820,A=i[13708],i[r+4>>2]=A,k=i[A-12>>2],A=r+4|0,i[k+A>>2]=i[13709],n=A+i[i[r+4>>2]-12>>2]|0,k=r+8|0,b0(n,k),i[n+72>>2]=0,i[n+76>>2]=-1,i[r+60>>2]=54820,i[r+4>>2]=54800,n=$0(k),i[n>>2]=53552,i[r+48>>2]=0,i[r+52>>2]=0,i[r+40>>2]=0,i[r+44>>2]=0,i[r+56>>2]=16,k=i[r+4>>2]-12|0,t=A+i[k>>2]|0,i[t+4>>2]=i[t+4>>2]&-75|8,k=A+i[k>>2]|0,i[k+76>>2]==-1&&(t=r+140|0,A=i[k+28>>2],i[t>>2]=A,(A|0)!=100008&&(i[A+4>>2]=i[A+4>>2]+1),A=x0(t,100192),V[i[i[A>>2]+28>>2]](A,32)|0,O0(t)),t=r+60|0,i[k+76>>2]=48,k=r+16|0,A=0;;){e:switch((A&13)-4|0){case 0:case 4:l[r+140|0]=45,x(r+4|0,r+140|0,1);break;default:break e}if(i[k+i[i[r+4>>2]-12>>2]>>2]=2,H0(r+4|0,s[i[e+20>>2]+A|0]),A=A+1|0,(A|0)==16)break}break r}l[f+4|0]=0,l[f+11|0]=4,l[f+3|0]=A,l[f+2|0]=A>>>8,l[f+1|0]=A>>>16,l[f|0]=A>>>24;break i}i2(f,n),f=i[13707],i[r+4>>2]=f,i[i[f-12>>2]+(r+4|0)>>2]=i[13710],i[n>>2]=53552,l[r+51|0]<0&&G(i[r+40>>2]),K0(n),T0(t)}B=r+144|0}function $_(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,t=i[13708],i[A+12>>2]=t,k=A+12|0,i[k+i[t-12>>2]>>2]=i[13709],t=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(t,n),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(n),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),o=k,u=n,k=l[A+159|0],n=(k|0)<0,x(o,n?i[A+148>>2]:u,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=i[e+12>>2];i:{if(!k&k0[e+8>>2]>=k0[e+32>>2]|k){k=A+148|0,W0(k,r),n=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:n,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=x(A+12|0,19971,22),k=i[e+8>>2],n=i[e+32>>2],x(n4(r,k-n|0,i[e+12>>2]-(k>>>0<n>>>0)|0),31338,1);break i}e=A+148|0,W0(e,r),k=e,e=l[A+159|0],r=(e|0)<0,x(A+12|0,r?i[A+148>>2]:k,r?i[A+152>>2]:e),l[A+159|0]<0&&G(i[A+148>>2]),x(A+12|0,22249,32)}i2(f,t),f=i[13707],i[A+12>>2]=f,i[i[f-12>>2]+(A+12|0)>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function b_(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0;o=B-160|0,B=o;i:{r:{if(u=i[e+16>>2],!u||(w=N0(u,72776,73212),!w))break r;if(u=i[e+20>>2],u&&(i[u+4>>2]=i[u+4>>2]+1),h=i[e>>2],i[o+104>>2]=i[h+48>>2],h=i[h+52>>2],i[o+108>>2]=h,h&&(i[h+4>>2]=i[h+4>>2]+1),e=i[e+8>>2],h=i[e+8>>2],_=i[e+4>>2],e=i[o+108>>2],i[o+32>>2]=i[o+104>>2],i[o+36>>2]=e,e=o+112|0,pr(e,o+32|0,r,_,h),i0[o+72>>3]=i[w+4>>2],i0[o+80>>3]=i[w+8>>2],r=i[o+84>>2],i[o+24>>2]=i[o+80>>2],i[o+28>>2]=r,r=i[o+76>>2],i[o+16>>2]=i[o+72>>2],i[o+20>>2]=r,me(o+88|0,e,o+16|0),i0[o+40>>3]=k0[w+12>>2],i0[o+48>>3]=k0[w+16>>2],r=i[o+52>>2],i[o+8>>2]=i[o+48>>2],i[o+12>>2]=r,r=i[o+44>>2],i[o>>2]=i[o+40>>2],i[o+4>>2]=r,It(o+56|0,e,o),i0[A>>3]=i0[o+88>>3],i0[k>>3]=i0[o+96>>3],i0[n>>3]=i0[o+56>>3],i0[t>>3]=i0[o+64>>3],i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,!u||(f=i[u+4>>2],i[u+4>>2]=f-1,f))break i;V[i[i[u>>2]+8>>2]](u),g(u);break i}e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560]}B=o+160|0}function d_(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0;o=B-160|0,B=o;i:{r:{if(u=i[e+16>>2],!u||(w=N0(u,72776,73256),!w))break r;if(u=i[e+20>>2],u&&(i[u+4>>2]=i[u+4>>2]+1),h=i[e>>2],i[o+104>>2]=i[h+48>>2],h=i[h+52>>2],i[o+108>>2]=h,h&&(i[h+4>>2]=i[h+4>>2]+1),e=i[e+8>>2],h=i[e+8>>2],_=i[e+4>>2],e=i[o+108>>2],i[o+32>>2]=i[o+104>>2],i[o+36>>2]=e,e=o+112|0,pr(e,o+32|0,r,_,h),i0[o+72>>3]=i[w+4>>2],i0[o+80>>3]=i[w+8>>2],r=i[o+84>>2],i[o+24>>2]=i[o+80>>2],i[o+28>>2]=r,r=i[o+76>>2],i[o+16>>2]=i[o+72>>2],i[o+20>>2]=r,me(o+88|0,e,o+16|0),i0[o+40>>3]=k0[w+12>>2],i0[o+48>>3]=k0[w+16>>2],r=i[o+52>>2],i[o+8>>2]=i[o+48>>2],i[o+12>>2]=r,r=i[o+44>>2],i[o>>2]=i[o+40>>2],i[o+4>>2]=r,It(o+56|0,e,o),i0[A>>3]=i0[o+88>>3],i0[k>>3]=i0[o+96>>3],i0[n>>3]=i0[o+56>>3],i0[t>>3]=i0[o+64>>3],i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,!u||(f=i[u+4>>2],i[u+4>>2]=f-1,f))break i;V[i[i[u>>2]+8>>2]](u),g(u);break i}e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560]}B=o+160|0}function D1(f,e){var r=0,A=0,k=0,n=0;k=(f|0)==(e|0),l[e+12|0]=k;i:{if(k)break i;for(;;){if(k=i[e+8>>2],s[k+12|0])break i;r:{if(r=i[k+8>>2],A=i[r>>2],(k|0)==(A|0)){if(n=i[r+4>>2],!(!n|s[n+12|0]==1)){A=n+12|0;break r}e:{if(i[k>>2]==(e|0)){e=k;break e}e=i[k+4>>2],A=i[e>>2],i[k+4>>2]=A,f=k,A&&(i[A+8>>2]=k,r=i[k+8>>2],f=i[r>>2]),i[e+8>>2]=r,i[(((f|0)!=(k|0))<<2)+r>>2]=e,i[e>>2]=k,i[k+8>>2]=e,r=i[e+8>>2],A=i[r>>2]}l[e+12|0]=1,l[r+12|0]=0,f=i[A+4>>2],i[r>>2]=f,f&&(i[f+8>>2]=r),f=i[r+8>>2],i[A+8>>2]=f,i[f+((i[f>>2]!=(r|0))<<2)>>2]=A,i[A+4>>2]=r,i[r+8>>2]=A;return}if(!(!A|s[A+12|0]==1)){A=A+12|0;break r}A=i[k>>2];e:{if((A|0)!=(e|0)){A=k;break e}f=i[A+4>>2],i[k>>2]=f,f&&(i[f+8>>2]=k,r=i[k+8>>2]),i[A+8>>2]=r,i[(((k|0)!=i[r>>2])<<2)+r>>2]=A,i[A+4>>2]=k,i[k+8>>2]=A,r=i[A+8>>2]}l[A+12|0]=1,l[r+12|0]=0,e=i[r+4>>2],f=i[e>>2],i[r+4>>2]=f,f&&(i[f+8>>2]=r),f=i[r+8>>2],i[e+8>>2]=f,i[f+((i[f>>2]!=(r|0))<<2)>>2]=e,i[e>>2]=r,i[r+8>>2]=e;break i}if(l[k+12|0]=1,l[r+12|0]=(f|0)==(r|0),l[A|0]=1,e=r,(f|0)==(r|0))break}}}function c_(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0;k=B-32|0,B=k,f=i[f>>2],o=i[f+48>>2],n=i[f+52>>2],n&&(i[n+4>>2]=i[n+4>>2]+1),i[k+28>>2]=0,i[k+20>>2]=0,i[k+24>>2]=0,I1(k,o,e,k+20|0);i:{if(i[k>>2]||(f=i[k+20>>2],o=i[k+24>>2],(f|0)==(o|0)))break i;if(e=!r,h=e,e){for(;;)if(e=i[i[f>>2]+16>>2],!((e|0)==1668047216|(e|0)==1769107316)&(e|0)!=1768778098||(t=t+h|0),f=f+8|0,(o|0)==(f|0))break i}for(e=1;;){u=i[i[f>>2]+16>>2];r:{if(!((u|0)==1668047216|(u|0)==1769107316)&(u|0)!=1768778098)break r;if((A|0)>(t|0)){i[(t<<2)+r>>2]=e,t=t+1|0;break r}t=t+h|0}if(e=e+1|0,f=f+8|0,(o|0)==(f|0))break}}if(l[k+19|0]<0&&G(i[k+8>>2]),r=i[k+20>>2],r){if(f=i[k+24>>2],e=r,(f|0)!=(e|0)){for(;;){e=i[f-4>>2];i:{if(!e||(A=i[e+4>>2],i[e+4>>2]=A-1,A))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(f=f-8|0,(r|0)==(f|0))break}e=i[k+20>>2]}i[k+24>>2]=r,G(e)}i:{if(!n||(f=i[n+4>>2],i[n+4>>2]=f-1,f))break i;V[i[i[n>>2]+8>>2]](n),g(n)}return B=k+32|0,t|0}function iv(f,e,r,A,k,n,t,o,u){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0;var h=0,w=0,_=0,v=0;h=B-32|0,B=h,w=i[f>>2],f=i[w+48>>2],w=i[w+52>>2],w&&(i[w+4>>2]=i[w+4>>2]+1),i[h+28>>2]=0,i[h+20>>2]=0,i[h+24>>2]=0,I1(h,f,e,h+20|0);i:{if(i[h>>2]||(f=r-1|0,e=i[h+20>>2],f>>>0>=i[h+24>>2]-e>>3>>>0)||(e=e+(f<<3)|0,f=i[e>>2],!f)||(f=N0(f,68572,69592),!f)||(e=i[e+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),n&&(_=n,v=Ir(f,A),i[_>>2]=v),o&&(_=o,v=(Ln(f,A)^-1)+A|0,i[_>>2]=v),t&&(_=t,v=Vr(f,k),i[_>>2]=v),u&&(_=u,v=(Kn(f,k)^-1)+k|0,i[_>>2]=v),!e)||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(l[h+19|0]<0&&G(i[h+8>>2]),r=i[h+20>>2],r){if(f=i[h+24>>2],e=r,(f|0)!=(e|0)){for(;;){A=i[f-4>>2];i:{if(!A||(e=i[A+4>>2],i[A+4>>2]=e-1,e))break i;V[i[i[A>>2]+8>>2]](A),g(A)}if(f=f-8|0,(r|0)==(f|0))break}e=i[h+20>>2]}i[h+24>>2]=r,G(e)}i:{if(!w||(f=i[w+4>>2],i[w+4>>2]=f-1,f))break i;V[i[i[w>>2]+8>>2]](w),g(w)}B=h+32|0}function In(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0;k=B-112|0,B=k;i:{if(!A){e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560];break i}r:{if(n=i[e+16>>2],!n||(o=N0(n,72776,73300),!o))break r;if(n=i[e+20>>2],n&&(i[n+4>>2]=i[n+4>>2]+1),t=i[e>>2],i[k+56>>2]=i[t+48>>2],t=i[t+52>>2],i[k+60>>2]=t,t&&(i[t+4>>2]=i[t+4>>2]+1),e=i[e+8>>2],t=i[e+8>>2],e=i[e+4>>2],u=i[k+60>>2],i[k+16>>2]=i[k+56>>2],i[k+20>>2]=u,pr(k- -64|0,k+16|0,r,e,t),r=i[o+8>>2],(i[o+12>>2]-r|0)>0)for(e=0;r=(e<<3)+r|0,i0[k+24>>3]=i[r>>2],i0[k+32>>3]=i[r+4>>2],r=i[k+36>>2],i[k+8>>2]=i[k+32>>2],i[k+12>>2]=r,r=i[k+28>>2],i[k>>2]=i[k+24>>2],i[k+4>>2]=r,me(k+40|0,k- -64|0,k),r=(e<<4)+A|0,i0[r>>3]=i0[k+40>>3],i0[r+8>>3]=i0[k+48>>3],e=e+1|0,r=i[o+8>>2],(e|0)<i[o+12>>2]-r>>3;);if(e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],!n||(f=i[n+4>>2],i[n+4>>2]=f-1,f))break i;V[i[i[n>>2]+8>>2]](n),g(n);break i}e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560]}B=k+112|0}function Qn(f,e,r){var A=Y(0),k=Y(0),n=Y(0),t=Y(0),o=Y(0),u=Y(0),h=Y(0),w=Y(0),_=Y(0),v=Y(0),Z=Y(0),p=Y(0),W=Y(0),C=Y(0),I=Y(0);i[f>>2]=0,i[f+4>>2]=0;i:{r:{if((e&65534)==12){if(e=r-1&65535,e>>>0<=21&&(e=e<<2,o=Z0[e+36156>>2],_=Z0[e+36068>>2],k=Z0[e+35980>>2],u=Z0[e+35892>>2],n=Z0[e+35804>>2],h=Z0[e+35716>>2],t=Z0[e+35628>>2],A=Z0[e+35540>>2]),w=Y(Y(1)-Y(A+t)),v=Y(Y(1)-Y(u+k)),W=Y(Y(k*w)-Y(v*t)),Z=Y(Y(1)-Y(h+n)),C=Y(Y(t*Z)-Y(w*n)),p=Y(o*Y(Y(h*W)+Y(Y(u*C)+Y(A*Y(Y(n*v)-Y(Z*k)))))),p==Y(0))break i;I=Y(Y(1)-Y(_+o)),Z0[f>>2]=Y(k*Y(Y(I*Y(Y(A*n)-Y(t*h)))+Y(Y(_*C)+Y(o*Y(Y(h*w)-Y(Z*A))))))/p,A=Y(Y(n*Y(Y(I*Y(Y(u*t)-Y(k*A)))+Y(Y(_*W)+Y(o*Y(Y(A*v)-Y(w*u))))))/p);break r}e:switch(e-1|0){case 0:i[f>>2]=1046066128,A=Y(.0722000002861023);break r;case 3:i[f>>2]=1050253722,A=Y(.10999999940395355);break r;case 4:case 5:i[f>>2]=1050220167,A=Y(.11400000005960464);break r;case 6:i[f>>2]=1046025863,A=Y(.08699999749660492);break r;case 8:case 9:break e;default:break i}i[f>>2]=1049002141,A=Y(.059300001710653305)}Z0[f+4>>2]=A}}function yn(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;i:{if(A=i[f>>2],k=i[f+4>>2]-A>>4,r=k+1|0,r>>>0<268435456){if(A=i[f+8>>2]-A|0,o=A>>3,A=A>>>0>=2147483632?268435455:r>>>0<o>>>0?o:r,A){if(A>>>0>=268435456)break i;n=U(A<<4)}o=Q[e>>1],r=(k<<4)+n|0,i[r+12>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,X[r>>1]=o,k=i[e+4>>2],e=i[e+8>>2],qA(r+4|0,k,e,(e-k|0)/12|0),u=(A<<4)+n|0,o=r+16|0,A=i[f+4>>2],k=i[f>>2];r:{if((A|0)==(k|0)){n=r;break r}for(;e=A-16|0,h=Q[e>>1],w=r-4|0,i[w>>2]=0,t=r-12|0,i[t>>2]=0,i[t+4>>2]=0,n=r-16|0,X[n>>1]=h,h=t,t=A-12|0,i[h>>2]=i[t>>2],i[r-8>>2]=i[A-8>>2],r=A-4|0,i[w>>2]=i[r>>2],i[r>>2]=0,i[t>>2]=0,i[t+4>>2]=0,r=n,A=e,(k|0)!=(A|0););A=i[f+4>>2],k=i[f>>2]}if(i[f+8>>2]=u,i[f+4>>2]=o,i[f>>2]=n,(A|0)!=(k|0))for(;;){if(t=A-12|0,f=i[t>>2],f){if(u=A-8|0,e=i[u>>2],r=f,(e|0)!=(r|0)){for(;r=e-12|0,n=i[r>>2],n&&(i[e-8>>2]=n,G(n)),e=r,(r|0)!=(f|0););r=i[t>>2]}i[u>>2]=f,G(r)}if(A=A-16|0,(k|0)==(A|0))break}return k&&G(k),o}y0(),P()}_2(),P()}function rv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(!(!(i[r>>2]!=1|i[r+4>>2]!=3)&i[r+12>>2]==8)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,l[e+44|0]=0,i[e+36>>2]=99,i[e+40>>2]=99,i[e+48>>2]=8,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,s[r+8|0]||(l[e+44|0]=0,i[e+36>>2]=1,i[e+40>>2]=12,i[e+48>>2]=i[r+12>>2],A=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=A,i[e>>2]=1,i[e+4>>2]=12,i[e+16>>2]=72992,A=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,A=i[e+56>>2],i[e+28>>2]=11,i[e+20>>2]=A,P2(f,e)),l[e+44|0]=1,i[e+36>>2]=1,i[e+40>>2]=13,i[e+48>>2]=i[r+12>>2],r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,i[e>>2]=1,i[e+4>>2]=13,i[e+16>>2]=72992,r=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,r=i[e+56>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)}B=e- -64|0}function w6(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0;i[f+24>>2]=0,i[f+16>>2]=0,i[f+20>>2]=0,i[f+8>>2]=r,i[f+4>>2]=r,i[f>>2]=e,u=-64;i:{if(!r||(i[f>>2]=e+1,A=s[e|0],k=r-1|0,i[f+8>>2]=k,A=A<<24,n=A,i[f+16>>2]=0,i[f+20>>2]=A,!k)||(i[f>>2]=e+2,A=s[e+1|0],k=r-2|0,i[f+8>>2]=k,A=n|A<<16,t=A,i[f+16>>2]=o,i[f+20>>2]=A,!k)||(i[f>>2]=e+3,A=s[e+2|0],k=r-3|0,i[f+8>>2]=k,A=t|A<<8,t=A,i[f+16>>2]=o,i[f+20>>2]=A,!k)||(i[f>>2]=e+4,A=s[e+3|0],k=r-4|0,i[f+8>>2]=k,n=o,A=A|t,o=A,i[f+16>>2]=n,i[f+20>>2]=A,!k)||(i[f>>2]=e+5,A=s[e+4|0],k=r-5|0,i[f+8>>2]=k,t=n,n=A>>>8|0,A=t|A<<24,n=n|o,o=n,i[f+16>>2]=A,i[f+20>>2]=n,!k)||(i[f>>2]=e+6,n=s[e+5|0],k=r-6|0,i[f+8>>2]=k,t=A,A=n>>>16|0,n=t|n<<16,A=A|o,o=A,i[f+16>>2]=n,i[f+20>>2]=A,!k)||(i[f>>2]=e+7,A=s[e+6|0],k=r-7|0,i[f+8>>2]=k,t=n,n=A>>>24|0,A=t|A<<8,i[f+16>>2]=A,n=n|o,i[f+20>>2]=n,!k))break i;i[f>>2]=e+8,e=s[e+7|0],i[f+8>>2]=r-8,i[f+16>>2]=e|A,i[f+20>>2]=n,u=-56}return i[f+24>>2]=(((r>>>0>=7?7:r)<<3)+u|0)- -64,f}function ev(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(!(!(i[r>>2]!=1|i[r+4>>2]!=3)&i[r+12>>2]>8)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,l[e+44|0]=0,i[e+36>>2]=99,i[e+40>>2]=99,i[e+48>>2]=8,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,s[r+8|0]||(l[e+44|0]=0,i[e+36>>2]=1,i[e+40>>2]=12,i[e+48>>2]=i[r+12>>2],A=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=A,i[e>>2]=1,i[e+4>>2]=12,i[e+16>>2]=72992,A=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,A=i[e+56>>2],i[e+28>>2]=11,i[e+20>>2]=A,P2(f,e)),l[e+44|0]=1,i[e+36>>2]=1,i[e+40>>2]=13,i[e+48>>2]=i[r+12>>2],r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,i[e>>2]=1,i[e+4>>2]=13,i[e+16>>2]=72992,r=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,r=i[e+56>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)}B=e- -64|0}function Av(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,n=i[13708],i[A+12>>2]=n,k=A+12|0,i[k+i[n-12>>2]>>2]=i[13709],n=k+i[i[A+12>>2]-12>>2]|0,t=A+16|0,b0(n,t),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,n=$0(t),i[n>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,t=A+148|0,R2(t,e,r),o=k,u=t,k=l[A+159|0],t=(k|0)<0,x(o,t?i[A+148>>2]:u,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),t=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:t,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(r,20449,18),k=i[e+56>>2];i:{if((k|0)==i[e+60>>2]||(H0(r,s[k|0]),r=1,i[e+60>>2]-i[e+56>>2]>>>0<=1))break i;for(;k=A+12|0,x(k,18140,1),H0(k,s[i[e+56>>2]+r|0]),r=r+1|0,r>>>0<i[e+60>>2]-i[e+56>>2]>>>0;);}e=A+12|0,x(e,31338,1),i2(f,n),f=i[13707],i[A+12>>2]=f,i[e+i[f-12>>2]>>2]=i[13710],i[n>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(n),T0(A+68|0),B=A+160|0}function fv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0,E=0,J=0,R=0,D=0,z=0,H=0,a=0,S=0,q=0,d=0,A0=0,f0=0;A=m(r,6)+e|0,v=Q[A+6>>1],u=Q[e+6>>1],h=Q[e+2>>1],k=u+h|0,Z=Q[e+4>>1],w=Q[e>>1],t=Z+w|0,o=k+t|0,n=(r<<2)+e|0,p=Q[n+6>>1],W=Q[n+2>>1],C=p+W|0,y=Q[n>>1],n=Q[n+4>>1],I=y+n|0,_=C+I|0,E=o-_|0,e=(r<<1)+e|0,r=Q[e+6>>1],J=Q[e+2>>1],R=r+J|0,D=Q[e+4>>1],e=Q[e>>1],z=D+e|0,H=R+z|0,a=Q[A+2>>1],S=v+a|0,q=Q[A+4>>1],A=Q[A>>1],d=q+A|0,A0=S+d|0,f0=H-A0|0,X[f+24>>1]=E-f0,X[f+16>>1]=E+f0,o=o+_|0,_=H+A0|0,X[f+8>>1]=o-_,X[f>>1]=o+_,k=t-k|0,t=I-C|0,o=k-t|0,C=z-R|0,I=d-S|0,_=C-I|0,X[f+26>>1]=o-_,X[f+18>>1]=o+_,k=k+t|0,t=C+I|0,X[f+10>>1]=k-t,X[f+2>>1]=k+t,u=h-u|0,h=w-Z|0,k=u+h|0,Z=W-p|0,n=y-n|0,w=Z+n|0,t=k-w|0,r=J-r|0,e=e-D|0,o=r+e|0,v=a-v|0,A=A-q|0,p=v+A|0,W=o-p|0,X[f+28>>1]=t-W,X[f+20>>1]=t+W,k=k+w|0,w=o+p|0,X[f+12>>1]=k-w,X[f+4>>1]=k+w,u=h-u|0,n=n-Z|0,h=u-n|0,e=e-r|0,r=A-v|0,A=e-r|0,X[f+30>>1]=h-A,X[f+22>>1]=A+h,A=n+u|0,e=e+r|0,X[f+14>>1]=A-e,X[f+6>>1]=e+A}function kv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0;A=B-32|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(A,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(k=i[19565],i[A>>2]=i[19564],i[A+4>>2]=k,k=A+8|0,l[78275]>=0){n=i[19567],i[k>>2]=i[19566],i[k+4>>2]=n,i[k+8>>2]=i[19568];break i}_0(k,i[19566],i[19567])}l[A+19|0]<0&&G(i[A+8>>2]);i:{if(s[e+48|0]){h4(f,e,5473);break i}if(t=e,o=D0(r),i[t+56>>2]=o,t=e,o=D0(r),i[t+60>>2]=o,t=e,o=D0(r),i[t+64>>2]=o,t=e,o=D0(r),i[t+68>>2]=o,t=e,o=D0(r),i[t+72>>2]=o,B4(A+20|0,r),l[e+87|0]<0&&G(i[e+76>>2]),k=i[A+24>>2],i[e+76>>2]=i[A+20>>2],i[e+80>>2]=k,i[e+84>>2]=i[A+28>>2],s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(f,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function nv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(i[r>>2]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+4>>2]!=1){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[k+8>>2]!=2){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+12>>2]>=9){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(A=Q[r+24>>1],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,!A)break i;i[e+48>>2]=8,l[e+44|0]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,i[e+36>>2]=99,i[e+40>>2]=99,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,i[e+36>>2]=0,i[e+40>>2]=3,l[e+44|0]=s[r+8|0],i[e+48>>2]=i[r+12>>2],A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+59|0]=A,l[e+60|0]=A>>>8,l[e+61|0]=A>>>16,l[e+62|0]=A>>>24,i[e+56>>2]=i[r+20>>2],A=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=A,i[e>>2]=0,i[e+4>>2]=3,i[e+16>>2]=72992,A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,r=i[r+20>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)}B=e- -64|0}function tv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(i[r>>2]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+4>>2]!=1){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[k+8>>2]!=2){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+12>>2]<=8){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(A=Q[r+24>>1],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,!A)break i;i[e+48>>2]=8,l[e+44|0]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,i[e+36>>2]=99,i[e+40>>2]=99,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,i[e+36>>2]=0,i[e+40>>2]=3,l[e+44|0]=s[r+8|0],i[e+48>>2]=i[r+12>>2],A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+59|0]=A,l[e+60|0]=A>>>8,l[e+61|0]=A>>>16,l[e+62|0]=A>>>24,i[e+56>>2]=i[r+20>>2],A=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=A,i[e>>2]=0,i[e+4>>2]=3,i[e+16>>2]=72992,A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,r=i[r+20>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)}B=e- -64|0}function ov(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(i[r>>2]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+4>>2]!=2){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[k+8>>2]!=2){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+12>>2]>=9){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(A=Q[r+24>>1],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,!A)break i;i[e+48>>2]=8,l[e+44|0]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,i[e+36>>2]=99,i[e+40>>2]=99,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,i[e+36>>2]=0,i[e+40>>2]=3,l[e+44|0]=s[r+8|0],i[e+48>>2]=i[r+12>>2],A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+59|0]=A,l[e+60|0]=A>>>8,l[e+61|0]=A>>>16,l[e+62|0]=A>>>24,i[e+56>>2]=i[r+20>>2],A=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=A,i[e>>2]=0,i[e+4>>2]=3,i[e+16>>2]=72992,A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,r=i[r+20>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)}B=e- -64|0}function lv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(i[r>>2]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+4>>2]!=2){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[k+8>>2]!=2){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+12>>2]<=8){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(A=Q[r+24>>1],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,!A)break i;i[e+48>>2]=8,l[e+44|0]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,i[e+36>>2]=99,i[e+40>>2]=99,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,i[e+36>>2]=0,i[e+40>>2]=3,l[e+44|0]=s[r+8|0],i[e+48>>2]=i[r+12>>2],A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+59|0]=A,l[e+60|0]=A>>>8,l[e+61|0]=A>>>16,l[e+62|0]=A>>>24,i[e+56>>2]=i[r+20>>2],A=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=A,i[e>>2]=0,i[e+4>>2]=3,i[e+16>>2]=72992,A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,r=i[r+20>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)}B=e- -64|0}function uv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;if(A=B-160|0,B=A,i[A+68>>2]=54820,n=i[13708],i[A+12>>2]=n,k=A+12|0,i[k+i[n-12>>2]>>2]=i[13709],n=k+i[i[A+12>>2]-12>>2]|0,t=A+16|0,b0(n,t),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,n=$0(t),i[n>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,t=A+148|0,R2(t,e,r),o=k,u=t,k=l[A+159|0],t=(k|0)<0,x(o,t?i[A+148>>2]:u,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),t=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:t,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,L0(x(r,21524,4),(i[e+64>>2]-i[e+60>>2]|0)/12|0),H0(x(r,21610,7),i[e+52>>2]-i[e+48>>2]&255),x(r,21618,5),r=i[e+48>>2],e=i[e+52>>2],(r|0)!=(e|0))for(;x(H0(A+12|0,s[r|0]),21692,2),r=r+1|0,(e|0)!=(r|0););e=A+12|0,x(e,31338,1),i2(f,n),f=i[13707],i[A+12>>2]=f,i[e+i[f-12>>2]>>2]=i[13710],i[n>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(n),T0(A+68|0),B=A+160|0}function Fn(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;i:{if(A=i[f>>2],n=i[f+4>>2]-A>>4,r=n+1|0,r>>>0<268435456){if(A=i[f+8>>2]-A|0,o=A>>3,A=A>>>0>=2147483632?268435455:r>>>0<o>>>0?o:r,A){if(A>>>0>=268435456)break i;k=U(A<<4)}r=(n<<4)+k|0,X[r>>1]=Q[e>>1],i[r+4>>2]=i[e+4>>2],i[r+8>>2]=i[e+8>>2],i[r+12>>2]=i[e+12>>2],i[e+12>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,u=(A<<4)+k|0,o=r+16|0,A=i[f+4>>2],n=i[f>>2];r:{if((A|0)==(n|0)){k=r;break r}for(;e=A-16|0,t=Q[e>>1],h=r-4|0,i[h>>2]=0,k=r-16|0,X[k>>1]=t,t=A-12|0,i[r-12>>2]=i[t>>2],i[r-8>>2]=i[A-8>>2],r=A-4|0,i[h>>2]=i[r>>2],i[r>>2]=0,i[t>>2]=0,i[t+4>>2]=0,r=k,A=e,(n|0)!=(A|0););A=i[f+4>>2],n=i[f>>2]}if(i[f+8>>2]=u,i[f+4>>2]=o,i[f>>2]=k,(A|0)!=(n|0))for(;;){if(t=A-12|0,f=i[t>>2],f){if(u=A-8|0,e=i[u>>2],r=f,(e|0)!=(r|0)){for(;r=e-12|0,k=i[r>>2],k&&(i[e-8>>2]=k,G(k)),e=r,(r|0)!=(f|0););r=i[t>>2]}i[u>>2]=f,G(r)}if(A=A-16|0,(n|0)==(A|0))break}return n&&G(n),o}y0(),P()}_2(),P()}function zr(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0;if(o=B-16|0,B=o,u=f+2140|0,B9(u,1)){k=(l[i[f+1384>>2]+13|0]<<3)+f|0,t=i[k+728>>2],n=i[k+732>>2];i:{if(!n){i[o+12>>2]=0;break i}i[n+4>>2]=i[n+4>>2]+1,i[o+12>>2]=n,i[n+4>>2]=i[n+4>>2]+1}if(i[o+8>>2]=t,k=i[o+12>>2],i[o>>2]=i[o+8>>2],i[o+4>>2]=k,k=0,u=fn(u,o,f,0,0,0,0),(u|0)>=0){if(t=i[f+2152>>2],f=i[f+2148>>2],u>>>0<t-f>>2>>>0&&(k=i[f+(u<<2)>>2]),f=1<<i[e+16840>>2]-1,t=1<<i[e+16832>>2]-1,(t|0)>=0&&B0(i[k+4>>2],t,m(i[k+28>>2],i[k+40>>2])),(f|0)>=0&&B0(i[k+8>>2],f,m(i[k+36>>2],i[k+44>>2])),(f|0)>=0&&B0(i[k+12>>2],f,m(i[k+36>>2],i[k+44>>2])),i[k+164>>2]>0)for(f=0;t=i[k+160>>2]+m(f,3)|0,h=(s[t|0]|s[t+1|0]<<8)&64767,l[t|0]=h,l[t+1|0]=h>>>8,f=f+1|0,(f|0)<i[k+164>>2];);i[k+96>>2]=r,f=i[e+16868>>2],l[k+104|0]=0,l[k+312|0]=1,i[k+100>>2]=A?2:1,i[k+92>>2]=f-1&r}i:{if(!n||(f=i[n+4>>2],i[n+4>>2]=f-1,f))break i;V[i[i[n>>2]+8>>2]](n),g(n)}return B=o+16|0,u}C0(18302,13894,1425,9437),P()}function sv(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0;u=B-16|0,B=u,o=U(32),i[o+28>>2]=n,i[o+24>>2]=k,i[o+20>>2]=A,i[o+16>>2]=r,i[o+12>>2]=73188,i[o+4>>2]=0,i[o+8>>2]=0,i[o>>2]=73448,r=i[e+8>>2],i[u+12>>2]=o,n=o+12|0,i[u+8>>2]=n,i[o+4>>2]=i[o+4>>2]+1,A=i[r+16>>2];i:{r:{if(A>>>0<k0[r+20>>2]){i[A+4>>2]=o,i[A>>2]=n,i[o+4>>2]=i[o+4>>2]+1,i[r+16>>2]=A+8,k=o;break r}if(A=Q2(r+12|0,u+8|0),k=i[u+12>>2],i[r+16>>2]=A,!k)break i}if(r=i[k+4>>2],i[k+4>>2]=r-1,r)break i;V[i[i[k>>2]+8>>2]](k),g(k)}i:{if(!t||(i[o+4>>2]=i[o+4>>2]+1,r=U(24),i[o+4>>2]=i[o+4>>2]+1,i[r+20>>2]=o,i[r+16>>2]=n,k=i[e+8>>2],A=i[e+12>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+12>>2]=A,i[r+8>>2]=k,A=i[e>>2],e=i[e+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[r+4>>2]=e,i[r>>2]=A,i[t>>2]=r,e=i[o+4>>2],i[o+4>>2]=e-1,e))break i;V[i[i[o>>2]+8>>2]](o),g(o)}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],f=i[o+4>>2],i[o+4>>2]=f-1,f||(V[i[i[o>>2]+8>>2]](o),g(o)),B=u+16|0}function hv(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0;u=B-16|0,B=u,o=U(32),i[o+28>>2]=n,i[o+24>>2]=k,i[o+20>>2]=A,i[o+16>>2]=r,i[o+12>>2]=73232,i[o+4>>2]=0,i[o+8>>2]=0,i[o>>2]=73488,r=i[e+8>>2],i[u+12>>2]=o,n=o+12|0,i[u+8>>2]=n,i[o+4>>2]=i[o+4>>2]+1,A=i[r+16>>2];i:{r:{if(A>>>0<k0[r+20>>2]){i[A+4>>2]=o,i[A>>2]=n,i[o+4>>2]=i[o+4>>2]+1,i[r+16>>2]=A+8,k=o;break r}if(A=Q2(r+12|0,u+8|0),k=i[u+12>>2],i[r+16>>2]=A,!k)break i}if(r=i[k+4>>2],i[k+4>>2]=r-1,r)break i;V[i[i[k>>2]+8>>2]](k),g(k)}i:{if(!t||(i[o+4>>2]=i[o+4>>2]+1,r=U(24),i[o+4>>2]=i[o+4>>2]+1,i[r+20>>2]=o,i[r+16>>2]=n,k=i[e+8>>2],A=i[e+12>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+12>>2]=A,i[r+8>>2]=k,A=i[e>>2],e=i[e+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[r+4>>2]=e,i[r>>2]=A,i[t>>2]=r,e=i[o+4>>2],i[o+4>>2]=e-1,e))break i;V[i[i[o>>2]+8>>2]](o),g(o)}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],f=i[o+4>>2],i[o+4>>2]=f-1,f||(V[i[i[o>>2]+8>>2]](o),g(o)),B=u+16|0}function K4(f,e,r,A,k,n,t,o,u,h,w){var _=0;i:{r:{e:{A:{f:{if(!((e+A|0)<=(h|0)|(e|0)>(h|0)|(r|0)>(w|0))&&(r+A|0)>(w|0))break f;if(A=0,(h|w)<0||(e=i[f+124>>2],i[e+484>>2]<=(h|0)|i[e+488>>2]<=(w|0))||(t=i[f+132>>2],o=i[t+8496>>2],r=i[e+16936>>2],u=i[e+16924>>2],i[(o+(h>>>r<<2)|0)+(m(u,w>>>r|0)<<2)>>2]>i[(o+(k>>r<<2)|0)+(m(u,n>>r)<<2)>>2])||(u=i[f+140>>2],o=i[f+152>>2],r=i[e+16876>>2],n=n>>r,k=k>>r,_=w>>>r|0,r=h>>>r|0,Q[(u+m(m(o,n),24)|0)+m(k,24)>>1]!=Q[(u+m(m(o,_),24)|0)+m(r,24)>>1]))break e;if(o=k<<2,k=i[t+8484>>2],e=i[e+16892>>2],i[(o+k|0)+(m(e,n)<<2)>>2]==i[(k+(r<<2)|0)+(m(e,_)<<2)>>2])break A;break e}if(t<<1!=(A|0)|o<<1!=(A|0)|((u|0)!=1|(r+o|0)>(w|0)))break A;if(A=0,(e+t|0)>(h|0))break e}if(r=i[f+168>>2],e=h>>r,(e|0)<0||(A=i[f+172>>2],(A|0)<=(e|0)))break r;if(r=w>>r,(r|0)<0|(r|0)>=i[f+176>>2])break i;A=(s[((i[f+160>>2]+m(e,3)|0)+m(m(r,A),3)|0)+1|0]&3)!=0}return A}C0(3758,8473,118,3372),P()}C0(3720,8473,119,3372),P()}function Hr(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,t=i[13708],i[A+12>>2]=t,k=A+12|0,i[k+i[t-12>>2]>>2]=i[13709],t=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(t,n),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(n),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,W0(n,r),o=k,u=n,k=l[A+159|0],n=(k|0)<0,x(o,n?i[A+148>>2]:u,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=x(A+12|0,19401,5),n=A+148|0,Vn(n,e),o=k,u=n,k=l[A+159|0],n=(k|0)<0,x(x(o,n?i[A+148>>2]:u,n?i[A+152>>2]:k),31077,7),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),n=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:n,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(L0(x(n4(x(r,20793,6),i[e+8>>2],i[e+12>>2]),20737,17),i[e+32>>2]),31337,2),i2(f,t),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function En(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,f=B-16|0,B=f,i[f+12>>2]=r,i[f+8>>2]=n,i[f+12>>2]=r,i[f+8>>2]=n,e=i[f+12>>2];i:{r:{for(;;){e:{if(e>>>0>=A>>>0){r=0;break e}if(r=2,e=i[e>>2],e>>>0>1114111|(e&-2048)==55296)break e;A:{if(e>>>0<=127){if(r=1,n=i[f+8>>2],(t-n|0)<=0)break e;i[f+8>>2]=n+1,l[n|0]=e;break A}if(e>>>0<=2047){if(r=i[f+8>>2],(t-r|0)<2)break r;i[f+8>>2]=r+1,l[r|0]=e>>>6|192,r=i[f+8>>2],i[f+8>>2]=r+1,l[r|0]=e&63|128;break A}if(r=i[f+8>>2],n=t-r|0,e>>>0<=65535){if((n|0)<3)break r;i[f+8>>2]=r+1,l[r|0]=e>>>12|224,r=i[f+8>>2],i[f+8>>2]=r+1,l[r|0]=e>>>6&63|128,r=i[f+8>>2],i[f+8>>2]=r+1,l[r|0]=e&63|128;break A}if((n|0)<4)break r;i[f+8>>2]=r+1,l[r|0]=e>>>18|240,r=i[f+8>>2],i[f+8>>2]=r+1,l[r|0]=e>>>12&63|128,r=i[f+8>>2],i[f+8>>2]=r+1,l[r|0]=e>>>6&63|128,r=i[f+8>>2],i[f+8>>2]=r+1,l[r|0]=e&63|128}e=i[f+12>>2]+4|0,i[f+12>>2]=e;continue}break}break i}r=1}return i[k>>2]=i[f+12>>2],i[o>>2]=i[f+8>>2],B=f+16|0,r|0}function JA(f){var e=0,r=0,A=0,k=0,n=0,t=0,o=0;i:{r=i[f+18592>>2];r:{e:{if(s[r+20|0]){if(e=i[f+18588>>2],n=i[e+52>>2],k=i[e+132>>2],r=i[r+24>>2],A=Q[(i[e+140>>2]+m(i[(i[k+8460>>2]+(i[i[k+8448>>2]+(r<<2)>>2]<<2)|0)-4>>2],24)|0)+2>>1],A>>>0>=i[e+56>>2]-n>>2>>>0)break r;if(n=i[n+(A<<2)>>2],A=i[i[e+124>>2]+16892>>2],e=(r|0)/(A|0)|0,e9(k,r-m(e,A)|0,e)){if(e=i[f+18592>>2],r=i[e+804>>2],r>>>0>=3)break i;k6(f+18572|0,r,i[e+800>>2]),l[f+18580|0]=0,l[f+18581|0]=0,l[f+18582|0]=0,l[f+18583|0]=0;break e}if(e=i[f+18596>>2],r=i[e+424>>2],k=i[e+428>>2]-r>>2,k>>>0<2)break r;for(A=i[f+18600>>2],e=1;;){if(t=r+(e<<2)|0,(A|0)!=i[t>>2]){if(e=e+1|0,(k|0)!=(e|0))continue;break r}break}if(e=i[t-4>>2],!e||(bt(e+44|0,i[e+120>>2]),s[n+1348|0]!=1))break r;e=f+18572|0,f=n+1340|0,Ii(e,f),F9(f);break e}if(e=i[r+804>>2],e>>>0>=3)break i;k6(f+18572|0,e,i[r+800>>2]),l[f+18580|0]=0,l[f+18581|0]=0,l[f+18582|0]=0,l[f+18583|0]=0}o=1}return o}C0(16898,14036,1520,4043),P()}function Tr(f,e,r,A){var k=0,n=0,t=0,o=0;k=i[r+4>>2],o=i[e+4>>2];i:{if((o|0)<=i[f+4>>2]){if((k|0)<=(o|0)||(n=i[e>>2],k=i[e+4>>2],t=i[r+4>>2],i[e>>2]=i[r>>2],i[e+4>>2]=t,i[r>>2]=n,i[r+4>>2]=k,i[e+4>>2]<=i[f+4>>2]))break i;n=i[f>>2],k=i[f+4>>2],t=i[e+4>>2],i[f>>2]=i[e>>2],i[f+4>>2]=t,i[e>>2]=n,i[e+4>>2]=k,k=i[r+4>>2];break i}if(t=i[f>>2],n=i[f+4>>2],(k|0)>(o|0)){k=i[r+4>>2],i[f>>2]=i[r>>2],i[f+4>>2]=k,i[r>>2]=t,i[r+4>>2]=n,k=n;break i}if(k=i[e+4>>2],i[f>>2]=i[e>>2],i[f+4>>2]=k,i[e>>2]=t,i[e+4>>2]=n,k=i[r+4>>2],(n|0)>=(k|0))break i;k=i[r+4>>2],i[e>>2]=i[r>>2],i[e+4>>2]=k,i[r>>2]=t,i[r+4>>2]=n,k=n}i:{if(i[A+4>>2]<=(k|0)||(n=i[r>>2],k=i[r+4>>2],t=i[A+4>>2],i[r>>2]=i[A>>2],i[r+4>>2]=t,i[A>>2]=n,i[A+4>>2]=k,i[r+4>>2]<=i[e+4>>2])||(A=i[e>>2],n=i[e+4>>2],k=i[r+4>>2],i[e>>2]=i[r>>2],i[e+4>>2]=k,i[r>>2]=A,i[r+4>>2]=n,i[e+4>>2]<=i[f+4>>2]))break i;r=i[f>>2],A=i[f+4>>2],n=i[e+4>>2],i[f>>2]=i[e>>2],i[f+4>>2]=n,i[e>>2]=r,i[e+4>>2]=A}}function wv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0;e=B+-64|0,B=e,A=i[r+12>>2],k=i[r+4>>2],n=i[r>>2],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,k|(n|0)!=2|(A|0)!=8||(l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,l[e+44|0]=0,i[e+36>>2]=99,i[e+40>>2]=99,i[e+48>>2]=8,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,s[r+8|0]||(i[e+48>>2]=8,l[e+44|0]=0,i[e+36>>2]=1,i[e+40>>2]=10,r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,i[e>>2]=1,i[e+4>>2]=10,i[e+16>>2]=72992,r=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,r=i[e+56>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)),i[e+48>>2]=8,l[e+44|0]=1,i[e+36>>2]=1,i[e+40>>2]=11,r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,i[e>>2]=1,i[e+4>>2]=11,i[e+16>>2]=72992,r=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,r=i[e+56>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)),B=e- -64|0}function _v(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0;e=B+-64|0,B=e,n=i[A+4>>2];i:{if(!(!s[k+12|0]|((n|0)==3|i[k+4>>2]==1))){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(!(!(i[r>>2]!=1|(i[r+4>>2]&-4)!=12)&i[r+12>>2]>8)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(k=Q[A+24>>1],!(k>>>0>14|!(1<<k&18689))){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(!s[A+26|0]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,(n|0)!=1)break i;k=V8(e+36|0),i[k>>2]=0,i[k+4>>2]=1,l[k+8|0]=s[r+8|0],i[k+12>>2]=i[r+12>>2],i[k+20>>2]=i[A+20>>2],r=s[A+23|0]|s[A+24|0]<<8|(s[A+25|0]<<16|s[A+26|0]<<24),l[k+23|0]=r,l[k+24|0]=r>>>8,l[k+25|0]=r>>>16,l[k+26|0]=r>>>24,r=i[k+12>>2],i[e+8>>2]=i[k+8>>2],i[e+12>>2]=r,r=i[k+4>>2],i[e>>2]=i[k>>2],i[e+4>>2]=r,i[e+16>>2]=72992,r=s[A+23|0]|s[A+24|0]<<8|(s[A+25|0]<<16|s[A+26|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,i[e+20>>2]=i[A+20>>2],i[e+28>>2]=11,P2(f,e)}B=e- -64|0}function vv(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0;r=i[f+16>>2],k=i[r+18588>>2],t=i[k+124>>2],o=i[t+16892>>2],i[f+4>>2]=1,i[k+324>>2]=i[k+324>>2]-1,i[k+328>>2]=i[k+328>>2]+1,A=i[r+18588>>2],n=i[A+124>>2],e=i[n+16908>>2],u=i[r+4>>2],(e|0)>(u|0)&&(e=i[i[i[A+132>>2]+8460>>2]+(u<<2)>>2]),A=i[n+16892>>2],i[r>>2]=e,n=(e|0)/(A|0)|0,i[r+12>>2]=n,i[r+8>>2]=e-m(A,n),A=(e|0)/(o|0)|0;i:{r:{if(s[f+8|0]!=1||JA(r))break r;if((o|0)<=0)break i;for(e=0,A=m(m(A,o),76);t=(A+i[k+320>>2]|0)+m(e,76)|0,i[t>>2]<=0&&(i[t>>2]=1),e=e+1|0,(o|0)!=(e|0););break i}if(Y6(r+18548|0),mr(r,1,!(s[f+8|0]!=1||s[i[r+18592>>2]+20|0])),(A|0)!=i[r+12>>2]||(e=i[r+8>>2],n=i[t+16892>>2],(e|0)>=(n|0)))break i;for(o=m(m(A,o),76);i[t+16892>>2]<=(e|0)|(A|0)>=i[t+16900>>2]||(u=(o+i[k+320>>2]|0)+m(e,76)|0,i[u>>2]<=0&&(i[u>>2]=1)),e=e+1|0,(n|0)!=(e|0););}i[f+4>>2]=3,f=i[r+18600>>2],i[f+44>>2]=i[f+44>>2]+1,Ze(k)}function mv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,t=i[13708],i[A+12>>2]=t,k=A+12|0,i[k+i[t-12>>2]>>2]=i[13709],t=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(t,n),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(n),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),u=k,o=n,k=l[A+159|0],n=(k|0)<0,x(u,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],n=(k|0)<0,x(A+12|0,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,x(L0(x(k,20591,10),i[e+48>>2]),31338,1),n=A+148|0,W0(n,r),o=k,r=l[A+159|0],k=(r|0)<0,x(o,k?i[A+148>>2]:n,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(L0(x(r,20580,10),i[e+52>>2]),31338,1),i2(f,t),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function Bv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,t=i[13708],i[A+12>>2]=t,k=A+12|0,i[k+i[t-12>>2]>>2]=i[13709],t=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(t,n),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(n),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),u=k,o=n,k=l[A+159|0],n=(k|0)<0,x(u,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),o=k,k=l[A+159|0],n=(k|0)<0,x(A+12|0,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+12|0,x(L0(x(k,20393,25),Q[e+48>>1]),31338,1),n=A+148|0,W0(n,r),o=k,r=l[A+159|0],k=(r|0)<0,x(o,k?i[A+148>>2]:n,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(L0(x(r,20419,29),Q[e+50>>1]),31338,1),i2(f,t),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function Zv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0;t=B-16|0,B=t,n=U(24),i[n+20>>2]=A,i[n+16>>2]=r,i[n+12>>2]=73144,i[n+4>>2]=0,i[n+8>>2]=0,i[n>>2]=73408,A=i[e+8>>2],i[t+12>>2]=n,o=n+12|0,i[t+8>>2]=o,i[n+4>>2]=i[n+4>>2]+1,r=i[A+16>>2];i:{r:{if(r>>>0<k0[A+20>>2]){i[r+4>>2]=n,i[r>>2]=o,i[n+4>>2]=i[n+4>>2]+1,i[A+16>>2]=r+8,r=n;break r}if(u=Q2(A+12|0,t+8|0),r=i[t+12>>2],i[A+16>>2]=u,!r)break i}if(A=i[r+4>>2],i[r+4>>2]=A-1,A)break i;V[i[i[r>>2]+8>>2]](r),g(r)}i:{if(!k||(i[n+4>>2]=i[n+4>>2]+1,r=U(24),i[n+4>>2]=i[n+4>>2]+1,i[r+20>>2]=n,i[r+16>>2]=o,o=i[e+8>>2],A=i[e+12>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+12>>2]=A,i[r+8>>2]=o,A=i[e>>2],e=i[e+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[r+4>>2]=e,i[r>>2]=A,i[k>>2]=r,e=i[n+4>>2],i[n+4>>2]=e-1,e))break i;V[i[i[n>>2]+8>>2]](n),g(n)}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],f=i[n+4>>2],i[n+4>>2]=f-1,f||(V[i[i[n>>2]+8>>2]](n),g(n)),B=t+16|0}function pv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,t=i[13708],i[A+12>>2]=t,n=A+12|0,i[n+i[t-12>>2]>>2]=i[13709],t=n+i[i[A+12>>2]-12>>2]|0,k=A+16|0,b0(t,k),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(k),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,k=A+148|0,R2(k,e,r),o=n,u=k,n=l[A+159|0],k=(n|0)<0,x(o,k?i[A+148>>2]:u,k?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),n=A+148|0,W0(n,r),o=n,n=l[A+159|0],k=(n|0)<0,x(A+12|0,k?i[A+148>>2]:o,k?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),n=x(L0(x(A+12|0,20525,13),i[e+56>>2]),31338,1),k=A+148|0,W0(k,r),o=k,r=l[A+159|0],k=(r|0)<0,x(n,k?i[A+148>>2]:o,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),x(L0(x(n,19612,14),i[e+60>>2]),31338,1),i2(f,t),f=i[13707],i[A+12>>2]=f,i[i[f-12>>2]+(A+12|0)>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function Wv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e,A=i[r+12>>2],k=i[r+4>>2],r=i[r>>2],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,(r|0)!=1|(k|0)!=3|(A|0)!=8||(l[e+44|0]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,i[e+48>>2]=8,i[e+36>>2]=99,i[e+40>>2]=99,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,l[e+44|0]=1,i[e+48>>2]=8,i[e+36>>2]=1,i[e+40>>2]=11,r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,r=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,i[e>>2]=1,i[e+4>>2]=11,i[e+16>>2]=72992,i[e+20>>2]=i[e+56>>2],i[e+28>>2]=11,P2(f,e),l[e+44|0]=0,i[e+36>>2]=1,i[e+40>>2]=10,i[e+48>>2]=8,r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,r=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,i[e>>2]=1,i[e+4>>2]=10,i[e+16>>2]=72992,i[e+20>>2]=i[e+56>>2],i[e+28>>2]=11,P2(f,e)),B=e- -64|0}function _6(f,e,r){var A=0,k=0,n=0,t=0,o=0;k=B-16|0,B=k,A=U(96),i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=71024,n=A+16|0,i[n+8>>2]=0,i[n+12>>2]=0,i[n+16>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,i[n+28>>2]=0,i[n+32>>2]=0,i[n>>2]=68500,i[A+52>>2]=0,i[A+56>>2]=0,i[A+68>>2]=0,l[A+57|0]=0,l[A+58|0]=0,l[A+59|0]=0,l[A+60|0]=0,l[A+61|0]=0,l[A+62|0]=0,l[A+63|0]=0,l[A+64|0]=0,i[n>>2]=69372,i[A+88>>2]=0,i[A+92>>2]=0,i[A+80>>2]=0,i[A+84>>2]=0,i[A+72>>2]=0,i[A+76>>2]=0,i[A+32>>2]=1635088451,t=A+72|0;i:{if((t|0)==(r|0))break i;if(l[r+11|0]>=0){o=i[r+4>>2],i[t>>2]=i[r>>2],i[t+4>>2]=o,i[t+8>>2]=i[r+8>>2];break i}i4(t,i[r>>2],i[r+4>>2])}r=i[f+44>>2],i[k+12>>2]=A,i[k+8>>2]=n,i[A+4>>2]=i[A+4>>2]+1,n=N4(r,k+8|0),r=i[k+12>>2];i:{if(!r||(t=i[r+4>>2],i[r+4>>2]=t-1,t))break i;V[i[i[r>>2]+8>>2]](r),g(r)}f=i[f+52>>2],l[k+4|0]=1,X[k+6>>1]=n+1,i[k>>2]=Q[k+4>>1]|Q[k+6>>1]<<16,c1(f,e,k),f=i[A+4>>2],i[A+4>>2]=f-1,f||(V[i[i[A>>2]+8>>2]](A),g(A)),B=k+16|0}function Xv(){var f=0,e=0,r=0,A=0;i:{r:{e:switch(f=i[19575],f|0){case 0:break i;case 1:break e;default:break r}if(f=i[19569],(f|0)!=78280)for(;;){e=i[i[f+16>>2]+12>>2],e&&V[e|0](),e=i[f+4>>2];e:{if(e){for(;;)if(f=e,e=i[f>>2],!e)break e}for(;e=f,f=i[f+8>>2],(e|0)!=i[f>>2];);}if((f|0)==78280)break}if(Ie(78276,i[19570]),i[19569]=78280,i[19570]=0,i[19571]=0,f=i[19572],(f|0)!=78292)for(;;){e=i[i[i[f+16>>2]>>2]+32>>2],e&&V[e|0](),e=i[f+4>>2];e:{if(e){for(;;)if(f=e,e=i[f>>2],!e)break e}for(;e=f,f=i[f+8>>2],(e|0)!=i[f>>2];);}if((f|0)==78292)break}if(Xe(78288,i[19573]),i[19572]=78292,i[19573]=0,i[19574]=0,l[78304]=1,e=i[19591],A=i[19590],(e|0)!=(A|0))for(;;){r=i[e-4>>2];e:{if(!r||(f=i[r+4>>2],i[r+4>>2]=f-1,f))break e;V[i[i[r>>2]+8>>2]](r),g(r)}if(e=e-8|0,(A|0)==(e|0))break}i[19591]=A,f=i[19575]}i[19575]=f-1}}function N0(f,e,r){var A=0,k=0,n=0,t=0,o=0;t=B-16|0,B=t,k=i[f>>2],n=i[k-8>>2],i[t+12>>2]=n,i[t+4>>2]=f+n,i[t+8>>2]=i[k-4>>2],n=i[t+8>>2],k=Q1(n,r,0),o=i[t+4>>2];i:{if(k){f=B+-64|0,B=f,B=f- -64|0,A=i[t+12>>2]?0:o;break i}if(k=B+-64|0,B=k,(f|0)>=(o|0)&&(i[k+28>>2]=0,i[k+32>>2]=0,i[k+36>>2]=0,i[k+40>>2]=0,i[k+44>>2]=0,i[k+48>>2]=0,i[k+20>>2]=0,i[k+24>>2]=0,i[k+16>>2]=0,i[k+12>>2]=r,i[k+4>>2]=n,i[k+60>>2]=0,i[k+52>>2]=1,i[k+56>>2]=16777216,i[k+8>>2]=f,V[i[i[n>>2]+20>>2]](n,k+4|0,o,o,1,0),A=i[k+28>>2]?f:0),B=k- -64|0,A)break i;A=B+-64|0,B=A,i[A+16>>2]=0,i[A+12>>2]=e,i[A+8>>2]=f,i[A+4>>2]=r,f=0,B0(A+20|0,0,39),i[A+60>>2]=0,l[A+59|0]=1,V[i[i[n>>2]+24>>2]](n,A+4|0,o,1,0);r:{e:switch(i[A+40>>2]){case 0:f=i[A+44>>2]==1&&i[A+32>>2]==1&&i[A+36>>2]==1?i[A+24>>2]:0;break r;case 1:break e;default:break r}if(i[A+28>>2]!=1&&i[A+44>>2]|i[A+32>>2]!=1|i[A+36>>2]!=1)break r;f=i[A+20>>2]}B=A- -64|0,A=f}return B=t+16|0,A}function Gv(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,e=i[r>>2],A=i[e+28>>2],k=i[e+24>>2],e=U(136),i[e>>2]=72792,i[e+4>>2]=0,i[e+8>>2]=0,B0(e+20|0,0,104),i[e+56>>2]=0,i[e+60>>2]=0,i[e+44>>2]=99,i[e+48>>2]=99,i[e+32>>2]=3795,n=e- -64|0,i[n>>2]=0,i[n+4>>2]=0,i[e+132>>2]=0,i[e+124>>2]=0,i[e+128>>2]=0,i[e+84>>2]=1,i[e+88>>2]=1,i[e+72>>2]=e+76,i[e+92>>2]=0,i[e+96>>2]=0,i[e+100>>2]=0,i[e+104>>2]=0,i[e+108>>2]=0,i[e+112>>2]=0,l[e+113|0]=0,l[e+114|0]=0,l[e+115|0]=0,l[e+116|0]=0,l[e+117|0]=0,l[e+118|0]=0,l[e+119|0]=0,l[e+120|0]=0,i[f+4>>2]=e,n=e+12|0,i[f>>2]=n,i[e+12>>2]=n,i[e+8>>2]=i[e+8>>2]+1,i[e+16>>2]=e,i[e+4>>2]==-1&&(V[i[i[e>>2]+8>>2]](e),g(e)),e=i[r>>2],n=i[e+32>>2],f=i[f>>2],i[f+36>>2]=i[e+36>>2],i[f+32>>2]=n,i[f+28>>2]=A,i[f+24>>2]=k,H2(i[r>>2],0)&&U8(f,r,0,0),H2(i[r>>2],1)&&U8(f,r,1,1),H2(i[r>>2],2)&&U8(f,r,2,2),H2(i[r>>2],3)&&U8(f,r,3,3),H2(i[r>>2],4)&&U8(f,r,4,4),H2(i[r>>2],5)&&U8(f,r,5,5)}function ar(f,e,r,A,k,n){var t=0,o=0,u=0;u=B-16|0,B=u,t=U(96),i[t+4>>2]=0,i[t+8>>2]=0,i[t>>2]=71144,o=t+16|0,i[o+8>>2]=0,i[o+12>>2]=0,i[o+16>>2]=0,i[o+20>>2]=0,i[o+24>>2]=0,i[o+28>>2]=0,i[o+32>>2]=0,i[o>>2]=68500,i[t+60>>2]=0,i[t+52>>2]=0,i[t+56>>2]=0,i[o>>2]=69552,i[t+88>>2]=0,i[t+92>>2]=1,i[t+80>>2]=0,i[t+84>>2]=1,i[t+72>>2]=0,i[t+76>>2]=1,i[t+64>>2]=0,i[t+68>>2]=1,i[t+32>>2]=1668047216,i[o+56>>2]=A,i[o+60>>2]=1,i[o+48>>2]=r,i[o+52>>2]=1,A=A-n|0,n=A-65537>>>0<4294836223,i[o+72>>2]=n&0|(n?(A|0)/2|0:A),i[o+76>>2]=n?1:2,r=r-k|0,A=r-65537>>>0<4294836223,i[o+64>>2]=A&0|(A?(r|0)/2|0:r),i[o+68>>2]=A?1:2,r=i[f+44>>2],i[u+12>>2]=t,i[u+8>>2]=o,i[t+4>>2]=i[t+4>>2]+1,A=N4(r,u+8|0),r=i[u+12>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}f=i[f+52>>2],l[u+4|0]=1,X[u+6>>1]=A+1,i[u>>2]=Q[u+4>>1]|Q[u+6>>1]<<16,c1(f,e,u),f=i[t+4>>2],i[t+4>>2]=f-1,f||(V[i[i[t>>2]+8>>2]](t),g(t)),B=u+16|0}function Cv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;if(A=B-160|0,B=A,i[A+68>>2]=54820,k=i[13708],i[A+12>>2]=k,n=i[k-12>>2],k=A+12|0,i[n+k>>2]=i[13709],t=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(t,n),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(n),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),u=k,o=n,k=l[A+159|0],n=(k|0)<0,x(u,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=i[e+48>>2],e=i[e+52>>2],(k|0)!=(e|0))for(;n=A+148|0,W0(n,r),u=n,n=l[A+159|0],o=(n|0)<0,x(A+12|0,o?i[A+148>>2]:u,o?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),x(L0(x(L0(x(L0(x(A+12|0,19449,15),Q[k>>1]),21009,16),Q[k+2>>1]),20243,23),Q[k+4>>1]),31338,1),k=k+6|0,(e|0)!=(k|0););i2(f,t),f=i[13707],i[A+12>>2]=f,i[i[f-12>>2]+(A+12|0)>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function Vv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;if(A=B-160|0,B=A,i[A+68>>2]=54820,k=i[13708],i[A+12>>2]=k,n=i[k-12>>2],k=A+12|0,i[n+k>>2]=i[13709],t=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(t,n),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(n),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),u=k,o=n,k=l[A+159|0],n=(k|0)<0,x(u,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=i[e+56>>2],e=i[e+60>>2],(k|0)!=(e|0))for(;n=A+148|0,W0(n,r),u=n,n=l[A+159|0],o=(n|0)<0,x(A+12|0,o?i[A+148>>2]:u,o?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),x(L0(x(H0(x(L0(x(A+12|0,21276,10),Q[k>>1]),19823,18),s[k+2|0]),19805,17),Q[k+4>>1]),31338,1),k=k+6|0,(e|0)!=(k|0););i2(f,t),f=i[13707],i[A+12>>2]=f,i[i[f-12>>2]+(A+12|0)>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function Iv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;k=B-16|0,B=k,A=i[e+12>>2],o=A,n=i[e+8>>2];i:{r:{if(!(A|n)){for(e=r;i[e+16>>2]=0,e=i[e+8>>2],!!e;);break r}if(t=i[e+32>>2],A=n-t|0,n=o-(n>>>0<t>>>0)|0,!n&A>>>0>=2147483648|n){if(l[k+4|0]=0,l[k+15|0]=0,r0(f,2,101,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}if(!T4(r,A)||(n=i[r>>2],A=i[r+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),o=i[e+8>>2],t=i[e+32>>2],u=o-t|0,e=i[e+12>>2]-(o>>>0<t>>>0)|0,t=V[i[i[n>>2]+8>>2]](n)|0,o=t+u|0,e=w0+e|0,V[i[i[n>>2]+20>>2]](n,o,o>>>0<t>>>0?e+1|0:e)|0,!A)||(e=i[A+4>>2],i[A+4>>2]=e-1,e))break r;V[i[i[A>>2]+8>>2]](A),g(A)}if(s[r+20|0]==1){if(l[k+4|0]=0,l[k+15|0]=0,r0(f,2,100,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+16|0}function Qv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;if(A=B-160|0,B=A,i[A+68>>2]=54820,k=i[13708],i[A+12>>2]=k,n=i[k-12>>2],k=A+12|0,i[n+k>>2]=i[13709],t=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(t,n),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(n),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),u=k,o=n,k=l[A+159|0],n=(k|0)<0,x(u,n?i[A+148>>2]:o,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=i[e+48>>2],e=i[e+52>>2],(k|0)!=(e|0))for(;n=A+148|0,W0(n,r),u=n,n=l[A+159|0],o=(n|0)<0,x(A+12|0,o?i[A+148>>2]:u,o?i[A+152>>2]:n),l[A+159|0]<0&&G(i[A+148>>2]),x(H0(x(H0(x(L0(x(A+12|0,19407,17),Q[k>>1]),21026,16),s[k+2|0]),20155,18),s[k+3|0]),31338,1),k=k+4|0,(e|0)!=(k|0););i2(f,t),f=i[13707],i[A+12>>2]=f,i[i[f-12>>2]+(A+12|0)>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function yv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0;e=B+-64|0,B=e,n=i[A+4>>2];i:{if(!(!s[k+12|0]|((n|0)==3|i[k+4>>2]==1))){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(!(i[r>>2]==1&(i[r+4>>2]&-2)==10)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(n-1>>>0>=3){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(r=Q[A+24>>1],!(r>>>0>14|!(1<<r&18689))){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,r=V8(e+36|0),i[r>>2]=0,i[r+4>>2]=i[A+4>>2],k=s[A+8|0],i[r+12>>2]=8,l[r+8|0]=k,i[r+20>>2]=i[A+20>>2],k=s[A+23|0]|s[A+24|0]<<8|(s[A+25|0]<<16|s[A+26|0]<<24),l[r+23|0]=k,l[r+24|0]=k>>>8,l[r+25|0]=k>>>16,l[r+26|0]=k>>>24,k=i[r+12>>2],i[e+8>>2]=i[r+8>>2],i[e+12>>2]=k,k=i[r+4>>2],i[e>>2]=i[r>>2],i[e+4>>2]=k,i[e+16>>2]=72992,r=s[A+23|0]|s[A+24|0]<<8|(s[A+25|0]<<16|s[A+26|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,i[e+20>>2]=i[A+20>>2],i[e+28>>2]=11,P2(f,e)}B=e- -64|0}function Fv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(i[r>>2]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+4>>2]!=3){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[k+4>>2]!=2){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+12>>2]>=9){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(!Q[r+24>>1]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(A=i[A+4>>2],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,(A|0)!=1)break i;A=V8(e+36|0),i[A>>2]=0,i[A+4>>2]=1,l[A+8|0]=s[r+8|0],i[A+12>>2]=i[r+12>>2],i[A+20>>2]=i[r+20>>2],k=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[A+23|0]=k,l[A+24|0]=k>>>8,l[A+25|0]=k>>>16,l[A+26|0]=k>>>24,k=i[A+12>>2],i[e+8>>2]=i[A+8>>2],i[e+12>>2]=k,k=i[A+4>>2],i[e>>2]=i[A>>2],i[e+4>>2]=k,i[e+16>>2]=72992,A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,i[e+20>>2]=i[r+20>>2],i[e+28>>2]=11,P2(f,e)}B=e- -64|0}function Ev(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(i[r>>2]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+4>>2]!=3){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[k+4>>2]!=2){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+12>>2]<=8){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(!Q[r+24>>1]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(A=i[A+4>>2],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,(A|0)!=1)break i;A=V8(e+36|0),i[A>>2]=0,i[A+4>>2]=1,l[A+8|0]=s[r+8|0],i[A+12>>2]=i[r+12>>2],i[A+20>>2]=i[r+20>>2],k=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[A+23|0]=k,l[A+24|0]=k>>>8,l[A+25|0]=k>>>16,l[A+26|0]=k>>>24,k=i[A+12>>2],i[e+8>>2]=i[A+8>>2],i[e+12>>2]=k,k=i[A+4>>2],i[e>>2]=i[A>>2],i[e+4>>2]=k,i[e+16>>2]=72992,A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,i[e+20>>2]=i[r+20>>2],i[e+28>>2]=11,P2(f,e)}B=e- -64|0}function Yv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(i[r>>2]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+4>>2]!=3){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[k+4>>2]!=2){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+12>>2]>=9){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(!Q[r+24>>1]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(A=i[A+4>>2],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,(A|0)!=2)break i;A=V8(e+36|0),i[A>>2]=0,i[A+4>>2]=2,l[A+8|0]=s[r+8|0],i[A+12>>2]=i[r+12>>2],i[A+20>>2]=i[r+20>>2],k=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[A+23|0]=k,l[A+24|0]=k>>>8,l[A+25|0]=k>>>16,l[A+26|0]=k>>>24,k=i[A+12>>2],i[e+8>>2]=i[A+8>>2],i[e+12>>2]=k,k=i[A+4>>2],i[e>>2]=i[A>>2],i[e+4>>2]=k,i[e+16>>2]=72992,A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,i[e+20>>2]=i[r+20>>2],i[e+28>>2]=11,P2(f,e)}B=e- -64|0}function Jv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(i[r>>2]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+4>>2]!=3){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[k+4>>2]!=2){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r+12>>2]<=8){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(!Q[r+24>>1]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(A=i[A+4>>2],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,(A|0)!=2)break i;A=V8(e+36|0),i[A>>2]=0,i[A+4>>2]=2,l[A+8|0]=s[r+8|0],i[A+12>>2]=i[r+12>>2],i[A+20>>2]=i[r+20>>2],k=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[A+23|0]=k,l[A+24|0]=k>>>8,l[A+25|0]=k>>>16,l[A+26|0]=k>>>24,k=i[A+12>>2],i[e+8>>2]=i[A+8>>2],i[e+12>>2]=k,k=i[A+4>>2],i[e>>2]=i[A>>2],i[e+4>>2]=k,i[e+16>>2]=72992,A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,i[e+20>>2]=i[r+20>>2],i[e+28>>2]=11,P2(f,e)}B=e- -64|0}function gv(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0;Z=n+7|0,p=n+4|0;i:{if((p|0)>=-2){if((k|0)<=0)break i;for(C=t+6|0,I=k&2147483644,W=k&3,v=-3,y=k>>>0<4;;){if(h=(v<<1)+C|0,u=(m(A,v)<<1)+r|0,w=0,!y)for(;X[h>>1]=Q[u>>1],_=h,h=Z<<1,_=_+h|0,X[_>>1]=Q[u+2>>1],_=h+_|0,X[_>>1]=Q[u+4>>1],_=h+_|0,X[_>>1]=Q[u+6>>1],h=h+_|0,u=u+8|0,w=w+4|0,(I|0)!=(w|0););if(w=0,W)for(;X[h>>1]=Q[u>>1],u=u+2|0,h=(Z<<1)+h|0,w=w+1|0,(W|0)!=(w|0););if(v=v+1|0,(p|0)==(v|0))break}}if((k|0)<=0|(n|0)<=0)break i;for(A=o-8|0,r=0,e=e<<1;;){for(h=(r<<1)+f|0,u=(m(r,Z)<<1)+t|0,w=0;X[h>>1]=(((((X[u+2>>1]<<2)-X[u>>1]|0)+m(X[u+8>>1]+X[u+6>>1]|0,40)|0)+(X[u+12>>1]<<2)|0)-X[u+14>>1]|0)+m(X[u+10>>1]+X[u+4>>1]|0,-11)>>A,u=u+2|0,h=e+h|0,w=w+1|0,(w|0)!=(n|0););if(r=r+1|0,(k|0)==(r|0))break}}}function Nv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0;t=B-32|0,B=t,k=U(24),i[k+4>>2]=0,i[k+8>>2]=0,i[k>>2]=74112,n=k+12|0,i[n+8>>2]=A,i[k+16>>2]=r,i[k+12>>2]=68424,u=i[e>>2],i[t+8>>2]=k,i[t+4>>2]=n,i[k+4>>2]=i[k+4>>2]+1,A=t+12|0,h=t+4|0,r=B-32|0,B=r,o=U(132),i[o+4>>2]=0,i[o+8>>2]=0,i[o>>2]=72576,w=u,_=Ge(o+12|0),i[w+48>>2]=_,n=i[u+52>>2],i[u+52>>2]=o;i:{if(!n||(o=i[n+4>>2],i[n+4>>2]=o-1,o))break i;V[i[i[n>>2]+8>>2]](n),g(n)}_A(r+8|0,i[u+48>>2],h);i:{if(i[r+8>>2]){n=i[r+12>>2],i[A>>2]=i[r+8>>2],i[A+4>>2]=n,n=i[r+20>>2],i[A+8>>2]=i[r+16>>2],i[A+12>>2]=n,i[A+16>>2]=i[r+24>>2];break i}if(hA(A,u),l[r+27|0]>=0)break i;G(i[r+16>>2])}B=r+32|0,r=i[t+8>>2];i:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break i;V[i[i[r>>2]+8>>2]](r),g(r)}P0(f,t+12|0,i[e>>2]),l[t+31|0]<0&&G(i[t+20>>2]),f=i[k+4>>2],i[k+4>>2]=f-1,f||(V[i[i[k>>2]+8>>2]](k),g(k)),B=t+32|0}function Rv(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0;Z=n+6|0,p=n+3|0;i:{if((p|0)>=-2){if((k|0)<=0)break i;for(C=t+6|0,I=k&2147483644,W=k&3,v=-3,y=k>>>0<4;;){if(h=(v<<1)+C|0,u=(m(A,v)<<1)+r|0,w=0,!y)for(;X[h>>1]=Q[u>>1],_=h,h=Z<<1,_=_+h|0,X[_>>1]=Q[u+2>>1],_=h+_|0,X[_>>1]=Q[u+4>>1],_=h+_|0,X[_>>1]=Q[u+6>>1],h=h+_|0,u=u+8|0,w=w+4|0,(I|0)!=(w|0););if(w=0,W)for(;X[h>>1]=Q[u>>1],u=u+2|0,h=(Z<<1)+h|0,w=w+1|0,(W|0)!=(w|0););if(v=v+1|0,(p|0)==(v|0))break}}if((k|0)<=0|(n|0)<=0)break i;for(A=o-8|0,r=0,e=e<<1;;){for(h=(r<<1)+f|0,u=(m(r,Z)<<1)+t|0,w=0;X[h>>1]=X[u+12>>1]+((((((X[u+2>>1]<<2)-X[u>>1]|0)+m(X[u+4>>1],-10)|0)+m(X[u+6>>1],58)|0)+m(X[u+8>>1],17)|0)+m(X[u+10>>1],-5)|0)>>A,u=u+2|0,h=e+h|0,w=w+1|0,(w|0)!=(n|0););if(r=r+1|0,(k|0)==(r|0))break}}}function Dv(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0,y=0;Z=n+6|0,p=n+4|0;i:{if((p|0)>=-1){if((k|0)<=0)break i;for(C=t+4|0,I=k&2147483644,W=k&3,v=-2,y=k>>>0<4;;){if(h=(v<<1)+C|0,u=(m(A,v)<<1)+r|0,w=0,!y)for(;X[h>>1]=Q[u>>1],_=h,h=Z<<1,_=_+h|0,X[_>>1]=Q[u+2>>1],_=h+_|0,X[_>>1]=Q[u+4>>1],_=h+_|0,X[_>>1]=Q[u+6>>1],h=h+_|0,u=u+8|0,w=w+4|0,(I|0)!=(w|0););if(w=0,W)for(;X[h>>1]=Q[u>>1],u=u+2|0,h=(Z<<1)+h|0,w=w+1|0,(W|0)!=(w|0););if(v=v+1|0,(p|0)==(v|0))break}}if((k|0)<=0|(n|0)<=0)break i;for(A=o-8|0,r=0,e=e<<1;;){for(h=(r<<1)+f|0,u=(m(r,Z)<<1)+t|0,w=0;X[h>>1]=(((((X[u>>1]+m(X[u+2>>1],-5)|0)+m(X[u+4>>1],17)|0)+m(X[u+6>>1],58)|0)+m(X[u+8>>1],-10)|0)+(X[u+10>>1]<<2)|0)-X[u+12>>1]>>A,u=u+2|0,h=e+h|0,w=w+1|0,(w|0)!=(n|0););if(r=r+1|0,(k|0)==(r|0))break}}}function Yn(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0;f=r;i:if((A-f|0)<3)break i;for(;;){i:{if(k>>>0<=o>>>0|f>>>0>=A>>>0)break i;e=l[f|0],t=e&255,n=1;r:{if((e|0)>=0)break r;if(e>>>0<4294967234)break i;if(e>>>0<=4294967263){if((s[f+1|0]&192)!=128|(A-f|0)<2)break i;n=2;break r}if(e>>>0<=4294967279){if((A-f|0)<3)break i;n=s[f+2|0],e=s[f+1|0];e:{A:{if((t|0)!=237){if((t|0)!=224)break A;if((e&224)==160)break e;break i}if((e&224)!=128)break i;break e}if((e&192)!=128)break i}if((n&192)!=128)break i;n=3;break r}if((A-f|0)<4|e>>>0>4294967284)break i;n=s[f+3|0],u=s[f+2|0],e=s[f+1|0];e:{A:switch(t-240|0){case 0:if((e+112&255)>>>0>=48)break i;break e;case 4:if((e&240)!=128)break i;break e;default:break A}if((e&192)!=128)break i}if((u&192)!=128|(n&192)!=128|(n&63|(u<<6&4032|(t<<18&1835008|(e&63)<<12)))>>>0>1114111)break i;n=4}o=o+1|0,f=f+n|0;continue}break}return f-r|0}function Jn(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0;f=r;i:if((A-f|0)<3)break i;for(;;){i:{if(k>>>0<=t>>>0|f>>>0>=A>>>0)break i;e=s[f|0],n=f+1|0;r:{if(e<<24>>24>=0)break r;if(e>>>0<194)break i;if(e>>>0<=223){if((s[f+1|0]&192)!=128|(A-f|0)<2)break i;n=f+2|0;break r}if(e>>>0<=239){if((A-f|0)<3)break i;o=s[f+2|0],n=s[f+1|0];e:{A:{if((e|0)!=237){if((e|0)!=224)break A;if((n&224)==160)break e;break i}if((n&224)!=128)break i;break e}if((n&192)!=128)break i}if((o&192)!=128)break i;n=f+3|0;break r}if((A-f|0)<4|e>>>0>244|k-t>>>0<2)break i;o=s[f+3|0],u=s[f+2|0],n=s[f+1|0];e:{A:switch(e-240|0){case 0:if((n+112&255)>>>0>=48)break i;break e;case 4:if((n&240)!=128)break i;break e;default:break A}if((n&192)!=128)break i}if((u&192)!=128|(o&192)!=128|(o&63|(u<<6&4032|(e<<18&1835008|(n&63)<<12)))>>>0>1114111)break i;t=t+1|0,n=f+4|0}f=n,t=t+1|0;continue}break}return f-r|0}function gn(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0;t=B-32|0,B=t,n=A&65535,o=A>>>16&32767;i:{if(o-16257>>>0<=253){k=(n&33554431)<<7|r>>>25,n=0,r=r&33554431;r:{if(!(!n&(r|0)==16777216?!(f|e):!n&r>>>0<16777216)){k=k+1|0;break r}if(r^16777216|f|(e|n))break r;k=(k&1)+k|0}f=k>>>0>8388607,k=f?0:k,f=o+(f?-16255:-16256)|0;break i}if(!(!(f|r|(e|n))|((o|0)!=32767|(k|0)!=0))){k=(n&33554431)<<7|r>>>25|4194304,f=255;break i}if(o>>>0>16510){f=255;break i}if(k=!(k|o),h=k?16256:16257,u=h-o|0,(u|0)>112){k=0,f=0;break i}n=k?n:n|65536,L1(t+16|0,f,e,r,n,128-u|0),ti(t,f,e,r,n,u),f=i[t+8>>2],k=(i[t+12>>2]&33554431)<<7|f>>>25,r=i[t>>2]|(o|0)!=(h|0)&(i[t+16>>2]|i[t+24>>2]|(i[t+20>>2]|i[t+28>>2]))!=0,n=i[t+4>>2],e=0,f=f&33554431;r:{if(!(!e&(f|0)==16777216?!(r|n):!e&f>>>0<16777216)){k=k+1|0;break r}if(f^16777216|r|(e|n))break r;k=(k&1)+k|0}f=k>>>0>8388607,k=f?k^8388608:k}return B=t+32|0,N2(2,A&-2147483648|f<<23|k),l8()}function Nn(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;i:{r:{if(A=i[f+4>>2],o=i[f>>2],n=A-o>>4,t=n+1|0,t>>>0<268435456){if(k=i[f+8>>2]-o|0,r=k>>3,u=k>>>0>=2147483632?268435455:r>>>0>t>>>0?r:t,u){if(u>>>0>=268435456)break r;h=U(u<<4)}if(k=i[e>>2],r=(n<<4)+h|0,i[r+12>>2]=0,i[r+4>>2]=0,i[r+8>>2]=0,i[r>>2]=k,k=i[e+8>>2],n=i[e+4>>2],(k|0)!=(n|0)){if(t=k-n|0,(t|0)<0)break i;k=U(t),i[r+4>>2]=k,e=k+t|0,i[r+12>>2]=e,l0(k,n,t),i[r+8>>2]=e}t=(u<<4)+h|0,u=r+16|0;e:{if((A|0)==(o|0)){h=r;break e}for(;e=A-16|0,n=i[e>>2],k=r-4|0,i[k>>2]=0,h=r-16|0,i[h>>2]=n,n=A-12|0,i[r-12>>2]=i[n>>2],i[r-8>>2]=i[A-8>>2],r=A-4|0,i[k>>2]=i[r>>2],i[r>>2]=0,i[n>>2]=0,i[n+4>>2]=0,r=h,A=e,(o|0)!=(A|0););A=i[f+4>>2],o=i[f>>2]}if(i[f+8>>2]=t,i[f+4>>2]=u,i[f>>2]=h,(A|0)!=(o|0))for(;f=i[A-12>>2],f&&(i[A-8>>2]=f,G(f)),A=A-16|0,(o|0)!=(A|0););return o&&G(o),u}y0(),P()}_2(),P()}y0(),P()}function Uv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,n=i[13708],i[A+12>>2]=n,k=A+12|0,i[k+i[n-12>>2]>>2]=i[13709],n=k+i[i[A+12>>2]-12>>2]|0,t=A+16|0,b0(n,t),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,n=$0(t),i[n>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,t=A+148|0,R2(t,e,r),o=k,u=t,k=l[A+159|0],t=(k|0)<0,x(o,t?i[A+148>>2]:u,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),t=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:t,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),x(A+12|0,20213,18);i:{r:switch(i[e+48>>2]+1|0){case 1:x(A+12|0,22079,9);break i;case 2:x(A+12|0,22067,11);break i;case 0:break r;default:break i}x(A+12|0,22273,8)}i2(f,n),f=i[13707],i[A+12>>2]=f,i[i[f-12>>2]+(A+12|0)>>2]=i[13710],i[n>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(n),T0(A+68|0),B=A+160|0}function J0(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0,_=0;n=1;i:{r:{e:{A:switch(t=i[f+36>>2],t|0){case 0:case 1:case 2:case 3:case 99:break i;case 11:case 13:case 15:break e;case 10:case 12:case 14:break A;default:break r}n=3;break i}n=4;break i}n=0}o=A+1|0,h=o>>>0<64?64:o&-2,o=r+1|0,w=o>>>0<64?64:o&-2,k=(k|0)==24&&(t|0)==10?8:k,_=(t|0)==11&&(k|0)==32?8:k,u=m(m(n,w),(_&255)+7>>>3|0)+15&-16,o=U(m(h,u)|15),n=i[f+64>>2];i:{r:{if(!n){t=f- -64|0,k=t;break r}for(;;){if(k=n,t=i[n+16>>2],(t|0)>(e|0)){if(t=n,n=i[n>>2],n)continue;break r}if((e|0)<=(t|0))break i;if(n=i[k+4>>2],!n)break}t=k+4|0}n=U(52),i[n+48>>2]=u,i[n+44>>2]=o,u=o,o=o&15,i[n+40>>2]=u+(o?16-o|0:0),i[n+36>>2]=h,i[n+32>>2]=w,i[n+28>>2]=A,i[n+24>>2]=r,l[n+20|0]=_,i[n+16>>2]=e,i[n+8>>2]=k,i[n>>2]=0,i[n+4>>2]=0,i[t>>2]=n,e=i[i[f+60>>2]>>2],e&&(i[f+60>>2]=e,n=i[t>>2]),D1(i[f+64>>2],n),i[f+68>>2]=i[f+68>>2]+1}return 1}function Sr(f,e,r){var A=0,k=0,n=0,t=0,o=0;i:{r:{if((e|0)==8){e=Z2(r);break r}if(A=28,e&3|e>>>0<4||(n=e>>>2|0,n-1&n))break i;if(-64-e>>>0<r>>>0)return 48;n=16,e=e>>>0<=16?16:e,A=e>>>0<=16?16:e;e:{if(!(A-1&A)){e=A;break e}for(;e=n,n=e<<1,e>>>0<A>>>0;);}e:{if(-64-e>>>0<=r>>>0){i[23944]=48,r=0;break e}if(n=r>>>0<11?16:r+11&-8,k=Z2((n+e|0)+12|0),r=0,!k)break e;r=k-8|0;A:{if(!(k&e-1)){e=r;break A}if(t=k-4|0,o=i[t>>2],A=e,e=((e+k|0)-1&0-e)-8|0,e=(e-r>>>0<=15?A:0)+e|0,A=e-r|0,k=(o&-8)-A|0,!(o&3)){r=i[r>>2],i[e+4>>2]=k,i[e>>2]=r+A;break A}i[e+4>>2]=k|i[e+4>>2]&1|2,k=e+k|0,i[k+4>>2]=i[k+4>>2]|1,i[t>>2]=A|i[t>>2]&1|2,k=r+A|0,i[k+4>>2]=i[k+4>>2]|1,Xr(r,A)}r=i[e+4>>2];A:{if(!(r&3)||(A=r&-8,A>>>0<=n+16>>>0))break A;i[e+4>>2]=n|r&1|2,r=e+n|0,n=A-n|0,i[r+4>>2]=n|3,A=e+A|0,i[A+4>>2]=i[A+4>>2]|1,Xr(r,n)}r=e+8|0}e=r}if(!e)return 48;i[f>>2]=e,A=0}return A}function Mv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(!(i[r>>2]==1&(i[r+4>>2]&-2)==10)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(Q[A+24>>1]){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(r=s[A+26|0],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,(r|0)!=1)break i;l[e+44|0]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,i[e+48>>2]=8,i[e+36>>2]=99,i[e+40>>2]=99,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,i[e+36>>2]=0,i[e+40>>2]=3,l[e+44|0]=s[A+8|0],i[e+48>>2]=8,r=s[A+23|0]|s[A+24|0]<<8|(s[A+25|0]<<16|s[A+26|0]<<24),l[e+59|0]=r,l[e+60|0]=r>>>8,l[e+61|0]=r>>>16,l[e+62|0]=r>>>24,i[e+56>>2]=i[A+20>>2],r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,i[e>>2]=0,i[e+4>>2]=3,i[e+16>>2]=72992,r=s[A+23|0]|s[A+24|0]<<8|(s[A+25|0]<<16|s[A+26|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,r=i[A+20>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)}B=e- -64|0}function xv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0;n=B-112|0,B=n;i:{if(!(k&&A)){e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560];break i}r:{if(t=i[e+16>>2],!t||(h=N0(t,72776,73168),!h))break r;if(t=i[e+20>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),o=i[e>>2],i[n+56>>2]=i[o+48>>2],o=i[o+52>>2],i[n+60>>2]=o,o&&(i[o+4>>2]=i[o+4>>2]+1),e=i[e+8>>2],o=i[e+8>>2],e=i[e+4>>2],u=i[n+60>>2],i[n+16>>2]=i[n+56>>2],i[n+20>>2]=u,u=n- -64|0,pr(u,n+16|0,r,e,o),i0[n+24>>3]=i[h+4>>2],i0[n+32>>3]=i[h+8>>2],e=i[n+36>>2],i[n+8>>2]=i[n+32>>2],i[n+12>>2]=e,e=i[n+28>>2],i[n>>2]=i[n+24>>2],i[n+4>>2]=e,me(n+40|0,u,n),i0[A>>3]=i0[n+40>>3],i0[k>>3]=i0[n+48>>3],i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,!t||(f=i[t+4>>2],i[t+4>>2]=f-1,f))break i;V[i[i[t>>2]+8>>2]](t),g(t);break i}e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560]}B=n+112|0}function zv(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;v=n+7|0,Z=n+4|0;i:{if((Z|0)>=-2){if((k|0)<=0)break i;for(W=t+6|0,C=k&2147483644,p=k&3,_=-3,I=k>>>0<4;;){if(u=(_<<1)+W|0,o=m(A,_)+r|0,h=0,!I)for(;X[u>>1]=s[o|0],w=u,u=v<<1,w=w+u|0,X[w>>1]=s[o+1|0],w=u+w|0,X[w>>1]=s[o+2|0],w=u+w|0,X[w>>1]=s[o+3|0],u=u+w|0,o=o+4|0,h=h+4|0,(C|0)!=(h|0););if(h=0,p)for(;X[u>>1]=s[o|0],o=o+1|0,u=(v<<1)+u|0,h=h+1|0,(p|0)!=(h|0););if(_=_+1|0,(Z|0)==(_|0))break}}if((k|0)<=0|(n|0)<=0)break i;for(r=0,e=e<<1;;){for(u=(r<<1)+f|0,o=(m(r,v)<<1)+t|0,h=0;X[u>>1]=(((((Q[o+2>>1]<<2)-Q[o>>1]|0)+m(Q[o+8>>1]+Q[o+6>>1]|0,40)|0)+(Q[o+12>>1]<<2)|0)-Q[o+14>>1]|0)+m(Q[o+10>>1]+Q[o+4>>1]|0,-11),o=o+2|0,u=e+u|0,h=h+1|0,(h|0)!=(n|0););if(r=r+1|0,(k|0)==(r|0))break}}}function Hv(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;v=n+6|0,Z=n+3|0;i:{if((Z|0)>=-2){if((k|0)<=0)break i;for(W=t+6|0,C=k&2147483644,p=k&3,_=-3,I=k>>>0<4;;){if(u=(_<<1)+W|0,o=m(A,_)+r|0,h=0,!I)for(;X[u>>1]=s[o|0],w=u,u=v<<1,w=w+u|0,X[w>>1]=s[o+1|0],w=u+w|0,X[w>>1]=s[o+2|0],w=u+w|0,X[w>>1]=s[o+3|0],u=u+w|0,o=o+4|0,h=h+4|0,(C|0)!=(h|0););if(h=0,p)for(;X[u>>1]=s[o|0],o=o+1|0,u=(v<<1)+u|0,h=h+1|0,(p|0)!=(h|0););if(_=_+1|0,(Z|0)==(_|0))break}}if((k|0)<=0|(n|0)<=0)break i;for(r=0,e=e<<1;;){for(u=(r<<1)+f|0,o=(m(r,v)<<1)+t|0,h=0;X[u>>1]=Q[o+12>>1]+((((((Q[o+2>>1]<<2)-Q[o>>1]|0)+m(Q[o+4>>1],-10)|0)+m(Q[o+6>>1],58)|0)+m(Q[o+8>>1],17)|0)+m(Q[o+10>>1],-5)|0),o=o+2|0,u=e+u|0,h=h+1|0,(h|0)!=(n|0););if(r=r+1|0,(k|0)==(r|0))break}}}function Tv(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;v=n+6|0,Z=n+4|0;i:{if((Z|0)>=-1){if((k|0)<=0)break i;for(W=t+4|0,C=k&2147483644,p=k&3,_=-2,I=k>>>0<4;;){if(u=(_<<1)+W|0,o=m(A,_)+r|0,h=0,!I)for(;X[u>>1]=s[o|0],w=u,u=v<<1,w=w+u|0,X[w>>1]=s[o+1|0],w=u+w|0,X[w>>1]=s[o+2|0],w=u+w|0,X[w>>1]=s[o+3|0],u=u+w|0,o=o+4|0,h=h+4|0,(C|0)!=(h|0););if(h=0,p)for(;X[u>>1]=s[o|0],o=o+1|0,u=(v<<1)+u|0,h=h+1|0,(p|0)!=(h|0););if(_=_+1|0,(Z|0)==(_|0))break}}if((k|0)<=0|(n|0)<=0)break i;for(r=0,e=e<<1;;){for(u=(r<<1)+f|0,o=(m(r,v)<<1)+t|0,h=0;X[u>>1]=(((((Q[o>>1]+m(Q[o+2>>1],-5)|0)+m(Q[o+4>>1],17)|0)+m(Q[o+6>>1],58)|0)+m(Q[o+8>>1],-10)|0)+(Q[o+10>>1]<<2)|0)-Q[o+12>>1],o=o+2|0,u=e+u|0,h=h+1|0,(h|0)!=(n|0););if(r=r+1|0,(k|0)==(r|0))break}}}function Rn(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0;if(n=B-48|0,B=n,t=f+4|0,i[t>>2]=0,i[t+4>>2]=0,i[t+16>>2]=0,i[t+8>>2]=0,i[t+12>>2]=0,D8(n+40|0,e,18983),o=i[n+40>>2],t=o,l[t+124|0]=1,i[t+52>>2]=i[t+52>>2]&-2|1,t=G2(r),t>>>0<2147483640){i:{r:{if(t>>>0>=11){h=(t|7)+1|0,u=U(h),i[n+36>>2]=h|-2147483648,i[n+28>>2]=u,i[n+32>>2]=t;break r}if(l[n+39|0]=t,u=n+28|0,!t)break i}l0(u,r,t)}l[t+u|0]=0,r=o+112|0;i:{if((r|0)==(n+28|0))break i;if(t=l[n+39|0],l[o+123|0]>=0){if((t|0)>=0){t=i[n+32>>2],i[r>>2]=i[n+28>>2],i[r+4>>2]=t,i[r+8>>2]=i[n+36>>2];break i}i4(r,i[n+28>>2],i[n+32>>2]);break i}o=r,r=(t|0)<0,_4(o,r?i[n+28>>2]:n+28|0,r?i[n+32>>2]:t)}l[n+39|0]<0&&G(i[n+28>>2]),i[f>>2]=i[i[n+40>>2]+56>>2],MA(n+8|0,e,n+40|0,A,k,0),l[n+27|0]<0&&G(i[n+16>>2]),f=i[n+44>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=n+48|0;return}c2(),P()}function Dn(f,e,r,A,k,n){var t=0,o=0,u=0,h=0,w=0;if(t=B-48|0,B=t,o=f+4|0,i[o>>2]=0,i[o+4>>2]=0,i[o+16>>2]=0,i[o+8>>2]=0,i[o+12>>2]=0,D8(t+40|0,e,9980),u=i[t+40>>2],o=u,l[o+124|0]=1,i[o+52>>2]=i[o+52>>2]&-2|1,o=G2(r),o>>>0<2147483640){i:{r:{if(o>>>0>=11){w=(o|7)+1|0,h=U(w),i[t+36>>2]=w|-2147483648,i[t+28>>2]=h,i[t+32>>2]=o;break r}if(l[t+39|0]=o,h=t+28|0,!o)break i}l0(h,r,o)}l[o+h|0]=0,r=u+88|0;i:{if((r|0)==(t+28|0))break i;if(o=l[t+39|0],l[u+99|0]>=0){if((o|0)>=0){o=i[t+32>>2],i[r>>2]=i[t+28>>2],i[r+4>>2]=o,i[r+8>>2]=i[t+36>>2];break i}i4(r,i[t+28>>2],i[t+32>>2]);break i}u=r,r=(o|0)<0,_4(u,r?i[t+28>>2]:t+28|0,r?i[t+32>>2]:o)}l[t+39|0]<0&&G(i[t+28>>2]),i[f>>2]=i[i[t+40>>2]+56>>2],MA(t+8|0,e,t+40|0,k,n,A),l[t+27|0]<0&&G(i[t+16>>2]),f=i[t+44>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=t+48|0;return}c2(),P()}function Un(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;if(A=i[f+8>>2],r=i[f+4>>2],A-r>>3>>>0>=e>>>0){if(e)for(e=(e<<3)+r|0;i[r>>2]=0,i[r+4>>2]=0,r=r+8|0,(e|0)!=(r|0););i[f+4>>2]=r;return}i:{if(k=i[f>>2],n=r-k>>3,t=n+e|0,t>>>0<536870912){if(A=A-k|0,k=A>>2,t=A>>>0>=2147483640?536870911:t>>>0<k>>>0?k:t,t){if(t>>>0>=536870912)break i;k=U(t<<3)}else k=0;for(A=k+(n<<3)|0,n=A+(e<<3)|0,e=A;i[e>>2]=0,i[e+4>>2]=0,e=e+8|0,(n|0)!=(e|0););if(r=i[f+4>>2],o=i[f>>2],(r|0)!=(o|0)){for(;A=A-8|0,r=r-8|0,u=B-16|0,B=u,s[79117]==1&&(i[u+4>>2]=r,i[u>>2]=A,f8(22036,u)),n=i[r+4>>2],n&&(i[n>>2]=i[n>>2]+1),i[A+4>>2]=n,i[A>>2]=i[r>>2],B=u+16|0,(r|0)!=(o|0););r=i[f+4>>2],o=i[f>>2]}if(i[f+4>>2]=e,i[f>>2]=A,i[f+8>>2]=(t<<3)+k,(r|0)!=(o|0))for(;r=C8(r-8|0),(o|0)!=(r|0););o&&G(o);return}y0(),P()}_2(),P()}function av(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;if(!(!e|!r)){A=Q[e>>1],Z0[r>>2]=(A+28535&65535)>>>0<28540?Y(0):Y(+(A>>>0)*2e-5),A=Q[e+6>>1],Z0[r+12>>2]=(A+23535&65535)>>>0<23540?Y(0):Y(+(A>>>0)*2e-5),A=Q[e+2>>1],Z0[r+4>>2]=(A+28535&65535)>>>0<28540?Y(0):Y(+(A>>>0)*2e-5),A=Q[e+8>>1],Z0[r+16>>2]=(A+23535&65535)>>>0<23540?Y(0):Y(+(A>>>0)*2e-5),A=Q[e+4>>1],Z0[r+8>>2]=(A+28535&65535)>>>0<28540?Y(0):Y(+(A>>>0)*2e-5),A=Q[e+10>>1],Z0[r+20>>2]=(A+23535&65535)>>>0<23540?Y(0):Y(+(A>>>0)*2e-5),A=Q[e+12>>1],Z0[r+24>>2]=(A+28535&65535)>>>0<28540?Y(0):Y(+(A>>>0)*2e-5),A=Q[e+14>>1],Z0[r+28>>2]=(A+23535&65535)>>>0<23540?Y(0):Y(+(A>>>0)*2e-5),A=i[e+16>>2],i0[r+32>>3]=A-100000001>>>0<4195017295?0:+(A>>>0)*1e-4,e=i[e+20>>2],i0[r+40>>3]=e-50001>>>0<4294917296?0:+(e>>>0)*1e-4,i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e;return}e=i[18414],i[f>>2]=i[18413],i[f+4>>2]=e,i[f+8>>2]=i[18415]}function Sv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e,A=i[r+4>>2];i:{if(!(!s[k+12|0]|((A|0)==3|i[k+8>>2]==1))){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(!(!(i[r>>2]|(A|0)!=1)&i[r+12>>2]==8)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(A=Q[r+24>>1],!(A>>>0>14|!(1<<A&18689))){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(r=s[r+26|0],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,(r|0)!=1)break i;l[e+44|0]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,i[e+48>>2]=8,i[e+36>>2]=99,i[e+40>>2]=99,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,l[e+44|0]=1,i[e+48>>2]=8,i[e+36>>2]=1,i[e+40>>2]=11,r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,r=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,i[e>>2]=1,i[e+4>>2]=11,i[e+16>>2]=72992,i[e+20>>2]=i[e+56>>2],i[e+28>>2]=11,P2(f,e)}B=e- -64|0}function Ov(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0;e=B+-64|0,B=e;i:{if(!(!(!s[r+8|0]|k0[r+4>>2]>3)&s[A+8|0]!=1)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,i[e+44>>2]=8,l[e+40|0]=0,l[e+58|0]=1,X[e+56>>1]=2,i[e+52>>2]=131074,i[e+32>>2]=99,i[e+36>>2]=99,i[e+48>>2]=72992,l[e+58|0]=1,X[e+56>>1]=6,i[e+52>>2]=851969,A=i[r+12>>2],i[e+40>>2]=i[r+8>>2],i[e+44>>2]=A,n=i[r+4>>2],A=i[r>>2],i[e+32>>2]=A,i[e+36>>2]=n,k=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+55|0]=k,l[e+56|0]=k>>>8,l[e+57|0]=k>>>16,l[e+58|0]=k>>>24,k=i[r+20>>2],l[e+40|0]=0,i[e+52>>2]=k,k=i[e+44>>2],i[e+8>>2]=i[e+40>>2],i[e+12>>2]=k,i[e>>2]=A,i[e+4>>2]=n,i[e+16>>2]=72992,A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,r=i[r+20>>2],i[e+28>>2]=1,i[e+20>>2]=r,P2(f,e)}B=e- -64|0}function v6(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;i:{r:{if(n=i[f+4>>2],t=i[f>>2],o=(n-t|0)/12|0,r=o+1|0,r>>>0<357913942){if(A=(i[f+8>>2]-t|0)/12|0,k=A<<1,A=A>>>0>=178956970?357913941:r>>>0<k>>>0?k:r,A){if(A>>>0>=357913942)break r;u=U(m(A,12))}if(r=m(o,12)+u|0,i[r+8>>2]=0,i[r>>2]=0,i[r+4>>2]=0,k=i[e+4>>2],o=i[e>>2],(k|0)!=(o|0)){if(e=k-o|0,(e|0)<0)break i;k=U(e),i[r>>2]=k,h=e+k|0,i[r+8>>2]=h,l0(k,o,e),i[r+4>>2]=h}o=m(A,12)+u|0,u=r+12|0;e:{if((n|0)==(t|0)){e=r;break e}for(;k=r-4|0,i[k>>2]=0,e=r-12|0,A=n-12|0,i[e>>2]=i[A>>2],i[r-8>>2]=i[n-8>>2],r=n-4|0,i[k>>2]=i[r>>2],i[r>>2]=0,i[A>>2]=0,i[A+4>>2]=0,r=e,n=A,(t|0)!=(A|0););n=i[f+4>>2],t=i[f>>2]}if(i[f+8>>2]=o,i[f+4>>2]=u,i[f>>2]=e,(n|0)!=(t|0))for(;f=n-12|0,e=i[f>>2],e&&(i[n-8>>2]=e,G(e)),n=f,(t|0)!=(f|0););return t&&G(t),u}y0(),P()}_2(),P()}y0(),P()}function jv(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0;e=B+-64|0,B=e;i:{if(!(i[r+12>>2]!=8&k0[r+4>>2]<=3)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(A=i[A+12>>2],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,(A|0)!=8)break i;l[e+40|0]=0,l[e+58|0]=1,X[e+56>>1]=2,i[e+52>>2]=131074,i[e+44>>2]=8,i[e+32>>2]=99,i[e+36>>2]=99,i[e+48>>2]=72992,l[e+58|0]=1,X[e+56>>1]=6,i[e+52>>2]=851969,i[e+40>>2]=i[r+8>>2],n=i[r+4>>2],A=i[r>>2],i[e+32>>2]=A,i[e+36>>2]=n,k=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+55|0]=k,l[e+56|0]=k>>>8,l[e+57|0]=k>>>16,l[e+58|0]=k>>>24,i[e+52>>2]=i[r+20>>2],i[e+44>>2]=8,k=i[e+44>>2],i[e+8>>2]=i[e+40>>2],i[e+12>>2]=k,i[e>>2]=A,i[e+4>>2]=n,i[e+16>>2]=72992,A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,r=i[r+20>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)}B=e- -64|0}function Pv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;A=B-32|0,B=A,f=i[f>>2],n=i[f+48>>2],k=i[f+52>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),i[A+28>>2]=0,i[A+20>>2]=0,i[A+24>>2]=0,I1(A,n,e,A+20|0),n=-1;i:{if(i[A>>2]||(e=r-1|0,f=i[A+20>>2],e>>>0>=i[A+24>>2]-f>>3>>>0)||(f=f+(e<<3)|0,e=i[f>>2],!e)||(e=N0(e,68572,69532),!e))break i;if(f=i[f+4>>2],!f){n=i[e+48>>2];break i}if(r=i[f+4>>2],t=r+1|0,i[f+4>>2]=t,n=i[e+48>>2],i[f+4>>2]=r,t)break i;V[i[i[f>>2]+8>>2]](f),g(f)}if(l[A+19|0]<0&&G(i[A+8>>2]),r=i[A+20>>2],r){if(f=i[A+24>>2],e=r,(f|0)!=(e|0)){for(;;){e=i[f-4>>2];i:{if(!e||(t=i[e+4>>2],i[e+4>>2]=t-1,t))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(f=f-8|0,(r|0)==(f|0))break}e=i[A+20>>2]}i[A+24>>2]=r,G(e)}i:{if(!k||(f=i[k+4>>2],i[k+4>>2]=f-1,f))break i;V[i[i[k>>2]+8>>2]](k),g(k)}return B=A+32|0,n|0}function Lv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;A=B-32|0,B=A,f=i[f>>2],n=i[f+48>>2],k=i[f+52>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),i[A+28>>2]=0,i[A+20>>2]=0,i[A+24>>2]=0,I1(A,n,e,A+20|0),n=-1;i:{if(i[A>>2]||(e=r-1|0,f=i[A+20>>2],e>>>0>=i[A+24>>2]-f>>3>>>0)||(f=f+(e<<3)|0,e=i[f>>2],!e)||(e=N0(e,68572,69472),!e))break i;if(f=i[f+4>>2],!f){n=i[e+48>>2];break i}if(r=i[f+4>>2],t=r+1|0,i[f+4>>2]=t,n=i[e+48>>2],i[f+4>>2]=r,t)break i;V[i[i[f>>2]+8>>2]](f),g(f)}if(l[A+19|0]<0&&G(i[A+8>>2]),r=i[A+20>>2],r){if(f=i[A+24>>2],e=r,(f|0)!=(e|0)){for(;;){e=i[f-4>>2];i:{if(!e||(t=i[e+4>>2],i[e+4>>2]=t-1,t))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(f=f-8|0,(r|0)==(f|0))break}e=i[A+20>>2]}i[A+24>>2]=r,G(e)}i:{if(!k||(f=i[k+4>>2],i[k+4>>2]=f-1,f))break i;V[i[i[k>>2]+8>>2]](k),g(k)}return B=A+32|0,n|0}function Kv(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-32|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(A,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(k=i[19565],i[A>>2]=i[19564],i[A+4>>2]=k,k=A+8|0,l[78275]>=0){n=i[19567],i[k>>2]=i[19566],i[k+4>>2]=n,i[k+8>>2]=i[19568];break i}_0(k,i[19566],i[19567])}l[A+19|0]<0&&G(i[A+8>>2]);i:{if(s[e+48|0]){h4(f,e,7491);break i}if(B4(A+20|0,r),l[e+67|0]<0&&G(i[e+56>>2]),k=i[A+24>>2],i[e+56>>2]=i[A+20>>2],i[e+60>>2]=k,i[e+64>>2]=i[A+28>>2],s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(f,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function qv(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0;i:{if((n|0)<=0|(k|0)<=0)break i;for(_=o-8|0,v=r-6|0;;){for(r=(w<<1)+t|0,o=v+(m(A,w)<<1)|0,u=0;X[r>>1]=(((((Q[o+2>>1]<<2)-Q[o>>1]|0)+m(Q[o+8>>1]+Q[o+6>>1]|0,40)|0)+(Q[o+12>>1]<<2)|0)-Q[o+14>>1]|0)+m(Q[o+10>>1]+Q[o+4>>1]|0,-11)>>_,o=o+2|0,r=(n<<1)+r|0,u=u+1|0,(u|0)!=(k|0););if(w=w+1|0,(w|0)==(n|0))break}if((n|0)<=0)break i;for(_=n&2147483644,w=n&3,A=0,v=n>>>0<4;;){if(r=(A<<1)+f|0,o=(m(A,n)<<1)+t|0,u=0,!v)for(;X[r>>1]=Q[o>>1],h=r,r=e<<1,h=h+r|0,X[h>>1]=Q[o+2>>1],h=r+h|0,X[h>>1]=Q[o+4>>1],h=r+h|0,X[h>>1]=Q[o+6>>1],r=r+h|0,o=o+8|0,u=u+4|0,(_|0)!=(u|0););if(u=0,w)for(;X[r>>1]=Q[o>>1],o=o+2|0,r=(e<<1)+r|0,u=u+1|0,(w|0)!=(u|0););if(A=A+1|0,(k|0)==(A|0))break}}}function Or(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;i:{r:{if(o=i[19572],(o|0)!=78292)for(;;){w=i[o+16>>2],A=i[w>>2];e:{if(i[A+4>>2]!=(e|0)&&e||r&&v4(r,i[A+8>>2]))break e;t=i[f+8>>2];A:{if(t>>>0>n>>>0){i[n>>2]=w,n=n+4|0;break A}if(k=i[f>>2],h=n-k>>2,A=h+1|0,A>>>0>=1073741824)break r;if(_=h<<2,t=t-k|0,u=t>>1,u=t>>>0>=2147483644?1073741823:A>>>0<u>>>0?u:A,u){if(u>>>0>=1073741824)break i;h=U(u<<2)}else h=0;if(t=_+h|0,i[t>>2]=w,A=t,(k|0)!=(n|0)){for(;A=A-4|0,n=n-4|0,i[A>>2]=i[n>>2],(k|0)!=(n|0););k=i[f>>2]}if(n=t+4|0,i[f+8>>2]=h+(u<<2),i[f>>2]=A,!k)break A;G(k)}i[f+4>>2]=n}k=i[o+4>>2];e:{if(k){for(;;)if(A=k,k=i[A>>2],!k)break e}for(;A=i[o+8>>2],k=i[A>>2]!=(o|0),o=A,!!k;);}if(o=A,(A|0)==78292)break}return}y0(),P()}_2(),P()}function gA(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0;if(!A){i[f>>2]=5,i[f+4>>2]=2001,i[f+8>>2]=31341;return}i:{r:{n=i[e>>2],t=i[n+20>>2];e:{if(!t)break e;for(o=n+20|0,n=o;k=k0[t+16>>2]<r>>>0,n=k?n:t,t=i[(k<<2)+t>>2],!!t;);if(k=0,(n|0)==(o|0)|k0[n+16>>2]>r>>>0)break e;if(t=i[n+20>>2],k=i[n+24>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),t)break r}i[A>>2]=0,i[f+8>>2]=31341,i[f>>2]=5,i[f+4>>2]=2e3;break i}r=U(16),i[r+8>>2]=0,i[r+12>>2]=0,i[A>>2]=r,k&&(i[k+4>>2]=i[k+4>>2]+1),i[r+4>>2]=k,i[r>>2]=t,n=i[e>>2],r=i[A>>2],A=i[e+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[r+8>>2]=n,e=i[r+12>>2],i[r+12>>2]=A;r:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break r;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}i:{if(!k||(f=i[k+4>>2],i[k+4>>2]=f-1,f))break i;V[i[i[k>>2]+8>>2]](k),g(k)}}function $v(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0;i:{if((n|0)<=0|(k|0)<=0)break i;for(_=o-8|0,v=r-6|0;;){for(r=(w<<1)+t|0,o=v+(m(A,w)<<1)|0,u=0;X[r>>1]=Q[o+12>>1]+((((((Q[o+2>>1]<<2)-Q[o>>1]|0)+m(Q[o+4>>1],-10)|0)+m(Q[o+6>>1],58)|0)+m(Q[o+8>>1],17)|0)+m(Q[o+10>>1],-5)|0)>>_,o=o+2|0,r=(n<<1)+r|0,u=u+1|0,(u|0)!=(k|0););if(w=w+1|0,(w|0)==(n|0))break}if((n|0)<=0)break i;for(_=n&2147483644,w=n&3,A=0,v=n>>>0<4;;){if(r=(A<<1)+f|0,o=(m(A,n)<<1)+t|0,u=0,!v)for(;X[r>>1]=Q[o>>1],h=r,r=e<<1,h=h+r|0,X[h>>1]=Q[o+2>>1],h=r+h|0,X[h>>1]=Q[o+4>>1],h=r+h|0,X[h>>1]=Q[o+6>>1],r=r+h|0,o=o+8|0,u=u+4|0,(_|0)!=(u|0););if(u=0,w)for(;X[r>>1]=Q[o>>1],o=o+2|0,r=(e<<1)+r|0,u=u+1|0,(w|0)!=(u|0););if(A=A+1|0,(k|0)==(A|0))break}}}function bv(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0;i:{if((n|0)<=0|(k|0)<=0)break i;for(_=o-8|0,v=r-4|0;;){for(r=(w<<1)+t|0,o=v+(m(A,w)<<1)|0,u=0;X[r>>1]=(((((Q[o>>1]+m(Q[o+2>>1],-5)|0)+m(Q[o+4>>1],17)|0)+m(Q[o+6>>1],58)|0)+m(Q[o+8>>1],-10)|0)+(Q[o+10>>1]<<2)|0)-Q[o+12>>1]>>_,o=o+2|0,r=(n<<1)+r|0,u=u+1|0,(u|0)!=(k|0););if(w=w+1|0,(w|0)==(n|0))break}if((n|0)<=0)break i;for(_=n&2147483644,w=n&3,A=0,v=n>>>0<4;;){if(r=(A<<1)+f|0,o=(m(A,n)<<1)+t|0,u=0,!v)for(;X[r>>1]=Q[o>>1],h=r,r=e<<1,h=h+r|0,X[h>>1]=Q[o+2>>1],h=r+h|0,X[h>>1]=Q[o+4>>1],h=r+h|0,X[h>>1]=Q[o+6>>1],r=r+h|0,o=o+8|0,u=u+4|0,(_|0)!=(u|0););if(u=0,w)for(;X[r>>1]=Q[o>>1],o=o+2|0,r=(e<<1)+r|0,u=u+1|0,(w|0)!=(u|0););if(A=A+1|0,(k|0)==(A|0))break}}}function dv(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0,v=0;u=i[e+24>>2],u>>>0>k0[e+44>>2]&&(i[e+44>>2]=u),u=-1,v=-1,h=n&24;i:{if(!h|(k|0)==1&(h|0)==24)break i;h=i[e+44>>2],h&&(t=e+32|0,s[t+11|0]>>>7|0&&(t=i[t>>2]),t=h-t|0,w=t>>31);r:{e:switch(k|0){case 1:if(n&8){o=i[e+12>>2]-i[e+8>>2]|0,_=o>>31;break r}o=i[e+24>>2]-i[e+20>>2]|0,_=o>>31;break r;case 0:break r;case 2:break e;default:break i}o=t,_=w}if(A=A+_|0,r=r+o|0,A=o>>>0>r>>>0?A+1|0:A,(A|0)<0|(r>>>0>t>>>0&(A|0)>=(w|0)|(A|0)>(w|0)))break i;k=n&8;r:{if(!(r|A))break r;if(!i[e+12>>2]&&k)break i;if(!(n&16))break r;if(!i[e+24>>2])break i}k&&(k=i[e+8>>2],i[e+16>>2]=i[e+44>>2],i[e+12>>2]=r+k,i[e+8>>2]=k),n&16&&(k=i[e+20>>2],i[e+28>>2]=i[e+28>>2],i[e+20>>2]=k,i[e+24>>2]=k,i[e+24>>2]=r+i[e+24>>2]),u=r,v=A}i[f+8>>2]=u,i[f+12>>2]=v,i[f>>2]=0,i[f+4>>2]=0}function p8(f,e,r){var A=0,k=0,n=0,t=0;n=B-16|0,B=n,A=U(72),i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=71664,t=A+16|0,i[t+8>>2]=0,i[t+12>>2]=0,i[t+16>>2]=0,i[t+20>>2]=0,i[t+24>>2]=0,i[t+28>>2]=0,i[t+32>>2]=0,i[t>>2]=68500,i[A+60>>2]=0,i[A+52>>2]=0,i[A+56>>2]=0,i[t>>2]=73032,i[A+32>>2]=1668246642,i[A+64>>2]=0,i[A+68>>2]=0,k=i[r>>2],r=i[r+4>>2];i:{if(!r){i[A+68>>2]=r,i[A+64>>2]=k;break i}if(i[r+4>>2]=i[r+4>>2]+1,i[A+64>>2]=k,k=i[A+68>>2],i[A+68>>2]=r,!k||(r=i[k+4>>2],i[k+4>>2]=r-1,r))break i;V[i[i[k>>2]+8>>2]](k),g(k)}r=i[f+44>>2],i[n+12>>2]=A,i[n+8>>2]=t,i[A+4>>2]=i[A+4>>2]+1,t=N4(r,n+8|0),k=i[n+12>>2];i:{if(!k||(r=i[k+4>>2],i[k+4>>2]=r-1,r))break i;V[i[i[k>>2]+8>>2]](k),g(k)}f=i[f+52>>2],X[n+6>>1]=t+1,l[n+4|0]=0,i[n>>2]=Q[n+4>>1]|Q[n+6>>1]<<16,c1(f,e,n),f=i[A+4>>2],i[A+4>>2]=f-1,f||(V[i[i[A>>2]+8>>2]](A),g(A)),B=n+16|0}function cv(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;k=B-16|0,B=k,A=i[e+12>>2],f=i[e+4>>2],w=(A+f|0)-1|0,n=(w|0)%(A|0)|0,t=(A+((f|0)/s[r+50|0]|0)|0)-1|0,o=(t|0)%(A|0)|0,u=i[e+8>>2],h=(u|0)/s[r+51|0]|0;i:{r:{e:{if(f=s[r+48|0],(f-8&255)>>>0<9){if(A=s[r+49|0],(A-8&255)>>>0>=9)break e;if(e=0,i[k+4>>2]=0,_=u,u=w-n|0,f=Sr(k+4|0,16,m(m(_,u),(f+7&248)>>>3|0)),n=f?0:i[k+4>>2],!i[r+20>>2]){if(h=0,o=0,!n)break i;break r}if(i[k+8>>2]=0,o=t-o|0,f=m(m(h,o),(A+7&248)>>>3|0),A=Sr(k+8|0,16,f),e=i[k+8>>2],i[k+12>>2]=0,f=Sr(k+12|0,16,f),h=i[k+12>>2],t=f?0:h,f=A?0:e,!(!n||!f|!t))break r;if(n&&G(n),f&&G(f),e=0,!t)break i;G(t);break i}C0(16497,14027,117,5695),P()}C0(16543,14027,118,5695),P()}i[r+292>>2]=0,i[r+4>>2]=n,i[r+40>>2]=u,i[r+8>>2]=e,i[r+296>>2]=0,i[r+300>>2]=0,i[r+12>>2]=h,i[r+44>>2]=o,e=1}return B=k+16|0,e|0}function im(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;if(n=B-32|0,B=n,t=V[i[i[e>>2]+32>>2]](e,r,0)|0,l2(r,i[e+60>>2]-i[e+56>>2]>>4),A=i[e+56>>2],o=i[e+60>>2],(A|0)!=(o|0))for(;;){k=i[A>>2];i:{if(!s[e+48|0]){w2(r,k&65535);break i}l2(r,k)}if(A2(r,i[A+8>>2]-i[A+4>>2]>>>2&255),k=i[A+4>>2],u=i[A+8>>2],(k|0)!=(u|0))for(;;){h=Q[k+2>>1],w=s[k|0];i:{if(l[e+52|0]&1){w2(r,(h&32767|(w&1?-32768:0))&65535);break i}A2(r,(h&127|(w&1?-128:0))&255)}if(k=k+4|0,(u|0)==(k|0))break}if(A=A+16|0,(o|0)==(A|0))break}i[r+12>>2]=t,V[i[i[e>>2]+36>>2]](n+12|0,e,r,i[r+4>>2]-(i[r>>2]+t|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[n+31|0]<0&&G(i[n+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=n+32|0}function rm(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0;r=B-96|0,B=r;i:{r:{e:{if(i[f+16>>2]!=i[e+16>>2])break e;i[r+88>>2]=0,i[r+92>>2]=0,i[r+80>>2]=0,i[r+84>>2]=0,i[r+72>>2]=0,i[r+76>>2]=0,i[r+64>>2]=0,i[r+68>>2]=0,V[i[i[f>>2]+16>>2]](r+44|0,f,r+80|0),l[r+63|0]<0&&G(i[r+52>>2]),V[i[i[e>>2]+16>>2]](r+24|0,e,r- -64|0),l[r+43|0]<0&&G(i[r+32>>2]),i[r+20>>2]=0,i[r+12>>2]=0,i[r+16>>2]=0,f=i[r+84>>2],A=i[r+80>>2];A:{if((f|0)==(A|0)){e=0,A=0;break A}if(f=f-A|0,(f|0)<0)break r;e=U(f),A=l0(e,A,f)+f|0}i[r+8>>2]=0,i[r>>2]=0,i[r+4>>2]=0,f=i[r+68>>2],k=i[r+64>>2];A:{if((f|0)==(k|0)){f=0;break A}if(n=f-k|0,(n|0)<0)break i;f=U(n),n=l0(f,k,n)+n|0}if(k=0,A=A-e|0,(A|0)==(n-f|0)&&(k=!K2(e,f,A)),f&&G(f),e&&G(e),f=i[r+64>>2],f&&(i[r+68>>2]=f,G(f)),f=i[r+80>>2],!f)break e;i[r+84>>2]=f,G(f)}return B=r+96|0,k|0}y0(),P()}y0(),P()}function em(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0;t=B-32|0,B=t,o=V[i[i[e>>2]+32>>2]](e,r,0)|0,k=+(1<<i[e+104>>2]>>>0),n=i0[e+56>>3]*k;i:{if(d0(n)<2147483648){A=~~n;break i}A=-2147483648}l2(r,A),n=i0[e+64>>3]*k;i:{if(d0(n)<2147483648){A=~~n;break i}A=-2147483648}l2(r,A),n=i0[e+72>>3]*k;i:{if(d0(n)<2147483648){A=~~n;break i}A=-2147483648}if(l2(r,A),l[e+52|0]&1){k=i0[e+88>>3]*k;i:{if(d0(k)<2147483648){A=~~k;break i}A=-2147483648}l2(r,A),k=i0[e+96>>3]*+(1<<i[e+108>>2]>>>0);i:{if(d0(k)<2147483648){A=~~k;break i}A=-2147483648}l2(r,A)}i[r+12>>2]=o,V[i[i[e>>2]+36>>2]](t+12|0,e,r,i[r+4>>2]-(i[r>>2]+o|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[t+31|0]<0&&G(i[t+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=t+32|0}function Mn(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0;if(i[f>>2]=74936,A=i[f+128>>2],A){if(e=A,n=i[f+132>>2],(e|0)!=(n|0)){for(;;){if(o=n-12|0,k=i[o>>2],k){if(e=k,u=n-8|0,r=i[u>>2],(e|0)!=(r|0)){for(;e=r-12|0,t=i[e>>2],t&&(i[r-8>>2]=t,G(t)),r=e,(e|0)!=(k|0););e=i[o>>2]}i[u>>2]=k,G(e)}if(n=n-16|0,(A|0)==(n|0))break}e=i[f+128>>2]}i[f+132>>2]=A,G(e)}if(e=i[f+108>>2],e&&(i[f+112>>2]=e,G(e)),e=i[f+96>>2],e&&(i[f+100>>2]=e,G(e)),e=i[f+84>>2],e&&G(e),e=i[f+72>>2],e&&(i[f+76>>2]=e,G(e)),i[f>>2]=68616,A=i[f+36>>2],A){if(e=i[f+40>>2],r=A,(e|0)!=(r|0)){for(;;){r=i[e-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(e=e-8|0,(A|0)==(e|0))break}r=i[f+36>>2]}i[f+40>>2]=A,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function Am(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0;i:{if(n=V[i[i[e>>2]+68>>2]](i[e+4>>2])|0,k=i[n>>2],!k)break i;for(;;){if(v4(i[k+4>>2],r)){if(k=i[n+4>>2],n=n+4|0,k)continue;break i}break}r:switch(i[k+8>>2]-1|0){case 0:for(k=f,n=e,t=r;f=A,A=A+1|0,e=l[f|0],!!((e|0)==32|e-9>>>0<5););r=1;e:switch((e&255)-43|0){case 2:r=0;case 0:e=l[A|0],f=A;break;default:break e}if(A=0,e=e-48|0,e>>>0<=9)for(;A=m(A,10)-e|0,e=l[f+1|0],f=f+1|0,e=e-48|0,e>>>0<10;);k7(k,n,t,r?0-A|0:A);return;case 1:k=1;e:{if(!v4(A,9104)||(k=0,!v4(A,9349)|s[A|0]!=49))break e;k=!s[A+1|0]}V[i[i[e>>2]+80>>2]](f,i[e+4>>2],r,k);return;case 2:V[i[i[e>>2]+88>>2]](f,i[e+4>>2],r,A);return;default:break r}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412];return}V[i[i[e>>2]+88>>2]](f,i[e+4>>2],r,A)}function fm(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0;for(o=B-416|0,B=o,A=o+416|0,i[o+12>>2]=A,r=B-144|0,B=r,i[r+28>>2]=r+132,u=r+32|0,N9(f+8|0,u,r+28|0,k,n,t),i[r+16>>2]=0,i[r+20>>2]=0,i[r+12>>2]=u,k=o+16|0,t=i[o+12>>2]-k>>2,n=B-16|0,B=n,i[n+12>>2]=i[f+8>>2],f=S4(n+8|0,n+12|0),t=Ok(k,r+12|0,t,r+16|0),f=i[f>>2],f&&(i[23985]=(f|0)==-1?95820:f),B=n+16|0,(t|0)==-1&&(u1(),P()),i[o+12>>2]=k+(t<<2),B=r+144|0,t=B-16|0,B=t,f=B-32|0,B=f,pe(f+24|0,k,i[o+12>>2]),o=f+16|0,u=i[f+28>>2],r=B-16|0,B=r,n=i[f+24>>2],i[r+8>>2]=n,i[r+12>>2]=e;;){if((n|0)!=(u|0)){T9(r+12|0,i[n>>2]),n=n+4|0,i[r+8>>2]=n;continue}break}return i[o>>2]=i[r+8>>2],i[o+4>>2]=i[r+12>>2],B=r+16|0,i[f+12>>2]=k+(i[f+16>>2]-k|0),i[f+8>>2]=i[f+20>>2],i[t+8>>2]=i[f+12>>2],i[t+12>>2]=i[f+8>>2],B=f+32|0,B=t+16|0,B=A,i[t+12>>2]}function km(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,n=i[13708],i[A+12>>2]=n,k=A+12|0,i[k+i[n-12>>2]>>2]=i[13709],n=k+i[i[A+12>>2]-12>>2]|0,t=A+16|0,b0(n,t),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,n=$0(t),i[n>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,t=A+148|0,R2(t,e,r),o=k,u=t,k=l[A+159|0],t=(k|0)<0,x(o,t?i[A+148>>2]:u,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),t=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:t,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(L0(x(L0(x(L0(x(r,14785,14),i[e+48>>2]),18140,1),i[e+52>>2]),18140,1),i[e+56>>2]),30511,2),i2(f,n),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[n>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(n),T0(A+68|0),B=A+160|0}function xn(f){var e=0,r=0,A=0,k=0,n=0;if(r=i[f+8>>2],!!r){if(e=i[f+4>>2],(e|0)==6){e=i[r+24>>2];i:{if((e|0)<i[r+28>>2]){A=i[r+20>>2];break i}if(n=e+1|0,A=Z2(n),!A)return;k=i[r+20>>2],k&&(l0(A,k,e),G(k),e=i[r+24>>2]),i[r+28>>2]=n,i[r+20>>2]=A}l[e+A|0]=0,i[r+24>>2]=i[r+24>>2]+1,e=i[f+4>>2]}if((e|0)==7){A=i[r+24>>2],k=A+2|0;i:{if((k|0)<=i[r+28>>2]){e=i[r+20>>2];break i}if(e=Z2(k),!e)return;n=i[r+20>>2],n&&(l0(e,n,A),G(n),A=i[r+24>>2]),i[r+28>>2]=k,i[r+20>>2]=e}e=e+A|0,l[e|0]=0,l[e+1|0]=0,i[r+24>>2]=i[r+24>>2]+2,e=i[f+4>>2]}(e|0)>=5&&(k=i[f+32>>2],A=k+i[f+28>>2]|0,n=i[f+20>>2],e=i[f+16>>2],(A|0)==(((e|0)!=(n|0)?(n-e<<8)-1|0:0)|0)&&(Gr(f+12|0),k=i[f+32>>2],A=k+i[f+28>>2]|0,e=i[f+16>>2]),i[i[e+(A>>>8&16777212)>>2]+((A&1023)<<2)>>2]=r,i[f+32>>2]=k+1,e=i[r+24>>2],i[f+8>>2]=0,i[f+36>>2]=e+i[f+36>>2]),i[f+4>>2]=0}}function nm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,t=i[13708],i[A+12>>2]=t,k=A+12|0,i[k+i[t-12>>2]>>2]=i[13709],t=k+i[i[A+12>>2]-12>>2]|0,n=A+16|0,b0(t,n),i[t+72>>2]=0,i[t+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,t=$0(n),i[t>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,n=A+148|0,R2(n,e,r),o=k,u=n,k=l[A+159|0],n=(k|0)<0,x(o,n?i[A+148>>2]:u,n?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),n=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:n,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,o=x(r,20267,10),k=l[e+67|0],n=(k|0)<0,x(x(o,n?i[e+56>>2]:e+56|0,n?i[e+60>>2]:k),31338,1),i2(f,t),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[t>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(t),T0(A+68|0),B=A+160|0}function tm(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0,v=0;i:{if((n|0)<=0|(k|0)<=0)break i;for(w=r-3|0;;){for(u=(h<<1)+t|0,r=w+m(A,h)|0,o=0;X[u>>1]=(((((s[r+1|0]<<2)-s[r|0]|0)+m(s[r+4|0]+s[r+3|0]|0,40)|0)+(s[r+6|0]<<2)|0)-s[r+7|0]|0)+m(s[r+5|0]+s[r+2|0]|0,-11),r=r+1|0,u=(n<<1)+u|0,o=o+1|0,(o|0)!=(k|0););if(h=h+1|0,(h|0)==(n|0))break}if((n|0)<=0)break i;for(_=n&2147483644,w=n&3,A=0,v=n>>>0<4;;){if(u=(A<<1)+f|0,r=(m(A,n)<<1)+t|0,h=0,!v)for(;X[u>>1]=Q[r>>1],o=u,u=e<<1,o=o+u|0,X[o>>1]=Q[r+2>>1],o=u+o|0,X[o>>1]=Q[r+4>>1],o=u+o|0,X[o>>1]=Q[r+6>>1],u=u+o|0,r=r+8|0,h=h+4|0,(_|0)!=(h|0););if(o=0,w)for(;X[u>>1]=Q[r>>1],r=r+2|0,u=(e<<1)+u|0,o=o+1|0,(w|0)!=(o|0););if(A=A+1|0,(k|0)==(A|0))break}}}function om(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0,v=0;i:{if((n|0)<=0|(k|0)<=0)break i;for(w=r-2|0;;){for(u=(h<<1)+t|0,r=w+m(A,h)|0,o=0;X[u>>1]=(((((s[r|0]+m(s[r+1|0],-5)|0)+m(s[r+2|0],17)|0)+m(s[r+3|0],58)|0)+m(s[r+4|0],-10)|0)+(s[r+5|0]<<2)|0)-s[r+6|0],r=r+1|0,u=(n<<1)+u|0,o=o+1|0,(o|0)!=(k|0););if(h=h+1|0,(h|0)==(n|0))break}if((n|0)<=0)break i;for(_=n&2147483644,w=n&3,A=0,v=n>>>0<4;;){if(u=(A<<1)+f|0,r=(m(A,n)<<1)+t|0,h=0,!v)for(;X[u>>1]=Q[r>>1],o=u,u=e<<1,o=o+u|0,X[o>>1]=Q[r+2>>1],o=u+o|0,X[o>>1]=Q[r+4>>1],o=u+o|0,X[o>>1]=Q[r+6>>1],u=u+o|0,r=r+8|0,h=h+4|0,(_|0)!=(h|0););if(o=0,w)for(;X[u>>1]=Q[r>>1],r=r+2|0,u=(e<<1)+u|0,o=o+1|0,(w|0)!=(o|0););if(A=A+1|0,(k|0)==(A|0))break}}}function lm(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0,v=0;i:{if((n|0)<=0|(k|0)<=0)break i;for(w=r-3|0;;){for(u=(h<<1)+t|0,r=w+m(A,h)|0,o=0;X[u>>1]=s[r+6|0]+((((((s[r+1|0]<<2)-s[r|0]|0)+m(s[r+2|0],-10)|0)+m(s[r+3|0],58)|0)+m(s[r+4|0],17)|0)+m(s[r+5|0],-5)|0),r=r+1|0,u=(n<<1)+u|0,o=o+1|0,(o|0)!=(k|0););if(h=h+1|0,(h|0)==(n|0))break}if((n|0)<=0)break i;for(_=n&2147483644,w=n&3,A=0,v=n>>>0<4;;){if(u=(A<<1)+f|0,r=(m(A,n)<<1)+t|0,h=0,!v)for(;X[u>>1]=Q[r>>1],o=u,u=e<<1,o=o+u|0,X[o>>1]=Q[r+2>>1],o=u+o|0,X[o>>1]=Q[r+4>>1],o=u+o|0,X[o>>1]=Q[r+6>>1],u=u+o|0,r=r+8|0,h=h+4|0,(_|0)!=(h|0););if(o=0,w)for(;X[u>>1]=Q[r>>1],r=r+2|0,u=(e<<1)+u|0,o=o+1|0,(w|0)!=(o|0););if(A=A+1|0,(k|0)==(A|0))break}}}function zn(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;if(!r){e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560];return}i:{if(A=i[e+16>>2],!A||(n=N0(A,72776,73300),!n))break i;A=i[e+20>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),e=i[n+12>>2],n=i[n+8>>2],u=e-n|0,t=u>>3;r:{if((t|0)<=0)break r;if(e=0,(u|0)!=8)for(w=t&2147483646,t=0;k=e<<3,o=k+r|0,h=n+k|0,i[o>>2]=i[h>>2],i[o+4>>2]=i[h+4>>2],k=k|8,o=k+r|0,k=n+k|0,i[o>>2]=i[k>>2],i[o+4>>2]=i[k+4>>2],e=e+2|0,t=t+2|0,(w|0)!=(t|0););if(!(u&8))break r;e=e<<3,r=e+r|0,e=e+n|0,i[r>>2]=i[e>>2],i[r+4>>2]=i[e+4>>2]}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412];r:{if(!A||(f=i[A+4>>2],i[A+4>>2]=f-1,f))break r;V[i[i[A>>2]+8>>2]](A),g(A)}return}e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560]}function um(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0;t=B-16|0,B=t;i:{if(!r)break i;on(t+4|0,i[f>>2],e),f=i[t+8>>2],e=i[t+4>>2],k=f-e>>3,k=(A|0)>(k|0)?k:A;r:{if((k|0)>0){if(A=0,k>>>0>=4)for(o=k&2147483644;i[(A<<2)+r>>2]=i[i[e+(A<<3)>>2]+20>>2],n=A|1,i[(n<<2)+r>>2]=i[i[e+(n<<3)>>2]+20>>2],n=A|2,i[(n<<2)+r>>2]=i[i[e+(n<<3)>>2]+20>>2],n=A|3,i[(n<<2)+r>>2]=i[i[e+(n<<3)>>2]+20>>2],A=A+4|0,u=u+4|0,(o|0)!=(u|0););if(o=k&3,!o)break r;for(;i[(A<<2)+r>>2]=i[i[e+(A<<3)>>2]+20>>2],A=A+1|0,h=h+1|0,(o|0)!=(h|0););break r}if(!e)break i}if(A=e,(A|0)!=(f|0)){for(;;){r=i[f-4>>2];r:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(f=f-8|0,(e|0)==(f|0))break}A=i[t+4>>2]}i[t+8>>2]=e,G(A)}return B=t+16|0,k|0}function Hn(f){var e=0,r=0,A=0,k=0,n=0;if(e=i[f+428>>2],r=i[f+424>>2],(e|0)!=(r|0))for(;;){if(k=i[(A<<2)+r>>2],k){if(w4(i[k+140>>2]+548|0,i[k>>2]),e=i[k+132>>2],e){if(n=e-4|0,r=i[n>>2],r)for(r=e+m(r,18608)|0;C8(r-36|0),r=r-18608|0,(e|0)!=(r|0););G(n)}G(k),r=i[f+424>>2],e=i[f+428>>2]}if(A=A+1|0,!(A>>>0<e-r>>2>>>0))break}if(e=i[f+456>>2],A=i[f+460>>2],(e|0)!=(A|0))for(r=0;k=i[(r<<2)+e>>2],k&&(V[i[i[k>>2]+4>>2]](k),A=i[f+460>>2],e=i[f+456>>2]),r=r+1|0,r>>>0<A-e>>2>>>0;);if(A=i[f+468>>2],A){if(e=A,r=i[f+472>>2],(e|0)!=(r|0)){for(;r=C8(r-8|0),(A|0)!=(r|0););e=i[f+468>>2]}i[f+472>>2]=A,G(e),e=i[f+456>>2]}return e&&(i[f+460>>2]=e,G(e)),e=i[f+436>>2],e&&(i[f+440>>2]=e,G(e)),e=i[f+424>>2],e&&(i[f+428>>2]=e,G(e)),zA(f+8|0),f}function sm(){var f=0,e=0,r=0;return f=s[5779]|s[5780]<<8|(s[5781]<<16|s[5782]<<24),i[19596]=s[5775]|s[5776]<<8|(s[5777]<<16|s[5778]<<24),i[19597]=f,f=s[5793]|s[5794]<<8|(s[5795]<<16|s[5796]<<24),e=s[5789]|s[5790]<<8|(s[5791]<<16|s[5792]<<24),X[39199]=e,X[39200]=e>>>16,X[39201]=f,X[39202]=f>>>16,f=s[5787]|s[5788]<<8|(s[5789]<<16|s[5790]<<24),i[19598]=s[5783]|s[5784]<<8|(s[5785]<<16|s[5786]<<24),i[19599]=f,G2(16615)+10>>>0<=79&&(f=G2(78384)+78384|0,e=s[18964]|s[18965]<<8|(s[18966]<<16|s[18967]<<24),r=s[18960]|s[18961]<<8|(s[18962]<<16|s[18963]<<24),l[f|0]=r,l[f+1|0]=r>>>8,l[f+2|0]=r>>>16,l[f+3|0]=r>>>24,l[f+4|0]=e,l[f+5|0]=e>>>8,l[f+6|0]=e>>>16,l[f+7|0]=e>>>24,e=s[18967]|s[18968]<<8|(s[18969]<<16|s[18970]<<24),l[f+7|0]=e,l[f+8|0]=e>>>8,l[f+9|0]=e>>>16,l[f+10|0]=e>>>24,Fi(G2(78384)+78384|0,16615)),78384}function hm(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0;e=B+-64|0,B=e,k=i[r+12>>2],n=i[r+4>>2],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,(k|0)!=8|n>>>0>3||(i[e+44>>2]=8,l[e+40|0]=0,l[e+58|0]=1,X[e+56>>1]=2,i[e+52>>2]=131074,i[e+32>>2]=99,i[e+36>>2]=99,i[e+48>>2]=72992,l[e+58|0]=1,X[e+56>>1]=6,i[e+52>>2]=851969,i[e+40>>2]=i[r+8>>2],t=i[r+4>>2],k=i[r>>2],i[e+32>>2]=k,i[e+36>>2]=t,n=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+55|0]=n,l[e+56|0]=n>>>8,l[e+57|0]=n>>>16,l[e+58|0]=n>>>24,i[e+52>>2]=i[r+20>>2],i[e+44>>2]=i[A+12>>2],A=i[e+44>>2],i[e+8>>2]=i[e+40>>2],i[e+12>>2]=A,i[e>>2]=k,i[e+4>>2]=t,i[e+16>>2]=72992,A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,r=i[r+20>>2],i[e+28>>2]=11,i[e+20>>2]=r,P2(f,e)),B=e- -64|0}function Tn(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;u=B-32|0,B=u;i:{r:{e:{if((e|0)!=(r|0)){if(w=i[23944],i[23944]=0,t=B-16|0,B=t,M2(),n=B-16|0,B=n,k=B-16|0,B=k,h3(k,e,u+28|0,2),o=i[k>>2],h=i[k+4>>2],e=n,n=i[k+12>>2],i[e+8>>2]=i[k+8>>2],i[e+12>>2]=n,i[e>>2]=o,i[e+4>>2]=h,B=k+16|0,n=i[e>>2],o=i[e+4>>2],k=t,t=i[e+12>>2],i[k+8>>2]=i[e+8>>2],i[k+12>>2]=t,i[k>>2]=n,i[k+4>>2]=o,B=e+16|0,t=i[k>>2],n=i[k+4>>2],o=i[k+12>>2],e=u,i[e+16>>2]=i[k+8>>2],i[e+20>>2]=o,i[e+8>>2]=t,i[e+12>>2]=n,B=k+16|0,k=i[e+16>>2],n=i[e+20>>2],t=i[e+8>>2],o=i[e+12>>2],h=i[23944],!h)break e;if(i[e+28>>2]!=(r|0))break r;if(_=t,v=o,Z=k,p=n,(h|0)!=68)break i;break r}i[A>>2]=4;break i}if(i[23944]=w,i[u+28>>2]==(r|0))break i}i[A>>2]=4,t=_,o=v,k=Z,n=p}i[f>>2]=t,i[f+4>>2]=o,i[f+8>>2]=k,i[f+12>>2]=n,B=u+32|0}function wm(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e,A=i[r+4>>2];i:{if(!(!s[k+12|0]|((A|0)==3|i[k+8>>2]==1))){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(!(!i[r>>2]&A-1>>>0<=2)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}r:switch(Q[r+24>>1]-11|0){case 0:case 3:i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i;default:break r}if(A=i[r+12>>2],(A|0)>=9){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,(A|0)!=8)break i;A=V8(e+36|0),i[A>>2]=1,i[A+4>>2]=3,l[A+8|0]=s[r+8|0],i[A+12>>2]=i[r+12>>2],r=i[A+12>>2],i[e+8>>2]=i[A+8>>2],i[e+12>>2]=r,r=i[A+4>>2],i[e>>2]=i[A>>2],i[e+4>>2]=r,i[e+16>>2]=72992,r=s[A+23|0]|s[A+24|0]<<8|(s[A+25|0]<<16|s[A+26|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,i[e+20>>2]=i[A+20>>2],i[e+28>>2]=11,P2(f,e)}B=e- -64|0}function an(){ys(67500,11841),Qs(67524,7515,1,0),u8(67536,5993,1,-128,127),u8(67560,5986,1,-128,127),u8(67548,5984,1,0,255),u8(67572,3039,2,-32768,32767),u8(67584,3030,2,0,65535),u8(67596,3054,4,-2147483648,2147483647),u8(67608,3045,4,0,-1),u8(67620,8520,4,-2147483648,2147483647),u8(67632,8511,4,0,-1),mo(67644,3548,-2147483648,2147483647),mo(67656,3547,0,-1),ek(67668,3380,4),ek(67680,10287,8),rk(73728,8551),rk(46300,16143),sA(46372,4,8525),sA(46448,2,8563),sA(46524,4,8578),Is(73828),R1(46564,0,16074),R1(46604,0,16176),R1(73936,1,16104),R1(46644,2,15639),R1(46684,3,15670),R1(46724,4,15710),R1(46764,5,15739),R1(46804,4,16213),R1(46844,5,16243),R1(46604,0,15841),R1(73936,1,15808),R1(46644,2,15907),R1(46684,3,15873),R1(46724,4,16041),R1(46764,5,16007),R1(46884,8,15974),R1(46924,9,15940),R1(46964,6,15777),R1(47004,7,16282)}function _m(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;A=B-32|0,B=A,f=i[f>>2],n=i[f+48>>2],k=i[f+52>>2],k&&(i[k+4>>2]=i[k+4>>2]+1),i[A+28>>2]=0,i[A+20>>2]=0,i[A+24>>2]=0,I1(A,n,e,A+20|0);i:{if(i[A>>2]||(e=r-1|0,f=i[A+20>>2],e>>>0>=i[A+24>>2]-f>>3>>>0))break i;if(f=f+(e<<3)|0,e=i[f>>2],f=i[f+4>>2],!f){t=i[e+16>>2];break i}if(r=i[f+4>>2],n=r+1|0,i[f+4>>2]=n,t=i[e+16>>2],i[f+4>>2]=r,n)break i;V[i[i[f>>2]+8>>2]](f),g(f)}if(l[A+19|0]<0&&G(i[A+8>>2]),r=i[A+20>>2],r){if(f=i[A+24>>2],e=r,(f|0)!=(e|0)){for(;;){e=i[f-4>>2];i:{if(!e||(n=i[e+4>>2],i[e+4>>2]=n-1,n))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(f=f-8|0,(r|0)==(f|0))break}e=i[A+20>>2]}i[A+24>>2]=r,G(e)}i:{if(!k||(f=i[k+4>>2],i[k+4>>2]=f-1,f))break i;V[i[i[k>>2]+8>>2]](k),g(k)}return B=A+32|0,t|0}function vm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0;A=B-32|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(A,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(k=i[19565],i[A>>2]=i[19564],i[A+4>>2]=k,k=A+8|0,l[78275]>=0){n=i[19567],i[k>>2]=i[19566],i[k+4>>2]=n,i[k+8>>2]=i[19568];break i}_0(k,i[19566],i[19567])}l[A+19|0]<0&&G(i[A+8>>2]);i:{if(s[e+48|0]){h4(f,e,9769);break i}if(t=e,o=D0(r),i[t+56>>2]=o,t=e,o=D0(r),i[t+60>>2]=o,s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(f,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function mm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-32|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(A,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(k=i[19565],i[A>>2]=i[19564],i[A+4>>2]=k,k=A+8|0,l[78275]>=0){n=i[19567],i[k>>2]=i[19566],i[k+4>>2]=n,i[k+8>>2]=i[19568];break i}_0(k,i[19566],i[19567])}l[A+19|0]<0&&G(i[A+8>>2]),k=s[e+48|0];i:{if(k>>>0>=2){h4(f,e,7091);break i}r:{if(!k){k=t2(r);break r}k=D0(r)}if(i[e+56>>2]=k,s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(f,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function ei(f,e,r){var A=0,k=0,n=0;A=B-32|0,B=A,i[A+28>>2]=0,i[A+20>>2]=0,i[A+24>>2]=0,I1(A,e,r,A+20|0);i:{if(i[A>>2]){i[f>>2]=0,i[f+4>>2]=0;break i}r:{if(r=i[A+20>>2],k=i[A+24>>2],(r|0)!=(k|0)){if(e=i[r>>2],e&&(n=i[f+4>>2],e=N0(e,68572,68596),e))break r;if(r=r+8|0,(k|0)!=(r|0))for(;;){if(e=i[r>>2],e&&(n=0,e=N0(e,68572,68596),e))break r;if(r=r+8|0,(k|0)==(r|0))break}i[f>>2]=0,i[f+4>>2]=0}i[f>>2]=0,i[f+4>>2]=0;break i}if(i[f+4>>2]=n,i[f>>2]=e,e=f,f=i[r+4>>2],i[e+4>>2]=f,!f)break i;i[f+4>>2]=i[f+4>>2]+1}if(l[A+19|0]<0&&G(i[A+8>>2]),f=i[A+20>>2],f){if(e=f,r=i[A+24>>2],(f|0)!=(r|0)){for(;;){e=i[r-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(r=r-8|0,(f|0)==(r|0))break}e=i[A+20>>2]}i[A+24>>2]=f,G(e)}B=A+32|0}function Sn(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;k=B-32|0,B=k;i:{if(!r){if(l[k|0]=0,l[k+11|0]=0,r=r0(k+12|0,5,2001,k),l[k+11|0]<0&&G(i[k>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break i;G(i[r+8>>2]);break i}if(A=i[e>>2],t=i[A+40>>2],A=i[A+44>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),!t){if(l[k|0]=0,l[k+11|0]=0,r=r0(k+12|0,2,124,k),l[k+11|0]<0&&G(i[k>>2]),P0(f,r,i[e>>2]),l[r+19|0]<0&&G(i[r+8>>2]),!A||(f=i[A+4>>2],i[A+4>>2]=f-1,f))break i;V[i[i[A>>2]+8>>2]](A),g(A);break i}n=U(16),i[n+8>>2]=0,i[n+12>>2]=0,i[r>>2]=n,i[n+4>>2]=A,i[n>>2]=t,r=i[e>>2],A=i[e+4>>2];r:{if(!A){i[n+12>>2]=A,i[n+8>>2]=r;break r}if(i[A+4>>2]=i[A+4>>2]+1,i[n+8>>2]=r,r=i[n+12>>2],i[n+12>>2]=A,!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break r;V[i[i[r>>2]+8>>2]](r),g(r)}P0(f,78256,i[e>>2])}B=k+32|0}function NA(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;i:{if(r=i[f>>2],k=(i[f+4>>2]-r|0)/12|0,t=k+1|0,t>>>0<357913942){if(A=(i[f+8>>2]-r|0)/12|0,r=A<<1,r=A>>>0>=178956970?357913941:r>>>0>t>>>0?r:t,r){if(r>>>0>=357913942)break i;o=U(m(r,12))}A=m(k,12)+o|0,i[A>>2]=i[e>>2],i[A+4>>2]=i[e+4>>2],i[A+8>>2]=i[e+8>>2],i[e+8>>2]=0,i[e>>2]=0,i[e+4>>2]=0,t=m(r,12)+o|0,u=A+12|0,e=i[f+4>>2],n=i[f>>2];r:{if((e|0)==(n|0)){r=A;break r}for(;o=A-4|0,i[o>>2]=0,r=A-12|0,k=e-12|0,i[r>>2]=i[k>>2],i[A-8>>2]=i[e-8>>2],e=e-4|0,i[o>>2]=i[e>>2],i[e>>2]=0,i[k>>2]=0,i[k+4>>2]=0,A=r,e=k,(n|0)!=(e|0););e=i[f+4>>2],n=i[f>>2]}if(i[f+8>>2]=t,i[f+4>>2]=u,i[f>>2]=r,(e|0)!=(n|0))for(;f=e-12|0,r=i[f>>2],r&&(i[e-8>>2]=r,G(r)),e=f,(n|0)!=(e|0););return n&&G(n),u}y0(),P()}_2(),P()}function Bm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,n=i[13708],i[A+12>>2]=n,k=A+12|0,i[k+i[n-12>>2]>>2]=i[13709],n=k+i[i[A+12>>2]-12>>2]|0,t=A+16|0,b0(n,t),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,n=$0(t),i[n>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,t=A+148|0,R2(t,e,r),o=k,u=t,k=l[A+159|0],t=(k|0)<0,x(o,t?i[A+148>>2]:u,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),t=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:t,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(L0(x(r,19959,11),i[e+52>>2]-i[e+48>>2]|0),31338,1),i2(f,n),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[n>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(n),T0(A+68|0),B=A+160|0}function On(f){var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;i:{r:{if(n=i[f+20>>2],e=i[f+24>>2],(n|0)!=(e|0)){if(A=e-n|0,r=A>>2,r>>>0<2)break i;if(e=1,k=r-1|0,_=k&1,r=i[i[n>>2]+96>>2],(A|0)==8){k=0;break r}for(u=k&-2,k=0,A=0;t=i[i[(e<<2)+n>>2]+96>>2],o=(t|0)<(r|0),h=e+1|0,w=i[i[(h<<2)+n>>2]+96>>2],r=o?t:r,t=(w|0)<(r|0),r=t?w:r,k=t?h:o?e:k,e=e+2|0,A=A+2|0,(u|0)!=(A|0););break r}C0(18471,14064,147,5718),P()}if(!_)break i;k=i[i[(e<<2)+n>>2]+96>>2]<(r|0)?e:k}A=i[f+52>>2],r=A+i[f+48>>2]|0,o=i[f+40>>2],e=i[f+36>>2],(r|0)==(((e|0)!=(o|0)?(o-e<<8)-1|0:0)|0)?(Gr(f+32|0),A=i[f+52>>2],r=A+i[f+48>>2]|0,u=i[f+36>>2]):u=e,e=k<<2,i[i[u+(r>>>8&16777212)>>2]+((r&1023)<<2)>>2]=i[e+n>>2],i[f+52>>2]=A+1,i[e+i[f+20>>2]>>2]=i[i[f+24>>2]-4>>2],i[f+24>>2]=i[f+24>>2]-4}function Zm(f,e){f=f|0,e=e|0;var r=0;i:{if((e|0)<12)break i;if(r=jn(f+8|0),(r&27)-1>>>0<2)return 13793;if(r=r-3|0,r>>>0>=16|!(50163>>>r&1))break i;return i[(r<<2)+74144>>2]}r=2;i:{if((e|0)<12)break i;r:{e:{if(s[f|0]!=255|s[f+1|0]!=216)break e;A:{if(s[f+2|0]!=255|s[f+3|0]!=224|(s[f+4|0]|s[f+5|0]!=16)||s[f+6|0]!=74|s[f+7|0]!=70|(s[f+8|0]!=73|s[f+9|0]!=70)||s[f+10|0])break A;if(r=1,s[f+11|0]==1)break r}if(s[f+2|0]!=255|s[f+3|0]!=225|(s[f+6|0]!=69|s[f+7|0]!=120)||s[f+8|0]!=105|s[f+9|0]!=102|(s[f+10|0]|s[f+11|0]))break e;r=1;break i}r=0}}if((r|0)==1)return 8704;i:{if(s[f|0]!=137|(e|0)<8|(s[f+1|0]!=80|s[f+2|0]!=78)||s[f+3|0]!=71|s[f+4|0]!=13|(s[f+5|0]!=10|s[f+6|0]!=26)||s[f+7|0]!=10)break i;return 8501}return 31341}function pm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0;n=B-32|0,B=n,A=i[f+28>>2],i[n+16>>2]=A,t=i[f+20>>2],i[n+28>>2]=r,i[n+24>>2]=e,e=t-A|0,i[n+20>>2]=e,t=e+r|0,u=2;i:{r:{e=n+16|0,A=uA(i[f+60>>2],e|0,2,n+12|0)|0,A?(i[23944]=A,A=-1):A=0;e:{A:{if(A){A=e;break A}for(;;){if(k=i[n+12>>2],(k|0)==(t|0))break e;if((k|0)<0){A=e;break r}if(o=i[e+4>>2],h=o>>>0<k>>>0,A=(h<<3)+e|0,o=k-(h?o:0)|0,i[A>>2]=o+i[A>>2],e=(h?12:4)+e|0,i[e>>2]=i[e>>2]-o,t=t-k|0,e=A,u=u-h|0,k=uA(i[f+60>>2],e|0,u|0,n+12|0)|0,k?(i[23944]=k,k=-1):k=0,!!k)break}}if((t|0)!=-1)break r}e=i[f+44>>2],i[f+28>>2]=e,i[f+20>>2]=e,i[f+16>>2]=e+i[f+48>>2],f=r;break i}if(i[f+28>>2]=0,i[f+16>>2]=0,i[f+20>>2]=0,i[f>>2]=i[f>>2]|32,f=0,(u|0)==2)break i;f=r-i[A+4>>2]|0}return B=n+32|0,f|0}function I2(f){var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;e=i[f+112>>2],A=i[f+116>>2],u=(e|A)!=0,o=e,k=i[f+4>>2],n=i[f+44>>2],e=k-n|0,t=e,r=e+i[f+120>>2]|0,e=i[f+124>>2]+(e>>31)|0;i:{if(e=r>>>0<t>>>0?e+1|0:e,!(((e|0)>=(A|0)&r>>>0>=o>>>0|(e|0)>(A|0))&u)){if(u=ve(f),(u|0)>=0)break i;k=i[f+4>>2],n=i[f+44>>2]}return i[f+112>>2]=-1,i[f+116>>2]=-1,i[f+104>>2]=k,t=r,r=n-k|0,A=t+r|0,e=(r>>31)+e|0,i[f+120>>2]=A,i[f+124>>2]=r>>>0>A>>>0?e+1|0:e,-1}A=r+1|0,e=A?e:e+1|0,o=i[f+4>>2],n=i[f+8>>2],r=i[f+116>>2],t=r,k=i[f+112>>2];i:{if(!(r|k)||(r=k-A|0,k=t-(e+(A>>>0>k>>>0)|0)|0,h=n-o|0,t=h>>31,(k|0)>=(t|0)&r>>>0>=h>>>0|(k|0)>(t|0)))break i;n=r+o|0}return i[f+104>>2]=n,r=i[f+44>>2],n=r-o|0,A=n+A|0,e=(n>>31)+e|0,i[f+120>>2]=A,i[f+124>>2]=A>>>0<n>>>0?e+1|0:e,r>>>0>=o>>>0&&(l[o-1|0]=u),u}function Wm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,n=i[13708],i[A+12>>2]=n,k=A+12|0,i[k+i[n-12>>2]>>2]=i[13709],n=k+i[i[A+12>>2]-12>>2]|0,t=A+16|0,b0(n,t),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,n=$0(t),i[n>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,t=A+148|0,R2(t,e,r),o=k,u=t,k=l[A+159|0],t=(k|0)<0,x(o,t?i[A+148>>2]:u,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),t=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:t,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(H0(x(r,20232,10),i[e+48>>2]),31324,15),i2(f,n),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[n>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(n),T0(A+68|0),B=A+160|0}function Xm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,n=i[13708],i[A+12>>2]=n,k=A+12|0,i[k+i[n-12>>2]>>2]=i[13709],n=k+i[i[A+12>>2]-12>>2]|0,t=A+16|0,b0(n,t),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,n=$0(t),i[n>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,t=A+148|0,R2(t,e,r),o=k,u=t,k=l[A+159|0],t=(k|0)<0,x(o,t?i[A+148>>2]:u,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),t=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:t,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(L0(x(r,21276,10),Q[e+48>>1]),31338,1),i2(f,n),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[n>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(n),T0(A+68|0),B=A+160|0}function Gm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,n=i[13708],i[A+12>>2]=n,k=A+12|0,i[k+i[n-12>>2]>>2]=i[13709],n=k+i[i[A+12>>2]-12>>2]|0,t=A+16|0,b0(n,t),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,n=$0(t),i[n>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,t=A+148|0,R2(t,e,r),o=k,u=t,k=l[A+159|0],t=(k|0)<0,x(o,t?i[A+148>>2]:u,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),t=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:t,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(H0(x(r,19502,10),s[e+48|0]),31338,1),i2(f,n),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[n>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(n),T0(A+68|0),B=A+160|0}function jn(f){var e=0,r=0,A=0,k=0,n=0;e=B-16|0,B=e;i:{if(!f||(A=s[f|0],!A)||(k=s[f+1|0],!k)||(n=s[f+2|0],!n)||(f=s[f+3|0],!f))break i;if(l[e+15|0]=0,l[e+14|0]=f,l[e+13|0]=n,l[e+12|0]=k,l[e+11|0]=A,!K2(e+11|0,13799,5)){r=1;break i}if(!K2(e+11|0,2453,5)){r=2;break i}if(!K2(e+11|0,13659,5)){r=3;break i}if(!K2(e+11|0,1504,5)){r=4;break i}if(r=5,f=e+11|0,!K2(f,7112,5))break i;if(!K2(f,4072,5)){r=6;break i}if(!K2(e+11|0,7086,5)){r=7;break i}if(!K2(e+11|0,3556,5)){r=8;break i}if(!K2(e+11|0,16939,5)){r=9;break i}if(!K2(e+11|0,16934,5)){r=10;break i}if(!K2(e+11|0,8791,5)){r=11;break i}if(!K2(e+11|0,4067,5)){r=12;break i}if(!K2(e+11|0,13788,5)){r=13;break i}if(!K2(e+11|0,8179,5)){r=17;break i}r=K2(e+11|0,4083,5)?0:18}return B=e+16|0,r}function Cm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,n=i[13708],i[A+12>>2]=n,k=A+12|0,i[k+i[n-12>>2]>>2]=i[13709],n=k+i[i[A+12>>2]-12>>2]|0,t=A+16|0,b0(n,t),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,n=$0(t),i[n>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,t=A+148|0,R2(t,e,r),o=k,u=t,k=l[A+159|0],t=(k|0)<0,x(o,t?i[A+148>>2]:u,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),t=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:t,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(L0(x(r,21529,9),i[e+56>>2]),31338,1),i2(f,n),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[n>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(n),T0(A+68|0),B=A+160|0}function Vm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+68>>2]=54820,n=i[13708],i[A+12>>2]=n,k=A+12|0,i[k+i[n-12>>2]>>2]=i[13709],n=k+i[i[A+12>>2]-12>>2]|0,t=A+16|0,b0(n,t),i[n+72>>2]=0,i[n+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,n=$0(t),i[n>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,t=A+148|0,R2(t,e,r),o=k,u=t,k=l[A+159|0],t=(k|0)<0,x(o,t?i[A+148>>2]:u,t?i[A+152>>2]:k),l[A+159|0]<0&&G(i[A+148>>2]),k=A+148|0,W0(k,r),t=k,r=l[A+159|0],k=(r|0)<0,x(A+12|0,k?i[A+148>>2]:t,k?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(H0(x(r,20376,16),s[e+56|0]),31338,1),i2(f,n),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[n>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(n),T0(A+68|0),B=A+160|0}function Im(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0;if(n=B-32|0,B=n,t=V[i[i[e>>2]+32>>2]](e,r,0)|0,A=i[e+56>>2],o=i[e+60>>2],(A|0)!=(o|0))for(k=s[e+48|0],u=k?4:2,w=k?2:1;;){if(l2(r,((i[A+48>>2]-i[A+44>>2]>>2)+1<<w)+10|0),l2(r,i[A+16>>2]),k1(r,u,i[A+40>>2],0),w2(r,i[A+48>>2]-i[A+44>>2]>>>2&65535),k=i[A+44>>2],h=i[A+48>>2],(k|0)!=(h|0))for(;k1(r,u,i[k>>2],0),k=k+4|0,(h|0)!=(k|0););if(A=A+56|0,(o|0)==(A|0))break}i[r+12>>2]=t,V[i[i[e>>2]+36>>2]](n+12|0,e,r,i[r+4>>2]-(i[r>>2]+t|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[n+31|0]<0&&G(i[n+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=n+32|0}function Gi(f,e,r,A,k,n,t,o,u,h){var w=0,_=0,v=0;w=B-16|0,B=w,l[w+15|0]=f;i:{r:{e:{if(_=i[A>>2],(_|0)!=(r|0))break e;if(v=f&255,(v|0)==s[h+24|0])f=43;else{if(s[h+25|0]!=(v|0))break e;f=45}i[A>>2]=_+1,l[_|0]=f;break r}if(s[t+11|0]>>>7|0?t=i[t+4>>2]:t=s[t+11|0]&127,!(!t|(f|0)!=(n|0))){if(f=0,e=i[u>>2],(e-o|0)>159)break i;f=i[k>>2],i[u>>2]=e+4,i[e>>2]=f;break r}if(f=-1,n=T3(h,h+26|0,w+15|0)-h|0,(n|0)>23)break i;e:{A:switch(e-8|0){case 0:case 2:if((e|0)>(n|0))break e;break i;case 1:break e;default:break A}if((e|0)!=16|(n|0)<22)break e;if(e=i[A>>2],(e|0)==(r|0)|(e-r|0)>2|s[e-1|0]!=48)break i;f=0,i[k>>2]=0,i[A>>2]=e+1,l[e|0]=s[n+60064|0];break i}f=i[A>>2],i[A>>2]=f+1,l[f|0]=s[n+60064|0],i[k>>2]=i[k>>2]+1,f=0;break i}f=0,i[k>>2]=0}return B=w+16|0,f}function RA(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;i:{r:{if(n=i[e+108>>2],o=e+112|0,(n|0)!=(o|0))for(;;){u=i[i[n+20>>2]+56>>2];e:{if(A>>>0<k>>>0){i[A>>2]=u,r=A+4|0;break e}if(r=A-t>>2,e=r+1|0,e>>>0>=1073741824)break r;if(h=r<<2,r=k-t|0,k=r>>1,r=r>>>0>=2147483644?1073741823:e>>>0<k>>>0?k:e,r){if(r>>>0>=1073741824)break i;k=U(r<<2)}else k=0;if(e=h+k|0,i[e>>2]=u,k=k+(r<<2)|0,r=e+4|0,(A|0)!=(t|0))for(;e=e-4|0,A=A-4|0,i[e>>2]=i[A>>2],(A|0)!=(t|0););i[f+8>>2]=k,i[f+4>>2]=r,i[f>>2]=e,t&&G(t),t=e}A=r,i[f+4>>2]=A,r=i[n+4>>2];e:{if(r){for(;;)if(e=r,r=i[e>>2],!r)break e}for(;e=i[n+8>>2],r=i[e>>2]!=(n|0),n=e,!!r;);}if(n=e,(e|0)==(o|0))break}return}y0(),P()}_2(),P()}function Pn(f,e){var r=0,A=0,k=0,n=0,t=0;k=B-16|0,B=k,t=i[23985],i[e+72>>2]<=0&&z3(e),i[23985]=i[e+136>>2];i:{r:{e:{if(f>>>0<=127){A:{if(i[e+80>>2]==(f|0)||(r=i[e+20>>2],(r|0)==i[e+16>>2]))break A;i[e+20>>2]=r+1,l[r|0]=f;break i}A=B-16|0,B=A,l[A+15|0]=f,r=i[e+16>>2];A:{if(!r){if(G3(e)){r=-1;break A}r=i[e+16>>2]}f:{if(n=i[e+20>>2],(r|0)==(n|0)||(r=f&255,(r|0)==i[e+80>>2]))break f;i[e+20>>2]=n+1,l[n|0]=f;break A}if((V[i[e+36>>2]](e,A+15|0,1)|0)!=1){r=-1;break A}r=s[A+15|0]}B=A+16|0,f=r;break e}if(r=i[e+20>>2],k0[e+16>>2]>r+4>>>0){if(r=ye(r,f),(r|0)<0)break r;i[e+20>>2]=r+i[e+20>>2];break e}if(A=k+12|0,r=ye(A,f),(r|0)<0||ee(A,r,e)>>>0<r>>>0)break r}if((f|0)!=-1)break i}i[e>>2]=i[e>>2]|32,f=-1}return i[23985]=t,B=k+16|0,f}function Q2(f,e){var r=0,A=0,k=0,n=0,t=0,o=0;i:{if(A=i[f+4>>2],n=i[f>>2],o=A-n>>3,k=o+1|0,k>>>0<536870912){if(r=i[f+8>>2]-n|0,t=r>>2,r=r>>>0>=2147483640?536870911:k>>>0<t>>>0?t:k,r){if(r>>>0>=536870912)break i;t=U(r<<3)}else t=0;k=t+(o<<3)|0,i[k>>2]=i[e>>2],e=i[e+4>>2],i[k+4>>2]=e,o=t+(r<<3)|0,t=k+8|0,e&&(i[e+4>>2]=i[e+4>>2]+1,n=i[f>>2],A=i[f+4>>2]);r:{if((A|0)==(n|0)){e=k;break r}for(;e=k-8|0,r=A-8|0,i[e>>2]=i[r>>2],i[k-4>>2]=i[A-4>>2],i[r>>2]=0,i[r+4>>2]=0,k=e,A=r,(r|0)!=(n|0););A=i[f+4>>2],n=i[f>>2]}if(i[f+8>>2]=o,i[f+4>>2]=t,i[f>>2]=e,(A|0)!=(n|0))for(;;){f=i[A-4>>2];r:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(A=A-8|0,(n|0)==(A|0))break}return n&&G(n),t}y0(),P()}_2(),P()}function Ci(f,e,r,A,k,n,t,o,u,h){var w=0,_=0;w=B-16|0,B=w,i[w+12>>2]=f;i:{r:{e:{if(_=i[A>>2],(_|0)!=(r|0))break e;if(i[h+96>>2]==(f|0))f=43;else{if(i[h+100>>2]!=(f|0))break e;f=45}i[A>>2]=_+1,l[_|0]=f;break r}if(s[t+11|0]>>>7|0?t=i[t+4>>2]:t=s[t+11|0]&127,!(!t|(f|0)!=(n|0))){if(f=0,e=i[u>>2],(e-o|0)>159)break i;f=i[k>>2],i[u>>2]=e+4,i[e>>2]=f;break r}if(f=-1,n=H3(h,h+104|0,w+12|0)-h>>2,(n|0)>23)break i;e:{A:switch(e-8|0){case 0:case 2:if((e|0)>(n|0))break e;break i;case 1:break e;default:break A}if((e|0)!=16|(n|0)<22)break e;if(e=i[A>>2],(e|0)==(r|0)|(e-r|0)>2|s[e-1|0]!=48)break i;f=0,i[k>>2]=0,i[A>>2]=e+1,l[e|0]=s[n+60064|0];break i}f=i[A>>2],i[A>>2]=f+1,l[f|0]=s[n+60064|0],i[k>>2]=i[k>>2]+1,f=0;break i}f=0,i[k>>2]=0}return B=w+16|0,f}function A2(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;i:{if(r=i[f+12>>2],o=i[f+4>>2],n=i[f>>2],u=o-n|0,(r|0)==(u|0)){k=i[f+8>>2];r:{if(k>>>0>o>>>0){l[o|0]=e,h=o+1|0;break r}if(t=r+1|0,(t|0)<0)break i;A=k-n|0,k=A<<1,t=A>>>0>=1073741823?2147483647:k>>>0>t>>>0?k:t,t?k=U(t):k=0,A=r+k|0,l[A|0]=e,t=k+t|0,h=A+1|0;e:{if((n|0)==(o|0)){k=A;break e}u=u&3;A:{if(!u){r=o;break A}for(e=0,r=o;A=A-1|0,r=r-1|0,l[A|0]=s[r|0],e=e+1|0,(u|0)!=(e|0););}if(n-o>>>0<=4294967292)for(;l[A-1|0]=s[r-1|0],l[A-2|0]=s[r-2|0],l[A-3|0]=s[r-3|0],A=A-4|0,r=r-4|0,l[A|0]=s[r|0],(r|0)!=(n|0););n=i[f>>2]}if(i[f+8>>2]=t,i[f+4>>2]=h,i[f>>2]=k,!n)break r;G(n)}i[f+4>>2]=h,i[f+12>>2]=i[f+12>>2]+1;return}i[f+12>>2]=r+1,l[r+n|0]=e;return}y0(),P()}function Qm(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e,A=i[r+4>>2];i:{if(!(!s[k+12|0]|((A|0)==3|i[k+8>>2]==1))){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}r:{if(!(i[r>>2]|(A|0)!=1|i[r+12>>2]!=8)&&s[r+8|0]!=1)break r;i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(A=Q[r+24>>1],!(A>>>0>14|!(1<<A&18689))){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(r=s[r+26|0],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,(r|0)!=1)break i;r=V8(e+36|0),i[r+12>>2]=8,i[r>>2]=1,i[r+4>>2]=10,l[r+8|0]=0,A=i[r+12>>2],i[e+8>>2]=i[r+8>>2],i[e+12>>2]=A,A=i[r+4>>2],i[e>>2]=i[r>>2],i[e+4>>2]=A,i[e+16>>2]=72992,A=s[r+23|0]|s[r+24|0]<<8|(s[r+25|0]<<16|s[r+26|0]<<24),l[e+23|0]=A,l[e+24|0]=A>>>8,l[e+25|0]=A>>>16,l[e+26|0]=A>>>24,i[e+20>>2]=i[r+20>>2],i[e+28>>2]=11,P2(f,e)}B=e- -64|0}function Ln(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;if(r=i[f+48>>2],n=i[f+52>>2],A=n,t=r-A|0,k=A>>31,r=(r>>31)-(k+(r>>>0<A>>>0)|0)|0,u=r,(r-(t>>>0<2147483648)|0)!=-1){for(;n=k>>31,r=A+(n|1)|0,k=n+k|0,A=o2(r,r>>>0<A>>>0?k+1|0:k,2,0),k=w0,n=u>>31,r=t+(n|1)|0,n=n+u|0,t=o2(r,r>>>0<t>>>0?n+1|0:n,2,0),r=w0,u=r,(r-(t>>>0<2147483648)|0)!=-1;);n=A,k=A>>31}if(r=A,o=k,f=Ir(f,e),f=q0(r,k,f,f>>31),k=u+w0|0,A=f+t|0,k=A>>>0<t>>>0?k+1|0:k,(k-(A>>>0<2147483648)|0)!=-1){for(;f=o>>31,e=r+(f|1)|0,f=f+o|0,r=o2(e,e>>>0<r>>>0?f+1|0:f,2,0),o=w0,f=k>>31,n=f,f=A+(f|1)|0,n=n+k|0,A=o2(f,f>>>0<A>>>0?n+1|0:n,2,0),f=w0,k=f,(f-(A>>>0<2147483648)|0)!=-1;);n=r,o=r>>31}return e=A,f=(n|0)/2|0,A=f,e=e+f|0,f=(f>>31)+k|0,o2(e,e>>>0<A>>>0?f+1|0:f,r,o)}function Kn(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;if(r=i[f+56>>2],n=i[f+60>>2],A=n,t=r-A|0,k=A>>31,r=(r>>31)-(k+(r>>>0<A>>>0)|0)|0,u=r,(r-(t>>>0<2147483648)|0)!=-1){for(;n=k>>31,r=A+(n|1)|0,k=n+k|0,A=o2(r,r>>>0<A>>>0?k+1|0:k,2,0),k=w0,n=u>>31,r=t+(n|1)|0,n=n+u|0,t=o2(r,r>>>0<t>>>0?n+1|0:n,2,0),r=w0,u=r,(r-(t>>>0<2147483648)|0)!=-1;);n=A,k=A>>31}if(r=A,o=k,f=Vr(f,e),f=q0(r,k,f,f>>31),k=u+w0|0,A=f+t|0,k=A>>>0<t>>>0?k+1|0:k,(k-(A>>>0<2147483648)|0)!=-1){for(;f=o>>31,e=r+(f|1)|0,f=f+o|0,r=o2(e,e>>>0<r>>>0?f+1|0:f,2,0),o=w0,f=k>>31,n=f,f=A+(f|1)|0,n=n+k|0,A=o2(f,f>>>0<A>>>0?n+1|0:n,2,0),f=w0,k=f,(f-(A>>>0<2147483648)|0)!=-1;);n=r,o=r>>31}return e=A,f=(n|0)/2|0,A=f,e=e+f|0,f=(f>>31)+k|0,o2(e,e>>>0<A>>>0?f+1|0:f,r,o)}function ym(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;if(k=B-32|0,B=k,t=V[i[i[e>>2]+32>>2]](e,r,0)|0,A2(r,s[e+48|0]),A2(r,s[e+49|0]),A2(r,s[e+50|0]),A2(r,s[e+51|0]),A2(r,(s[e+52|0]-1|252)&255),A2(r,((i[e+60>>2]-i[e+56>>2]|0)/12|224)&255),A=i[e+56>>2],n=i[e+60>>2],(A|0)!=(n|0))for(;w2(r,i[A+4>>2]-i[A>>2]&65535),D4(r,A),A=A+12|0,(n|0)!=(A|0););if(A2(r,(i[e+72>>2]-i[e+68>>2]|0)/12&255),A=i[e+68>>2],n=i[e+72>>2],(A|0)!=(n|0))for(;w2(r,i[A+4>>2]-i[A>>2]&65535),D4(r,A),A=A+12|0,(n|0)!=(A|0););Y4(k+12|0,e,r,t),l[k+31|0]<0&&G(i[k+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+32|0}function DA(f,e){var r=0,A=0,k=0,n=0,t=0,o=0;o=e+31|0,n=i[f+12>>2]<<7,A=Q[f+20>>1],r=i[f+16>>2];i:{for(;;){A=A+1|0,X[f+20>>1]=A,r=r<<1,i[f+16>>2]=r,A=A<<16>>16;r:{if((A|0)<0||(A=65528,X[f+20>>1]=65528,k=i[f+4>>2],k>>>0>=k0[f+8>>2]))break r;i[f+4>>2]=k+1,r=s[k|0]|r,i[f+16>>2]=r}if(r>>>0<n>>>0)break i;if(r=r-n|0,i[f+16>>2]=r,t=(1<<e)+t|0,k=(e|0)==(o|0),e=e+1|0,!!k)break}return 0}if((e|0)<=8){if(!e)return t;A=e+A|0,X[f+20>>1]=A,r=r<<e,i[f+16>>2]=r,A=A<<16>>16;i:{if((A|0)<0||(k=i[f+4>>2],k>>>0>=k0[f+8>>2]))break i;i[f+4>>2]=k+1,k=s[k|0],X[f+20>>1]=A-8,r=k<<A|r}return A=(r>>>0)/(n>>>0)|0,e=1<<e,(A|0)>=(e|0)&&(A=e-1|0),i[f+16>>2]=r-m(A,n),A+t|0}for(r=e-8|0,e=_9(f);e=x1(f)|e<<1,r=r-1|0,!!r;);return e+t|0}function Fm(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;k=B-16|0,B=k;i:{if((e|0)!=-1){if(o=i[f+12>>2],u=i[f+8>>2],n=i[f+24>>2],(n|0)==i[f+28>>2]){if(r=-1,!(s[f+48|0]&16))break i;t=i[f+20>>2],h=i[f+44>>2],A=f+32|0,C6(A,0),h2(A,s[A+11|0]>>>7|0?(i[A+8>>2]&2147483647)-1|0:10),s[A+11|0]>>>7|0?r=i[A>>2]:r=A,s[A+11|0]>>>7|0?A=i[A+4>>2]:A=s[A+11|0]&127,i[f+28>>2]=A+r,i[f+20>>2]=r,i[f+24>>2]=r,i[f+24>>2]=i[f+24>>2]+(n-t|0),i[f+44>>2]=i[f+20>>2]+(h-t|0)}i[k+12>>2]=i[f+24>>2]+1,r=B-16|0,B=r,B=r+16|0,A=f+44|0,r=k+12|0,i[f+44>>2]=i[(k0[r>>2]<k0[A>>2]?A:r)>>2],s[f+48|0]&8&&(r=f+32|0,s[r+11|0]>>>7|0&&(r=i[r>>2]),i[f+16>>2]=i[f+44>>2],i[f+12>>2]=r+(o-u|0),i[f+8>>2]=r),r=lt(f,e<<24>>24);break i}r=(e|0)!=-1?e:0}return B=k+16|0,r|0}function Em(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;k=B-16|0,B=k,i[k+12>>2]=r,i[f+16>>2]=0,i[f+12>>2]=0,i[f+8>>2]=0,i[f+28>>2]=0,i[f+20>>2]=0,i[f+24>>2]=0;i:{if(s[f+96|0]!=1||(A=i[f+32>>2],!A))break i;G(A)}i:{if(s[f+97|0]!=1||(A=i[f+56>>2],!A))break i;G(A)}i[f+52>>2]=r;i:{r:{e:{A:{if(r>>>0>=9){if(A=s[f+98|0],!e||(n=A&1,!n))break A;if(l[f+96|0]=0,i[f+32>>2]=e,!n)break r;break e}if(l[f+96|0]=0,i[f+52>>2]=8,i[f+32>>2]=f+44,l[f+98|0]&1)break e;break r}if(r=U(r),l[f+96|0]=1,i[f+32>>2]=r,!(A&1))break r}e=0,i[f+60>>2]=0,r=0;break i}if(i[k+8>>2]=8,r=B-16|0,B=r,B=r+16|0,r=k+8|0,A=k+12|0,A=i[(i[A>>2]<i[r>>2]?r:A)>>2],i[f+60>>2]=A,e&&(r=0,A>>>0>8))break i;e=U(A),r=1}return l[f+97|0]=r,i[f+56>>2]=e,B=k+16|0,f|0}function Ym(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e,A=i[r+4>>2];i:{if(!(!s[k+12|0]|((A|0)==3|i[k+8>>2]==1))){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}if(!(!i[r>>2]&A-1>>>0<=2)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}r:switch(Q[r+24>>1]-11|0){case 0:case 3:i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i;default:break r}if(A=i[r+12>>2],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,(A|0)<9)break i;A=V8(e+36|0),i[A>>2]=1,i[A+4>>2]=3,l[A+8|0]=s[r+8|0],i[A+12>>2]=i[r+12>>2],r=i[A+12>>2],i[e+8>>2]=i[A+8>>2],i[e+12>>2]=r,r=i[A+4>>2],i[e>>2]=i[A>>2],i[e+4>>2]=r,i[e+16>>2]=72992,r=s[A+23|0]|s[A+24|0]<<8|(s[A+25|0]<<16|s[A+26|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,i[e+20>>2]=i[A+20>>2],i[e+28>>2]=11,P2(f,e)}B=e- -64|0}function h4(f,e,r){var A=0,k=0,n=0,t=0,o=0;A=B-160|0,B=A,i[A+24>>2]=54496,i[A+80>>2]=54516,k=i[13633],i[A+16>>2]=k,n=A+16|0,i[n+i[k-12>>2]>>2]=i[13634],i[A+20>>2]=0,k=i[i[A+16>>2]-12>>2]+n|0,t=A+28|0,b0(k,t),i[k+72>>2]=0,i[k+76>>2]=-1,k=i[13635],i[A+24>>2]=k,o=A+24|0,i[o+i[k-12>>2]>>2]=i[13636],k=i[13632],i[A+16>>2]=k,i[i[k-12>>2]+n>>2]=i[13637],i[A+80>>2]=54516,i[A+16>>2]=54476,i[A+24>>2]=54496,n=$0(t),i[n>>2]=53552,i[A+68>>2]=0,i[A+72>>2]=0,i[A+60>>2]=0,i[A+64>>2]=0,i[A+76>>2]=24,x(H0(x(x(o,r,G2(r)),18913,18),s[e+48|0]),3320,23),e=A+4|0,i2(e,n),r0(f,4,3002,e),l[A+15|0]<0&&G(i[A+4>>2]),f=i[13631],i[A+16>>2]=f,i[i[f-12>>2]+(A+16|0)>>2]=i[13639],i[A+24>>2]=i[13640],i[n>>2]=53552,l[A+71|0]<0&&G(i[A+60>>2]),K0(n),T0(A+80|0),B=A+160|0}function UA(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0;o=B-32|0,B=o,t=U(132),i[t+4>>2]=0,i[t+8>>2]=0,i[t>>2]=72576,h=e,w=Ge(t+12|0),i[h+48>>2]=w,n=i[e+52>>2],i[e+52>>2]=t;i:{if(!n||(t=i[n+4>>2],i[n+4>>2]=t-1,t))break i;V[i[i[n>>2]+8>>2]](n),g(n)}u=i[e+48>>2],t=B-16|0,B=t,n=U(48),i[n+4>>2]=0,i[n+8>>2]=0,i[n>>2]=72912,r=W3(n+16|0,r,A,k),i[t+12>>2]=n,i[t+8>>2]=r,i[n+4>>2]=i[n+4>>2]+1,_A(o+8|0,u,t+8|0),r=i[n+4>>2],i[n+4>>2]=r-1,r||(V[i[i[n>>2]+8>>2]](n),g(n)),r=i[n+4>>2],i[n+4>>2]=r-1,r||(V[i[i[n>>2]+8>>2]](n),g(n)),B=t+16|0;i:{if(i[o+8>>2]){e=i[o+12>>2],i[f>>2]=i[o+8>>2],i[f+4>>2]=e,e=i[o+20>>2],i[f+8>>2]=i[o+16>>2],i[f+12>>2]=e,i[f+16>>2]=i[o+24>>2];break i}if(hA(f,e),l[o+27|0]>=0)break i;G(i[o+16>>2])}B=o+32|0}function z2(f,e){var r=0,A=0,k=0,n=0,t=0,o=0;i:{if(n=i[f+4>>2],t=i[f>>2],o=n-t>>3,r=o+1|0,r>>>0<536870912){if(A=i[f+8>>2]-t|0,k=A>>2,A=A>>>0>=2147483640?536870911:r>>>0<k>>>0?k:r,A){if(A>>>0>=536870912)break i;k=U(A<<3)}else k=0;r=k+(o<<3)|0,i[r>>2]=i[e>>2],i[r+4>>2]=i[e+4>>2],i[e>>2]=0,i[e+4>>2]=0,o=k+(A<<3)|0,k=r+8|0;r:{if((n|0)==(t|0)){e=r;break r}for(;e=r-8|0,A=n-8|0,i[e>>2]=i[A>>2],i[r-4>>2]=i[n-4>>2],i[A>>2]=0,i[A+4>>2]=0,r=e,n=A,(A|0)!=(t|0););}if(i[f+8>>2]=o,r=i[f>>2],i[f>>2]=e,e=i[f+4>>2],i[f+4>>2]=k,(e|0)!=(r|0))for(;;){f=i[e-4>>2];r:{if(!f||(n=i[f+4>>2],i[f+4>>2]=n-1,n))break r;V[i[i[f>>2]+8>>2]](f),g(f)}if(e=e-8|0,(r|0)==(e|0))break}return r&&G(r),k}y0(),P()}_2(),P()}function Jm(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0;if(!A){i[f>>2]=5,i[f+4>>2]=2001,i[f+8>>2]=3104;return}i:{if(n=i[e>>2],k=i[n+72>>2],t=i[n+76>>2],(k|0)!=(t|0))for(;;){if(n=i[k>>2],i[n>>2]==(r|0)){if(r=i[k+4>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),k=U(16),i[k+8>>2]=0,i[k+12>>2]=0,t=i[e>>2],e=i[e+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[k+4>>2]=e,i[k>>2]=t,r)break i;i[k+12>>2]=r,i[k+8>>2]=n,i[A>>2]=k,i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e;return}if(k=k+8|0,(t|0)==(k|0))break}i[f>>2]=5,i[f+4>>2]=2e3,i[f+8>>2]=2878;return}i[r+4>>2]=i[r+4>>2]+1,i[k+12>>2]=r,i[k+8>>2]=n,i[A>>2]=k,i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,f=i[r+4>>2],i[r+4>>2]=f-1,f||(V[i[i[r>>2]+8>>2]](r),g(r))}function Vi(f,e,r,A){var k=0,n=0,t=0;t=B-16|0,B=t,k=U(80),i[k+4>>2]=0,i[k+8>>2]=0,i[k>>2]=70984,n=k+16|0,i[n+8>>2]=0,i[n+12>>2]=0,i[n+16>>2]=0,i[n+20>>2]=0,i[n+24>>2]=0,i[n+28>>2]=0,i[n+32>>2]=0,i[n>>2]=68500,i[k+52>>2]=0,i[k+56>>2]=0,i[k+68>>2]=0,l[k+57|0]=0,l[k+58|0]=0,l[k+59|0]=0,l[k+60|0]=0,l[k+61|0]=0,l[k+62|0]=0,l[k+63|0]=0,l[k+64|0]=0,i[n>>2]=69264,i[k+76>>2]=A,i[k+72>>2]=r,i[k+32>>2]=1769173093,r=i[f+44>>2],i[t+12>>2]=k,i[t+8>>2]=n,i[k+4>>2]=i[k+4>>2]+1,A=N4(r,t+8|0),r=i[t+12>>2];i:{if(!r||(n=i[r+4>>2],i[r+4>>2]=n-1,n))break i;V[i[i[r>>2]+8>>2]](r),g(r)}f=i[f+52>>2],X[t+6>>1]=A+1,l[t+4|0]=0,i[t>>2]=Q[t+4>>1]|Q[t+6>>1]<<16,c1(f,e,t),f=i[k+4>>2],i[k+4>>2]=f-1,f||(V[i[i[k>>2]+8>>2]](k),g(k)),B=t+16|0}function qn(f,e,r,A){i:switch(e-9|0){case 0:e=i[r>>2],i[r>>2]=e+4,i[f>>2]=i[e>>2];return;case 6:e=i[r>>2],i[r>>2]=e+4,e=X[e>>1],i[f>>2]=e,i[f+4>>2]=e>>31;return;case 7:e=i[r>>2],i[r>>2]=e+4,i[f>>2]=Q[e>>1],i[f+4>>2]=0;return;case 8:e=i[r>>2],i[r>>2]=e+4,e=l[e|0],i[f>>2]=e,i[f+4>>2]=e>>31;return;case 9:e=i[r>>2],i[r>>2]=e+4,i[f>>2]=s[e|0],i[f+4>>2]=0;return;case 16:e=i[r>>2]+7&-8,i[r>>2]=e+8,i0[f>>3]=i0[e>>3];return;case 17:V[A|0](f,r);default:return;case 1:case 4:case 14:e=i[r>>2],i[r>>2]=e+4,e=i[e>>2],i[f>>2]=e,i[f+4>>2]=e>>31;return;case 2:case 5:case 11:case 15:e=i[r>>2],i[r>>2]=e+4,i[f>>2]=i[e>>2],i[f+4>>2]=0;return;case 3:case 10:case 12:case 13:break i}e=i[r>>2]+7&-8,i[r>>2]=e+8,r=i[e+4>>2],i[f>>2]=i[e>>2],i[f+4>>2]=r}function gm(f){f=f|0;var e=0,r=0,A=0;if(r=f+12|0,f=i[r+60>>2],A=r- -64|0,(f|0)!=(A|0))for(;;){e=i[f+44>>2],e&&G(e),e=i[f+4>>2];i:{if(e){for(;;)if(f=e,e=i[f>>2],!e)break i}for(;e=f,f=i[f+8>>2],(e|0)!=i[f>>2];);}if((f|0)==(A|0))break}if(e=i[r+112>>2],e){if(A=e,f=i[r+116>>2],(e|0)!=(f|0)){for(;l[f-1|0]<0&&G(i[f-12>>2]),f=f-20|0,(e|0)!=(f|0););A=i[r+112>>2]}i[r+116>>2]=e,G(A)}q3(r+60|0,i[r+64>>2]),f=i[r+56>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}f=i[r+48>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}l[r+19|0]<0&&G(i[r+8>>2]),f=i[r+4>>2],f&&g(f)}function $n(f,e,r,A,k,n){var t=0;t=B-80|0,B=t;i:{if((n|0)>=16384){if(d2(t+32|0,e,r,A,k,0,0,0,2147352576),A=i[t+40>>2],k=i[t+44>>2],e=i[t+32>>2],r=i[t+36>>2],n>>>0<32767){n=n-16383|0;break i}d2(t+16|0,e,r,A,k,0,0,0,2147352576),n=(n>>>0>=49149?49149:n)-32766|0,A=i[t+24>>2],k=i[t+28>>2],e=i[t+16>>2],r=i[t+20>>2];break i}if((n|0)>-16383)break i;if(d2(t- -64|0,e,r,A,k,0,0,0,7471104),A=i[t+72>>2],k=i[t+76>>2],e=i[t+64>>2],r=i[t+68>>2],n>>>0>4294934644){n=n+16269|0;break i}d2(t+48|0,e,r,A,k,0,0,0,7471104),n=(n>>>0<=4294918376?-48920:n)+32538|0,A=i[t+56>>2],k=i[t+60>>2],e=i[t+48>>2],r=i[t+52>>2]}d2(t,e,r,A,k,0,0,0,n+16383<<16),e=i[t+12>>2],i[f+8>>2]=i[t+8>>2],i[f+12>>2]=e,e=i[t+4>>2],i[f>>2]=i[t>>2],i[f+4>>2]=e,B=t+80|0}function f2(f,e){var r=0,A=0,k=0,n=0;A=i[f+12>>2],r=s[((s[e|0]<<1&508)+(A>>>6|0)|0)+43084|0],A=A-r|0,i[f+12>>2]=A,k=i[f+16>>2],A=A<<7;i:{if(k>>>0<A>>>0){if(k=e,r=s[e|0],e=r&1,l[k|0]=e|s[(r>>>1|0)+43344|0]<<1,A>>>0>32767||(i[f+12>>2]=A>>>6,A=i[f+16>>2]<<1,i[f+16>>2]=A,r=Q[f+20>>1]+1|0,X[f+20>>1]=r,(r|0)==(r&65535))||(X[f+20>>1]=65528,r=i[f+4>>2],r>>>0>=k0[f+8>>2]))break i;return i[f+4>>2]=r+1,i[f+16>>2]=A|s[r|0],e}if(n=s[(r>>>3|0)+43408|0],i[f+12>>2]=r<<n,i[f+16>>2]=k-A<<n,r=e,A=s[r|0],k=A&1,e=!k,l[r|0]=s[(A>>>1|0)+43440|0]<<1|(A>>>0<2?e:k),r=n+Q[f+20>>1]|0,X[f+20>>1]=r,r=r<<16>>16,(r|0)<0)break i;A=i[f+4>>2],A>>>0<k0[f+8>>2]&&(i[f+4>>2]=A+1,i[f+16>>2]=i[f+16>>2]|s[A|0]<<r),X[f+20>>1]=r-8}return e}function Nm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+80>>2]=54820,k=i[13708],i[A+24>>2]=k,n=A+24|0,i[n+i[k-12>>2]>>2]=i[13709],k=n+i[i[A+24>>2]-12>>2]|0,t=A+28|0,b0(k,t),i[k+72>>2]=0,i[k+76>>2]=-1,i[A+80>>2]=54820,i[A+24>>2]=54800,k=$0(t),i[k>>2]=53552,i[A+68>>2]=0,i[A+72>>2]=0,i[A+60>>2]=0,i[A+64>>2]=0,i[A+76>>2]=16,t=A+12|0,R2(t,e,r),o=n,u=t,n=l[A+23|0],t=(n|0)<0,x(o,t?i[A+12>>2]:u,t?i[A+16>>2]:n),l[A+23|0]<0&&G(i[A+12>>2]),n=A+12|0,rn(n,e,r,1),e=l[A+23|0],r=(e|0)<0,x(A+24|0,r?i[A+12>>2]:n,r?i[A+16>>2]:e),l[A+23|0]<0&&G(i[A+12>>2]),i2(f,k),f=i[13707],i[A+24>>2]=f,i[i[f-12>>2]+(A+24|0)>>2]=i[13710],i[k>>2]=53552,l[A+71|0]<0&&G(i[A+60>>2]),K0(k),T0(A+80|0),B=A+160|0}function Ai(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-160|0,B=A,i[A+80>>2]=54820,k=i[13708],i[A+24>>2]=k,n=A+24|0,i[n+i[k-12>>2]>>2]=i[13709],k=n+i[i[A+24>>2]-12>>2]|0,t=A+28|0,b0(k,t),i[k+72>>2]=0,i[k+76>>2]=-1,i[A+80>>2]=54820,i[A+24>>2]=54800,k=$0(t),i[k>>2]=53552,i[A+68>>2]=0,i[A+72>>2]=0,i[A+60>>2]=0,i[A+64>>2]=0,i[A+76>>2]=16,t=A+12|0,R2(t,e,r),o=n,u=t,n=l[A+23|0],t=(n|0)<0,x(o,t?i[A+12>>2]:u,t?i[A+16>>2]:n),l[A+23|0]<0&&G(i[A+12>>2]),n=A+12|0,rn(n,e,r,0),e=l[A+23|0],r=(e|0)<0,x(A+24|0,r?i[A+12>>2]:n,r?i[A+16>>2]:e),l[A+23|0]<0&&G(i[A+12>>2]),i2(f,k),f=i[13707],i[A+24>>2]=f,i[i[f-12>>2]+(A+24|0)>>2]=i[13710],i[k>>2]=53552,l[A+71|0]<0&&G(i[A+60>>2]),K0(k),T0(A+80|0),B=A+160|0}function F2(f,e,r){var A=0,k=0;i:{if((f|0)==(e|0))break i;if(k=f+r|0,e-k>>>0<=0-(r<<1)>>>0){l0(f,e,r);return}A=(f^e)&3;r:{e:{if(f>>>0<e>>>0){if(A)break r;if(!(f&3))break e;for(;;){if(!r)break i;if(l[f|0]=s[e|0],e=e+1|0,r=r-1|0,f=f+1|0,!(f&3))break}break e}A:{if(A)break A;if(k&3)for(;;){if(!r)break i;if(r=r-1|0,A=r+f|0,l[A|0]=s[e+r|0],!(A&3))break}if(r>>>0<=3)break A;for(;r=r-4|0,i[r+f>>2]=i[e+r>>2],r>>>0>3;);}if(!r)break i;for(;r=r-1|0,l[r+f|0]=s[e+r|0],!!r;);break i}if(r>>>0<=3)break r;for(;i[f>>2]=i[e>>2],e=e+4|0,f=f+4|0,r=r-4|0,r>>>0>3;);}if(!r)break i;for(;l[f|0]=s[e|0],f=f+1|0,e=e+1|0,r=r-1|0,!!r;);}}function M2(){var f=0,e=0,r=0,A=0,k=0,n=0;if(s[100004])return i[25e3];r=B-32|0,B=r;i:{r:{for(;;){if(e=r+8|0,A=cn(f,1<<f&2147483647?15510:31341),i[e+(f<<2)>>2]=A,(A|0)==-1)break r;if(f=f+1|0,(f|0)==6)break}if(f=55448,!K2(e,55448,24)||(f=55472,!K2(e,55472,24)))break i;if(f=0,!s[99656]){for(;k=(f<<2)+99608|0,n=cn(f,31341),i[k>>2]=n,f=f+1|0,(f|0)!=6;);l[99656]=1,i[24908]=i[24902]}if(f=99608,e=r+8|0,!K2(e,99608,24)||(f=99632,!K2(e,99632,24)))break i;if(f=Z2(24),!f)break r;e=i[r+12>>2],i[f>>2]=i[r+8>>2],i[f+4>>2]=e,e=i[r+28>>2],i[f+16>>2]=i[r+24>>2],i[f+20>>2]=e,e=i[r+20>>2],i[f+8>>2]=i[r+16>>2],i[f+12>>2]=e;break i}f=0}return B=r+32|0,l[100004]=1,i[25e3]=f,f}function Rm(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0;n=B-32|0,B=n;i:{r:{if(o=V[i[i[e>>2]+68>>2]](i[e+4>>2])|0,t=i[o>>2],!t)break r;for(;;){if(v4(i[t+4>>2],r)){if(t=i[o+4>>2],o=o+4|0,t)continue;break r}break}e:{A:switch(i[t+8>>2]-1|0){case 0:if(V[i[i[e>>2]+76>>2]](f,i[e+4>>2],r,n+28|0),i[f>>2])break i;i[n>>2]=i[n+28>>2],I8(A,k,13656,n);break e;case 1:if(V[i[i[e>>2]+84>>2]](f,i[e+4>>2],r,n+28|0),i[f>>2])break i;i[n+16>>2]=i[n+28>>2],I8(A,k,13656,n+16|0);break e;case 2:break A;default:break e}if(V[i[i[e>>2]+92>>2]](f,i[e+4>>2],r,A,k),i[f>>2])break i}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412];break i}e=i[18429],i[f>>2]=i[18428],i[f+4>>2]=e,i[f+8>>2]=i[18430]}B=n+32|0}function Dm(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0;if(n=B-16|0,B=n,t=i[e+68>>2],t){t=V[i[i[t>>2]+24>>2]](t)|0;i:{r:{if(!(!i[e+64>>2]|(r|A)!=0&(t|0)<=0)&&!(V[i[i[e>>2]+24>>2]](e)|0))break r;i[f+8>>2]=-1,i[f+12>>2]=-1,i[f>>2]=0,i[f+4>>2]=0;break i}if(k>>>0>=3){i[f+8>>2]=-1,i[f+12>>2]=-1,i[f>>2]=0,i[f+4>>2]=0;break i}if(o=i[e+64>>2],A=q0(t,0,r,A),r=(t|0)>0,Ce(o,r?A:0,r?w0:0,k)){i[f+8>>2]=-1,i[f+12>>2]=-1,i[f>>2]=0,i[f+4>>2]=0;break i}r=i[e+64>>2];r:{if(i[r+76>>2]<0){r=C9(r),A=w0;break r}r=C9(r),A=w0}i[f+8>>2]=r,i[f+12>>2]=A,i[f>>2]=0,i[f+4>>2]=0,r=i[e+72>>2],e=i[e+76>>2],i[n>>2]=r,i[n+4>>2]=e,i[n+8>>2]=r,i[n+12>>2]=e,e=i[n+4>>2],i[f>>2]=i[n>>2],i[f+4>>2]=e}B=n+16|0;return}u1(),P()}function jr(f,e,r){var A=0,k=0,n=0,t=0,o=0;if((e|0)!=(r|0))for(o=f+4|0;;){t=i[f+4>>2];i:{r:{e:{if(A=o,(A|0)==i[f>>2])break e;n=A,k=t;A:{if(k){for(;;)if(A=k,k=i[A+4>>2],!k)break A}for(;A=i[n+8>>2],k=i[A>>2]==(n|0),n=A,!!k;);}if(k=i[e>>2],k>>>0>k0[A+16>>2])break e;if(n=o,A=n,!t)break r;for(;;){if(A=t,n=i[A+16>>2],n>>>0>k>>>0){if(n=A,t=i[A>>2],t)continue;break r}if(k>>>0<=n>>>0)break i;if(t=i[A+4>>2],!t)break}n=A+4|0;break r}if(n=t?A+4|0:o,i[n>>2])break i;A=t?A:o}k=U(20),t=i[e>>2],i[k+8>>2]=A,i[k>>2]=0,i[k+4>>2]=0,i[k+16>>2]=t,i[n>>2]=k,A=i[i[f>>2]>>2],A&&(i[f>>2]=A,k=i[n>>2]),D1(i[f+4>>2],k),i[f+8>>2]=i[f+8>>2]+1}if(e=e+4|0,(r|0)==(e|0))break}}function bn(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=75028,A=i[f+68>>2],A){if(e=i[f+72>>2],r=A,(e|0)!=(A|0)){for(;r=e-12|0,k=i[r>>2],k&&(i[e-8>>2]=k,G(k)),e=r,(A|0)!=(e|0););r=i[f+68>>2]}i[f+72>>2]=A,G(r)}if(A=i[f+56>>2],A){if(e=i[f+60>>2],r=A,(e|0)!=(A|0)){for(;r=e-12|0,k=i[r>>2],k&&(i[e-8>>2]=k,G(k)),e=r,(A|0)!=(e|0););r=i[f+56>>2]}i[f+60>>2]=A,G(r)}if(i[f>>2]=68616,A=i[f+36>>2],A){if(e=A,r=i[f+40>>2],(e|0)!=(r|0)){for(;;){e=i[r-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(r=r-8|0,(A|0)==(r|0))break}e=i[f+36>>2]}i[f+40>>2]=A,G(e)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function B0(f,e,r){var A=0,k=0,n=0,t=0;i:{if(!r||(l[f|0]=e,A=f+r|0,l[A-1|0]=e,r>>>0<3)||(l[f+2|0]=e,l[f+1|0]=e,l[A-3|0]=e,l[A-2|0]=e,r>>>0<7)||(l[f+3|0]=e,l[A-4|0]=e,r>>>0<9)||(A=0-f&3,k=A+f|0,e=m(e&255,16843009),i[k>>2]=e,A=r-A&-4,r=A+k|0,i[r-4>>2]=e,A>>>0<9)||(i[k+8>>2]=e,i[k+4>>2]=e,i[r-8>>2]=e,i[r-12>>2]=e,A>>>0<25)||(i[k+24>>2]=e,i[k+20>>2]=e,i[k+16>>2]=e,i[k+12>>2]=e,i[r-16>>2]=e,i[r-20>>2]=e,i[r-24>>2]=e,i[r-28>>2]=e,t=k&4|24,r=A-t|0,r>>>0<32))break i;for(A=q0(e,0,1,1),n=w0,e=k+t|0;i[e+24>>2]=A,i[e+28>>2]=n,i[e+16>>2]=A,i[e+20>>2]=n,i[e+8>>2]=A,i[e+12>>2]=n,i[e>>2]=A,i[e+4>>2]=n,e=e+32|0,r=r-32|0,r>>>0>31;);}return f}function Um(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0;n=B-32|0,B=n,k=i[e>>2],t=i[k+64>>2],k=i[k+68>>2],k&&(i[k+4>>2]=i[k+4>>2]+1);i:{if(i[t+20>>2]!=(r|0)){if(i[A>>2]=0,l[n|0]=0,l[n+11|0]=0,r=r0(n+12|0,5,2e3,n),l[n+11|0]<0&&G(i[n>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break i;G(i[r+8>>2]);break i}r=U(16),i[r+8>>2]=0,i[r+12>>2]=0,i[A>>2]=r,k&&(i[k+4>>2]=i[k+4>>2]+1),i[r+4>>2]=k,i[r>>2]=t,r=i[e+8>>2],A=i[A>>2],t=i[e+12>>2],t&&(i[t+4>>2]=i[t+4>>2]+1),i[A+8>>2]=r,r=i[A+12>>2],i[A+12>>2]=t;r:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break r;V[i[i[r>>2]+8>>2]](r),g(r)}P0(f,78256,i[e>>2])}i:{if(!k||(f=i[k+4>>2],i[k+4>>2]=f-1,f))break i;V[i[i[k>>2]+8>>2]](k),g(k)}B=n+32|0}function dn(f,e,r){i:{r:switch(e-1|0){case 0:e=i[f+20>>2],i[e+48>>2]=1751476579,i[e+52>>2]=0,Z4(e,1835623985),Z4(i[f+20>>2],1751476579);break i;case 3:e=i[f+20>>2],i[e+48>>2]=1635150182,i[e+52>>2]=0,Z4(e,1635150182),Z4(i[f+20>>2],1835623985);break i;case 4:e=i[f+20>>2],i[e+48>>2]=1987471715,i[e+52>>2]=0,Z4(e,1835623985),Z4(i[f+20>>2],1987471715);break i;case 2:e=i[f+20>>2],i[e+48>>2]=1785750887,i[e+52>>2]=0,Z4(e,1785750887),Z4(i[f+20>>2],1835623985);break i;case 7:e=i[f+20>>2],i[e+48>>2]=1835623986,i[e+52>>2]=0,Z4(e,1835623985);break i;case 6:case 9:break r;default:break i}e=i[f+20>>2],i[e+48>>2]=1781689193,i[e+52>>2]=0,Z4(e,1835623985),Z4(i[f+20>>2],1781689193)}r&&Z4(i[f+20>>2],1835622758)}function cn(f,e){var r=0,A=0,k=0;i:{if(s[e|0]||(e=OA(15058),s[e|0]&&e)||(e=OA(m(f,12)+56480|0),s[e|0]&&e)||(e=OA(15133),s[e|0]&&e))break i;e=16417}i:{for(;;){if(A=s[e+r|0],!(!A|(A|0)==47)){if(A=23,r=r+1|0,(r|0)!=23)continue;break i}break}A=r}k=16417;i:{r:{r=s[e|0];e:{A:{if(!(s[e+A|0]|(r|0)==46)&&(k=e,(r|0)!=67))break A;if(!s[k+1|0])break e}if(!v4(k,16417))break e;if(v4(k,14836))break r}if(!f&&(r=55412,s[k+1|0]==46))break i;return 0}if(r=i[24901],r)for(;;){if(!v4(k,r+8|0))break i;if(r=i[r+32>>2],!r)break}r=Z2(36),r&&(e=i[13854],i[r>>2]=i[13853],i[r+4>>2]=e,e=r+8|0,l0(e,k,A),l[e+A|0]=0,i[r+32>>2]=i[24901],i[24901]=r),r=f|r?r:55412}return r}function i7(f){var e=0,r=0,A=0,k=0;if(e=i[f+40>>2],A=i[f+36>>2],(e|0)!=(A|0))for(;;){r=i[e-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(e=e-8|0,(A|0)==(e|0))break}i[f+40>>2]=A,e=i[f+56>>2],i[f+52>>2]=0,i[f+56>>2]=0;i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+68>>2],i[f+64>>2]=0,i[f+68>>2]=0;i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(e=i[f+156>>2],A=i[f+152>>2],(e|0)!=(A|0))for(;;){r=i[e-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(e=e-8|0,(A|0)==(e|0))break}i[f+156>>2]=A}function r7(f,e,r,A,k,n,t,o){var u=0,h=0,w=0,_=0;if(h=B-16|0,B=h,(e^-1)+1073741815>>>0>=r>>>0){s[f+11|0]>>>7|0?u=i[f>>2]:u=f,w=u,u=h+4|0,_=u,e>>>0<536870899?(i[h+12>>2]=e<<1,i[h+4>>2]=e+r,r=B-16|0,B=r,B=r+16|0,r=h+12|0,r=i[(k0[u>>2]<k0[r>>2]?r:u)>>2],r>>>0>=2?(u=r+2&-2,r=u-1|0,r=(r|0)==2?u:r):r=1,r=r+1|0):r=1073741815,xi(_,r),r=i[h+4>>2],k&&ui(w,k,r),t&&ui(o,t,r+(k<<2)|0),u=k+n|0,o=A-u|0,(A|0)!=(u|0)&&(A=k<<2,ui((A+w|0)+(n<<2)|0,o,(r+A|0)+(t<<2)|0)),(e|0)!=1&&Q8(w,4),i[f>>2]=r,i[f+8>>2]=i[f+8>>2]&-2147483648|i[h+8>>2]&2147483647,i[f+8>>2]=i[f+8>>2]|-2147483648,e=f,f=o+(k+t|0)|0,i[e+4>>2]=f,i[h+12>>2]=0,i[r+(f<<2)>>2]=i[h+12>>2],B=h+16|0;return}o4(),P()}function e7(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0;if(i[f>>2]=74252,A=i[f+84>>2],A){if(e=A,n=i[f+88>>2],(e|0)!=(n|0)){for(;;){if(o=n-12|0,k=i[o>>2],k){if(e=k,u=n-8|0,r=i[u>>2],(e|0)!=(r|0)){for(;e=r-12|0,t=i[e>>2],t&&(i[r-8>>2]=t,G(t)),r=e,(e|0)!=(k|0););e=i[o>>2]}i[u>>2]=k,G(e)}if(n=n-16|0,(A|0)==(n|0))break}e=i[f+84>>2]}i[f+88>>2]=A,G(e)}if(i[f>>2]=68616,A=i[f+36>>2],A){if(e=i[f+40>>2],r=A,(e|0)!=(r|0)){for(;;){r=i[e-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(e=e-8|0,(A|0)==(e|0))break}r=i[f+36>>2]}i[f+40>>2]=A,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function W0(f,e){var r=0,A=0,k=0,n=0,t=0;if(r=B-144|0,B=r,i[r+8>>2]=54496,i[r+64>>2]=54516,A=i[13633],i[r>>2]=A,i[i[A-12>>2]+r>>2]=i[13634],i[r+4>>2]=0,A=i[i[r>>2]-12>>2]+r|0,k=r+12|0,b0(A,k),i[A+72>>2]=0,i[A+76>>2]=-1,A=i[13635],i[r+8>>2]=A,n=r+8|0,i[n+i[A-12>>2]>>2]=i[13636],A=i[13632],i[r>>2]=A,i[i[A-12>>2]+r>>2]=i[13637],i[r+64>>2]=54516,i[r>>2]=54476,i[r+8>>2]=54496,A=$0(k),i[A>>2]=53552,i[r+52>>2]=0,i[r+56>>2]=0,i[r+44>>2]=0,i[r+48>>2]=0,i[r+60>>2]=24,i[e>>2]>0)for(;x(n,18713,2),t=t+1|0,(t|0)<i[e>>2];);i2(f,A),f=i[13631],i[r>>2]=f,i[i[f-12>>2]+r>>2]=i[13639],i[r+8>>2]=i[13640],i[A>>2]=53552,l[r+55|0]<0&&G(i[r+44>>2]),K0(A),T0(r- -64|0),B=r+144|0}function A7(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0,o=0;if(i[f>>2]=68964,A=i[f+56>>2],A){if(r=A,n=i[f+60>>2],(r|0)!=(n|0)){for(;;){if(t=n-16|0,k=i[t>>2],k){if(e=k,o=n-12|0,r=i[o>>2],(e|0)!=(r|0)){for(;e=i[r-16>>2],e&&(i[r-12>>2]=e,G(e)),r=r-40|0,(k|0)!=(r|0););e=i[t>>2]}i[o>>2]=k,G(e)}if(n=n-32|0,(A|0)==(n|0))break}r=i[f+56>>2]}i[f+60>>2]=A,G(r)}if(i[f>>2]=68616,k=i[f+36>>2],k){if(e=k,r=i[f+40>>2],(e|0)!=(r|0)){for(;;){A=i[r-4>>2];i:{if(!A||(e=i[A+4>>2],i[A+4>>2]=e-1,e))break i;V[i[i[A>>2]+8>>2]](A),g(A)}if(r=r-8|0,(k|0)==(r|0))break}e=i[f+36>>2]}i[f+40>>2]=k,G(e)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function Mm(f,e,r,A,k,n,t,o,u,h,w,_,v){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0,h=h|0,w=w|0,_=_|0,v=v|0;var Z=0,p=0,W=0,C=0,I=0,y=0,E=0;if((_|0)>0){if(!((t|0)<=0|(n|0)<=0))for(W=(u+w|0)+1<<_,C=_+1|0,u=-1<<v^-1,y=n&2147483646,E=n&1;;){if(_=(m(e,p)<<1)+f|0,w=m(k,p)<<1,v=w+A|0,w=r+w|0,I=0,(n|0)!=1)for(;Z=(m(X[w>>1],o)+W|0)+m(X[v>>1],h)>>C,X[_>>1]=(Z|0)>=0?(u|0)>(Z|0)?Z:u:0,Z=(m(X[w+2>>1],o)+W|0)+m(X[v+2>>1],h)>>C,X[_+2>>1]=(Z|0)>=0?(u|0)>(Z|0)?Z:u:0,v=v+4|0,w=w+4|0,_=_+4|0,I=I+2|0,(y|0)!=(I|0););if(E&&(w=(m(X[w>>1],o)+W|0)+m(X[v>>1],h)>>C,X[_>>1]=(w|0)>=0?(u|0)>(w|0)?w:u:0),p=p+1|0,(p|0)==(t|0))break}return}C0(17004,13955,213,8045),P()}function q4(f,e,r,A,k){var n=0,t=0,o=0,u=0;u=B-16|0,B=u,i[u+12>>2]=e,e=0,o=6;i:{r:{if(J2(f,u+12|0))break r;n=i[f>>2],t=i[n+12>>2];e:{if((t|0)==i[n+16>>2]){n=V[i[i[n>>2]+36>>2]](n)|0;break e}n=s[t|0]}if(t=n<<24>>24,(t|0)>=0?n=(i[i[A+8>>2]+(t<<2)>>2]&64)!=0:n=0,o=4,!n)break r;for(e=V[i[i[A>>2]+36>>2]](A,t,0)|0;;){e:{if(E1(f),e=e-48|0,J2(f,u+12|0)|(k|0)<2)break e;n=i[f>>2],t=i[n+12>>2];A:{if((t|0)==i[n+16>>2]){n=V[i[i[n>>2]+36>>2]](n)|0;break A}n=s[t|0]}if(n=n<<24>>24,(n|0)>=0?o=(i[i[A+8>>2]+(n<<2)>>2]&64)!=0:o=0,!o)break i;k=k-1|0,e=(V[i[i[A>>2]+36>>2]](A,n,0)|0)+m(e,10)|0;continue}break}if(!J2(f,u+12|0))break i;o=2}i[r>>2]=o|i[r>>2]}return B=u+16|0,e}function xm(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;A=B-32|0,B=A;i:{if((e|0)==-1){if(s[f+52|0])break i;e=i[f+48>>2],l[f+52|0]=(e|0)!=-1;break i}r=s[f+52|0];r:{e:{A:{if(!s[f+53|0]){if(r&1)break A;break r}if(r=r&1,r){if(yo(i[f+48>>2],i[f+32>>2]))break r;break e}if(!r)break r}l[A+19|0]=i[f+48>>2]<<24>>24;A:{f:switch(r=i[f+36>>2],k=A+20|0,(V[i[i[r>>2]+12>>2]](r,i[f+40>>2],A+19|0,k,A+12|0,A+24|0,A+32|0,k)|0)-1|0){case 0:case 1:break e;case 2:break f;default:break A}r=i[f+48>>2],i[A+20>>2]=A+25,l[A+24|0]=r}for(;;){if(r=i[A+20>>2],r>>>0<=A+24>>>0)break r;if(r=r-1|0,i[A+20>>2]=r,(gi(l[r|0],i[f+32>>2])|0)==-1)break}}e=-1;break i}l[f+52|0]=1,i[f+48>>2]=e}return B=A+32|0,e|0}function zm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;if(!r)return 0;i:{r:{if(e=i[f>>2],s[e+60|0]==1){if(f=i[f+4>>2],f)break r;f=0;break i}if(f=i[e+68>>2],e=i[e+64>>2],f)break r;f=0;break i}i[f+4>>2]=i[f+4>>2]+1}s[e+72|0]==1&&(A=U(56),k=i[e+132>>2],i[A+48>>2]=i[e+128>>2],i[A+52>>2]=k,k=i[e+124>>2],i[A+40>>2]=i[e+120>>2],i[A+44>>2]=k,k=i[e+116>>2],i[A+32>>2]=i[e+112>>2],i[A+36>>2]=k,k=i[e+108>>2],i[A+24>>2]=i[e+104>>2],i[A+28>>2]=k,k=i[e+100>>2],i[A+16>>2]=i[e+96>>2],i[A+20>>2]=k,k=i[e+92>>2],i[A+8>>2]=i[e+88>>2],i[A+12>>2]=k,k=i[e+84>>2],i[A>>2]=i[e+80>>2],i[A+4>>2]=k,k=1),i[r>>2]=A;i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}return k|0}function B4(f,e){var r=0,A=0,k=0,n=0;r=B-32|0,B=r,i[r+24>>2]=0,i[r+16>>2]=0,i[r+20>>2]=0;i:{if(i[e+16>>2]){for(;;){if(!T4(e,1)){i[f>>2]=0,i[f+4>>2]=0,i[f+8>>2]=0;break i}k=i[e>>2],A=i[e+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1);r:{if(!(V[i[i[k>>2]+16>>2]](k,r+15|0,1)|0)){vi(e),i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,k=1;break r}if(n=l[r+15|0],k=2,!n)break r;C6(r+16|0,n),k=0}r:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break r;V[i[i[A>>2]+8>>2]](A),g(A)}if(k)break}if((k|0)!=2)break i;e=i[r+20>>2],i[f>>2]=i[r+16>>2],i[f+4>>2]=e,i[f+8>>2]=i[r+24>>2],i[r+24>>2]=0,i[r+16>>2]=0,i[r+20>>2]=0;break i}i[f>>2]=0,i[f+4>>2]=0,i[f+8>>2]=0}l[r+27|0]<0&&G(i[r+16>>2]),B=r+32|0}function Hm(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(!(!(i[r>>2]!=1|(i[r+4>>2]&-2)!=10)&i[r+12>>2]==8)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,i[e+48>>2]=8,l[e+44|0]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,i[e+36>>2]=99,i[e+40>>2]=99,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,i[e+36>>2]=1,i[e+40>>2]=3,l[e+44|0]=s[A+8|0],i[e+48>>2]=i[r+12>>2],r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,r=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,i[e>>2]=1,i[e+4>>2]=3,i[e+16>>2]=72992,i[e+20>>2]=i[e+56>>2],i[e+28>>2]=11,P2(f,e)}B=e- -64|0}function Tm(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e;i:{if(!(!(i[r>>2]!=1|(i[r+4>>2]&-2)!=12)&i[r+12>>2]>8)){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;break i}i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,i[e+48>>2]=8,l[e+44|0]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,i[e+36>>2]=99,i[e+40>>2]=99,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,i[e+36>>2]=1,i[e+40>>2]=3,l[e+44|0]=s[A+8|0],i[e+48>>2]=i[r+12>>2],r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,r=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,i[e>>2]=1,i[e+4>>2]=3,i[e+16>>2]=72992,i[e+20>>2]=i[e+56>>2],i[e+28>>2]=11,P2(f,e)}B=e- -64|0}function am(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;A=B-32|0,B=A;i:{if((e|0)==-1){if(s[f+52|0])break i;e=i[f+48>>2],l[f+52|0]=(e|0)!=-1;break i}r=s[f+52|0];r:{e:{A:{if(!s[f+53|0]){if(r&1)break A;break r}if(r=r&1,r){if(O7(i[f+48>>2],i[f+32>>2]))break r;break e}if(!r)break r}i[A+16>>2]=i[f+48>>2];A:{f:switch(r=i[f+36>>2],k=A+20|0,(V[i[i[r>>2]+12>>2]](r,i[f+40>>2],A+16|0,k,A+12|0,A+24|0,A+32|0,k)|0)-1|0){case 0:case 1:break e;case 2:break f;default:break A}r=i[f+48>>2],i[A+20>>2]=A+25,l[A+24|0]=r}for(;;){if(r=i[A+20>>2],r>>>0<=A+24>>>0)break r;if(r=r-1|0,i[A+20>>2]=r,(gi(l[r|0],i[f+32>>2])|0)==-1)break}}e=-1;break i}l[f+52|0]=1,i[f+48>>2]=e}return B=A+32|0,e|0}function M8(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;if(k=i[f+24>>2],!((k|0)>=(e|0)|(k|0)>56)){for(A=64-k|0,n=i[f+16>>2],w=i[f+20>>2],k=i[f+8>>2],r=i[f>>2];;){i:{if(t=A,!k){u=A;break i}if(o=r+1|0,i[f>>2]=o,r=s[r|0],k=k-1|0,i[f+8>>2]=k,u=t-8|0,h=u&31,(u&63)>>>0>=32?(_=r<<h,r=0):(_=(1<<h)-1&r>>>32-h,r=r<<h),n=r|n,r=w|_,w=r,i[f+16>>2]=n,i[f+20>>2]=r,r=A,A=r-8|0,v=v-(r>>>0<8)|0,r=o,(t|0)>15)continue}break}k=64-u|0}return i[f+24>>2]=k-e,r=i[f+16>>2],A=f,A=f,f=i[f+20>>2],t=r,n=e&31,(e&63)>>>0>=32?(o=r<<n,t=0):(o=(1<<n)-1&t>>>32-n|f<<n,t=t<<n),i[A+16>>2]=t,i[A+20>>2]=o,A=64-e|0,e=r,r=A&31,(A&63)>>>0>=32?f=f>>>r|0:f=((1<<r)-1&f)<<32-r|e>>>r,f&255}function g0(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;if(k=i[f+24>>2],!((k|0)>=(e|0)|(k|0)>56)){for(A=64-k|0,n=i[f+16>>2],w=i[f+20>>2],k=i[f+8>>2],r=i[f>>2];;){i:{if(t=A,!k){u=A;break i}if(o=r+1|0,i[f>>2]=o,r=s[r|0],k=k-1|0,i[f+8>>2]=k,u=t-8|0,h=u&31,(u&63)>>>0>=32?(_=r<<h,r=0):(_=(1<<h)-1&r>>>32-h,r=r<<h),n=r|n,r=w|_,w=r,i[f+16>>2]=n,i[f+20>>2]=r,r=A,A=r-8|0,v=v-(r>>>0<8)|0,r=o,(t|0)>15)continue}break}k=64-u|0}return i[f+24>>2]=k-e,r=i[f+16>>2],A=f,A=f,f=i[f+20>>2],t=r,n=e&31,(e&63)>>>0>=32?(o=r<<n,t=0):(o=(1<<n)-1&t>>>32-n|f<<n,t=t<<n),i[A+16>>2]=t,i[A+20>>2]=o,A=64-e|0,e=r,r=A&31,(A&63)>>>0>=32?f=f>>>r|0:f=((1<<r)-1&f)<<32-r|e>>>r,f}function Sm(f,e,r,A,k,n,t,o,u,h,w,_){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0,h=h|0,w=w|0,_=_|0;var v=0,Z=0,p=0,W=0,C=0,I=0,y=0;if((_|0)>0){if(!((t|0)<=0|(n|0)<=0))for(p=(u+w|0)+1<<_,W=_+1|0,I=n&2147483646,y=n&1;;){if(_=m(e,Z)+f|0,u=m(k,Z)<<1,w=u+A|0,u=r+u|0,C=0,(n|0)!=1)for(;v=(m(X[u>>1],o)+p|0)+m(X[w>>1],h)>>W,v=(v|0)>=255?255:v,l[_|0]=(v|0)>0?v:0,v=(m(X[u+2>>1],o)+p|0)+m(X[w+2>>1],h)>>W,v=(v|0)>=255?255:v,l[_+1|0]=(v|0)>0?v:0,w=w+4|0,u=u+4|0,_=_+2|0,C=C+2|0,(I|0)!=(C|0););if(y&&(u=(m(X[u>>1],o)+p|0)+m(X[w>>1],h)>>W,u=(u|0)>=255?255:u,l[_|0]=(u|0)>0?u:0),Z=Z+1|0,(Z|0)==(t|0))break}return}C0(17004,13955,80,7893),P()}function Om(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-32|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(A,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(k=i[19565],i[A>>2]=i[19564],i[A+4>>2]=k,k=A+8|0,l[78275]>=0){n=i[19567],i[k>>2]=i[19566],i[k+4>>2]=n,i[k+8>>2]=i[19568];break i}_0(k,i[19566],i[19567])}l[A+19|0]<0&&G(i[A+8>>2]);i:{if(!s[e+48|0]){k=t2(r);break i}k=D0(r)}i:{if(!k){if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567]);break i}Yr(f,e,r,-1)}B=A+32|0}function Pr(f,e,r,A,k,n,t,o){var u=0,h=0,w=0,_=0;if(h=B-16|0,B=h,(e^-1)+2147483639>>>0>=r>>>0){s[f+11|0]>>>7|0?u=i[f>>2]:u=f,w=u,u=h+4|0,_=u,e>>>0<1073741811?(i[h+12>>2]=e<<1,i[h+4>>2]=e+r,r=B-16|0,B=r,B=r+16|0,r=h+12|0,r=i[(k0[u>>2]<k0[r>>2]?r:u)>>2],r>>>0>=11?(u=r+8&-8,r=u-1|0,r=(r|0)==11?u:r):r=10,r=r+1|0):r=2147483639,Mi(_,r),r=i[h+4>>2],k&&e8(w,k,r),t&&e8(o,t,r+k|0),u=k+n|0,o=A-u|0,(A|0)!=(u|0)&&e8((k+w|0)+n|0,o,(r+k|0)+t|0),(e|0)!=10&&Q8(w,1),i[f>>2]=r,i[f+8>>2]=i[f+8>>2]&-2147483648|i[h+8>>2]&2147483647,i[f+8>>2]=i[f+8>>2]|-2147483648,e=f,f=o+(k+t|0)|0,i[e+4>>2]=f,l[h+12|0]=0,l[f+r|0]=s[h+12|0],B=h+16|0;return}o4(),P()}function f7(f){var e=0,r=0,A=0,k=0,n=0;n=i[23985],i[f+72>>2]<=0&&z3(f),i[23985]=i[f+136>>2],r=B-32|0,B=r;i:{r:{e:{if(e=i[f+4>>2],A=i[f+8>>2],(e|0)==(A|0)||(e=h7(r+28|0,e,A-e|0),(e|0)==-1))break e;i[f+4>>2]=i[f+4>>2]+(e>>>0<=1?1:e);break r}for(i[r+16>>2]=0,i[r+20>>2]=0,e=0;;){A=e;e:{if(e=i[f+4>>2],(e|0)!=i[f+8>>2]){i[f+4>>2]=e+1,l[r+15|0]=s[e|0];break e}if(e=ve(f),l[r+15|0]=e,(e|0)>=0)break e;if(e=-1,!(A&1))break i;i[f>>2]=i[f>>2]|32,i[23944]=25;break i}if(e=1,k=B6(r+28|0,r+15|0,1,r+16|0),(k|0)!=-2)break}if(e=-1,(k|0)!=-1)break r;if(!(A&1))break i;i[f>>2]=i[f>>2]|32,gi(s[r+15|0],f);break i}e=i[r+28>>2]}return B=r+32|0,i[23985]=n,e}function MA(f,e,r,A,k,n){var t=0;t=B-32|0,B=t,i[t+8>>2]=0,i[t>>2]=0,i[t+4>>2]=0;i:{r:{if(n>>>0<2)break r;e:switch(n-3|0){case 1:if(l[t+12|0]=0,l[t+23|0]=0,r0(f,4,3005,t+12|0),l[t+23|0]>=0)break i;G(i[t+12>>2]);break i;case 0:break e;default:break r}if(l[t+12|0]=0,l[t+23|0]=0,r0(f,4,3005,t+12|0),l[t+23|0]>=0)break i;G(i[t+12>>2]);break i}if(k?(L2(t,k),n=i[t>>2]):n=0,l0(n,A,k),Wr(t+12|0,i[e+60>>2],i[i[r>>2]+56>>2],t,0),l[t+31|0]<0&&G(i[t+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}f=i[t>>2],f&&(i[t+4>>2]=f,G(f)),B=t+32|0}function L2(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;if(n=i[f+8>>2],A=i[f+4>>2],n-A>>>0>=e>>>0){e&&(A=B0(A,0,e)+e|0),i[f+4>>2]=A;return}if(k=i[f>>2],t=A-k|0,r=t+e|0,(r|0)>=0){n=n-k|0,o=n<<1,r=n>>>0>=1073741823?2147483647:r>>>0<o>>>0?o:r,r&&(u=U(r)),n=r+u|0,o=e,r=t+u|0,e=B0(r,0,e),o=o+e|0;i:{if((A|0)==(k|0)){u=e;break i}h=t&3;r:{if(!h){e=A;break r}for(t=0,e=A;r=r-1|0,e=e-1|0,l[r|0]=s[e|0],t=t+1|0,(h|0)!=(t|0););}if(k-A>>>0<=4294967292)for(;l[r-1|0]=s[e-1|0],l[r-2|0]=s[e-2|0],l[r-3|0]=s[e-3|0],r=r-4|0,e=e-4|0,l[r|0]=s[e|0],(e|0)!=(k|0););k=i[f>>2]}i[f+8>>2]=n,i[f+4>>2]=o,i[f>>2]=u,k&&G(k);return}y0(),P()}function k7(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0,w=0;i:{if(n=V[i[i[e>>2]+68>>2]](i[e+4>>2])|0,k=i[n>>2],k)for(;;){o=n;r:{if(v4(i[k+4>>2],r))break r;e:{if(i[k+8>>2]==1){if(n=0,u=0,h=0,w=s[k+16|0],w&&(h=i[k+24>>2],u=i[k+20>>2]),t=i[k+32>>2],n=(t|0)>0?i[k+28>>2]:n,!(!w|!((A|0)<(u|0)|(A|0)>(h|0))))break i;if(k=0,(t|0)>0)break e;break r}i[f>>2]=5,e=i[18430],i[f+4>>2]=i[18429],i[f+8>>2]=e;return}for(;;){if(i[(k<<2)+n>>2]==(A|0))break r;if(k=k+1|0,(t|0)==(k|0))break}break i}if(n=o+4|0,k=i[o+4>>2],!k)break}V[i[i[e>>2]+72>>2]](f,i[e+4>>2],r,A);return}e=i[18426],i[f>>2]=i[18425],i[f+4>>2]=e,i[f+8>>2]=i[18427]}function n7(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;if(Ve(),r=i[19569],(r|0)==78280)return 0;i:{if(!e){for(;;){n=i[r+16>>2],e=V[i[n+16>>2]](f)|0,k=(e|0)>(t|0),A=i[r+4>>2];r:{if(A){for(;;)if(r=A,A=i[r>>2],!A)break r}for(;A=r,r=i[r+8>>2],(A|0)!=i[r>>2];);}if(t=k?e:t,u=k?n:u,(r|0)==78280)break}break i}for(;;){r:{if(o=i[r+16>>2],k=V[i[o+16>>2]](f)|0,(k|0)<=0|i[o>>2]<3||v4(e,i[o+40>>2]))break r;return o}n=(t|0)<(k|0),A=i[r+4>>2];r:{if(A){for(;;)if(r=A,A=i[r>>2],!A)break r}for(;A=r,r=i[r+8>>2],(A|0)!=i[r>>2];);}if(t=n?k:t,u=n?o:u,(r|0)==78280)break}}return u}function jm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0;A=B-160|0,B=A,i[A+68>>2]=54820,k=i[13708],i[A+12>>2]=k,n=A+12|0,i[n+i[k-12>>2]>>2]=i[13709],k=n+i[i[A+12>>2]-12>>2]|0,t=A+16|0,b0(k,t),i[k+72>>2]=0,i[k+76>>2]=-1,i[A+68>>2]=54820,i[A+12>>2]=54800,k=$0(t),i[k>>2]=53552,i[A+56>>2]=0,i[A+60>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+64>>2]=16,t=A+148|0,W0(t,r),o=n,r=l[A+159|0],n=(r|0)<0,x(o,n?i[A+148>>2]:t,n?i[A+152>>2]:r),l[A+159|0]<0&&G(i[A+148>>2]),r=A+12|0,x(L0(x(r,20785,14),i[e+12>>2]-i[e+8>>2]|0),31338,1),i2(f,k),f=i[13707],i[A+12>>2]=f,i[r+i[f-12>>2]>>2]=i[13710],i[k>>2]=53552,l[A+59|0]<0&&G(i[A+48>>2]),K0(k),T0(A+68|0),B=A+160|0}function t7(f,e,r,A,k){var n=0,t=0,o=0;if(n=U(24),i[n+20>>2]=e,l[n+8|0]=r,i[n>>2]=45868,i[n+4>>2]=0,i[n+16>>2]=k,i[n+12>>2]=A,i[e+18604>>2]=n,E6(f+1392|0,n),A=i[e+18596>>2],e=i[A+460>>2],r=i[A+464>>2],e>>>0<r>>>0){i[e>>2]=n,i[A+460>>2]=e+4;return}i:{if(k=i[A+456>>2],t=e-k>>2,f=t+1|0,f>>>0<1073741824){if(o=t<<2,r=r-k|0,t=r>>1,t=r>>>0>=2147483644?1073741823:f>>>0<t>>>0?t:f,t){if(t>>>0>=1073741824)break i;f=U(t<<2)}else f=0;if(r=o+f|0,i[r>>2]=n,n=r+4|0,(e|0)!=(k|0)){for(;r=r-4|0,e=e-4|0,i[r>>2]=i[e>>2],(e|0)!=(k|0););k=i[A+456>>2]}i[A+464>>2]=f+(t<<2),i[A+460>>2]=n,i[A+456>>2]=r,k&&G(k),i[A+460>>2]=n;return}y0(),P()}_2(),P()}function Pm(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;t=B-32|0,B=t,i[t+28>>2]=e;i:{if(!(i[A+4>>2]&1)){i[t>>2]=-1,e=V[i[i[f>>2]+16>>2]](f,e,r,A,k,t)|0;r:switch(i[t>>2]){case 0:l[n|0]=0;break i;case 1:l[n|0]=1;break i;default:break r}l[n|0]=1,i[k>>2]=4;break i}for(f=i[A+28>>2],i[t>>2]=f,(f|0)!=100008&&(i[f+4>>2]=i[f+4>>2]+1),e=x0(t,100192),O0(t),f=i[A+28>>2],i[t>>2]=f,(f|0)!=100008&&(i[f+4>>2]=i[f+4>>2]+1),f=x0(t,100248),O0(t),V[i[i[f>>2]+24>>2]](t,f),V[i[i[f>>2]+28>>2]](t|12,f),A=t+24|0,o=n,u=(Nr(t+28|0,r,t,A,e,k,1)|0)==(t|0),l[o|0]=u,e=i[t+28>>2];A=z0(A-12|0),(t|0)!=(A|0););}return B=t+32|0,e|0}function Lm(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;t=B-32|0,B=t,i[t+28>>2]=e;i:{if(!(i[A+4>>2]&1)){i[t>>2]=-1,e=V[i[i[f>>2]+16>>2]](f,e,r,A,k,t)|0;r:switch(i[t>>2]){case 0:l[n|0]=0;break i;case 1:l[n|0]=1;break i;default:break r}l[n|0]=1,i[k>>2]=4;break i}for(f=i[A+28>>2],i[t>>2]=f,(f|0)!=100008&&(i[f+4>>2]=i[f+4>>2]+1),e=x0(t,100184),O0(t),f=i[A+28>>2],i[t>>2]=f,(f|0)!=100008&&(i[f+4>>2]=i[f+4>>2]+1),f=x0(t,100256),O0(t),V[i[i[f>>2]+24>>2]](t,f),V[i[i[f>>2]+28>>2]](t|12,f),A=t+24|0,o=n,u=(Rr(t+28|0,r,t,A,e,k,1)|0)==(t|0),l[o|0]=u,e=i[t+28>>2];A=l1(A-12|0),(t|0)!=(A|0););}return B=t+32|0,e|0}function Km(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0,t=0,o=0;A=B-16|0,B=A,f=i[f>>2],i[A+12>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0;i:{if(r=i[f+28>>2],k=i[f+32>>2],(r|0)!=(k|0)){if(f=k-r|0,(f|0)<0)break i;for(n=U(f),i[A+4>>2]=n,i[A+12>>2]=f+n,f=n;i[f>>2]=i[r>>2],t=f,f=i[r+4>>2],i[t+4>>2]=f,f&&(i[f+4>>2]=i[f+4>>2]+1),f=t+8|0,r=r+8|0,(k|0)!=(r|0););for(i[A+8>>2]=f,r=n;o=i[i[r>>2]+20>>2]==(e|0),!!(!o&&(k=(r|0)!=(t|0),r=r+8|0,k)););for(;;){e=i[f-4>>2];r:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break r;V[i[i[e>>2]+8>>2]](e),g(e)}if(f=f-8|0,(n|0)==(f|0))break}G(i[A+4>>2])}return B=A+16|0,o|0}y0(),P()}function m6(f){var e=0,r=0,A=0,k=0,n=0,t=0,o=0;B0(f+38|0,0,2064),i[f+18524>>2]=-1,i[f+18528>>2]=-1;i:{r:{if(A=i[i[f+18592>>2]+24>>2],(A|0)>0){if(t=i[f+18588>>2],e=i[t+124>>2],k=i[e+484>>2]-1|0,n=i[t+132>>2],n=i[(i[n+8460>>2]+(i[i[n+8448>>2]+(A<<2)>>2]<<2)|0)-4>>2],r=i[e+16892>>2],A=(n|0)/(r|0)|0,r=(n-m(A,r)|0)+1|0,n=i[e+16876>>2],r=(r<<n)-1|0,k=(k|0)<(r|0)?k:r,r=i[t+168>>2],k=k>>r,(k|0)<0||(o=i[t+172>>2],(k|0)>=(o|0)))break r;if(e=i[e+488>>2]-1|0,A=(A+1<<n)-1|0,e=((e|0)<(A|0)?e:A)>>r,(e|0)<0|(e|0)>=i[t+176>>2])break i;i[f+18520>>2]=l[((i[t+160>>2]+m(k,3)|0)+m(m(e,o),3)|0)+2|0]}return}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function qm(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;k=B-32|0,B=k;i:{if(!(r&&e)){i[f+8>>2]=0,i[f>>2]=5,i[f+4>>2]=2001;break i}if(!s[i[e>>2]+256|0]){if(l[k|0]=0,l[k+11|0]=0,r=r0(k+12|0,5,139,k),l[k+11|0]<0&&G(i[k>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break i;G(i[r+8>>2]);break i}A=U(80),i[A+16>>2]=0,i[A+20>>2]=0,X[A+12>>1]=1,i[A+8>>2]=0,i[A>>2]=0,i[A+4>>2]=0,i[A+48>>2]=0,i[A+52>>2]=0,i[A+40>>2]=0,i[A+44>>2]=1072693248,i[A+24>>2]=0,i[A+28>>2]=0,i[A+32>>2]=0,i[A+36>>2]=0,i[A+56>>2]=0,i[A+60>>2]=0,n=A- -64|0,i[n>>2]=0,i[n+4>>2]=0,i[A+72>>2]=0,i[r>>2]=A,l0(A,i[e>>2]+264|0,76),i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e}B=k+32|0}function Lr(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0;if(k=i[f+8>>2],n=i[f+4>>2],k-n>>>0>=e>>>0){e&&(n=B0(n,s[r|0],e)+e|0),i[f+4>>2]=n;return}if(t=i[f>>2],o=n-t|0,A=o+e|0,(A|0)>=0){if(k=k-t|0,u=k<<1,k=k>>>0>=1073741823?2147483647:A>>>0<u>>>0?u:A,k?A=U(k):A=0,k=A+k|0,A=A+o|0,u=B0(A,s[r|0],e)+e|0,(n|0)!=(t|0)){o=o&3;i:{if(!o){e=n;break i}for(r=0,e=n;A=A-1|0,e=e-1|0,l[A|0]=s[e|0],r=r+1|0,(o|0)!=(r|0););}if(t-n>>>0<=4294967292)for(;l[A-1|0]=s[e-1|0],l[A-2|0]=s[e-2|0],l[A-3|0]=s[e-3|0],A=A-4|0,e=e-4|0,l[A|0]=s[e|0],(e|0)!=(t|0););t=i[f>>2]}i[f+8>>2]=k,i[f+4>>2]=u,i[f>>2]=A,t&&G(t);return}y0(),P()}function o7(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;if(r=B-48|0,k=r,B=r,t=r-48|0,B=t,l[t+33|0]=0,B0(t,46,33),u=t+16|0,l[u|0]=124,r=s[f+96|0],r)for(h=f- -64|0;;){n=r,r=r-1|0,o=s[h+r|0],A=X[(r<<1)+f>>1];i:{if(!((A|0)>=-16&(A|0)<=16)){i[k+32>>2]=A,i[k+36>>2]=o?88:111,c(e,19300,k+32|0);break i}if(A=A+u|0,o){l[A|0]=88;break i}l[A|0]=111}if(!(n>>>0>1))break}if(r=s[f+97|0],r)for(o=f+80|0,h=f+32|0;;){f=r,r=r-1|0,A=s[o+r|0],n=X[h+(r<<1)>>1];i:{if(!((n|0)>=-16&(n|0)<=16)){i[k+16>>2]=n,i[k+20>>2]=A?88:111,c(e,19300,k+16|0);break i}if(n=n+u|0,A){l[n|0]=88;break i}l[n|0]=111}if(!(f>>>0>1))break}i[k>>2]=t,c(e,21799,k),B=k+48|0}function l7(f,e){var r=0,A=0,k=0,n=0,t=0,o=0;if(i[f+4>>2]=0,i[f+8>>2]=0,t=f+4|0,i[f>>2]=t,A=i[e+60>>2],o=e- -64|0,(A|0)!=(o|0))for(;;){n=i[A+16>>2],k=t,e=k,r=i[e>>2];i:{r:{if(!r)break r;for(;;){if(e=r,r=i[r+16>>2],(r|0)>(n|0)){if(k=e,r=i[e>>2],r)continue;break r}if((r|0)>=(n|0))break i;if(r=i[e+4>>2],!r)break}k=e+4|0}r=U(20),i[r+8>>2]=e,i[r>>2]=0,i[r+4>>2]=0,i[r+16>>2]=n,i[k>>2]=r,e=i[i[f>>2]>>2],e&&(i[f>>2]=e,r=i[k>>2]),D1(i[f+4>>2],r),i[f+8>>2]=i[f+8>>2]+1}r=i[A+4>>2];i:{if(r){for(;;)if(e=r,r=i[r>>2],!r)break i}for(;e=i[A+8>>2],r=i[e>>2]!=(A|0),A=e,!!r;);}if(A=e,(e|0)==(o|0))break}}function u0(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;if(k=i[f+16>>2],!((k|0)>=(e|0)|(k|0)>56)){for(A=64-k|0,k=i[f+4>>2];;){i:{if(o=A,!k){n=A;break i}if(r=i[f>>2],i[f>>2]=r+1,r=s[r|0],k=k-1|0,i[f+4>>2]=k,t=i[f+12>>2],n=o-8|0,u=n&31,w=f,(n&63)>>>0>=32?(h=r<<u,r=0):(h=(1<<u)-1&r>>>32-u,r=r<<u),i[w+8>>2]=r|i[f+8>>2],i[f+12>>2]=t|h,r=A,A=r-8|0,_=_-(r>>>0<8)|0,(o|0)>15)continue}break}k=64-n|0}return i[f+16>>2]=k-e,r=i[f+8>>2],A=f,A=f,f=i[f+12>>2],n=r,t=e&31,(e&63)>>>0>=32?(o=r<<t,n=0):(o=(1<<t)-1&n>>>32-t|f<<t,n=n<<t),i[A+8>>2]=n,i[A+12>>2]=o,A=64-e|0,e=r,r=A&31,(A&63)>>>0>=32?f=f>>>r|0:f=((1<<r)-1&f)<<32-r|e>>>r,f}function u7(f,e,r,A){var k=0,n=0,t=0,o=0;if(k=U(20),i[k+16>>2]=e,l[k+8|0]=r,i[k>>2]=45932,i[k+4>>2]=0,i[k+12>>2]=A,i[e+18604>>2]=k,E6(f+1392|0,k),t=i[e+18596>>2],e=i[t+460>>2],r=i[t+464>>2],e>>>0<r>>>0){i[e>>2]=k,i[t+460>>2]=e+4;return}i:{if(A=i[t+456>>2],n=e-A>>2,f=n+1|0,f>>>0<1073741824){if(o=n<<2,r=r-A|0,n=r>>1,n=r>>>0>=2147483644?1073741823:f>>>0<n>>>0?n:f,n){if(n>>>0>=1073741824)break i;f=U(n<<2)}else f=0;if(r=o+f|0,i[r>>2]=k,k=r+4|0,(e|0)!=(A|0)){for(;r=r-4|0,e=e-4|0,i[r>>2]=i[e>>2],(e|0)!=(A|0););A=i[t+456>>2]}i[t+464>>2]=f+(n<<2),i[t+460>>2]=k,i[t+456>>2]=r,A&&G(A),i[t+460>>2]=k;return}y0(),P()}_2(),P()}function $m(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0;k=B-16|0,B=k,n=i[r>>2],A=i[r+4>>2];i:{if(A){if(i[A+4>>2]=i[A+4>>2]+1,t=e,o=V[i[i[n>>2]+8>>2]](n)|0,i[t+56>>2]=o,i[e+60>>2]=w0,i[e+48>>2]=0,i[e+52>>2]=0,e=i[A+4>>2],i[A+4>>2]=e-1,e)break i;V[i[i[A>>2]+8>>2]](A),g(A);break i}t=e,o=V[i[i[n>>2]+8>>2]](n)|0,i[t+56>>2]=o,i[e+60>>2]=w0,i[e+48>>2]=0,i[e+52>>2]=0}i:{if(s[r+20|0]==1){if(l[k+4|0]=0,l[k+15|0]=0,r0(f,2,100,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+16|0}function bm(f,e){f=f|0,e=e|0;var r=0;if(V[i[i[f>>2]+24>>2]](f)|0,e=x0(e,100200),i[f+68>>2]=e,r=s[f+98|0],e=V[i[i[e>>2]+28>>2]](e)|0,l[f+98|0]=e,(e|0)!=(r|0)){if(i[f+16>>2]=0,i[f+12>>2]=0,i[f+8>>2]=0,i[f+28>>2]=0,i[f+20>>2]=0,i[f+24>>2]=0,e=s[f+96|0],s[f+98|0]==1){i:{if(!(e&1)||(e=i[f+32>>2],!e))break i;G(e)}l[f+96|0]=s[f+97|0],i[f+52>>2]=i[f+60>>2],e=i[f+56>>2],i[f+56>>2]=0,i[f+60>>2]=0,i[f+32>>2]=e,l[f+97|0]=0;return}i:{if(e&1||(e=i[f+32>>2],(e|0)==(f+44|0)))break i;l[f+97|0]=0,i[f+56>>2]=e,e=i[f+52>>2],i[f+60>>2]=e,e=U(e),l[f+96|0]=1,i[f+32>>2]=e;return}e=i[f+52>>2],i[f+60>>2]=e,e=U(e),l[f+97|0]=1,i[f+56>>2]=e}}function dm(f,e,r,A,k,n,t,o,u){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0;var h=0;i:{if(h=V[i[i[e>>2]+68>>2]](i[e+4>>2])|0,e=i[h>>2],!e)break i;for(;;){if(v4(i[e+4>>2],r)){if(e=i[h+4>>2],h=h+4|0,e)continue;break i}break}if(i[e+8>>2]!=1){e=i[18429],i[f>>2]=i[18428],i[f+4>>2]=e,i[f+8>>2]=i[18430];return}r:{if(!s[e+16|0]||(n&&(i[n>>2]=i[e+20>>2]),!t))break r;i[t>>2]=i[e+24>>2]}A&&(i[A>>2]=s[e+16|0]),k&&(i[k>>2]=s[e+16|0]),!u|i[e+32>>2]<=0||(i[u>>2]=i[e+28>>2]),o&&(i[o>>2]=i[e+32>>2]),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412];return}e=i[18429],i[f>>2]=i[18428],i[f+4>>2]=e,i[f+8>>2]=i[18430]}function cm(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0,t=0,o=0;r=B-32|0,B=r;i:{r:{e:{if((e|0)==-1)break e;if(A=e<<24>>24,l[r+23|0]=A,s[f+44|0]==1){if(k=i[f+32>>2],f=B-16|0,B=f,l[f+15|0]=A,A=F1(f+15|0,1,1,k),B=f+16|0,(A|0)!=1)break r;break e}for(n=r+24|0,i[r+16>>2]=n,o=r+32|0,A=r+23|0;;){if(k=i[f+36>>2],k=V[i[i[k>>2]+12>>2]](k,i[f+40>>2],A,n,r+12|0,r+24|0,o,r+16|0)|0,i[r+12>>2]==(A|0))break r;if((k|0)==3){if((F1(A,1,1,i[f+32>>2])|0)==1)break e;break r}if(k>>>0>1||(t=r+24|0,A=i[r+16>>2]-t|0,(F1(t,1,A,i[f+32>>2])|0)!=(A|0)))break r;if(A=i[r+12>>2],(k|0)!=1)break}}f=(e|0)!=-1?e:0;break i}f=-1}return B=r+32|0,f|0}function iB(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0;e=i[f+20>>2],k=i[e+18588>>2],i[f+4>>2]=1,i[k+324>>2]=i[k+324>>2]-1,i[k+328>>2]=i[k+328>>2]+1,r=i[e+18588>>2],n=i[r+124>>2],A=i[n+16908>>2],t=i[e+4>>2],(A|0)>(t|0)&&(A=i[i[i[r+132>>2]+8460>>2]+(t<<2)>>2]),r=i[n+16892>>2],i[e>>2]=A,n=(A|0)/(r|0)|0,i[e+12>>2]=n,i[e+8>>2]=A-m(r,n);i:{r:{e:{if(s[f+8|0]==1){if(JA(e))break e;break r}if(A=i[e+18592>>2],r=i[A+804>>2],r>>>0>=3)break i;k6(e+18572|0,r,i[A+800>>2]),l[e+18580|0]=0,l[e+18581|0]=0,l[e+18582|0]=0,l[e+18583|0]=0}Y6(e+18548|0),mr(e,0,s[f+8|0])}i[f+4>>2]=3,f=i[e+18600>>2],i[f+44>>2]=i[f+44>>2]+1,Ze(k);return}C0(16898,14036,1520,4043),P()}function rB(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0,v=0,Z=0,p=0;if(!((n|0)<=0|(k|0)<=0))for(t=k-1|0,v=t&4,Z=(t>>>2|0)+1&2147483646,p=k>>>0<5;;){if(k=m(A,w)+r|0,t=(m(e,w)<<1)+f|0,o=0,!p)for(;u=s[k|0],h=s[k+1|0],_=s[k+2|0],X[t+6>>1]=s[k+3|0]<<6,X[t+4>>1]=_<<6,X[t+2>>1]=h<<6,X[t>>1]=u<<6,u=s[k+4|0],h=s[k+5|0],_=s[k+6|0],X[t+14>>1]=s[k+7|0]<<6,X[t+12>>1]=_<<6,X[t+10>>1]=h<<6,X[t+8>>1]=u<<6,k=k+8|0,t=t+16|0,o=o+2|0,(Z|0)!=(o|0););if(v||(o=s[k|0],u=s[k+1|0],h=s[k+2|0],X[t+6>>1]=s[k+3|0]<<6,X[t+4>>1]=h<<6,X[t+2>>1]=u<<6,X[t>>1]=o<<6),w=w+1|0,(w|0)==(n|0))break}}function eB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;A=B-32|0,B=A;i:{if(!r){if(l[A|0]=0,l[A+11|0]=0,r=r0(A+12|0,5,2001,A),l[A+11|0]<0&&G(i[A>>2]),n=f,f=i[e>>2],P0(n,r,f?f+8|0:0),l[r+19|0]>=0)break i;G(i[r+8>>2]);break i}k=i[e>>2],n=i[k+44>>2],k=i[k+48>>2],k&&(i[k+4>>2]=i[k+4>>2]+1);r:{if(!n){if(l[A|0]=0,l[A+11|0]=0,r=r0(A+12|0,10,0,A),l[A+11|0]<0&&G(i[A>>2]),n=f,f=i[e>>2],P0(n,r,f?f+8|0:0),l[r+19|0]>=0)break r;G(i[r+8>>2]);break r}if(t=A+12|0,wn(t,n,r),r=f,f=i[e>>2],P0(r,t,f?f+8|0:0),l[A+31|0]>=0)break r;G(i[A+20>>2])}if(!k||(f=i[k+4>>2],i[k+4>>2]=f-1,f))break i;V[i[i[k>>2]+8>>2]](k),g(k)}B=A+32|0}function xA(f,e){var r=0,A=0,k=0,n=0,t=0;i:{if(r=i[f>>2],A=(i[f+4>>2]-r|0)/56|0,k=A+1|0,k>>>0<76695845){if(A=m(A,56),r=(i[f+8>>2]-r|0)/56|0,n=r<<1,n=r>>>0>=38347922?76695844:k>>>0<n>>>0?n:k,n){if(n>>>0>=76695845)break i;k=U(m(n,56))}else k=0;if(A=A+k|0,Z6(A,e),t=A+56|0,e=i[f+4>>2],r=i[f>>2],(e|0)!=(r|0)){for(;A=A-56|0,e=e-56|0,Z6(A,e),(e|0)!=(r|0););r=i[f>>2],e=i[f+4>>2]}if(i[f+8>>2]=m(n,56)+k,i[f+4>>2]=t,i[f>>2]=A,(e|0)!=(r|0))for(;f=i[e-12>>2],f&&(i[e-8>>2]=f,G(f)),f=e-56|0,i[f>>2]=68500,k=i[e-36>>2],k&&(i[e-32>>2]=k,G(k)),e=f,(f|0)!=(r|0););return r&&G(r),t}y0(),P()}_2(),P()}function AB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0;k=B-32|0,B=k,n=V[i[i[e>>2]+32>>2]](e,r,0)|0,k1(r,s[e+48|0]?4:2,i[e+40>>2]-i[e+36>>2]>>3,0),A=i[e+36>>2],t=i[e+40>>2];i:{if((A|0)!=(t|0))for(;;){if(o=i[A>>2],V[i[i[o>>2]+16>>2]](f,o,r),i[f>>2])break i;if(l[f+19|0]<0&&G(i[f+8>>2]),A=A+8|0,(t|0)==(A|0))break}if(A=i[19565],i[f>>2]=i[19564],i[f+4>>2]=A,f=f+8|0,l[78275]>=0){A=i[19567],i[f>>2]=i[19566],i[f+4>>2]=A,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}i[r+12>>2]=n,V[i[i[e>>2]+36>>2]](k+12|0,e,r,i[r+4>>2]-(i[r>>2]+n|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[k+31|0]<0&&G(i[k+20>>2]),B=k+32|0}function fB(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0;n=B-192|0,B=n,i[n+112>>2]=55156,t=i[13792],i[n+8>>2]=t,o=i[t-12>>2],t=n+8|0,i[o+t>>2]=i[13793],o=t+i[i[n+8>>2]-12>>2]|0,u=n+12|0,b0(o,u),i[o+72>>2]=0,i[o+76>>2]=-1,i[n+112>>2]=55156,i[n+8>>2]=55136,o=z7(u),jk(o,k,20)||(k=t+i[i[n+8>>2]-12>>2]|0,z1(k,i[k+16>>2]|4)),t=B-16|0,B=t,k=n+8|0,V1(t+8|0,k);i:{if(!A|!s[t+8|0]||(u=i[(k+i[i[k>>2]-12>>2]|0)+24>>2],(V[i[i[u>>2]+48>>2]](u,r,A)|0)==(A|0)))break i;Oo(k+i[i[k>>2]-12>>2]|0,1)}Z1(t+8|0),B=t+16|0,P0(f,78256,i[e>>2]),f=i[13791],i[n+8>>2]=f,i[k+i[f-12>>2]>>2]=i[13794],I6(o),T0(n+112|0),B=n+192|0}function s7(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=U(24),l[A+22|0]=1,X[A+20>>1]=2,i[A+16>>2]=131074,i[A+12>>2]=72992,i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=72832,k=A+12|0,l[k+10|0]=1,X[k+8>>1]=6,i[k+4>>2]=851969,X[A+16>>1]=i[r+4>>2],X[A+18>>1]=i[r+8>>2],X[A+20>>1]=i[r+12>>2],l[A+22|0]=s[r+16|0]!=0,r=i[e>>2],i[A+4>>2]=i[A+4>>2]+2,i[r+44>>2]=k,e=i[r+48>>2],i[r+48>>2]=A;i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[A+4>>2],i[A+4>>2]=e-1,e||(V[i[i[A>>2]+8>>2]](A),g(A)),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],f=i[A+4>>2],i[A+4>>2]=f-1,f||(V[i[i[A>>2]+8>>2]](A),g(A))}function kB(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;t=B-32|0,B=t,i[t+24>>2]=0,i[t+28>>2]=0,u=t+4|0,o=i[e>>2],Mk(u,o,r,i[o+24>>2]+(A^-1)|0,k,i[o+28>>2]+(n^-1)|0,t+24|0);i:{if(i[t+4>>2]){r=f,f=i[e>>2],P0(r,u,f?f+8|0:0);break i}r=i[t+24>>2],A=i[t+28>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[e>>2]=r,r=i[e+4>>2],i[e+4>>2]=A;r:{if(!r||(e=i[r+4>>2],i[r+4>>2]=e-1,e))break r;V[i[i[r>>2]+8>>2]](r),g(r)}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}l[t+23|0]<0&&G(i[t+12>>2]),f=i[t+28>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=t+32|0}function nB(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0,t=0,o=0;r=B-32|0,B=r;i:{r:{e:{if((e|0)==-1)break e;if(i[r+20>>2]=e,s[f+44|0]==1){f=i[f+32>>2];A:{if(i[f+76>>2]<0){f=Pn(e,f);break A}f=Pn(e,f)}if((f|0)==-1)break r;break e}for(n=r+24|0,i[r+16>>2]=n,o=r+32|0,A=r+20|0;;){if(k=i[f+36>>2],k=V[i[i[k>>2]+12>>2]](k,i[f+40>>2],A,n,r+12|0,r+24|0,o,r+16|0)|0,i[r+12>>2]==(A|0))break r;if((k|0)==3){if((F1(A,1,1,i[f+32>>2])|0)==1)break e;break r}if(k>>>0>1||(t=r+24|0,A=i[r+16>>2]-t|0,(F1(t,1,A,i[f+32>>2])|0)!=(A|0)))break r;if(A=i[r+12>>2],(k|0)!=1)break}}f=(e|0)!=-1?e:0;break i}f=-1}return B=r+32|0,f|0}function tB(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=B+-64|0,B=e,A=i[r+4>>2],k=i[r>>2],i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,A|(k|0)!=2||(i[e+48>>2]=8,l[e+44|0]=0,l[e+62|0]=1,X[e+60>>1]=2,i[e+56>>2]=131074,i[e+36>>2]=99,i[e+40>>2]=99,i[e+52>>2]=72992,l[e+62|0]=1,X[e+60>>1]=6,i[e+56>>2]=851969,i[e+36>>2]=0,i[e+40>>2]=1,l[e+44|0]=s[r+8|0],i[e+48>>2]=i[r+12>>2],r=i[e+48>>2],i[e+8>>2]=i[e+44>>2],i[e+12>>2]=r,r=s[e+59|0]|s[e+60|0]<<8|(s[e+61|0]<<16|s[e+62|0]<<24),l[e+23|0]=r,l[e+24|0]=r>>>8,l[e+25|0]=r>>>16,l[e+26|0]=r>>>24,i[e>>2]=0,i[e+4>>2]=1,i[e+16>>2]=72992,i[e+20>>2]=i[e+56>>2],i[e+28>>2]=6,P2(f,e)),B=e- -64|0}function h7(f,e,r){var A=0,k=0;if(!e)return 0;i:{r:{if(!r)break r;if(A=s[e|0],k=A<<24>>24,(k|0)>=0)return f&&(i[f>>2]=A),(k|0)!=0;if(!i[i[23985]>>2]){if(e=1,!f)break i;return i[f>>2]=k&57343,1}if(A=A-194|0,A>>>0>50||(A=i[(A<<2)+55504>>2],r>>>0<=3&&A<<m(r,6)-6<0)||(r=s[e+1|0],k=r>>>3|0,(k-16|k+(A>>26))>>>0>7))break r;if(r=r-128|A<<6,(r|0)>=0){if(e=2,!f)break i;return i[f>>2]=r,2}if(A=s[e+2|0]-128|0,A>>>0>63)break r;if(k=A,A=r<<6,r=k|A,(A|0)>=0){if(e=3,!f)break i;return i[f>>2]=r,3}if(A=s[e+3|0]-128|0,A>>>0>63)break r;if(e=4,!f)break i;return i[f>>2]=A|r<<6,4}i[23944]=25,e=-1}return e}function $4(f,e,r,A,k){var n=0,t=0,o=0;o=B-16|0,B=o,i[o+12>>2]=e,e=0,n=6;i:{r:{if(g2(f,o+12|0))break r;n=i[f>>2],t=i[n+12>>2];e:{if((t|0)==i[n+16>>2]){t=V[i[i[n>>2]+36>>2]](n)|0;break e}t=i[t>>2]}if(n=4,!(V[i[i[A>>2]+12>>2]](A,64,t)|0))break r;for(e=V[i[i[A>>2]+52>>2]](A,t,0)|0;;){e:{if(Y1(f),e=e-48|0,g2(f,o+12|0)|(k|0)<2)break e;n=i[f>>2],t=i[n+12>>2];A:{if((t|0)==i[n+16>>2]){n=V[i[i[n>>2]+36>>2]](n)|0;break A}n=i[t>>2]}if(!(V[i[i[A>>2]+12>>2]](A,64,n)|0))break i;k=k-1|0,e=(V[i[i[A>>2]+52>>2]](A,n,0)|0)+m(e,10)|0;continue}break}if(!g2(f,o+12|0))break i;n=2}i[r>>2]=n|i[r>>2]}return B=o+16|0,e}function w7(f,e){var r=0,A=0,k=0;k=e+24|0,A=i[e>>2]&63,l[k+A|0]=128,r=A+1|0,A=A^63,A>>>0<=7&&(B0(r+k|0,0,A),A=64,Br(e,k,64),r=0),B0(r+k|0,0,A-8|0),i[e+84>>2]=i[e+4>>2],r=i[e>>2],l[e+83|0]=r>>>21,l[e+82|0]=r>>>13,l[e+81|0]=r>>>5,r=r<<3,l[e+80|0]=r,i[e>>2]=r,Br(e,k,64),l[f|0]=i[e+8>>2],l[f+1|0]=i[e+8>>2]>>>8,l[f+2|0]=Q[e+10>>1],l[f+3|0]=s[e+11|0],l[f+4|0]=i[e+12>>2],l[f+5|0]=i[e+12>>2]>>>8,l[f+6|0]=Q[e+14>>1],l[f+7|0]=s[e+15|0],l[f+8|0]=i[e+16>>2],l[f+9|0]=i[e+16>>2]>>>8,l[f+10|0]=Q[e+18>>1],l[f+11|0]=s[e+19|0],l[f+12|0]=i[e+20>>2],l[f+13|0]=i[e+20>>2]>>>8,l[f+14|0]=Q[e+22>>1],l[f+15|0]=s[e+23|0],B0(e,0,152)}function zA(f){var e=0,r=0,A=0;if(aA(f),e=i[f+320>>2],e){if(A=e-4|0,r=i[A>>2],r)for(r=e+m(r,76)|0;r=r-76|0,(e|0)!=(r|0););G(A)}G(i[f+260>>2]),G(i[f+240>>2]),G(i[f+220>>2]),G(i[f+200>>2]),G(i[f+180>>2]),G(i[f+160>>2]),G(i[f+140>>2]),e=i[f+136>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+128>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+120>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}return e=i[f+52>>2],e&&(i[f+56>>2]=e,G(e)),f}function fi(f,e,r,A,k,n,t,o){var u=0,h=0,w=0,_=0;w=1,u=A&2147483647,h=u,_=(u|0)==2147418112;i:{if((_&!r?f|e:_&(r|0)!=0|u>>>0>2147418112)||(u=o&2147483647,!t&(u|0)==2147418112?k|n:(u|0)==2147418112&(t|0)!=0|u>>>0>2147418112))break i;if(!(f|k|(r|t)|(e|n|(u|h))))return 0;if(u=A&o,(u|0)>0?h=1:h=(u|0)>=0,h)return((r|0)==(t|0)&(A|0)==(o|0)?(e|0)==(n|0)&f>>>0<k>>>0|e>>>0<n>>>0:r>>>0<t>>>0&(A|0)<=(o|0)|(A|0)<(o|0))?-1:(f^k|r^t|(e^n|A^o))!=0;if((r|0)==(t|0)&(A|0)==(o|0)?(e|0)==(n|0)&f>>>0>k>>>0|e>>>0>n>>>0:r>>>0>t>>>0&(A|0)>=(o|0)|(A|0)>(o|0))return-1;w=(f^k|r^t|(e^n|A^o))!=0}return w}function B6(f,e,r,A){var k=0,n=0,t=0,o=0;t=A||98552,A=i[t>>2];i:{r:{e:{if(!e){if(A)break e;return 0}if(k=-2,!r)break r;A:{if(A){k=r;break A}if(A=s[e|0],n=A<<24>>24,(n|0)>=0)return f&&(i[f>>2]=A),(n|0)!=0;if(!i[i[23985]>>2]){if(k=1,!f)break r;return i[f>>2]=n&57343,1}if(A=A-194|0,A>>>0>50)break e;if(A=i[(A<<2)+55504>>2],k=r-1|0,!k)break i;e=e+1|0}if(n=s[e|0],o=n>>>3|0,(o-16|(A>>26)+o)>>>0>7)break e;for(;;){if(k=k-1|0,A=n-128|A<<6,(A|0)>=0)return i[t>>2]=0,f&&(i[f>>2]=A),r-k|0;if(!k)break i;if(e=e+1|0,n=s[e|0],(n&192)!=128)break}}i[t>>2]=0,i[23944]=25,k=-1}return k}return i[t>>2]=A,-2}function oB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-48|0,B=A,n=V[i[i[e>>2]+32>>2]](e,r,0)|0,k=i[e+48>>2],l2(r,V[i[i[k>>2]+8>>2]](k)|0),k=i[e+48>>2],V[i[i[k>>2]+16>>2]](A+24|0,k,r);i:{if(i[A+24>>2]){e=i[A+28>>2],i[f>>2]=i[A+24>>2],i[f+4>>2]=e,i[f+16>>2]=i[A+40>>2],e=i[A+36>>2],i[f+8>>2]=i[A+32>>2],i[f+12>>2]=e,i[A+40>>2]=0,i[A+32>>2]=0,i[A+36>>2]=0;break i}if(Y4(A+4|0,e,r,n),l[A+23|0]<0&&G(i[A+12>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}l[A+43|0]<0&&G(i[A+32>>2]),B=A+48|0}function _7(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;i:{k=i[f+4>>2],o=i[f>>2];r:{if((k|0)!=(o|0)){r=k;break r}if(A=i[f+8>>2],r=i[f+12>>2],A>>>0<r>>>0){n=((r-A>>2)+1|0)/2<<2,t=A-k|0,r=(n+A|0)-t|0,(A|0)!=(k|0)&&(F2(r,k,t),A=i[f+8>>2]),i[f+4>>2]=r,i[f+8>>2]=A+n;break r}if(r=(r|0)==(k|0)?1:r-k>>1,r>>>0>=1073741824)break i;if(n=r<<2,t=U(n),u=n+t|0,r=t+(r+3&-4)|0,n=r,(A|0)!=(k|0))for(h=(A-k|0)+r|0,A=k;i[n>>2]=i[A>>2],A=A+4|0,n=n+4|0,(h|0)!=(n|0););if(i[f+12>>2]=u,i[f+8>>2]=n,i[f+4>>2]=r,i[f>>2]=t,!k)break r;G(o),r=i[f+4>>2]}i[r-4>>2]=i[e>>2],i[f+4>>2]=i[f+4>>2]-4;return}_2(),P()}function Ii(f,e){var r=0,A=0,k=0;A=B-48|0,B=A,s[79117]==1&&(i[A+36>>2]=e,i[A+32>>2]=f,f8(22051,A+32|0)),r=i[e+4>>2];i:{if(!r){if(s[79117]==1&&(i[A+4>>2]=i[f+4>>2],i[A>>2]=f,f8(22011,A)),e=i[f+4>>2],!e)break i;r=i[e>>2]-1|0,i[e>>2]=r;r:{if(r||(r=i[f>>2],r&&(G(r),e=i[f+4>>2],!e)))break r;G(e)}i[f>>2]=0,i[f+4>>2]=0;break i}if(i[r>>2]=i[r>>2]+1,s[79117]==1&&(i[A+20>>2]=i[f+4>>2],i[A+16>>2]=f,f8(22011,A+16|0)),r=i[f+4>>2],r){k=i[r>>2]-1|0,i[r>>2]=k;r:{if(k||(k=i[f>>2],k&&(G(k),r=i[f+4>>2],!r)))break r;G(r)}i[f>>2]=0,i[f+4>>2]=0}i[f>>2]=i[e>>2],i[f+4>>2]=i[e+4>>2]}B=A+48|0}function lB(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0;i:{if(!(!k|(!r|!A))&&n)break i;e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560];return}i:{if(o=i[e+16>>2],!o||(o=N0(o,72776,73388),!o))break i;e=i[e+20>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[r>>2]=i[o+4>>2],i[A>>2]=i[o+8>>2],i[k>>2]=i[o+12>>2],i[n>>2]=i[o+16>>2],r=i[o+20>>2],l0(t,r,i[o+24>>2]-r|0),i[f+8>>2]=i[18412],r=i[18411],i[f>>2]=i[18410],i[f+4>>2]=r;r:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break r;V[i[i[e>>2]+8>>2]](e),g(e)}return}e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560]}function uB(f,e,r,A,k,n,t,o,u,h){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0,h=h|0;var w=0,_=0,v=0,Z=0,p=0,W=0,C=0,I=0;if((u|0)>0){if(!((n|0)<=0|(k|0)<=0))for(p=1<<u-1,_=-1<<h^-1,C=k&2147483646,I=k&1;;){if(h=(m(e,Z)<<1)+f|0,v=(m(A,Z)<<1)+r|0,W=0,(k|0)!=1)for(;w=(m(X[v>>1],t)+p>>u)+o|0,X[h>>1]=(w|0)>=0?(_|0)>(w|0)?w:_:0,w=(m(X[v+2>>1],t)+p>>u)+o|0,X[h+2>>1]=(w|0)>=0?(_|0)>(w|0)?w:_:0,v=v+4|0,h=h+4|0,W=W+2|0,(C|0)!=(W|0););if(I&&(w=h,h=(m(X[v>>1],t)+p>>u)+o|0,X[w>>1]=(h|0)>=0?(h|0)<(_|0)?h:_:0),Z=Z+1|0,(Z|0)==(n|0))break}return}C0(17004,13955,193,8109),P()}function Kr(f,e,r){var A=Y(0),k=Y(0),n=0,t=Y(0),o=Y(0),u=Y(0),h=Y(0),w=Y(0);n=B-16|0,B=n,Qn(n+8|0,e,r),A=Z0[n+12>>2],t=Z0[n+8>>2];i:{if(!(A!=Y(0)|t!=Y(0))){w=Y(-.41868799924850464),o=Y(-.3312639892101288),A=Y(.11400000005960464),h=Y(.5870000123977661),t=Y(.29899999499320984),k=Y(-.08131200075149536),u=Y(-.16873499751091003);break i}k=Y(Y(1)-t),h=Y(k-A),o=Y(-h),w=Y(Y(o/k)*Y(.5)),u=Y(Y(1)-A),o=Y(Y(o/u)*Y(.5)),k=Y(Y(Y(-A)/k)*Y(.5)),u=Y(Y(Y(-t)/u)*Y(.5))}Z0[f+36>>2]=k,Z0[f+32>>2]=w,i[f+24>>2]=1056964608,i[f+28>>2]=1056964608,Z0[f+20>>2]=o,Z0[f+16>>2]=u,Z0[f+12>>2]=A,Z0[f+8>>2]=h,Z0[f+4>>2]=t,l[f|0]=1,B=n+16|0}function sB(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0;k=B-32|0,B=k;i:{r:{if(t=i[e>>2],n=i[t+164>>2],u=i[t+168>>2],(n|0)==(u|0))break r;for(;;){if(o=i[n>>2],i[o>>2]!=(r|0)){if(n=n+8|0,(u|0)!=(n|0))continue;break r}break}if(r=i[o+40>>2],n=i[o+44>>2],(r|0)!=(n|0)){if(!A){if(l[k|0]=0,l[k+11|0]=0,r=r0(k+12|0,5,2001,k),l[k+11|0]<0&&G(i[k>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break i;G(i[r+8>>2]);break i}l0(A,r,n-r|0),t=i[e>>2]}P0(f,78256,t);break i}if(l[k|0]=0,l[k+11|0]=0,r=r0(k+12|0,5,2e3,k),l[k+11|0]<0&&G(i[k>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break i;G(i[r+8>>2])}B=k+32|0}function hB(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0;n=B-32|0,B=n,i[n+24>>2]=0,i[n+28>>2]=0,t=n+4|0,vA(t,i[e>>2],n+24|0,A,k);i:{if(i[n+4>>2])break i;t=U(8),i[t>>2]=0,i[t+4>>2]=0,i[r>>2]=t,r=i[n+24>>2],A=i[n+28>>2];r:{if(!A){i[t+4>>2]=0,i[t>>2]=r;break r}if(i[A+4>>2]=i[A+4>>2]+1,i[t>>2]=r,k=i[t+4>>2],i[t+4>>2]=A,t=78256,!k||(r=i[k+4>>2],i[k+4>>2]=r-1,r))break i;V[i[i[k>>2]+8>>2]](k),g(k)}t=78256}r=f,f=i[e>>2],P0(r,t,f?f+8|0:0),l[n+23|0]<0&&G(i[n+12>>2]),e=i[n+28>>2];i:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}B=n+32|0}function qr(f,e,r,A,k){var n=0,t=0,o=0,u=0;n=B-208|0,B=n,i[n+204>>2]=r,r=n+160|0,B0(r,0,40),i[n+200>>2]=i[n+204>>2];i:{if((Vk(0,e,n+200|0,n+80|0,r,A,k)|0)<0){k=-1;break i}u=i[f+76>>2]<0,t=i[f>>2],i[f>>2]=t&-33;r:{e:{A:{if(!i[f+48>>2]){i[f+48>>2]=80,i[f+28>>2]=0,i[f+16>>2]=0,i[f+20>>2]=0,o=i[f+44>>2],i[f+44>>2]=n;break A}if(i[f+16>>2])break e}if(r=-1,G3(f))break r}r=Vk(f,e,n+200|0,n+80|0,n+160|0,A,k)}if(o&&(V[i[f+36>>2]](f,0,0)|0,i[f+48>>2]=0,i[f+44>>2]=o,i[f+28>>2]=0,e=i[f+20>>2],i[f+16>>2]=0,i[f+20>>2]=0,r=e?r:-1),e=f,f=i[f>>2],i[e>>2]=f|t&32,k=f&32?-1:r,u)break i}return B=n+208|0,k}function Z4(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;r=i[f+56>>2],k=i[f+60>>2],r=U3(r,e,k-r>>2),o=r||k;i:{r:{if(k=i[f+60>>2],(o|0)==(k|0)){A=i[f+64>>2];e:{if(A>>>0>o>>>0){i[k>>2]=e,e=k+4|0;break e}if(t=i[f+56>>2],n=o-t>>2,r=n+1|0,r>>>0>=1073741824)break r;if(u=n<<2,A=A-t|0,n=A>>1,n=A>>>0>=2147483644?1073741823:r>>>0<n>>>0?n:r,n){if(n>>>0>=1073741824)break i;r=U(n<<2)}else r=0;if(A=u+r|0,i[A>>2]=e,e=A+4|0,(t|0)!=(o|0))for(;A=A-4|0,k=k-4|0,i[A>>2]=i[k>>2],(k|0)!=(t|0););if(i[f+64>>2]=r+(n<<2),i[f+60>>2]=e,i[f+56>>2]=A,!t)break e;G(t)}i[f+60>>2]=e}return}y0(),P()}_2(),P()}function wB(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0;i:{if(!(!r|!A|(!k|!n))&&t)break i;e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560];return}i:{if(o=i[e+16>>2],!o||(o=N0(o,72776,73344),!o))break i;e=i[e+20>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[r>>2]=i[o+4>>2],i[A>>2]=i[o+8>>2],i[k>>2]=i[o+12>>2],i[n>>2]=i[o+16>>2],i[t>>2]=i[o+20>>2],i[f+8>>2]=i[18412],r=i[18411],i[f>>2]=i[18410],i[f+4>>2]=r;r:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break r;V[i[i[e>>2]+8>>2]](e),g(e)}return}e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560]}function _B(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;A=B-32|0,B=A;i:{if(!r){if(l[A|0]=0,l[A+11|0]=0,r=r0(A+12|0,5,2001,A),l[A+11|0]<0&&G(i[A>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break i;G(i[r+8>>2]);break i}k=i[e>>2],n=i[k+176>>2],k=i[k+180>>2],k&&(i[k+4>>2]=i[k+4>>2]+1);r:{if(!n){if(l[A|0]=0,l[A+11|0]=0,r=r0(A+12|0,10,0,A),l[A+11|0]<0&&G(i[A>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break r;G(i[r+8>>2]);break r}if(t=A+12|0,wn(t,n,r),P0(f,t,i[e>>2]),l[A+31|0]>=0)break r;G(i[A+20>>2])}if(!k||(f=i[k+4>>2],i[k+4>>2]=f-1,f))break i;V[i[i[k>>2]+8>>2]](k),g(k)}B=A+32|0}function v7(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=69612,k=i[f+56>>2],k){if(e=k,r=i[f+60>>2],(e|0)!=(r|0)){for(;e=i[r-12>>2],e&&(i[r-8>>2]=e,G(e)),e=r-56|0,i[e>>2]=68500,A=i[r-36>>2],A&&(i[r-32>>2]=A,G(A)),r=e,(e|0)!=(k|0););e=i[f+56>>2]}i[f+60>>2]=k,G(e)}if(i[f>>2]=68616,k=i[f+36>>2],k){if(e=k,r=i[f+40>>2],(e|0)!=(r|0)){for(;;){A=i[r-4>>2];i:{if(!A||(e=i[A+4>>2],i[A+4>>2]=e-1,e))break i;V[i[i[A>>2]+8>>2]](A),g(A)}if(r=r-8|0,(k|0)==(r|0))break}e=i[f+36>>2]}i[f+40>>2]=k,G(e)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function vB(f,e,r,A,k,n,t,o,u){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0;var h=0,w=0,_=0,v=0,Z=0,p=0,W=0,C=0;if((u|0)>0){if(!((n|0)<=0|(k|0)<=0))for(p=1<<u-1,W=k&2147483646,C=k&1;;){if(h=m(e,Z)+f|0,_=(m(A,Z)<<1)+r|0,v=0,(k|0)!=1)for(;w=(m(X[_>>1],t)+p>>u)+o|0,w=(w|0)>=255?255:w,l[h|0]=(w|0)>0?w:0,w=(m(X[_+2>>1],t)+p>>u)+o|0,w=(w|0)>=255?255:w,l[h+1|0]=(w|0)>0?w:0,_=_+4|0,h=h+2|0,v=v+2|0,(W|0)!=(v|0););if(C&&(v=h,h=(m(X[_>>1],t)+p>>u)+o|0,h=(h|0)>=255?255:h,l[v|0]=(h|0)>0?h:0),Z=Z+1|0,(Z|0)==(n|0))break}return}C0(17004,13955,60,7955),P()}function mB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-16|0,B=A,k=e,n=t2(r),X[k+48>>1]=n,k=e,n=t2(r),X[k+54>>1]=n,k=e,n=t2(r),X[k+50>>1]=n,k=e,n=t2(r),X[k+56>>1]=n,k=e,n=t2(r),X[k+52>>1]=n,k=e,n=t2(r),X[k+58>>1]=n,k=e,n=t2(r),X[k+60>>1]=n,k=e,n=t2(r),X[k+62>>1]=n,k=e,n=D0(r),i[k+64>>2]=n,k=e,n=D0(r),i[k+68>>2]=n;i:{if(s[r+20|0]==1){if(l[A+4|0]=0,l[A+15|0]=0,r0(f,2,100,A+4|0),l[A+15|0]>=0)break i;G(i[A+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+16|0}function BB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0;k=B-32|0,B=k,n=V[i[i[e>>2]+32>>2]](e,r,0)|0,A=i[e+36>>2],t=i[e+40>>2];i:{if((A|0)!=(t|0))for(;;){if(o=i[A>>2],V[i[i[o>>2]+16>>2]](f,o,r),i[f>>2])break i;if(l[f+19|0]<0&&G(i[f+8>>2]),A=A+8|0,(t|0)==(A|0))break}if(A=i[19565],i[f>>2]=i[19564],i[f+4>>2]=A,f=f+8|0,l[78275]>=0){A=i[19567],i[f>>2]=i[19566],i[f+4>>2]=A,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}i[r+12>>2]=n,V[i[i[e>>2]+36>>2]](k+12|0,e,r,i[r+4>>2]-(i[r>>2]+n|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[k+31|0]<0&&G(i[k+20>>2]),B=k+32|0}function R2(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;A=B-160|0,B=A,i[A+80>>2]=54820,k=i[13708],i[A+24>>2]=k,t=A+24|0,i[t+i[k-12>>2]>>2]=i[13709],k=i[i[A+24>>2]-12>>2]+t|0,n=A+28|0,b0(k,n),i[k+72>>2]=0,i[k+76>>2]=-1,i[A+80>>2]=54820,i[A+24>>2]=54800,k=$0(n),i[k>>2]=53552,i[A+68>>2]=0,i[A+72>>2]=0,i[A+60>>2]=0,i[A+64>>2]=0,i[A+76>>2]=16,n=A+12|0,Hr(n,e,r),e=l[A+23|0],r=(e|0)<0,x(t,r?i[A+12>>2]:n,r?i[A+16>>2]:e),l[A+23|0]<0&&G(i[A+12>>2]),i2(f,k),f=i[13707],i[A+24>>2]=f,i[i[f-12>>2]+(A+24|0)>>2]=i[13710],i[k>>2]=53552,l[A+71|0]<0&&G(i[A+60>>2]),K0(k),T0(A+80|0),B=A+160|0}function $r(f,e,r){var A=0,k=0;A=U(24),l[A+22|0]=1,X[A+20>>1]=2,i[A+16>>2]=131074,i[A+12>>2]=72992,i[A+4>>2]=0,i[A+8>>2]=0,i[A>>2]=72832,k=A+12|0,l[k+10|0]=1,X[k+8>>1]=6,i[k+4>>2]=851969,i[f+4>>2]=A,i[f>>2]=k;i:{if(r){Jt(k,r);break i}e=i[e>>2],r=i[e+44>>2],e=i[e+48>>2],e&&(i[e+4>>2]=i[e+4>>2]+1);r:{if(r){i[A+16>>2]=i[r+4>>2],r=s[r+7|0]|s[r+8|0]<<8|(s[r+9|0]<<16|s[r+10|0]<<24),l[A+19|0]=r,l[A+20|0]=r>>>8,l[A+21|0]=r>>>16,l[A+22|0]=r>>>24;break r}l[k+10|0]=1,X[k+8>>1]=2,i[k+4>>2]=131074}if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}Dt(i[f>>2])}function m7(f){var e=0;e=U(160),i[e+68>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,i[e+24>>2]=0,i[e+28>>2]=0,i[e+88>>2]=0,i[e+92>>2]=0,X[e+84>>1]=1,i[e+80>>2]=0,i[e+72>>2]=0,i[e+76>>2]=0,i[e+112>>2]=0,i[e+116>>2]=1072693248,i[e+120>>2]=0,i[e+124>>2]=0,i[e>>2]=72024,i[e+32>>2]=0,i[e+36>>2]=0,i[e+40>>2]=0,i[e+44>>2]=0,i[e+48>>2]=0,i[e+52>>2]=0,i[e+56>>2]=0,i[e+60>>2]=0,l[e- -64|0]=0,i[e+16>>2]=69972,i[e+96>>2]=0,i[e+100>>2]=0,i[e+104>>2]=0,i[e+108>>2]=0,i[e+144>>2]=0,i[e+136>>2]=0,i[e+140>>2]=0,i[e+128>>2]=0,i[e+132>>2]=0,l[e+156|0]=0,i[e+152>>2]=0,i[e+32>>2]=1668113784,i[f+4>>2]=e,i[f>>2]=e+16}function ZB(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0,_=0;if(Q1(f,i[e+8>>2],n)){n3(e,r,A,k);return}o=s[e+53|0],t=i[f+12>>2],l[e+53|0]=0,u=s[e+52|0],l[e+52|0]=0,h=f+16|0,Y3(h,e,r,A,k,n),w=s[e+52|0],u=u|w,_=s[e+53|0],o=o|_;i:{if((t|0)<2)break i;for(h=h+(t<<3)|0,t=f+24|0;;){if(s[e+54|0])break i;r:{if(w&1){if(i[e+24>>2]==1)break i;if(s[f+8|0]&2)break r;break i}if(!(_&1))break r;if(!(l[f+8|0]&1))break i}if(X[e+52>>1]=0,Y3(t,e,r,A,k,n),_=s[e+53|0],o=(_|o)&1,w=s[e+52|0],u=(w|u)&1,t=t+8|0,!(h>>>0>t>>>0))break}}l[e+53|0]=o&1,l[e+52|0]=u&1}function p2(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;if(k=i[f+24>>2],(k|0)>=(e|0)|(k|0)>56)r=k;else{for(r=64-k|0,t=i[f+16>>2],u=i[f+20>>2],k=i[f+8>>2],A=i[f>>2];;){i:{if(h=r,!k){n=r;break i}if(w=A+1|0,i[f>>2]=w,A=s[A|0],k=k-1|0,i[f+8>>2]=k,n=h-8|0,o=n&31,(n&63)>>>0>=32?(_=A<<o,A=0):(_=(1<<o)-1&A>>>32-o,A=A<<o),t=A|t,A=u|_,u=A,i[f+16>>2]=t,i[f+20>>2]=A,A=r,r=A-8|0,v=v-(A>>>0<8)|0,A=w,(h|0)>15)continue}break}r=64-n|0}i[f+24>>2]=r-e,t=i[f+20>>2],n=i[f+16>>2],r=e&31,(e&63)>>>0>=32?(e=n<<r,r=0):(e=(1<<r)-1&n>>>32-r|t<<r,r=n<<r),i[f+16>>2]=r,i[f+20>>2]=e}function pB(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0;A=B-16|0,B=A;i:{if(!(s[n+11|0]>>>7|0)){i[f+8>>2]=i[n+8>>2],e=i[n+4>>2],i[f>>2]=i[n>>2],i[f+4>>2]=e;break i}r=i[n>>2],k=B-16|0,B=k;r:{e:{n=i[n+4>>2];A:{if(n>>>0<2){e=f,l[f+11|0]=s[f+11|0]&128|n&127,l[f+11|0]=s[f+11|0]&127;break A}if(n>>>0>1073741815)break e;o=k+8|0,n>>>0>=2?(t=n+2&-2,e=t-1|0,e=(e|0)==2?t:e):e=1,xi(o,e+1|0),e=i[k+8>>2],i[f>>2]=e,i[f+8>>2]=i[f+8>>2]&-2147483648|i[k+12>>2]&2147483647,i[f+8>>2]=i[f+8>>2]|-2147483648,i[f+4>>2]=n}De(e,r,n+1|0),B=k+16|0;break r}o4(),P()}}B=A+16|0}function WB(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;r=B-16|0,B=r,n=d5()|0;i:{r:{if(!e||(A=TA(e),(A|0)<=0))break r;if(t=Z2(A<<2),t){o=Gn(e,t,A);e:{if(!o||(e=0,(o|0)<=0))break e;for(;i[r+8>>2]=e,k=r+8|0,A=j1(67596,k|0)|0,i[r+8>>2]=i[(e<<2)+t>>2],k=j1(67608,k|0)|0,g4(n|0,A|0,k|0),k>>>0>=9&&t1(k|0),A>>>0>=9&&t1(A|0),e=e+1|0,(o|0)!=(e|0););}G(t);break r}if(e=U(12),i[e>>2]=6,i[e+4>>2]=1e3,i[r+8>>2]=e,u=f,h=j1(73788,r+8|0)|0,i[u+4>>2]=h,i[f>>2]=95844,n>>>0<9)break i;t1(n|0);break i}i[f+4>>2]=n,i[f>>2]=95844}B=r+16|0}function ki(f,e,r,A){var k=0,n=0,t=0;if(k=i[f+8>>2],n=i[f>>2],k-n>>2>>>0>=A>>>0){if(t=A,k=i[f+4>>2],A=k-n|0,t>>>0>A>>2>>>0){(k|0)!=(n|0)&&(F2(n,e,A),k=i[f+4>>2]),e=e+A|0,A=r-e|0,(e|0)!=(r|0)&&F2(k,e,A),i[f+4>>2]=A+k;return}A=r-e|0,(e|0)!=(r|0)&&F2(n,e,A),i[f+4>>2]=A+n;return}n&&(i[f+4>>2]=n,G(n),i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,k=0);i:{if(A>>>0>=1073741824||(n=k>>1,A=k>>>0>=2147483644?1073741823:A>>>0<n>>>0?n:A,A>>>0>=1073741824))break i;k=A<<2,A=U(k),i[f+4>>2]=A,i[f>>2]=A,i[f+8>>2]=A+k,k=r-e|0,(e|0)!=(r|0)&&l0(A,e,k),i[f+4>>2]=A+k;return}y0(),P()}function Z6(f,e){var r=0,A=0,k=0,n=0;i[f>>2]=68500,r=i[e+12>>2],A=i[e+8>>2],i[f+8>>2]=A,i[f+12>>2]=r,i[f+16>>2]=i[e+16>>2],i[f+28>>2]=0,i[f+20>>2]=0,i[f+24>>2]=0;i:{r:{if(r=i[e+24>>2],k=i[e+20>>2],(r|0)!=(k|0)){if(r=r-k|0,(r|0)<0)break r;A=U(r),i[f+24>>2]=A,i[f+20>>2]=A,n=r+A|0,i[f+28>>2]=n,l0(A,k,r),i[f+24>>2]=n}if(i[f+32>>2]=i[e+32>>2],r=i[e+40>>2],i[f+52>>2]=0,i[f+44>>2]=0,i[f+48>>2]=0,i[f+40>>2]=r,r=i[e+48>>2],A=i[e+44>>2],(r|0)!=(A|0)){if(e=r-A|0,(e|0)<0)break i;r=U(e),i[f+48>>2]=r,i[f+44>>2]=r,k=e+r|0,i[f+52>>2]=k,l0(r,A,e),i[f+48>>2]=k}return}y0(),P()}y0(),P()}function XB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;A=B-32|0,B=A;i:{if(!r){if(l[A|0]=0,l[A+11|0]=0,r=r0(A+12|0,5,2001,A),l[A+11|0]<0&&G(i[A>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break i;G(i[r+8>>2]);break i}k=i[e>>2],n=i[k+184>>2],k=i[k+188>>2],k&&(i[k+4>>2]=i[k+4>>2]+1);r:{if(n){t=r,r=i[n+8>>2],l0(t,r,i[n+12>>2]-r|0),P0(f,78256,i[e>>2]);break r}if(l[A|0]=0,l[A+11|0]=0,r=r0(A+12|0,10,0,A),l[A+11|0]<0&&G(i[A>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break r;G(i[r+8>>2])}if(!k||(f=i[k+4>>2],i[k+4>>2]=f-1,f))break i;V[i[i[k>>2]+8>>2]](k),g(k)}B=A+32|0}function B7(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=74728,r=i[f+60>>2],r){if(A=r,e=i[f+64>>2],(r|0)!=(e|0)){for(;k=e-12|0,A=i[k>>2],A&&(i[e-8>>2]=A,G(A)),e=k,(r|0)!=(e|0););A=i[f+60>>2]}i[f+64>>2]=r,G(A)}if(e=i[f+48>>2],e&&(i[f+52>>2]=e,G(e)),i[f>>2]=68616,k=i[f+36>>2],k){if(e=k,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(e=i[r+4>>2],i[r+4>>2]=e-1,e))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(k|0)==(A|0))break}e=i[f+36>>2]}i[f+40>>2]=k,G(e)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function Z7(f,e,r,A,k){var n=0,t=0,o=0,u=0;t=B-16|0,B=t;i:{if(1073741815-e>>>0>=r>>>0){s[f+11|0]>>>7|0?n=i[f>>2]:n=f,o=n,n=t+4|0,u=n,e>>>0<536870899?(i[t+12>>2]=e<<1,i[t+4>>2]=e+r,r=B-16|0,B=r,B=r+16|0,r=t+12|0,r=i[(k0[n>>2]<k0[r>>2]?r:n)>>2],r>>>0>=2?(n=r+2&-2,r=n-1|0,r=(r|0)==2?n:r):r=1,r=r+1|0):r=1073741815,xi(u,r),r=i[t+4>>2],k&&De(r,o,k),(A|0)!=(k|0)&&(n=k<<2,De(n+r|0,n+o|0,A-k|0)),(e|0)!=1&&Q8(o,4),i[f>>2]=r,i[f+8>>2]=i[f+8>>2]&-2147483648|i[t+8>>2]&2147483647,i[f+8>>2]=i[f+8>>2]|-2147483648,B=t+16|0;break i}o4(),P()}i[f+4>>2]=A}function HA(f,e,r,A,k){var n=0,t=0,o=0,u=0;t=B-16|0,B=t;i:{if(2147483639-e>>>0>=r>>>0){s[f+11|0]>>>7|0?n=i[f>>2]:n=f,o=n,n=t+4|0,u=n,e>>>0<1073741811?(i[t+12>>2]=e<<1,i[t+4>>2]=e+r,r=B-16|0,B=r,B=r+16|0,r=t+12|0,r=i[(k0[n>>2]<k0[r>>2]?r:n)>>2],r>>>0>=11?(n=r+8&-8,r=n-1|0,r=(r|0)==11?n:r):r=10,r=r+1|0):r=2147483639,Mi(u,r),r=i[t+4>>2],k&&of(r,o,k),(A|0)!=(k|0)&&of(r+k|0,k+o|0,A-k|0),(e|0)!=10&&Q8(o,1),i[f>>2]=r,i[f+8>>2]=i[f+8>>2]&-2147483648|i[t+8>>2]&2147483647,i[f+8>>2]=i[f+8>>2]|-2147483648,B=t+16|0;break i}o4(),P()}i[f+4>>2]=A}function br(f,e,r,A){var k=0,n=0,t=0,o=0;i:{r:{if(A){if(A>>>0>=107374183)break r;if(k=m(A,40),A=U(k),i[f+4>>2]=A,i[f>>2]=A,i[f+8>>2]=A+k,(e|0)!=(r|0))for(;;){if(k=i[e+4>>2],i[A>>2]=i[e>>2],i[A+4>>2]=k,k=i[e+20>>2],i[A+16>>2]=i[e+16>>2],i[A+20>>2]=k,k=i[e+12>>2],i[A+8>>2]=i[e+8>>2],i[A+12>>2]=k,i[A+32>>2]=0,i[A+24>>2]=0,i[A+28>>2]=0,t=i[e+24>>2],k=i[e+28>>2],(t|0)!=(k|0)){if(k=k-t|0,(k|0)<0)break i;n=U(k),i[A+28>>2]=n,i[A+24>>2]=n,o=k+n|0,i[A+32>>2]=o,l0(n,t,k),i[A+28>>2]=o}if(A=A+40|0,e=e+40|0,(r|0)==(e|0))break}i[f+4>>2]=A}return}y0(),P()}y0(),P()}function GB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,w2(r,Q[e+48>>1]),w2(r,Q[e+54>>1]),w2(r,Q[e+50>>1]),w2(r,Q[e+56>>1]),w2(r,Q[e+52>>1]),w2(r,Q[e+58>>1]),w2(r,Q[e+60>>1]),w2(r,Q[e+62>>1]),l2(r,i[e+64>>2]),l2(r,i[e+68>>2]),i[r+12>>2]=k,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+k|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function p7(f,e,r,A,k){var n=0,t=0,o=0,u=0,h=0,w=0;i:{if((A|k)<0||(o=i[f+124>>2],i[o+484>>2]<=(A|0)|i[o+488>>2]<=(k|0))||(h=i[f+132>>2],t=i[h+8496>>2],n=i[o+16936>>2],u=i[o+16924>>2],i[(t+(A>>>n<<2)|0)+(m(u,k>>>n|0)<<2)>>2]>i[(t+(e>>n<<2)|0)+(m(r>>n,u)<<2)>>2])||(n=i[f+152>>2],t=r,r=i[o+16876>>2],t=t>>r,f=i[f+140>>2],e=e>>r,u=Q[(m(m(n,t),24)+f|0)+m(e,24)>>1],k=k>>>r|0,n=f+m(m(k,n),24)|0,f=A>>>r|0,(u|0)!=Q[n+m(f,24)>>1]))break i;A=e<<2,e=i[h+8484>>2],r=i[o+16892>>2],w=i[(A+e|0)+(m(r,t)<<2)>>2]==i[(e+(f<<2)|0)+(m(r,k)<<2)>>2]}return w}function W7(f,e,r){var A=0,k=0,n=0,t=0,o=0;o=B-16|0,B=o,k=B-16|0,B=k,A=f;i:{if(e>>>0<=1073741815){r:{if(e>>>0<2){l[A+11|0]=s[A+11|0]&128|e&127,l[A+11|0]=s[A+11|0]&127;break r}t=k+8|0,e>>>0>=2?(n=e+2&-2,f=n-1|0,f=(f|0)==2?n:f):f=1,xi(t,f+1|0),f=i[k+8>>2],i[A>>2]=f,i[A+8>>2]=i[A+8>>2]&-2147483648|i[k+12>>2]&2147483647,i[A+8>>2]=i[A+8>>2]|-2147483648,i[A+4>>2]=e}for(n=B-16|0,B=n,i[n+12>>2]=r,r=f,t=e;;){if(t){i[r>>2]=i[n+12>>2],t=t-1|0,r=r+4|0;continue}break}B=n+16|0,i[k+4>>2]=0,i[(e<<2)+f>>2]=i[k+4>>2],B=k+16|0;break i}o4(),P()}return B=o+16|0,A}function dr(f,e,r,A,k,n,t,o,u,h,w){var _=0,v=0,Z=0,p=0;if(!s[r+332|0]){X[h>>1]=0,X[h+2>>1]=0,l[w|0]=0;return}if(v=i[i[e+124>>2]+16876>>2],i[r+28>>2]|s[r+380|0]?_=924:_=988,_=i[(_+r|0)+(i[r+384>>2]<<2)>>2],!(V[i[i[f>>2]+12>>2]](f,_)|0)){X[h>>1]=0,X[h+2>>1]=0,l[w|0]=0,v2(f+4|0,1012,0);return}i:{r:{e:{Z=k+t|0;A:{if(k>>v!=Z>>v||(p=A+n|0,v=i[e+124>>2],(p|0)>=i[v+484>>2]))break A;if(i[v+488>>2]>(Z|0))break e}X[h>>1]=0,X[h+2>>1]=0,l[w|0]=0;break r}if(ak(f,e,r,_,p&-16,Z&-16,o,u,h,w),s[w|0])break i}ak(f,e,r,_,(n>>1)+A&-16,(t>>1)+k&-16,o,u,h,w)}}function CB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;if((r|0)>0)for(_=r&2147483644,h=r&3,v=r>>>0<4;;){if(w=m(r,u),o=0,A=0,t=0,!v)for(;n=A,A=o+w|0,k=n+X[(A<<1)+e>>1]|0,i[(A<<2)+f>>2]=k,n=A+1|0,k=k+X[(n<<1)+e>>1]|0,i[(n<<2)+f>>2]=k,n=A+2|0,k=k+X[(n<<1)+e>>1]|0,i[(n<<2)+f>>2]=k,n=A+3|0,A=k+X[(n<<1)+e>>1]|0,i[(n<<2)+f>>2]=A,o=o+4|0,t=t+4|0,(_|0)!=(t|0););if(t=0,h)for(;k=o+w|0,A=X[(k<<1)+e>>1]+A|0,i[(k<<2)+f>>2]=A,o=o+1|0,t=t+1|0,(h|0)!=(t|0););if(u=u+1|0,(u|0)==(r|0))break}}function TA(f){f=f|0;var e=0,r=0,A=0,k=0,n=0;A=B-16|0,B=A,f=i[f>>2],i[A+12>>2]=0,i[A+4>>2]=0,i[A+8>>2]=0;i:{if(e=i[f+28>>2],n=i[f+32>>2],(e|0)!=(n|0)){if(f=n-e|0,(f|0)<0)break i;for(k=U(f),i[A+4>>2]=k,i[A+12>>2]=f+k,f=k;i[f>>2]=i[e>>2],r=i[e+4>>2],i[f+4>>2]=r,r&&(i[r+4>>2]=i[r+4>>2]+1),f=f+8|0,e=e+8|0,(n|0)!=(e|0););for(i[A+8>>2]=f,e=f;;){r=i[e-4>>2];r:{if(!r||(n=i[r+4>>2],i[r+4>>2]=n-1,n))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(e=e-8|0,(k|0)==(e|0))break}G(i[A+4>>2]),k=f-k>>3}return B=A+16|0,k|0}y0(),P()}function VB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;if(A=B-32|0,B=A,t=V[i[i[e>>2]+32>>2]](e,r,0)|0,A2(r,i[e+60>>2]-i[e+56>>2]&255),k=i[e+56>>2],(k|0)!=i[e+60>>2])for(;A2(r,s[k+n|0]),n=n+1|0,k=i[e+56>>2],n>>>0<i[e+60>>2]-k>>>0;);i[r+12>>2]=t,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+t|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function IB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-32|0,B=A;i:{if(!r){if(l[A|0]=0,l[A+11|0]=0,r=f,f=r0(A+12|0,5,2001,A),P0(r,f,i[e>>2]),l[f+19|0]<0&&G(i[f+8>>2]),l[A+11|0]>=0)break i;G(i[A>>2]);break i}k=i[e>>2],n=i[k+40>>2],k=i[k+44>>2],k&&(i[k+4>>2]=i[k+4>>2]+1);r:{if(!n){if(l[A|0]=0,l[A+11|0]=0,r=f,f=r0(A+12|0,2,124,A),P0(r,f,i[e>>2]),l[f+19|0]<0&&G(i[f+8>>2]),l[A+11|0]>=0)break r;G(i[A>>2]);break r}i[r>>2]=i[n+20>>2],P0(f,78256,i[e>>2])}if(!k||(f=i[k+4>>2],i[k+4>>2]=f-1,f))break i;V[i[i[k>>2]+8>>2]](k),g(k)}B=A+32|0}function X7(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0;k=B-16|0,B=k,l2(r,A),l2(r,i[e+16>>2]);i:{r:{if(i[e+16>>2]!=1970628964)break r;if(i[k+12>>2]=0,i[k+4>>2]=0,i[k+8>>2]=0,n=i[e+24>>2],A=i[e+20>>2],(n|0)!=(A|0)){if(e=n-A|0,(e|0)<0)break i;n=U(e),i[k+4>>2]=n,t=e+n|0,i[k+12>>2]=t,l0(n,A,e),i[k+8>>2]=t}if(D4(r,k+4|0),e=i[k+4>>2],!e)break r;i[k+8>>2]=e,G(e)}e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;r:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break r}_0(f,i[19566],i[19567])}B=k+16|0;return}y0(),P()}function QB(f,e,r,A,k){if(f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,Q1(f,i[e+8>>2],k)){i[e+28>>2]==1|i[e+4>>2]!=(r|0)||(i[e+28>>2]=A);return}i:{if(Q1(f,i[e>>2],k)){if(!(i[e+16>>2]!=(r|0)&i[e+20>>2]!=(r|0))){if((A|0)!=1)break i;i[e+32>>2]=1;return}i[e+32>>2]=A;r:{if(i[e+44>>2]==4)break r;if(X[e+52>>1]=0,f=i[f+8>>2],V[i[i[f>>2]+20>>2]](f,e,r,r,1,k),s[e+53|0]==1){if(i[e+44>>2]=3,!s[e+52|0])break r;break i}i[e+44>>2]=4}if(i[e+20>>2]=r,i[e+40>>2]=i[e+40>>2]+1,i[e+36>>2]!=1|i[e+24>>2]!=2)break i;l[e+54|0]=1;return}f=i[f+8>>2],V[i[i[f>>2]+24>>2]](f,e,r,A,k)}}function G7(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;if(e)for(A=i[f+16>>2],k=i[f+20>>2],n=i[f+8>>2],r=i[f+24>>2],t=i[f>>2];;){if((r|0)<=7){for(o=64-r|0,_=0,r=t;;){i:{if(v=o,!n){n=0,t=r,u=o;break i}if(t=r+1|0,i[f>>2]=t,r=s[r|0],n=n-1|0,i[f+8>>2]=n,u=v-8|0,h=u&31,(u&63)>>>0>=32?(w=r<<h,r=0):(w=(1<<h)-1&r>>>32-h,r=r<<h),A=r|A,r=k|w,k=r,i[f+16>>2]=A,i[f+20>>2]=r,r=o,o=r-8|0,_=_-(r>>>0<8)|0,r=t,(v|0)>15)continue}break}r=64-u|0}if(r=r-8|0,i[f+24>>2]=r,w=k<<8|A>>>24,A=A<<8,i[f+16>>2]=A,k=w,i[f+20>>2]=k,e=e-1|0,!e)break}}function p4(f,e,r,A,k){var n=0,t=0,o=0;i:{r:{if(n=i[A>>2],A=i[n+56>>2],n=i[n+60>>2],(A|0)!=(n|0))for(;;){if(i[A>>2]==(r|0))break r;if(A=A+16|0,(n|0)==(A|0))break}break i}r:{e:{if(r=i[A+4>>2],A=i[A+8>>2],(r|0)==(A|0))break e;for(n=i[e+36>>2],o=i[e+40>>2]-n>>3;;){if(e=Q[r+2>>1],!(e>>>0<=o>>>0&&e))break i;if(e=n+(e<<3)|0,t=i[e-8>>2],i[t+16>>2]!=(k|0)){if(r=r+4|0,(A|0)==(r|0))break e;continue}break}if(i[f>>2]=t,r=f,f=i[e-4>>2],i[r+4>>2]=f,!f)break r;i[f+4>>2]=i[f+4>>2]+1;return}i[f>>2]=0,i[f+4>>2]=0}return}i[f>>2]=0,i[f+4>>2]=0}function aA(f){var e=0,r=0,A=0,k=0;if(i[f+4>>2]&&(e=i[f+308>>2],r=i[f+112>>2],r&&(A=i[r+544>>2]),V[e|0](r,f,A),i[f+12>>2]=0,i[f+4>>2]=0,i[f+8>>2]=0,i[f+72>>2]=0,i[f+64>>2]=0,i[f+68>>2]=0),e=i[f+52>>2],k=i[f+56>>2],(e|0)!=(k|0))for(A=0;;){if(r=i[(A<<2)+e>>2],r){e=i[r+1352>>2],e&&(i[r+1356>>2]=e,G(e)),C8(r+1340|0),e=i[r+784>>2],e&&(i[r+788>>2]=e,G(e)),e=i[r+8>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}G(r),k=i[f+56>>2],e=i[f+52>>2]}if(A=A+1|0,!(A>>>0<k-e>>2>>>0))break}i[f+56>>2]=e}function w4(f,e){var r=0,A=0,k=0,n=0,t=0,o=0;i:{if(e){if(A=i[f+44>>2],t=i[f+40>>2],k=A-t|0,r=k>>2,r>>>0<=15){if(n=i[f+48>>2],n>>>0>A>>>0){i[A>>2]=e,i[f+44>>2]=A+4;return}if(n=n-t|0,o=n>>1,r=r+1|0,r=n>>>0>=2147483644?1073741823:r>>>0<o>>>0?o:r,r>>>0>=1073741824)break i;if(r=r<<2,n=U(r),k=n+k|0,i[k>>2]=e,e=k+4|0,(A|0)!=(t|0))for(;k=k-4|0,A=A-4|0,i[k>>2]=i[A>>2],(A|0)!=(t|0););i[f+48>>2]=r+n,i[f+44>>2]=e,i[f+40>>2]=k,t&&G(t),i[f+44>>2]=e;return}G(i[e+20>>2]),f=i[e+32>>2],f&&(i[e+36>>2]=f,G(f)),G(e)}return}_2(),P()}function yB(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0;i:{n=i[f>>2],f=i[n+164>>2],u=i[n+168>>2];r:{if((f|0)==(u|0))break r;if(e)for(;;){n=G2(e),o=i[f>>2],t=l[o+15|0],h=(t|0)<0;e:{if(((h?i[o+8>>2]:t)|0)!=(n|0))break e;if((n|0)==-1)break i;if(t=o+4|0,K2(h?i[t>>2]:t,e,n))break e;if((A|0)<=(k|0))break r;i[(k<<2)+r>>2]=i[o>>2],k=k+1|0}if(f=f+8|0,(u|0)==(f|0))break r}for(e=(A|0)>0?A:0;;){if((e|0)==(k|0))return e|0;if(i[(k<<2)+r>>2]=i[i[f>>2]>>2],k=k+1|0,f=f+8|0,(u|0)==(f|0))break}}return k|0}O3(),P()}function C7(f,e,r,A){var k=0,n=0;i:{if(!r){e=Q[e>>1]|Q[e+2>>1]<<16,X[f>>1]=e,X[f+2>>1]=e>>>16;break i}k=(r|0)>=127?127:r,k=(k|0)<=-128?-128:k,n=k>>31,A=(A|0)>=127?127:A,A=m(((k^n)-n>>>1|16384)/(k|0)<<16>>16,(A|0)<=-128?-128:A)+32>>6,A=(A|0)>=4095?4095:A,n=(A|0)<=-4096?-4096:A,A=m(n,X[e>>1]),k=A>>31,A=m(((A^k)-k|0)+127>>>8|0,(A|0)<0?-1:(A|0)!=0),A=(A|0)>=32767?32767:A,X[f>>1]=(A|0)<=-32768?-32768:A,e=m(n,X[e+2>>1]),A=e>>31,k=f,f=m(((e^A)-A|0)+127>>>8|0,(e|0)<0?-1:(e|0)!=0),f=(f|0)>=32767?32767:f,X[k+2>>1]=(f|0)<=-32768?-32768:f}return(r|0)!=0}function FB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;if(A=B-32|0,B=A,n=V[i[i[e>>2]+32>>2]](e,r,0)|0,l2(r,i[e+48>>2]),l2(r,i[e+52>>2]),k=i[e+56>>2],t=i[e+60>>2],(k|0)!=(t|0))for(;l2(r,i[k>>2]),k=k+4|0,(t|0)!=(k|0););i[r+12>>2]=n,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+n|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function EB(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0;for(r=B-128|0,B=r,i[r+12>>2]=r+116,A=r+16|0,N9(f+8|0,A,r+12|0,k,n,t),t=B-16|0,B=t,f=B-32|0,B=f,pe(f+24|0,A,i[r+12>>2]),o=f+16|0,u=i[f+28>>2],k=B-16|0,B=k,n=i[f+24>>2],i[k+8>>2]=n,i[k+12>>2]=e;;){if((n|0)!=(u|0)){S3(k+12|0,l[n|0]),n=n+1|0,i[k+8>>2]=n;continue}break}return i[o>>2]=i[k+8>>2],i[o+4>>2]=i[k+12>>2],B=k+16|0,i[f+12>>2]=(i[f+16>>2]-A|0)+A,i[f+8>>2]=i[f+20>>2],i[t+8>>2]=i[f+12>>2],i[t+12>>2]=i[f+8>>2],B=f+32|0,B=t+16|0,B=r+128|0,i[t+12>>2]}function ni(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;if(k=i[f+16>>2],!((k|0)>=(e|0)|(k|0)>56)){for(n=64-k|0,k=i[f+4>>2];;){i:{if(A=n,!k){t=A;break i}if(r=i[f>>2],i[f>>2]=r+1,r=s[r|0],k=k-1|0,i[f+4>>2]=k,h=i[f+12>>2],t=A-8|0,o=t&31,w=f,(t&63)>>>0>=32?(u=r<<o,r=0):(u=(1<<o)-1&r>>>32-o,r=r<<o),i[w+8>>2]=r|i[f+8>>2],i[f+12>>2]=u|h,r=n,n=r-8|0,_=_-(r>>>0<8)|0,(A|0)>15)continue}break}k=64-t|0}i[f+16>>2]=k-e,n=i[f+12>>2],r=i[f+8>>2],A=e&31,(e&63)>>>0>=32?(e=r<<A,A=0):(e=(1<<A)-1&r>>>32-A|n<<A,A=r<<A),i[f+8>>2]=A,i[f+12>>2]=e}function YB(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;if((A|0)>0)for(v=A&2147483646,Z=A&1,t=-1<<k^-1;;){if(o=(m(A,h)<<2)+r|0,w=(m(e,h)<<1)+f|0,k=0,_=0,(A|0)!=1)for(;u=w+(k<<1)|0,n=i[(k<<2)+o>>2]+Q[u>>1]|0,X[u>>1]=(n|0)>=0?(n|0)<(t|0)?n:t:0,n=k|1,u=w+(n<<1)|0,n=i[(n<<2)+o>>2]+Q[u>>1]|0,X[u>>1]=(n|0)>=0?(n|0)<(t|0)?n:t:0,k=k+2|0,_=_+2|0,(v|0)!=(_|0););if(Z&&(n=i[(k<<2)+o>>2],o=w+(k<<1)|0,k=n+Q[o>>1]|0,X[o>>1]=(k|0)>=0?(k|0)<(t|0)?k:t:0),h=h+1|0,(h|0)==(A|0))break}}function JB(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0;n=B-32|0,B=n,i[n+28>>2]=e;i:{if(!(i[r+4>>2]&1)){r=V[i[i[f>>2]+24>>2]](f,e,r,A,k)|0;break i}e=n+16|0,f=i[r+28>>2],i[e>>2]=f,(f|0)!=100008&&(i[f+4>>2]=i[f+4>>2]+1),f=x0(e,100256),O0(e);r:{if(k){V[i[i[f>>2]+24>>2]](e,f);break r}V[i[i[f>>2]+28>>2]](n+16|0,f)}for(t=n,o=C4(n+16|0),i[t+12>>2]=o;;){if(f=n+16|0,t=n,o=a8(f),i[t+8>>2]=o,e=i[n+12>>2],(e|0)!=i[n+8>>2]){T9(n+28|0,i[e>>2]),i[n+12>>2]=i[n+12>>2]+4;continue}else r=i[n+28>>2],l1(f);break}}return B=n+32|0,r|0}function gB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,n=i[e+12>>2];i:{if(!n&k0[e+8>>2]>=k0[e+32>>2]|n){if(D4(r,e+48|0),i[r+12>>2]=k,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+k|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567]);break i}if(l[A|0]=0,l[A+11|0]=0,r0(f,2,101,A),l[A+11|0]>=0)break i;G(i[A>>2])}B=A+32|0}function NB(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0;n=B-32|0,B=n,i[n+28>>2]=e;i:{if(!(i[r+4>>2]&1)){r=V[i[i[f>>2]+24>>2]](f,e,r,A,k)|0;break i}e=n+16|0,f=i[r+28>>2],i[e>>2]=f,(f|0)!=100008&&(i[f+4>>2]=i[f+4>>2]+1),f=x0(e,100248),O0(e);r:{if(k){V[i[i[f>>2]+24>>2]](e,f);break r}V[i[i[f>>2]+28>>2]](n+16|0,f)}for(t=n,o=C4(n+16|0),i[t+12>>2]=o;;){if(f=n+16|0,t=n,o=S8(f),i[t+8>>2]=o,e=i[n+12>>2],(e|0)!=i[n+8>>2]){S3(n+28|0,l[e|0]),i[n+12>>2]=i[n+12>>2]+1;continue}else r=i[n+28>>2],z0(f);break}}return B=n+32|0,r|0}function SA(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;if(A=i[f+8>>2],r=i[f+4>>2],A-r>>3>>>0>=e>>>0){e&&(e=e<<3,r=B0(r,0,e)+e|0),i[f+4>>2]=r;return}i:{if(n=i[f>>2],t=r-n>>3,k=t+e|0,k>>>0<536870912){if(A=A-n|0,o=A>>2,A=A>>>0>=2147483640?536870911:k>>>0<o>>>0?o:k,A){if(A>>>0>=536870912)break i;u=U(A<<3)}if(k=(t<<3)+u|0,e=e<<3,e=B0(k,0,e)+e|0,(r|0)!=(n|0)){for(;r=r-8|0,t=i[r+4>>2],k=k-8|0,i[k>>2]=i[r>>2],i[k+4>>2]=t,(r|0)!=(n|0););n=i[f>>2]}i[f+8>>2]=(A<<3)+u,i[f+4>>2]=e,i[f>>2]=k,n&&G(n);return}y0(),P()}_2(),P()}function V7(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=69312,A=i[f+56>>2],A){if(e=A,r=i[f+60>>2],(e|0)!=(r|0)){for(;e=i[r-12>>2],e&&(i[r-8>>2]=e,G(e)),r=r-16|0,(A|0)!=(r|0););e=i[f+56>>2]}i[f+60>>2]=A,G(e)}if(i[f>>2]=68616,A=i[f+36>>2],A){if(e=A,r=i[f+40>>2],(e|0)!=(r|0)){for(;;){e=i[r-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(r=r-8|0,(A|0)==(r|0))break}e=i[f+36>>2]}i[f+40>>2]=A,G(e)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function RB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,l2(r,i[e+48>>2]),l2(r,i[e+52>>2]),l2(r,i[e+56>>2]),l2(r,i[e+60>>2]),l2(r,i[e+64>>2]),l2(r,i[e+68>>2]),l2(r,i[e+72>>2]),l2(r,i[e+76>>2]),i[r+12>>2]=k,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+k|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function DB(f){return f=f|0,s[100292]?i[25072]:(s[101360]||(l[101360]=1),E2(101072,66328),E2(101084,66360),E2(101096,66396),E2(101108,66420),E2(101120,66444),E2(101132,66460),E2(101144,66480),E2(101156,66500),E2(101168,66528),E2(101180,66568),E2(101192,66600),E2(101204,66636),E2(101216,66672),E2(101228,66688),E2(101240,66704),E2(101252,66720),E2(101264,66444),E2(101276,66736),E2(101288,66752),E2(101300,66768),E2(101312,66784),E2(101324,66800),E2(101336,66816),E2(101348,66832),l[100292]=1,i[25072]=101072,101072)}function UB(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0;i:{if(t=V[i[i[e>>2]+68>>2]](i[e+4>>2])|0,e=i[t>>2],!e)break i;for(;;){if(v4(i[e+4>>2],r)){if(e=i[t+4>>2],t=t+4|0,e)continue;break i}break}if(i[e+8>>2]!=1){e=i[18429],i[f>>2]=i[18428],i[f+4>>2]=e,i[f+8>>2]=i[18430];return}r:{if(!s[e+16|0]||(k&&(i[k>>2]=i[e+20>>2]),!n))break r;i[n>>2]=i[e+24>>2]}A&&(i[A>>2]=s[e+16|0]),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412];return}e=i[18429],i[f>>2]=i[18428],i[f+4>>2]=e,i[f+8>>2]=i[18430]}function MB(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;t=B-16|0,B=t,i[t+12>>2]=0,i[t+4>>2]=0,i[t+8>>2]=0;i:{if(n){if((n|0)<0)break i;n=n<<2,o=U(n),i[t+4>>2]=o,u=n+o|0,i[t+12>>2]=u,l0(o,k,n),i[t+8>>2]=u}e=i[e>>2],k=i[e+48>>2],e=i[e+52>>2];r:{if(!e){P1(k,A,r,t+4|0);break r}if(i[e+4>>2]=i[e+4>>2]+1,P1(k,A,r,t+4|0),r=i[e+4>>2],i[e+4>>2]=r-1,r)break r;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],f=i[t+4>>2],f&&(i[t+8>>2]=f,G(f)),B=t+16|0;return}y0(),P()}function xB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;if(A=B-32|0,B=A,n=V[i[i[e>>2]+32>>2]](e,r,0)|0,R4(r,e+56|0),k=i[e+68>>2],t=i[e+72>>2],(k|0)!=(t|0))for(;A2(r,s[k|0]),k=k+1|0,(t|0)!=(k|0););i[r+12>>2]=n,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+n|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function zB(f,e,r,A,k,n,t,o,u,h){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0,h=h|0;var w=0,_=0,v=0;if(!((n|0)<=0|(k|0)<=0))for(t=14-h|0,_=k&2147483644,w=k&3,u=0,v=k>>>0<4;;){if(k=(m(A,u)<<1)+r|0,h=(m(e,u)<<1)+f|0,o=0,!v)for(;X[h>>1]=Q[k>>1]<<t,X[h+2>>1]=Q[k+2>>1]<<t,X[h+4>>1]=Q[k+4>>1]<<t,X[h+6>>1]=Q[k+6>>1]<<t,k=k+8|0,h=h+8|0,o=o+4|0,(_|0)!=(o|0););if(o=0,w)for(;X[h>>1]=Q[k>>1]<<t,k=k+2|0,h=h+2|0,o=o+1|0,(w|0)!=(o|0););if(u=u+1|0,(u|0)==(n|0))break}}function I7(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=69024,l[f+123|0]<0&&G(i[f+112>>2]),l[f+111|0]<0&&G(i[f+100>>2]),l[f+99|0]<0&&G(i[f+88>>2]),l[f+87|0]<0&&G(i[f+76>>2]),l[f+75|0]<0&&G(i[f+64>>2]),i[f>>2]=68616,r=i[f+36>>2],r){if(e=r,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){e=i[A-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(A=A-8|0,(r|0)==(A|0))break}e=i[f+36>>2]}i[f+40>>2]=r,G(e)}return i[f>>2]=68500,r=i[f+20>>2],r&&(i[f+24>>2]=r,G(r)),f|0}function HB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-32|0,B=A,n=V[i[i[e>>2]+32>>2]](e,r,0)|0;i:{r:{if(!(k0[e+48>>2]>65535|k0[e+52>>2]>65535)){if(k=k0[e+56>>2]>65535,A2(r,k),k)break r;w2(r,Q[e+48>>1]),w2(r,Q[e+52>>1]),w2(r,Q[e+56>>1]);break i}A2(r,1)}l2(r,i[e+48>>2]),l2(r,i[e+52>>2]),l2(r,i[e+56>>2])}Y4(A+12|0,e,r,n),l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function Q7(f,e,r,A,k,n){var t=0,o=0;i:{r:{e:{if(A=A-i[f+208>>2]|0,(A|0)!=31)for(o=r,r=i[f+124>>2],t=i[r+16944>>2],r=m(o>>t,i[r+16948>>2])+(e>>t)|0,n=n?k|-128:k,e=1<<A,A=0;;){for(k=0;;){if(t=i[f+124>>2],i[t+16948>>2]<=(k|0))break e;if(i[t+16952>>2]<=(A|0))break r;if(t=(r+k|0)+m(i[f+232>>2],A)|0,(t|0)>=i[f+224>>2])break i;if(l[t+i[f+220>>2]|0]=n,k=k+1|0,(e|0)==(k|0))break}if(A=A+1|0,(e|0)==(A|0))break}return}C0(4828,8453,690,15399),P()}C0(4803,8453,691,15399),P()}C0(8891,8453,694,15399),P()}function y7(f,e){var r=0,A=0,k=0,n=0,t=0,o=0;if(k=i[f+200>>2],r=i[f+204>>2],k>>>0<r>>>0){i[k>>2]=e,i[f+200>>2]=k+4;return}i:{if(t=i[f+196>>2],A=k-t>>2,n=A+1|0,n>>>0<1073741824){if(o=A<<2,r=r-t|0,A=r>>1,A=r>>>0>=2147483644?1073741823:A>>>0>n>>>0?A:n,A){if(A>>>0>=1073741824)break i;n=U(A<<2)}else n=0;if(r=o+n|0,i[r>>2]=e,e=r+4|0,(k|0)!=(t|0))for(;r=r-4|0,k=k-4|0,i[r>>2]=i[k>>2],(k|0)!=(t|0););i[f+204>>2]=n+(A<<2),i[f+200>>2]=e,i[f+196>>2]=r,t&&G(t),i[f+200>>2]=e;return}y0(),P()}_2(),P()}function p6(f,e,r,A){var k=0;k=1;i:{if(f){f=r;break i}if(!A){f=r;break i}r:{if(e){f=r;break r}if(f=U(24),l[f+22|0]=1,X[f+20>>1]=2,i[f+16>>2]=131074,i[f+12>>2]=72992,i[f+4>>2]=0,i[f+8>>2]=0,i[f>>2]=72832,e=f+12|0,l[e+10|0]=1,X[e+8>>1]=6,i[e+4>>2]=851969,!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(k=0,s[e+10|0]==(!s[A+16|0]|0)|i[A+12>>2]!=Q[e+8>>1])break i;k=i[A+4>>2]==Q[e+4>>1]}i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}return k}function W6(f,e,r){var A=0,k=0,n=0;i:{r:{k=i[e+112>>2];e:{if(!k)break e;for(n=e+112|0,e=n;A=k0[k+16>>2]<r>>>0,e=A?e:k,k=i[(A<<2)+k>>2],!!k;);if(A=0,(e|0)==(n|0)|k0[e+16>>2]>r>>>0)break e;if(r=i[e+20>>2],A=i[e+24>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),r)break r}l[f|0]=0,l[f+11|0]=0;break i}if(l[r+75|0]>=0){e=r- -64|0,r=i[e+4>>2],i[f>>2]=i[e>>2],i[f+4>>2]=r,i[f+8>>2]=i[e+8>>2];break i}_0(f,i[r+64>>2],i[r+68>>2])}i:{if(!A||(f=i[A+4>>2],i[A+4>>2]=f-1,f))break i;V[i[i[A>>2]+8>>2]](A),g(A)}}function TB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;for(n=B-16|0,B=n;;){i:{if((r|0)<=(t|0))break i;A=i[f+12>>2],k=i[f+16>>2];r:{if(A>>>0<k>>>0){i[n+12>>2]=2147483647,i[n+8>>2]=k-A>>2,i[n+4>>2]=r-t,A=B-16|0,B=A,B=A+16|0,A=B-16|0,B=A,B=A+16|0,A=n+4|0,k=n+8|0,A=i[A>>2]<i[k>>2]?A:k,k=n+12|0,A=i[(i[A>>2]<i[k>>2]?A:k)>>2],ui(i[f+12>>2],A,e),k=A<<2,i[f+12>>2]=k+i[f+12>>2],e=e+k|0;break r}if(A=V[i[i[f>>2]+40>>2]](f)|0,(A|0)==-1)break i;i[e>>2]=A,A=1,e=e+4|0}t=A+t|0;continue}break}return B=n+16|0,t|0}function aB(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0,Z=0,p=0,W=0;if(!(n&1)){if(!((t|0)<=0|(n|0)<=0))for(p=15-o|0,W=1<<14-o,w=-1<<o^-1;;){for(o=(m(e,_)<<1)+f|0,u=m(k,_)<<1,v=u+A|0,u=r+u|0,Z=0;h=X[v>>1]+(X[u>>1]+W|0)>>p,X[o>>1]=(h|0)>=0?(h|0)<(w|0)?h:w:0,h=X[v+2>>1]+(X[u+2>>1]+W|0)>>p,X[o+2>>1]=(h|0)>=0?(h|0)<(w|0)?h:w:0,v=v+4|0,u=u+4|0,o=o+4|0,Z=Z+2|0,(Z|0)<(n|0););if(_=_+1|0,(_|0)==(t|0))break}return}C0(17190,13955,238,8011),P()}function cr(f,e,r){var A=0,k=0,n=0;i:{r:{k=i[e+112>>2];e:{if(!k)break e;for(n=e+112|0,e=n;A=k0[k+16>>2]<r>>>0,e=A?e:k,k=i[(A<<2)+k>>2],!!k;);if(A=0,(e|0)==(n|0)|k0[e+16>>2]>r>>>0)break e;if(r=i[e+20>>2],A=i[e+24>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),r)break r}l[f|0]=0,l[f+11|0]=0;break i}if(l[r+99|0]>=0){e=r+88|0,r=i[e+4>>2],i[f>>2]=i[e>>2],i[f+4>>2]=r,i[f+8>>2]=i[e+8>>2];break i}_0(f,i[r+88>>2],i[r+92>>2])}i:{if(!A||(f=i[A+4>>2],i[A+4>>2]=f-1,f))break i;V[i[i[A>>2]+8>>2]](A),g(A)}}function W8(f,e,r,A){var k=0,n=0,t=0;if(k=i[f+8>>2],n=i[f>>2],k-n>>>0>=A>>>0){if(t=A,k=i[f+4>>2],A=k-n|0,t>>>0>A>>>0){(k|0)!=(n|0)&&(F2(n,e,A),k=i[f+4>>2]),e=e+A|0,A=r-e|0,(e|0)!=(r|0)&&F2(k,e,A),i[f+4>>2]=A+k;return}A=r-e|0,(e|0)!=(r|0)&&F2(n,e,A),i[f+4>>2]=A+n;return}if(n&&(i[f+4>>2]=n,G(n),i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,k=0),(A|0)>=0){n=k<<1,k=k>>>0>=1073741823?2147483647:A>>>0<n>>>0?n:A,A=U(k),i[f+4>>2]=A,i[f>>2]=A,i[f+8>>2]=A+k,k=r-e|0,(e|0)!=(r|0)&&l0(A,e,k),i[f+4>>2]=A+k;return}y0(),P()}function SB(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;if((A|0)>0)for(v=A&2147483646,Z=A&1,t=-1<<k^-1;;){if(o=m(e,h)+f|0,w=(m(A,h)<<2)+r|0,k=0,_=0,(A|0)!=1)for(;u=k+o|0,n=i[(k<<2)+w>>2]+s[u|0]|0,l[u|0]=(n|0)>=0?(n|0)<(t|0)?n:t:0,n=k|1,u=n+o|0,n=i[(n<<2)+w>>2]+s[u|0]|0,l[u|0]=(n|0)>=0?(n|0)<(t|0)?n:t:0,k=k+2|0,_=_+2|0,(v|0)!=(_|0););if(Z&&(o=k+o|0,k=i[(k<<2)+w>>2]+s[o|0]|0,l[o|0]=(k|0)>=0?(k|0)<(t|0)?k:t:0),h=h+1|0,(h|0)==(A|0))break}}function OB(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0;var u=0,h=0,w=0,_=0,v=0;if(!((n|0)<=0|(k|0)<=0))for(t=14-o|0,_=k&2147483644,w=k&3,v=k>>>0<4;;){if(k=(m(e,h)<<1)+f|0,o=(m(A,h)<<1)+r|0,u=0,!v)for(;X[k>>1]=Q[o>>1]<<t,X[k+2>>1]=Q[o+2>>1]<<t,X[k+4>>1]=Q[o+4>>1]<<t,X[k+6>>1]=Q[o+6>>1]<<t,k=k+8|0,o=o+8|0,u=u+4|0,(_|0)!=(u|0););if(u=0,w)for(;X[k>>1]=Q[o>>1]<<t,k=k+2|0,o=o+2|0,u=u+1|0,(w|0)!=(u|0););if(h=h+1|0,(h|0)==(n|0))break}}function jB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0;if((r|0)>0)for(w=r&2147483644,u=r&3,_=r>>>0<4;;){if(h=m(r,o),k=0,n=0,!_)for(;A=k+h|0,i[(A<<2)+f>>2]=X[(A<<1)+e>>1],t=A+1|0,i[(t<<2)+f>>2]=X[(t<<1)+e>>1],t=A+2|0,i[(t<<2)+f>>2]=X[(t<<1)+e>>1],A=A+3|0,i[(A<<2)+f>>2]=X[(A<<1)+e>>1],k=k+4|0,n=n+4|0,(w|0)!=(n|0););if(A=0,u)for(;n=k+h|0,i[(n<<2)+f>>2]=X[(n<<1)+e>>1],k=k+1|0,A=A+1|0,(u|0)!=(A|0););if(o=o+1|0,(o|0)==(r|0))break}}function Qi(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;if(r=i[f+8>>2],A=i[f+4>>2],r-A>>2>>>0>=e>>>0){e&&(e=e<<2,A=B0(A,0,e)+e|0),i[f+4>>2]=A;return}i:{if(n=i[f>>2],t=A-n>>2,k=t+e|0,k>>>0<1073741824){if(r=r-n|0,o=r>>1,k=r>>>0>=2147483644?1073741823:k>>>0<o>>>0?o:k,k){if(k>>>0>=1073741824)break i;u=U(k<<2)}if(r=(t<<2)+u|0,e=e<<2,e=B0(r,0,e)+e|0,(A|0)!=(n|0))for(;r=r-4|0,A=A-4|0,i[r>>2]=i[A>>2],(A|0)!=(n|0););i[f+8>>2]=(k<<2)+u,i[f+4>>2]=e,i[f>>2]=r,n&&G(n);return}y0(),P()}_2(),P()}function PB(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0;i:{if(!(A&&r)||(k=i[e+16>>2],!k)||(k=N0(k,72776,73168),!k))break i;if(e=i[e+20>>2],!e){i[r>>2]=i[k+4>>2],i[A>>2]=i[k+8>>2],i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e;return}i[e+4>>2]=i[e+4>>2]+1,i[r>>2]=i[k+4>>2],i[A>>2]=i[k+8>>2],i[f+8>>2]=i[18412],r=i[18411],i[f>>2]=i[18410],i[f+4>>2]=r,f=i[e+4>>2],i[e+4>>2]=f-1,f||(V[i[i[e>>2]+8>>2]](e),g(e));return}e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560]}function LB(f){return f=f|0,s[100284]?i[25070]:(s[101056]||(l[101056]=1),Y2(100768,1421),Y2(100780,1412),Y2(100792,8436),Y2(100804,7543),Y2(100816,1491),Y2(100828,9774),Y2(100840,1429),Y2(100852,2799),Y2(100864,5930),Y2(100876,5823),Y2(100888,5921),Y2(100900,5940),Y2(100912,7082),Y2(100924,14100),Y2(100936,6046),Y2(100948,4913),Y2(100960,1491),Y2(100972,6176),Y2(100984,7487),Y2(100996,8497),Y2(101008,6118),Y2(101020,3376),Y2(101032,2549),Y2(101044,13890),l[100284]=1,i[25070]=100768,100768)}function KB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;for(k=B-16|0,B=k;;){i:{if((r|0)<=(t|0))break i;A=i[f+12>>2],n=i[f+16>>2];r:{if(A>>>0<n>>>0){i[k+12>>2]=2147483647,i[k+8>>2]=n-A,i[k+4>>2]=r-t,A=B-16|0,B=A,B=A+16|0,A=B-16|0,B=A,B=A+16|0,A=k+4|0,n=k+8|0,A=i[A>>2]<i[n>>2]?A:n,n=k+12|0,A=i[(i[A>>2]<i[n>>2]?A:n)>>2],e8(i[f+12>>2],A,e),i[f+12>>2]=i[f+12>>2]+A;break r}if(A=V[i[i[f>>2]+40>>2]](f)|0,(A|0)==-1)break i;l[e|0]=A<<24>>24,A=1}e=e+A|0,t=A+t|0;continue}break}return B=k+16|0,t|0}function qB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,A2(r,s[e+48|0]|128),A2(r,s[e+50|0]&31|s[e+49|0]<<5&224),A2(r,s[e+57|0]&3|((s[e+52|0]!=0)<<6|(s[e+51|0]!=0)<<7|(s[e+53|0]!=0)<<5|(s[e+54|0]!=0)<<4|(s[e+55|0]!=0)<<3|(s[e+56|0]!=0)<<2)),A2(r,0),Y4(A+12|0,e,r,k),l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function ti(f,e,r,A,k,n){var t=0,o=0,u=0,h=0;i:{if(n&64){r=n+-64|0,e=r&31,(r&63)>>>0>=32?(r=0,e=k>>>e|0):(r=k>>>e|0,e=((1<<e)-1&k)<<32-e|A>>>e),A=0,k=0;break i}if(!n)break i;u=A,o=64-n|0,t=o&31,(o&63)>>>0>=32?(o=A<<t,h=0):(o=(1<<t)-1&u>>>32-t|k<<t,h=u<<t),u=e,e=n&31,(n&63)>>>0>=32?(t=0,e=r>>>e|0):(t=r>>>e|0,e=((1<<e)-1&r)<<32-e|u>>>e),e=h|e,r=t|o,t=A,A=n&31,(n&63)>>>0>=32?(o=0,A=k>>>A|0):(o=k>>>A|0,A=((1<<A)-1&k)<<32-A|t>>>A),k=o}i[f>>2]=e,i[f+4>>2]=r,i[f+8>>2]=A,i[f+12>>2]=k}function $B(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;if(k=B-32|0,B=k,t=V[i[i[e>>2]+32>>2]](e,r,0)|0,w2(r,(i[e+52>>2]-i[e+48>>2]|0)/6&65535),A=i[e+48>>2],n=i[e+52>>2],(A|0)!=(n|0))for(;w2(r,Q[A>>1]),w2(r,Q[A+2>>1]),w2(r,Q[A+4>>1]),A=A+6|0,(n|0)!=(A|0););Y4(k+12|0,e,r,t),l[k+31|0]<0&&G(i[k+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+32|0}function F7(f,e,r){var A=0,k=0,n=0,t=0,o=0;i:{if(k=B-16|0,B=k,n=r-e>>2,n>>>0<=1073741815){r:{if(n>>>0<2){l[f+11|0]=s[f+11|0]&128|n&127,l[f+11|0]=s[f+11|0]&127,A=f;break r}o=k+8|0,n>>>0>=2?(t=n+2&-2,A=t-1|0,A=(A|0)==2?t:A):A=1,xi(o,A+1|0),A=i[k+8>>2],i[f>>2]=A,i[f+8>>2]=i[f+8>>2]&-2147483648|i[k+12>>2]&2147483647,i[f+8>>2]=i[f+8>>2]|-2147483648,i[f+4>>2]=n}for(;;){if((e|0)!=(r|0)){i[A>>2]=i[e>>2],A=A+4|0,e=e+4|0;continue}break}i[k+4>>2]=0,i[A>>2]=i[k+4>>2],B=k+16|0;break i}o4(),P()}}function bB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;if(k=B-32|0,B=k,t=V[i[i[e>>2]+32>>2]](e,r,0)|0,w2(r,(i[e+60>>2]-i[e+56>>2]|0)/6&65535),A=i[e+56>>2],n=i[e+60>>2],(A|0)!=(n|0))for(;w2(r,Q[A>>1]),A2(r,s[A+2|0]),w2(r,Q[A+4>>1]),A=A+6|0,(n|0)!=(A|0););Y4(k+12|0,e,r,t),l[k+31|0]<0&&G(i[k+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+32|0}function dB(f,e,r,A,k,n,t,o,u){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0;var h=0,w=0,_=0;if(!((n|0)<=0|(k|0)<=0))for(w=k&2147483644,h=k&3,u=0,_=k>>>0<4;;){if(k=m(A,u)+r|0,t=(m(e,u)<<1)+f|0,o=0,!_)for(;X[t>>1]=s[k|0]<<6,X[t+2>>1]=s[k+1|0]<<6,X[t+4>>1]=s[k+2|0]<<6,X[t+6>>1]=s[k+3|0]<<6,k=k+4|0,t=t+8|0,o=o+4|0,(w|0)!=(o|0););if(o=0,h)for(;X[t>>1]=s[k|0]<<6,k=k+1|0,t=t+2|0,o=o+1|0,(h|0)!=(o|0););if(u=u+1|0,(u|0)==(n|0))break}}function cB(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;A=B-16|0,B=A;i:{if(B2(r)&1){n=e,t=D0(r),i[n+48>>2]=t,n=e,t=D0(r),i[n+52>>2]=t,k=D0(r);break i}n=e,t=t2(r),i[n+48>>2]=t,n=e,t=t2(r),i[n+52>>2]=t,k=t2(r)}i[e+56>>2]=k;i:{if(s[r+20|0]==1){if(l[A+4|0]=0,l[A+15|0]=0,r0(f,2,100,A+4|0),l[A+15|0]>=0)break i;G(i[A+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+16|0}function iZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-32|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(A,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(k=i[19565],i[A>>2]=i[19564],i[A+4>>2]=k,k=A+8|0,l[78275]>=0){n=i[19567],i[k>>2]=i[19566],i[k+4>>2]=n,i[k+8>>2]=i[19568];break i}_0(k,i[19566],i[19567])}l[A+19|0]<0&&G(i[A+8>>2]);i:{if(s[e+48|0]){h4(f,e,14139);break i}Yr(f,e,r,-1)}B=A+32|0}function rZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;A=B-32|0,B=A;i:{if(!(r&&e)){i[f+8>>2]=0,i[f>>2]=5,i[f+4>>2]=2001;break i}if(k=i[e>>2],!s[k+208|0]){if(l[A|0]=0,l[A+11|0]=0,r=r0(A+12|0,5,138,A),l[A+11|0]<0&&G(i[A>>2]),P0(f,r,i[e>>2]),l[r+19|0]>=0)break i;G(i[r+8>>2]);break i}n=i0[k+216>>3],t=i0[k+224>>3],o=i0[k+232>>3],u=i0[k+240>>3],i0[r+32>>3]=i0[k+248>>3],i0[r+24>>3]=u,i0[r+16>>3]=o,i0[r+8>>3]=t,i0[r>>3]=n,i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e}B=A+32|0}function eZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,l2(r,i[e+56>>2]),l2(r,i[e+60>>2]),l2(r,i[e+64>>2]),l2(r,i[e+68>>2]),l2(r,i[e+72>>2]),R4(r,e+76|0),i[r+12>>2]=k,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+k|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function E7(f,e,r){var A=0,k=0,n=0,t=0,o=0;i:{if(k=B-16|0,B=k,n=r-e|0,n>>>0<=2147483639){r:{if(n>>>0<11){l[f+11|0]=s[f+11|0]&128|n&127,l[f+11|0]=s[f+11|0]&127,A=f;break r}o=k+8|0,n>>>0>=11?(t=n+8&-8,A=t-1|0,A=(A|0)==11?t:A):A=10,Mi(o,A+1|0),A=i[k+8>>2],i[f>>2]=A,i[f+8>>2]=i[f+8>>2]&-2147483648|i[k+12>>2]&2147483647,i[f+8>>2]=i[f+8>>2]|-2147483648,i[f+4>>2]=n}for(;;){if((e|0)!=(r|0)){l[A|0]=s[e|0],A=A+1|0,e=e+1|0;continue}break}l[k+7|0]=0,l[A|0]=s[k+7|0],B=k+16|0;break i}o4(),P()}}function X6(f,e,r,A){var k=0,n=0,t=0,o=0;i:{r:{if(!A){k=i[f+12>>2],A=i[f+8>>2],f=k-A>>2;break r}if(k=i[f+12>>2],A=i[f+8>>2],f=k-A>>2,(A|0)==(k|0))break r;for(o=f>>>0<=1?1:f;;){if(t=i[(n<<2)+A>>2],!(i[t+96>>2]!=(e|0)|i[t+108>>2]<=(r|0))&i[t+100>>2]==2)break i;if(n=n+1|0,(o|0)==(n|0))break}}if(n=-1,(A|0)==(k|0))break i;for(t=f>>>0<=1?1:f,f=0;;){if(k=i[(f<<2)+A>>2],!(i[k+96>>2]!=(e|0)|i[k+108>>2]<=(r|0)|!i[k+100>>2]))return f;if(f=f+1|0,(t|0)==(f|0))break}}return n}function AZ(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0;k=B-32|0,B=k;i:{if(!A){if(l[k|0]=0,l[k+11|0]=0,r=r0(k+12|0,5,2001,k),l[k+11|0]<0&&G(i[k>>2]),P0(f,r,e?i[e>>2]:0),l[r+19|0]>=0)break i;G(i[r+8>>2]);break i}Or(k+12|0,r,0),n=i[k+12>>2];r:{if((n|0)!=i[k+16>>2]){e=U(8),r=i[i[n>>2]>>2],i[e+4>>2]=0,i[e>>2]=r,i[A>>2]=e,wt(f,e);break r}if(l[k|0]=0,l[k+11|0]=0,r=r0(k+12|0,3,0,k),l[k+11|0]<0&&G(i[k>>2]),P0(f,r,e?i[e>>2]:0),l[r+19|0]<0&&G(i[r+8>>2]),!n)break i}G(n)}B=k+32|0}function Y7(f,e){var r=0,A=0,k=0;i:{r:{e:{if(A=e&255,A){if(f&3)for(;;){if(r=s[f|0],!r|(r|0)==(A|0))break i;if(f=f+1|0,!(f&3))break}if(r=i[f>>2],((r|16843008-r)&-2139062144)!=-2139062144)break e;for(k=m(A,16843009);;){if(A=r^k,((16843008-A|A)&-2139062144)!=-2139062144)break e;if(r=i[f+4>>2],A=f+4|0,f=A,((16843008-r|r)&-2139062144)!=-2139062144)break}break r}return G2(f)+f|0}A=f}for(;;){if(f=A,r=s[f|0],!r)break i;if(A=f+1|0,(r|0)==(e&255))break}}return f}function J7(f,e){var r=0,A=0,k=0,n=0,t=0;r=B-32|0,B=r,i[r+28>>2]=0,i[r+20>>2]=0,i[r+24>>2]=0,w8(r,f,e,r+20|0),f=-1;i:{if(i[r>>2]||(A=i[r+20>>2],k=i[r+24>>2]-A|0,f=-1,k>>>0<2))break i;for(e=1;;){t=n,n=e;r:{if(s[A+t|0]!=255||(f=s[e+A|0],(f&240)!=192|s[(f&15)+35200|0]!=1))break r;if(e=t+4|0,f=-1,e>>>0>=k>>>0)break i;f=s[e+A|0];break i}if(e=n+1|0,(k|0)==(e|0))break}f=-1}return l[r+19|0]<0&&G(i[r+8>>2]),e=i[r+20>>2],e&&(i[r+24>>2]=e,G(e)),B=r+32|0,f}function g7(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=70032,l[f+103|0]<0&&G(i[f+92>>2]),l[f+91|0]<0&&G(i[f+80>>2]),l[f+79|0]<0&&G(i[f+68>>2]),l[f+67|0]<0&&G(i[f+56>>2]),i[f>>2]=68616,r=i[f+36>>2],r){if(e=r,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){e=i[A-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(A=A-8|0,(r|0)==(A|0))break}e=i[f+36>>2]}i[f+40>>2]=r,G(e)}return i[f>>2]=68500,r=i[f+20>>2],r&&(i[f+24>>2]=r,G(r)),f|0}function fZ(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,k=B-32|0,B=k,X7(k+8|0,e,r,A,0);i:{if(i[k+8>>2]){e=i[k+12>>2],i[f>>2]=i[k+8>>2],i[f+4>>2]=e,i[f+16>>2]=i[k+24>>2],e=i[k+20>>2],i[f+8>>2]=i[k+16>>2],i[f+12>>2]=e,i[k+24>>2]=0,i[k+16>>2]=0,i[k+20>>2]=0;break i}if(l2(r,i[e+52>>2]|s[e+48|0]<<24),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}l[k+27|0]<0&&G(i[k+16>>2]),B=k+32|0}function kZ(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;if((e|0)>=2)for(w=(e|0)/2|0,_=e&2147483646,v=e&1;;){for(n=(m(e,k)<<1)+f|0,o=(m(e-k|0,e)<<1)+f|0,r=0,u=0;A=n+(r<<1)|0,h=Q[A>>1],t=((r^-1)<<1)+o|0,X[A>>1]=Q[t>>1],X[t>>1]=h,h=Q[A+2>>1],t=A,A=((r^2147483646)<<1)+o|0,X[t+2>>1]=Q[A>>1],X[A>>1]=h,r=r+2|0,u=u+2|0,(_|0)!=(u|0););if(v&&(A=n+(r<<1)|0,n=Q[A>>1],r=((r^-1)<<1)+o|0,X[A>>1]=Q[r>>1],X[r>>1]=n),k=k+1|0,(w|0)==(k|0))break}}function nZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;k=B-16|0,B=k;i:{if(!e)break i;f=i[f>>2],A=i[f+48>>2],f=i[f+52>>2];r:{if(!f){RA(k+4|0,A);break r}if(i[f+4>>2]=i[f+4>>2]+1,RA(k+4|0,A),A=i[f+4>>2],i[f+4>>2]=A-1,A)break r;V[i[i[f>>2]+8>>2]](f),g(f)}r:{e:{if(n=i[k+4>>2],A=i[k+8>>2]-n>>2,(A|0)<=0)break e;for(f=0;;){if((f|0)==(r|0)){A=r;break e}if(t=f<<2,i[t+e>>2]=i[n+t>>2],f=f+1|0,(A|0)==(f|0))break}break r}if(!n)break i}i[k+8>>2]=n,G(n)}return B=k+16|0,A|0}function OA(f){var e=0,r=0,A=0,k=0,n=0,t=0,o=0,u=0;if(e=Y7(f,61),(e|0)==(f|0))return 0;k=e-f|0;i:{if(s[k+f|0]||(A=i[24899],!A)||(r=i[A>>2],!r))break i;for(;;){r:{n=f,t=k,e=0;e:{if(!k)break e;if(e=s[f|0],e)A:{for(;;){if(o=s[r|0],(o|0)!=(e|0)|!o||(t=t-1|0,!t))break A;if(r=r+1|0,e=s[n+1|0],n=n+1|0,!e)break}e=0}else e=0;e=e-s[r|0]|0}if(!e&&(e=i[A>>2]+k|0,s[e|0]==61))break r;if(r=i[A+4>>2],A=A+4|0,r)continue;break i}break}u=e+1|0}return u}function L1(f,e,r,A,k,n){var t=0,o=0,u=0;i:{if(n&64){k=n+-64|0,n=e,A=k&31,(k&63)>>>0>=32?(k=n<<A,A=0):(k=(1<<A)-1&n>>>32-A|r<<A,A=n<<A),e=0,r=0;break i}if(!n)break i;o=A,t=n&31,(n&63)>>>0>=32?(u=A<<t,o=0):(u=(1<<t)-1&o>>>32-t|k<<t,o=o<<t),t=e,k=64-n|0,A=k&31,(k&63)>>>0>=32?(k=0,A=r>>>A|0):(k=r>>>A|0,A=((1<<A)-1&r)<<32-A|t>>>A),A=o|A,k=k|u,o=e,t=n&31,(n&63)>>>0>=32?(u=e<<t,e=0):(u=(1<<t)-1&o>>>32-t|r<<t,e=o<<t),r=u}i[f>>2]=e,i[f+4>>2]=r,i[f+8>>2]=A,i[f+12>>2]=k}function N7(f){return l[f+316|0]=0,X[f+314>>1]=0,i[f+60>>2]=0,i[f+52>>2]=0,i[f+56>>2]=0,B0(f+116|0,0,164),i[f+108>>2]=0,i[f+112>>2]=0,i[f>>2]=-1,i[f+4>>2]=0,i[f+8>>2]=0,i[f+12>>2]=0,i[f+64>>2]=0,i[f+68>>2]=0,i[f+72>>2]=0,i[f+320>>2]=0,i[f+24>>2]=0,i[f+28>>2]=0,i[f+280>>2]=0,i[f+284>>2]=0,i[f+288>>2]=0,i[f+292>>2]=0,i[f+296>>2]=0,i[f+300>>2]=0,l[f+312|0]=2,l[f+104|0]=0,i[f+100>>2]=0,i[f+92>>2]=-1,i[f+96>>2]=-1,i[f+340>>2]=0,i[f+332>>2]=0,i[f+336>>2]=0,i[f+324>>2]=0,i[f+328>>2]=0,f}function b4(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0,h=0;k=B-16|0,B=k,U2(+e),A=j0(1)|0,n=j0(0)|0,h=A,r=A&1048575,A=A>>>20&2047;i:{if(A|0){if((A|0)!=2047|t){o=(r&15)<<28|n>>>4,u=r>>>4|0,t=A+15360|0,A=n<<28,r=0;break i}o=(r&15)<<28|n>>>4,u=r>>>4|0,t=32767,A=n<<28,r=0;break i}if(!(r|n)){A=0,r=0;break i}A=r,r=r?$2(r):$2(n)+32|0,L1(k,n,A,0,0,r+49|0),t=15372-r|0,o=i[k+8>>2],u=i[k+12>>2]^65536,A=i[k+4>>2],r=i[k>>2]}i[f>>2]=r,i[f+4>>2]=A,i[f+8>>2]=o,i[f+12>>2]=u|(h&-2147483648|t<<16),B=k+16|0}function jA(f,e){var r=0,A=0,k=0;i:{if(r=i[e>>2],!r)break i;if(k=N0(r,72560,72972),k){A=i[e+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[f+184>>2]=k,r=i[f+188>>2],i[f+188>>2]=A;r:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break r;V[i[i[r>>2]+8>>2]](r),g(r)}if(r=i[e>>2],!r)break i}if(A=N0(r,72560,73012),!A||(r=i[e+4>>2],r&&(i[r+4>>2]=i[r+4>>2]+1),i[f+176>>2]=A,e=i[f+180>>2],i[f+180>>2]=r,!e)||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}}function x8(f){var e=0,r=0,A=0;if(!f){if(f=i[19518],f&&(e=x8(f)),f=i[19480],f&&(e=x8(f)|e),f=i[23946],f)for(;i[f+20>>2]!=i[f+28>>2]&&(e=x8(f)|e),f=i[f+56>>2],!!f;);return e}A=i[f+76>>2]<0;i:{r:{if(i[f+20>>2]==i[f+28>>2]||(V[i[f+36>>2]](f,0,0)|0,i[f+20>>2]))break r;e=-1;break i}if(e=i[f+8>>2],r=i[f+4>>2],(e|0)!=(r|0)&&(e=r-e|0,V[i[f+40>>2]](f,e,e>>31,1)|0),e=0,i[f+28>>2]=0,i[f+16>>2]=0,i[f+20>>2]=0,i[f+4>>2]=0,i[f+8>>2]=0,A)break i}return e}function tZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;k=B-32|0,B=k,i[k+16>>2]=e,A=i[f+48>>2],i[k+20>>2]=r-((A|0)!=0),t=i[f+44>>2],i[k+28>>2]=A,i[k+24>>2]=t;i:{r:{if(A=ps(i[f+60>>2],k+16|0,2,k+12|0)|0,A?(i[23944]=A,A=-1):A=0,A)e=32;else{if(A=i[k+12>>2],(A|0)>0)break r;e=A?32:16}i[f>>2]=e|i[f>>2];break i}if(n=A,t=i[k+20>>2],t>>>0>=A>>>0)break i;n=i[f+44>>2],i[f+4>>2]=n,i[f+8>>2]=n+(A-t|0),i[f+48>>2]&&(i[f+4>>2]=n+1,l[(e+r|0)-1|0]=s[n|0]),n=r}return B=k+32|0,n|0}function PA(f,e,r){var A=0,k=0;A=(r|0)!=0;i:{r:{e:{if(!(f&3)|!r)break e;for(k=e&255;;){if((k|0)==s[f|0])break r;if(r=r-1|0,A=(r|0)!=0,f=f+1|0,!(f&3))break e;if(!r)break}}if(!A)break i;if(A=e&255,!((A|0)==s[f|0]|r>>>0<4))for(A=m(A,16843009);;){if(k=A^i[f>>2],((16843008-k|k)&-2139062144)!=-2139062144)break r;if(f=f+4|0,r=r-4|0,!(r>>>0>3))break}if(!r)break i}for(e=e&255;;){if((e|0)==s[f|0])return f;if(f=f+1|0,r=r-1|0,!r)break}}return 0}function oZ(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0,v=0;if(!(n&1)){if(!((t|0)<=0|(n|0)<=0))for(;;){for(w=m(e,h)+f|0,u=m(k,h)<<1,_=u+A|0,u=r+u|0,v=0;o=(X[u>>1]+X[_>>1]|0)- -64>>7,o=(o|0)>=255?255:o,l[w|0]=(o|0)>0?o:0,o=(X[u+2>>1]+X[_+2>>1]|0)- -64>>7,o=(o|0)>=255?255:o,l[w+1|0]=(o|0)>0?o:0,_=_+4|0,u=u+4|0,w=w+2|0,v=v+2|0,(v|0)<(n|0););if(h=h+1|0,(h|0)==(t|0))break}return}C0(17190,13955,105,7860),P()}function R7(f){var e=0,r=0;e=U(128),r=e+32|0,i[r>>2]=0,i[r+4>>2]=0,i[e+68>>2]=0,i[e+4>>2]=0,i[e+8>>2]=0,i[e+24>>2]=0,i[e+28>>2]=0,i[e+72>>2]=0,i[e+76>>2]=0,i[e+104>>2]=0,i[e+108>>2]=0,i[e>>2]=71984,i[e+40>>2]=0,i[e+44>>2]=0,i[e+48>>2]=0,i[e+52>>2]=0,i[e+56>>2]=0,i[e+60>>2]=0,l[e- -64|0]=0,i[e+16>>2]=69912,i[e+80>>2]=0,i[e+84>>2]=0,i[e+88>>2]=0,i[e+92>>2]=0,l[e+96|0]=0,i[e+112>>2]=0,i[e+116>>2]=0,i[e+120>>2]=0,i[e+124>>2]=0,i[e+32>>2]=1668114798,i[f+4>>2]=e,i[f>>2]=e+16}function lZ(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0;A=B-16|0,B=A;i:{r:{if(i[e+64>>2]&&!(V[i[i[e>>2]+24>>2]](e)|0))break r;i[f+8>>2]=-1,i[f+12>>2]=-1,i[f>>2]=0,i[f+4>>2]=0;break i}if(Ce(i[e+64>>2],i[r+8>>2],i[r+12>>2],0)){i[f+8>>2]=-1,i[f+12>>2]=-1,i[f>>2]=0,i[f+4>>2]=0;break i}k=i[r+4>>2],i[A+8>>2]=i[r>>2],i[A+12>>2]=k,k=i[A+12>>2],i[e+72>>2]=i[A+8>>2],i[e+76>>2]=k,e=i[r+12>>2],i[f+8>>2]=i[r+8>>2],i[f+12>>2]=e,e=i[r+4>>2],i[f>>2]=i[r>>2],i[f+4>>2]=e}B=A+16|0}function uZ(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0,t=0,o=0;i:{r:{e:{if(r=i[f>>2],f=i[r+164>>2],A=i[r+168>>2],(f|0)!=(A|0)){if(!e)return((A-f|0)-8>>>3|0)+1|0;if(n=G2(e),(n|0)!=-1)break e;for(;;){if(e=i[f>>2],l[e+15|0]<0&i[e+8>>2]==-1)break r;if(f=f+8|0,(A|0)==(f|0))break}}r=0;break i}for(r=0;k=i[f>>2],t=l[k+15|0],o=(t|0)<0,((o?i[k+8>>2]:t)|0)==(n|0)&&(r=!K2(o?i[k+4>>2]:k+4|0,e,n)+r|0),f=f+8|0,(A|0)!=(f|0););break i}O3(),P()}return r|0}function D7(f,e,r,A){var k=0,n=0,t=0,o=0;k=B-16|0,B=k;i:{r:{e:{if((f|0)!=(e|0))A:{f:{if(n=s[f|0],(n|0)!=45||(f=f+1|0,(e|0)!=(f|0)))break f;break A}o=i[23944],i[23944]=0,M2(),f=Xi(f,k+12|0,A,-1,-1),A=w0,t=i[23944];f:{if(t){if(i[k+12>>2]!=(e|0))break f;if((t|0)==68)break e;break r}if(i[23944]=o,i[k+12>>2]==(e|0))break r}}i[r>>2]=4,f=0,e=0;break i}i[r>>2]=4,f=-1,e=-1;break i}e=f,r=(n|0)==45,f=r?0-e|0:e,e=r?0-(A+((e|0)!=0)|0)|0:A}return B=k+16|0,w0=e,f}function sZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;k=B-32|0,B=k;i:{if(!r){if(l[k|0]=0,l[k+11|0]=0,r=r0(k+12|0,5,2001,k),l[k+11|0]<0&&G(i[k>>2]),n=f,f=i[e>>2],P0(n,r,f?f+8|0:0),l[r+19|0]>=0)break i;G(i[r+8>>2]);break i}if(A=i[e>>2],t=i[A+52>>2],A=i[A+56>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),t&&(n=r,r=i[t+8>>2],l0(n,r,i[t+12>>2]-r|0)),r=f,f=i[e>>2],P0(r,78256,f?f+8|0:0),!A||(f=i[A+4>>2],i[A+4>>2]=f-1,f))break i;V[i[i[A>>2]+8>>2]](A),g(A)}B=k+32|0}function hZ(f){f=f|0;var e=0,r=0,A=0;if(e=l[f+11|0],r=(e|0)<0,e=r?i[f+4>>2]:e,(e|0)<8)return 3;i:{f=r?i[f>>2]:f;r:{if(s[f+4|0]!=102|s[f+5|0]!=116|(s[f+6|0]!=121|s[f+7|0]!=112))break r;if(e>>>0<12)return 3;A=1,f=p3(f,e);e:{if((f|0)<=1781689192){if((f|0)==1635150182|(f|0)==1751476579)break r;if((f|0)!=1751476600)break e;break r}A:switch(f-1835623985|0){case 0:case 1:break i;default:break A}if((f|0)==1781689193|(f|0)==1785750887)break r}A=2}return A|0}return 3}function wZ(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0,w=0,_=0,v=0,Z=0;if(!(k&1)){if(!((n|0)<=0|(k|0)<=0))for(v=(t|0)<14?1<<13-t:0,Z=14-t|0,u=-1<<t^-1;;){for(t=(m(e,h)<<1)+f|0,w=(m(A,h)<<1)+r|0,_=0;o=X[w>>1]+v>>Z,X[t>>1]=(o|0)>=0?(o|0)<(u|0)?o:u:0,o=X[w+2>>1]+v>>Z,X[t+2>>1]=(o|0)>=0?(o|0)<(u|0)?o:u:0,w=w+4|0,t=t+4|0,_=_+2|0,(_|0)<(k|0););if(h=h+1|0,(h|0)==(n|0))break}return}C0(17190,13955,172,8077),P()}function U7(f,e,r,A){var k=0,n=0,t=0;k=B-16|0,B=k;i:{r:{e:{if((f|0)!=(e|0)){t=i[23944],i[23944]=0,M2(),A=Xi(f,k+12|0,A,0,-2147483648),f=w0,n=i[23944];A:{if(n){if(i[k+12>>2]!=(e|0))break A;if((n|0)==68)break r;break e}if(i[23944]=t,i[k+12>>2]==(e|0))break e}}i[r>>2]=4,e=0;break i}if((f|0)<0&A>>>0<2147483648|(f|0)<-1|(A>>>0>2147483647&(f|0)>=0|(f|0)>0))break r;e=A;break i}if(i[r>>2]=4,e=2147483647,!!A&(f|0)>=0|(f|0)>0)break i;e=-2147483648}return B=k+16|0,e}function yi(f,e){var r=0,A=0,k=0,n=0,t=0,o=0;n=B-16|0,B=n,A=Ot(e),k=B-16|0,B=k;i:{if(A>>>0<=1073741815){r:{if(A>>>0<2){l[f+11|0]=s[f+11|0]&128|A&127,l[f+11|0]=s[f+11|0]&127,r=f;break r}o=k+8|0,A>>>0>=2?(t=A+2&-2,r=t-1|0,r=(r|0)==2?t:r):r=1,xi(o,r+1|0),r=i[k+8>>2],i[f>>2]=r,i[f+8>>2]=i[f+8>>2]&-2147483648|i[k+12>>2]&2147483647,i[f+8>>2]=i[f+8>>2]|-2147483648,i[f+4>>2]=A}De(r,e,A),i[k+4>>2]=0,i[(A<<2)+r>>2]=i[k+4>>2],B=k+16|0;break i}o4(),P()}B=n+16|0}function _Z(f){f=f|0;var e=0,r=0,A=0,k=0;i[f>>2]=73032,e=i[f+52>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function vZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,n=i[e+56>>2];i:{if(!s[e+48|0]){w2(r,n&65535);break i}l2(r,n)}i[r+12>>2]=k,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+k|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function M7(f,e,r,A){var k=0,n=0,t=0,o=0;k=B-16|0,B=k;i:{r:{e:{A:{if((f|0)!=(e|0))f:{k:{if(n=s[f|0],(n|0)!=45||(f=f+1|0,(e|0)!=(f|0)))break k;break f}o=i[23944],i[23944]=0,M2(),f=Xi(f,k+12|0,A,-1,-1),A=w0,t=i[23944];k:{if(t){if(i[k+12>>2]!=(e|0))break k;if((t|0)==68)break e;break A}if(i[23944]=o,i[k+12>>2]==(e|0))break A}}i[r>>2]=4,f=0;break i}if(!A&f>>>0<=65535)break r}i[r>>2]=4,f=65535;break i}f=(n|0)==45?0-f|0:f}return B=k+16|0,f&65535}function G6(f,e){var r=0,A=0,k=0,n=0,t=0,o=0;n=B-16|0,B=n,A=G2(e),k=B-16|0,B=k;i:{if(A>>>0<=2147483639){r:{if(A>>>0<11){l[f+11|0]=s[f+11|0]&128|A&127,l[f+11|0]=s[f+11|0]&127,r=f;break r}o=k+8|0,A>>>0>=11?(t=A+8&-8,r=t-1|0,r=(r|0)==11?t:r):r=10,Mi(o,r+1|0),r=i[k+8>>2],i[f>>2]=r,i[f+8>>2]=i[f+8>>2]&-2147483648|i[k+12>>2]&2147483647,i[f+8>>2]=i[f+8>>2]|-2147483648,i[f+4>>2]=A}of(r,e,A),l[k+7|0]=0,l[A+r|0]=s[k+7|0],B=k+16|0;break i}o4(),P()}B=n+16|0}function mZ(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0;i:{if(t=i[e+16>>2],!t||(t=N0(t,72776,73212),!t))break i;e=i[e+20>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[r>>2]=i[t+4>>2],i[A>>2]=i[t+8>>2],i[k>>2]=i[t+12>>2],i[n>>2]=i[t+16>>2],i[f+8>>2]=i[18412],r=i[18411],i[f>>2]=i[18410],i[f+4>>2]=r;r:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break r;V[i[i[e>>2]+8>>2]](e),g(e)}return}e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560]}function BZ(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0;i:{if(t=i[e+16>>2],!t||(t=N0(t,72776,73256),!t))break i;e=i[e+20>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),i[r>>2]=i[t+4>>2],i[A>>2]=i[t+8>>2],i[k>>2]=i[t+12>>2],i[n>>2]=i[t+16>>2],i[f+8>>2]=i[18412],r=i[18411],i[f>>2]=i[18410],i[f+4>>2]=r;r:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break r;V[i[i[e>>2]+8>>2]](e),g(e)}return}e=i[18559],i[f>>2]=i[18558],i[f+4>>2]=e,i[f+8>>2]=i[18560]}function x7(f,e,r){var A=0,k=0,n=0,t=0,o=0;n=B-16|0,B=n,k=B-16|0,B=k;i:{if(e>>>0<=2147483639){r:{if(e>>>0<11){l[f+11|0]=s[f+11|0]&128|e&127,l[f+11|0]=s[f+11|0]&127,A=f;break r}o=k+8|0,e>>>0>=11?(t=e+8&-8,A=t-1|0,A=(A|0)==11?t:A):A=10,Mi(o,A+1|0),A=i[k+8>>2],i[f>>2]=A,i[f+8>>2]=i[f+8>>2]&-2147483648|i[k+12>>2]&2147483647,i[f+8>>2]=i[f+8>>2]|-2147483648,i[f+4>>2]=e}_t(A,e,r),l[k+7|0]=0,l[e+A|0]=s[k+7|0],B=k+16|0;break i}o4(),P()}return B=n+16|0,f}function LA(f){var e=0,r=0,A=0,k=0;if(i[f+20>>2]=0,r=i[f+8>>2],e=i[f+4>>2],A=r-e>>2,A>>>0>=3)for(;G(i[e>>2]),e=i[f+4>>2]+4|0,i[f+4>>2]=e,r=i[f+8>>2],A=r-e>>2,A>>>0>2;);k=512;i:switch(A-1|0){case 1:k=1024;case 0:i[f+16>>2]=k;break;default:break i}i:{if((e|0)==(r|0))break i;for(;G(i[e>>2]),e=e+4|0,(r|0)!=(e|0););if(e=i[f+8>>2],r=i[f+4>>2],(e|0)==(r|0))break i;i[f+8>>2]=e+((r-e|0)+3&-4)}f=i[f>>2],f&&G(f)}function ZZ(f){f=f|0;var e=0,r=0,A=0,k=0;i[f>>2]=73032,e=i[f+52>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function pZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;if(k=B-32|0,B=k,t=V[i[i[e>>2]+32>>2]](e,r,0)|0,A=i[e+48>>2],n=i[e+52>>2],(A|0)!=(n|0))for(;w2(r,Q[A>>1]),A2(r,s[A+2|0]),A2(r,s[A+3|0]),A=A+4|0,(n|0)!=(A|0););Y4(k+12|0,e,r,t),l[k+31|0]<0&&G(i[k+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+32|0}function WZ(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;if((r|0)>0)for(h=1<<k-1,_=r&2147483646,v=r&1;;){if(n=0,t=0,w=0,(r|0)!=1)for(;u=m(r,n)+o|0,t=((X[(u<<1)+e>>1]<<A)+h>>k)+t|0,i[(u<<2)+f>>2]=t,u=m(n|1,r)+o|0,t=t+((X[(u<<1)+e>>1]<<A)+h>>k)|0,i[(u<<2)+f>>2]=t,n=n+2|0,w=w+2|0,(_|0)!=(w|0););if(v&&(n=m(r,n)+o|0,i[(n<<2)+f>>2]=((X[(n<<1)+e>>1]<<A)+h>>k)+t),o=o+1|0,(o|0)==(r|0))break}}function z7(f){var e=0,r=0,A=0,k=0,n=0;return A=B-16|0,B=A,f=$0(f),i[f+40>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,i[f>>2]=53616,B0(f+52|0,0,47),r=A+12|0,e=i[f+4>>2],i[r>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=St(i[r>>2],r1(100200)),O0(r),e&&(r=A+8|0,e=i[f+4>>2],i[r>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),k=f,n=x0(r,100200),i[k+68>>2]=n,O0(r),e=i[f+68>>2],k=f,n=V[i[i[e>>2]+28>>2]](e)|0,l[k+98|0]=n),V[i[i[f>>2]+12>>2]](f,0,4096)|0,B=A+16|0,f}function XZ(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0,h=0;u=B-32|0,B=u,o=i[e>>2],h=i[o+48>>2],o=i[o+52>>2];i:{if(!o){Dn(u+8|0,h,r,A,k,n);break i}if(i[o+4>>2]=i[o+4>>2]+1,Dn(u+8|0,h,r,A,k,n),r=i[o+4>>2],i[o+4>>2]=r-1,r)break i;V[i[i[o>>2]+8>>2]](o),g(o)}i:{if(!(i[u+12>>2]|!t)){i[t>>2]=i[u+8>>2],i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e;break i}P0(f,u+12|0,i[e>>2])}l[u+31|0]<0&&G(i[u+20>>2]),B=u+32|0}function GZ(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=70344,e=i[f+76>>2],e&&(i[f+80>>2]=e,G(e)),i[f>>2]=70224,e=i[f+60>>2],e&&(i[f+64>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function CZ(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0,Z=0;if((r|0)>0)for(u=1<<k-1,v=r&2147483646,Z=r&1;;){if(_=m(r,h),o=0,t=0,w=0,(r|0)!=1)for(;n=o+_|0,t=((X[(n<<1)+e>>1]<<A)+u>>k)+t|0,i[(n<<2)+f>>2]=t,n=n+1|0,t=t+((X[(n<<1)+e>>1]<<A)+u>>k)|0,i[(n<<2)+f>>2]=t,o=o+2|0,w=w+2|0,(v|0)!=(w|0););if(Z&&(n=o+_|0,i[(n<<2)+f>>2]=((X[(n<<1)+e>>1]<<A)+u>>k)+t),h=h+1|0,(h|0)==(r|0))break}}function H7(f,e,r,A,k){var n=0,t=0,o=0;o=-1,t=A&2147483647,n=(t|0)==2147418112;i:{if((n&!r?f|e:n&(r|0)!=0|t>>>0>2147418112)||(n=k&2147483647,((n|0)==2147418112&0|n>>>0>2147418112)&(n|0)!=2147418112))break i;if(!(f|r|(n|t|e)))return 0;if(n=A&k,(n|0)>0?n=1:n=(n|0)>=0,n){if(((r|0)!=0|(A|0)!=(k|0))&(A|0)<(k|0))break i;return(f|r|(A^k|e))!=0}if(!r&(A|0)==(k|0)?f|e:(r|0)!=0&(A|0)>=(k|0)|(A|0)>(k|0))break i;o=(f|r|(A^k|e))!=0}return o}function VZ(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=70344,e=i[f+76>>2],e&&(i[f+80>>2]=e,G(e)),i[f>>2]=70224,e=i[f+60>>2],e&&(i[f+64>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function IZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,R4(r,e+56|0),R4(r,e+68|0),R4(r,e+80|0),R4(r,e+92|0),i[r+12>>2]=k,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+k|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function h2(f,e){var r=0,A=0,k=0,n=0;i:{if(s[f+11|0]>>>7|0?r=i[f+4>>2]:r=s[f+11|0]&127,r>>>0<e>>>0){k=B-16|0,B=k,r=e-r|0,r&&(A=s[f+11|0]>>>7|0?(i[f+8>>2]&2147483647)-1|0:10,s[f+11|0]>>>7|0?e=i[f+4>>2]:e=s[f+11|0]&127,A-e>>>0<r>>>0&&HA(f,A,e+(r-A|0)|0,e,e),s[f+11|0]>>>7|0?A=i[f>>2]:A=f,_t(A+e|0,r,0),n=f,f=e+r|0,wi(n,f),l[k+15|0]=0,l[f+A|0]=s[k+15|0]),B=k+16|0;break i}r=f,s[f+11|0]>>>7|0&&(f=i[f>>2]),Zt(r,f,e)}}function X8(f,e,r,A,k,n){var t=0,o=0,u=0;o=B-16|0,B=o;i:{r:{if(!f||(t=i[k+12>>2],u=r-e>>2,(u|0)>0&&(V[i[i[f>>2]+48>>2]](f,e,u)|0)!=(u|0)))break r;if(e=A-e>>2,t=(e|0)<(t|0)?t-e|0:0,(t|0)>0){e=W7(o+4|0,t,n);e:{if(s[e+11|0]>>>7|0){n=i[e>>2];break e}n=e}if(n=V[i[i[f>>2]+48>>2]](f,n,t)|0,l1(e),(n|0)!=(t|0))break r}if(e=A-r>>2,(e|0)>0&&(V[i[i[f>>2]+48>>2]](f,r,e)|0)!=(e|0))break r;i[k+12>>2]=0;break i}f=0}return B=o+16|0,f}function QZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0;return n=V[i[i[f>>2]+8>>2]](f)|0,A=w0,n=r+n|0,A=n>>>0<r>>>0?A+1|0:A,o=i[f+12>>2],k=o,u=i[f+8>>2],(A|0)<=(k|0)&u>>>0>=n>>>0|(A|0)<(k|0)&&(k=B-16|0,B=k,f=i[f+4>>2],i[f+4>>2]=0,X3(k+15|0,f),t=4,s[k+15|0]&&(t=i[(f+i[i[f>>2]-12>>2]|0)+24>>2],e=V[i[i[t>>2]+32>>2]](t,e,r)|0,i[f+4>>2]=e,t=(e|0)!=(r|0)?6:0),Oo(f+i[i[f>>2]-12>>2]|0,t),B=k+16|0),(A|0)<=(o|0)&n>>>0<=u>>>0|(A|0)<(o|0)}function G8(f,e,r,A,k,n){var t=0,o=0,u=0;o=B-16|0,B=o;i:{r:{if(!f||(t=i[k+12>>2],u=r-e|0,(u|0)>0&&(V[i[i[f>>2]+48>>2]](f,e,u)|0)!=(u|0)))break r;if(e=A-e|0,t=(e|0)<(t|0)?t-e|0:0,(t|0)>0){e=x7(o+4|0,t,n);e:{if(s[e+11|0]>>>7|0){n=i[e>>2];break e}n=e}if(n=V[i[i[f>>2]+48>>2]](f,n,t)|0,z0(e),(n|0)!=(t|0))break r}if(e=A-r|0,(e|0)>0&&(V[i[i[f>>2]+48>>2]](f,r,e)|0)!=(e|0))break r;i[k+12>>2]=0;break i}f=0}return B=o+16|0,f}function yZ(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;o=B-32|0,B=o,t=i[e>>2],u=i[t+48>>2],t=i[t+52>>2];i:{if(!t){f9(o+8|0,u,r,A,k);break i}if(i[t+4>>2]=i[t+4>>2]+1,f9(o+8|0,u,r,A,k),r=i[t+4>>2],i[t+4>>2]=r-1,r)break i;V[i[i[t>>2]+8>>2]](t),g(t)}i:{if(!(i[o+12>>2]|!n)){i[n>>2]=i[o+8>>2],i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e;break i}P0(f,o+12|0,i[e>>2])}l[o+31|0]<0&&G(i[o+20>>2]),B=o+32|0}function FZ(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;o=B-32|0,B=o,t=i[e>>2],u=i[t+48>>2],t=i[t+52>>2];i:{if(!t){Rn(o+8|0,u,r,A,k);break i}if(i[t+4>>2]=i[t+4>>2]+1,Rn(o+8|0,u,r,A,k),r=i[t+4>>2],i[t+4>>2]=r-1,r)break i;V[i[i[t>>2]+8>>2]](t),g(t)}i:{if(!(i[o+12>>2]|!n)){i[n>>2]=i[o+8>>2],i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e;break i}P0(f,o+12|0,i[e>>2])}l[o+31|0]<0&&G(i[o+20>>2]),B=o+32|0}function KA(f,e){var r=0,A=0,k=0;A=B-16|0,B=A,i[A+12>>2]=e;i:{r:{r=s[f+11|0],k=r>>>7|0;e:{if(!k){r=r&127,e=1;break e}r=i[f+4>>2],e=(i[f+8>>2]&2147483647)-1|0}if((e|0)==(r|0)){Z7(f,e,1,e,e);e:if(s[f+11|0]>>>7|0)break e;break r}e:if(s[f+11|0]>>>7|0)break e;if(k)break r;e=f,l[f+11|0]=s[f+11|0]&128|r+1&127,l[f+11|0]=s[f+11|0]&127;break i}e=i[f>>2],i[f+4>>2]=r+1}f=(r<<2)+e|0,i[f>>2]=i[A+12>>2],i[A+8>>2]=0,i[f+4>>2]=i[A+8>>2],B=A+16|0}function T7(f,e,r,A){var k=0,n=0,t=0,o=0;k=B-16|0,B=k;i:{r:{e:{A:{if((f|0)!=(e|0))f:{k:{if(n=s[f|0],(n|0)!=45||(f=f+1|0,(e|0)!=(f|0)))break k;break f}o=i[23944],i[23944]=0,M2(),f=Xi(f,k+12|0,A,-1,-1),A=w0,t=i[23944];k:{if(t){if(i[k+12>>2]!=(e|0))break k;if((t|0)==68)break e;break A}if(i[23944]=o,i[k+12>>2]==(e|0))break A}}i[r>>2]=4,f=0;break i}if(!A)break r}i[r>>2]=4,f=-1;break i}f=(n|0)==45?0-f|0:f}return B=k+16|0,f}function ie(f,e){i:{if(f){if(e>>>0<=127)break i;r:{if(!i[i[23985]>>2]){if((e&-128)==57216)break i;break r}if(e>>>0<=2047)return l[f+1|0]=e&63|128,l[f|0]=e>>>6|192,2;if(!((e&-8192)!=57344&e>>>0>=55296))return l[f+2|0]=e&63|128,l[f|0]=e>>>12|224,l[f+1|0]=e>>>6&63|128,3;if(e-65536>>>0<=1048575)return l[f+3|0]=e&63|128,l[f|0]=e>>>18|240,l[f+2|0]=e>>>6&63|128,l[f+1|0]=e>>>12&63|128,4}i[23944]=25,f=-1}else f=1;return f}return l[f|0]=e,1}function EZ(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0;if((e|0)>0)for(;;){if(k=i[(n<<2)+f>>2],k){r=i[k+20>>2];i:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break i;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[k+12>>2];i:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break i;V[i[i[r>>2]+8>>2]](r),g(r)}r=i[k+4>>2];i:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break i;V[i[i[r>>2]+8>>2]](r),g(r)}G(k)}if(n=n+1|0,(n|0)==(e|0))break}}function Fi(f,e){var r=0,A=0;A=f;i:{r:{if((A^e)&3){r=s[e|0];break r}if(e&3)for(;;){if(r=s[e|0],l[A|0]=r,!r)break i;if(A=A+1|0,e=e+1|0,!(e&3))break}if(r=i[e>>2],((r|16843008-r)&-2139062144)!=-2139062144)break r;for(;i[A>>2]=r,A=A+4|0,r=i[e+4>>2],e=e+4|0,((16843008-r|r)&-2139062144)==-2139062144;);}if(l[A|0]=r,!(r&255))break i;for(;r=s[e+1|0],l[A+1|0]=r,A=A+1|0,e=e+1|0,!!r;);}return f}function a7(f,e,r){var A=0,k=0,n=0,t=0,o=0;A=i[f+12>>2],k=i[f+8>>2],f=A-k>>2;i:{if((A|0)!=(k|0))for(o=f>>>0<=1?1:f;;){if(t=i[(n<<2)+k>>2],!(i[t+92>>2]!=(e|0)|i[t+108>>2]<=(r|0))&i[t+100>>2]==2)break i;if(n=n+1|0,(o|0)==(n|0))break}if(n=-1,(A|0)==(k|0))break i;for(t=f>>>0<=1?1:f,f=0;;){if(A=i[(f<<2)+k>>2],!(i[A+92>>2]!=(e|0)|i[A+108>>2]<=(r|0)|!i[A+100>>2]))return f;if(f=f+1|0,(t|0)==(f|0))break}}return n}function YZ(f){f=f|0;var e=0,r=0,A=0;r=i[f>>2],e=i[r+184>>2],r=i[r+188>>2],r&&(i[r+4>>2]=i[r+4>>2]+1);i:{if(e){f=V[i[i[e>>2]+8>>2]](e)|0;break i}if(e=i[f>>2],f=i[e+176>>2],e=i[e+180>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),f?f=V[i[i[f>>2]+8>>2]](f)|0:f=0,!e||(A=i[e+4>>2],i[e+4>>2]=A-1,A))break i;V[i[i[e>>2]+8>>2]](e),g(e)}i:{if(!r||(e=i[r+4>>2],i[r+4>>2]=e-1,e))break i;V[i[i[r>>2]+8>>2]](r),g(r)}return f|0}function C6(f,e){var r=0,A=0,k=0;A=B-16|0,B=A,l[A+15|0]=e;i:{r:{r=s[f+11|0],k=r>>>7|0;e:{if(!k){r=r&127,e=10;break e}r=i[f+4>>2],e=(i[f+8>>2]&2147483647)-1|0}if((e|0)==(r|0)){HA(f,e,1,e,e);e:if(s[f+11|0]>>>7|0)break e;break r}e:if(s[f+11|0]>>>7|0)break e;if(k)break r;e=f,l[f+11|0]=s[f+11|0]&128|r+1&127,l[f+11|0]=s[f+11|0]&127;break i}e=i[f>>2],i[f+4>>2]=r+1}f=e+r|0,l[f|0]=s[A+15|0],l[A+14|0]=0,l[f+1|0]=s[A+14|0],B=A+16|0}function JZ(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=69372,e=i[f+68>>2],e&&(i[f+72>>2]=e,G(e)),l[f+67|0]<0&&G(i[f+56>>2]),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function K1(f,e,r,A){var k=0,n=0;i:{if(s[f+11|0]>>>7|0?k=i[f+4>>2]:k=s[f+11|0]&127,!k|(r-e|0)<5)break i;te(e,r),n=r-4|0,s[f+11|0]>>>7|0?k=i[f+4>>2]:k=s[f+11|0]&127,s[f+11|0]>>>7|0&&(f=i[f>>2]),r=f,f=k+f|0;r:{for(;;){e:{if(k=l[r|0],e>>>0>=n>>>0)break e;if(!((k|0)<=0|(k|0)>=127)&(k|0)!=i[e>>2])break r;e=e+4|0,r=((f-r|0)>1)+r|0;continue}break}if((k|0)<=0|(k|0)>=127|l[r|0]>>>0>i[n>>2]-1>>>0)break i}i[A>>2]=4}}function gZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,w2(r,Q[e+48>>1]),w2(r,Q[e+50>>1]),i[r+12>>2]=k,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+k|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function NZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,l2(r,i[e+56>>2]),l2(r,i[e+60>>2]),i[r+12>>2]=k,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+k|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function RZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,l2(r,i[e+48>>2]),l2(r,i[e+52>>2]),i[r+12>>2]=k,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+k|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function DZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;for(n=B-16|0,B=n;;){i:{if((r|0)<=(t|0))break i;if(A=i[f+24>>2],k=i[f+28>>2],A>>>0>=k>>>0){if((V[i[i[f>>2]+52>>2]](f,i[e>>2])|0)==-1)break i;t=t+1|0,e=e+4|0}else i[n+12>>2]=k-A>>2,i[n+8>>2]=r-t,A=B-16|0,B=A,B=A+16|0,A=n+8|0,k=n+12|0,A=i[(i[A>>2]<i[k>>2]?A:k)>>2],ui(e,A,i[f+24>>2]),k=A<<2,i[f+24>>2]=k+i[f+24>>2],t=A+t|0,e=e+k|0;continue}break}return B=n+16|0,t|0}function UZ(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=69372,e=i[f+68>>2],e&&(i[f+72>>2]=e,G(e)),l[f+67|0]<0&&G(i[f+56>>2]),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function N4(f,e){var r=0,A=0,k=0,n=0,t=0;r=i[f+40>>2],k=i[f+36>>2];i:{if((r-k|0)>0)for(;;){n=i[(A<<3)+k>>2];r:{if(!n||(t=i[e>>2],!t))break r;if(V[i[i[n>>2]+24>>2]](n,t)|0)break i;k=i[f+36>>2],r=i[f+40>>2]}if(A=A+1|0,!((A|0)<r-k>>3))break}r:{if(k0[f+44>>2]>r>>>0){i[r>>2]=i[e>>2],e=i[e+4>>2],i[r+4>>2]=e,e&&(i[e+4>>2]=i[e+4>>2]+1),e=r+8|0;break r}e=Q2(f+36|0,e)}i[f+40>>2]=e,A=(e-i[f+36>>2]>>3)-1|0}return A}function U1(f,e,r,A,k,n,t,o,u){var h=0,w=0,_=0,v=0;u=q0(e,r,o,u),o=w0,k=q0(A,k,n,t),u=k+u|0,A=w0+o|0,o=k>>>0>u>>>0?A+1|0:A,h=t,k=0,w=r,A=0,r=q0(t,k,r,A),t=r+u|0,u=w0+o|0,_=t,r=r>>>0>t>>>0?u+1|0:u,t=q0(n,0,e,0),o=w0,u=0,A=q0(n,u,w,A),o=o+A|0,n=w0+u|0,n=A>>>0>o>>>0?n+1|0:n,u=n+_|0,A=r,n=n>>>0>u>>>0?A+1|0:A,e=q0(e,v,h,k)+o|0,k=w0,k=e>>>0<o>>>0?k+1|0:k,o=k+u|0,u=n,i[f+8>>2]=o,i[f+12>>2]=k>>>0>o>>>0?u+1|0:u,i[f>>2]=t,i[f+4>>2]=e}function S7(f,e){var r=0,A=0;if((f|0)==14)return i[e>>2]?16419:15105;if(r=f&65535,A=f>>16,!((r|0)!=65535|(A|0)>5))return f=i[(A<<2)+e>>2],f?f+8|0:15510;f=31341;i:{r:{e:switch(A-1|0){case 0:if(r>>>0>1)break i;f=56612;break r;case 1:if(r>>>0>49)break i;f=56624;break r;case 4:break e;default:break i}if(r>>>0>3)break i;f=56944}if(!r)return f;for(;e=s[f|0],f=f+1|0,!(!e&&(r=r-1|0,!r)););}return f}function MZ(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0;i:{if(k=V[i[i[e>>2]+68>>2]](i[e+4>>2])|0,e=i[k>>2],!e)break i;for(;;){if(v4(i[e+4>>2],r)){if(e=i[k+4>>2],k=k+4|0,e)continue;break i}break}if(i[e+8>>2]!=3){e=i[18429],i[f>>2]=i[18428],i[f+4>>2]=e,i[f+8>>2]=i[18430];return}A&&(i[A>>2]=i[e+16>>2]),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412];return}e=i[18429],i[f>>2]=i[18428],i[f+4>>2]=e,i[f+8>>2]=i[18430]}function xZ(f){f=f|0;var e=0,r=0,A=0;e=i[f>>2],r=i[e+52>>2],e=i[e+56>>2],e&&(i[e+4>>2]=i[e+4>>2]+1);i:{r:{if(r){f=e;break r}f=i[f>>2],r=i[f+44>>2],f=i[f+48>>2],f&&(i[f+4>>2]=i[f+4>>2]+1);e:{if(!e||(A=i[e+4>>2],i[e+4>>2]=A-1,A))break e;V[i[i[e>>2]+8>>2]](e),g(e)}if(r)break r;e=0;break i}e=V[i[i[r>>2]+8>>2]](r)|0}i:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break i;V[i[i[f>>2]+8>>2]](f),g(f)}return e|0}function qA(f,e,r,A){var k=0,n=0,t=0,o=0;i:{r:{if(A){if(A>>>0>=357913942)break r;if(k=m(A,12),A=U(k),i[f+4>>2]=A,i[f>>2]=A,i[f+8>>2]=A+k,(e|0)!=(r|0))for(;;){if(i[A+8>>2]=0,i[A>>2]=0,i[A+4>>2]=0,t=i[e>>2],k=i[e+4>>2],(t|0)!=(k|0)){if(k=k-t|0,(k|0)<0)break i;n=U(k),i[A+4>>2]=n,i[A>>2]=n,o=k+n|0,i[A+8>>2]=o,l0(n,t,k),i[A+4>>2]=o}if(A=A+12|0,e=e+12|0,(r|0)==(e|0))break}i[f+4>>2]=A}return}y0(),P()}y0(),P()}function zZ(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0;n=B-16|0,B=n,e=i[e>>2],u=i[e+48>>2],e=i[e+52>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),t=U(4),i[n+4>>2]=t,o=t+4|0,i[n+12>>2]=o,i[t>>2]=k,i[n+8>>2]=o,P1(u,A,r,n+4|0),r=i[n+4>>2],r&&(i[n+8>>2]=r,G(r));i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412],B=n+16|0}function HZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,A2(r,i[e+48>>2]/90&255),i[r+12>>2]=k,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+k|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function TZ(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0;i:{if(A)for(;;){if(A-k>>>0<=3||(n=k+4|0,k=r+k|0,k=s[k|0]|s[k+1|0]<<8|(s[k+2|0]<<16|s[k+3|0]<<24),k=k<<24|(k&65280)<<8|(k>>>8&65280|k>>>24),A-n>>>0<k>>>0))break i;if(Tk(i[e>>2],r+n|0,k,0,0,0),k=k+n|0,!(k>>>0<A>>>0))break}e=i[19372],i[f>>2]=i[19371],i[f+4>>2]=e,i[f+8>>2]=i[19373];return}e=i[19369],i[f>>2]=i[19368],i[f+4>>2]=e,i[f+8>>2]=i[19370]}function n4(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0,h=0;A=B-16|0,B=A,V1(A+8|0,f);i:{if(!s[A+8|0]||(n=A+4|0,k=i[(i[i[f>>2]-12>>2]+f|0)+28>>2],i[n>>2]=k,(k|0)!=100008&&(i[k+4>>2]=i[k+4>>2]+1),k=x0(n,99872),O0(n),i[A>>2]=i[(i[i[f>>2]-12>>2]+f|0)+24>>2],t=i[i[f>>2]-12>>2]+f|0,o=J6(t),u=A,h=V[i[i[k>>2]+28>>2]](k,i[A>>2],t,o,e,r)|0,i[u+4>>2]=h,i[n>>2]))break i;J4(i[i[f>>2]-12>>2]+f|0,5)}return Z1(A+8|0),B=A+16|0,f}function aZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;for(k=B-16|0,B=k;;){i:{if((r|0)<=(n|0))break i;if(A=i[f+24>>2],t=i[f+28>>2],A>>>0>=t>>>0){if((V[i[i[f>>2]+52>>2]](f,s[e|0])|0)==-1)break i;n=n+1|0,e=e+1|0}else i[k+12>>2]=t-A,i[k+8>>2]=r-n,A=B-16|0,B=A,B=A+16|0,A=k+8|0,t=k+12|0,A=i[(i[A>>2]<i[t>>2]?A:t)>>2],e8(e,A,i[f+24>>2]),i[f+24>>2]=A+i[f+24>>2],n=A+n|0,e=e+A|0;continue}break}return B=k+16|0,n|0}function SZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;if(A=B-32|0,B=A,k=i[r>>2],k>>>0<2147483640){i:{r:{if(k>>>0>=11){t=(k|7)+1|0,n=U(t),i[A+16>>2]=t|-2147483648,i[A+8>>2]=n,i[A+12>>2]=k;break r}if(l[A+19|0]=k,n=A+8|0,!k)break i}l0(n,r+4|0,k)}return l[k+n|0]=0,V[f|0](A+20|0,e,A+8|0),f=U(12),i[f+8>>2]=i[A+28>>2],e=i[A+24>>2],i[f>>2]=i[A+20>>2],i[f+4>>2]=e,l[A+19|0]<0&&G(i[A+8>>2]),B=A+32|0,f|0}c2(),P()}function $A(f){var e=0,r=0,A=0,k=0;r=53,k=i[f+24>>2],e=i[f+28>>2],A=k-e|0,e=(((e-((k+6>>>0)%7|0)|0)+7>>>0)/7|0)+((A+369>>>0)%7>>>0<3)|0;i:{if((e|0)!=53){if(r=e,e)break i;r=52;r:switch(((A+6>>>0)%7|0)-4|0){case 1:if(!Vt((i[f+20>>2]%400|0)-1|0))break i;break;case 0:break r;default:break i}return 53}r:switch(((A+371>>>0)%7|0)-3|0){case 0:if(Vt(i[f+20>>2]))break i;break;case 1:break i;default:break r}r=1}return r}function OZ(f,e,r,A,k,n,t,o){if(f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,i[e+8>>2]!=1){e=i[18429],i[f>>2]=i[18428],i[f+4>>2]=e,i[f+8>>2]=i[18430];return}i:{if(!s[e+16|0]||(k&&(i[k>>2]=i[e+20>>2]),!n))break i;i[n>>2]=i[e+24>>2]}r&&(i[r>>2]=s[e+16|0]),A&&(i[A>>2]=s[e+16|0]),!o|i[e+32>>2]<=0||(i[o>>2]=i[e+28>>2]),t&&(i[t>>2]=i[e+32>>2]),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}function jZ(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;if((r|0)>0)for(o=1<<k-1,_=r&2147483646,v=r&1;;){if(w=m(r,u),n=0,h=0,(r|0)!=1)for(;t=n+w|0,i[(t<<2)+f>>2]=(X[(t<<1)+e>>1]<<A)+o>>k,t=t+1|0,i[(t<<2)+f>>2]=(X[(t<<1)+e>>1]<<A)+o>>k,n=n+2|0,h=h+2|0,(_|0)!=(h|0););if(v&&(n=n+w|0,i[(n<<2)+f>>2]=(X[(n<<1)+e>>1]<<A)+o>>k),u=u+1|0,(u|0)==(r|0))break}}function PZ(f,e){f=f|0,e=e|0;var r=0;if((e|0)<8)return 3;i:{r:{if(s[f+4|0]!=102|s[f+5|0]!=116|(s[f+6|0]!=121|s[f+7|0]!=112))break r;if(e>>>0<12)return 3;r=1,f=p3(f,e);e:{if((f|0)<=1781689192){if((f|0)==1635150182|(f|0)==1751476579)break r;if((f|0)!=1751476600)break e;break r}A:switch(f-1835623985|0){case 0:case 1:break i;default:break A}if((f|0)==1781689193|(f|0)==1785750887)break r}r=2}return r|0}return 3}function L0(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;r=B-16|0,B=r,V1(r+8|0,f);i:{if(!s[r+8|0]||(k=r+4|0,A=i[(i[i[f>>2]-12>>2]+f|0)+28>>2],i[k>>2]=A,(A|0)!=100008&&(i[A+4>>2]=i[A+4>>2]+1),A=x0(k,99872),O0(k),i[r>>2]=i[(i[i[f>>2]-12>>2]+f|0)+24>>2],n=i[i[f>>2]-12>>2]+f|0,t=J6(n),o=r,u=V[i[i[A>>2]+24>>2]](A,i[r>>2],n,t,e)|0,i[o+4>>2]=u,i[k>>2]))break i;J4(i[i[f>>2]-12>>2]+f|0,5)}return Z1(r+8|0),B=r+16|0,f}function re(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;r=B-16|0,B=r,V1(r+8|0,f);i:{if(!s[r+8|0]||(k=r+4|0,A=i[(i[i[f>>2]-12>>2]+f|0)+28>>2],i[k>>2]=A,(A|0)!=100008&&(i[A+4>>2]=i[A+4>>2]+1),A=x0(k,99872),O0(k),i[r>>2]=i[(i[i[f>>2]-12>>2]+f|0)+24>>2],n=i[i[f>>2]-12>>2]+f|0,t=J6(n),o=r,u=V[i[i[A>>2]+12>>2]](A,i[r>>2],n,t,e)|0,i[o+4>>2]=u,i[k>>2]))break i;J4(i[i[f>>2]-12>>2]+f|0,5)}return Z1(r+8|0),B=r+16|0,f}function H0(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;r=B-16|0,B=r,V1(r+8|0,f);i:{if(!s[r+8|0]||(k=r+4|0,A=i[(i[i[f>>2]-12>>2]+f|0)+28>>2],i[k>>2]=A,(A|0)!=100008&&(i[A+4>>2]=i[A+4>>2]+1),A=x0(k,99872),O0(k),i[r>>2]=i[(i[i[f>>2]-12>>2]+f|0)+24>>2],n=i[i[f>>2]-12>>2]+f|0,t=J6(n),o=r,u=V[i[i[A>>2]+16>>2]](A,i[r>>2],n,t,e)|0,i[o+4>>2]=u,i[k>>2]))break i;J4(i[i[f>>2]-12>>2]+f|0,5)}return Z1(r+8|0),B=r+16|0,f}function Q4(f,e){var r=0,A=0,k=0,n=0,t=0,o=0,u=0;r=B-16|0,B=r,V1(r+8|0,f);i:{if(!s[r+8|0]||(k=r+4|0,A=i[(i[i[f>>2]-12>>2]+f|0)+28>>2],i[k>>2]=A,(A|0)!=100008&&(i[A+4>>2]=i[A+4>>2]+1),A=x0(k,99872),O0(k),i[r>>2]=i[(i[i[f>>2]-12>>2]+f|0)+24>>2],n=i[i[f>>2]-12>>2]+f|0,t=J6(n),o=r,u=V[i[i[A>>2]+32>>2]](A,i[r>>2],n,t,e)|0,i[o+4>>2]=u,i[k>>2]))break i;J4(i[i[f>>2]-12>>2]+f|0,5)}return Z1(r+8|0),B=r+16|0,f}function d4(f,e){var r=0,A=0,k=0;if((e|0)<=8){if(!e)return 0;A=i[f+16>>2]<<e,i[f+16>>2]=A,r=Q[f+20>>1]+e|0,X[f+20>>1]=r,r=r<<16>>16;i:{if((r|0)<0||(k=i[f+4>>2],k>>>0>=k0[f+8>>2]))break i;i[f+4>>2]=k+1,k=s[k|0],X[f+20>>1]=r-8,A=k<<r|A}return k=i[f+12>>2]<<7,r=(A>>>0)/(k>>>0)|0,e=1<<e,(r|0)>=(e|0)&&(r=e-1|0),i[f+16>>2]=A-m(r,k),r}for(A=e-8|0,e=_9(f);e=x1(f)|e<<1,A=A-1|0,!!A;);return e}function O7(f,e){var r=0,A=0,k=0,n=0,t=0;k=B-16|0,B=k,t=i[23985],i[e+72>>2]<=0&&z3(e),i[23985]=i[e+136>>2],r=-1,i[e+4>>2]||(g6(e),A=!i[e+4>>2]);i:{if(A|(f|0)==-1||(A=ie(k+12|0,f),(A|0)<0)||(n=i[e+4>>2],n>>>0<(A+i[e+44>>2]|0)-8>>>0))break i;r:{if(f>>>0<=127){r=n-1|0,i[e+4>>2]=r,l[r|0]=f;break r}r=n-A|0,i[e+4>>2]=r,l0(r,k+12|0,A)}i[e>>2]=i[e>>2]&-17,r=f}return i[23985]=t,B=k+16|0,(r|0)!=-1}function LZ(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0,h=0,w=0;if(!(k&1)){if(!((n|0)<=0|(k|0)<=0))for(;;){for(u=m(e,o)+f|0,h=(m(A,o)<<1)+r|0,w=0;t=X[h>>1]+32>>6,t=(t|0)>=255?255:t,l[u|0]=(t|0)>0?t:0,t=X[h+2>>1]+32>>6,t=(t|0)>=255?255:t,l[u+1|0]=(t|0)>0?t:0,h=h+4|0,u=u+2|0,w=w+2|0,(w|0)<(k|0););if(o=o+1|0,(o|0)==(n|0))break}return}C0(17190,13955,40,7924),P()}function KZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,w2(r,Q[e+48>>1]),i[r+12>>2]=k,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+k|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function qZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,A2(r,s[e+48|0]),i[r+12>>2]=k,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+k|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function $Z(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,D4(r,e- -64|0),i[r+12>>2]=k,V[i[i[e>>2]+36>>2]](A+12|0,e,r,i[r+4>>2]-(i[r>>2]+k|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2],l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function V6(f,e,r){var A=Y(0),k=Y(0),n=Y(0),t=Y(0),o=0,u=Y(0);o=B-16|0,B=o,Qn(o+8|0,e,r),A=Z0[o+12>>2],k=Z0[o+8>>2];i:{if(!(A!=Y(0)|k!=Y(0))){k=Y(-.714136004447937),A=Y(-.34413599967956543),n=Y(1.7719999551773071),t=Y(1.4019999504089355);break i}t=Y(Y(1)-k),u=Y(Y(A+k)+Y(-1)),k=Y(Y(Y(k+k)*t)/u),n=Y(Y(1)-A),A=Y(Y(Y(A+A)*n)/u),n=Y(n+n),t=Y(t+t)}Z0[f+16>>2]=n,Z0[f+12>>2]=k,Z0[f+8>>2]=A,Z0[f+4>>2]=t,l[f|0]=1,B=o+16|0}function j7(f){var e=0,r=0,A=0,k=0;e=i[f+28>>2],e&&V[e|0](),e=U(4),i[e>>2]=f,r=U(20),i[r+16>>2]=e,A=i[19573];i:{if(!A){f=78292,e=78292;break i}for(k=i[f+12>>2];;){if(f=A,i[i[i[f+16>>2]>>2]+12>>2]<(k|0)){if(e=f,A=i[f>>2],A)continue;break i}if(A=i[f+4>>2],!A)break}e=f+4|0}i[r+8>>2]=f,i[r>>2]=0,i[r+4>>2]=0,i[e>>2]=r,f=i[i[19572]>>2],f&&(i[19572]=f,r=i[e>>2]),D1(i[19573],r),i[19574]=i[19574]+1}function bZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;k=i[f>>2],A=i[k+72>>2],k=i[k+76>>2];i:{if((A|0)!=(k|0))for(n=i[i[f+8>>2]>>2];;){if(f=i[A>>2],i[f>>2]==(n|0)){if(A=i[A+4>>2],!A){A=0;break i}i[A+4>>2]=i[A+4>>2]+1;break i}if(A=A+8|0,(k|0)==(A|0))break}A=0,f=0}e&&(i[e>>2]=i[f+4>>2]),r&&(i[r>>2]=i[f+8>>2]);i:{if(!A||(f=i[A+4>>2],i[A+4>>2]=f-1,f))break i;V[i[i[A>>2]+8>>2]](A),g(A)}}function bA(){var f=0,e=0,r=0;f=i[19359],f&&V[f|0](),f=i[19570];i:{r:{if(!f){e=78280,r=78280;break r}for(;;){if(r=f,e=i[f+16>>2],e>>>0>77428){if(e=f,f=i[f>>2],f)continue;break r}if(e>>>0>=77428)break i;if(f=i[r+4>>2],!f)break}e=r+4|0}f=U(20),i[f+8>>2]=r,i[f>>2]=0,i[f+4>>2]=0,i[f+16>>2]=77428,i[e>>2]=f,r=i[i[19569]>>2],r&&(i[19569]=r,f=i[e>>2]),D1(i[19570],f),i[19571]=i[19571]+1}j7(77496)}function I6(f){f=f|0;var e=0,r=0,A=0;i[f>>2]=53616,r=B-16|0,B=r,e=i[f+64>>2],e&&(i[r+4>>2]=980,e=o1(r+8|0,e,r+4|0),V[i[i[f>>2]+24>>2]](f)|0,A=i[e>>2],i[e>>2]=0,B3(A),i[f+64>>2]=0,V[i[i[f>>2]+12>>2]](f,0,0)|0,A=i[e>>2],i[e>>2]=0,A&&V[i[e+4>>2]](A)|0),B=r+16|0;i:{if(s[f+96|0]!=1||(e=i[f+32>>2],!e))break i;G(e)}i:{if(s[f+97|0]!=1||(e=i[f+56>>2],!e))break i;G(e)}return K0(f)|0}function oi(f,e,r){var A=0,k=0;i:{A=i[e+56>>2],e=i[e+60>>2];r:{if((A|0)!=(e|0))for(;;){if(!(i[A+40>>2]!=(r|0)|i[A+16>>2]!=1684630887)){if(i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,e=i[A+48>>2],r=i[A+44>>2],(e|0)==(r|0))break r;if(e=e-r|0,(e|0)<0)break i;A=U(e),i[f>>2]=A,k=e+A|0,i[f+8>>2]=k,l0(A,r,e),i[f+4>>2]=k;return}if(A=A+56|0,(e|0)==(A|0))break}i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0}return}y0(),P()}function dA(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;A=B-32|0,B=A;i:{r:{if(k=i[19586],!k)break r;for(n=78344;t=k0[k+16>>2]<r>>>0,n=t?n:k,k=i[(t<<2)+k>>2],!!k;);if((n|0)==78344|k0[n+16>>2]>r>>>0)break r;i[e+12>>2]=r,P0(f,78256,0);break i}if(i[e+12>>2]=2,l[A|0]=0,l[A+11|0]=0,e=f,f=r0(A+12|0,2,135,A),P0(e,f,0),l[f+19|0]<0&&G(i[f+8>>2]),l[A+11|0]>=0)break i;G(i[A>>2])}B=A+32|0}function dZ(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0;n=B-16|0,B=n,o=i[f>>2],t=i[o+112>>2],k=(i[o+116>>2]-t|0)/20|0;i:{if(!A||(A=(e|0)>=(k|0),k=0,A))break i;for(;A=i[f>>2],P0(n+4|0,m(e+k|0,20)+t|0,A?A+8|0:0),A=m(k,12)+r|0,i[A+8>>2]=i[n+12>>2],t=i[n+8>>2],i[A>>2]=i[n+4>>2],i[A+4>>2]=t,k=k+1|0,t=i[o+112>>2],(k+e|0)<((i[o+116>>2]-t|0)/20|0););}return B=n+16|0,k|0}function cZ(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-32|0,B=A,c7(A,e,r),l[A+19|0]<0&&G(i[A+8>>2]),k=e,n=B2(r),l[k+56|0]=n;i:{if(s[r+20|0]==1){if(l[A+20|0]=0,l[A+31|0]=0,r0(f,2,100,A+20|0),l[A+31|0]>=0)break i;G(i[A+20>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function Q6(f,e){var r=0,A=0,k=0,n=0,t=0;i:{if((e|0)<=0)break i;for(t=i[f+12>>2]<<7,A=Q[f+20>>1],r=i[f+16>>2];;){A=A+1|0,X[f+20>>1]=A,r=r<<1,i[f+16>>2]=r,A=A<<16>>16;r:{if((A|0)<0||(A=65528,X[f+20>>1]=65528,n=i[f+4>>2],n>>>0>=k0[f+8>>2]))break r;i[f+4>>2]=n+1,r=s[n|0]|r,i[f+16>>2]=r}if(r>>>0<t>>>0)break i;if(r=r-t|0,i[f+16>>2]=r,k=k+1|0,(k|0)==(e|0))break}k=e}return(e|0)>(k|0)?k:e}function cA(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;A=B-32|0,B=A;i:{r:{if(k=i[19580],!k)break r;for(n=78320;t=k0[k+16>>2]<r>>>0,n=t?n:k,k=i[(t<<2)+k>>2],!!k;);if((n|0)==78320|k0[n+16>>2]>r>>>0)break r;i[e+4>>2]=r,P0(f,78256,0);break i}if(i[e+4>>2]=2,l[A|0]=0,l[A+11|0]=0,e=f,f=r0(A+12|0,2,133,A),P0(e,f,0),l[f+19|0]<0&&G(i[f+8>>2]),l[A+11|0]>=0)break i;G(i[A>>2])}B=A+32|0}function R4(f,e){var r=0,A=0,k=0,n=0,t=0;if(A=i[e+4>>2],r=l[e+11|0],t=(i[f+12>>2]+((r|0)<0?A:r)|0)+1|0,k=i[f+4>>2]-i[f>>2]|0,t>>>0>k>>>0&&(L2(f,t-k|0),A=i[e+4>>2],r=s[e+11|0]),k=r,r=r<<24>>24<0,r?A:k)for(;r=s[(r?i[e>>2]:e)+n|0],A=i[f+12>>2],i[f+12>>2]=A+1,l[A+i[f>>2]|0]=r,A=l[e+11|0],r=A>>>31|0,n=n+1|0,n>>>0<((A|0)<0?i[e+4>>2]:A)>>>0;);e=i[f+12>>2],i[f+12>>2]=e+1,l[e+i[f>>2]|0]=0}function i3(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;A=B-32|0,B=A;i:{r:{if(k=i[19583],!k)break r;for(n=78332;t=k0[k+16>>2]<r>>>0,n=t?n:k,k=i[(t<<2)+k>>2],!!k;);if((n|0)==78332|k0[n+16>>2]>r>>>0)break r;i[e+8>>2]=r,P0(f,78256,0);break i}if(i[e+8>>2]=2,l[A|0]=0,l[A+11|0]=0,e=f,f=r0(A+12|0,2,134,A),P0(e,f,0),l[f+19|0]<0&&G(i[f+8>>2]),l[A+11|0]>=0)break i;G(i[A>>2])}B=A+32|0}function ip(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;return f=B-256|0,B=f,i[f+248>>2]=37,i[f+252>>2]=0,t=f+248|0,H8(t|1,7540,1,i[r+4>>2]),o=M2(),i[f>>2]=k,i[f+4>>2]=n,k=f+224|0,t=b1(k,24,o,t,f)+k|0,u=X4(k,t,r),o=f+20|0,n=i[r+28>>2],i[o>>2]=n,(n|0)!=100008&&(i[n+4>>2]=i[n+4>>2]+1),n=k,k=f+32|0,Mr(n,u,t,k,f+28|0,f+24|0,o),O0(o),e=X8(e,k,i[f+28>>2],i[f+24>>2],r,A),B=f+256|0,e|0}function rp(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;return f=B-256|0,B=f,i[f+248>>2]=37,i[f+252>>2]=0,t=f+248|0,H8(t|1,7540,0,i[r+4>>2]),o=M2(),i[f>>2]=k,i[f+4>>2]=n,k=f+224|0,t=b1(k,24,o,t,f)+k|0,u=X4(k,t,r),o=f+20|0,n=i[r+28>>2],i[o>>2]=n,(n|0)!=100008&&(i[n+4>>2]=i[n+4>>2]+1),n=k,k=f+32|0,Mr(n,u,t,k,f+28|0,f+24|0,o),O0(o),e=X8(e,k,i[f+28>>2],i[f+24>>2],r,A),B=f+256|0,e|0}function ep(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;return f=B-112|0,B=f,i[f+104>>2]=37,i[f+108>>2]=0,t=f+104|0,H8(t|1,7540,1,i[r+4>>2]),o=M2(),i[f>>2]=k,i[f+4>>2]=n,k=f+80|0,t=b1(k,24,o,t,f)+k|0,u=X4(k,t,r),o=f+20|0,n=i[r+28>>2],i[o>>2]=n,(n|0)!=100008&&(i[n+4>>2]=i[n+4>>2]+1),n=k,k=f+32|0,xr(n,u,t,k,f+28|0,f+24|0,o),O0(o),e=G8(e,k,i[f+28>>2],i[f+24>>2],r,A),B=f+112|0,e|0}function Ap(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;return f=B-112|0,B=f,i[f+104>>2]=37,i[f+108>>2]=0,t=f+104|0,H8(t|1,7540,0,i[r+4>>2]),o=M2(),i[f>>2]=k,i[f+4>>2]=n,k=f+80|0,t=b1(k,24,o,t,f)+k|0,u=X4(k,t,r),o=f+20|0,n=i[r+28>>2],i[o>>2]=n,(n|0)!=100008&&(i[n+4>>2]=i[n+4>>2]+1),n=k,k=f+32|0,xr(n,u,t,k,f+28|0,f+24|0,o),O0(o),e=G8(e,k,i[f+28>>2],i[f+24>>2],r,A),B=f+112|0,e|0}function _0(f,e,r){var A=0,k=0,n=0,t=0;k=B-16|0,B=k;i:{r:{if(r>>>0<11){A=f,l[f+11|0]=s[f+11|0]&128|r&127,l[f+11|0]=s[f+11|0]&127;break r}if(r>>>0>2147483639)break i;t=k+8|0,r>>>0>=11?(n=r+8&-8,A=n-1|0,A=(A|0)==11?n:A):A=10,Mi(t,A+1|0),A=i[k+8>>2],i[f>>2]=A,i[f+8>>2]=i[f+8>>2]&-2147483648|i[k+12>>2]&2147483647,i[f+8>>2]=i[f+8>>2]|-2147483648,i[f+4>>2]=r}e8(e,r+1|0,A),B=k+16|0;return}o4(),P()}function P7(f,e,r,A){var k=0,n=0;i:{if(A>>>0>=3){i[23944]=28;break i}r:{if((A|0)!=1||(k=i[f+8>>2],!k))break r;n=e,k=k-i[f+4>>2]|0,e=e-k|0,r=r-((k>>31)+(k>>>0>n>>>0)|0)|0}if(i[f+20>>2]!=i[f+28>>2]&&(V[i[f+36>>2]](f,0,0)|0,!i[f+20>>2])||(i[f+28>>2]=0,i[f+16>>2]=0,i[f+20>>2]=0,V[i[f+40>>2]](f,e,r,A)|0,(w0|0)<0))break i;return i[f+4>>2]=0,i[f+8>>2]=0,i[f>>2]=i[f>>2]&-17,0}return-1}function L7(f,e){var r=0,A=0,k=0;i:{if((f|0)!=(e|0)){r=i[e+4>>2];r:{if(!r){r=0;break r}if(i[f+8>>2]<<5>>>0<r>>>0){if(A=i[f>>2],A&&(G(A),i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,r=i[e+4>>2]),(r|0)<0)break i;r=(r-1>>>5|0)+1|0,A=U(r<<2),i[f+8>>2]=r,i[f+4>>2]=0,i[f>>2]=A,r=i[e+4>>2]}if(A=i[e>>2],k=(A+(r-1>>>3&536870908)|0)+4|0,(k|0)==(A|0))break r;F2(i[f>>2],A,k-A|0),r=i[e+4>>2]}i[f+4>>2]=r}return}y0(),P()}function fp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=69672,e=i[f+56>>2],e&&(i[f+60>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function kp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=70104,e=i[f+64>>2],e&&(i[f+68>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function np(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=70224,e=i[f+60>>2],e&&(i[f+64>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function tp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=74368,e=i[f+60>>2],e&&(i[f+64>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function op(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=74548,e=i[f+48>>2],e&&(i[f+52>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function lp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=74608,e=i[f+48>>2],e&&(i[f+52>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function up(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=74668,e=i[f+48>>2],e&&(i[f+52>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function sp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=74788,e=i[f+56>>2],e&&(i[f+60>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function hp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=68664,e=i[f+48>>2],e&&(i[f+52>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function wp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=68724,e=i[f+56>>2],e&&(i[f+60>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function K7(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0;l[f+44|0]=1,l[f|0]=1,pn(f,e);i:{if((r|0)<2)break i;for(k=r-1|0,t=f+52|0;n=m(A,52)+t|0,o=n,u=u0(e,1),l[o|0]=u,o=n,u=u0(e,1),l[o+44|0]=u,A=A+1|0,(k|0)!=(A|0););if(r-2>>>0<7)for(A=k;ni(e,2),A=A+1|0,(A|0)!=8;);if((r|0)<2)break i;for(f=f+52|0,A=0;pn(f+m(A,52)|0,e),A=A+1|0,(k|0)!=(A|0););}}function _p(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=69672,e=i[f+56>>2],e&&(i[f+60>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function vp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=70104,e=i[f+64>>2],e&&(i[f+68>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function mp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=74368,e=i[f+60>>2],e&&(i[f+64>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function Bp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=74548,e=i[f+48>>2],e&&(i[f+52>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function q7(f){var e=0,r=0,A=0;e=i[f+8>>2],e&&V[e|0](),e=i[19570];i:{r:{if(!e){r=78280,A=78280;break r}for(;;){if(A=e,r=i[e+16>>2],r>>>0>f>>>0){if(r=e,e=i[e>>2],e)continue;break r}if(f>>>0<=r>>>0)break i;if(e=i[A+4>>2],!e)break}r=A+4|0}e=U(20),i[e+8>>2]=A,i[e>>2]=0,i[e+4>>2]=0,i[e+16>>2]=f,i[r>>2]=e,f=i[i[19569]>>2],f&&(i[19569]=f,e=i[r>>2]),D1(i[19570],e),i[19571]=i[19571]+1}}function Zp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=74608,e=i[f+48>>2],e&&(i[f+52>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function pp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=74668,e=i[f+48>>2],e&&(i[f+52>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function Wp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=74788,e=i[f+56>>2],e&&(i[f+60>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function ee(f,e,r){var A=0,k=0,n=0;A=i[r+16>>2];i:{if(!A){if(G3(r))break i;A=i[r+16>>2]}if(k=i[r+20>>2],A-k>>>0<e>>>0)return V[i[r+36>>2]](r,f,e)|0;r:{e:{if(!e|i[r+80>>2]<0)break e;for(A=e;;){if(n=f+A|0,s[n-1|0]!=10){if(A=A-1|0,A)continue;break e}break}if(k=V[i[r+36>>2]](r,f,A)|0,k>>>0<A>>>0)break i;e=e-A|0,k=i[r+20>>2];break r}n=f,A=0}l0(k,n,e),i[r+20>>2]=i[r+20>>2]+e,k=e+A|0}return k}function $7(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=70224,e=i[f+60>>2],e&&(i[f+64>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function Xp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=68664,e=i[f+48>>2],e&&(i[f+52>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function Gp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=68724,e=i[f+56>>2],e&&(i[f+60>>2]=e,G(e)),i[f>>2]=68616,e=i[f+36>>2],e){if(r=e,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){r=i[A-4>>2];i:{if(!r||(k=i[r+4>>2],i[r+4>>2]=k-1,k))break i;V[i[i[r>>2]+8>>2]](r),g(r)}if(A=A-8|0,(e|0)==(A|0))break}r=i[f+36>>2]}i[f+40>>2]=e,G(r)}i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function Cp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=70524,l[f+67|0]<0&&G(i[f+56>>2]),i[f>>2]=68616,r=i[f+36>>2],r){if(e=r,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){e=i[A-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(A=A-8|0,(r|0)==(A|0))break}e=i[f+36>>2]}i[f+40>>2]=r,G(e)}return i[f>>2]=68500,r=i[f+20>>2],r&&(i[f+24>>2]=r,G(r)),f|0}function Vp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=68844,l[f+87|0]<0&&G(i[f+76>>2]),i[f>>2]=68616,r=i[f+36>>2],r){if(e=r,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){e=i[A-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(A=A-8|0,(r|0)==(A|0))break}e=i[f+36>>2]}i[f+40>>2]=r,G(e)}return i[f>>2]=68500,r=i[f+20>>2],r&&(i[f+24>>2]=r,G(r)),f|0}function b7(f,e,r,A){var k=0,n=0,t=0;k=B-16|0,B=k,t=i[e+48>>2],A=i[i[A>>2]+20>>2],r=i[i[r>>2]+20>>2],e=U(4),i[k+4>>2]=e,n=e+4|0,i[k+12>>2]=n,i[e>>2]=r,i[k+8>>2]=n,P1(t,A,1953000802,k+4|0),e=i[k+4>>2],e&&(i[k+8>>2]=e,G(e)),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=k+16|0}function Ip(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;for(var n=0,t=0,o=0,u=0,h=0,w=0;;){i:{if((r|0)==(A|0)|k>>>0<=u>>>0)break i;o=1,n=B-16|0,B=n,i[n+12>>2]=i[f+8>>2],t=S4(n+8|0,n+12|0),h=B6(0,r,A-r|0,e||99836),t=i[t>>2],t&&(i[23985]=(t|0)==-1?95820:t),B=n+16|0;r:switch(h+2|0){default:o=h;break;case 0:case 1:break i;case 2:break r}u=u+1|0,w=o+w|0,r=r+o|0;continue}break}return w|0}function Qp(f,e){f=f|0,e=e|0;var r=0,A=0;r=i[f+24>>2],r>>>0>k0[f+44>>2]&&(i[f+44>>2]=r);i:{if(r=i[f+8>>2],A=i[f+12>>2],r>>>0>=A>>>0)break i;if((e|0)==-1)return i[f+16>>2]=i[f+44>>2],i[f+12>>2]=A-1,i[f+8>>2]=r,((e|0)!=-1?e:0)|0;if(A=i[f+12>>2]-1|0,!(s[f+48|0]&16)&s[A|0]!=(e&255))break i;return r=i[f+8>>2],i[f+16>>2]=i[f+44>>2],i[f+12>>2]=A,i[f+8>>2]=r,l[i[f+12>>2]]=e<<24>>24,e|0}return-1}function yp(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0,u=0,h=0;if((r|0)>0)for(u=r&2147483646,h=r&1;;){if(A=0,k=0,o=0,(r|0)!=1)for(;t=m(r,A)+n|0,k=X[(t<<1)+e>>1]+k|0,i[(t<<2)+f>>2]=k,t=m(A|1,r)+n|0,k=k+X[(t<<1)+e>>1]|0,i[(t<<2)+f>>2]=k,A=A+2|0,o=o+2|0,(u|0)!=(o|0););if(h&&(A=m(r,A)+n|0,i[(A<<2)+f>>2]=X[(A<<1)+e>>1]+k),n=n+1|0,(n|0)==(r|0))break}}function Fp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=70524,l[f+67|0]<0&&G(i[f+56>>2]),i[f>>2]=68616,r=i[f+36>>2],r){if(e=r,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){e=i[A-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(A=A-8|0,(r|0)==(A|0))break}e=i[f+36>>2]}i[f+40>>2]=r,G(e)}i[f>>2]=68500,r=i[f+20>>2],r&&(i[f+24>>2]=r,G(r)),G(f)}function Ep(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-16|0,B=A,k=e,n=D0(r),i[k+48>>2]=n,k=e,n=D0(r),i[k+52>>2]=n;i:{if(s[r+20|0]==1){if(l[A+4|0]=0,l[A+15|0]=0,r0(f,2,100,A+4|0),l[A+15|0]>=0)break i;G(i[A+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+16|0}function Yp(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-16|0,B=A,k=e,n=t2(r),X[k+48>>1]=n,k=e,n=t2(r),X[k+50>>1]=n;i:{if(s[r+20|0]==1){if(l[A+4|0]=0,l[A+15|0]=0,r0(f,2,100,A+4|0),l[A+15|0]>=0)break i;G(i[A+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+16|0}function Jp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=68844,l[f+87|0]<0&&G(i[f+76>>2]),i[f>>2]=68616,r=i[f+36>>2],r){if(e=r,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){e=i[A-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(A=A-8|0,(r|0)==(A|0))break}e=i[f+36>>2]}i[f+40>>2]=r,G(e)}i[f>>2]=68500,r=i[f+20>>2],r&&(i[f+24>>2]=r,G(r)),G(f)}function d7(f,e,r,A){var k=0,n=0,t=0;k=B-16|0,B=k;i:{r:{if((f|0)!=(e|0)){t=i[23944],i[23944]=0,M2(),f=Xi(f,k+12|0,A,0,-2147483648),A=w0,n=i[23944];e:{if(n){if(i[k+12>>2]!=(e|0))break e;if((n|0)==68)break r;break i}if(i[23944]=t,i[k+12>>2]==(e|0))break i}}i[r>>2]=4,f=0,A=0;break i}if(i[r>>2]=4,!!f&(A|0)>=0|(A|0)>0){f=-1,A=2147483647;break i}f=0,A=-2147483648}return B=k+16|0,w0=A,f}function c7(f,e,r){var A=0,k=0;A=B-16|0,B=A,k=D0(r),i[e+52>>2]=k&16777215,l[e+48|0]=k>>>24,i[e+32>>2]=i[e+32>>2]+4;i:{if(s[r+20|0]==1){if(l[A+4|0]=0,l[A+15|0]=0,r0(f,2,100,A+4|0),l[A+15|0]>=0)break i;G(i[A+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+16|0}function i9(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0;k=B-16|0,B=k,n=i[f+4>>2],A=i[r>>2]-i[f>>2]|0;i:{if(A>>>0<2147483647){A=A<<1;break i}A=-1}if(t=A>>>0<=1?1:A,o=i[e>>2],u=i[f>>2],A=Er((n|0)!=1095?i[f>>2]:0,t),A){(n|0)!=1095&&(i[f>>2]=0),i[k+4>>2]=1094,A=o1(k+8|0,A,k+4|0),yt(f,A),n=i[A>>2],i[A>>2]=0,n&&V[i[A+4>>2]](n),i[e>>2]=i[f>>2]+(o-u|0),i[r>>2]=t+i[f>>2],B=k+16|0;return}u1(),P()}function r3(f,e){var r=0,A=0,k=0,n=0;i:{if((e|0)==10){if(A=255,f=i[f+36>>2]-10|0,f>>>0>=6)break i;e=f<<3,f=e&31,(e&63)>>>0>=32?A=16432>>>f|0:A=((1<<f)-1&16432)<<32-f|1076895768>>>f;break i}if(r=i[f+64>>2],!r)break i;for(k=f- -64|0,f=k;n=i[r+16>>2]<(e|0),f=n?f:r,r=i[(n<<2)+r>>2],!!r;);if((f|0)==(k|0)|i[f+16>>2]>(e|0))break i;A=s[f+20|0]+7&-8}return A&255}function T4(f,e){var r=0,A=0,k=0;if(r=i[f+16>>2],r>>>0<e>>>0){if(r){if(e=i[f+8>>2],e){for(;i[e+16>>2]=i[e+16>>2]-r,e=i[e+8>>2],!!e;);r=i[f+16>>2]}A=i[f>>2],e=V[i[i[A>>2]+8>>2]](A)|0,k=w0,e=e+r|0,k=e>>>0<r>>>0?k+1|0:k,V[i[i[A>>2]+20>>2]](A,e,k)|0,i[f+16>>2]=0}return l[f+20|0]=1,0}A=i[f+8>>2];i:{if(A){if(r=0,!T4(A,e))break i;r=i[f+16>>2]}i[f+16>>2]=r-e,r=1}return r}function r9(f,e,r){var A=0,k=0,n=Y(0),t=0;k=B-16|0,B=k;i:{r:{e:{if((f|0)!=(e|0)){t=i[23944],i[23944]=0,M2(),A=B-16|0,B=A,h3(A,f,k+12|0,0),n=gn(i[A>>2],i[A+4>>2],i[A+8>>2],i[A+12>>2]),B=A+16|0;A:{if(f=i[23944],f){if(i[k+12>>2]==(e|0))break A;break e}if(i[23944]=t,i[k+12>>2]!=(e|0))break e;break i}if((f|0)!=68)break i;break r}i[r>>2]=4;break i}n=Y(0)}i[r>>2]=4}return B=k+16|0,n}function Ei(f,e,r){var A=0,k=0,n=0,t=0,o=0,u=0;k=B-16|0,B=k,n=i[f+4>>2],A=i[r>>2]-i[f>>2]|0;i:{if(A>>>0<2147483647){A=A<<1;break i}A=-1}if(t=A||4,o=i[e>>2],u=i[f>>2],A=Er((n|0)!=1095?i[f>>2]:0,t),A){(n|0)!=1095&&(i[f>>2]=0),i[k+4>>2]=1094,A=o1(k+8|0,A,k+4|0),yt(f,A),n=i[A>>2],i[A>>2]=0,n&&V[i[A+4>>2]](n),i[e>>2]=i[f>>2]+(o-u|0),i[r>>2]=i[f>>2]+(t&-4),B=k+16|0;return}u1(),P()}function gp(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0;return f=B-144|0,B=f,i[f+136>>2]=37,i[f+140>>2]=0,n=f+136|0,H8(n|1,7810,1,i[r+4>>2]),t=M2(),i[f>>2]=k,k=f+123|0,t=b1(k,13,t,n,f)+k|0,u=X4(k,t,r),o=f+4|0,n=i[r+28>>2],i[o>>2]=n,(n|0)!=100008&&(i[n+4>>2]=i[n+4>>2]+1),n=k,k=f+16|0,Mr(n,u,t,k,f+12|0,f+8|0,o),O0(o),e=X8(e,k,i[f+12>>2],i[f+8>>2],r,A),B=f+144|0,e|0}function Np(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0;return f=B-144|0,B=f,i[f+136>>2]=37,i[f+140>>2]=0,n=f+136|0,H8(n|1,7810,0,i[r+4>>2]),t=M2(),i[f>>2]=k,k=f+123|0,t=b1(k,13,t,n,f)+k|0,u=X4(k,t,r),o=f+4|0,n=i[r+28>>2],i[o>>2]=n,(n|0)!=100008&&(i[n+4>>2]=i[n+4>>2]+1),n=k,k=f+16|0,Mr(n,u,t,k,f+12|0,f+8|0,o),O0(o),e=X8(e,k,i[f+12>>2],i[f+8>>2],r,A),B=f+144|0,e|0}function e9(f,e,r){var A=0,k=0,n=0;i:{if(s[f+46|0]){if(n=1,k=i[f+48>>2],(k|0)<=0)break i;if(i[f+8360>>2]!=(e|0)){for(n=f+8360|0;;){if(A=A+1|0,(k|0)==(A|0))break i;if(i[n+(A<<2)>>2]==(e|0))break}n=(A|0)<(k|0)}if(A=0,e=i[f+52>>2],(e|0)>0)for(k=f+8404|0;f=i[k+(A<<2)>>2]==(r|0),!f&&(A=A+1|0,(e|0)!=(A|0)););else f=0;return f&n}return!(e|r)}return 0}function Rp(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0;return f=B+-64|0,B=f,i[f+56>>2]=37,i[f+60>>2]=0,n=f+56|0,H8(n|1,7810,1,i[r+4>>2]),t=M2(),i[f>>2]=k,k=f+43|0,t=b1(k,13,t,n,f)+k|0,u=X4(k,t,r),o=f+4|0,n=i[r+28>>2],i[o>>2]=n,(n|0)!=100008&&(i[n+4>>2]=i[n+4>>2]+1),n=k,k=f+16|0,xr(n,u,t,k,f+12|0,f+8|0,o),O0(o),e=G8(e,k,i[f+12>>2],i[f+8>>2],r,A),B=f- -64|0,e|0}function Dp(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0;return f=B+-64|0,B=f,i[f+56>>2]=37,i[f+60>>2]=0,n=f+56|0,H8(n|1,7810,0,i[r+4>>2]),t=M2(),i[f>>2]=k,k=f+43|0,t=b1(k,13,t,n,f)+k|0,u=X4(k,t,r),o=f+4|0,n=i[r+28>>2],i[o>>2]=n,(n|0)!=100008&&(i[n+4>>2]=i[n+4>>2]+1),n=k,k=f+16|0,xr(n,u,t,k,f+12|0,f+8|0,o),O0(o),e=G8(e,k,i[f+12>>2],i[f+8>>2],r,A),B=f- -64|0,e|0}function D0(f){var e=0,r=0,A=0;r=B-16|0,B=r;i:{if(!T4(f,4))break i;A=i[f>>2],e=i[f+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1);r:{if(!(V[i[i[A>>2]+16>>2]](A,r+12|0,4)|0)){vi(f),A=0;break r}f=s[r+12|0]|s[r+13|0]<<8|(s[r+14|0]<<16|s[r+15|0]<<24),A=f<<24|(f&65280)<<8|(f>>>8&65280|f>>>24)}if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}return B=r+16|0,A}function A9(f,e,r){var A=0,k=0,n=0,t=0;k=B-16|0,B=k;i:{r:{e:{if((f|0)!=(e|0)){t=i[23944],i[23944]=0,M2(),A=B-16|0,B=A,h3(A,f,k+12|0,1),n=YA(i[A>>2],i[A+4>>2],i[A+8>>2],i[A+12>>2]),B=A+16|0;A:{if(f=i[23944],f){if(i[k+12>>2]==(e|0))break A;break e}if(i[23944]=t,i[k+12>>2]!=(e|0))break e;break i}if((f|0)!=68)break i;break r}i[r>>2]=4;break i}n=0}i[r>>2]=4}return B=k+16|0,n}function Up(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0;return f=B-208|0,B=f,n=M2(),i[f>>2]=k,t=f+176|0,u=b1(t,20,n,6131,f),o=t+u|0,h=X4(t,o,r),k=f+16|0,n=i[r+28>>2],i[k>>2]=n,(n|0)!=100008&&(i[n+4>>2]=i[n+4>>2]+1),n=x0(k,100184),O0(k),V[i[i[n>>2]+48>>2]](n,t,o,k)|0,n=e,e=k+(u<<2)|0,e=X8(n,k,(o|0)==(h|0)?e:((h-f<<2)+f|0)-688|0,e,r,A),B=f+208|0,e|0}function Mp(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0;n=B-16|0,B=n;i:{if(A&&(f=0,(k|0)<=0))break i;Or(n+4|0,e,r),t=i[n+8>>2],r=i[n+4>>2],e=t-r>>2;r:{e:{if(!A){f=e;break e}if(f=0,(r|0)==(t|0)|(k|0)<=0)break e;for(;;){if(t=f<<2,i[t+A>>2]=i[r+t>>2],f=f+1|0,(k|0)<=(f|0))break r;if(!(f>>>0<e>>>0))break}break r}if(!r)break i}G(r)}return B=n+16|0,f|0}function xp(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=hr()|0;i:{if(!e){i[f+4>>2]=k,i[f>>2]=95844;break i}gA(A+8|0,e,r,A+20|0);r:{if(i[A+8>>2]){e=U(12),i[e+8>>2]=i[A+16>>2],r=i[A+12>>2],i[e>>2]=i[A+8>>2],i[e+4>>2]=r,i[A+24>>2]=e,e=j1(73788,A+24|0)|0;break r}i[A+24>>2]=i[A+20>>2],e=j1(73856,A+24|0)|0}if(i[f+4>>2]=e,i[f>>2]=95844,k>>>0<9)break i;t1(k|0)}B=A+32|0}function e3(f){var e=0,r=0,A=0;A=B-16|0,B=A,U2(+f),r=j0(1)|0,j0(0)|0,r=r&2147483647;i:{if(r>>>0<=1072243195){if(e=1,r>>>0<1044816030)break i;e=R6(f,0);break i}if(e=f-f,r>>>0>=2146435072)break i;r=Ck(f,A),f=i0[A+8>>3],e=i0[A>>3];r:switch((r&3)-1|0){default:e=R6(e,f);break i;case 0:e=-F6(e,f,1);break i;case 1:e=-R6(e,f);break i;case 2:break r}e=F6(e,f,1)}return B=A+16|0,e}function zp(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-16|0,B=A,k=e,n=m(B2(r)&3,90),i[k+48>>2]=n;i:{if(s[r+20|0]==1){if(l[A+4|0]=0,l[A+15|0]=0,r0(f,2,100,A+4|0),l[A+15|0]>=0)break i;G(i[A+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+16|0}function A3(f){var e=0,r=0,A=0;r=B-16|0,B=r,U2(+f),e=j0(1)|0,j0(0)|0,e=e&2147483647;i:{if(e>>>0<=1072243195){if(e>>>0<1045430272)break i;f=F6(f,0,0);break i}if(e>>>0>=2146435072){f=f-f;break i}e=Ck(f,r),f=i0[r+8>>3],A=i0[r>>3];r:switch((e&3)-1|0){default:f=F6(A,f,1);break i;case 0:f=R6(A,f);break i;case 1:f=-F6(A,f,1);break i;case 2:break r}f=-R6(A,f)}return B=r+16|0,f}function f9(f,e,r,A,k){var n=0,t=0;n=B-32|0,B=n,t=f+4|0,i[t>>2]=0,i[t+4>>2]=0,i[t+16>>2]=0,i[t+8>>2]=0,i[t+12>>2]=0,t=n+24|0,D8(t,e,r),r=i[n+24>>2],l[r+124|0]=1,i[r+52>>2]=i[r+52>>2]&-2|1,i[f>>2]=i[r+56>>2],MA(n+4|0,e,t,A,k,0),l[n+23|0]<0&&G(i[n+12>>2]),f=i[n+28>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}B=n+32|0}function Hp(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;r=B-32|0,B=r,A=hr()|0;i:{if(!e){i[f+4>>2]=A,i[f>>2]=95844;break i}Sn(r+8|0,e,r+20|0);r:{if(i[r+8>>2]){e=U(12),i[e+8>>2]=i[r+16>>2],k=i[r+12>>2],i[e>>2]=i[r+8>>2],i[e+4>>2]=k,i[r+24>>2]=e,e=j1(73788,r+24|0)|0;break r}i[r+24>>2]=i[r+20>>2],e=j1(73856,r+24|0)|0}if(i[f+4>>2]=e,i[f>>2]=95844,A>>>0<9)break i;t1(A|0)}B=r+32|0}function k9(f,e,r){var A=0,k=0,n=0,t=0;return k=B-16|0,B=k,A=B-32|0,B=A,ft(A+24|0,f,e),At(A+16|0,i[A+24>>2],i[A+28>>2],r),t=i[A+16>>2],e=B-16|0,B=e,i[e+12>>2]=f,f=B-16|0,B=f,n=e+12|0,i[f+12>>2]=i[n>>2],B=f+16|0,f=J3(n,t-i[f+12>>2]>>2),B=e+16|0,i[A+12>>2]=f,i[A+8>>2]=(i[A+20>>2]-r|0)+r,i[k+8>>2]=i[A+12>>2],i[k+12>>2]=i[A+8>>2],B=A+32|0,B=k+16|0,i[k+12>>2]}function Tp(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0,u=0,h=0;return f=B-96|0,B=f,n=M2(),i[f>>2]=k,t=f- -64|0,u=b1(t,20,n,6131,f),o=t+u|0,h=X4(t,o,r),k=f+16|0,n=i[r+28>>2],i[k>>2]=n,(n|0)!=100008&&(i[n+4>>2]=i[n+4>>2]+1),n=x0(k,100192),O0(k),V[i[i[n>>2]+32>>2]](n,t,o,k)|0,n=e,e=k+u|0,e=G8(n,k,(o|0)==(h|0)?e:((h-f|0)+f|0)-48|0,e,r,A),B=f+96|0,e|0}function ap(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-16|0,B=A,k=e,n=B2(r)&1,i[k+48>>2]=n;i:{if(s[r+20|0]==1){if(l[A+4|0]=0,l[A+15|0]=0,r0(f,2,100,A+4|0),l[A+15|0]>=0)break i;G(i[A+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+16|0}function n9(f,e,r){var A=0,k=0,n=0,t=0;return k=B-16|0,B=k,A=B-32|0,B=A,ft(A+24|0,f,e),kt(A+16|0,i[A+24>>2],i[A+28>>2],r),t=i[A+16>>2],e=B-16|0,B=e,i[e+12>>2]=f,f=B-16|0,B=f,n=e+12|0,i[f+12>>2]=i[n>>2],B=f+16|0,f=R3(n,t-i[f+12>>2]|0),B=e+16|0,i[A+12>>2]=f,i[A+8>>2]=(i[A+20>>2]-r|0)+r,i[k+8>>2]=i[A+12>>2],i[k+12>>2]=i[A+8>>2],B=A+32|0,B=k+16|0,i[k+12>>2]}function Ae(f,e,r){var A=0,k=0;for(r&2048&&(l[f|0]=43,f=f+1|0),r&1024&&(l[f|0]=35,f=f+1|0),A=r&260,(A|0)!=260&&(l[f|0]=46,l[f+1|0]=42,f=f+2|0),r=r&16384;;){if(k=s[e|0],k){l[f|0]=k,f=f+1|0,e=e+1|0;continue}break}i:{r:{if((A|0)!=256){if((A|0)!=4)break r;e=r?70:102;break i}e=r?69:101;break i}if(e=r?65:97,(A|0)==260)break i;e=r?71:103}return l[f|0]=e,(A|0)!=260}function Sp(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-16|0,B=A,k=e,n=t2(r),X[k+48>>1]=n;i:{if(s[r+20|0]==1){if(l[A+4|0]=0,l[A+15|0]=0,r0(f,2,100,A+4|0),l[A+15|0]>=0)break i;G(i[A+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+16|0}function Op(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;A=B-16|0,B=A,k=e,n=B2(r),l[k+48|0]=n;i:{if(s[r+20|0]==1){if(l[A+4|0]=0,l[A+15|0]=0,r0(f,2,100,A+4|0),l[A+15|0]>=0)break i;G(i[A+4>>2]);break i}if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+16|0}function jp(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0;n=B-16|0,B=n;i:{if((A|0)<=0&&r)break i;Or(n+4|0,f,e),t=i[n+8>>2],e=i[n+4>>2],f=t-e>>2;r:{e:{if(!r){k=f;break e}if((e|0)==(t|0)|(A|0)<=0)break e;for(;;){if(t=k<<2,i[t+r>>2]=i[e+t>>2],k=k+1|0,(k|0)>=(A|0))break r;if(!(f>>>0>k>>>0))break}break r}if(!e)break i}G(e)}return B=n+16|0,k|0}function Pp(f,e,r,A,k){if(f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,Q1(f,i[e+8>>2],k)){i[e+28>>2]==1|i[e+4>>2]!=(r|0)||(i[e+28>>2]=A);return}i:{if(!Q1(f,i[e>>2],k))break i;if(!(i[e+16>>2]!=(r|0)&i[e+20>>2]!=(r|0))){if((A|0)!=1)break i;i[e+32>>2]=1;return}i[e+20>>2]=r,i[e+32>>2]=A,i[e+40>>2]=i[e+40>>2]+1,i[e+36>>2]!=1|i[e+24>>2]!=2||(l[e+54|0]=1),i[e+44>>2]=4}}function Lp(f){return f=f|0,s[100276]?i[25068]:(s[100760]||(l[100760]=1),E2(100592,65988),E2(100604,66016),E2(100616,66044),E2(100628,66076),E2(100640,66116),E2(100652,66152),E2(100664,66180),E2(100676,66216),E2(100688,66232),E2(100700,66248),E2(100712,66264),E2(100724,66280),E2(100736,66296),E2(100748,66312),l[100276]=1,i[25068]=100592,100592)}function t9(f){f=f|0;var e=0,r=0,A=0,k=0;for(i[f>>2]=60312,k=f+8|0;;){if(e=i[f+8>>2],i[f+12>>2]-e>>2>>>0>r>>>0){e=i[e+(r<<2)>>2],e&&(A=i[e+4>>2]-1|0,i[e+4>>2]=A,(A|0)==-1&&V[i[i[e>>2]+8>>2]](e)),r=r+1|0;continue}break}return z0(f+144|0),e=B-16|0,B=e,i[e+12>>2]=k,r=i[e+12>>2],i[r>>2]&&(ao(r),Mt(i[e+12>>2]+12|0,i[i[e+12>>2]>>2])),B=e+16|0,f|0}function Kp(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B+-64|0,B=A,k=1;i:{if(Q1(f,e,0)||(k=0,!e)||(e=N0(e,67148,67196),k=0,!e))break i;B0(A+8|0,0,56),l[A+59|0]=1,i[A+16>>2]=-1,i[A+12>>2]=f,i[A+4>>2]=e,i[A+52>>2]=1,V[i[i[e>>2]+28>>2]](e,A+4|0,i[r>>2],1),f=i[A+28>>2],(f|0)==1&&(i[r>>2]=i[A+20>>2]),k=(f|0)==1}return f=k,B=A- -64|0,f|0}function qp(f){f=f|0;var e=0,r=0;r=f+12|0,e=i[r+8496>>2],e&&(i[r+8500>>2]=e,G(e)),e=i[r+8484>>2],e&&(i[r+8488>>2]=e,G(e)),e=i[r+8472>>2],e&&(i[r+8476>>2]=e,G(e)),e=i[r+8460>>2],e&&(i[r+8464>>2]=e,G(e)),e=i[r+8448>>2],e&&(i[r+8452>>2]=e,G(e)),f=i[f+20>>2];i:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break i;V[i[i[f>>2]+8>>2]](f),g(f)}}function $p(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0;return k=i[f+84>>2],n=i[k>>2],A=i[k+4>>2],o=i[f+28>>2],t=i[f+20>>2]-o|0,t=A>>>0<t>>>0?A:t,t&&(l0(n,o,t),n=t+i[k>>2]|0,i[k>>2]=n,A=i[k+4>>2]-t|0,i[k+4>>2]=A),A=r>>>0>A>>>0?A:r,A&&(l0(n,e,A),n=A+i[k>>2]|0,i[k>>2]=n,i[k+4>>2]=i[k+4>>2]-A),l[n|0]=0,e=i[f+44>>2],i[f+28>>2]=e,i[f+20>>2]=e,r|0}function bp(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=68616,r=i[f+36>>2],r){if(e=r,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){e=i[A-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(A=A-8|0,(r|0)==(A|0))break}e=i[f+36>>2]}i[f+40>>2]=r,G(e)}return i[f>>2]=68500,r=i[f+20>>2],r&&(i[f+24>>2]=r,G(r)),f|0}function f3(f,e,r,A){var k=0,n=0,t=0,o=0;k=B-48|0,B=k,n=i[i[f>>2]-12>>2]+f|0,t=i[n+16>>2]&-3,z1(n,t),X3(k+47|0,f),s[k+47|0]&&(n=k+24|0,o=i[(i[i[f>>2]-12>>2]+f|0)+24>>2],V[i[i[o>>2]+16>>2]](n,o,e,r,A,8),e=k+8|0,i[e+8>>2]=-1,i[e+12>>2]=-1,i[e>>2]=0,i[e+4>>2]=0,J4(i[i[f>>2]-12>>2]+f|0,i[e+8>>2]==i[n+8>>2]&i[n+12>>2]==i[e+12>>2]?t|4:t)),B=k+48|0}function dp(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;if((r|0)!=31)for(w=r+5|0,u=1<<r;;){for(_=m(A,t)+f|0,v=(t<<r<<1)+e|0,k=0,o=0;o=((X[(k<<1)+v>>1]<<w)+2048>>12)+o|0,h=k+_|0,n=o+s[h|0]|0,n=(n|0)>=255?255:n,l[h|0]=(n|0)>0?n:0,k=k+1|0,(u|0)!=(k|0););if(t=t+1|0,(u|0)==(t|0))break}}function E2(f,e){var r=0,A=0,k=0;i:{if(A=Ot(e),r=s[f+11|0]>>>7|0?(i[f+8>>2]&2147483647)-1|0:1,s[f+11|0]>>>7|0?k=i[f+4>>2]:k=s[f+11|0]&127,A>>>0<=r>>>0){s[f+11|0]>>>7|0?r=i[f>>2]:r=f,Qo(r,e,A),e=B-16|0,B=e;r:if(s[f+11|0]>>>7|0)break r;wi(f,A),i[e+12>>2]=0,i[r+(A<<2)>>2]=i[e+12>>2],B=e+16|0;break i}r7(f,r,A-r|0,k,0,k,A,e)}}function cp(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0,t=0,o=0,u=0,h=0,w=0,_=0,v=0;if((r|0)!=31)for(w=r+5|0,u=1<<r;;){for(_=f+t|0,v=(t<<1)+e|0,k=0,o=0;o=((X[(k<<r<<1)+v>>1]<<w)+2048>>12)+o|0,h=m(A,k)+_|0,n=o+s[h|0]|0,n=(n|0)>=255?255:n,l[h|0]=(n|0)>0?n:0,k=k+1|0,(u|0)!=(k|0););if(t=t+1|0,(u|0)==(t|0))break}}function k3(f){var e=0,r=0;if(e=B-16|0,B=e,i[(i[i[f>>2]-12>>2]+f|0)+24>>2]){i[e+12>>2]=f,l[e+8|0]=0,i[(i[i[f>>2]-12>>2]+f|0)+16>>2]||(r=i[(i[i[f>>2]-12>>2]+f|0)+72>>2],r&&k3(r),l[e+8|0]=1);i:{if(!s[e+8|0]||(r=i[(i[i[f>>2]-12>>2]+f|0)+24>>2],(V[i[i[r>>2]+24>>2]](r)|0)!=-1))break i;J4(i[i[f>>2]-12>>2]+f|0,1)}Z1(e+8|0)}B=e+16|0}function G1(f){f=f|0;var e=0,r=0,A=0,k=0;if(i[f>>2]=68616,r=i[f+36>>2],r){if(e=r,A=i[f+40>>2],(e|0)!=(A|0)){for(;;){e=i[A-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(A=A-8|0,(r|0)==(A|0))break}e=i[f+36>>2]}i[f+40>>2]=r,G(e)}i[f>>2]=68500,r=i[f+20>>2],r&&(i[f+24>>2]=r,G(r)),G(f)}function n3(f,e,r,A){l[f+53|0]=1;i:{if(i[f+4>>2]!=(r|0))break i;l[f+52|0]=1,r=i[f+16>>2];r:{if(!r){if(i[f+36>>2]=1,i[f+24>>2]=A,i[f+16>>2]=e,(A|0)!=1)break i;if(i[f+48>>2]==1)break r;break i}if((e|0)==(r|0)){if(r=i[f+24>>2],(r|0)==2&&(i[f+24>>2]=A,r=A),i[f+48>>2]!=1)break i;if((r|0)==1)break r;break i}i[f+36>>2]=i[f+36>>2]+1}l[f+54|0]=1}}function iW(f){f=f|0;var e=0,r=0;if(f){e=i[f+20>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+12>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+4>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}G(f)}}function rW(f){return f=f|0,s[100268]?i[25066]:(s[100584]||(l[100584]=1),Y2(100416,1470),Y2(100428,1477),Y2(100440,1443),Y2(100452,1451),Y2(100464,1434),Y2(100476,1484),Y2(100488,1461),Y2(100500,6172),Y2(100512,7008),Y2(100524,9257),Y2(100536,13565),Y2(100548,2553),Y2(100560,8170),Y2(100572,3543),l[100268]=1,i[25066]=100416,100416)}function M1(f,e){i:{if((e|0)>=1024){if(f=f*898846567431158e293,e>>>0<2047){e=e-1023|0;break i}f=f*898846567431158e293,e=(e>>>0>=3069?3069:e)-2046|0;break i}if((e|0)>-1023)break i;if(f=f*2004168360008973e-307,e>>>0>4294965304){e=e+969|0;break i}f=f*2004168360008973e-307,e=(e>>>0<=4294964336?-2960:e)+1938|0}return N2(0,0),N2(1,e+1023<<20),f*+m1()}function eW(f,e){f=f|0,e=e|0;var r=0,A=0;f=i[f>>2],r=i[f+48>>2],f=i[f+52>>2],f&&(i[f+4>>2]=i[f+4>>2]+1),A=i[r+20>>2],r=i[r+24>>2];i:{if(!r){Z4(A,e);break i}if(i[r+4>>2]=i[r+4>>2]+1,Z4(A,e),e=i[r+4>>2],i[r+4>>2]=e-1,e)break i;V[i[i[r>>2]+8>>2]](r),g(r)}i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}}function AW(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;if(A=B-16|0,B=A,k=i[r>>2],k>>>0<2147483640){t=i[f>>2];i:{r:{if(k>>>0>=11){n=(k|7)+1|0,f=U(n),i[A+12>>2]=n|-2147483648,i[A+4>>2]=f,i[A+8>>2]=k;break r}if(l[A+15|0]=k,f=A+4|0,!k)break i}l0(f,r+4|0,k)}l[f+k|0]=0,V[t|0](e,A+4|0),l[A+15|0]<0&&G(i[A+4>>2]),B=A+16|0;return}c2(),P()}function o9(f,e){var r=0,A=0,k=0,n=0,t=0,o=0;A=f+18548|0,r=f2(A,i[f+18572>>2]+150|0),k=1,n=f2(A,i[f+18572>>2]+150|0),t=1,r&&(t=!f2(A,i[f+18572>>2]+151|0)),n&&(k=!f2(A,i[f+18572>>2]+151|0)),r&&(r=-1,t||(r=DA(A,1)),o=x1(A)?65534-r|0:r+2|0),e=(e<<2)+f|0,n?(r=-1,k||(r=DA(A,1)),f=x1(A)?65534-r|0:r+2|0):f=0,X[e+20>>1]=f,X[e+18>>1]=o}function fW(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0;if(r=B-16|0,B=r,on(r+4|0,i[f>>2],e),k=i[r+8>>2],e=i[r+4>>2],e){if(f=e,(e|0)!=(k|0)){for(f=k;;){A=i[f-4>>2];i:{if(!A||(n=i[A+4>>2],i[A+4>>2]=n-1,n))break i;V[i[i[A>>2]+8>>2]](A),g(A)}if(f=f-8|0,(e|0)==(f|0))break}f=i[r+4>>2]}i[r+8>>2]=e,G(f)}return B=r+16|0,k-e>>3}function kW(f){f=f|0;var e=0,r=0,A=0,k=0;if(l[f+73|0]=0,l[f+74|0]=0,l[f+75|0]=0,l[f+76|0]=0,e=s[f+72|0],k=e>>>0<=2?2:e,r=e,A=i[f+60>>2],e=i[f+56>>2],r=A-e>>>0>2097120?k:r,(e|0)!=(A|0))for(;r=k0[e>>2]>65535&&(r|0)<=2?2:r,r=s[e+4|0]&&(r|0)<=1?1:r,e=e+32|0,(A|0)!=(e|0););l[f+75|0]=4,l[f+73|0]=4,l[f+74|0]=4,l[f+48|0]=r}function t3(f){var e=0,r=0,A=0;e=i[f+12>>2]-2|0,i[f+12>>2]=e,A=1,r=i[f+16>>2],e=e<<7;i:{if(r>>>0>=e>>>0||(A=0,e>>>0>32767)||(r=r<<1,i[f+16>>2]=r,i[f+12>>2]=e>>>6,e=Q[f+20>>1]+1|0,X[f+20>>1]=e,(e|0)==(e&65535))||(X[f+20>>1]=65528,e=i[f+4>>2],e>>>0>=k0[f+8>>2]))break i;i[f+4>>2]=e+1,i[f+16>>2]=r+s[e|0]}return A}function l9(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0;e=B-16|0,B=e,k=e+16|0;i:{for(;;){if(A=i[f+36>>2],r=e+8|0,n=V[i[i[A>>2]+20>>2]](A,i[f+40>>2],r,k,e+4|0)|0,A=-1,t=r,r=i[e+4>>2]-r|0,(F1(t,1,r,i[f+32>>2])|0)!=(r|0))break i;r:switch(n-1|0){case 1:break i;case 0:continue;default:break r}break}A=x8(i[f+32>>2])?-1:0}return B=e+16|0,A|0}function nW(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;if(A=B-128|0,B=A,r=i[e+16>>2],i[A>>2]=i[e+12>>2],i[A+4>>2]=r,e=A+16|0,ke(e,13597,A),r=G2(e),r>>>0<2147483640){i:{r:{if(r>>>0>=11){k=(r|7)+1|0,e=U(k),i[f+8>>2]=k|-2147483648,i[f>>2]=e,i[f+4>>2]=r,f=e;break r}if(l[f+11|0]=r,!r)break i}l0(f,A+16|0,r)}l[f+r|0]=0,B=A+128|0;return}c2(),P()}function c4(f,e,r,A){var k=0,n=0,t=0,o=0;k=B-16|0,B=k,i[k+12>>2]=e,i[k+8>>2]=A,t=S4(k+4|0,k+12|0),e=B-16|0,B=e,A=i[k+8>>2],i[e+12>>2]=A,i[e+8>>2]=A,n=-1,A=le(0,0,r,A);i:{if((A|0)<0||(o=f,A=A+1|0,f=Z2(A),i[o>>2]=f,!f))break i;n=le(f,A,r,i[e+12>>2])}return B=e+16|0,f=i[t>>2],f&&(i[23985]=(f|0)==-1?95820:f),B=k+16|0,n}function tW(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0;if(r=B-16|0,B=r,A=i[e>>2],A>>>0<2147483640){i:{r:{if(A>>>0>=11){n=(A|7)+1|0,k=U(n),i[r+12>>2]=n|-2147483648,i[r+4>>2]=k,i[r+8>>2]=A;break r}if(l[r+15|0]=A,k=r+4|0,!A)break i}l0(k,e+4|0,A)}return l[A+k|0]=0,f=V[f|0](r+4|0)|0,l[r+15|0]<0&&G(i[r+4>>2]),B=r+16|0,f|0}c2(),P()}function o3(f){var e=0,r=0,A=0;r=B-16|0,B=r;i:{if(!T4(f,2))break i;A=i[f>>2],e=i[f+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1);r:{if(!(V[i[i[A>>2]+16>>2]](A,r+14|0,2)|0)){vi(f),A=0;break r}f=s[r+14|0]|s[r+15|0]<<8,A=f<<8|f>>>8}if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}return B=r+16|0,A<<16>>16}function oW(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A;i:{if(!e){if(l[A|0]=0,l[A+11|0]=0,e=f,f=r0(A+12|0,5,2001,A),P0(e,f,0),l[f+19|0]<0&&G(i[f+8>>2]),l[A+11|0]>=0)break i;G(i[A>>2]);break i}if(k=i[i[e>>2]+60>>2],k){V[k|0](f,i[e+4>>2],r);break i}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}B=A+32|0}function t2(f){var e=0,r=0,A=0;r=B-16|0,B=r;i:{if(!T4(f,2))break i;A=i[f>>2],e=i[f+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1);r:{if(!(V[i[i[A>>2]+16>>2]](A,r+14|0,2)|0)){vi(f),A=0;break r}f=s[r+14|0]|s[r+15|0]<<8,A=f<<8|f>>>8}if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}return B=r+16|0,A&65535}function lW(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,A2(r,s[e+48|0]),Y4(A+12|0,e,r,k),l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function uW(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0;t=B-16|0,B=t;i:{if(!e){i[f>>2]=5,i[f+4>>2]=2006,i[f+8>>2]=2383;break i}o=i0[e>>3]*+(r|0),i0[t+8>>3]=o,i0[t>>3]=s[e+24|0]?i0[e+32>>3]*+(A|0):o,k&&(i0[k>>3]=i0[t+8>>3]),n&&(i0[n>>3]=i0[t>>3]),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}B=t+16|0}function sW(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,A2(r,s[e+56|0]),Y4(A+12|0,e,r,k),l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function hW(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0,o=0;return A=i[f+20>>2],k=i[f+16>>2],t=r+k|0,A=t>>>0<r>>>0?A+1|0:A,n=i[f+12>>2],o=i[f+8>>2],(A|0)<=(n|0)&o>>>0>=t>>>0|(A|0)<(n|0)&&(l0(e,i[f+4>>2]+k|0,r),k=i[f+20>>2],e=r+i[f+16>>2]|0,k=e>>>0<r>>>0?k+1|0:k,i[f+16>>2]=e,i[f+20>>2]=k),(A|0)<=(n|0)&t>>>0<=o>>>0|(A|0)<(n|0)}function wW(f){f=f|0;var e=0,r=0,A=0,k=0,n=0;if(n=B-16|0,B=n,e=i[f+652>>2],e&&(i[f+656>>2]=e,G(e)),e=i[f+640>>2],e&&(i[f+644>>2]=e,G(e)),e=i[f+604>>2],e){if(r=e,A=i[f+608>>2],(e|0)!=(A|0)){for(;r=A-12|0,k=i[r>>2],k&&(i[A-8>>2]=k,G(k)),A=r,(e|0)!=(A|0););r=i[f+604>>2]}i[f+608>>2]=e,G(r)}B=n+16|0}function l3(f,e,r,A,k){var n=0,t=0,o=0,u=0;t=B-16|0,B=t,n=t+12|0,e=i[e+28>>2],i[n>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(n,100184),V[i[i[e>>2]+48>>2]](e,60064,60096,r)|0,e=x0(n,100256),o=A,u=V[i[i[e>>2]+12>>2]](e)|0,i[o>>2]=u,o=k,u=V[i[i[e>>2]+16>>2]](e)|0,i[o>>2]=u,V[i[i[e>>2]+20>>2]](f,e),O0(n),B=t+16|0}function _W(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-32|0,B=A,k=V[i[i[e>>2]+32>>2]](e,r,0)|0,D4(r,e+48|0),Y4(A+12|0,e,r,k),l[A+31|0]<0&&G(i[A+20>>2]),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0;i:{if(l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];break i}_0(f,i[19566],i[19567])}B=A+32|0}function u3(f,e,r,A,k){var n=0,t=0,o=0,u=0;t=B-16|0,B=t,n=t+12|0,e=i[e+28>>2],i[n>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(n,100192),V[i[i[e>>2]+32>>2]](e,60064,60096,r)|0,e=x0(n,100248),o=A,u=V[i[i[e>>2]+12>>2]](e)|0,l[o|0]=u,o=k,u=V[i[i[e>>2]+16>>2]](e)|0,l[o|0]=u,V[i[i[e>>2]+20>>2]](f,e),O0(n),B=t+16|0}function vW(f){f=f|0;var e=0,r=0,A=0,k=0,n=0;if(e=i[f+56>>2],A=i[f+60>>2],(e|0)!=(A|0))for(;;){if(k0[e+40>>2]>65535){l[f+48|0]=1;return}r=i[e+44>>2],k=i[e+48>>2];i:{if((r|0)==(k|0))break i;for(;;){if(k0[r>>2]<65536){if(r=r+4|0,(k|0)!=(r|0))continue;break i}break}n=1}if(e=e+56|0,(A|0)==(e|0))break}l[f+48|0]=n}function u9(f,e,r){var A=0,k=0,n=0;if(A=i[r+72>>2],i[r+72>>2]=A-1|A,A=i[r+4>>2],k=i[r+8>>2],(A|0)==(k|0)?A=e:(n=A,A=k-A|0,A=e>>>0>A>>>0?A:e,l0(f,n,A),i[r+4>>2]=A+i[r+4>>2],f=f+A|0,A=e-A|0),A)for(;;){i:{if(!g6(r)&&(k=V[i[r+32>>2]](r,f,A)|0,k))break i;return e-A|0}if(f=f+k|0,A=A-k|0,!A)break}return e}function fe(f,e,r){var A=0,k=0,n=0;i:{A=i[e+112>>2];r:{if(!A)break r;for(k=e+112|0,e=k;n=k0[A+16>>2]<r>>>0,e=n?e:A,A=i[(n<<2)+A>>2],!!A;);if((e|0)==(k|0))break r;if(k0[e+16>>2]<=r>>>0)break i}i[f>>2]=0,i[f+4>>2]=0;return}i[f>>2]=i[e+20>>2],r=f,f=i[e+24>>2],i[r+4>>2]=f,f&&(i[f+4>>2]=i[f+4>>2]+1)}function s9(f,e){var r=0,A=0;r=B-32|0,B=r,i[f+8>>2]=-1,i[f+12>>2]=-1,i[f>>2]=0,i[f+4>>2]=0,X3(r+31|0,e),s[r+31|0]&&(A=i[(i[i[e>>2]-12>>2]+e|0)+24>>2],V[i[i[A>>2]+16>>2]](r+8|0,A,0,0,1,8),A=i[r+20>>2],i[f+8>>2]=i[r+16>>2],i[f+12>>2]=A,A=i[r+12>>2],i[f>>2]=i[r+8>>2],i[f+4>>2]=A,J4(i[i[e>>2]-12>>2]+e|0,0)),B=r+32|0}function v2(f,e,r){var A=0,k=0;i:{r:{if(!r)break r;if(A=i[f+164>>2],(A|0)>0){for(k=f+84|0,r=0;;){if(i[(r<<2)+k>>2]==(e|0))break i;if(r=r+1|0,(A|0)==(r|0))break}if((A|0)>19)break r}i[f+164>>2]=A+1,i[((A<<2)+f|0)+84>>2]=e}if(r=i[f+80>>2],(r|0)==20){i[f+76>>2]=1001;return}i[f+80>>2]=r+1,i[(r<<2)+f>>2]=e}}function h9(f,e,r){var A=0,k=0,n=0;if(i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,A=i[e+36>>2],n=i[e+40>>2],(A|0)!=(n|0))for(;;){if(e=i[A>>2],i[e+16>>2]==(r|0)){i:{if(k0[f+8>>2]>k>>>0){i[k>>2]=e,e=i[A+4>>2],i[k+4>>2]=e,e&&(i[e+4>>2]=i[e+4>>2]+1),k=k+8|0;break i}k=Q2(f,A)}i[f+4>>2]=k}if(A=A+8|0,(n|0)==(A|0))break}}function mW(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;i:{r:{if(f=i[f+4>>2],A=i[f+168>>2],e=e>>A,(e|0)<0||(k=i[f+172>>2],(e|0)>=(k|0)))break r;if(r=r>>A,(r|0)<0|(r|0)>=i[f+176>>2])break i;return f=(i[f+160>>2]+m(e,3)|0)+m(m(r,k),3)|0,(s[f|0]|s[f+1|0]<<8)>>>3&7}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function z8(f){var e=Y(0),r=0,A=0;if(r=(s1(f),j0(2)),A=r>>>23&255,A>>>0<=149)if(A>>>0<=125)f=Y(f*Y(0));else{f=Y(d0(f)),e=Y(Y(Y(f+Y(8388608))+Y(-8388608))-f);i:{if(e>Y(.5)){f=Y(Y(f+e)+Y(-1));break i}if(f=Y(f+e),!(e<=Y(-.5)))break i;f=Y(f+Y(1))}f=(r|0)<0?Y(-f):f}return Y(d0(f))<Y(2147483648)?~~f:-2147483648}function BW(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;n=B-16|0,B=n,k=i[f>>2],f=0,i[n+12>>2]=0,i[n+4>>2]=0,i[n+8>>2]=0;i:{if(A=i[k+200>>2],k=i[k+196>>2],(A|0)==(k|0))A=0;else{if(A=A-k|0,(A|0)<0)break i;f=U(A),A=l0(f,k,A)+A|0}return k=e,e=A-f>>2,e=(e|0)<(r|0)?e:r,l0(k,f,e<<2),f&&G(f),B=n+16|0,e|0}y0(),P()}function ZW(f){f=f|0;var e=0,r=0,A=0,k=0,n=0,t=0,o=0;if(e=i[f+56>>2],k=i[f+60>>2],(e|0)!=(k|0)){for(;;){if(o=k0[e>>2]>65535,r=i[e+4>>2],n=i[e+8>>2],(r|0)!=(n|0))for(;t=Q[r+2>>1]>127|t,r=r+4|0,(n|0)!=(r|0););if(A=o?1:A,e=e+16|0,(k|0)==(e|0))break}r=A,A=t&1}i[f+52>>2]=A,l[f+48|0]=r}function pW(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;if(A=B-128|0,B=A,i[A>>2]=i[e+12>>2],e=A+16|0,ke(e,13644,A),r=G2(e),r>>>0<2147483640){i:{r:{if(r>>>0>=11){k=(r|7)+1|0,e=U(k),i[f+8>>2]=k|-2147483648,i[f>>2]=e,i[f+4>>2]=r,f=e;break r}if(l[f+11|0]=r,!r)break i}l0(f,A+16|0,r)}l[f+r|0]=0,B=A+128|0;return}c2(),P()}function WW(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;if(A=B-128|0,B=A,i[A>>2]=i[e+12>>2],e=A+16|0,ke(e,13617,A),r=G2(e),r>>>0<2147483640){i:{r:{if(r>>>0>=11){k=(r|7)+1|0,e=U(k),i[f+8>>2]=k|-2147483648,i[f>>2]=e,i[f+4>>2]=r,f=e;break r}if(l[f+11|0]=r,!r)break i}l0(f,A+16|0,r)}l[f+r|0]=0,B=A+128|0;return}c2(),P()}function XW(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0;return t=B-32|0,B=t,o=i[15075],i[t+24>>2]=i[15074],i[t+28>>2]=o,o=i[15073],i[t+16>>2]=i[15072],i[t+20>>2]=o,o=i[15071],i[t+8>>2]=i[15070],i[t+12>>2]=o,o=i[15069],i[t>>2]=i[15068],i[t+4>>2]=o,o=f,f=t+32|0,e=Z8(o,e,r,A,k,n,t,f),B=f,e|0}function GW(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;if(A=B-128|0,B=A,i[A>>2]=i[e+8>>2],e=A+16|0,ke(e,13628,A),r=G2(e),r>>>0<2147483640){i:{r:{if(r>>>0>=11){k=(r|7)+1|0,e=U(k),i[f+8>>2]=k|-2147483648,i[f>>2]=e,i[f+4>>2]=r,f=e;break r}if(l[f+11|0]=r,!r)break i}l0(f,A+16|0,r)}l[f+r|0]=0,B=A+128|0;return}c2(),P()}function w9(f,e){var r=0,A=0,k=0;if(e>>>0>8){for(e=e>>>0<=4?4:e,A=f>>>0<=1?1:f;;){i:{if(f=0,r=(e+A|0)-1&0-e,k=r>>>0>A>>>0?r:A,r=B-16|0,B=r,(k>>>0)%(e>>>0)|e&3||(f=Sr(r+12|0,e,k),f=f?0:i[r+12>>2]),B=r+16|0,f||(r=i[25435],!r))break i;V[r|0]();continue}break}return f||o4(),f}return U(f)}function CW(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0;t=B-16|0,B=t;i:{if(!e){i[f>>2]=5,i[f+4>>2]=2006,i[f+8>>2]=2383;break i}i0[t+8>>3]=i0[e+8>>3]*+(r|0),i0[t>>3]=i0[e+16>>3]*+(A|0),k&&(i0[k>>3]=i0[t+8>>3]),n&&(i0[n>>3]=i0[t>>3]),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}B=t+16|0}function l2(f,e){var r=0,A=0,k=0,n=0;r=i[f+12>>2],k=r+4|0,A=i[f>>2],n=i[f+4>>2]-A|0,k>>>0>n>>>0&&(L2(f,k-n|0),A=i[f>>2],r=i[f+12>>2]),i[f+12>>2]=r+1,l[r+A|0]=e>>>24,r=i[f+12>>2],i[f+12>>2]=r+1,l[r+i[f>>2]|0]=e>>>16,r=i[f+12>>2],i[f+12>>2]=r+1,l[r+i[f>>2]|0]=e>>>8,r=i[f+12>>2],i[f+12>>2]=r+1,l[r+i[f>>2]|0]=e}function ke(f,e,r){var A=0,k=0,n=0,t=0;n=B-16|0,B=n,i[n+12>>2]=r,A=B-160|0,B=A,t=A+8|0,l0(t,52608,144),i[A+52>>2]=f,i[A+28>>2]=f,k=-2-f|0,k=k>>>0>2147483647?2147483647:k,i[A+56>>2]=k,k=f+k|0,i[A+36>>2]=k,i[A+24>>2]=k,No(t,e,r),(f|0)!=-2&&(f=i[A+28>>2],l[f-((f|0)==i[A+24>>2])|0]=0),B=A+160|0,B=n+16|0}function y6(f){var e=0,r=0;e=i[f+76>>2];i:{if(!((e|0)>=0&(!e|i[23967]!=(e&1073741823)))){if(e=i[f+4>>2],(e|0)!=i[f+8>>2]){i[f+4>>2]=e+1,f=s[e|0];break i}f=ve(f);break i}e=f+76|0,r=i[e>>2],i[e>>2]=r||1073741823,r=i[f+4>>2];r:{if((r|0)!=i[f+8>>2]){i[f+4>>2]=r+1,f=s[r|0];break r}f=ve(f)}i[e>>2]=0}return f}function H8(f,e,r,A){var k=0;i:{if(!(A&2048)||(k=A&74,!r|((k|0)==8|(k|0)==64)))break i;l[f|0]=43,f=f+1|0}for(A&512&&(l[f|0]=35,f=f+1|0);;){if(k=s[e|0],k){l[f|0]=k,f=f+1|0,e=e+1|0;continue}break}k=A&74,e=111;i:{if((k|0)==64||(e=A&16384?88:120,(k|0)==8))break i;e=r?100:117}l[f|0]=e}function VW(f,e,r,A,k){if(f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,i[e+8>>2]!=1){e=i[18429],i[f>>2]=i[18428],i[f+4>>2]=e,i[f+8>>2]=i[18430];return}i:{if(!s[e+16|0]||(A&&(i[A>>2]=i[e+20>>2]),!k))break i;i[k>>2]=i[e+24>>2]}r&&(i[r>>2]=s[e+16|0]),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}function G2(f){var e=0,r=0,A=0;i:{r:{if(e=f,!(e&3))break r;if(!s[e|0])return 0;for(;;){if(e=e+1|0,!(e&3))break r;if(!s[e|0])break}break i}for(;r=e,e=e+4|0,A=i[r>>2],((A|16843008-A)&-2139062144)==-2139062144;);for(;e=r,r=e+1|0,!!s[e|0];);}return e-f|0}function IW(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0;t=B-16|0,B=t,i[k>>2]=r,n=t+12|0,f=y3(n,0,i[f+8>>2]),e=2;i:{if(f+1>>>0<2||(r=f-1|0,e=1,r>>>0>A-i[k>>2]>>>0))break i;for(;;){if(r){f=s[n|0],e=i[k>>2],i[k>>2]=e+1,l[e|0]=f,r=r-1|0,n=n+1|0;continue}break}e=0}return B=t+16|0,e|0}function QW(f){f=f|0;var e=0,r=0,A=0;i:{if(!f||(f=i[f>>2],!f))break i;r=B-16|0,B=r,ei(r+8|0,i[i[f+16>>2]+48>>2],i[f+20>>2]),f=i[r+8>>2],f?f=i[f+56>>2]:f=0,e=i[r+12>>2];r:{if(!e||(A=i[e+4>>2],i[e+4>>2]=A-1,A))break r;V[i[i[e>>2]+8>>2]](e),g(e)}B=r+16|0,e=f}return e|0}function yW(f){f=f|0;var e=0,r=0,A=0;i:{if(!f||(f=i[f>>2],!f))break i;r=B-16|0,B=r,ei(r+8|0,i[i[f+16>>2]+48>>2],i[f+20>>2]),f=i[r+8>>2],f?f=i[f+60>>2]:f=0,e=i[r+12>>2];r:{if(!e||(A=i[e+4>>2],i[e+4>>2]=A-1,A))break r;V[i[i[e>>2]+8>>2]](e),g(e)}B=r+16|0,e=f}return e|0}function _9(f){var e=0,r=0,A=0;A=i[f+16>>2]<<8,i[f+16>>2]=A,e=Q[f+20>>1]+8|0,X[f+20>>1]=e,e=e<<16>>16;i:{if((e|0)<0||(r=i[f+4>>2],r>>>0>=k0[f+8>>2]))break i;i[f+4>>2]=r+1,r=s[r|0],X[f+20>>1]=e-8,A=r<<e|A}return r=i[f+12>>2]<<7,e=(A>>>0)/(r>>>0)|0,(e|0)>=256&&(e=255),i[f+16>>2]=A-m(e,r),e}function FW(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;t=f,o=e,f=V[i[i[f+8>>2]+20>>2]](f+8|0)|0;i:{if(s[f+11|0]>>>7|0){e=i[f>>2];break i}e=f}return u=e,s[f+11|0]>>>7|0?e=i[f>>2]:e=f,s[f+11|0]>>>7|0?f=i[f+4>>2]:f=s[f+11|0]&127,Z8(t,o,r,A,k,n,u,e+(f<<2)|0)|0}function ne(f,e){var r=0,A=0,k=0;r=i[f+112>>2];i:{if(!r)break i;for(k=f+112|0,f=k;A=k0[r+16>>2]<e>>>0,f=A?f:r,r=i[(A<<2)+r>>2],!!r;);if(A=0,(f|0)==(k|0)|k0[f+16>>2]>e>>>0||(A=i[f+20>>2],f=i[f+24>>2],!f|i[f+4>>2]!=-1))break i;V[i[i[f>>2]+8>>2]](f),g(f)}return(A|0)!=0}function B2(f){var e=0,r=0,A=0;A=B-16|0,B=A;i:{if(!T4(f,1))break i;r=i[f>>2],e=i[f+4>>2],e&&(i[e+4>>2]=i[e+4>>2]+1);r:{if(!(V[i[i[r>>2]+16>>2]](r,A+15|0,1)|0)){vi(f),r=0;break r}r=s[A+15|0]}if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}return B=A+16|0,r}function K2(f,e,r){var A=0,k=0;i:{r:{if(r>>>0>=4){if((f|e)&3)break r;for(;;){if(i[f>>2]!=i[e>>2])break r;if(e=e+4|0,f=f+4|0,r=r-4|0,!(r>>>0>3))break}}if(!r)break i}for(;;){if(A=s[f|0],k=s[e|0],(A|0)==(k|0)){if(e=e+1|0,f=f+1|0,r=r-1|0,r)continue;break i}break}return A-k|0}return 0}function W4(f,e){var r=0,A=0,k=0,n=0;A=B-16|0,B=A;i:{if(!e){e=0;break i}r=e>>31,k=(r^e)-r|0,r=$2(k),L1(A,k,0,0,0,r+81|0),k=0+i[A+8>>2]|0,r=(i[A+12>>2]^65536)+(16414-r<<16)|0,r=k>>>0<n>>>0?r+1|0:r,n=e&-2147483648|r,r=i[A+4>>2],e=i[A>>2]}i[f>>2]=e,i[f+4>>2]=r,i[f+8>>2]=k,i[f+12>>2]=n,B=A+16|0}function s3(f,e){var r=0,A=0;r=i[f+40>>2],r&&(l[r+32|0]=0),r=i[e>>2],l[r+32|0]=1,A=i[e+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),i[f+40>>2]=r,r=i[f+44>>2],i[f+44>>2]=A;i:{if(!r||(A=i[r+4>>2],i[r+4>>2]=A-1,A))break i;V[i[i[r>>2]+8>>2]](r),g(r)}i[i[i[f+48>>2]+84>>2]+56>>2]=i[i[e>>2]+20>>2]}function EW(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0,u=0;t=f,o=e,f=V[i[i[f+8>>2]+20>>2]](f+8|0)|0;i:{if(s[f+11|0]>>>7|0){e=i[f>>2];break i}e=f}return u=e,s[f+11|0]>>>7|0?e=i[f>>2]:e=f,s[f+11|0]>>>7|0?f=i[f+4>>2]:f=s[f+11|0]&127,B8(t,o,r,A,k,n,u,e+f|0)|0}function I1(f,e,r,A){var k=0,n=0;k=B-16|0,B=k,n=i[e+44>>2];i:{if(!n){if(l[k+4|0]=0,l[k+15|0]=0,r0(f,2,108,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}if(!i[e+52>>2]){if(l[k+4|0]=0,l[k+15|0]=0,r0(f,2,109,k+4|0),l[k+15|0]>=0)break i;G(i[k+4>>2]);break i}ii(f,n,r,e+52|0,A)}B=k+16|0}function YW(f){f=f|0;var e=0,r=0,A=0,k=0;if(e=i[f+16>>2],!e)return 0;e=N0(e,72776,73388);i:{if(!e)break i;if(f=i[f+20>>2],!f)return i[e+24>>2]-i[e+20>>2]|0;if(r=i[f+4>>2],A=r+1|0,i[f+4>>2]=A,k=i[e+20>>2],e=i[e+24>>2],i[f+4>>2]=r,r=e-k|0,A)break i;V[i[i[f>>2]+8>>2]](f),g(f)}return r|0}function v9(f){f=f|0;var e=0,r=0,A=0,k=0;if(e=i[f+16>>2],!e)return 0;e=N0(e,72776,73300);i:{if(!e)break i;if(f=i[f+20>>2],!f)return i[e+12>>2]-i[e+8>>2]>>3;if(r=i[f+4>>2],A=r+1|0,i[f+4>>2]=A,k=i[e+8>>2],e=i[e+12>>2],i[f+4>>2]=r,r=e-k>>3,A)break i;V[i[i[f>>2]+8>>2]](f),g(f)}return r|0}function m9(f,e,r,A){var k=0;k=B-32|0,B=k,i[k+8>>2]=0,i[k>>2]=0,i[k+4>>2]=0,L2(k,A+4|0),l[i[k>>2]]=A>>>24,l[i[k>>2]+1|0]=A>>>16,l[i[k>>2]+2|0]=A>>>8,l[i[k>>2]+3|0]=A,l0(i[k>>2]+4|0,r,A),Wr(k+12|0,i[f+60>>2],e,k,0),l[k+31|0]<0&&G(i[k+20>>2]),f=i[k>>2],f&&(i[k+4>>2]=f,G(f)),B=k+32|0}function h3(f,e,r,A){var k=0,n=0,t=0,o=0;k=B-160|0,B=k,i[k+60>>2]=e,i[k+20>>2]=e,i[k+24>>2]=-1,n=k+16|0,a4(n,0,0),tk(k,n,A,1),A=i[k+8>>2],t=i[k+12>>2],n=i[k>>2],o=i[k+4>>2],r&&(i[r>>2]=i[k+136>>2]+((i[k+20>>2]-i[k+60>>2]|0)+e|0)),i[f+8>>2]=A,i[f+12>>2]=t,i[f>>2]=n,i[f+4>>2]=o,B=k+160|0}function JW(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0;k=B-32|0,B=k;i:{if(!(A&&r)){if(l[k|0]=0,l[k+11|0]=0,r=r0(k+12|0,5,2001,k),l[k+11|0]<0&&G(i[k>>2]),P0(f,r,e?i[e>>2]:0),l[r+19|0]>=0)break i;G(i[r+8>>2]);break i}e=U(8),r=i[r>>2],i[e+4>>2]=0,i[e>>2]=r,i[A>>2]=e,wt(f,e)}B=k+32|0}function gW(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;i:{r:{if(f=i[f+4>>2],A=i[f+188>>2],e=e>>A,(e|0)<0||(k=i[f+192>>2],(e|0)>=(k|0)))break r;if(r=r>>A,(r|0)<0|(r|0)>=i[f+196>>2])break i;return(i[f+180>>2]+m(e,12)|0)+m(m(r,k),12)|0}C0(3758,8453,118,3372),P()}C0(3720,8453,119,3372),P()}function B9(f,e){var r=0,A=0,k=0;A=1;i:{if(e||(r=i[f+12>>2],k=i[f+8>>2],e=r-k>>2,e>>>0<k0[f>>2]))break i;if((r|0)==(k|0))return 0;for(A=e>>>0<=1?1:e,f=0;;){if(r=i[(f<<2)+k>>2],!(s[r+104|0]|i[r+100>>2]))return 1;if(f=f+1|0,(A|0)==(f|0))break}A=f>>>0<e>>>0}return A}function NW(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0,u=0;o=B-32|0,B=o,u=o+12|0,u6(u,i[e>>2],r,A,k,n,t,0,0);i:{if(i[o+12>>2]!=i[19564]){P0(f,u,i[e>>2]);break i}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}l[o+31|0]<0&&G(i[o+20>>2]),B=o+32|0}function RW(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0;var o=0;n=B-32|0,B=n,o=n+12|0,u6(o,i[e>>2],r,A,k,18983,0,0,t);i:{if(i[n+12>>2]!=i[19564]){P0(f,o,i[e>>2]);break i}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}l[n+31|0]<0&&G(i[n+20>>2]),B=n+32|0}function Z9(f,e){var r=0,A=0,k=0;if(i[e+16>>2]!=1970628964){i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;return}i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;i:{if(r=i[e+20>>2],e=i[e+24>>2],(r|0)!=(e|0)){if(e=e-r|0,(e|0)<0)break i;A=U(e),i[f>>2]=A,k=e+A|0,i[f+8>>2]=k,l0(A,r,e),i[f+4>>2]=k}return}y0(),P()}function DW(f){f=f|0;var e=0,r=0,A=0;e=i[f+24>>2],e>>>0>k0[f+44>>2]&&(i[f+44>>2]=e);i:{if(!(s[f+48|0]&8)||(e=i[f+44>>2],e>>>0>k0[f+16>>2]&&(r=i[f+8>>2],A=i[f+12>>2],i[f+16>>2]=e,i[f+12>>2]=A,i[f+8>>2]=r),e=i[f+16>>2],f=i[f+12>>2],e>>>0<=f>>>0))break i;return s[f|0]}return-1}function UW(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0;t=B-32|0,B=t,o=t+12|0,u6(o,i[e>>2],r,A,k,9980,7520,n,0);i:{if(i[t+12>>2]!=i[19564]){P0(f,o,i[e>>2]);break i}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}l[t+31|0]<0&&G(i[t+20>>2]),B=t+32|0}function C8(f){var e=0,r=0,A=0;r=B-32|0,B=r,s[79117]==1&&(i[r+16>>2]=f,f8(21996,r+16|0)),e=i[f+4>>2];i:{if(!e||(A=e,e=i[e>>2]-1|0,i[A>>2]=e,e)||(s[79117]==1&&(i[r>>2]=i[f>>2],f8(22026,r)),e=i[f>>2],e&&G(e),e=i[f+4>>2],!e))break i;G(e)}return B=r+32|0,f}function p9(f,e,r){var A=0;if(r-65537>>>0<4294836223)for(;e=(e|0)/2|0,r=(r|0)/2|0,r-65537>>>0<4294836223;);i:{if((r|0)<=1)break i;for(;;){if(e-65537>>>0>4294836222)break i;if(e=(e|0)/2|0,A=r>>>0>3,r=r>>>1|0,!A)break}}return i[f>>2]=e,i[f+4>>2]=r,f}function W9(f,e){var r=0,A=0;r=s[f|0];i:{if((r|0)!=s[e|0]||r&&Q[f+4>>1]!=Q[e+4>>1]|Q[f+6>>1]!=Q[e+6>>1]|s[f+2|0]!=s[e+2|0]||(r=s[f+1|0],(r|0)!=s[e+1|0])||r&&Q[f+8>>1]!=Q[e+8>>1]|Q[f+10>>1]!=Q[e+10>>1]|s[f+3|0]!=s[e+3|0])break i;A=1}return A}function X9(f){var e=0,r=0,A=0,k=0;if(e=B-16|0,B=e,s[79117]==1&&(i[e+4>>2]=i[f+4>>2],i[e>>2]=f,f8(31175,e)),r=i[f+4>>2],r){A=i[r>>2],(A|0)>=2&&(i[r>>2]=A-1,r=i[f>>2],A=U(172),i[f>>2]=A,k=f,f=U(4),i[k+4>>2]=f,i[f>>2]=1,l0(A,r,172)),B=e+16|0;return}C0(3118,14e3,95,9985),P()}function x1(f){var e=0,r=0;r=i[f+16>>2]<<1,i[f+16>>2]=r,e=Q[f+20>>1]+1|0,X[f+20>>1]=e;i:{if(e<<16>>16<0||(X[f+20>>1]=65528,e=i[f+4>>2],e>>>0>=k0[f+8>>2]))break i;i[f+4>>2]=e+1,r=s[e|0]|r,i[f+16>>2]=r}return e=i[f+12>>2]<<7,e>>>0<=r>>>0?(i[f+16>>2]=r-e,f=1):f=0,f}function MW(f,e){f=f|0,e=e|0;var r=0;i:{if(!i[f+64>>2]||(r=i[f+12>>2],r>>>0<=k0[f+8>>2]))break i;if((e|0)==-1)return i[f+12>>2]=r-1,((e|0)!=-1?e:0)|0;if(r=i[f+12>>2]-1|0,!(s[f+88|0]&16)&s[r|0]!=(e&255))break i;return i[f+12>>2]=r,l[i[f+12>>2]]=e<<24>>24,e|0}return-1}function Yi(f,e,r){var A=0,k=0,n=0,t=0;i:{if(!e){A=e;break i}for(;r=r-1|0,k=f,f=K6(f,e,10,0),A=w0,n=r,t=k-q0(f,A,10,0)|48,l[n|0]=t,k=e>>>0>9,e=A,!!k;);}if(f|A)for(;r=r-1|0,e=(f>>>0)/10|0,l[r|0]=f-m(e,10)|48,A=f>>>0>9,f=e,!!A;);return r}function xW(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0;n=B-32|0,B=n,t=n+12|0,u6(t,i[e>>2],r,A,k,9980,7520,0,0);i:{if(i[n+12>>2]!=i[19564]){P0(f,t,i[e>>2]);break i}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}l[n+31|0]<0&&G(i[n+20>>2]),B=n+32|0}function zW(f){f=f|0;var e=0,r=0,A=0,k=0;if(A=i[f+24>>2],A){if(e=A,r=i[f+28>>2],(e|0)!=(r|0)){for(;;){e=i[r-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(r=r-8|0,(r|0)==(A|0))break}e=i[f+24>>2]}i[f+28>>2]=A,G(e)}}function w3(f,e,r){var A=0,k=0,n=0;if(A=i[f>>2],k=A+r&536870911,i[f>>2]=k,i[f+4>>2]=i[f+4>>2]+(A>>>0>k>>>0)+(r>>>29),A=A&63,A){if(n=f+24|0,k=A+n|0,A=64-A|0,A>>>0>r>>>0){l0(k,e,r);return}l0(k,e,A),Br(f,n,64),r=r-A|0,e=e+A|0}r>>>0>=64&&(e=Br(f,e,r&-64),r=r&63),l0(f+24|0,e,r)}function HW(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=+A,k=+k,n=+n,t=+t,o=+o;var u=0,h=0;if(f){u=+(e|0),h=A/u;i:{if(!(A!=k|o!=0)){i0[f>>3]=h,l[f+24|0]=0,i0[f+8>>3]=n/u,o=t/+(r|0),e=16;break i}i0[f>>3]=h,l[f+24|0]=1,i0[f+32>>3]=k/u,i0[f+8>>3]=n/u,i0[f+16>>3]=t/+(r|0),e=40}i0[e+f>>3]=o}}function G9(f,e,r){var A=0,k=0,n=0,t=0,o=0;for(n=B-16|0,B=n,l[n+14|0]=0,A=B-16|0,B=A,e=e-f>>2;;){if(e){i[A+12>>2]=f,k=e>>>1|0,i[A+12>>2]=i[A+12>>2]+(k<<2),o=(k^-1)+e|0,e=k,k=i[A+12>>2],t=k0[k>>2]<k0[r>>2],e=t?o:e,f=t?k+4|0:f;continue}break}return B=A+16|0,B=n+16|0,f}function TW(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0,o=0;o=(k-A|0)+e|0;i:{for(;;){if((A|0)!=(k|0)){if(f=-1,(e|0)==(r|0)||(n=l[e|0],t=l[A|0],(n|0)<(t|0)))break i;if((n|0)>(t|0))return 1;A=A+1|0,e=e+1|0;continue}break}f=(r|0)!=(o|0)}return f|0}function C9(f){var e=0,r=0,A=0,k=0;e=i[f+40>>2],r=V[e|0](f,0,0,s[f|0]&128?i[f+20>>2]==i[f+28>>2]?1:2:1)|0,e=w0;i:{if((e|0)<0)break i;if(A=i[f+8>>2],A)k=4;else{if(A=i[f+28>>2],!A)break i;k=20}f=i[k+f>>2]-A|0,r=f+r|0,e=(f>>31)+e|0,e=f>>>0>r>>>0?e+1|0:e}return w0=e,r}function V9(f){var e=0,r=0,A=0,k=0;i:{r:{if(r=i[f+64>>2],!r)break r;for(A=f- -64|0,e=A;k=i[r+16>>2]<6,e=k?e:r,r=i[(k<<2)+r>>2],!!r;);if((e|0)==(A|0)|i[e+16>>2]>=7)break r;e=1;break i}if(f=i[f+36>>2],e=0,f>>>0>15)break i;e=43008>>>f|0}return e&1}function I9(f){f=f|0;var e=0,r=0;if(i[f+1884>>2]>0&&(e=f+1392|0,l[e|0]=1,i[e+156>>2]>0))for(;r=r+1|0,(r|0)<i[e+156>>2];);return V[i[i[f>>2]+4>>2]](f),s[79116]||(l[79116]=1),f=i[19772],(f|0)<=0?12:(f=f-1|0,i[19772]=f,f||Eo(),0)}function F6(f,e,r){var A=0,k=0,n=0;return A=f*f,n=A*(A*A)*(A*158969099521155e-24+-25050760253406863e-24)+(A*(A*27557313707070068e-22+-.0001984126982985795)+.00833333333332249),k=A*f,r?f-(A*(e*.5-n*k)-e+k*.16666666666666632):k*(A*n+-.16666666666666632)+f}function te(f,e){var r=0,A=0;r=B-16|0,B=r,i[r+12>>2]=f;i:{if((f|0)==(e|0))break i;for(;;){if(e=e-4|0,i[r+8>>2]=e,f>>>0>=e>>>0)break i;f=i[r+12>>2],e=i[f>>2],A=f,f=i[r+8>>2],i[A>>2]=i[f>>2],i[f>>2]=e,f=i[r+12>>2]+4|0,i[r+12>>2]=f,e=i[r+8>>2]}}B=r+16|0}function Ji(f,e){var r=0,A=0,k=0,n=0;r=B-16|0,B=r;i:{if(!e){e=0;break i}A=e,e=$2(e),L1(r,A,0,0,0,112-(e^31)|0),A=0+i[r+8>>2]|0,e=(i[r+12>>2]^65536)+(16414-e<<16)|0,n=k>>>0>A>>>0?e+1|0:e,k=i[r+4>>2],e=i[r>>2]}i[f>>2]=e,i[f+4>>2]=k,i[f+8>>2]=A,i[f+12>>2]=n,B=r+16|0}function i8(f,e,r,A,k){r=m(i[i[f+124>>2]+16892>>2],A)+r|0;i:{if(!e||(r=i[f+320>>2]+m(r,76)|0,i[r>>2]>=(k|0)))break i;i[f+328>>2]=i[f+328>>2]-1,i[f+332>>2]=i[f+332>>2]+1,i[e+4>>2]=2,bt(r,k),i[e+4>>2]=1,i[f+332>>2]=i[f+332>>2]-1,i[f+328>>2]=i[f+328>>2]+1}}function E6(f,e){var r=0,A=0,k=0,n=0;s[f|0]||(r=i[f+24>>2],A=r+i[f+20>>2]|0,n=i[f+12>>2],k=i[f+8>>2],(A|0)==(((k|0)!=(n|0)?(n-k<<8)-1|0:0)|0)&&(Gr(f+4|0),k=i[f+8>>2],r=i[f+24>>2],A=r+i[f+20>>2]|0),i[i[(A>>>8&16777212)+k>>2]+((A&1023)<<2)>>2]=e,i[f+24>>2]=r+1)}function T8(f,e,r){var A=0,k=0;i:{if(A=i[e+36>>2],e=i[e+40>>2],(A|0)!=(e|0))for(;;){if(k=i[A>>2],i[k+16>>2]==(r|0)){if(i[f>>2]=k,e=f,f=i[A+4>>2],i[e+4>>2]=f,!f)break i;i[f+4>>2]=i[f+4>>2]+1;return}if(A=A+8|0,(e|0)==(A|0))break}i[f>>2]=0,i[f+4>>2]=0}}function i2(f,e){var r=0,A=0;A=B-16|0,B=A,r=i[e+48>>2];i:{if(r&16){r=i[e+24>>2],r>>>0>k0[e+44>>2]&&(i[e+44>>2]=r),j3(f,i[e+20>>2],i[e+44>>2]);break i}if(r&8){j3(f,i[e+8>>2],i[e+16>>2]);break i}e=B-16|0,B=e,i[f>>2]=0,i[f+4>>2]=0,i[f+8>>2]=0,B=e+16|0}B=A+16|0}function aW(f){f=f|0;var e=0,r=0,A=0;if(f=i[19590],f){if(e=f,r=i[19591],(e|0)!=(r|0)){for(;;){e=i[r-4>>2];i:{if(!e||(A=i[e+4>>2],i[e+4>>2]=A-1,A))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(r=r-8|0,(r|0)==(f|0))break}e=i[19590]}i[19591]=f,G(e)}}function li(f,e){var r=0,A=0;r=B-16|0,B=r,i[r+12>>2]=f;i:{if((f|0)==(e|0))break i;for(;;){if(e=e-1|0,i[r+8>>2]=e,f>>>0>=e>>>0)break i;f=i[r+12>>2],e=s[f|0],A=f,f=i[r+8>>2],l[A|0]=s[f|0],l[f|0]=e,f=i[r+12>>2]+1|0,i[r+12>>2]=f,e=i[r+8>>2]}}B=r+16|0}function oe(f,e,r){var A=0,k=0,n=0;if(i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0,A=i[e+56>>2],e=i[e+60>>2],(A|0)!=(e|0))for(n=f+8|0;;){if(i[A+40>>2]==(r|0)){i:{if(k0[n>>2]>k>>>0){Z6(k,A),k=k+56|0;break i}k=xA(f,A)}i[f+4>>2]=k}if(A=A+56|0,(e|0)==(A|0))break}}function gi(f,e){var r=0,A=0,k=0;A=-1;i:{if((f|0)==-1)break i;k=i[e+76>>2]<0;r:{r=i[e+4>>2];e:{if(!r&&(g6(e),r=i[e+4>>2],!r))break e;if(i[e+44>>2]-8>>>0<r>>>0)break r}if(k)break i;return-1}r=r-1|0,i[e+4>>2]=r,l[r|0]=f,i[e>>2]=i[e>>2]&-17,A=f&255}return A}function SW(f,e,r){if(f=f|0,e=e|0,r=r|0,w2(r,Q[e+4>>1]),w2(r,Q[e+6>>1]),w2(r,Q[e+8>>1]),A2(r,s[e+10|0]?128:0),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];return}_0(f,i[19566],i[19567])}function Q9(f,e,r){var A=0,k=0,n=0,t=0;A=B-16|0,B=A,f=$0(f),i[f+32>>2]=e,i[f>>2]=55816,k=A+12|0,e=i[f+4>>2],i[k>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(k,100200),O0(k),i[f+40>>2]=r,i[f+36>>2]=e,n=f,t=V[i[i[e>>2]+28>>2]](e)|0,l[n+44|0]=t,B=A+16|0}function y9(f,e,r){var A=0,k=0,n=0,t=0;A=B-16|0,B=A,f=vt(f),i[f+32>>2]=e,i[f>>2]=56020,k=A+12|0,e=i[f+4>>2],i[k>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(k,100208),O0(k),i[f+40>>2]=r,i[f+36>>2]=e,n=f,t=V[i[i[e>>2]+28>>2]](e)|0,l[n+44|0]=t,B=A+16|0}function _3(f){var e=0,r=0,A=0,k=0;if(A=i[f>>2],A){if(e=A,r=i[f+4>>2],(e|0)!=(r|0)){for(;;){e=i[r-4>>2];i:{if(!e||(k=i[e+4>>2],i[e+4>>2]=k-1,k))break i;V[i[i[e>>2]+8>>2]](e),g(e)}if(r=r-8|0,(r|0)==(A|0))break}e=i[f>>2]}i[f+4>>2]=A,G(e)}}function r8(f,e){var r=0,A=0;r=B-16|0,B=r,s[f+11|0]>>>7|0&&Q8(i[f>>2],4);i:if(s[e+11|0]>>>7|0)break i;i[f+8>>2]=i[e+8>>2],A=i[e+4>>2],i[f>>2]=i[e>>2],i[f+4>>2]=A,l[e+11|0]=s[e+11|0]&128,l[e+11|0]=s[e+11|0]&127,i[r+12>>2]=0,i[e>>2]=i[r+12>>2],B=r+16|0}function OW(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0;if(Q1(f,i[e+8>>2],0)){v3(e,r,A);return}k=i[f+12>>2],n=f+16|0,g9(n,e,r,A);i:{if((k|0)<2)break i;for(k=(k<<3)+n|0,f=f+24|0;;){if(g9(f,e,r,A),s[e+54|0])break i;if(f=f+8|0,!(k>>>0>f>>>0))break}}}function Y6(f){var e=0,r=0,A=0;X[f+20>>1]=8,i[f+12>>2]=510,i[f+16>>2]=0,e=i[f+4>>2],A=i[f+8>>2]-e|0;i:{if((A|0)<=0||(i[f+4>>2]=e+1,r=s[e|0],X[f+20>>1]=0,r=r<<8,i[f+16>>2]=r,(A|0)==1))break i;i[f+4>>2]=e+2,e=s[e+1|0],X[f+20>>1]=65528,i[f+16>>2]=e|r}}function r1(f){var e=0,r=0,A=0,k=0;if(r=B-16|0,B=r,i[r+12>>2]=f,A=B-16|0,B=A,i[f>>2]!=-1){for(e=A+12|0,i[e>>2]=r+12,k=A+8|0,i[k>>2]=e;e=i[f>>2],(e|0)==1;);e||(i[f>>2]=1,Pt(k),i[f>>2]=-1)}return B=A+16|0,B=r+16|0,i[f+4>>2]-1|0}function q1(f,e){var r=0,A=0;r=B-16|0,B=r,s[f+11|0]>>>7|0&&Q8(i[f>>2],1);i:if(s[e+11|0]>>>7|0)break i;i[f+8>>2]=i[e+8>>2],A=i[e+4>>2],i[f>>2]=i[e>>2],i[f+4>>2]=A,l[e+11|0]=s[e+11|0]&128,l[e+11|0]=s[e+11|0]&127,l[r+15|0]=0,l[e|0]=s[r+15|0],B=r+16|0}function J6(f){var e=0,r=0,A=0;e=i[f+76>>2];i:{if((e|0)!=-1){f=e;break i}e=f,r=B-16|0,B=r,A=r+12|0,f=i[f+28>>2],i[A>>2]=f,(f|0)!=100008&&(i[f+4>>2]=i[f+4>>2]+1),f=x0(A,100192),f=V[i[i[f>>2]+28>>2]](f,32)|0,O0(A),B=r+16|0,i[e+76>>2]=f}return f<<24>>24}function jW(f,e,r){if(f=f|0,e=e|0,r=r|0,!r){e=i[18414],i[f>>2]=i[18413],i[f+4>>2]=e,i[f+8>>2]=i[18415];return}if(i[r>>2]>=4){e=i[18423],i[f>>2]=i[18422],i[f+4>>2]=e,i[f+8>>2]=i[18424];return}q7(r),i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e}function PW(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0,t=0;i:{for(;;){if((A|0)!=(k|0)){if(f=-1,(e|0)==(r|0)||(n=i[e>>2],t=i[A>>2],(n|0)<(t|0)))break i;if((n|0)>(t|0))return 1;A=A+4|0,e=e+4|0;continue}break}f=(e|0)!=(r|0)}return f|0}function g6(f){var e=0,r=0;return e=i[f+72>>2],i[f+72>>2]=e-1|e,i[f+20>>2]!=i[f+28>>2]&&V[i[f+36>>2]](f,0,0)|0,i[f+28>>2]=0,i[f+16>>2]=0,i[f+20>>2]=0,e=i[f>>2],e&4?(i[f>>2]=e|32,-1):(r=i[f+44>>2]+i[f+48>>2]|0,i[f+8>>2]=r,i[f+4>>2]=r,e<<27>>31)}function Y2(f,e){var r=0,A=0,k=0;i:{if(A=G2(e),r=s[f+11|0]>>>7|0?(i[f+8>>2]&2147483647)-1|0:10,s[f+11|0]>>>7|0?k=i[f+4>>2]:k=s[f+11|0]&127,A>>>0<=r>>>0){s[f+11|0]>>>7|0?r=i[f>>2]:r=f,Jo(r,e,A),Zt(f,r,A);break i}Pr(f,r,A-r|0,k,0,k,A,e)}}function le(f,e,r,A){var k=0,n=0;return k=B-160|0,B=k,n=e?f:k+158|0,i[k+148>>2]=n,f=e-1|0,i[k+152>>2]=f>>>0<=e>>>0?f:0,f=B0(k,0,144),i[f+76>>2]=-1,i[f+36>>2]=978,i[f+80>>2]=-1,i[f+44>>2]=f+159,i[f+84>>2]=f+148,l[n|0]=0,e=qr(f,r,A,976,977),B=f+160|0,e}function D4(f,e){var r=0,A=0,k=0,n=0,t=0,o=0;r=i[e>>2],A=i[e+4>>2]-r|0,k=i[f+12>>2],t=A+k|0,n=i[f>>2],o=i[f+4>>2]-n|0,t>>>0>o>>>0&&(L2(f,t-o|0),k=i[f+12>>2],n=i[f>>2],r=i[e>>2],A=i[e+4>>2]-r|0),l0(k+n|0,r,A),i[f+12>>2]=i[f+12>>2]+(i[e+4>>2]-i[e>>2]|0)}function v3(f,e,r){var A=0;if(A=i[f+36>>2],!A){i[f+24>>2]=r,i[f+16>>2]=e,i[f+36>>2]=1,i[f+20>>2]=i[f+56>>2];return}i:{if(!(i[f+20>>2]!=i[f+56>>2]|i[f+16>>2]!=(e|0))){if(i[f+24>>2]!=2)break i;i[f+24>>2]=r;return}l[f+54|0]=1,i[f+24>>2]=2,i[f+36>>2]=A+1}}function F9(f){var e=0,r=0,A=0;if(r=B-16|0,B=r,s[79117]==1&&(i[r+4>>2]=i[f+4>>2],i[r>>2]=f,f8(22011,r)),e=i[f+4>>2],e){A=i[e>>2]-1|0,i[e>>2]=A;i:{if(A||(A=i[f>>2],A&&(G(A),e=i[f+4>>2],!e)))break i;G(e)}i[f>>2]=0,i[f+4>>2]=0}B=r+16|0}function LW(f){f=f|0;var e=0;i:{if(e=i[f+12>>2],f=i[f+8>>2],e-f>>>0>524280)break i;if((f|0)==(e|0))return 0;for(;;){if(i[f>>2]-32768>>>0<4294901760|i[f+4>>2]-32768>>>0<=4294901759)break i;if(f=f+8|0,(e|0)==(f|0))break}return 0}return 1}function a4(f,e,r){var A=0,k=0,n=0,t=0;i[f+112>>2]=e,i[f+116>>2]=r,k=i[f+4>>2],A=i[f+44>>2]-k|0,i[f+120>>2]=A,i[f+124>>2]=A>>31,A=i[f+8>>2];i:{if(!(e|r)||(n=A-k|0,t=n>>31,(r|0)>=(t|0)&e>>>0>=n>>>0|(r|0)>(t|0)))break i;A=e+k|0}i[f+104>>2]=A}function KW(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;if(A2(e,s[f+4|0]?3:6),k1(e,r,i[f+12>>2]-i[f+8>>2]>>3,0),A=i[f+8>>2],k=i[f+12>>2],(A|0)!=(k|0))for(;f=i[A>>2],k1(e,r,f,f>>31),f=i[A+4>>2],k1(e,r,f,f>>31),A=A+8|0,(k|0)!=(A|0););}function qW(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;if(A=i[e+8>>2],r=G2(A),r>>>0<2147483640){i:{r:{if(r>>>0>=11){k=(r|7)+1|0,e=U(k),i[f+8>>2]=k|-2147483648,i[f>>2]=e,i[f+4>>2]=r,f=e;break r}if(l[f+11|0]=r,!r)break i}l0(f,A,r)}l[f+r|0]=0;return}c2(),P()}function $W(f,e){if(f=f|0,e=e|0,!e){e=i[18414],i[f>>2]=i[18413],i[f+4>>2]=e,i[f+8>>2]=i[18415];return}if(i[e>>2]>=4){e=i[18423],i[f>>2]=i[18422],i[f+4>>2]=e,i[f+8>>2]=i[18424];return}q7(e),i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e}function bW(f,e){if(f=f|0,e=e|0,!e){e=i[18414],i[f>>2]=i[18413],i[f+4>>2]=e,i[f+8>>2]=i[18415];return}if(i[e>>2]>=4){e=i[18423],i[f>>2]=i[18422],i[f+4>>2]=e,i[f+8>>2]=i[18424];return}j7(e),i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e}function v0(f,e,r){var A=0,k=0,n=0,t=0;A=i[f+64>>2];i:{if(!A)break i;for(k=f- -64|0,f=k;n=i[A+16>>2]<(e|0),f=n?f:A,A=i[(n<<2)+A>>2],!!A;);if((f|0)==(k|0)|i[f+16>>2]>(e|0))break i;r&&(i[r>>2]=i[f+48>>2]),t=i[f+40>>2]}return t}function dW(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;A=B-32|0,B=A;i:{if(!e){if(l[A|0]=0,l[A+11|0]=0,e=f,f=r0(A+12|0,5,2001,A),P0(e,f,0),l[f+19|0]<0&&G(i[f+8>>2]),l[A+11|0]>=0)break i;G(i[A>>2]);break i}V[i[i[e>>2]+44>>2]](f,i[e+4>>2],r)}B=A+32|0}function cW(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;A=B-32|0,B=A;i:{if(!e){if(l[A|0]=0,l[A+11|0]=0,e=f,f=r0(A+12|0,5,2001,A),P0(e,f,0),l[f+19|0]<0&&G(i[f+8>>2]),l[A+11|0]>=0)break i;G(i[A>>2]);break i}V[i[i[e>>2]+52>>2]](f,i[e+4>>2],r)}B=A+32|0}function E9(f){var e=0,r=0,A=0,k=0,n=0;if(A=i[f>>2],e=l[A|0]-48|0,e>>>0>9)return 0;for(;k=-1,r>>>0<=214748364&&(r=m(r,10),k=(r^2147483647)>>>0<e>>>0?-1:r+e|0),e=A+1|0,i[f>>2]=e,n=l[A+1|0],r=k,A=e,e=n-48|0,e>>>0<10;);return r}function iX(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0;return t=B-16|0,B=t,i[t+12>>2]=e,o=t+8|0,e=i[A+28>>2],i[o>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(o,100192),O0(o),mt(f,n+24|0,t+12|0,r,k,e),B=t+16|0,i[t+12>>2]}function rX(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;f=i[f>>2],A=i[f+64>>2],f=i[f+68>>2],f&&(i[f+4>>2]=i[f+4>>2]+1),!r|!A||(i[e>>2]=i[A+20>>2],k=1);i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}return k|0}function eX(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0;return t=B-16|0,B=t,i[t+12>>2]=e,o=t+8|0,e=i[A+28>>2],i[o>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(o,100192),O0(o),st(f,n+16|0,t+12|0,r,k,e),B=t+16|0,i[t+12>>2]}function AX(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0;return t=B-16|0,B=t,i[t+12>>2]=e,o=t+8|0,e=i[A+28>>2],i[o>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(o,100184),O0(o),Bt(f,n+24|0,t+12|0,r,k,e),B=t+16|0,i[t+12>>2]}function fX(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0;return t=B-16|0,B=t,i[t+12>>2]=e,o=t+8|0,e=i[A+28>>2],i[o>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(o,100184),O0(o),ht(f,n+16|0,t+12|0,r,k,e),B=t+16|0,i[t+12>>2]}function Y9(f,e){var r=0,A=0,k=0;if(U2(+f),A=j0(1)|0,k=j0(0)|0,r=A>>>20&2047,(r|0)!=2047){if(!r)return f==0?r=0:(f=Y9(f*18446744073709552e3,e),r=i[e>>2]+-64|0),i[e>>2]=r,f;i[e>>2]=r-1022,N2(0,k|0),N2(1,A&-2146435073|1071644672),f=+m1()}return f}function U0(f,e){var r=0,A=0,k=0;A=i[f+64>>2],r=255;i:{if(!A)break i;for(k=f- -64|0,f=k;r=i[A+16>>2]<(e|0),f=r?f:A,A=i[(r<<2)+A>>2],!!A;);if(r=255,(f|0)==(k|0)||(r=255,i[f+16>>2]>(e|0)))break i;r=s[f+20|0]}return r}function N6(f){f=f|0;var e=0,r=0;if(f){e=i[f+12>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}e=i[f+4>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}G(f)}}function J9(f){var e=0,r=0;for(e=B-16|0,B=e,i[e+4>>2]=100016,r=i[25005],i[e+8>>2]=r,i[e+12>>2]=r+(f<<2),f=i[e+8>>2],r=i[e+12>>2];;){if((f|0)==(r|0))i[i[e+4>>2]+4>>2]=i[e+8>>2],B=e+16|0;else{i[f>>2]=0,f=f+4|0,i[e+8>>2]=f;continue}break}}function R6(f,e){var r=0,A=0,k=0,n=0;return r=f*f,A=r*.5,k=1-A,n=1-k-A,A=r*r,k+(n+(r*(r*(r*(r*2480158728947673e-20+-.001388888888887411)+.0416666666666666)+A*A*(r*(r*-11359647557788195e-27+2087572321298175e-24)+-27557314351390663e-23))-f*e))}function Z1(f){var e=0,r=0;i:{if(e=i[f+4>>2],r=i[i[e>>2]-12>>2],r=e+r|0,!i[r+24>>2]|(i[r+16>>2]|!(i[r+4>>2]&8192))||(e=i[(e+i[i[e>>2]-12>>2]|0)+24>>2],(V[i[i[e>>2]+24>>2]](e)|0)!=-1))break i;f=i[f+4>>2],J4(i[i[f>>2]-12>>2]+f|0,1)}}function g9(f,e,r,A){var k=0,n=0,t=0;n=i[f+4>>2],t=n&1;i:{if(s[e+55|0]==1){if(k=n>>8,!t)break i;k=i[i[r>>2]+k>>2];break i}if(k=n>>8,!t)break i;i[e+56>>2]=i[i[f>>2]+4>>2],n=i[f+4>>2],r=0,k=0}f=i[f>>2],V[i[i[f>>2]+28>>2]](f,e,r+k|0,n&2?A:2)}function ui(f,e,r){var A=0,k=0;k=B-16|0,B=k,A=B-32|0,B=A,pe(A+24|0,f,(e<<2)+f|0),At(A+16|0,i[A+24>>2],i[A+28>>2],r),i[A+12>>2]=(i[A+16>>2]-f|0)+f,i[A+8>>2]=(i[A+20>>2]-r|0)+r,i[k+8>>2]=i[A+12>>2],i[k+12>>2]=i[A+8>>2],B=A+32|0,B=k+16|0}function kX(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0;return f=B-16|0,B=f,i[f+12>>2]=e,t=f+8|0,e=i[A+28>>2],i[t>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(t,100192),O0(t),Et(n+20|0,f+12|0,r,k,e),B=f+16|0,i[f+12>>2]}function nX(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0;return f=B-16|0,B=f,i[f+12>>2]=e,t=f+8|0,e=i[A+28>>2],i[t>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(t,100184),O0(t),Yt(n+20|0,f+12|0,r,k,e),B=f+16|0,i[f+12>>2]}function tX(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;r=i[f>>2],f=i[r+164>>2],A=i[r+168>>2];i:{if((f|0)==(A|0))break i;for(;;){if(r=i[f>>2],i[r>>2]!=(e|0)){if(f=f+8|0,(A|0)!=(f|0))continue;break i}break}k=l[r+27|0]<0?i[r+16>>2]:r+16|0}return k|0}function oX(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;r=i[f>>2],f=i[r+164>>2],A=i[r+168>>2];i:{if((f|0)==(A|0))break i;for(;;){if(r=i[f>>2],i[r>>2]!=(e|0)){if(f=f+8|0,(A|0)!=(f|0))continue;break i}break}k=l[r+39|0]<0?i[r+28>>2]:r+28|0}return k|0}function Ni(f){var e=0,r=0;if(e=B-16|0,B=e,i[(i[i[f>>2]-12>>2]+f|0)+24>>2]){V1(e+8|0,f);i:{if(!s[e+8|0]||(r=i[(i[i[f>>2]-12>>2]+f|0)+24>>2],(V[i[i[r>>2]+24>>2]](r)|0)!=-1))break i;J4(i[i[f>>2]-12>>2]+f|0,1)}Z1(e+8|0)}B=e+16|0}function lX(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;r=i[f>>2],f=i[r+164>>2],A=i[r+168>>2];i:{if((f|0)==(A|0))break i;for(;;){if(r=i[f>>2],i[r>>2]!=(e|0)){if(f=f+8|0,(A|0)!=(f|0))continue;break i}break}k=l[r+15|0]<0?i[r+4>>2]:r+4|0}return k|0}function e8(f,e,r){var A=0,k=0;k=B-16|0,B=k,A=B-32|0,B=A,pe(A+24|0,f,f+e|0),kt(A+16|0,i[A+24>>2],i[A+28>>2],r),i[A+12>>2]=(i[A+16>>2]-f|0)+f,i[A+8>>2]=(i[A+20>>2]-r|0)+r,i[k+8>>2]=i[A+12>>2],i[k+12>>2]=i[A+8>>2],B=A+32|0,B=k+16|0}function H2(f,e){var r=0,A=0,k=0;A=f- -64|0,f=i[f+64>>2];i:{r:{if(!f)break r;for(r=A;k=i[f+16>>2]<(e|0),r=k?r:f,f=i[(k<<2)+f>>2],!!f;);if((r|0)==(A|0))break r;if(i[r+16>>2]<=(e|0))break i}r=A}return(r|0)!=(A|0)}function T0(f){f=f|0;var e=0,r=0;for(i[f>>2]=55348,e=i[f+40>>2];;){if(e){e=e-1|0,r=e<<2,V[i[i[f+32>>2]+r>>2]](0,f,i[r+i[f+36>>2]>>2]);continue}break}return O0(f+28|0),G(i[f+32>>2]),G(i[f+36>>2]),G(i[f+48>>2]),G(i[f+60>>2]),f|0}function uX(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;r=i[f>>2],f=i[r+164>>2],A=i[r+168>>2];i:{if((f|0)==(A|0))break i;for(;;){if(r=i[f>>2],i[r>>2]!=(e|0)){if(f=f+8|0,(A|0)!=(f|0))continue;break i}break}k=i[r+44>>2]-i[r+40>>2]|0}return k|0}function D6(f,e,r){var A=0,k=0;i:{if(!T4(f,r)||(k=i[f>>2],A=i[f+4>>2],A&&(i[A+4>>2]=i[A+4>>2]+1),V[i[i[k>>2]+16>>2]](k,e,r)|0||vi(f),!A)||(f=i[A+4>>2],i[A+4>>2]=f-1,f))break i;V[i[i[A>>2]+8>>2]](A),g(A)}}function X4(f,e,r){if(r=i[r+4>>2]&176,(r|0)==32)return e;i:{if((r|0)!=16)break i;r:{e:switch(r=s[f|0],r-43|0){case 0:case 2:break e;default:break r}return f+1|0}if((r|0)!=48|(e-f|0)<2|(s[f+1|0]|32)!=120)break i;f=f+2|0}return f}function sX(f,e){f=f|0,e=e|0;var r=0,A=0;r=V[i[i[f>>2]+68>>2]](i[f+4>>2])|0,f=i[r>>2];i:{if(!f)break i;for(;;){if(v4(i[f+4>>2],e)){if(f=i[r+4>>2],r=r+4|0,f)continue;break i}break}if(A=1,i[f>>2]<2)break i;A=i[f+36>>2]}return A|0}function hX(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;i:{if(!s[f+44|0])for(r=(r|0)>0?r:0;;){if((r|0)==(A|0))break i;if((V[i[i[f>>2]+52>>2]](f,i[e>>2])|0)==-1)return A|0;e=e+4|0,A=A+1|0}r=F1(e,4,r,i[f+32>>2])}return r|0}function wX(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;i:{if(!s[f+44|0])for(r=(r|0)>0?r:0;;){if((r|0)==(A|0))break i;if((V[i[i[f>>2]+52>>2]](f,s[e|0])|0)==-1)return A|0;e=e+1|0,A=A+1|0}r=F1(e,1,r,i[f+32>>2])}return r|0}function C1(f,e){var r=0,A=0,k=0;if(r=G2(e),r>>>0<2147483640){i:{r:{if(r>>>0>=11){k=(r|7)+1|0,A=U(k),i[f+8>>2]=k|-2147483648,i[f>>2]=A,i[f+4>>2]=r;break r}if(l[f+11|0]=r,A=f,!r)break i}F2(A,e,r)}return l[r+A|0]=0,f}c2(),P()}function _X(f){f=f|0;var e=0,r=0;e=i[f>>2],f=i[e+184>>2],e=i[e+188>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),f=f?i[f+12>>2]-i[f+8>>2]|0:0;i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}return f|0}function y4(f,e){var r=0,A=0,k=0,n=0;A=-1,r=i[f+64>>2];i:{if(!r)break i;for(k=f- -64|0,f=k;n=i[r+16>>2]<(e|0),f=n?f:r,r=i[(n<<2)+r>>2],!!r;);if((f|0)==(k|0)|i[f+16>>2]>(e|0))break i;A=i[f+24>>2]}return A}function F4(f,e){var r=0,A=0,k=0,n=0;A=-1,r=i[f+64>>2];i:{if(!r)break i;for(k=f- -64|0,f=k;n=i[r+16>>2]<(e|0),f=n?f:r,r=i[(n<<2)+r>>2],!!r;);if((f|0)==(k|0)|i[f+16>>2]>(e|0))break i;A=i[f+28>>2]}return A}function U6(f,e,r){var A=0,k=0,n=0,t=0;A=B-16|0,B=A,k=A+12|0,e=i[e+28>>2],i[k>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(k,100256),n=r,t=V[i[i[e>>2]+16>>2]](e)|0,i[n>>2]=t,V[i[i[e>>2]+20>>2]](f,e),O0(k),B=A+16|0}function m3(f,e,r){f=f|0,e=e|0,r=r|0;i:switch(e|0){case 6:l[f+514|0]=(r|0)!=0;return;case 7:l[f+532|0]=(r|0)!=0;return;case 8:l[f+533|0]=(r|0)!=0;return;default:C0(9349,14071,535,7495),P();case 0:break i}l[f+512|0]=(r|0)!=0}function vX(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-80|0,B=A;i:{if(!(r&&e)){i[f>>2]=5,i[f+4>>2]=2006,i[f+8>>2]=12607;break i}k=A+8|0,Cn(k,e),l0(r,k,72),i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e}B=A+80|0}function mX(f){f=f|0;var e=0,r=0;e=i[f>>2],f=i[e+52>>2],e=i[e+56>>2],e&&(i[e+4>>2]=i[e+4>>2]+1),f=f?i[f+12>>2]-i[f+8>>2]|0:0;i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}return f|0}function o2(f,e,r,A){var k=0,n=0,t=0,o=0;return n=e^A,t=n>>31,k=e>>31,f=f^k,o=f-k|0,k=(e^k)-((f>>>0<k>>>0)+k|0)|0,f=A>>31,e=r^f,n=n>>31,f=K6(o,k,e-f|0,(f^A)-((f>>>0>e>>>0)+f|0)|0)^n,e=f-n|0,w0=(t^w0)-((f>>>0<n>>>0)+t|0)|0,e}function M6(f,e,r){var A=0,k=0,n=0,t=0;A=B-16|0,B=A,k=A+12|0,e=i[e+28>>2],i[k>>2]=e,(e|0)!=100008&&(i[e+4>>2]=i[e+4>>2]+1),e=x0(k,100248),n=r,t=V[i[i[e>>2]+16>>2]](e)|0,l[n|0]=t,V[i[i[e>>2]+20>>2]](f,e),O0(k),B=A+16|0}function BX(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;A=B-80|0,B=A;i:{if(!(r&&e)){i[f+8>>2]=0,i[f>>2]=5,i[f+4>>2]=2001;break i}k=A+8|0,Cn(k,e),l0(r,k,72),i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e}B=A+80|0}function ZX(f){f=f|0;var e=0,r=0,A=0;return e=B-16|0,B=e,i[e+12>>2]=i[f+8>>2],r=S4(e+8|0,e+12|0),A=h7(0,0,4),r=i[r>>2],r&&(i[23985]=(r|0)==-1?95820:r),B=e+16|0,A?-1:(f=i[f+8>>2],f?($9(f)|0)==1|0:1)}function ue(f,e){var r=0,A=0,k=0;i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;i:{if(r=i[e+4>>2],r){if(r>>>0>=1073741824)break i;A=r<<2,r=U(A),i[f+4>>2]=r,i[f>>2]=r,k=r+A|0,i[f+8>>2]=k,F2(r,i[e>>2],A),i[f+4>>2]=k}return f}y0(),P()}function N9(f,e,r,A,k,n){var t=0,o=0,u=0;t=B-16|0,B=t,l[t+15|0]=0,l[t+14|0]=n,l[t+13|0]=k,l[t+12|0]=37,n&&(k=s[t+13|0],l[t+13|0]=s[t+14|0],l[t+14|0]=k),o=r,u=Wk(e,i[r>>2]-e|0,t+12|0,A,i[f>>2])+e|0,i[o>>2]=u,B=t+16|0}function _4(f,e,r){var A=0,k=0,n=0;k=B-16|0,B=k,A=i[f+4>>2],n=i[f+8>>2]&2147483647;i:{if(n>>>0>r>>>0){A=i[f>>2],i[f+4>>2]=r,e8(e,r,A),l[k+15|0]=0,l[r+A|0]=s[k+15|0];break i}Pr(f,n-1|0,(r-n|0)+1|0,A,0,A,r,e)}B=k+16|0}function i4(f,e,r){var A=0,k=0,n=0;A=B-16|0,B=A,k=s[f+11|0],n=k&127;i:{if(r>>>0<=10){l[f+11|0]=k&128|r&127,l[f+11|0]=s[f+11|0]&127,e8(e,r,f),l[A+15|0]=0,l[f+r|0]=s[A+15|0];break i}Pr(f,10,r-10|0,n,0,n,r,e)}B=A+16|0}function q0(f,e,r,A){var k=0,n=0,t=0,o=0,u=0,h=0;return k=r>>>16|0,n=f>>>16|0,h=m(k,n),t=r&65535,o=f&65535,u=m(t,o),n=(u>>>16|0)+m(n,t)|0,k=(n&65535)+m(k,o)|0,w0=(m(e,r)+h|0)+m(f,A)+(n>>>16)+(k>>>16)|0,u&65535|k<<16}function B3(f){f=f|0;var e=0,r=0,A=0,k=0;return A=x8(f),k=V[i[f+12>>2]](f)|0,l[f|0]&1||(e=i[f+56>>2],r=i[f+52>>2],r&&(i[r+56>>2]=e),e&&(i[e+52>>2]=r),i[23946]==(f|0)&&(i[23946]=e),G(i[f+96>>2]),G(f)),A|k}function pX(f,e,r){if(f=f|0,e=e|0,r=r|0,!(r&&e)){i[f>>2]=5,i[f+4>>2]=2006,i[f+8>>2]=12607;return}i[r>>2]=i[e>>2],i[r+4>>2]=i[e+4>>2],i[r+8>>2]=i[e+8>>2],i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e}function WX(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0,t=0;f=i[f>>2],r=i[f+92>>2],A=i[f+96>>2],k=i[f+84>>2],n=i[f+88>>2],t=i[f+104>>2],i[e+16>>2]=i[f+100>>2],i[e+20>>2]=t,i[e+8>>2]=r,i[e+12>>2]=A,i[e>>2]=k,i[e+4>>2]=n}function XX(f,e){f=f|0,e=e|0;var r=0,A=0,k=0,n=0;return r=B-16|0,B=r,k=r+4|0,V[i[f>>2]](k,e),e=l[r+15|0],f=(e|0)<0,e=f?i[r+8>>2]:e,A=Z2(e+4|0),i[A>>2]=e,n=i[r+4>>2],l0(A+4|0,f?n:k,e),f&&G(n),B=r+16|0,A|0}function Z3(f,e,r,A,k,n){if(f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,!J0(i[e>>2],r,A,k,n)){e=i[18417],i[f>>2]=i[18416],i[f+4>>2]=e,i[f+8>>2]=i[18418];return}e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}function w2(f,e){var r=0,A=0,k=0,n=0;r=i[f+12>>2],k=r+2|0,A=i[f>>2],n=i[f+4>>2]-A|0,k>>>0>n>>>0&&(L2(f,k-n|0),A=i[f>>2],r=i[f+12>>2]),i[f+12>>2]=r+1,l[r+A|0]=e>>>8,r=i[f+12>>2],i[f+12>>2]=r+1,l[r+i[f>>2]|0]=e}function p3(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;i:{if((e|0)<12||(e=s[f+8|0],!e)||(r=s[f+9|0],!r)||(A=s[f+10|0],!A)||(f=s[f+11|0],!f))break i;k=f|(r<<16|e<<24|A<<8)}return k|0}function GX(f){f=f|0;var e=0;l[f+11|0]=6,l[f+6|0]=0,e=s[16835]|s[16836]<<8|(s[16837]<<16|s[16838]<<24),l[f|0]=e,l[f+1|0]=e>>>8,l[f+2|0]=e>>>16,l[f+3|0]=e>>>24,e=s[16839]|s[16840]<<8,l[f+4|0]=e,l[f+5|0]=e>>>8}function CX(f,e){f=f|0,e=e|0;var r=0;e&&(r=i[e+4>>2],f=i[f>>2],i[f+84>>2]=i[e>>2],i[f+88>>2]=r,r=i[e+20>>2],i[f+100>>2]=i[e+16>>2],i[f+104>>2]=r,r=i[e+12>>2],i[f+92>>2]=i[e+8>>2],i[f+96>>2]=r,l[f+108|0]=1)}function VX(f){f=f|0;var e=0,r=0,A=0;return f=i[f>>2],e=i[f+48>>2],f=i[f+52>>2],f?(r=i[f+4>>2],A=r+1|0,i[f+4>>2]=A,e=i[e+116>>2],i[f+4>>2]=r,A||(V[i[i[f>>2]+8>>2]](f),g(f)),e|0):i[e+116>>2]}function R9(f,e){var r=0,A=0,k=0;i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0;i:{if(r=i[e+4>>2],r){if((r|0)<0)break i;A=U(r),i[f+4>>2]=A,i[f>>2]=A,k=r+A|0,i[f+8>>2]=k,F2(A,i[e>>2],r),i[f+4>>2]=k}return f}y0(),P()}function D9(f,e){var r=0,A=0;r=B-16|0,B=r,V1(r+8|0,f);i:{if(!s[r+8|0]||(A=r+4|0,i[A>>2]=i[(i[i[f>>2]-12>>2]+f|0)+24>>2],S3(A,e),i[A>>2]))break i;J4(i[i[f>>2]-12>>2]+f|0,1)}Z1(r+8|0),B=r+16|0}function IX(f,e,r){if(f=f|0,e=e|0,r=r|0,i[e+8>>2]!=3){e=i[18429],i[f>>2]=i[18428],i[f+4>>2]=e,i[f+8>>2]=i[18430];return}r&&(i[r>>2]=i[e+16>>2]),e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e,i[f+8>>2]=i[18412]}function QX(f){f=f|0;var e=0,r=0,A=0;e=B-16|0,B=e,Ve(),Or(e+4|0,f,0),r=i[e+8>>2],f=i[e+4>>2];i:{r:{if((r|0)!=(f|0)){A=i[i[f>>2]>>2];break r}if(!r)break i}i[e+8>>2]=f,G(f)}return B=e+16|0,(A|0)!=0|0}function yX(f,e,r){if(f=f|0,e=e|0,r=r|0,D4(r,e+8|0),e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];return}_0(f,i[19566],i[19567])}function FX(f){f=f|0;var e=0,r=0,A=0,k=0,n=0;return e=B-16|0,B=e,k=e+4|0,V[f|0](k),r=l[e+15|0],f=(r|0)<0,r=f?i[e+8>>2]:r,A=Z2(r+4|0),i[A>>2]=r,n=i[e+4>>2],l0(A+4|0,f?n:k,r),f&&G(n),B=e+16|0,A|0}function EX(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0,t=0;A=B-32|0,B=A,k=A+12|0,n=l[r+11|0],t=(n|0)<0,UA(k,i[e>>2],t?i[r>>2]:r,t?i[r+4>>2]:n,1),P0(f,k,i[e>>2]),l[A+31|0]<0&&G(i[A+20>>2]),B=A+32|0}function U9(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;if(e>>>0<3)return A=i[((e<<2)+f|0)- -64>>2],r&&(i[r>>2]=m(i[(e?44:40)+f>>2],(i[i[f+124>>2]+(e?16840:16832)>>2]+7|0)/8|0)),A|0;C0(16871,14071,671,9800),P()}function $1(f,e,r,A,k){var n=0;if(n=B-256|0,B=n,!(k&73728|(r|0)<=(A|0))){if(A=r-A|0,r=A>>>0<256,B0(n,e,r?A:256),!r)for(;H1(f,n,256),A=A-256|0,A>>>0>255;);H1(f,n,A)}B=n+256|0}function YX(f,e){f=f|0,e=e|0;var r=0,A=0;e=x0(e,100200),i[f+36>>2]=e,r=f,A=V[i[i[e>>2]+24>>2]](e)|0,i[r+44>>2]=A,e=i[f+36>>2],r=f,A=V[i[i[e>>2]+28>>2]](e)|0,l[r+53|0]=A,i[f+44>>2]>=9&&(u1(),P())}function M9(f,e){var r=0,A=0;if(r=i[f+8>>2],f=i[f+12>>2],(r|0)!=(f|0))for(f=f-r>>2,A=f>>>0<=1?1:f,f=0;;){if(i[i[(f<<2)+r>>2]>>2]==(e|0))return f;if(f=f+1|0,(A|0)==(f|0))break}return-1}function JX(f,e){f=f|0,e=e|0;var r=0,A=0;e=x0(e,100208),i[f+36>>2]=e,r=f,A=V[i[i[e>>2]+24>>2]](e)|0,i[r+44>>2]=A,e=i[f+36>>2],r=f,A=V[i[i[e>>2]+28>>2]](e)|0,l[r+53|0]=A,i[f+44>>2]>=9&&(u1(),P())}function x9(f,e,r,A,k,n){var t=0,o=0;if(r-1>>>0<=1){r=0,o=A>>>0>3,t=o?t:i[(A<<2)+36244>>2],r=o?r:i[(A<<2)+36260>>2],i[k>>2]=((f+t|0)-1|0)/(t|0),i[n>>2]=((e+r|0)-1|0)/(r|0);return}i[k>>2]=f,i[n>>2]=e}function Ri(f,e){var r=0,A=0;r=B-16|0,B=r,D8(r+8|0,f,e),e=i[i[r+8>>2]+56>>2],f=i[r+12>>2];i:{if(!f||(A=i[f+4>>2],i[f+4>>2]=A-1,A))break i;V[i[i[f>>2]+8>>2]](f),g(f)}return B=r+16|0,e}function W3(f,e,r,A){var k=0,n=0;return i[f+24>>2]=0,i[f+16>>2]=0,i[f+20>>2]=0,i[f+8>>2]=r,i[f+12>>2]=0,i[f>>2]=68392,A?(A=U(r),i[f+24>>2]=A,k=f,n=l0(A,e,r),i[k+4>>2]=n,f):(i[f+4>>2]=e,f)}function gX(){var f=0;return f=U(36),X[f+2>>1]=0,X[f+4>>1]=0,X[f>>1]=263,l[f+32|0]=1,l[f+28|0]=0,i[f+20>>2]=2,i[f+24>>2]=2,l[f+16|0]=1,i[f+12>>2]=1,l[f+5|0]=0,l[f+6|0]=0,l[f+7|0]=0,l[f+8|0]=0,f|0}function z9(f,e,r){var A=0,k=0,n=0;A=B-16|0,B=A,n=i[f+48>>2],f=U(4),i[A+4>>2]=f,k=f+4|0,i[A+12>>2]=k,i[f>>2]=r,i[A+8>>2]=k,P1(n,e,1835103083,A+4|0),f=i[A+4>>2],f&&(i[A+8>>2]=f,G(f)),B=A+16|0}function x6(f,e){var r=0,A=0;return r=B-16|0,B=r,A=r+12|0,f=i[f+28>>2],i[A>>2]=f,(f|0)!=100008&&(i[f+4>>2]=i[f+4>>2]+1),f=x0(A,100184),V[i[i[f>>2]+48>>2]](f,60064,60090,e)|0,O0(A),B=r+16|0,e}function si(f,e){var r=0,A=0;r=i[e>>2],A=i[e+4>>2],i[e>>2]=0,i[e+4>>2]=0,e=i[f+4>>2],i[f>>2]=r,i[f+4>>2]=A;i:{if(!e||(f=i[e+4>>2],i[e+4>>2]=f-1,f))break i;V[i[i[e>>2]+8>>2]](e),g(e)}}function NX(f){f=f|0;var e=0,r=0,A=0,k=0;i:{if(!f||(e=s[f|0],!e)||(r=s[f+1|0],!r)||(A=s[f+2|0],!A)||(f=s[f+3|0],!f))break i;k=f|(r<<16|e<<24|A<<8)}return k|0}function H9(f){f=f|0;var e=0,r=0;i:{if(i[f+2192>>2]<=0||(e=i[f+2188>>2],e=i[i[i[f+2176>>2]+(e>>>8&16777212)>>2]+((e&1023)<<2)>>2],!e))break i;l[e+104|0]=0,K9(f+2140|0),r=e}return r|0}function RX(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0;return k=B-16|0,B=k,f=_s(i[f+60>>2],e|0,r|0,A&255,k+8|0)|0,f?(i[23944]=f,f=-1):f=0,B=k+16|0,w0=f?-1:i[k+12>>2],(f?-1:i[k+8>>2])|0}function X3(f,e){var r=0,A=0;A=B-16|0,B=A,l[f|0]=0,r=i[i[e>>2]-12>>2]+e|0;i:{if(!i[r+16>>2]){i[r+72>>2]&&Ni(i[r+72>>2]),l[f|0]=!i[(i[i[e>>2]-12>>2]+e|0)+16>>2];break i}J4(r,4)}B=A+16|0}function T9(f,e){var r=0,A=0;i:{if(r=i[f>>2],!r)break i;A=i[r+24>>2];r:{if((A|0)==i[r+28>>2]){e=V[i[i[r>>2]+52>>2]](r,e)|0;break r}i[r+24>>2]=A+4,i[A>>2]=e}if((e|0)!=-1)break i;i[f>>2]=0}}function a9(f,e,r,A){i:{if(!f)break i;r:switch(e+2|0){case 0:l[f|0]=r;return;case 1:X[f>>1]=r;return;case 2:case 3:i[f>>2]=r;return;case 5:break r;default:break i}i[f>>2]=r,i[f+4>>2]=A}}function G3(f){var e=0;return e=i[f+72>>2],i[f+72>>2]=e-1|e,e=i[f>>2],e&8?(i[f>>2]=e|32,-1):(i[f+4>>2]=0,i[f+8>>2]=0,e=i[f+44>>2],i[f+28>>2]=e,i[f+20>>2]=e,i[f+16>>2]=e+i[f+48>>2],0)}function C3(f,e,r,A,k,n,t,o,u){var h=0;h=B-16|0,B=h,s4(h,e,r,A,k,n,t,o,u^-2147483648),A=i[h>>2],r=i[h+4>>2],e=i[h+12>>2],i[f+8>>2]=i[h+8>>2],i[f+12>>2]=e,i[f>>2]=A,i[f+4>>2]=r,B=h+16|0}function DX(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0,n=0;return k=i[f+84>>2],A=r+256|0,n=PA(k,0,A),A=n?n-k|0:A,r=r>>>0>A>>>0?A:r,l0(e,k,r),e=k+A|0,i[f+84>>2]=e,i[f+8>>2]=e,i[f+4>>2]=r+k,r|0}function v4(f,e){var r=0,A=0;r=s[f|0],A=s[e|0];i:{if(!r|(r|0)!=(A|0))break i;for(;;){if(A=s[e+1|0],r=s[f+1|0],!r)break i;if(e=e+1|0,f=f+1|0,(r|0)!=(A|0))break}}return r-A|0}function UX(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0;var t=0,o=0;return t=B-16|0,B=t,i[t+8>>2]=624576549,i[t+12>>2]=1394948685,o=f,f=t+16|0,e=B8(o,e,r,A,k,n,t+8|0,f),B=f,e|0}function S9(f,e){var r=0;i:{if(!e||(e=N0(e,67148,67404),!e|i[e+8>>2]&(i[f+8>>2]^-1))||!Q1(i[f+12>>2],i[e+12>>2],0))break i;r=Q1(i[f+16>>2],i[e+16>>2],0)}return r}function MX(f,e,r,A,k){return f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,f=B-16|0,B=f,i[f+12>>2]=k,i[f+8>>2]=A-r,e=B-16|0,B=e,B=e+16|0,B=f+16|0,e=f+8|0,f=f+12|0,i[(k0[e>>2]<k0[f>>2]?e:f)>>2]}function a8(f){var e=0,r=0;return s[f+11|0]>>>7|0?e=i[f>>2]:e=f,s[f+11|0]>>>7|0?r=i[f+4>>2]:r=s[f+11|0]&127,f=B-16|0,B=f,i[f+12>>2]=(r<<2)+e,B=f+16|0,i[f+12>>2]}function xX(f,e,r){f=f|0,e=e|0,r=r|0;var A=0,k=0;return A=i[f+12>>2],k=i[f+8>>2],(A|0)>=(r|0)&k>>>0>=e>>>0|(r|0)<(A|0)&&f3(i[f+4>>2],e,r,0),(r|0)<=(A|0)&e>>>0<=k>>>0|(r|0)<(A|0)}function z6(f){f=f|0;var e=0;return e=i[13631],i[f>>2]=e,i[i[e-12>>2]+f>>2]=i[13639],i[f+12>>2]=53552,i[f+8>>2]=i[13640],l[f+55|0]<0&&G(i[f+44>>2]),K0(f+12|0),T0(f- -64|0),f|0}function zX(){var f=0;return f=U(48),i[f>>2]=0,i[f+4>>2]=0,i[f+32>>2]=0,i[f+36>>2]=0,l[f+24|0]=0,i[f+16>>2]=0,i[f+20>>2]=0,i[f+8>>2]=0,i[f+12>>2]=0,i[f+40>>2]=0,i[f+44>>2]=0,f|0}function HX(){var f=0;return f=U(44),i[f+24>>2]=0,X[f>>1]=5,i[f+4>>2]=0,i[f+8>>2]=0,l[f+40|0]=0,i[f+32>>2]=2,i[f+36>>2]=2,l[f+28|0]=1,i[f+12>>2]=0,i[f+16>>2]=0,X[f+20>>1]=0,f|0}function se(f,e,r,A){var k=0;return k=B-16|0,B=k,r=N4(i[f+44>>2],r),f=i[f+52>>2],r=r+1|0,X[k+14>>1]=r,l[k+12|0]=A,i[k+8>>2]=Q[k+12>>1]|Q[k+14>>1]<<16,c1(f,e,k+8|0),B=k+16|0,r}function TX(f,e,r,A){for(f=f|0,e=e|0,r=r|0,A=A|0;;){if((e|0)!=(r|0)){f=i[e>>2],f>>>0<=127?f=i[(f<<2)+60384>>2]:f=0,i[A>>2]=f,A=A+4|0,e=e+4|0;continue}break}return e|0}function Di(f){var e=0,r=0;e=i[19519],r=f+7&-8,f=e+r|0;i:{if(!(f>>>0<=e>>>0&&r)&&(f>>>0<=jo()<<16>>>0||Cs(f|0)|0))break i;return i[23944]=48,-1}return i[19519]=f,e}function aX(f,e){f=f|0,e=e|0;var r=0,A=0;r=U(8),i[r>>2]=0,i[r+4>>2]=0,A=i[19372],i[f>>2]=i[19371],i[f+4>>2]=A,i[f+8>>2]=i[19373],f=gk(),i[r>>2]=f,m3(f,7,1),m3(f,8,1),i[e>>2]=r}function S8(f){var e=0,r=0;return s[f+11|0]>>>7|0?e=i[f>>2]:e=f,s[f+11|0]>>>7|0?r=i[f+4>>2]:r=s[f+11|0]&127,f=B-16|0,B=f,i[f+12>>2]=e+r,B=f+16|0,i[f+12>>2]}function V3(f){var e=0;if(e=i[19565],i[f>>2]=i[19564],i[f+4>>2]=e,f=f+8|0,l[78275]>=0){e=i[19567],i[f>>2]=i[19566],i[f+4>>2]=e,i[f+8>>2]=i[19568];return}_0(f,i[19566],i[19567])}function SX(f,e,r){if(f=f|0,e=e|0,r=r|0,!(r&&e)){i[f>>2]=5,i[f+4>>2]=2006,i[f+8>>2]=12607;return}i0[r>>3]=i0[e+40>>3],i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e}function OX(f,e,r){if(f=f|0,e=e|0,r=r|0,!(r&&e)){i[f>>2]=5,i[f+4>>2]=2006,i[f+8>>2]=12607;return}i[r>>2]=i[e+72>>2],i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e}function V8(f){return l[f+26|0]=1,X[f+24>>1]=2,i[f+20>>2]=131074,i[f+12>>2]=8,l[f+8|0]=0,i[f>>2]=99,i[f+4>>2]=99,i[f+16>>2]=72992,l[f+26|0]=1,X[f+24>>1]=6,i[f+20>>2]=851969,f}function O9(f){var e=0,r=0;if(e=i[f>>2],e){r=i[e+12>>2];i:{if((r|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break i}e=i[r>>2]}if((e|0)!=-1)return!i[f>>2];i[f>>2]=0}return 1}function j9(f){var e=0,r=0;if(e=i[f>>2],e){r=i[e+12>>2];i:{if((r|0)==i[e+16>>2]){e=V[i[i[e>>2]+36>>2]](e)|0;break i}e=s[r|0]}if((e|0)!=-1)return!i[f>>2];i[f>>2]=0}return 1}function b1(f,e,r,A,k){var n=0;return n=B-16|0,B=n,i[n+12>>2]=r,i[n+8>>2]=k,r=S4(n+4|0,n+12|0),e=le(f,e,A,i[n+8>>2]),f=i[r>>2],f&&(i[23985]=(f|0)==-1?95820:f),B=n+16|0,e}function jX(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;A2(e,5),A=i[f+4>>2],k1(e,r,A,A>>31),A=i[f+8>>2],k1(e,r,A,A>>31),k1(e,r,i[f+12>>2],0),k1(e,r,i[f+16>>2],0),A2(e,0),D4(e,f+20|0)}function I3(f,e){var r=0,A=0;r=B-16|0,B=r;i:{if(!(s[e+11|0]>>>7|0)){i[f+8>>2]=i[e+8>>2],A=i[e+4>>2],i[f>>2]=i[e>>2],i[f+4>>2]=A;break i}_0(f,i[e>>2],i[e+4>>2])}B=r+16|0}function PX(f,e,r,A){for(f=f|0,e=e|0,r=r|0,A=A|0;;){i:{if((r|0)==(A|0)||(f=i[r>>2],i[(f<<2)+60384>>2]&e&&f>>>0<=127))break i;r=r+4|0;continue}break}return r|0}function LX(f,e,r,A){for(f=f|0,e=e|0,r=r|0,A=A|0;;){i:{if((r|0)==(A|0)||(f=i[r>>2],f>>>0>127|!(i[(f<<2)+60384>>2]&e)))break i;r=r+4|0;continue}break}return r|0}function P9(f,e,r){var A=0;return A=B-16|0,B=A,i[A+12>>2]=e,i[A+8>>2]=r,e=S4(A+4|0,A+12|0),r=sk(f,6131,i[A+8>>2]),f=i[e>>2],f&&(i[23985]=(f|0)==-1?95820:f),B=A+16|0,r}function L9(){var f=0,e=0;return f=B-16|0,B=f,i[f+12>>2]=1073741823,i[f+8>>2]=2147483647,e=B-16|0,B=e,B=e+16|0,B=f+16|0,e=f+8|0,f=f+12|0,i[(k0[e>>2]<k0[f>>2]?e:f)>>2]}function r0(f,e,r,A){return i[f+4>>2]=r,i[f>>2]=e,e=f+8|0,l[A+11|0]>=0?(r=i[A+4>>2],i[e>>2]=i[A>>2],i[e+4>>2]=r,i[e+8>>2]=i[A+8>>2],f):(_0(e,i[A>>2],i[A+4>>2]),f)}function E4(f,e){var r=0,A=0,k=0;r=G2(e),A=l[f+11|0],k=(A|0)<0;i:{if(((k?i[f+4>>2]:A)|0)==(r|0)){if((r|0)==-1)break i;f=!K2(k?i[f>>2]:f,e,r)}else f=0;return f}O3(),P()}function H6(f,e){var r=0;if(e){H6(f,i[e>>2]),H6(f,i[e+4>>2]),f=i[e+24>>2];i:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break i;V[i[i[f>>2]+8>>2]](f),g(f)}G(e)}}function he(f,e){var r=0;if(e){he(f,i[e>>2]),he(f,i[e+4>>2]),f=i[e+24>>2];i:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break i;V[i[i[f>>2]+8>>2]](f),g(f)}G(e)}}function K9(f){var e=0;i[f+52>>2]=i[f+52>>2]-1,e=i[f+48>>2]+1|0,i[f+48>>2]=e,e>>>0>=2048&&(G(i[i[f+36>>2]>>2]),i[f+36>>2]=i[f+36>>2]+4,i[f+48>>2]=i[f+48>>2]-1024)}function KX(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;return A=i[f+12>>2],A=((r|0)<=(A|0)&e>>>0<=k0[f+8>>2]|(r|0)<(A|0))&((r|0)>0|(r|0)>=0),A&&(i[f+16>>2]=e,i[f+20>>2]=r),A|0}function q9(f,e){var r=0,A=0,k=0,n=0;return i[f>>2]=68064,i[f>>2]=68176,r=G2(e),A=U(r+13|0),i[A+8>>2]=0,i[A+4>>2]=r,i[A>>2]=r,k=f,n=l0(A+12|0,e,r+1|0),i[k+4>>2]=n,f}function we(f,e){var r=0,A=0,k=0;k=i[f>>2],r=i[f+4>>2]-k|0,A=r+e|0;i:{if(A>>>0>r>>>0){L2(f,e);break i}if(A>>>0>=r>>>0)break i;i[f+4>>2]=A+k}i[f+12>>2]=i[f+12>>2]+e}function qX(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0;k=B-32|0,B=k,n=k+12|0,UA(n,i[e>>2],r,A,1),P0(f,n,i[e>>2]),l[k+31|0]<0&&G(i[k+20>>2]),B=k+32|0}function $X(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;var n=0;k=B-32|0,B=k,n=k+12|0,UA(n,i[e>>2],r,A,0),P0(f,n,i[e>>2]),l[k+31|0]<0&&G(i[k+20>>2]),B=k+32|0}function bX(f){f=f|0;var e=0;e=i[f+52>>2],e&&(i[f+56>>2]=e,G(e)),l[f+51|0]<0&&G(i[f+40>>2]),l[f+39|0]<0&&G(i[f+28>>2]),l[f+27|0]<0&&G(i[f+16>>2])}function dX(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;for(f=0;;){if((e|0)!=(r|0)){f=i[e>>2]+(f<<4)|0,A=f&-268435456,f=(A|A>>>24)^f,e=e+4|0;continue}break}return f|0}function $9(f){var e=0,r=0;return e=B-16|0,B=e,i[e+12>>2]=f,f=S4(e+8|0,e+12|0),r=i[i[23985]>>2]?4:1,f=i[f>>2],f&&(i[23985]=(f|0)==-1?95820:f),B=e+16|0,r}function cX(f,e){f=f|0,e=e|0;var r=0;r=-1;i:{if(!f|(e|0)<4||(r=0,s[f|0]!=255|s[f+1|0]!=216|s[f+2|0]!=255))break i;r=(s[f+3|0]&240)==224}return r|0}function iG(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;for(f=0;;){if((e|0)!=(r|0)){f=l[e|0]+(f<<4)|0,A=f&-268435456,f=(A|A>>>24)^f,e=e+1|0;continue}break}return f|0}function rG(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0,n=0;k=B-32|0,B=k,n=k+12|0,b7(n,i[e>>2],A,r),P0(f,n,i[e>>2]),l[k+31|0]<0&&G(i[k+20>>2]),B=k+32|0}function b9(){var f=0,e=0;s[79116]||(l[79116]=1),f=i[19772],i[19772]=f+1;i:{if((f|0)>0||(_k(),Zk()))break i;i[19772]=i[19772]-1,e=11}return e|0}function eG(f,e,r){for(f=f|0,e=e|0,r=r|0;;){if((e|0)!=(r|0)){f=i[e>>2],f>>>0<=127&&(f=i[i[14241]+(f<<2)>>2]),i[e>>2]=f,e=e+4|0;continue}break}return e|0}function AG(f,e,r){for(f=f|0,e=e|0,r=r|0;;){if((e|0)!=(r|0)){f=i[e>>2],f>>>0<=127&&(f=i[i[14628]+(f<<2)>>2]),i[e>>2]=f,e=e+4|0;continue}break}return e|0}function d9(f,e,r,A,k){var n=0;return n=B-16|0,B=n,i[n+12>>2]=k,k=S4(n+8|0,n+12|0),e=B6(f,e,r,A),f=i[k>>2],f&&(i[23985]=(f|0)==-1?95820:f),B=n+16|0,e}function c9(f,e,r){var A=0;return A=B-16|0,B=A,i[A+8>>2]=e,i[A+12>>2]=f,i[A+4>>2]=r,e=0,B=A+16|0,f=A+4|0,k0[f>>2]>=k0[A+12>>2]&&(e=k0[f>>2]<k0[A+8>>2]),e}function it(f){var e=0;l[f+27|0]<0&&G(i[f+16>>2]),f=i[f+4>>2];i:{if(!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}}function fG(f){return f=f|0,s[100300]?i[25074]:(s[101400]||(l[101400]=1),Y2(101376,15001),Y2(101388,14995),l[100300]=1,i[25074]=101376,101376)}function kG(f){return f=f|0,s[100308]?i[25076]:(s[101432]||(l[101432]=1),E2(101408,66848),E2(101420,66860),l[100308]=1,i[25076]=101408,101408)}function rt(f){var e=0;if(V[i[i[f>>2]+20>>2]](f),e=i[f+36>>2],f=i[f+40>>2],(e|0)!=(f|0))for(;rt(i[e>>2]),e=e+8|0,(f|0)!=(e|0););}function nG(f,e,r,A,k){for(f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;;){if((e|0)!=(r|0)){f=i[e>>2],l[k|0]=f>>>0<128?f:A,k=k+1|0,e=e+4|0;continue}break}return e|0}function tG(f,e,r){for(f=f|0,e=e|0,r=r|0;;){if((e|0)!=(r|0)){f=l[e|0],(f|0)>=0&&(f=i[i[14241]+(f<<2)>>2]),l[e|0]=f,e=e+1|0;continue}break}return e|0}function oG(f,e,r){for(f=f|0,e=e|0,r=r|0;;){if((e|0)!=(r|0)){f=l[e|0],(f|0)>=0&&(f=i[i[14628]+(f<<2)>>2]),l[e|0]=f,e=e+1|0;continue}break}return e|0}function Q3(f,e,r,A){e=se(i[f+48>>2],e,r,A),f=i[r+4>>2];i:{if(!f||(r=i[f+4>>2],i[f+4>>2]=r-1,r))break i;V[i[i[f>>2]+8>>2]](f),g(f)}return e}function lG(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;A2(e,1),A=i[f+4>>2],k1(e,r,A,A>>31),A=i[f+8>>2],k1(e,r,A,A>>31),k1(e,r,i[f+12>>2],0),k1(e,r,i[f+16>>2],0)}function uG(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;A2(e,2),A=i[f+4>>2],k1(e,r,A,A>>31),A=i[f+8>>2],k1(e,r,A,A>>31),k1(e,r,i[f+12>>2],0),k1(e,r,i[f+16>>2],0)}function sG(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;A2(e,4),A=i[f+4>>2],k1(e,r,A,A>>31),A=i[f+8>>2],k1(e,r,A,A>>31),k1(e,r,i[f+12>>2],0),k1(e,r,i[f+16>>2],0)}function _e(f,e,r,A){return i[f>>2]=i[e>>2],e=i[e+4>>2],l[f+20|0]=0,i[f+16>>2]=r,i[f+12>>2]=0,i[f+8>>2]=A,i[f+4>>2]=e,A&&(i[f+12>>2]=i[A+12>>2]+1),f}function hG(f,e,r,A,k){for(f=f|0,e=e|0,r=r|0,A=A|0,k=k|0;;){if((e|0)!=(r|0)){f=l[e|0],l[k|0]=(f|0)<0?A:f,k=k+1|0,e=e+1|0;continue}break}return e|0}function et(f){f=f|0;var e=0;return e=1,i[f+4>>2]-32768>>>0<4294901760|i[f+8>>2]-32768>>>0<4294901760|k0[f+12>>2]>65535||(e=k0[f+16>>2]>65535),e|0}function At(f,e,r,A){var k=0,n=0;k=B-16|0,B=k,i[k+12>>2]=r,n=e,e=r-e|0,Qo(A,n,e>>2),i[k+8>>2]=e+A,i[f>>2]=i[k+12>>2],i[f+4>>2]=i[k+8>>2],B=k+16|0}function wG(f,e,r,A,k,n,t,o,u,h){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0,h=h|0;var w=0;return w=e,e=0,V[f|0](w,r,A,k,n,e|t,o,e|u,h)|0}function _G(f,e,r,A,k,n){if(f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,Q1(f,i[e+8>>2],n)){n3(e,r,A,k);return}f=i[f+8>>2],V[i[i[f>>2]+20>>2]](f,e,r,A,k,n)}function ft(f,e,r){var A=0,k=0,n=0;A=B-16|0,B=A,k=A,n=O8(e),i[k+12>>2]=n,k=A,n=O8(r),i[k+8>>2]=n,i[f>>2]=i[A+12>>2],i[f+4>>2]=i[A+8>>2],B=A+16|0}function c(f,e,r){var A=0,k=0,n=0;A=B-16|0,B=A,k=i[12469],n=s[e|0]==42,n||F1(21517,6,1,k),i[A+12>>2]=r,qr(f,e+n|0,r,976,977),x8(k),B=A+16|0}function U(f){var e=0,r=0;for(r=f>>>0<=1?1:f;;){i:{if(f=Z2(r),f||(e=i[25435],!e))break i;V[e|0]();continue}break}return f||o4(),f}function kt(f,e,r,A){var k=0,n=0;k=B-16|0,B=k,i[k+12>>2]=r,n=e,e=r-e|0,Jo(A,n,e),i[k+8>>2]=e+A,i[f>>2]=i[k+12>>2],i[f+4>>2]=i[k+8>>2],B=k+16|0}function y3(f,e,r){var A=0;return A=B-16|0,B=A,i[A+12>>2]=r,r=S4(A+8|0,A+12|0),e=ie(f,e),f=i[r>>2],f&&(i[23985]=(f|0)==-1?95820:f),B=A+16|0,e}function ve(f){var e=0,r=0;e=B-16|0,B=e,r=-1;i:{if(g6(f)||(V[i[f+32>>2]](f,e+15|0,1)|0)!=1)break i;r=s[e+15|0]}return B=e+16|0,r}function nt(f,e){var r=0;return r=e>>31,f=f^r,hn(f-r|0,(e^r)-((f>>>0<r>>>0)+r|0)|0,100,0),w0=c8,f=r^d8,e=f-r|0,w0=(r^w0)-((f>>>0<r>>>0)+r|0)|0,e}function G4(f){f=f|0;var e=0,r=0;if(f){e=i[f+4>>2];i:{if(!e||(r=i[e+4>>2],i[e+4>>2]=r-1,r))break i;V[i[i[e>>2]+8>>2]](e),g(e)}G(f)}}function F1(f,e,r,A){var k=0;k=m(e,r);i:{if(i[A+76>>2]<0){f=ee(f,k,A);break i}f=ee(f,k,A)}return(k|0)==(f|0)?e?r:0:(f>>>0)/(e>>>0)|0}function F3(f,e,r,A,k,n,t,o,u,h,w,_,v,Z){if((Z|0)<=8){V[i[f+12>>2]](e,r,A,k,n,t,o,u,h,w,_,v);return}V[i[f+28>>2]](e,r,A,k,n,t,o,u,h,w,_,v,Z)}function vG(f,e){f=f|0,e=e|0;i:{if(i[19575]||(mA(),!s[78304]))break i;bA()}i[19575]=i[19575]+1,i[f+8>>2]=34640,i[f>>2]=0,i[f+4>>2]=0}function tt(f){f=f|0;var e=0;i[f+2192>>2]&&(e=i[f+2188>>2],l[i[i[i[f+2176>>2]+(e>>>8&16777212)>>2]+((e&1023)<<2)>>2]+104|0]=0,K9(f+2140|0))}function mG(f){f=f|0;var e=0,r=0,A=0;r=f,e=k0[f+56>>2]>65535?3:s[f+124|0]?2:0,A=i[f+68>>2],f=l[f+75|0],l[r+48|0]=((f|0)<0?A:f)&&e>>>0<=2?2:e}function E3(f,e,r){var A=0;A=1;i:switch(r|0){case 2:return!(f&1);case 1:return!((f|e)&1);default:A=0;break;case 0:case 3:break i}return A}function BG(f){f=f|0;var e=0;f&&(e=i[f+4>>2],e&&G(e),e=i[f+8>>2],e&&G(e),e=i[f+12>>2],e&&G(e),e=i[f+16>>2],e&&G(e),G(f))}function ZG(f,e){f=f|0,e=e|0;var r=0,A=0;V[i[i[f>>2]+24>>2]](f)|0,e=x0(e,100200),i[f+36>>2]=e,r=f,A=V[i[i[e>>2]+28>>2]](e)|0,l[r+44|0]=A}function pG(f,e){f=f|0,e=e|0;var r=0,A=0;V[i[i[f>>2]+24>>2]](f)|0,e=x0(e,100208),i[f+36>>2]=e,r=f,A=V[i[i[e>>2]+28>>2]](e)|0,l[r+44|0]=A}function WG(f,e,r,A,k,n,t,o,u){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,u=u|0;var h=0;return h=e,e=0,V[f|0](h,r,A,k,e|n,t,e|o,u)|0}function ot(f){var e=0;e=i[f+60>>2],e&&(i[f+64>>2]=e,G(e)),e=i[f+48>>2],e&&(i[f+52>>2]=e,G(e)),e=i[f+36>>2],e&&(i[f+40>>2]=e,G(e))}function me(f,e,r){var A=0;A=i0[r>>3],i0[f>>3]=i0[e+32>>3]+(A*i0[e>>3]+A*i0[e+8>>3]),i0[f+8>>3]=i0[e+40>>3]+(A*i0[e+16>>3]+i0[r+8>>3]*i0[e+24>>3])}function XG(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;r=e,e=i[e>>2]+7&-8,i[r>>2]=e+16,A=f,k=YA(i[e>>2],i[e+4>>2],i[e+8>>2],i[e+12>>2]),i0[A>>3]=k}function lt(f,e){var r=0;return r=i[f+24>>2],(r|0)==i[f+28>>2]?V[i[i[f>>2]+52>>2]](f,e&255)|0:(i[f+24>>2]=r+1,l[r|0]=e,e&255)}function GG(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=+A,k=+k,n=+n,f&&(l[f+24|0]=0,i0[f+16>>3]=n/+(r|0),n=k,k=+(e|0),i0[f+8>>3]=n/k,i0[f>>3]=A/k)}function Y3(f,e,r,A,k,n){var t=0,o=0;t=i[f+4>>2],o=t>>8,f=i[f>>2],t&1&&(o=i[i[A>>2]+o>>2]),V[i[i[f>>2]+20>>2]](f,e,r,A+o|0,t&2?k:2,n)}function CG(f){f=f|0;var e=0;return f=i[f>>2],e=i[f+64>>2],f=i[f+68>>2],!f|i[f+4>>2]!=-1||(V[i[i[f>>2]+8>>2]](f),g(f)),(e|0)!=0|0}function ut(f,e,r){var A=0;A=B-16|0,B=A;i:{if(!(l[e+120|0]&1|r>>>0>30)){l[e+120|0]=1;break i}e=eo(r)}B=A+16|0,i[f+4>>2]=r,i[f>>2]=e}function VG(f,e){f=f|0,e=e|0,e&&(f=f<<24|(f&65280)<<8|(f>>>8&65280|f>>>24),l[e|0]=f,l[e+1|0]=f>>>8,l[e+2|0]=f>>>16,l[e+3|0]=f>>>24)}function Be(f,e,r,A,k){var n=0,t=0;n=i[f+4>>2],t=n>>8,f=i[f>>2],n&1&&(t=i[i[r>>2]+t>>2]),V[i[i[f>>2]+24>>2]](f,e,r+t|0,n&2?A:2,k)}function st(f,e,r,A,k,n){f=V[i[i[f+8>>2]+4>>2]](f+8|0)|0,f=Nr(r,A,f,f+288|0,n,k,0)-f|0,(f|0)<=287&&(i[e>>2]=((f|0)/12|0)%12)}function ht(f,e,r,A,k,n){f=V[i[i[f+8>>2]+4>>2]](f+8|0)|0,f=Rr(r,A,f,f+288|0,n,k,0)-f|0,(f|0)<=287&&(i[e>>2]=((f|0)/12|0)%12)}function wt(f,e){if(!i[e+4>>2]){V[i[i[e>>2]+36>>2]](f,e+4|0);return}e=i[18138],i[f>>2]=i[18137],i[f+4>>2]=e,i[f+8>>2]=i[18139]}function IG(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,A&&(i[A>>2]=0),e=i[18282],i[f>>2]=i[18281],i[f+4>>2]=e,i[f+8>>2]=i[18283]}function QG(f,e,r,A){for(f=f|0,e=e|0,r=r|0,A=A|0;;){if((e|0)!=(r|0)){i[A>>2]=l[e|0],A=A+4|0,e=e+1|0;continue}break}return e|0}function yG(f,e,r,A){for(f=f|0,e=e|0,r=r|0,A=A|0;;){if((e|0)!=(r|0)){l[A|0]=s[e|0],A=A+1|0,e=e+1|0;continue}break}return e|0}function FG(f){f=f|0;var e=0,r=0;return e=U(8),r=i[f+8>>2],f=i[f+12>>2],f&&(i[f+4>>2]=i[f+4>>2]+1),i[e+4>>2]=f,i[e>>2]=r,e|0}function _t(f,e,r){var A=0;for(A=B-16|0,B=A,l[A+15|0]=r;;){if(e){l[f|0]=s[A+15|0],e=e-1|0,f=f+1|0;continue}break}B=A+16|0}function EG(f,e,r,A){if(f=f|0,e=e|0,r=r|0,A=A|0,Q1(f,i[e+8>>2],0)){v3(e,r,A);return}f=i[f+8>>2],V[i[i[f>>2]+28>>2]](f,e,r,A)}function O8(f){var e=0;return e=B-16|0,B=e,i[e+12>>2]=f,f=B-16|0,B=f,i[f+12>>2]=i[e+12>>2],B=f+16|0,B=e+16|0,i[f+12>>2]}function YG(f,e){f=f|0,e=e|0;var r=0;return e=N0(e,68572,68596),!e|i[f+56>>2]!=i[e+56>>2]||(r=i[f+60>>2]==i[e+60>>2]),r|0}function g(f){var e=0,r=0;i:{if(e=f+8|0,i[e>>2]&&(r=e,e=i[e>>2]-1|0,i[r>>2]=e,(e|0)!=-1))break i;V[i[i[f>>2]+16>>2]](f)}}function Ze(f){var e=0;e=i[f+328>>2],i[f+328>>2]=e-1,i[f+336>>2]=i[f+336>>2]+1,!((e|0)>0)&&(C0(17278,14027,677,4391),P())}function vt(f){return i[f>>2]=53392,CA(f+4|0),i[f+24>>2]=0,i[f+28>>2]=0,i[f+16>>2]=0,i[f+20>>2]=0,i[f+8>>2]=0,i[f+12>>2]=0,f}function mt(f,e,r,A,k,n){f=V[i[i[f+8>>2]>>2]](f+8|0)|0,f=Nr(r,A,f,f+168|0,n,k,0)-f|0,(f|0)<=167&&(i[e>>2]=((f|0)/12|0)%7)}function Bt(f,e,r,A,k,n){f=V[i[i[f+8>>2]>>2]](f+8|0)|0,f=Rr(r,A,f,f+168|0,n,k,0)-f|0,(f|0)<=167&&(i[e>>2]=((f|0)/12|0)%7)}function JG(f,e){f=f|0,e=e|0;var r=0;return r=i[f+2152>>2],f=i[f+2148>>2],r-f>>2>>>0>e>>>0?f=i[f+(e<<2)>>2]:f=0,f|0}function $0(f){return i[f>>2]=53144,CA(f+4|0),i[f+24>>2]=0,i[f+28>>2]=0,i[f+16>>2]=0,i[f+20>>2]=0,i[f+8>>2]=0,i[f+12>>2]=0,f}function b0(f,e){i[f+20>>2]=0,i[f+24>>2]=e,i[f+12>>2]=0,i[f+4>>2]=4098,i[f+8>>2]=6,i[f+16>>2]=!e,B0(f+32|0,0,40),CA(f+28|0)}function v1(f){var e=0;i:{if(f=i[f+4>>2],!f||(e=i[f+4>>2],i[f+4>>2]=e-1,e))break i;V[i[i[f>>2]+8>>2]](f),g(f)}}function Zt(f,e,r){var A=0;A=B-16|0,B=A;i:if(s[f+11|0]>>>7|0)break i;wi(f,r),l[A+15|0]=0,l[e+r|0]=s[A+15|0],B=A+16|0}function gG(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;return A=i[e+12>>2],f=i[f+16>>2]==1970628964?24:8,we(e,r?f+8|0:f),we(e,4),A|0}function pt(f){var e=0;return e=i[f+12>>2],(e|0)==i[f+16>>2]?V[i[i[f>>2]+40>>2]](f)|0:(i[f+12>>2]=e+4,i[e>>2])}function NG(f){f=f|0;var e=0;return(V[i[i[f>>2]+36>>2]](f)|0)==-1?-1:(e=f,f=i[f+12>>2],i[e+12>>2]=f+4,i[f>>2])}function Wt(){var f=0;return s[79116]||(l[79116]=1),f=i[19772],(f|0)<=0?12:(f=f-1|0,i[19772]=f,f||Eo(),0)}function Xt(f){f=f|0;var e=0,r=0;return i[f>>2]=68176,e=i[f+4>>2]-12|0,r=i[e+8>>2]-1|0,i[e+8>>2]=r,(r|0)<0&&G(e),f|0}function Gt(f){var e=0;i[f+8>>2]=0,i[f+12>>2]=0,e=i[f+16>>2],i[f+16>>2]=0,e=e>>3,i[f>>2]=i[f>>2]-e,i[f+4>>2]=e+i[f+4>>2]}function V1(f,e){return i[f+4>>2]=e,l[f|0]=0,e=i[i[e>>2]-12>>2]+e|0,i[e+16>>2]||(e=i[e+72>>2],e&&Ni(e),l[f|0]=1),f}function RG(f){f=f|0;var e=0;return(V[i[i[f>>2]+36>>2]](f)|0)==-1?-1:(e=f,f=i[f+12>>2],i[e+12>>2]=f+1,s[f|0])}function Ct(f){var e=0;return e=i[f+12>>2],(e|0)==i[f+16>>2]?V[i[i[f>>2]+40>>2]](f)|0:(i[f+12>>2]=e+1,s[e|0])}function Vt(f){return f=(f|0)>2147481747?f-2e3|0:f,f&3?0:(f=f+1900|0,(f|0)%100|0?1:!((f|0)%400|0))}function It(f,e,r){var A=0,k=0;A=i0[r>>3],k=i0[r+8>>3],i0[f>>3]=A*i0[e>>3]+k*i0[e+8>>3],i0[f+8>>3]=A*i0[e+16>>3]+k*i0[e+24>>3]}function Y4(f,e,r,A){i[r+12>>2]=A,V[i[i[e>>2]+36>>2]](f,e,r,i[r+4>>2]-(i[r>>2]+A|0)|0,0),i[r+12>>2]=i[r+4>>2]-i[r>>2]}function O0(f){var e=0;f=i[f>>2],(f|0)!=100008&&(e=i[f+4>>2]-1|0,i[f+4>>2]=e,(e|0)==-1&&V[i[i[f>>2]+8>>2]](f))}function DG(f,e){f=f|0,e=e|0;var r=0,A=0;r=U(1),i[f+8>>2]=i[18554],A=i[18553],i[f>>2]=i[18552],i[f+4>>2]=A,i[e>>2]=r}function UG(f){f=f|0;var e=0,r=0;if(e=i[f>>2],e)for(;G(e),r=r+1|0,e=i[(r<<2)+f>>2],!!e;);G(f)}function MG(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0;var k=0;return k=B-16|0,B=k,V[f|0](k+8|0,e,r,A),B=k+16|0,i[k+12>>2]}function Qt(f,e,r,A,k,n){i[f>>2]=e,i[f+4>>2]=r,i[f+8>>2]=A,i[f+12>>2]=k&65535|(n>>>16&32768|(k&2147418112)>>>16)<<16}function pe(f,e,r){var A=0;A=B-16|0,B=A,i[A+12>>2]=e,i[A+8>>2]=r,i[f>>2]=i[A+12>>2],i[f+4>>2]=i[A+8>>2],B=A+16|0}function J3(f,e){var r=0;return r=B-16|0,B=r,i[r+12>>2]=i[f>>2],i[r+12>>2]=i[r+12>>2]+(e<<2),B=r+16|0,i[r+12>>2]}function xG(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;return A=i[e+12>>2],f=i[f+16>>2]==1970628964?24:8,we(e,r?f+8|0:f),A|0}function S4(f,e){var r=0;return r=i[23985],e=i[e>>2],e&&(i[23985]=(e|0)==-1?95820:e),i[f>>2]=(r|0)==95820?-1:r,f}function zG(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;A=B-16|0,B=A,i[A+8>>2]=1,i[A+12>>2]=485,Qk(f,e,A+8|0,r),B=A+16|0}function hi(f,e,r,A){var k=0;k=B-32|0,B=k,Wr(k+12|0,i[f+60>>2],e,r,A),l[k+31|0]<0&&G(i[k+20>>2]),B=k+32|0}function A8(f){i:{if(f=i[f+4>>2]&74,f){if((f|0)==64)return 8;if((f|0)!=8)break i;return 16}return 0}return 10}function HG(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=i[18556],i[f>>2]=i[18555],i[f+4>>2]=e,i[f+8>>2]=i[18557]}function TG(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,e=i[18553],i[f>>2]=i[18552],i[f+4>>2]=e,i[f+8>>2]=i[18554]}function yt(f,e){var r=0,A=0;A=i[e>>2],i[e>>2]=0,r=i[f>>2],i[f>>2]=A,r&&V[i[f+4>>2]](r),i[f+4>>2]=i[e+4>>2]}function Q1(f,e,r){return r?(f|0)==(e|0)?1:!v4(i[f+4>>2],i[e+4>>2]):i[f+4>>2]==i[e+4>>2]}function g3(f){f=f|0;var e=0;return e=i[13752],i[f>>2]=e,i[i[e-12>>2]+f>>2]=i[13755],I6(f+8|0),T0(f+108|0),f|0}function N3(f){f=f|0;var e=0;return e=i[13791],i[f>>2]=e,i[i[e-12>>2]+f>>2]=i[13794],I6(f+4|0),T0(f+104|0),f|0}function o1(f,e,r){var A=0;return A=B-16|0,B=A,i[A+12>>2]=e,i[f>>2]=i[A+12>>2],i[f+4>>2]=i[r>>2],B=A+16|0,f}function aG(f,e,r){f=f|0,e=e|0,r=r|0,f=i[e+4>>2],f&&G(f),f=i[e+8>>2],f&&G(f),f=i[e+12>>2],f&&G(f)}function R3(f,e){var r=0;return r=B-16|0,B=r,i[r+12>>2]=i[f>>2],i[r+12>>2]=i[r+12>>2]+e,B=r+16|0,i[r+12>>2]}function SG(f,e,r){f=f|0,e=e|0,r=r|0,s3(i[e>>2],r),i[f+8>>2]=i[18412],e=i[18411],i[f>>2]=i[18410],i[f+4>>2]=e}function Ft(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,i[f+8>>2]=-1,i[f+12>>2]=-1,i[f>>2]=0,i[f+4>>2]=0}function D3(f){f=f|0;var e=0;return e=i[13707],i[f>>2]=e,i[i[e-12>>2]+f>>2]=i[13710],K3(f+4|0),T0(f+56|0),f|0}function wi(f,e){if(s[f+11|0]>>>7|0){i[f+4>>2]=e;return}l[f+11|0]=s[f+11|0]&128|e&127,l[f+11|0]=s[f+11|0]&127}function OG(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;A2(e,0),A=i[f+4>>2],k1(e,r,A,A>>31),f=i[f+8>>2],k1(e,r,f,f>>31)}function C4(f){var e=0;return s[f+11|0]>>>7|0&&(f=i[f>>2]),e=B-16|0,B=e,i[e+12>>2]=f,B=e+16|0,i[e+12>>2]}function Et(f,e,r,A,k){e=q4(e,r,A,k,4),s[A|0]&4||(i[f>>2]=((e|0)<69?e+2e3|0:e>>>0<100?e+1900|0:e)-1900)}function Yt(f,e,r,A,k){e=$4(e,r,A,k,4),s[A|0]&4||(i[f>>2]=((e|0)<69?e+2e3|0:e>>>0<100?e+1900|0:e)-1900)}function T6(f,e,r){f=f|0,e=e|0,r=r|0;i:{if(f&&(f=i[f>>2],f))break i;return i[r>>2]=0,0}return v0(f,e,r)|0}function U3(f,e,r){if(r)for(;;){if(i[f>>2]==(e|0))return f;if(f=f+4|0,r=r-1|0,!r)break}return 0}function jG(f,e){f=f|0,e=e|0;var r=0,A=0,k=0;f=i[f>>2],r=e>>31,A=f,k=q0(e,r,e,r),i[A+64>>2]=k,i[f+68>>2]=w0}function M3(f,e){var r=0;r=f+4|0,i[r>>2]=55348,i[r>>2]=53680,i[f>>2]=53260,i[r>>2]=53280,Qe(i[13312]+f|0,e)}function x3(f,e){var r=0;r=f+4|0,i[r>>2]=55348,i[r>>2]=54116,i[f>>2]=53508,i[r>>2]=53528,Qe(i[13374]+f|0,e)}function Jt(f,e){e&&(X[f+4>>1]=i[e+4>>2],X[f+6>>1]=i[e+8>>2],X[f+8>>1]=i[e+12>>2],l[f+10|0]=s[e+16|0]!=0)}function PG(f,e,r){f=f|0,e=e|0,r=r|0,i[r>>2]=100,i[f+8>>2]=i[18554],e=i[18553],i[f>>2]=i[18552],i[f+4>>2]=e}function LG(f){f=f|0;var e=0;return e=i[f+4>>2],i[f+4>>2]=0,i[f>>2]=68360,e&&V[i[i[e>>2]+4>>2]](e),f|0}function KG(f,e,r){f=f|0,e=e|0,r=r|0;var A=0;return A=B-16|0,B=A,V[f|0](A+8|0,e,r),B=A+16|0,i[A+12>>2]}function gt(){var f=0;return f=Z2(52),f&&(l[f+16|0]=1,i[f+12>>2]=6,i[f+4>>2]=1,i[f+8>>2]=13,l[f|0]=1),f|0}function Nt(f,e,r,A,k,n,t,o){return f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,i[k>>2]=r,i[o>>2]=n,3}function _i(f,e){var r=0,A=0;return r=i[f+56>>2],A=e,e=i[f+60>>2],r=U3(r,A,e-r>>2),((r||e)|0)!=i[f+60>>2]}function qG(f,e,r){f=f|0,e=e|0,r=r|0,i[r>>2]=1,i[f+8>>2]=i[18554],e=i[18553],i[f>>2]=i[18552],i[f+4>>2]=e}function $G(f,e,r){f=f|0,e=e|0,r=r|0,i[r>>2]=0,i[f+8>>2]=i[18554],e=i[18553],i[f>>2]=i[18552],i[f+4>>2]=e}function Rt(f,e,r){return f=f|0,e=e|0,r=r|0,e=e>>>0>k0[f+8>>2],f=i[f+12>>2],(e&(r|0)>=(f|0)|(f|0)<(r|0))<<1}function Dt(f){Q[f+8>>1]==2&&(X[f+8>>1]=6),Q[f+4>>1]==2&&(X[f+4>>1]=1),Q[f+6>>1]==2&&(X[f+6>>1]=13)}function bG(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,e=i[18553],i[f>>2]=i[18552],i[f+4>>2]=e,i[f+8>>2]=i[18554]}function a6(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,e=i[18556],i[f>>2]=i[18555],i[f+4>>2]=e,i[f+8>>2]=i[18557]}function dG(f){f=f|0;var e=0,r=0;return f=i[f+4>>2],e=G2(f)+1|0,r=Z2(e),r?f=l0(r,f,e):f=0,f|0}function cG(f){f=f|0;var e=0;e=i[f+4>>2],i[f+4>>2]=0,i[f>>2]=68360,e&&V[i[i[e>>2]+4>>2]](e),G(f)}function iC(f,e,r){return f=f|0,e=e|0,r=r|0,f=V[i[i[f+4>>2]+16>>2]](e,r,i[f+8>>2])|0,(f>>>0>=2?2:f)|0}function Ut(f){if(i[f+20>>2]!=i[f+24>>2])for(;On(f),i[f+20>>2]!=i[f+24>>2];);}function z3(f){i[f+136>>2]||(i[f+136>>2]=i[i[23985]>>2]?55472:55448),i[f+72>>2]||(i[f+72>>2]=1)}function rC(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,v8(f,e,r,A,k,n,t,1,1,o)}function eC(f){f=f|0;var e=0;return e=B-16|0,B=e,s9(e,i[f+4>>2]),B=e+16|0,w0=i[e+12>>2],i[e+8>>2]}function AC(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,v8(f,e,r,A,k,n,t,1,2,o)}function fC(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,v8(f,e,r,A,k,n,t,1,3,o)}function kC(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,v8(f,e,r,A,k,n,t,2,1,o)}function nC(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,v8(f,e,r,A,k,n,t,2,2,o)}function tC(f,e){return f=f|0,e=e|0,e>>>0<=2?f=i[i[f+124>>2]+i[(e<<2)+41368>>2]>>2]:f=0,f|0}function oC(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,v8(f,e,r,A,k,n,t,2,3,o)}function lC(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,v8(f,e,r,A,k,n,t,3,1,o)}function uC(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,v8(f,e,r,A,k,n,t,3,3,o)}function sC(){i[19641]=1,i[19635]=5952,i[19634]=3,i[19633]=9093,i[19632]=2,i[19617]=0,i[19616]=78528}function hC(f,e,r,A,k,n,t,o){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,o=o|0,v8(f,e,r,A,k,n,t,3,2,o)}function wC(f,e,r){return f=f|0,e=e|0,r=r|0,r>>>0<=127?f=(i[(r<<2)+60384>>2]&e)!=0:f=0,f|0}function Mt(f,e){var r=0;r=B-16|0,B=r;i:{if((f|0)==(e|0)){l[f+120|0]=0;break i}Q8(e,4)}B=r+16|0}function H3(f,e,r){var A=0;return A=B-16|0,B=A,r=U3(f,i[r>>2],e-f>>2),B=A+16|0,((r||e)-f|0)+f|0}function _C(f,e,r,A,k,n,t){return f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,V[f|0](e,r,A,k,n,t)|0}function We(f){if(i[f+336>>2]!=i[f+340>>2])for(;i[f+336>>2]!=i[f+340>>2];);}function Xe(f,e){e&&(Xe(f,i[e>>2]),Xe(f,i[e+4>>2]),f=i[e+16>>2],i[e+16>>2]=0,f&&G(f),G(e))}function xt(f,e){var r=0;for(r=i[f+4>>2];;){if((e|0)!=(r|0)){r=r-4|0;continue}break}i[f+4>>2]=e}function vC(f,e){f=f|0,e=e|0;var r=0;return r=B-16|0,B=r,V[f|0](r+8|0,e),B=r+16|0,i[r+12>>2]}function T3(f,e,r){var A=0;return A=B-16|0,B=A,r=PA(f,l[r|0],e-f|0),B=A+16|0,((r||e)-f|0)+f|0}function mC(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,Q1(f,i[e+8>>2],n)&&n3(e,r,A,k)}function a3(f,e,r){f=f|0,e=e|0,r=r|0,e=i[18553],i[f>>2]=i[18552],i[f+4>>2]=e,i[f+8>>2]=i[18554]}function BC(f){f=f|0;var e=0;f&&(e=i[f+4>>2],e&&(V[i[i[f>>2]+40>>2]](e),i[f+4>>2]=0),G(f))}function ZC(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,V[i[i[e>>2]+16>>2]](f,e,i[r+8>>2],i[r+12>>2],0,A)}function zt(f){f=f|0;var e=0;i:{if(!f||(f=i[f>>2],!f))break i;e=i[f+24>>2]}return e|0}function Ht(f){f=f|0;var e=0;i:{if(!f||(f=i[f>>2],!f))break i;e=i[f+28>>2]}return e|0}function pC(f,e,r){f=f|0,e=e|0,r=r|0,e=i[18282],i[f>>2]=i[18281],i[f+4>>2]=e,i[f+8>>2]=i[18283]}function S6(f,e,r){(r|0)<0&&(C0(17266,14055,138,5756),P()),i[f+4>>2]=e,i[f>>2]=e,i[f+8>>2]=e+r}function Tt(f){f=f|0;var e=0;return i[f>>2]=60332,e=i[f+8>>2],!e|s[f+12|0]!=1||G(e),f|0}function WC(f){f=f|0;var e=0;return f=i[f>>2],i[f+32>>2]==1&&(e=i[f+36>>2]==3?4:10),y4(f,e)|0}function XC(f){f=f|0;var e=0;return f=i[f>>2],i[f+32>>2]==1&&(e=i[f+36>>2]==3?4:10),F4(f,e)|0}function at(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,i[f+8>>2]=-1,i[f+12>>2]=-1,i[f>>2]=0,i[f+4>>2]=0}function St(f,e){var r=0;return r=f+8|0,f=i[r>>2],i[f+(e<<2)>>2]!=0&i[r+4>>2]-f>>2>>>0>e>>>0}function Ot(f){var e=0,r=0;for(r=f;e=r,r=e+4|0,!!i[e>>2];);return e-f>>2}function GC(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,V[i[i[e>>2]+92>>2]](f,i[e+4>>2],r,A,k)}function _2(){var f=0;f=Ne(4),i[f>>2]=68064,i[f>>2]=68024,i[f>>2]=68044,wr(f|0,68156,20),P()}function S3(f,e){var r=0;i:{if(r=i[f>>2],!r||(lt(r,e)|0)!=-1)break i;i[f>>2]=0}}function CC(f){f=f|0;var e=0;return i[f>>2]=73364,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function VC(f){f=f|0;var e=0;return i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),f|0}function IC(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,m8(f,e,r,A,k,n,t,1,1)}function QC(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,m8(f,e,r,A,k,n,t,1,2)}function yC(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,m8(f,e,r,A,k,n,t,1,3)}function FC(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,m8(f,e,r,A,k,n,t,2,1)}function EC(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,m8(f,e,r,A,k,n,t,2,2)}function YC(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,m8(f,e,r,A,k,n,t,2,3)}function JC(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,m8(f,e,r,A,k,n,t,3,1)}function gC(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,m8(f,e,r,A,k,n,t,3,2)}function NC(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,m8(f,e,r,A,k,n,t,3,3)}function RC(f){f=f|0;var e=0;return i[f>>2]=73276,e=i[f+8>>2],e&&(i[f+12>>2]=e,G(e)),f|0}function DC(f){f=f|0;var e=0;return i[f>>2]=72952,e=i[f+8>>2],e&&(i[f+12>>2]=e,G(e)),f|0}function UC(f){return f=f|0,i[f+4>>2]-32768>>>0<4294901760|i[f+8>>2]-32768>>>0<4294901760}function MC(f,e,r,A,k,n,t){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,t=t|0,V[f|0](e,r,A,k,n,t)}function jt(f,e){f=f|0,e=e|0;i:{if(!e||(f=i[e>>2],!f))break i;G(f),i[e>>2]=0}}function I8(f,e,r,A){var k=0;return k=B-16|0,B=k,i[k+12>>2]=A,f=le(f,e,r,A),B=k+16|0,f}function Pt(f){f=f|0;var e=0;f=i[i[i[f>>2]>>2]>>2],e=i[25045]+1|0,i[25045]=e,i[f+4>>2]=e}function a0(f,e){var r=0,A=0;return r=e&31,A=(-1>>>r&f)<<r,r=f,f=0-e&31,A|(r&-1<<f)>>>f}function U4(f,e){f=f|0,e=e|0,e=B-16|0,B=e,i[f>>2]=0,i[f+4>>2]=0,i[f+8>>2]=0,B=e+16|0}function xC(f,e,r){return f=f|0,e=e|0,r=r|0,!(V[i[i[f+4>>2]+12>>2]](e,r,i[f+8>>2])|0)|0}function zC(f,e){f=f|0,e=e|0,e=i[18282],i[f>>2]=i[18281],i[f+4>>2]=e,i[f+8>>2]=i[18283]}function x0(f,e){return f=i[f>>2],e=r1(e),St(f,e)||(u1(),P()),i[i[f+8>>2]+(e<<2)>>2]}function Lt(f,e){var r=0;return r=B-16|0,B=r,i[r+12>>2]=e,f=sk(f,8823,e),B=r+16|0,f}function Kt(f){(f|0)!=0&(f|0)!=55448&(f|0)!=55472&(f|0)!=99608&(f|0)!=99632&&G(f)}function HC(f){f=f|0;var e=0;i[f>>2]=73364,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function TC(f,e,r,A,k){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,i[f+8>>2]=0,i[f>>2]=0,i[f+4>>2]=0}function aC(f,e,r){return f=f|0,e=e|0,r=r|0,!(V[i[i[f+4>>2]+8>>2]](e,r,i[f+8>>2])|0)|0}function SC(f){f=f|0;var e=0;i[f>>2]=68500,e=i[f+20>>2],e&&(i[f+24>>2]=e,G(e)),G(f)}function OC(f){f=f|0;var e=0;i[f>>2]=73276,e=i[f+8>>2],e&&(i[f+12>>2]=e,G(e)),G(f)}function jC(f){for(f=f|0,f=100584;f=z0(f-12|0),(f|0)!=100416;);}function PC(f){for(f=f|0,f=100760;f=l1(f-12|0),(f|0)!=100592;);}function LC(f){for(f=f|0,f=101056;f=z0(f-12|0),(f|0)!=100768;);}function KC(f){for(f=f|0,f=101360;f=l1(f-12|0),(f|0)!=101072;);}function qC(f){for(f=f|0,f=101400;f=z0(f-12|0),(f|0)!=101376;);}function $C(f){f=f|0;var e=0;i[f>>2]=72952,e=i[f+8>>2],e&&(i[f+12>>2]=e,G(e)),G(f)}function bC(f){for(f=f|0,f=101432;f=l1(f-12|0),(f|0)!=101408;);}function dC(f,e,r,A,k,n){return f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,Tk(f,e,r,A,k,n)|0}function cC(f,e,r){f=f|0,e=e|0,r=r|0,f=i[f>>2],i[e>>2]=i[f+72>>2],i[r>>2]=i[f+76>>2]}function qt(f){return f=f|0,i[f>>2]=61416,i[f+8>>2]!=(M2()|0)&&Kt(i[f+8>>2]),f|0}function Ge(f){return i[f+112>>2]=0,i[f+116>>2]=0,f=B0(f,0,108),i[f+108>>2]=f+112,f}function $t(f,e){for(;i[f+16>>2]=i[f+16>>2]-e,f=i[f+8>>2],!!f;);}function iV(f,e){return f=f|0,e=e|0,(e|0)>=0&&(e=i[i[14241]+(e<<2)>>2]),e<<24>>24}function rV(f,e){return f=f|0,e=e|0,(e|0)>=0&&(e=i[i[14628]+(e<<2)>>2]),e<<24>>24}function eV(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,i[f>>2]=0,i[f+4>>2]=0}function AV(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,V[i[i[e>>2]+76>>2]](f,i[e+4>>2],r,A)}function fV(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,V[i[i[e>>2]+80>>2]](f,i[e+4>>2],r,A)}function kV(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,V[i[i[e>>2]+84>>2]](f,i[e+4>>2],r,A)}function nV(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,V[i[i[e>>2]+88>>2]](f,i[e+4>>2],r,A)}function tV(f,e){f=f|0,e=e|0,e&&(f=i[i[f>>2]+80>>2],X[e>>1]=f,X[e+2>>1]=f>>>16)}function oV(f){return f=f|0,f=ik(i[f+60>>2])|0,f?(i[23944]=f,f=-1):f=0,f|0}function lV(f){f=f|0;var e=0;e=f+12|0,f=i[e+8816>>2],f&&(i[e+8820>>2]=f,G(f))}function _1(f){return f=M0(f),(f|0)==-99999|!f||(f=f&1?f+1>>1:0-(f>>1)|0),f}function uV(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,e=B-16|0,B=e,E7(f,r,A),B=e+16|0}function sV(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,e=B-16|0,B=e,F7(f,r,A),B=e+16|0}function hV(f,e){return f=f|0,e=e|0,i[f+2152>>2]-i[f+2148>>2]>>2>(e|0)&(e|0)>=0}function wV(f){return f=f|0,s[100404]||(yi(100392,61736),l[100404]=1),100392}function _V(f,e,r,A,k){return f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,V[f|0](e,r,A,k)|0}function bt(f,e){if(i[f>>2]<(e|0))for(;i[f>>2]<(e|0););}function vV(f){f=f|0;var e=0;return i[f>>2]=68392,e=i[f+24>>2],e&&G(e),f|0}function mV(f){return f=f|0,s[100324]||(yi(100312,61580),l[100324]=1),100312}function BV(f,e){return f=f|0,e=e|0,e>>>0<=127&&(e=i[i[14241]+(e<<2)>>2]),e|0}function ZV(f){return f=f|0,s[100340]||(yi(100328,61616),l[100340]=1),100328}function pV(f,e){return f=f|0,e=e|0,e>>>0<=127&&(e=i[i[14628]+(e<<2)>>2]),e|0}function WV(f){return f=f|0,s[100356]||(G6(100344,14815),l[100356]=1),100344}function XV(f){return f=f|0,s[100372]||(yi(100360,61652),l[100372]=1),100360}function GV(f){return f=f|0,s[100388]||(G6(100376,6122),l[100388]=1),100376}function Ui(f){for(var e=0;;){if(f){f=f-1&f,e=e+1|0;continue}break}return e}function CV(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,Q1(f,i[e+8>>2],0)&&v3(e,r,A)}function f8(f,e){var r=0;r=B-16|0,B=r,i[r+12>>2]=e,No(77928,f,e),B=r+16|0}function VV(f,e){return f=f|0,e=e|0,(e>>>0<=2?i[i[(e<<2)+41344>>2]+f>>2]:0)|0}function IV(f,e){return f=f|0,e=e|0,(e>>>0<=2?i[i[(e<<2)+41356>>2]+f>>2]:0)|0}function Ce(f,e,r,A){return i[f+76>>2]<0,P7(f,e,r,A)}function QV(){var f=0;return f=U(12),i[f>>2]=0,i[f+4>>2]=0,i[f+8>>2]=0,f|0}function yV(f,e){f=f|0,e=e|0,e&&(i[i[f>>2]+80>>2]=Q[e>>1]|Q[e+2>>1]<<16)}function FV(f,e){return f=f|0,e=e|0,(e|0)>=12?f=jn(f+8|0):f=0,f|0}function EV(f){f=f|0;var e=0;i[f>>2]=68392,e=i[f+24>>2],e&&G(e),G(f)}function dt(f,e){var r=0;r=Ct(i[e>>2]),i[f+4>>2]=i[e>>2],l[f|0]=r<<24>>24}function z1(f,e){e=!i[f+24>>2]|e,i[f+16>>2]=e,e&i[f+20>>2]&&(u1(),P())}function YV(f,e,r){f=f|0,e=e|0,r=r|0,f=i[f>>2],i[f+76>>2]=r,i[f+72>>2]=e}function ct(f){f=f|0;var e=0;return e=f+548|0,xn(e),xn(e),l[f+548|0]=1,0}function O3(){var f=0;f=q9(Ne(8),8538),i[f>>2]=68276,wr(f|0,68308,1),P()}function vi(f){var e=0;i[f+16>>2]=0,e=i[f+8>>2],e&&vi(e),l[f+20|0]=1}function O6(f,e,r,A,k){return f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,i[k>>2]=r,3}function Ve(){i[19575]||(mA(),s[78304]&&bA(),i[19575]=i[19575]+1)}function JV(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,C0(17356,13904,68,7984),P()}function j3(f,e,r){var A=0;return A=B-16|0,B=A,E7(f,e,r),B=A+16|0,f}function j8(f,e){f=f|0,e=e|0,l[f|0]=2,l[f+1|0]=3,l[f+2|0]=0,l[f+3|0]=4}function gV(f){return f=f|0,f?(N0(f,67148,67292)|0)!=0|0:0}function P3(f){return f=f|0,i[f+8>>2]!=(M2()|0)&&Kt(i[f+8>>2]),f|0}function NV(f){return f=f|0,f=V[i[i[f+4>>2]+4>>2]](i[f+8>>2])|0,f|0}function RV(f,e,r,A){return f=f|0,e=e|0,r=r|0,A=A|0,V[f|0](e,r,A)|0}function DV(f,e,r,A,k,n){f=f|0,e=e|0,r=r|0,A=A|0,k=k|0,n=n|0,I3(f,n)}function io(f,e){f=f|0,e=e|0,e&&(f=i[e>>2],f&&G(f),i[e>>2]=0)}function UV(f,e,r){return f=f|0,e=e|0,r=r|0,(e>>>0<128?e:r)<<24>>24}function ro(f,e){var r=0;r=pt(i[e>>2]),i[f+4>>2]=i[e>>2],i[f>>2]=r}function MV(f){return f=f|0,f=i[f+16>>2],V[i[i[f>>2]+8>>2]](f)|0}function xV(f){return f=f|0,f=i[f>>2],(Q[f+80>>1]|Q[f+82>>1])!=0|0}function zV(f){return f=f|0,f=i[f>>2],i[f+200>>2]-i[f+196>>2]>>2}function HV(f){return f=f|0,f=i[f+8>>2],i[f+16>>2]-i[f+12>>2]>>3}function TV(f){return f=f|0,f=i[f+8>>2],f?$9(f)|0:1}function aV(f){f=f|0,l[f+48|0]=i[f+40>>2]-i[f+36>>2]>>>0>524280}function SV(f,e,r){f=f|0,e=e|0,r=r|0,C0(17356,13904,51,7834),P()}function OV(f){return f=f|0,f=i[f>>2],i[f+40>>2]-i[f+36>>2]>>3}function L3(f){f=q9(Ne(8),f),i[f>>2]=68224,wr(f|0,68256,1),P()}function eo(f){return f>>>0>1073741823&&(u1(),P()),w9(f<<2,4)}function jV(f){return f=f|0,V[i[i[f>>2]+68>>2]](i[f+4>>2])|0}function PV(f){f=f|0,Ni(98732),Ni(99068),k3(98816),k3(99152)}function LV(f){return f=f|0,f?s[i[f>>2]+208|0]:0}function K3(f){return f=f|0,i[f>>2]=53552,z0(f+32|0),K0(f)|0}function KV(f){return f=f|0,f?s[i[f>>2]+256|0]:0}function qV(f,e){f=f|0,e=e|0,i[f+8>>2]=l[e+11|0]<0?i[e>>2]:e}function $V(f,e){f=f|0,e=e|0,f&&(l[i[f>>2]+40|0]=(e|0)!=0)}function bV(f){return f=f|0,s[100309]||(l[100309]=1),78224}function dV(f){return f=f|0,s[100325]||(l[100325]=1),78236}function q3(f,e){e&&(q3(f,i[e>>2]),q3(f,i[e+4>>2]),G(e))}function cV(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,yr(f,16,e,r,A)}function iI(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,yr(f,32,e,r,A)}function rI(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,Qr(f,r,16,e,A)}function eI(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,Qr(f,r,32,e,A)}function j6(f,e){e&&(j6(f,i[e>>2]),j6(f,i[e+4>>2]),G(e))}function P8(f,e){e&&(P8(f,i[e>>2]),P8(f,i[e+4>>2]),G(e))}function Ie(f,e){e&&(Ie(f,i[e>>2]),Ie(f,i[e+4>>2]),G(e))}function AI(f){return f=f|0,f?s[i[f>>2]+40|0]:0}function fI(f){return f=f|0,f?i[i[f+8>>2]>>2]:-1}function kI(f,e,r){return f=f|0,e=e|0,r=r|0,((e|0)<0?r:e)|0}function nI(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,yr(f,4,e,r,A)}function tI(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,yr(f,8,e,r,A)}function oI(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,Qr(f,r,4,e,A)}function lI(f,e,r,A){f=f|0,e=e|0,r=r|0,A=A|0,Qr(f,r,8,e,A)}function uI(f,e,r,A){return f=f|0,e=e|0,r=r|0,A=A|0,w0=0,0}function z0(f){return s[f+11|0]>>>7|0&&Q8(i[f>>2],1),f}function l1(f){return s[f+11|0]>>>7|0&&Q8(i[f>>2],4),f}function Ao(f){return f=f|0,i[f>>2]=61464,z0(f+12|0),f|0}function fo(f){return f=f|0,i[f>>2]=61504,z0(f+16|0),f|0}function Mi(f,e){var r=0;r=w9(e,1),i[f+4>>2]=e,i[f>>2]=r}function K0(f){return f=f|0,i[f>>2]=53144,O0(f+4|0),f|0}function $3(f){return f=f|0,i[f>>2]=53392,O0(f+4|0),f|0}function ko(f,e,r){return f=f|0,e=e|0,r=r|0,Q1(f,e,0)|0}function xi(f,e){var r=0;r=eo(e),i[f+4>>2]=e,i[f>>2]=r}function no(f){return f=f|0,Ee(i[i[f>>2]-12>>2]+f|0)|0}function to(f,e,r){f=f|0,e=e|0,r=r|0,i[i[f>>2]+e>>2]=r}function sI(f){return f=f|0,Fe(i[i[f>>2]-12>>2]+f|0)|0}function oo(f){return f=f|0,Ye(i[i[f>>2]-12>>2]+f|0)|0}function hI(f){return f=f|0,z6(i[i[f>>2]-12>>2]+f|0)|0}function wI(f){return f=f|0,D3(i[i[f>>2]-12>>2]+f|0)|0}function _I(f){return f=f|0,g3(i[i[f>>2]-12>>2]+f|0)|0}function vI(f){return f=f|0,N3(i[i[f>>2]-12>>2]+f|0)|0}function mI(f){return f=f|0,(i[f>>2]>=3?i[f+40>>2]:0)|0}function zi(f,e){return f=Y7(f,e),s[f|0]==(e&255)?f:0}function lo(f){return f=f|0,V[i[i[f>>2]+24>>2]]()|0}function BI(f){return f=f|0,w0=i[f+20>>2],i[f+16>>2]}function Qe(f,e){b0(f,e),i[f+72>>2]=0,i[f+76>>2]=-1}function uo(f,e){return f=f|0,e=e|0,i[i[f>>2]+e>>2]}function P6(f){return f?31-$2(f-1^f)|0:32}function D2(f){f=f|0,V[i[i[f+12>>2]>>2]](f+12|0)|0}function ZI(f,e){return f=f|0,e=e|0,r3(i[f>>2],e)|0}function pI(f,e){return f=f|0,e=e|0,U0(i[f>>2],e)|0}function m2(f){f=f|0,V[i[i[f+16>>2]>>2]](f+16|0)|0}function so(f,e){return f=f|0,e=e|0,y4(i[f>>2],e)|0}function ho(f,e){return f=f|0,e=e|0,F4(i[f>>2],e)|0}function wo(f,e){return f=f|0,e=e|0,H2(i[f>>2],e)|0}function WI(){var f=0;return f=U(4),i[f>>2]=0,f|0}function L6(f,e,r){f=f|0,e=e|0,r=r|0,Yr(f,e,r,-1)}function XI(f){f=f|0,l[78275]<0&&G(i[19566])}function GI(f){return f=f|0,i[i[f>>2]+64>>2]!=0|0}function CI(f,e,r){f=f|0,e=e|0,r=r|0,Fr(f,r,16,e)}function VI(f,e,r){f=f|0,e=e|0,r=r|0,Fr(f,r,32,e)}function II(f){return f=f|0,s[i[f+124>>2]+9016|0]}function QI(f){return f=f|0,s[i[f+124>>2]+9019|0]}function yI(f){return f=f|0,s[i[f+124>>2]+9020|0]}function FI(f,e,r){f=f|0,e=e|0,r=r|0,Ur(f,16,e,r)}function EI(f,e,r){f=f|0,e=e|0,r=r|0,Ur(f,32,e,r)}function YI(f,e,r){f=f|0,e=e|0,r=r|0,Rk(f,16,e,r)}function JI(f,e,r){f=f|0,e=e|0,r=r|0,Rk(f,32,e,r)}function gI(f){return f=f|0,s[i[f+124>>2]+9018|0]}function b3(f,e){return f=f|0,e=e|0,V[f|0](e)|0}function NI(f,e,r){f=f|0,e=e|0,r=r|0,Fr(f,r,4,e)}function RI(f,e,r){f=f|0,e=e|0,r=r|0,Fr(f,r,8,e)}function DI(f,e,r){f=f|0,e=e|0,r=r|0,Ur(f,8,e,r)}function UI(f,e,r){f=f|0,e=e|0,r=r|0,Ur(f,4,e,r)}function _o(f,e,r){return f=f|0,e=e|0,r=r|0,f|0}function MI(f,e){f=f|0,e=e|0,i[i[f>>2]+56>>2]=e}function vo(f){var e=0,r=0;e=f,r=M2(),i[e>>2]=r}function mo(f,e,r,A){vs(f|0,e|0,8,0,r|0,-1,A|0)}function Q8(f,e){if(e>>>0>8){G(f);return}G(f)}function ye(f,e){return f?ie(f,e):0}function xI(f){f=f|0,l[f+48|0]=k0[f+56>>2]>65535}function zI(f,e){f=f|0,e=e|0,l[f+4|0]=(e|0)!=0}function H1(f,e,r){s[f|0]&32||ee(e,r,f)}function HI(f){return f=f|0,i[f>>2]=72424,f|0}function TI(f){return f=f|0,i[f>>2]=74312,f|0}function aI(f){return f=f|0,i[f>>2]=71384,f|0}function SI(f){return f=f|0,i[f>>2]=75196,f|0}function OI(f){return f=f|0,i[f>>2]=76520,f|0}function jI(f){return f=f|0,i[f>>2]=72464,f|0}function PI(f){return f=f|0,i[f>>2]=71424,f|0}function LI(f){return f=f|0,i[f>>2]=75236,f|0}function KI(f){return f=f|0,i[f>>2]=76596,f|0}function qI(f){return f=f|0,i[f>>2]=71464,f|0}function $I(f){return f=f|0,i[f>>2]=72576,f|0}function bI(f){return f=f|0,i[f>>2]=75312,f|0}function dI(f){return f=f|0,i[f>>2]=76672,f|0}function cI(f){return f=f|0,i[f>>2]=71504,f|0}function iQ(f){return f=f|0,i[f>>2]=75388,f|0}function rQ(f){return f=f|0,i[f>>2]=76748,f|0}function eQ(f){return f=f|0,i[f>>2]=72616,f|0}function AQ(f){return f=f|0,i[f>>2]=71544,f|0}function fQ(f){return f=f|0,i[f>>2]=75428,f|0}function kQ(f){return f=f|0,i[f>>2]=71584,f|0}function nQ(f){return f=f|0,i[f>>2]=72656,f|0}function tQ(f){return f=f|0,i[f>>2]=75468,f|0}function Bo(f){f=f|0,Af(i[i[f>>2]-12>>2]+f|0)}function oQ(f){return f=f|0,i[f>>2]=71624,f|0}function lQ(f){return f=f|0,i[f>>2]=75508,f|0}function uQ(f){return f=f|0,i[f>>2]=71664,f|0}function sQ(f){return f=f|0,i[f>>2]=72744,f|0}function hQ(f){return f=f|0,i[f>>2]=70584,f|0}function wQ(f){return f=f|0,i[f>>2]=75548,f|0}function _Q(f){return f=f|0,i[f>>2]=71704,f|0}function vQ(f){return f=f|0,i[f>>2]=70624,f|0}function mQ(f){return f=f|0,i[f>>2]=72792,f|0}function BQ(f){return f=f|0,i[f>>2]=75588,f|0}function ZQ(f){f=f|0,kf(i[i[f>>2]-12>>2]+f|0)}function pQ(f){return f=f|0,i[f>>2]=71744,f|0}function Zo(f){f=f|0,ff(i[i[f>>2]-12>>2]+f|0)}function WQ(f){return f=f|0,i[f>>2]=70664,f|0}function XQ(f,e){return f=f|0,e=e|0,Ak(f,e)|0}function GQ(f){return f=f|0,i[f>>2]=71784,f|0}function CQ(f){return f=f|0,i[f>>2]=72832,f|0}function VQ(f){return f=f|0,i[f>>2]=73408,f|0}function IQ(f){return f=f|0,i[f>>2]=75628,f|0}function QQ(f){return f=f|0,i[f>>2]=70704,f|0}function yQ(f){return f=f|0,i[f>>2]=71824,f|0}function FQ(f){return f=f|0,i[f>>2]=73448,f|0}function EQ(f){return f=f|0,i[f>>2]=75668,f|0}function YQ(f){return f=f|0,i[f>>2]=70744,f|0}function JQ(f){return f=f|0,i[f>>2]=71864,f|0}function gQ(f){return f=f|0,i[f>>2]=73488,f|0}function NQ(f){return f=f|0,V[i[f+4>>2]]()|0}function RQ(f){return f=f|0,i[f>>2]=75708,f|0}function DQ(f){return f=f|0,i[f>>2]=70784,f|0}function UQ(f){return f=f|0,i[f>>2]=70824,f|0}function MQ(f){return f=f|0,i[f>>2]=71904,f|0}function xQ(f){return f=f|0,i[f>>2]=73528,f|0}function zQ(f){return f=f|0,i[f>>2]=75748,f|0}function HQ(f){return f=f|0,i[f>>2]=72912,f|0}function TQ(f){return f=f|0,i[f>>2]=70864,f|0}function aQ(f){return f=f|0,i[f>>2]=71944,f|0}function SQ(f){return f=f|0,i[f>>2]=73568,f|0}function OQ(f){return f=f|0,i[f>>2]=75788,f|0}function jQ(f){return f=f|0,i[f>>2]=70904,f|0}function PQ(f){return f=f|0,i[f>>2]=71984,f|0}function LQ(f){return f=f|0,i[f>>2]=73608,f|0}function KQ(f){return f=f|0,i[f>>2]=75864,f|0}function qQ(f){return f=f|0,i[f>>2]=70944,f|0}function $Q(f){return f=f|0,i[f>>2]=75940,f|0}function bQ(f){return f=f|0,i[f>>2]=72024,f|0}function dQ(f){return f=f|0,i[f>>2]=74072,f|0}function cQ(f){return f=f|0,i[f>>2]=70984,f|0}function iy(f){return f=f|0,i[f>>2]=75980,f|0}function ry(f){return f=f|0,i[f>>2]=72064,f|0}function ey(f){return f=f|0,i[f>>2]=71024,f|0}function Ay(f){return f=f|0,i[f>>2]=74112,f|0}function fy(f){return f=f|0,i[f>>2]=76020,f|0}function ky(f){return f=f|0,i[f>>2]=72104,f|0}function ny(f){return f=f|0,i[f>>2]=43652,f|0}function ty(f){return f=f|0,i[f>>2]=71064,f|0}function oy(f){return f=f|0,i[f>>2]=76060,f|0}function ly(f){return f=f|0,i[f>>2]=72144,f|0}function uy(f){return f=f|0,i[f>>2]=71104,f|0}function sy(f){return f=f|0,i[f>>2]=76100,f|0}function hy(f){return f=f|0,i[f>>2]=43768,f|0}function wy(f){return f=f|0,i[f>>2]=72184,f|0}function _y(f){return f=f|0,i[f>>2]=71144,f|0}function vy(f){return f=f|0,i[f>>2]=76140,f|0}function my(f){return f=f|0,i[f>>2]=72224,f|0}function By(f){return f=f|0,i[f>>2]=43880,f|0}function Zy(f){return f=f|0,i[f>>2]=71184,f|0}function py(f){return f=f|0,i[f>>2]=76216,f|0}function Wy(f){f=f|0,nf(i[i[f>>2]-12>>2]+f|0)}function Xy(f){return f=f|0,i[f>>2]=72264,f|0}function Gy(f){return f=f|0,i[f>>2]=73092,f|0}function Cy(f){return f=f|0,i[f>>2]=71224,f|0}function Vy(f){return f=f|0,i[f>>2]=76292,f|0}function Iy(f){f=f|0,Do(i[i[f>>2]-12>>2]+f|0)}function Qy(f){return f=f|0,i[f>>2]=72304,f|0}function yy(f){return f=f|0,i[f>>2]=71264,f|0}function Fy(f){return f=f|0,i[f>>2]=76368,f|0}function Ey(f){f=f|0,Uo(i[i[f>>2]-12>>2]+f|0)}function Yy(f){return f=f|0,i[f>>2]=72344,f|0}function Jy(f){return f=f|0,i[f>>2]=71304,f|0}function gy(f){return f=f|0,i[f>>2]=72384,f|0}function Ny(f){f=f|0,Mo(i[i[f>>2]-12>>2]+f|0)}function Ry(f){return f=f|0,i[f>>2]=71344,f|0}function Dy(f){return f=f|0,i[f>>2]=75148,f|0}function Uy(f){return f=f|0,i[f>>2]=76444,f|0}function po(f,e,r){return f=f|0,e=e|0,r=r|0,-1}function My(f){return f=f|0,i[f>>2]=72872,f|0}function xy(f){return f=f|0,((f|0)==1?100:0)|0}function Wo(f){return f=f|0,i[i[f>>2]+16>>2]}function d3(f){return f=f|0,i[i[f>>2]+20>>2]}function zy(f){return f=f|0,i[i[f>>2]+32>>2]}function Hy(f){return f=f|0,i[i[f>>2]+36>>2]}function Ty(f){return f=f|0,s[i[f>>2]+108|0]}function K6(f,e,r,A){return f=hn(f,e,r,A),f}function ay(f){return f=f|0,s[i[f>>2]+49|0]}function Sy(f){return f=f|0,(s[f+4|0]?3:6)|0}function Oy(f){return f=f|0,i[i[f>>2]+8>>2]}function jy(f){return f=f|0,i[i[f>>2]+4>>2]}function Py(f){return f=f|0,(n7(f,0)|0)!=0|0}function Xo(f){return f=f|0,s[i[f>>2]+32|0]}function Ly(f){f=f|0,V[i[i[f>>2]+4>>2]](f)}function Fe(f){return f=f|0,T0(f+12|0),f|0}function Ee(f){return f=f|0,T0(f+8|0),f|0}function Ye(f){return f=f|0,T0(f+4|0),f|0}function Ky(f){return f=f|0,Ek(i[f>>2])|0}function qy(f,e){f=f|0,e=e|0,I3(f,e+12|0)}function $y(f,e){f=f|0,e=e|0,I3(f,e+16|0)}function by(f){f=f|0,i[f>>2]=71344,G(f)}function dy(f){f=f|0,i[f>>2]=75148,G(f)}function cy(f){f=f|0,i[f>>2]=76444,G(f)}function iF(f){f=f|0,i[f>>2]=72424,G(f)}function rF(f){f=f|0,i[f>>2]=74312,G(f)}function eF(f){f=f|0,i[f>>2]=71384,G(f)}function AF(f){f=f|0,i[f>>2]=75196,G(f)}function fF(f){f=f|0,i[f>>2]=76520,G(f)}function kF(f){f=f|0,i[f>>2]=72464,G(f)}function nF(f){f=f|0,i[f>>2]=71424,G(f)}function tF(f){f=f|0,i[f>>2]=75236,G(f)}function oF(f){f=f|0,i[f>>2]=76596,G(f)}function lF(f){f=f|0,i[f>>2]=71464,G(f)}function uF(f){f=f|0,i[f>>2]=72576,G(f)}function sF(f){f=f|0,i[f>>2]=75312,G(f)}function hF(f){f=f|0,i[f>>2]=76672,G(f)}function wF(f){f=f|0,i[f>>2]=71504,G(f)}function _F(f){f=f|0,i[f>>2]=75388,G(f)}function vF(f){f=f|0,i[f>>2]=76748,G(f)}function mF(f){f=f|0,i[f>>2]=72616,G(f)}function BF(f){f=f|0,i[f>>2]=71544,G(f)}function ZF(f){f=f|0,i[f>>2]=75428,G(f)}function pF(f){f=f|0,i[f>>2]=71584,G(f)}function WF(f){f=f|0,i[f>>2]=72656,G(f)}function XF(f){f=f|0,i[f>>2]=75468,G(f)}function GF(f){f=f|0,i[f>>2]=71624,G(f)}function CF(f){f=f|0,i[f>>2]=75508,G(f)}function VF(f){f=f|0,i[f>>2]=71664,G(f)}function IF(f){f=f|0,i[f>>2]=72744,G(f)}function QF(f){f=f|0,i[f>>2]=70584,G(f)}function yF(f){f=f|0,i[f>>2]=75548,G(f)}function FF(f){f=f|0,i[f>>2]=71704,G(f)}function EF(f){f=f|0,i[f>>2]=70624,G(f)}function YF(f){f=f|0,i[f>>2]=72792,G(f)}function JF(f){f=f|0,i[f>>2]=75588,G(f)}function gF(f){f=f|0,i[f>>2]=71744,G(f)}function NF(f){f=f|0,i[f>>2]=70664,G(f)}function RF(f){f=f|0,i[f>>2]=71784,G(f)}function DF(f){f=f|0,i[f>>2]=73408,G(f)}function UF(f){f=f|0,i[f>>2]=75628,G(f)}function MF(f){f=f|0,i[f>>2]=70704,G(f)}function xF(f){f=f|0,i[f>>2]=72832,G(f)}function zF(f){f=f|0,i[f>>2]=71824,G(f)}function HF(f){f=f|0,i[f>>2]=73448,G(f)}function TF(f){f=f|0,i[f>>2]=75668,G(f)}function aF(f){f=f|0,i[f>>2]=70744,G(f)}function SF(f){f=f|0,i[f>>2]=72872,G(f)}function OF(f){f=f|0,i[f>>2]=70824,G(f)}function jF(f){f=f|0,i[f>>2]=71904,G(f)}function PF(f){f=f|0,i[f>>2]=73528,G(f)}function LF(f){f=f|0,i[f>>2]=75748,G(f)}function KF(f,e){f=f|0,e=e|0,yi(f,61556)}function qF(f){f=f|0,i[f>>2]=72912,G(f)}function $F(f){f=f|0,i[f>>2]=70864,G(f)}function bF(f){f=f|0,i[f>>2]=71944,G(f)}function dF(f){f=f|0,i[f>>2]=73568,G(f)}function cF(f){f=f|0,i[f>>2]=75788,G(f)}function iE(f){f=f|0,i[f>>2]=70904,G(f)}function rE(f){f=f|0,i[f>>2]=71984,G(f)}function eE(f){f=f|0,i[f>>2]=73608,G(f)}function AE(f){f=f|0,i[f>>2]=75864,G(f)}function fE(f){f=f|0,i[f>>2]=70944,G(f)}function kE(f){f=f|0,i[f>>2]=75940,G(f)}function nE(f){f=f|0,i[f>>2]=72024,G(f)}function tE(f){f=f|0,i[f>>2]=74072,G(f)}function oE(f){f=f|0,i[f>>2]=70984,G(f)}function lE(f){f=f|0,i[f>>2]=75980,G(f)}function uE(f){f=f|0,i[f>>2]=72064,G(f)}function sE(f){f=f|0,i[f>>2]=71024,G(f)}function hE(f){f=f|0,i[f>>2]=74112,G(f)}function wE(f){f=f|0,i[f>>2]=76020,G(f)}function _E(f){f=f|0,i[f>>2]=72104,G(f)}function vE(f){f=f|0,i[f>>2]=43652,G(f)}function mE(f){f=f|0,i[f>>2]=71064,G(f)}function BE(f){f=f|0,i[f>>2]=76060,G(f)}function ZE(f){f=f|0,i[f>>2]=72144,G(f)}function pE(f){f=f|0,i[f>>2]=71104,G(f)}function WE(f){f=f|0,i[f>>2]=76100,G(f)}function XE(f){f=f|0,i[f>>2]=43768,G(f)}function GE(f){f=f|0,i[f>>2]=72184,G(f)}function CE(f){f=f|0,i[f>>2]=71144,G(f)}function VE(f){f=f|0,i[f>>2]=76140,G(f)}function IE(f){f=f|0,i[f>>2]=72224,G(f)}function QE(f){f=f|0,i[f>>2]=43880,G(f)}function yE(f){f=f|0,i[f>>2]=71184,G(f)}function FE(f){f=f|0,i[f>>2]=76216,G(f)}function EE(f){f=f|0,i[f>>2]=72264,G(f)}function YE(f){f=f|0,i[f>>2]=73092,G(f)}function JE(f){f=f|0,i[f>>2]=71224,G(f)}function gE(f){f=f|0,i[f>>2]=76292,G(f)}function NE(f){f=f|0,i[f>>2]=72304,G(f)}function RE(f){f=f|0,i[f>>2]=71264,G(f)}function DE(f){f=f|0,i[f>>2]=76368,G(f)}function UE(f){f=f|0,i[f>>2]=72344,G(f)}function ME(f){f=f|0,i[f>>2]=71304,G(f)}function xE(f){f=f|0,i[f>>2]=72384,G(f)}function zE(f){f=f|0,i[f>>2]=70784,G(f)}function HE(f){f=f|0,i[f>>2]=71864,G(f)}function TE(f){f=f|0,i[f>>2]=73488,G(f)}function aE(f){f=f|0,i[f>>2]=75708,G(f)}function SE(f,e){f=f|0,e=e|0,yi(f,61536)}function Go(f,e){return f=f|0,e=e|0,e|0}function OE(f){f=f|0,P8(78316,i[19580])}function jE(f){f=f|0,P8(78328,i[19583])}function PE(f){f=f|0,P8(78340,i[19586])}function Co(f){return f=f|0,V[f|0]()|0}function LE(f){return f=f|0,Fe(f-8|0)|0}function c3(f,e){f=f|0,e=e|0,V[f|0](e)}function KE(f,e){f=f|0,e=e|0,G6(f,9104)}function qE(f,e){f=f|0,e=e|0,G6(f,9349)}function $E(f){f=f|0,Ie(78276,i[19570])}function bE(f){f=f|0,Xe(78288,i[19573])}function Vo(f,e){f=f|0,e=e|0,x7(f,1,45)}function Io(f,e){f=f|0,e=e|0,W7(f,1,45)}function dE(f){return f=f|0,z6(f-8|0)|0}function Je(f){return f=f|0,2147483647}function cE(f){return f=f|0,i[f+20>>2]}function iY(f){return f=f|0,i[f+12>>2]}function rY(f){f=f|0,I9(i[f>>2]),G(f)}function Qo(f,e,r){r&&F2(f,e,r<<2)}function eY(f){return f=f|0,1852009592}function yo(f,e){return(gi(f,e)|0)!=-1}function ge(f,e){return f=f|0,e=e|0,-1}function Fo(f){return f=f|0,i[f+8>>2]}function AY(f){return f=f|0,Xn(f,0)|0}function fY(f){return f=f|0,Xn(f,1)|0}function rf(f){return f=f|0,i[f+4>>2]}function kY(f){return f=f|0,Bn(f,0)|0}function nY(f){return f=f|0,Bn(f,1)|0}function Ne(f){return Z2(f+80|0)+80|0}function J2(f,e){return j9(f)^j9(e)^1}function g2(f,e){return O9(f)^O9(e)^1}function Eo(){G(i[23872]),i[23872]=0}function tY(f,e){return f=f|0,e=e|0,0}function oY(f){return f=f|0,l[f+8|0]}function lY(f){return f=f|0,l[f+9|0]}function uY(f,e,r){f=f|0,e=e|0,r=r|0}function Yo(f){return f=f|0,T0(f)|0}function E1(f){return Ct(i[f>>2]),f}function Y1(f){return pt(i[f>>2]),f}function J4(f,e){z1(f,i[f+16>>2]|e)}function Jo(f,e,r){r&&F2(f,e,r)}function y8(f){f=f|0,f&&G(f)}function sY(f){return f=f|0,13683}function hY(f){return f=f|0,73848}function wY(f){return f=f|0,73904}function _Y(f){return f=f|0,78464}function vY(f){return f=f|0,73744}function go(f){f=f|0,T0(f),G(f)}function mY(f){return f=f|0,4900}function BY(f){f=f|0,K0(f),G(f)}function ZY(f){f=f|0,$3(f),G(f)}function pY(f){return f=f|0,6180}function WY(f){return f=f|0,8382}function XY(f){f=f|0,I6(f),G(f)}function ef(f){f=f|0,Xt(f),G(f)}function GY(f){f=f|0,l[f+48|0]=0}function No(f,e,r){qr(f,e,r,0,0)}function CY(f){f=f|0,l1(100360)}function VY(f){f=f|0,z0(100376)}function IY(f){f=f|0,l1(100392)}function Re(f){return f=f|0,127}function t4(f){return f=f|0,f|0}function QY(f){f=f|0,l1(100312)}function yY(f){f=f|0,l1(100328)}function FY(f){f=f|0,z0(100344)}function EY(f){f=f|0,G(T0(f))}function YY(f){f=f|0,G(V7(f))}function Af(f){f=f|0,G(Ee(f))}function JY(f){f=f|0,G(Tt(f))}function gY(f){f=f|0,G(v7(f))}function ff(f){f=f|0,G(Ye(f))}function kf(f){f=f|0,G(Fe(f))}function NY(f){f=f|0,G(g7(f))}function nf(f){f=f|0,G(z6(f))}function RY(f){f=f|0,G(qt(f))}function DY(f){f=f|0,kf(f-8|0)}function Ro(f){f=f|0,G(P3(f))}function UY(f){f=f|0,G(Ao(f))}function MY(f){f=f|0,G(fo(f))}function Do(f){f=f|0,G(D3(f))}function Uo(f){f=f|0,G(g3(f))}function Mo(f){f=f|0,G(N3(f))}function xY(f){f=f|0,G(Ik(f))}function zY(f){f=f|0,G(B7(f))}function HY(f){f=f|0,G(K3(f))}function TY(f){f=f|0,nf(f-8|0)}function aY(f){f=f|0,G(t9(f))}function SY(f){f=f|0,G(Mn(f))}function xo(f){f=f|0,G(K0(f))}function OY(f){f=f|0,z0(78224)}function zo(f){f=f|0,G($3(f))}function jY(f){f=f|0,G(bn(f))}function PY(f){f=f|0,z0(78236)}function LY(f){f=f|0,G(A7(f))}function KY(f){f=f|0,G(e7(f))}function qY(f){f=f|0,G(I7(f))}function J1(f){return f=f|0,0}function Ho(f){return f=f|0,-1}function tf(f){return f=f|0,2}function $Y(f){return f=f|0,5}function q6(f){return f=f|0,1}function To(){return 17957376}function $6(f){return f=f|0,4}function of(f,e,r){e8(e,r,f)}function ao(f){xt(f,i[f>>2])}function De(f,e,r){ui(e,r,f)}function b6(f,e){f=f|0,e=e|0}function y0(){L3(4917),P()}function m0(f){f=f|0,G(f)}function c2(){L3(8538),P()}function bY(){return 16835}function Ue(f){B0(f,0,100)}function dY(){return 16615}function So(f){f=f|0,P()}function cY(){return 7829}function Oo(f,e){J4(f,e)}function iJ(){return 18}function u1(){Gs(),P()}function rJ(){return 1}function eJ(){return 2}function o4(){u1(),P()}function L8(f){f=f|0}function AJ(){b9()}function fJ(){Wt()}function kJ(){}K=s,E0(n1);var V=$([null,Xt,LG,cG,eC,Rt,QZ,xX,vV,EV,BI,Rt,hW,KX,t4,m0,NV,iC,aC,xC,t4,VC,SC,Hr,J1,bp,G1,Jw,GB,L8,rm,mB,xG,X7,G1,R2,BB,Iv,hp,Xp,bw,gB,Kw,wp,Gp,mw,FB,Uh,G1,Ai,q6,GY,iZ,gG,fZ,Vp,Jp,o_,eZ,kv,G1,Cm,vZ,xI,mm,A7,LY,ih,Sw,kW,xs,I7,qY,Fh,L_,mG,fw,G1,Ai,AB,aV,Om,G1,Ai,L6,G1,Nm,L6,G1,pv,NZ,YG,vm,V7,YY,ds,im,ZW,ch,JZ,UZ,aw,xB,Gw,G1,Wm,HZ,zp,G1,Uv,qZ,ap,G1,z_,RB,Oh,v7,gY,iw,Im,vW,Ts,fp,_p,Av,VB,Y_,G1,mv,RZ,Ep,G1,Xm,KZ,Sp,G1,Bv,gZ,Yp,G1,Ew,em,a_,G1,Aw,$w,_h,g7,NY,gw,IZ,Q_,kp,vp,$_,$Z,$m,G1,Ai,L6,np,$7,mn,yA,$7,M_,bh,GZ,VZ,Uw,f_,G1,Ai,L6,G1,Ai,Qw,Cp,Fp,nm,Kv,hQ,QF,m2,tY,m0,vQ,EF,m2,m0,WQ,NF,m2,m0,QQ,MF,m2,m0,YQ,aF,m2,m0,DQ,zE,m2,m0,UQ,OF,m2,m0,TQ,$F,m2,m0,jQ,iE,m2,m0,qQ,fE,m2,m0,cQ,oE,m2,m0,ey,sE,m2,m0,ty,mE,m2,m0,uy,pE,m2,m0,_y,CE,m2,m0,Zy,yE,m2,m0,Cy,JE,m2,m0,yy,RE,m2,m0,Jy,ME,m2,m0,Ry,by,m2,m0,aI,eF,m2,m0,PI,nF,m2,m0,qI,lF,m2,m0,cI,wF,m2,m0,AQ,BF,m2,m0,kQ,pF,m2,m0,oQ,GF,m2,m0,uQ,VF,m2,m0,_Q,FF,m2,m0,pQ,gF,m2,m0,GQ,RF,m2,m0,yQ,zF,m2,m0,JQ,HE,m2,m0,MQ,jF,m2,m0,aQ,bF,m2,m0,PQ,rE,m2,m0,bQ,nE,m2,m0,ry,uE,m2,m0,ky,_E,m2,m0,ly,ZE,m2,m0,wy,GE,m2,m0,my,IE,m2,m0,Xy,EE,m2,m0,Qy,NE,m2,m0,Yy,UE,m2,m0,gy,xE,m2,m0,HI,iF,m2,m0,jI,kF,m2,m0,XI,$I,uF,Yw,m0,eQ,mF,zW,m0,nQ,WF,v_,m0,sQ,IF,bX,m0,mQ,YF,gm,m0,CQ,xF,D2,m0,My,SF,m2,m0,HQ,qF,m2,m0,t4,$E,bE,DC,$C,rf,jm,yX,t4,m0,eY,N_,SW,_Z,ZZ,qw,oB,Ks,Gy,YE,D2,m0,t4,m0,J1,kw,UC,OG,m0,q6,Mh,et,lG,m0,tf,xh,et,uG,RC,OC,Sy,oh,LW,KW,m0,$6,yh,J1,sG,CC,HC,$Y,zs,jX,VQ,DF,D2,m0,FQ,HF,D2,m0,gQ,TE,D2,m0,xQ,PF,D2,m0,SQ,dF,D2,m0,LQ,eE,D2,m0,fB,FX,GX,Co,To,Co,hk,c3,G4,SZ,EX,tW,hZ,b3,TA,vC,WB,KG,xp,Hp,MG,Sh,c3,N6,b3,zt,Ht,Xo,c3,G4,vY,G4,hY,N6,wY,G4,QV,y8,uo,to,uo,to,qW,qV,XX,AW,Nk,OE,jE,PE,dQ,tE,R_,m0,Ay,hE,D2,m0,e7,KY,Ns,Ww,hh,TI,rF,m2,m0,t4,m0,tp,mp,Vh,qB,hw,G1,Gm,lW,Op,G1,km,HB,cB,op,Bp,Bm,_W,Xh,lp,Zp,Cv,$B,D_,up,pp,Qv,pZ,S_,B7,zY,uv,J_,rh,sp,Wp,Vv,bB,U_,G1,Ai,L6,Mn,SY,Hs,kh,Us,bn,jY,Rs,ym,Cw,G1,Vm,sW,cZ,aW,Dy,dy,D2,m0,SI,AF,D2,m0,LI,tF,D2,m0,t4,m0,Ym,$s,bI,sF,D2,m0,m0,wm,bs,iQ,_F,D2,m0,fQ,ZF,D2,m0,tQ,XF,D2,m0,lQ,CF,D2,m0,wQ,yF,D2,m0,BQ,JF,D2,m0,IQ,UF,D2,m0,EQ,TF,D2,m0,RQ,aE,D2,m0,zQ,LF,D2,m0,OQ,cF,D2,m0,m0,g_,Ss,KQ,AE,D2,m0,m0,P_,as,$Q,kE,D2,m0,iy,lE,D2,m0,fy,wE,D2,m0,oy,BE,D2,m0,sy,WE,D2,m0,vy,VE,D2,m0,m0,nv,qs,py,FE,D2,m0,m0,tv,Ps,Vy,gE,D2,m0,m0,ov,Zh,Fy,DE,D2,m0,m0,lv,uh,Uy,cy,D2,m0,m0,Fv,vh,OI,fF,D2,m0,m0,Ev,sh,KI,oF,D2,m0,m0,Yv,Ih,dI,hF,D2,m0,m0,Jv,mh,rQ,vF,D2,m0,m0,_v,th,m0,yv,gs,m0,Mv,Lh,m0,TC,eV,m0,Qm,zh,m0,Sv,Dh,m0,V_,Bh,m0,Wv,Eh,m0,ev,Hh,m0,rv,gh,m0,Tm,Qh,m0,Hm,Th,m0,E_,xw,m0,tB,ph,m0,wv,Rh,m0,hm,pw,m0,jv,jh,m0,Ov,Gv,sm,AJ,fJ,xy,aX,rY,TZ,nw,zI,cY,sC,kJ,DG,y8,a3,PG,a3,qG,a3,$G,_Y,a6,a6,a6,a6,a6,HG,b6,bG,TG,uY,L8,t4,m0,I_,pW,t4,So,u1,Ik,xY,JG,hV,ny,vE,wW,m0,hy,XE,lV,m0,By,QE,qp,m0,dp,SV,uC,hC,lC,bv,oC,nC,kC,qv,fC,AC,rC,$v,Dv,gv,Rv,OB,eh,zB,NC,gC,JC,om,YC,EC,FC,tm,yC,QC,IC,lm,Tv,zv,Hv,rB,Ah,dB,Mm,uB,wZ,aB,Sm,vB,LZ,oZ,CB,cp,jB,yp,js,NI,RI,CI,VI,JV,wh,oI,lI,rI,eI,kZ,SB,YB,CZ,jZ,WZ,JI,YI,Ls,fv,EI,FI,DI,UI,Gh,iI,cV,tI,nI,Ch,cv,aG,m0,Yh,GW,mW,gW,m0,iB,nW,m0,vv,WW,an,oV,pm,RX,J1,uI,Os,XG,$p,tZ,B3,K0,BY,b6,_o,Ft,at,J1,J1,KB,Ho,RG,ge,aZ,ge,Ee,Af,no,Bo,Ye,ff,oo,Zo,Fe,kf,LE,DY,sI,ZQ,$3,ZY,b6,_o,Ft,at,J1,J1,TB,Ho,NG,ge,DZ,ge,Ee,Af,no,Bo,Ye,ff,oo,Zo,K3,HY,dv,ZC,DW,Qp,Fm,I6,XY,bm,Em,Dm,lZ,p_,Xw,MW,cw,Yo,go,Yo,go,z6,nf,dE,TY,hI,Wy,D3,Do,wI,Iy,g3,Uo,_I,Ey,N3,Mo,vI,Ny,T0,EY,PV,xo,YX,AY,fY,xm,xo,ZG,l9,wX,cm,zo,JX,kY,nY,am,zo,pG,l9,hX,nB,DX,G,L8,L8,L8,L8,Pt,jC,PC,LC,KC,qC,bC,OY,QY,PY,yY,FY,CY,VY,IY,t9,aY,Ly,Tt,JY,iV,tG,rV,oG,Go,yG,kI,hG,qt,RY,Dw,ww,IW,ZX,J1,Ip,TV,Ao,UY,oY,lY,qy,KE,qE,fo,MY,Fo,iY,$y,SE,KF,t4,m0,m0,wC,TX,PX,LX,BV,eG,pV,AG,Go,QG,UV,nG,m0,Nt,Nt,O6,q6,q6,MX,q6,m0,tn,en,O6,J1,J1,Jn,$6,m0,tn,en,O6,J1,J1,Jn,$6,m0,En,nn,O6,J1,J1,Yn,$6,m0,En,nn,O6,J1,J1,Yn,$6,t4,m0,TW,uV,iG,t4,m0,PW,sV,dX,m0,Pm,W_,w_,X_,sn,sn,__,i_,r_,zw,k_,m0,Lm,m_,l_,B_,un,un,u_,e_,A_,Hw,t_,m0,NB,Rp,ep,Dp,Ap,O_,s_,Tp,m0,JB,gp,ip,Np,rp,j_,h_,Up,t4,m0,tf,UX,EW,iX,eX,kX,lh,rW,LB,fG,WV,GV,bV,dV,t4,m0,tf,XW,FW,AX,fX,nX,nh,Lp,DB,kG,XV,wV,mV,ZV,P3,Ro,EB,P3,Ro,fm,m0,Re,Re,U4,U4,U4,Vo,J1,j8,j8,m0,Re,Re,U4,U4,U4,Vo,J1,j8,j8,m0,Je,Je,U4,U4,U4,Io,J1,j8,j8,m0,Je,Je,U4,U4,U4,Io,J1,j8,j8,m0,G_,lw,m0,Z_,tw,m0,sw,Iw,m0,uw,Vw,m0,po,DV,b6,m0,po,pB,b6,t4,So,m0,mY,t4,m0,L8,L8,ko,m0,ko,m0,Kp,mC,Pp,CV,m0,_G,QB,EG,m0,ZB,F_,OW,m0,Tw,m0,sY,m0,WY,m0,pY,ef,rf,ef,ef]);function jo(){return C2.byteLength/65536|0}function nJ(f){f=f|0;var e=jo()|0,r=e+f|0;if(e<r&&r<65536){var A=new ArrayBuffer(m(r,65536)),k=new Int8Array(A);k.set(l),l=new Int8Array(A),X=new Int16Array(A),i=new Int32Array(A),s=new Uint8Array(A),Q=new Uint16Array(A),k0=new Uint32Array(A),Z0=new Float32Array(A),i0=new Float64Array(A),C2=A,K=s}return e}return{P:Object.create(Object.prototype,{grow:{value:nJ},buffer:{get:function(){return C2}}}),Q:Jh,R:V,S:l0,T:G4,U:Z2,V:cA,W:G,X:i3,Y:dA,Z:vG,_:Xv,$:pC,aa:zC,ba:IG,ca:WI,da:UG,ea:bY,fa:To,ga:rJ,ha:iJ,ia:eJ,ja:PZ,ka:p3,la:dw,ma:$k,na:y8,oa:cX,pa:FV,qa:NX,ra:VG,sa:q_,ta:Zm,ua:hk,va:G4,wa:$h,xa:qX,ya:$X,za:Nv,Aa:jw,Ba:Sn,Ca:IB,Da:Km,Ea:TA,Fa:Gn,Ga:gA,Ha:Xo,Ia:d3,Ja:OV,Ka:K_,La:Fw,Ma:fW,Na:um,Oa:rw,Pa:jt,Qa:jt,Ra:yw,Sa:zt,Ta:Ht,Ua:QW,Va:yW,Wa:FG,Xa:Ms,Ya:ew,Za:ay,_a:Ky,$a:fh,ab:GI,bb:y8,cb:zm,db:CG,eb:rX,fb:Um,gb:HX,hb:y8,ib:IA,jb:QA,kb:dZ,lb:Dr,mb:xV,nb:tV,ob:yV,pb:Ty,qb:WX,rb:CX,sb:av,tb:cC,ub:YV,vb:N6,wb:zy,xb:Hy,yb:so,zb:ho,Ab:WC,Bb:XC,Cb:kB,Db:ZI,Eb:pI,Fb:wo,Gb:Z3,Hb:T6,Ib:T6,Jb:$V,Kb:AI,Lb:Bw,Mb:hB,Nb:Ph,Ob:s7,Pb:uZ,Qb:yB,Rb:lX,Sb:tX,Tb:oX,Ub:uX,Vb:sB,Wb:YZ,Xb:_X,Yb:_B,Zb:XB,_b:xZ,$b:mX,ac:sZ,bc:eB,cc:gt,dc:m0,ec:LV,fc:rZ,gc:KV,hc:qm,ic:y8,jc:BX,kc:jW,lc:$W,mc:bW,nc:zG,oc:Qk,pc:eW,qc:Mp,rc:jp,sc:lo,tc:Oy,uc:vw,vc:NQ,wc:mI,xc:jy,yc:Wo,zc:d3,Ac:Wo,Bc:d3,Cc:lo,Dc:JW,Ec:Py,Fc:QX,Gc:AZ,Hc:BC,Ic:dW,Jc:cW,Kc:oW,Lc:jV,Mc:rf,Nc:Fo,Oc:k7,Pc:OZ,Qc:AV,Rc:VW,Sc:IX,Tc:UB,Uc:fV,Vc:kV,Wc:nV,Xc:GC,Yc:MZ,Zc:dm,_c:Am,$c:Rm,ad:sX,bd:gX,cd:y8,dd:qh,ed:Ds,fd:rG,gd:cs,hd:SG,id:Nh,jd:xW,kd:UW,ld:NW,md:RW,nd:jG,od:MI,pd:zV,qd:BW,rd:Jm,sd:fI,td:N6,ud:bZ,vd:HV,wd:Mw,xd:x_,yd:Zv,zd:sv,Ad:hv,Bd:Pw,Cd:Lw,Dd:C_,Ed:H_,Fd:Nw,Gd:iW,Hd:EZ,Id:MV,Jd:PB,Kd:xv,Ld:mZ,Md:b_,Nd:BZ,Od:d_,Pd:v9,Qd:v9,Rd:zn,Sd:zn,Td:In,Ud:In,Vd:wB,Wd:YW,Xd:lB,Yd:Kh,Zd:T_,_d:c_,$d:_m,ae:dh,be:Wh,ce:Pv,de:Lv,ee:iv,fe:BG,ge:Zw,he:Ow,ie:Rw,je:VX,ke:nZ,le:io,me:n_,ne:io,oe:yZ,pe:XZ,qe:ah,re:FZ,se:zZ,te:MB,ue:ow,ve:y8,we:uW,xe:CW,ye:SX,ze:zX,Ae:GG,Be:HW,Ce:_w,De:y_,Ee:y8,Fe:vX,Ge:pX,He:OX,Ie:dY,Je:b9,Ke:Wt,Le:gk,Me:m3,Ne:I9,Oe:dC,Pe:ct,Qe:XQ,Re:H9,Se:cE,Te:VV,Ue:IV,Ve:tC,We:U9,Xe:gI,Ye:QI,Ze:yI,_e:II,$e:tt,af:dG,bf:gV,cf:b3,df:RV,ef:_V,ff:MC,gf:_C,hf:WG,jf:wG}}return u4(T)}(N)},instantiate:function(F,N){return{then:function(M){var T=new Pi.Module(F);M({instance:new Pi.Instance(T,N)})}}},RuntimeError:Error};d6=[];var c6,p5=!1,qo,S1,A4,k8,Li,a2,j2,W5,X5;function G5(){var F=c6.buffer;O.HEAP8=S1=new Int8Array(F),O.HEAP16=k8=new Int16Array(F),O.HEAPU8=A4=new Uint8Array(F),O.HEAPU16=Li=new Uint16Array(F),O.HEAP32=a2=new Int32Array(F),O.HEAPU32=j2=new Uint32Array(F),O.HEAPF32=W5=new Float32Array(F),O.HEAPF64=X5=new Float64Array(F)}var C5=[],V5=[],I5=[],$o=!1;function bo(){if(O.preRun)for(typeof O.preRun=="function"&&(O.preRun=[O.preRun]);O.preRun.length;)rl(O.preRun.shift());Oe(C5)}function co(){$o=!0,!O.noFSInit&&!b.init.initialized&&b.init(),b.ignorePermissions=!1,Y8.init(),Oe(V5)}function il(){if(O.postRun)for(typeof O.postRun=="function"&&(O.postRun=[O.postRun]);O.postRun.length;)Al(O.postRun.shift());Oe(I5)}function rl(F){C5.unshift(F)}function el(F){V5.unshift(F)}function Al(F){I5.unshift(F)}var $8=0,Te=null,Ki=null;function wJ(F){return F}function ae(F){var N;$8++,(N=O.monitorRunDependencies)==null||N.call(O,$8)}function ir(F){var M;if($8--,(M=O.monitorRunDependencies)==null||M.call(O,$8),$8==0&&(Te!==null&&(clearInterval(Te),Te=null),Ki)){var N=Ki;Ki=null,N()}}function rr(F){var M;(M=O.onAbort)==null||M.call(O,F),F="Aborted("+F+")",ji(F),p5=!0,qo=1,F+=". Build with -sASSERTIONS for more info.";var N=new Pi.RuntimeError(F);throw E8(N),N}var fl="data:application/octet-stream;base64,",kl=F=>F.startsWith(fl),Se=F=>F.startsWith("file://");function nl(){var F="libheif.wasm";return kl(F)?F:Ko(F)}var er;function tl(F){if(F==er&&d6)return new Uint8Array(d6);if(Oi)return Oi(F);throw\'sync fetching of the wasm failed: you can preload it to Module["wasmBinary"] manually, or emcc.py will do that for you when generating HTML (but not JS)\'}function ol(F,N){var M,T=tl(F);M=new Pi.Module(T);var $=new Pi.Instance(M,N);return[$,M]}function ll(){return{a:ks}}function ul(){var F=ll();function N(T,$){return e0=T.exports,c6=e0.P,G5(),x5=e0.R,el(e0.Q),ir("wasm-instantiate"),e0}if(ae("wasm-instantiate"),O.instantiateWasm)try{return O.instantiateWasm(F,N)}catch(T){ji(`Module.instantiateWasm callback failed with error: ${T}`),E8(T)}er||(er=nl());var M=ol(er,F);return N(M[0])}var S2,O1,Oe=F=>{for(;F.length>0;)F.shift()(O)},_J=O.noExitRuntime||!0,Q5=typeof TextDecoder!="undefined"?new TextDecoder:void 0,mi=(F,N,M)=>{for(var T=N+M,$=N;F[$]&&!($>=T);)++$;if($-N>16&&F.buffer&&Q5)return Q5.decode(F.subarray(N,$));for(var K="";N<$;){var o0=F[N++];if(!(o0&128)){K+=String.fromCharCode(o0);continue}var s0=F[N++]&63;if((o0&224)==192){K+=String.fromCharCode((o0&31)<<6|s0);continue}var t0=F[N++]&63;if((o0&240)==224?o0=(o0&15)<<12|s0<<6|t0:o0=(o0&7)<<18|s0<<12|t0<<6|F[N++]&63,o0<65536)K+=String.fromCharCode(o0);else{var E0=o0-65536;K+=String.fromCharCode(55296|E0>>10,56320|E0&1023)}}return K},qi=(F,N)=>F?mi(A4,F,N):"",sl=(F,N,M,T)=>{rr(`Assertion failed: ${qi(F)}, at: `+[N?qi(N):"unknown filename",M,T?qi(T):"unknown function"])};class hl{constructor(N){this.excPtr=N,this.ptr=N-24}set_type(N){j2[this.ptr+4>>2]=N}get_type(){return j2[this.ptr+4>>2]}set_destructor(N){j2[this.ptr+8>>2]=N}get_destructor(){return j2[this.ptr+8>>2]}set_caught(N){N=N?1:0,S1[this.ptr+12]=N}get_caught(){return S1[this.ptr+12]!=0}set_rethrown(N){N=N?1:0,S1[this.ptr+13]=N}get_rethrown(){return S1[this.ptr+13]!=0}init(N,M){this.set_adjusted_ptr(0),this.set_type(N),this.set_destructor(M)}set_adjusted_ptr(N){j2[this.ptr+16>>2]=N}get_adjusted_ptr(){return j2[this.ptr+16>>2]}get_exception_ptr(){var N=ts(this.get_type());if(N)return j2[this.excPtr>>2];var M=this.get_adjusted_ptr();return M!==0?M:this.excPtr}}var y5=0,wl=0,_l=(F,N,M)=>{var T=new hl(F);throw T.init(N,M),y5=F,wl++,y5};function Ar(){var F=a2[+m4.varargs>>2];return m4.varargs+=4,F}var Bi=Ar,w1={isAbs:F=>F.charAt(0)==="/",splitPath:F=>{var N=/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;return N.exec(F).slice(1)},normalizeArray:(F,N)=>{for(var M=0,T=F.length-1;T>=0;T--){var $=F[T];$==="."?F.splice(T,1):$===".."?(F.splice(T,1),M++):M&&(F.splice(T,1),M--)}if(N)for(;M;M--)F.unshift("..");return F},normalize:F=>{var N=w1.isAbs(F),M=F.substr(-1)==="/";return F=w1.normalizeArray(F.split("/").filter(T=>!!T),!N).join("/"),!F&&!N&&(F="."),F&&M&&(F+="/"),(N?"/":"")+F},dirname:F=>{var N=w1.splitPath(F),M=N[0],T=N[1];return!M&&!T?".":(T&&(T=T.substr(0,T.length-1)),M+T)},basename:F=>{if(F==="/")return"/";F=w1.normalize(F),F=F.replace(/\\/$/,"");var N=F.lastIndexOf("/");return N===-1?F:F.substr(N+1)},join:(...F)=>w1.normalize(F.join("/")),join2:(F,N)=>w1.normalize(F+"/"+N)},vl=()=>{if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function")return T=>crypto.getRandomValues(T);if(q8)try{var F=h5("crypto"),N=F.randomFillSync;if(N)return T=>F.randomFillSync(T);var M=F.randomBytes;return T=>(T.set(M(T.byteLength)),T)}catch(T){}rr("initRandomDevice")},F5=F=>(F5=vl())(F),n8={resolve:(...F)=>{for(var N="",M=!1,T=F.length-1;T>=-1&&!M;T--){var $=T>=0?F[T]:b.cwd();if(typeof $!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!$)return"";N=$+"/"+N,M=w1.isAbs($)}return N=w1.normalizeArray(N.split("/").filter(K=>!!K),!M).join("/"),(M?"/":"")+N||"."},relative:(F,N)=>{F=n8.resolve(F).substr(1),N=n8.resolve(N).substr(1);function M(E0){for(var R0=0;R0<E0.length&&E0[R0]==="";R0++);for(var e2=E0.length-1;e2>=0&&E0[e2]==="";e2--);return R0>e2?[]:E0.slice(R0,e2-R0+1)}for(var T=M(F.split("/")),$=M(N.split("/")),K=Math.min(T.length,$.length),o0=K,s0=0;s0<K;s0++)if(T[s0]!==$[s0]){o0=s0;break}for(var t0=[],s0=o0;s0<T.length;s0++)t0.push("..");return t0=t0.concat($.slice(o0)),t0.join("/")}},je=[],Pe=F=>{for(var N=0,M=0;M<F.length;++M){var T=F.charCodeAt(M);T<=127?N++:T<=2047?N+=2:T>=55296&&T<=57343?(N+=4,++M):N+=3}return N},Le=(F,N,M,T)=>{if(!(T>0))return 0;for(var $=M,K=M+T-1,o0=0;o0<F.length;++o0){var s0=F.charCodeAt(o0);if(s0>=55296&&s0<=57343){var t0=F.charCodeAt(++o0);s0=65536+((s0&1023)<<10)|t0&1023}if(s0<=127){if(M>=K)break;N[M++]=s0}else if(s0<=2047){if(M+1>=K)break;N[M++]=192|s0>>6,N[M++]=128|s0&63}else if(s0<=65535){if(M+2>=K)break;N[M++]=224|s0>>12,N[M++]=128|s0>>6&63,N[M++]=128|s0&63}else{if(M+3>=K)break;N[M++]=240|s0>>18,N[M++]=128|s0>>12&63,N[M++]=128|s0>>6&63,N[M++]=128|s0&63}}return N[M]=0,M-$};function E5(F,N,M){var T=M>0?M:Pe(F)+1,$=new Array(T),K=Le(F,$,0,$.length);return N&&($.length=K),$}var ml=()=>{if(!je.length){var F=null;if(q8){var N=256,M=Buffer.alloc(N),T=0,$=process.stdin.fd;try{T=ze.readSync($,M,0,N)}catch(K){if(K.toString().includes("EOF"))T=0;else throw K}T>0&&(F=M.slice(0,T).toString("utf-8"))}else typeof window!="undefined"&&typeof window.prompt=="function"&&(F=window.prompt("Input: "),F!==null&&(F+=`\n`));if(!F)return null;je=E5(F,!0)}return je.shift()},Y8={ttys:[],init(){},shutdown(){},register(F,N){Y8.ttys[F]={input:[],output:[],ops:N},b.registerDevice(F,Y8.stream_ops)},stream_ops:{open(F){var N=Y8.ttys[F.node.rdev];if(!N)throw new b.ErrnoError(43);F.tty=N,F.seekable=!1},close(F){F.tty.ops.fsync(F.tty)},fsync(F){F.tty.ops.fsync(F.tty)},read(F,N,M,T,$){if(!F.tty||!F.tty.ops.get_char)throw new b.ErrnoError(60);for(var K=0,o0=0;o0<T;o0++){var s0;try{s0=F.tty.ops.get_char(F.tty)}catch(t0){throw new b.ErrnoError(29)}if(s0===void 0&&K===0)throw new b.ErrnoError(6);if(s0==null)break;K++,N[M+o0]=s0}return K&&(F.node.timestamp=Date.now()),K},write(F,N,M,T,$){if(!F.tty||!F.tty.ops.put_char)throw new b.ErrnoError(60);try{for(var K=0;K<T;K++)F.tty.ops.put_char(F.tty,N[M+K])}catch(o0){throw new b.ErrnoError(29)}return T&&(F.node.timestamp=Date.now()),K}},default_tty_ops:{get_char(F){return ml()},put_char(F,N){N===null||N===10?(He(mi(F.output,0)),F.output=[]):N!=0&&F.output.push(N)},fsync(F){F.output&&F.output.length>0&&(He(mi(F.output,0)),F.output=[])},ioctl_tcgets(F){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(F,N,M){return 0},ioctl_tiocgwinsz(F){return[24,80]}},default_tty1_ops:{put_char(F,N){N===null||N===10?(ji(mi(F.output,0)),F.output=[]):N!=0&&F.output.push(N)},fsync(F){F.output&&F.output.length>0&&(ji(mi(F.output,0)),F.output=[])}}},Y5=F=>{rr()},X2={ops_table:null,mount(F){return X2.createNode(null,"/",16895,0)},createNode(F,N,M,T){if(b.isBlkdev(M)||b.isFIFO(M))throw new b.ErrnoError(63);X2.ops_table||(X2.ops_table={dir:{node:{getattr:X2.node_ops.getattr,setattr:X2.node_ops.setattr,lookup:X2.node_ops.lookup,mknod:X2.node_ops.mknod,rename:X2.node_ops.rename,unlink:X2.node_ops.unlink,rmdir:X2.node_ops.rmdir,readdir:X2.node_ops.readdir,symlink:X2.node_ops.symlink},stream:{llseek:X2.stream_ops.llseek}},file:{node:{getattr:X2.node_ops.getattr,setattr:X2.node_ops.setattr},stream:{llseek:X2.stream_ops.llseek,read:X2.stream_ops.read,write:X2.stream_ops.write,allocate:X2.stream_ops.allocate,mmap:X2.stream_ops.mmap,msync:X2.stream_ops.msync}},link:{node:{getattr:X2.node_ops.getattr,setattr:X2.node_ops.setattr,readlink:X2.node_ops.readlink},stream:{}},chrdev:{node:{getattr:X2.node_ops.getattr,setattr:X2.node_ops.setattr},stream:b.chrdev_stream_ops}});var $=b.createNode(F,N,M,T);return b.isDir($.mode)?($.node_ops=X2.ops_table.dir.node,$.stream_ops=X2.ops_table.dir.stream,$.contents={}):b.isFile($.mode)?($.node_ops=X2.ops_table.file.node,$.stream_ops=X2.ops_table.file.stream,$.usedBytes=0,$.contents=null):b.isLink($.mode)?($.node_ops=X2.ops_table.link.node,$.stream_ops=X2.ops_table.link.stream):b.isChrdev($.mode)&&($.node_ops=X2.ops_table.chrdev.node,$.stream_ops=X2.ops_table.chrdev.stream),$.timestamp=Date.now(),F&&(F.contents[N]=$,F.timestamp=$.timestamp),$},getFileDataAsTypedArray(F){return F.contents?F.contents.subarray?F.contents.subarray(0,F.usedBytes):new Uint8Array(F.contents):new Uint8Array(0)},expandFileStorage(F,N){var M=F.contents?F.contents.length:0;if(!(M>=N)){var T=1024*1024;N=Math.max(N,M*(M<T?2:1.125)>>>0),M!=0&&(N=Math.max(N,256));var $=F.contents;F.contents=new Uint8Array(N),F.usedBytes>0&&F.contents.set($.subarray(0,F.usedBytes),0)}},resizeFileStorage(F,N){if(F.usedBytes!=N)if(N==0)F.contents=null,F.usedBytes=0;else{var M=F.contents;F.contents=new Uint8Array(N),M&&F.contents.set(M.subarray(0,Math.min(N,F.usedBytes))),F.usedBytes=N}},node_ops:{getattr(F){var N={};return N.dev=b.isChrdev(F.mode)?F.id:1,N.ino=F.id,N.mode=F.mode,N.nlink=1,N.uid=0,N.gid=0,N.rdev=F.rdev,b.isDir(F.mode)?N.size=4096:b.isFile(F.mode)?N.size=F.usedBytes:b.isLink(F.mode)?N.size=F.link.length:N.size=0,N.atime=new Date(F.timestamp),N.mtime=new Date(F.timestamp),N.ctime=new Date(F.timestamp),N.blksize=4096,N.blocks=Math.ceil(N.size/N.blksize),N},setattr(F,N){N.mode!==void 0&&(F.mode=N.mode),N.timestamp!==void 0&&(F.timestamp=N.timestamp),N.size!==void 0&&X2.resizeFileStorage(F,N.size)},lookup(F,N){throw b.genericErrors[44]},mknod(F,N,M,T){return X2.createNode(F,N,M,T)},rename(F,N,M){if(b.isDir(F.mode)){var T;try{T=b.lookupNode(N,M)}catch(K){}if(T)for(var $ in T.contents)throw new b.ErrnoError(55)}delete F.parent.contents[F.name],F.parent.timestamp=Date.now(),F.name=M,N.contents[M]=F,N.timestamp=F.parent.timestamp},unlink(F,N){delete F.contents[N],F.timestamp=Date.now()},rmdir(F,N){var M=b.lookupNode(F,N);for(var T in M.contents)throw new b.ErrnoError(55);delete F.contents[N],F.timestamp=Date.now()},readdir(F){var N=[".",".."];for(var M of Object.keys(F.contents))N.push(M);return N},symlink(F,N,M){var T=X2.createNode(F,N,41471,0);return T.link=M,T},readlink(F){if(!b.isLink(F.mode))throw new b.ErrnoError(28);return F.link}},stream_ops:{read(F,N,M,T,$){var K=F.node.contents;if($>=F.node.usedBytes)return 0;var o0=Math.min(F.node.usedBytes-$,T);if(o0>8&&K.subarray)N.set(K.subarray($,$+o0),M);else for(var s0=0;s0<o0;s0++)N[M+s0]=K[$+s0];return o0},write(F,N,M,T,$,K){if(N.buffer===S1.buffer&&(K=!1),!T)return 0;var o0=F.node;if(o0.timestamp=Date.now(),N.subarray&&(!o0.contents||o0.contents.subarray)){if(K)return o0.contents=N.subarray(M,M+T),o0.usedBytes=T,T;if(o0.usedBytes===0&&$===0)return o0.contents=N.slice(M,M+T),o0.usedBytes=T,T;if($+T<=o0.usedBytes)return o0.contents.set(N.subarray(M,M+T),$),T}if(X2.expandFileStorage(o0,$+T),o0.contents.subarray&&N.subarray)o0.contents.set(N.subarray(M,M+T),$);else for(var s0=0;s0<T;s0++)o0.contents[$+s0]=N[M+s0];return o0.usedBytes=Math.max(o0.usedBytes,$+T),T},llseek(F,N,M){var T=N;if(M===1?T+=F.position:M===2&&b.isFile(F.node.mode)&&(T+=F.node.usedBytes),T<0)throw new b.ErrnoError(28);return T},allocate(F,N,M){X2.expandFileStorage(F.node,N+M),F.node.usedBytes=Math.max(F.node.usedBytes,N+M)},mmap(F,N,M,T,$){if(!b.isFile(F.node.mode))throw new b.ErrnoError(43);var K,o0,s0=F.node.contents;if(!($&2)&&s0.buffer===S1.buffer)o0=!1,K=s0.byteOffset;else{if((M>0||M+N<s0.length)&&(s0.subarray?s0=s0.subarray(M,M+N):s0=Array.prototype.slice.call(s0,M,M+N)),o0=!0,K=Y5(N),!K)throw new b.ErrnoError(48);S1.set(s0,K)}return{ptr:K,allocated:o0}},msync(F,N,M,T,$){return X2.stream_ops.write(F,N,0,T,M,!1),0}}},Bl=(F,N,M,T)=>{var $=T?"":`al ${F}`;xe(F).then(K=>{N(new Uint8Array(K)),$&&ir($)},K=>{if(M)M();else throw`Loading data file "${F}" failed.`}),$&&ae($)},Zl=(F,N,M,T,$,K)=>{b.createDataFile(F,N,M,T,$,K)},pl=O.preloadPlugins||[],Wl=(F,N,M,T)=>{typeof Browser!="undefined"&&Browser.init();var $=!1;return pl.forEach(K=>{$||K.canHandle(N)&&(K.handle(F,N,M,T),$=!0)}),$},Xl=(F,N,M,T,$,K,o0,s0,t0,E0)=>{var R0=N?n8.resolve(w1.join2(F,N)):F,e2=`cp ${R0}`;function u2(k2){function j0(N2){E0==null||E0(),s0||Zl(F,N,N2,T,$,t0),K==null||K(),ir(e2)}Wl(k2,R0,j0,()=>{o0==null||o0(),ir(e2)})||j0(k2)}ae(e2),typeof M=="string"?Bl(M,u2,o0):u2(M)},Gl=F=>{var N={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},M=N[F];if(typeof M=="undefined")throw new Error(`Unknown file open mode: ${F}`);return M},Ke=(F,N)=>{var M=0;return F&&(M|=365),N&&(M|=146),M},b={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class{constructor(F){this.name="ErrnoError",this.errno=F}},genericErrors:{},filesystems:null,syncFSRequests:0,FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(F){this.node=F}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(F){this.shared.flags=F}get position(){return this.shared.position}set position(F){this.shared.position=F}},FSNode:class{constructor(F,N,M,T){F||(F=this),this.parent=F,this.mount=F.mount,this.mounted=null,this.id=b.nextInode++,this.name=N,this.mode=M,this.node_ops={},this.stream_ops={},this.rdev=T,this.readMode=365,this.writeMode=146}get read(){return(this.mode&this.readMode)===this.readMode}set read(F){F?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(F){F?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return b.isDir(this.mode)}get isDevice(){return b.isChrdev(this.mode)}},lookupPath(F,N={}){if(F=n8.resolve(F),!F)return{path:"",node:null};var M={follow_mount:!0,recurse_count:0};if(N=Object.assign(M,N),N.recurse_count>8)throw new b.ErrnoError(32);for(var T=F.split("/").filter(e2=>!!e2),$=b.root,K="/",o0=0;o0<T.length;o0++){var s0=o0===T.length-1;if(s0&&N.parent)break;if($=b.lookupNode($,T[o0]),K=w1.join2(K,T[o0]),b.isMountpoint($)&&(!s0||s0&&N.follow_mount)&&($=$.mounted.root),!s0||N.follow)for(var t0=0;b.isLink($.mode);){var E0=b.readlink(K);K=n8.resolve(w1.dirname(K),E0);var R0=b.lookupPath(K,{recurse_count:N.recurse_count+1});if($=R0.node,t0++>40)throw new b.ErrnoError(32)}}return{path:K,node:$}},getPath(F){for(var N;;){if(b.isRoot(F)){var M=F.mount.mountpoint;return N?M[M.length-1]!=="/"?`${M}/${N}`:M+N:M}N=N?`${F.name}/${N}`:F.name,F=F.parent}},hashName(F,N){for(var M=0,T=0;T<N.length;T++)M=(M<<5)-M+N.charCodeAt(T)|0;return(F+M>>>0)%b.nameTable.length},hashAddNode(F){var N=b.hashName(F.parent.id,F.name);F.name_next=b.nameTable[N],b.nameTable[N]=F},hashRemoveNode(F){var N=b.hashName(F.parent.id,F.name);if(b.nameTable[N]===F)b.nameTable[N]=F.name_next;else for(var M=b.nameTable[N];M;){if(M.name_next===F){M.name_next=F.name_next;break}M=M.name_next}},lookupNode(F,N){var M=b.mayLookup(F);if(M)throw new b.ErrnoError(M);for(var T=b.hashName(F.id,N),$=b.nameTable[T];$;$=$.name_next){var K=$.name;if($.parent.id===F.id&&K===N)return $}return b.lookup(F,N)},createNode(F,N,M,T){var $=new b.FSNode(F,N,M,T);return b.hashAddNode($),$},destroyNode(F){b.hashRemoveNode(F)},isRoot(F){return F===F.parent},isMountpoint(F){return!!F.mounted},isFile(F){return(F&61440)===32768},isDir(F){return(F&61440)===16384},isLink(F){return(F&61440)===40960},isChrdev(F){return(F&61440)===8192},isBlkdev(F){return(F&61440)===24576},isFIFO(F){return(F&61440)===4096},isSocket(F){return(F&49152)===49152},flagsToPermissionString(F){var N=["r","w","rw"][F&3];return F&512&&(N+="w"),N},nodePermissions(F,N){return b.ignorePermissions?0:N.includes("r")&&!(F.mode&292)||N.includes("w")&&!(F.mode&146)||N.includes("x")&&!(F.mode&73)?2:0},mayLookup(F){if(!b.isDir(F.mode))return 54;var N=b.nodePermissions(F,"x");return N||(F.node_ops.lookup?0:2)},mayCreate(F,N){try{var M=b.lookupNode(F,N);return 20}catch(T){}return b.nodePermissions(F,"wx")},mayDelete(F,N,M){var T;try{T=b.lookupNode(F,N)}catch(K){return K.errno}var $=b.nodePermissions(F,"wx");if($)return $;if(M){if(!b.isDir(T.mode))return 54;if(b.isRoot(T)||b.getPath(T)===b.cwd())return 10}else if(b.isDir(T.mode))return 31;return 0},mayOpen(F,N){return F?b.isLink(F.mode)?32:b.isDir(F.mode)&&(b.flagsToPermissionString(N)!=="r"||N&512)?31:b.nodePermissions(F,b.flagsToPermissionString(N)):44},MAX_OPEN_FDS:4096,nextfd(){for(var F=0;F<=b.MAX_OPEN_FDS;F++)if(!b.streams[F])return F;throw new b.ErrnoError(33)},getStreamChecked(F){var N=b.getStream(F);if(!N)throw new b.ErrnoError(8);return N},getStream:F=>b.streams[F],createStream(F,N=-1){return F=Object.assign(new b.FSStream,F),N==-1&&(N=b.nextfd()),F.fd=N,b.streams[N]=F,F},closeStream(F){b.streams[F]=null},dupStream(F,N=-1){var T,$;var M=b.createStream(F,N);return($=(T=M.stream_ops)==null?void 0:T.dup)==null||$.call(T,M),M},chrdev_stream_ops:{open(F){var M,T;var N=b.getDevice(F.node.rdev);F.stream_ops=N.stream_ops,(T=(M=F.stream_ops).open)==null||T.call(M,F)},llseek(){throw new b.ErrnoError(70)}},major:F=>F>>8,minor:F=>F&255,makedev:(F,N)=>F<<8|N,registerDevice(F,N){b.devices[F]={stream_ops:N}},getDevice:F=>b.devices[F],getMounts(F){for(var N=[],M=[F];M.length;){var T=M.pop();N.push(T),M.push(...T.mounts)}return N},syncfs(F,N){typeof F=="function"&&(N=F,F=!1),b.syncFSRequests++,b.syncFSRequests>1&&ji(`warning: ${b.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var M=b.getMounts(b.root.mount),T=0;function $(o0){return b.syncFSRequests--,N(o0)}function K(o0){if(o0)return K.errored?void 0:(K.errored=!0,$(o0));++T>=M.length&&$(null)}M.forEach(o0=>{if(!o0.type.syncfs)return K(null);o0.type.syncfs(o0,F,K)})},mount(F,N,M){var T=M==="/",$=!M,K;if(T&&b.root)throw new b.ErrnoError(10);if(!T&&!$){var o0=b.lookupPath(M,{follow_mount:!1});if(M=o0.path,K=o0.node,b.isMountpoint(K))throw new b.ErrnoError(10);if(!b.isDir(K.mode))throw new b.ErrnoError(54)}var s0={type:F,opts:N,mountpoint:M,mounts:[]},t0=F.mount(s0);return t0.mount=s0,s0.root=t0,T?b.root=t0:K&&(K.mounted=s0,K.mount&&K.mount.mounts.push(s0)),t0},unmount(F){var N=b.lookupPath(F,{follow_mount:!1});if(!b.isMountpoint(N.node))throw new b.ErrnoError(28);var M=N.node,T=M.mounted,$=b.getMounts(T);Object.keys(b.nameTable).forEach(o0=>{for(var s0=b.nameTable[o0];s0;){var t0=s0.name_next;$.includes(s0.mount)&&b.destroyNode(s0),s0=t0}}),M.mounted=null;var K=M.mount.mounts.indexOf(T);M.mount.mounts.splice(K,1)},lookup(F,N){return F.node_ops.lookup(F,N)},mknod(F,N,M){var T=b.lookupPath(F,{parent:!0}),$=T.node,K=w1.basename(F);if(!K||K==="."||K==="..")throw new b.ErrnoError(28);var o0=b.mayCreate($,K);if(o0)throw new b.ErrnoError(o0);if(!$.node_ops.mknod)throw new b.ErrnoError(63);return $.node_ops.mknod($,K,N,M)},create(F,N){return N=N!==void 0?N:438,N&=4095,N|=32768,b.mknod(F,N,0)},mkdir(F,N){return N=N!==void 0?N:511,N&=1023,N|=16384,b.mknod(F,N,0)},mkdirTree(F,N){for(var M=F.split("/"),T="",$=0;$<M.length;++$)if(M[$]){T+="/"+M[$];try{b.mkdir(T,N)}catch(K){if(K.errno!=20)throw K}}},mkdev(F,N,M){return typeof M=="undefined"&&(M=N,N=438),N|=8192,b.mknod(F,N,M)},symlink(F,N){if(!n8.resolve(F))throw new b.ErrnoError(44);var M=b.lookupPath(N,{parent:!0}),T=M.node;if(!T)throw new b.ErrnoError(44);var $=w1.basename(N),K=b.mayCreate(T,$);if(K)throw new b.ErrnoError(K);if(!T.node_ops.symlink)throw new b.ErrnoError(63);return T.node_ops.symlink(T,$,F)},rename(F,N){var M=w1.dirname(F),T=w1.dirname(N),$=w1.basename(F),K=w1.basename(N),o0,s0,t0;if(o0=b.lookupPath(F,{parent:!0}),s0=o0.node,o0=b.lookupPath(N,{parent:!0}),t0=o0.node,!s0||!t0)throw new b.ErrnoError(44);if(s0.mount!==t0.mount)throw new b.ErrnoError(75);var E0=b.lookupNode(s0,$),R0=n8.relative(F,T);if(R0.charAt(0)!==".")throw new b.ErrnoError(28);if(R0=n8.relative(N,M),R0.charAt(0)!==".")throw new b.ErrnoError(55);var e2;try{e2=b.lookupNode(t0,K)}catch(j0){}if(E0!==e2){var u2=b.isDir(E0.mode),k2=b.mayDelete(s0,$,u2);if(k2)throw new b.ErrnoError(k2);if(k2=e2?b.mayDelete(t0,K,u2):b.mayCreate(t0,K),k2)throw new b.ErrnoError(k2);if(!s0.node_ops.rename)throw new b.ErrnoError(63);if(b.isMountpoint(E0)||e2&&b.isMountpoint(e2))throw new b.ErrnoError(10);if(t0!==s0&&(k2=b.nodePermissions(s0,"w"),k2))throw new b.ErrnoError(k2);b.hashRemoveNode(E0);try{s0.node_ops.rename(E0,t0,K),E0.parent=t0}catch(j0){throw j0}finally{b.hashAddNode(E0)}}},rmdir(F){var N=b.lookupPath(F,{parent:!0}),M=N.node,T=w1.basename(F),$=b.lookupNode(M,T),K=b.mayDelete(M,T,!0);if(K)throw new b.ErrnoError(K);if(!M.node_ops.rmdir)throw new b.ErrnoError(63);if(b.isMountpoint($))throw new b.ErrnoError(10);M.node_ops.rmdir(M,T),b.destroyNode($)},readdir(F){var N=b.lookupPath(F,{follow:!0}),M=N.node;if(!M.node_ops.readdir)throw new b.ErrnoError(54);return M.node_ops.readdir(M)},unlink(F){var N=b.lookupPath(F,{parent:!0}),M=N.node;if(!M)throw new b.ErrnoError(44);var T=w1.basename(F),$=b.lookupNode(M,T),K=b.mayDelete(M,T,!1);if(K)throw new b.ErrnoError(K);if(!M.node_ops.unlink)throw new b.ErrnoError(63);if(b.isMountpoint($))throw new b.ErrnoError(10);M.node_ops.unlink(M,T),b.destroyNode($)},readlink(F){var N=b.lookupPath(F),M=N.node;if(!M)throw new b.ErrnoError(44);if(!M.node_ops.readlink)throw new b.ErrnoError(28);return n8.resolve(b.getPath(M.parent),M.node_ops.readlink(M))},stat(F,N){var M=b.lookupPath(F,{follow:!N}),T=M.node;if(!T)throw new b.ErrnoError(44);if(!T.node_ops.getattr)throw new b.ErrnoError(63);return T.node_ops.getattr(T)},lstat(F){return b.stat(F,!0)},chmod(F,N,M){var T;if(typeof F=="string"){var $=b.lookupPath(F,{follow:!M});T=$.node}else T=F;if(!T.node_ops.setattr)throw new b.ErrnoError(63);T.node_ops.setattr(T,{mode:N&4095|T.mode&-4096,timestamp:Date.now()})},lchmod(F,N){b.chmod(F,N,!0)},fchmod(F,N){var M=b.getStreamChecked(F);b.chmod(M.node,N)},chown(F,N,M,T){var $;if(typeof F=="string"){var K=b.lookupPath(F,{follow:!T});$=K.node}else $=F;if(!$.node_ops.setattr)throw new b.ErrnoError(63);$.node_ops.setattr($,{timestamp:Date.now()})},lchown(F,N,M){b.chown(F,N,M,!0)},fchown(F,N,M){var T=b.getStreamChecked(F);b.chown(T.node,N,M)},truncate(F,N){if(N<0)throw new b.ErrnoError(28);var M;if(typeof F=="string"){var T=b.lookupPath(F,{follow:!0});M=T.node}else M=F;if(!M.node_ops.setattr)throw new b.ErrnoError(63);if(b.isDir(M.mode))throw new b.ErrnoError(31);if(!b.isFile(M.mode))throw new b.ErrnoError(28);var $=b.nodePermissions(M,"w");if($)throw new b.ErrnoError($);M.node_ops.setattr(M,{size:N,timestamp:Date.now()})},ftruncate(F,N){var M=b.getStreamChecked(F);if(!(M.flags&2097155))throw new b.ErrnoError(28);b.truncate(M.node,N)},utime(F,N,M){var T=b.lookupPath(F,{follow:!0}),$=T.node;$.node_ops.setattr($,{timestamp:Math.max(N,M)})},open(F,N,M){if(F==="")throw new b.ErrnoError(44);N=typeof N=="string"?Gl(N):N,N&64?(M=typeof M=="undefined"?438:M,M=M&4095|32768):M=0;var T;if(typeof F=="object")T=F;else{F=w1.normalize(F);try{var $=b.lookupPath(F,{follow:!(N&131072)});T=$.node}catch(t0){}}var K=!1;if(N&64)if(T){if(N&128)throw new b.ErrnoError(20)}else T=b.mknod(F,M,0),K=!0;if(!T)throw new b.ErrnoError(44);if(b.isChrdev(T.mode)&&(N&=-513),N&65536&&!b.isDir(T.mode))throw new b.ErrnoError(54);if(!K){var o0=b.mayOpen(T,N);if(o0)throw new b.ErrnoError(o0)}N&512&&!K&&b.truncate(T,0),N&=-131713;var s0=b.createStream({node:T,path:b.getPath(T),flags:N,seekable:!0,position:0,stream_ops:T.stream_ops,ungotten:[],error:!1});return s0.stream_ops.open&&s0.stream_ops.open(s0),O.logReadFiles&&!(N&1)&&(b.readFiles||(b.readFiles={}),F in b.readFiles||(b.readFiles[F]=1)),s0},close(F){if(b.isClosed(F))throw new b.ErrnoError(8);F.getdents&&(F.getdents=null);try{F.stream_ops.close&&F.stream_ops.close(F)}catch(N){throw N}finally{b.closeStream(F.fd)}F.fd=null},isClosed(F){return F.fd===null},llseek(F,N,M){if(b.isClosed(F))throw new b.ErrnoError(8);if(!F.seekable||!F.stream_ops.llseek)throw new b.ErrnoError(70);if(M!=0&&M!=1&&M!=2)throw new b.ErrnoError(28);return F.position=F.stream_ops.llseek(F,N,M),F.ungotten=[],F.position},read(F,N,M,T,$){if(T<0||$<0)throw new b.ErrnoError(28);if(b.isClosed(F))throw new b.ErrnoError(8);if((F.flags&2097155)===1)throw new b.ErrnoError(8);if(b.isDir(F.node.mode))throw new b.ErrnoError(31);if(!F.stream_ops.read)throw new b.ErrnoError(28);var K=typeof $!="undefined";if(!K)$=F.position;else if(!F.seekable)throw new b.ErrnoError(70);var o0=F.stream_ops.read(F,N,M,T,$);return K||(F.position+=o0),o0},write(F,N,M,T,$,K){if(T<0||$<0)throw new b.ErrnoError(28);if(b.isClosed(F))throw new b.ErrnoError(8);if(!(F.flags&2097155))throw new b.ErrnoError(8);if(b.isDir(F.node.mode))throw new b.ErrnoError(31);if(!F.stream_ops.write)throw new b.ErrnoError(28);F.seekable&&F.flags&1024&&b.llseek(F,0,2);var o0=typeof $!="undefined";if(!o0)$=F.position;else if(!F.seekable)throw new b.ErrnoError(70);var s0=F.stream_ops.write(F,N,M,T,$,K);return o0||(F.position+=s0),s0},allocate(F,N,M){if(b.isClosed(F))throw new b.ErrnoError(8);if(N<0||M<=0)throw new b.ErrnoError(28);if(!(F.flags&2097155))throw new b.ErrnoError(8);if(!b.isFile(F.node.mode)&&!b.isDir(F.node.mode))throw new b.ErrnoError(43);if(!F.stream_ops.allocate)throw new b.ErrnoError(138);F.stream_ops.allocate(F,N,M)},mmap(F,N,M,T,$){if(T&2&&!($&2)&&(F.flags&2097155)!==2)throw new b.ErrnoError(2);if((F.flags&2097155)===1)throw new b.ErrnoError(2);if(!F.stream_ops.mmap)throw new b.ErrnoError(43);return F.stream_ops.mmap(F,N,M,T,$)},msync(F,N,M,T,$){return F.stream_ops.msync?F.stream_ops.msync(F,N,M,T,$):0},ioctl(F,N,M){if(!F.stream_ops.ioctl)throw new b.ErrnoError(59);return F.stream_ops.ioctl(F,N,M)},readFile(F,N={}){if(N.flags=N.flags||0,N.encoding=N.encoding||"binary",N.encoding!=="utf8"&&N.encoding!=="binary")throw new Error(`Invalid encoding type "${N.encoding}"`);var M,T=b.open(F,N.flags),$=b.stat(F),K=$.size,o0=new Uint8Array(K);return b.read(T,o0,0,K,0),N.encoding==="utf8"?M=mi(o0,0):N.encoding==="binary"&&(M=o0),b.close(T),M},writeFile(F,N,M={}){M.flags=M.flags||577;var T=b.open(F,M.flags,M.mode);if(typeof N=="string"){var $=new Uint8Array(Pe(N)+1),K=Le(N,$,0,$.length);b.write(T,$,0,K,void 0,M.canOwn)}else if(ArrayBuffer.isView(N))b.write(T,N,0,N.byteLength,void 0,M.canOwn);else throw new Error("Unsupported data type");b.close(T)},cwd:()=>b.currentPath,chdir(F){var N=b.lookupPath(F,{follow:!0});if(N.node===null)throw new b.ErrnoError(44);if(!b.isDir(N.node.mode))throw new b.ErrnoError(54);var M=b.nodePermissions(N.node,"x");if(M)throw new b.ErrnoError(M);b.currentPath=N.path},createDefaultDirectories(){b.mkdir("/tmp"),b.mkdir("/home"),b.mkdir("/home/web_user")},createDefaultDevices(){b.mkdir("/dev"),b.registerDevice(b.makedev(1,3),{read:()=>0,write:(T,$,K,o0,s0)=>o0}),b.mkdev("/dev/null",b.makedev(1,3)),Y8.register(b.makedev(5,0),Y8.default_tty_ops),Y8.register(b.makedev(6,0),Y8.default_tty1_ops),b.mkdev("/dev/tty",b.makedev(5,0)),b.mkdev("/dev/tty1",b.makedev(6,0));var F=new Uint8Array(1024),N=0,M=()=>(N===0&&(N=F5(F).byteLength),F[--N]);b.createDevice("/dev","random",M),b.createDevice("/dev","urandom",M),b.mkdir("/dev/shm"),b.mkdir("/dev/shm/tmp")},createSpecialDirectories(){b.mkdir("/proc");var F=b.mkdir("/proc/self");b.mkdir("/proc/self/fd"),b.mount({mount(){var N=b.createNode(F,"fd",16895,73);return N.node_ops={lookup(M,T){var $=+T,K=b.getStreamChecked($),o0={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>K.path}};return o0.parent=o0,o0}},N}},{},"/proc/self/fd")},createStandardStreams(){O.stdin?b.createDevice("/dev","stdin",O.stdin):b.symlink("/dev/tty","/dev/stdin"),O.stdout?b.createDevice("/dev","stdout",null,O.stdout):b.symlink("/dev/tty","/dev/stdout"),O.stderr?b.createDevice("/dev","stderr",null,O.stderr):b.symlink("/dev/tty1","/dev/stderr");var F=b.open("/dev/stdin",0),N=b.open("/dev/stdout",1),M=b.open("/dev/stderr",1)},staticInit(){[44].forEach(F=>{b.genericErrors[F]=new b.ErrnoError(F),b.genericErrors[F].stack="<generic error, no stack>"}),b.nameTable=new Array(4096),b.mount(X2,{},"/"),b.createDefaultDirectories(),b.createDefaultDevices(),b.createSpecialDirectories(),b.filesystems={MEMFS:X2}},init(F,N,M){b.init.initialized=!0,O.stdin=F||O.stdin,O.stdout=N||O.stdout,O.stderr=M||O.stderr,b.createStandardStreams()},quit(){b.init.initialized=!1;for(var F=0;F<b.streams.length;F++){var N=b.streams[F];N&&b.close(N)}},findObject(F,N){var M=b.analyzePath(F,N);return M.exists?M.object:null},analyzePath(F,N){try{var M=b.lookupPath(F,{follow:!N});F=M.path}catch($){}var T={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var M=b.lookupPath(F,{parent:!0});T.parentExists=!0,T.parentPath=M.path,T.parentObject=M.node,T.name=w1.basename(F),M=b.lookupPath(F,{follow:!N}),T.exists=!0,T.path=M.path,T.object=M.node,T.name=M.node.name,T.isRoot=M.path==="/"}catch($){T.error=$.errno}return T},createPath(F,N,M,T){F=typeof F=="string"?F:b.getPath(F);for(var $=N.split("/").reverse();$.length;){var K=$.pop();if(K){var o0=w1.join2(F,K);try{b.mkdir(o0)}catch(s0){}F=o0}}return o0},createFile(F,N,M,T,$){var K=w1.join2(typeof F=="string"?F:b.getPath(F),N),o0=Ke(T,$);return b.create(K,o0)},createDataFile(F,N,M,T,$,K){var o0=N;F&&(F=typeof F=="string"?F:b.getPath(F),o0=N?w1.join2(F,N):F);var s0=Ke(T,$),t0=b.create(o0,s0);if(M){if(typeof M=="string"){for(var E0=new Array(M.length),R0=0,e2=M.length;R0<e2;++R0)E0[R0]=M.charCodeAt(R0);M=E0}b.chmod(t0,s0|146);var u2=b.open(t0,577);b.write(u2,M,0,M.length,0,K),b.close(u2),b.chmod(t0,s0)}},createDevice(F,N,M,T){var $=w1.join2(typeof F=="string"?F:b.getPath(F),N),K=Ke(!!M,!!T);b.createDevice.major||(b.createDevice.major=64);var o0=b.makedev(b.createDevice.major++,0);return b.registerDevice(o0,{open(s0){s0.seekable=!1},close(s0){var t0;(t0=T==null?void 0:T.buffer)!=null&&t0.length&&T(10)},read(s0,t0,E0,R0,e2){for(var u2=0,k2=0;k2<R0;k2++){var j0;try{j0=M()}catch(N2){throw new b.ErrnoError(29)}if(j0===void 0&&u2===0)throw new b.ErrnoError(6);if(j0==null)break;u2++,t0[E0+k2]=j0}return u2&&(s0.node.timestamp=Date.now()),u2},write(s0,t0,E0,R0,e2){for(var u2=0;u2<R0;u2++)try{T(t0[E0+u2])}catch(k2){throw new b.ErrnoError(29)}return R0&&(s0.node.timestamp=Date.now()),u2}}),b.mkdev($,K,o0)},forceLoadFile(F){if(F.isDevice||F.isFolder||F.link||F.contents)return!0;if(typeof XMLHttpRequest!="undefined")throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");try{F.contents=Oi(F.url),F.usedBytes=F.contents.length}catch(N){throw new b.ErrnoError(29)}},createLazyFile(F,N,M,T,$){class K{constructor(){this.lengthKnown=!1,this.chunks=[]}get(k2){if(!(k2>this.length-1||k2<0)){var j0=k2%this.chunkSize,N2=k2/this.chunkSize|0;return this.getter(N2)[j0]}}setDataGetter(k2){this.getter=k2}cacheLength(){var k2=new XMLHttpRequest;if(k2.open("HEAD",M,!1),k2.send(null),!(k2.status>=200&&k2.status<300||k2.status===304))throw new Error("Couldn\'t load "+M+". Status: "+k2.status);var j0=Number(k2.getResponseHeader("Content-length")),N2,m1=(N2=k2.getResponseHeader("Accept-Ranges"))&&N2==="bytes",U2=(N2=k2.getResponseHeader("Content-Encoding"))&&N2==="gzip",P=1024*1024;m1||(P=j0);var s1=(u4,n1)=>{if(u4>n1)throw new Error("invalid range ("+u4+", "+n1+") or no bytes requested!");if(n1>j0-1)throw new Error("only "+j0+" bytes available! programmer error!");var C2=new XMLHttpRequest;if(C2.open("GET",M,!1),j0!==P&&C2.setRequestHeader("Range","bytes="+u4+"-"+n1),C2.responseType="arraybuffer",C2.overrideMimeType&&C2.overrideMimeType("text/plain; charset=x-user-defined"),C2.send(null),!(C2.status>=200&&C2.status<300||C2.status===304))throw new Error("Couldn\'t load "+M+". Status: "+C2.status);return C2.response!==void 0?new Uint8Array(C2.response||[]):E5(C2.responseText||"",!0)},l8=this;l8.setDataGetter(u4=>{var n1=u4*P,C2=(u4+1)*P-1;if(C2=Math.min(C2,j0-1),typeof l8.chunks[u4]=="undefined"&&(l8.chunks[u4]=s1(n1,C2)),typeof l8.chunks[u4]=="undefined")throw new Error("doXHR failed!");return l8.chunks[u4]}),(U2||!j0)&&(P=j0=1,j0=this.getter(0).length,P=j0,He("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=j0,this._chunkSize=P,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!O4)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var o0=new K,s0={isDevice:!1,contents:o0}}else var s0={isDevice:!1,url:M};var t0=b.createFile(F,N,s0,T,$);s0.contents?t0.contents=s0.contents:s0.url&&(t0.contents=null,t0.url=s0.url),Object.defineProperties(t0,{usedBytes:{get:function(){return this.contents.length}}});var E0={},R0=Object.keys(t0.stream_ops);R0.forEach(u2=>{var k2=t0.stream_ops[u2];E0[u2]=(...j0)=>(b.forceLoadFile(t0),k2(...j0))});function e2(u2,k2,j0,N2,m1){var U2=u2.node.contents;if(m1>=U2.length)return 0;var P=Math.min(U2.length-m1,N2);if(U2.slice)for(var s1=0;s1<P;s1++)k2[j0+s1]=U2[m1+s1];else for(var s1=0;s1<P;s1++)k2[j0+s1]=U2.get(m1+s1);return P}return E0.read=(u2,k2,j0,N2,m1)=>(b.forceLoadFile(t0),e2(u2,k2,j0,N2,m1)),E0.mmap=(u2,k2,j0,N2,m1)=>{b.forceLoadFile(t0);var U2=Y5(k2);if(!U2)throw new b.ErrnoError(48);return e2(u2,S1,U2,k2,j0),{ptr:U2,allocated:!0}},t0.stream_ops=E0,t0}},m4={DEFAULT_POLLMASK:5,calculateAt(F,N,M){if(w1.isAbs(N))return N;var T;if(F===-100)T=b.cwd();else{var $=m4.getStreamFromFD(F);T=$.path}if(N.length==0){if(!M)throw new b.ErrnoError(44);return T}return w1.join2(T,N)},doStat(F,N,M){var T=F(N);a2[M>>2]=T.dev,a2[M+4>>2]=T.mode,j2[M+8>>2]=T.nlink,a2[M+12>>2]=T.uid,a2[M+16>>2]=T.gid,a2[M+20>>2]=T.rdev,O1=[T.size>>>0,(S2=T.size,+Math.abs(S2)>=1?S2>0?+Math.floor(S2/4294967296)>>>0:~~+Math.ceil((S2-+(~~S2>>>0))/4294967296)>>>0:0)],a2[M+24>>2]=O1[0],a2[M+28>>2]=O1[1],a2[M+32>>2]=4096,a2[M+36>>2]=T.blocks;var $=T.atime.getTime(),K=T.mtime.getTime(),o0=T.ctime.getTime();return O1=[Math.floor($/1e3)>>>0,(S2=Math.floor($/1e3),+Math.abs(S2)>=1?S2>0?+Math.floor(S2/4294967296)>>>0:~~+Math.ceil((S2-+(~~S2>>>0))/4294967296)>>>0:0)],a2[M+40>>2]=O1[0],a2[M+44>>2]=O1[1],j2[M+48>>2]=$%1e3*1e3,O1=[Math.floor(K/1e3)>>>0,(S2=Math.floor(K/1e3),+Math.abs(S2)>=1?S2>0?+Math.floor(S2/4294967296)>>>0:~~+Math.ceil((S2-+(~~S2>>>0))/4294967296)>>>0:0)],a2[M+56>>2]=O1[0],a2[M+60>>2]=O1[1],j2[M+64>>2]=K%1e3*1e3,O1=[Math.floor(o0/1e3)>>>0,(S2=Math.floor(o0/1e3),+Math.abs(S2)>=1?S2>0?+Math.floor(S2/4294967296)>>>0:~~+Math.ceil((S2-+(~~S2>>>0))/4294967296)>>>0:0)],a2[M+72>>2]=O1[0],a2[M+76>>2]=O1[1],j2[M+80>>2]=o0%1e3*1e3,O1=[T.ino>>>0,(S2=T.ino,+Math.abs(S2)>=1?S2>0?+Math.floor(S2/4294967296)>>>0:~~+Math.ceil((S2-+(~~S2>>>0))/4294967296)>>>0:0)],a2[M+88>>2]=O1[0],a2[M+92>>2]=O1[1],0},doMsync(F,N,M,T,$){if(!b.isFile(N.node.mode))throw new b.ErrnoError(43);if(T&2)return 0;var K=A4.slice(F,F+M);b.msync(N,K,$,M,T)},getStreamFromFD(F){var N=b.getStreamChecked(F);return N},varargs:void 0,getStr(F){var N=qi(F);return N}};function Cl(F,N,M){m4.varargs=M;try{var T=m4.getStreamFromFD(F);switch(N){case 0:{var $=Ar();if($<0)return-28;for(;b.streams[$];)$++;var K;return K=b.dupStream(T,$),K.fd}case 1:case 2:return 0;case 3:return T.flags;case 4:{var $=Ar();return T.flags|=$,0}case 12:{var $=Bi(),o0=0;return k8[$+o0>>1]=2,0}case 13:case 14:return 0}return-28}catch(s0){if(typeof b=="undefined"||s0.name!=="ErrnoError")throw s0;return-s0.errno}}function Vl(F,N,M){m4.varargs=M;try{var T=m4.getStreamFromFD(F);switch(N){case 21509:return T.tty?0:-59;case 21505:{if(!T.tty)return-59;if(T.tty.ops.ioctl_tcgets){var $=T.tty.ops.ioctl_tcgets(T),K=Bi();a2[K>>2]=$.c_iflag||0,a2[K+4>>2]=$.c_oflag||0,a2[K+8>>2]=$.c_cflag||0,a2[K+12>>2]=$.c_lflag||0;for(var o0=0;o0<32;o0++)S1[K+o0+17]=$.c_cc[o0]||0;return 0}return 0}case 21510:case 21511:case 21512:return T.tty?0:-59;case 21506:case 21507:case 21508:{if(!T.tty)return-59;if(T.tty.ops.ioctl_tcsets){for(var K=Bi(),s0=a2[K>>2],t0=a2[K+4>>2],E0=a2[K+8>>2],R0=a2[K+12>>2],e2=[],o0=0;o0<32;o0++)e2.push(S1[K+o0+17]);return T.tty.ops.ioctl_tcsets(T.tty,N,{c_iflag:s0,c_oflag:t0,c_cflag:E0,c_lflag:R0,c_cc:e2})}return 0}case 21519:{if(!T.tty)return-59;var K=Bi();return a2[K>>2]=0,0}case 21520:return T.tty?-28:-59;case 21531:{var K=Bi();return b.ioctl(T,N,K)}case 21523:{if(!T.tty)return-59;if(T.tty.ops.ioctl_tiocgwinsz){var u2=T.tty.ops.ioctl_tiocgwinsz(T.tty),K=Bi();k8[K>>1]=u2[0],k8[K+2>>1]=u2[1]}return 0}case 21524:return T.tty?0:-59;case 21515:return T.tty?0:-59;default:return-28}}catch(k2){if(typeof b=="undefined"||k2.name!=="ErrnoError")throw k2;return-k2.errno}}function Il(F,N,M,T){m4.varargs=T;try{N=m4.getStr(N),N=m4.calculateAt(F,N);var $=T?Ar():0;return b.open(N,M,$).fd}catch(K){if(typeof b=="undefined"||K.name!=="ErrnoError")throw K;return-K.errno}}var Ql=()=>{rr("")},fr={},qe=F=>{for(;F.length;){var N=F.pop(),M=F.pop();M(N)}};function $i(F){return this.fromWireType(j2[F>>2])}var Zi={},b8={},kr={},J5,nr=F=>{throw new J5(F)},$e=(F,N,M)=>{F.forEach(function(s0){kr[s0]=N});function T(s0){var t0=M(s0);t0.length!==F.length&&nr("Mismatched type converter count");for(var E0=0;E0<F.length;++E0)j4(F[E0],t0[E0])}var $=new Array(N.length),K=[],o0=0;N.forEach((s0,t0)=>{b8.hasOwnProperty(s0)?$[t0]=b8[s0]:(K.push(s0),Zi.hasOwnProperty(s0)||(Zi[s0]=[]),Zi[s0].push(()=>{$[t0]=b8[s0],++o0,o0===K.length&&T($)}))}),K.length===0&&T($)},yl=F=>{var N=fr[F];delete fr[F];var M=N.rawConstructor,T=N.rawDestructor,$=N.fields,K=$.map(o0=>o0.getterReturnType).concat($.map(o0=>o0.setterArgumentType));$e([F],K,o0=>{var s0={};return $.forEach((t0,E0)=>{var R0=t0.fieldName,e2=o0[E0],u2=t0.getter,k2=t0.getterContext,j0=o0[E0+$.length],N2=t0.setter,m1=t0.setterContext;s0[R0]={read:U2=>e2.fromWireType(u2(k2,U2)),write:(U2,P)=>{var s1=[];N2(m1,U2,j0.toWireType(s1,P)),qe(s1)}}}),[{name:N.name,fromWireType:t0=>{var E0={};for(var R0 in s0)E0[R0]=s0[R0].read(t0);return T(t0),E0},toWireType:(t0,E0)=>{for(var R0 in s0)if(!(R0 in E0))throw new TypeError(`Missing field: "${R0}"`);var e2=M();for(R0 in s0)s0[R0].write(e2,E0[R0]);return t0!==null&&t0.push(T,e2),e2},argPackAdvance:P4,readValueFromPointer:$i,destructorFunction:T}]})},Fl=(F,N,M,T,$)=>{},El=()=>{for(var F=new Array(256),N=0;N<256;++N)F[N]=String.fromCharCode(N);g5=F},g5,f4=F=>{for(var N="",M=F;A4[M];)N+=g5[A4[M++]];return N},bi,i1=F=>{throw new bi(F)};function Yl(F,N,M={}){var T=N.name;if(F||i1(`type "${T}" must have a positive integer typeid pointer`),b8.hasOwnProperty(F)){if(M.ignoreDuplicateRegistrations)return;i1(`Cannot register type \'${T}\' twice`)}if(b8[F]=N,delete kr[F],Zi.hasOwnProperty(F)){var $=Zi[F];delete Zi[F],$.forEach(K=>K())}}function j4(F,N,M={}){if(!("argPackAdvance"in N))throw new TypeError("registerType registeredInstance requires argPackAdvance");return Yl(F,N,M)}var P4=8,Jl=(F,N,M,T)=>{N=f4(N),j4(F,{name:N,fromWireType:function($){return!!$},toWireType:function($,K){return K?M:T},argPackAdvance:P4,readValueFromPointer:function($){return this.fromWireType(A4[$])},destructorFunction:null})},gl=F=>({count:F.count,deleteScheduled:F.deleteScheduled,preservePointerOnDelete:F.preservePointerOnDelete,ptr:F.ptr,ptrType:F.ptrType,smartPtr:F.smartPtr,smartPtrType:F.smartPtrType}),be=F=>{function N(M){return M.$$.ptrType.registeredClass.name}i1(N(F)+" instance already deleted")},de=!1,N5=F=>{},Nl=F=>{F.smartPtr?F.smartPtrType.rawDestructor(F.smartPtr):F.ptrType.registeredClass.rawDestructor(F.ptr)},R5=F=>{F.count.value-=1;var N=F.count.value===0;N&&Nl(F)},D5=(F,N,M)=>{if(N===M)return F;if(M.baseClass===void 0)return null;var T=D5(F,N,M.baseClass);return T===null?null:M.downcast(T)},U5={},Rl=()=>Object.keys(i6).length,Dl=()=>{var F=[];for(var N in i6)i6.hasOwnProperty(N)&&F.push(i6[N]);return F},di=[],ce=()=>{for(;di.length;){var F=di.pop();F.$$.deleteScheduled=!1,F.delete()}},ci,Ul=F=>{ci=F,di.length&&ci&&ci(ce)},Ml=()=>{O.getInheritedInstanceCount=Rl,O.getLiveInheritedInstances=Dl,O.flushPendingDeletes=ce,O.setDelayFunction=Ul},i6={},xl=(F,N)=>{for(N===void 0&&i1("ptr should not be undefined");F.baseClass;)N=F.upcast(N),F=F.baseClass;return N},zl=(F,N)=>(N=xl(F,N),i6[N]),tr=(F,N)=>{(!N.ptrType||!N.ptr)&&nr("makeClassHandle requires ptr and ptrType");var M=!!N.smartPtrType,T=!!N.smartPtr;return M!==T&&nr("Both smartPtrType and smartPtr must be specified"),N.count={value:1},r6(Object.create(F,{$$:{value:N,writable:!0}}))};function Hl(F){var N=this.getPointee(F);if(!N)return this.destructor(F),null;var M=zl(this.registeredClass,N);if(M!==void 0){if(M.$$.count.value===0)return M.$$.ptr=N,M.$$.smartPtr=F,M.clone();var T=M.clone();return this.destructor(F),T}function $(){return this.isSmartPointer?tr(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:N,smartPtrType:this,smartPtr:F}):tr(this.registeredClass.instancePrototype,{ptrType:this,ptr:F})}var K=this.registeredClass.getActualType(N),o0=U5[K];if(!o0)return $.call(this);var s0;this.isConst?s0=o0.constPointerType:s0=o0.pointerType;var t0=D5(N,this.registeredClass,s0.registeredClass);return t0===null?$.call(this):this.isSmartPointer?tr(s0.registeredClass.instancePrototype,{ptrType:s0,ptr:t0,smartPtrType:this,smartPtr:F}):tr(s0.registeredClass.instancePrototype,{ptrType:s0,ptr:t0})}var r6=F=>typeof FinalizationRegistry=="undefined"?(r6=N=>N,F):(de=new FinalizationRegistry(N=>{R5(N.$$)}),r6=N=>{var M=N.$$,T=!!M.smartPtr;if(T){var $={$$:M};de.register(N,$,N)}return N},N5=N=>de.unregister(N),r6(F)),Tl=()=>{Object.assign(or.prototype,{isAliasOf(F){if(!(this instanceof or)||!(F instanceof or))return!1;var N=this.$$.ptrType.registeredClass,M=this.$$.ptr;F.$$=F.$$;for(var T=F.$$.ptrType.registeredClass,$=F.$$.ptr;N.baseClass;)M=N.upcast(M),N=N.baseClass;for(;T.baseClass;)$=T.upcast($),T=T.baseClass;return N===T&&M===$},clone(){if(this.$$.ptr||be(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var F=r6(Object.create(Object.getPrototypeOf(this),{$$:{value:gl(this.$$)}}));return F.$$.count.value+=1,F.$$.deleteScheduled=!1,F},delete(){this.$$.ptr||be(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&i1("Object already scheduled for deletion"),N5(this),R5(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||be(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&i1("Object already scheduled for deletion"),di.push(this),di.length===1&&ci&&ci(ce),this.$$.deleteScheduled=!0,this}})};function or(){}var pi=(F,N)=>Object.defineProperty(N,"name",{value:F}),al=(F,N,M)=>{if(F[N].overloadTable===void 0){var T=F[N];F[N]=function(...$){return F[N].overloadTable.hasOwnProperty($.length)||i1(`Function \'${M}\' called with an invalid number of arguments (${$.length}) - expects one of (${F[N].overloadTable})!`),F[N].overloadTable[$.length].apply(this,$)},F[N].overloadTable=[],F[N].overloadTable[T.argCount]=T}},iA=(F,N,M)=>{O.hasOwnProperty(F)?((M===void 0||O[F].overloadTable!==void 0&&O[F].overloadTable[M]!==void 0)&&i1(`Cannot register public name \'${F}\' twice`),al(O,F,F),O.hasOwnProperty(M)&&i1(`Cannot register multiple overloads of a function with the same number of arguments (${M})!`),O[F].overloadTable[M]=N):(O[F]=N,M!==void 0&&(O[F].numArguments=M))},Sl=48,Ol=57,jl=F=>{if(F===void 0)return"_unknown";F=F.replace(/[^a-zA-Z0-9_]/g,"$");var N=F.charCodeAt(0);return N>=Sl&&N<=Ol?`_${F}`:F};function Pl(F,N,M,T,$,K,o0,s0){this.name=F,this.constructor=N,this.instancePrototype=M,this.rawDestructor=T,this.baseClass=$,this.getActualType=K,this.upcast=o0,this.downcast=s0,this.pureVirtualFunctions=[]}var rA=(F,N,M)=>{for(;N!==M;)N.upcast||i1(`Expected null or instance of ${M.name}, got an instance of ${N.name}`),F=N.upcast(F),N=N.baseClass;return F};function Ll(F,N){if(N===null)return this.isReference&&i1(`null is not a valid ${this.name}`),0;N.$$||i1(`Cannot pass "${kA(N)}" as a ${this.name}`),N.$$.ptr||i1(`Cannot pass deleted object as a pointer of type ${this.name}`);var M=N.$$.ptrType.registeredClass,T=rA(N.$$.ptr,M,this.registeredClass);return T}function Kl(F,N){var M;if(N===null)return this.isReference&&i1(`null is not a valid ${this.name}`),this.isSmartPointer?(M=this.rawConstructor(),F!==null&&F.push(this.rawDestructor,M),M):0;(!N||!N.$$)&&i1(`Cannot pass "${kA(N)}" as a ${this.name}`),N.$$.ptr||i1(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&N.$$.ptrType.isConst&&i1(`Cannot convert argument of type ${N.$$.smartPtrType?N.$$.smartPtrType.name:N.$$.ptrType.name} to parameter type ${this.name}`);var T=N.$$.ptrType.registeredClass;if(M=rA(N.$$.ptr,T,this.registeredClass),this.isSmartPointer)switch(N.$$.smartPtr===void 0&&i1("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:N.$$.smartPtrType===this?M=N.$$.smartPtr:i1(`Cannot convert argument of type ${N.$$.smartPtrType?N.$$.smartPtrType.name:N.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:M=N.$$.smartPtr;break;case 2:if(N.$$.smartPtrType===this)M=N.$$.smartPtr;else{var $=N.clone();M=this.rawShare(M,I4.toHandle(()=>$.delete())),F!==null&&F.push(this.rawDestructor,M)}break;default:i1("Unsupporting sharing policy")}return M}function ql(F,N){if(N===null)return this.isReference&&i1(`null is not a valid ${this.name}`),0;N.$$||i1(`Cannot pass "${kA(N)}" as a ${this.name}`),N.$$.ptr||i1(`Cannot pass deleted object as a pointer of type ${this.name}`),N.$$.ptrType.isConst&&i1(`Cannot convert argument of type ${N.$$.ptrType.name} to parameter type ${this.name}`);var M=N.$$.ptrType.registeredClass,T=rA(N.$$.ptr,M,this.registeredClass);return T}var $l=()=>{Object.assign(lr.prototype,{getPointee(F){return this.rawGetPointee&&(F=this.rawGetPointee(F)),F},destructor(F){var N;(N=this.rawDestructor)==null||N.call(this,F)},argPackAdvance:P4,readValueFromPointer:$i,fromWireType:Hl})};function lr(F,N,M,T,$,K,o0,s0,t0,E0,R0){this.name=F,this.registeredClass=N,this.isReference=M,this.isConst=T,this.isSmartPointer=$,this.pointeeType=K,this.sharingPolicy=o0,this.rawGetPointee=s0,this.rawConstructor=t0,this.rawShare=E0,this.rawDestructor=R0,!$&&N.baseClass===void 0?T?(this.toWireType=Ll,this.destructorFunction=null):(this.toWireType=ql,this.destructorFunction=null):this.toWireType=Kl}var M5=(F,N,M)=>{O.hasOwnProperty(F)||nr("Replacing nonexistent public symbol"),O[F].overloadTable!==void 0&&M!==void 0?O[F].overloadTable[M]=N:(O[F]=N,O[F].argCount=M)},bl=(F,N,M)=>{F=F.replace(/p/g,"i");var T=O["dynCall_"+F];return T(N,...M)},ur=[],x5,z5=F=>{var N=ur[F];return N||(F>=ur.length&&(ur.length=F+1),ur[F]=N=x5.get(F)),N},dl=(F,N,M=[])=>{if(F.includes("j"))return bl(F,N,M);var T=z5(N)(...M);return T},cl=(F,N)=>(...M)=>dl(F,N,M),t8=(F,N)=>{F=f4(F);function M(){return F.includes("j")?cl(F,N):z5(N)}var T=M();return typeof T!="function"&&i1(`unknown function pointer with signature ${F}: ${N}`),T},iu=(F,N)=>{var M=pi(N,function(T){this.name=N,this.message=T;var $=new Error(T).stack;$!==void 0&&(this.stack=this.toString()+`\n`+$.replace(/^Error(:[^\\n]*)?\\n/,""))});return M.prototype=Object.create(F.prototype),M.prototype.constructor=M,M.prototype.toString=function(){return this.message===void 0?this.name:`${this.name}: ${this.message}`},M},H5,T5=F=>{var N=ns(F),M=f4(N);return J8(N),M},a5=(F,N)=>{var M=[],T={};function $(K){if(!T[K]&&!b8[K]){if(kr[K]){kr[K].forEach($);return}M.push(K),T[K]=!0}}throw N.forEach($),new H5(`${F}: `+M.map(T5).join([", "]))},ru=(F,N,M,T,$,K,o0,s0,t0,E0,R0,e2,u2)=>{R0=f4(R0),K=t8($,K),s0&&(s0=t8(o0,s0)),E0&&(E0=t8(t0,E0)),u2=t8(e2,u2);var k2=jl(R0);iA(k2,function(){a5(`Cannot construct ${R0} due to unbound types`,[T])}),$e([F,N,M],T?[T]:[],j0=>{var C2,l;j0=j0[0];var N2,m1;T?(N2=j0.registeredClass,m1=N2.instancePrototype):m1=or.prototype;var U2=pi(R0,function(...X){if(Object.getPrototypeOf(this)!==P)throw new bi("Use \'new\' to construct "+R0);if(s1.constructor_body===void 0)throw new bi(R0+" has no accessible constructor");var i=s1.constructor_body[X.length];if(i===void 0)throw new bi(`Tried to invoke ctor of ${R0} with invalid number of parameters (${X.length}) - expected (${Object.keys(s1.constructor_body).toString()}) parameters instead!`);return i.apply(this,X)}),P=Object.create(m1,{constructor:{value:U2}});U2.prototype=P;var s1=new Pl(R0,U2,P,u2,N2,K,s0,E0);s1.baseClass&&((l=(C2=s1.baseClass).__derivedClasses)!=null||(C2.__derivedClasses=[]),s1.baseClass.__derivedClasses.push(s1));var l8=new lr(R0,s1,!0,!1,!1),u4=new lr(R0+"*",s1,!1,!1,!1),n1=new lr(R0+" const*",s1,!1,!0,!1);return U5[F]={pointerType:u4,constPointerType:n1},M5(k2,U2),[l8,u4,n1]})},eA=[],o8=[],AA=F=>{F>9&&--o8[F+1]===0&&(o8[F]=void 0,eA.push(F))},eu=()=>o8.length/2-5-eA.length,Au=()=>{o8.push(0,1,void 0,1,null,1,!0,1,!1,1),O.count_emval_handles=eu},I4={toValue:F=>(F||i1("Cannot use deleted val. handle = "+F),o8[F]),toHandle:F=>{switch(F){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{let N=eA.pop()||o8.length;return o8[N]=F,o8[N+1]=1,N}}}},fu={name:"emscripten::val",fromWireType:F=>{var N=I4.toValue(F);return AA(F),N},toWireType:(F,N)=>I4.toHandle(N),argPackAdvance:P4,readValueFromPointer:$i,destructorFunction:null},ku=F=>j4(F,fu),nu=(F,N,M)=>{switch(N){case 1:return M?function(T){return this.fromWireType(S1[T])}:function(T){return this.fromWireType(A4[T])};case 2:return M?function(T){return this.fromWireType(k8[T>>1])}:function(T){return this.fromWireType(Li[T>>1])};case 4:return M?function(T){return this.fromWireType(a2[T>>2])}:function(T){return this.fromWireType(j2[T>>2])};default:throw new TypeError(`invalid integer width (${N}): ${F}`)}},tu=(F,N,M,T)=>{N=f4(N);function $(){}$.values={},j4(F,{name:N,constructor:$,fromWireType:function(K){return this.constructor.values[K]},toWireType:(K,o0)=>o0.value,argPackAdvance:P4,readValueFromPointer:nu(N,M,T),destructorFunction:null}),iA(N,$)},fA=(F,N)=>{var M=b8[F];return M===void 0&&i1(`${N} has unknown type ${T5(F)}`),M},ou=(F,N,M)=>{var T=fA(F,"enum");N=f4(N);var $=T.constructor,K=Object.create(T.constructor.prototype,{value:{value:M},constructor:{value:pi(`${T.name}_${N}`,function(){})}});$.values[M]=K,$[N]=K},kA=F=>{if(F===null)return"null";var N=typeof F;return N==="object"||N==="array"||N==="function"?F.toString():""+F},lu=(F,N)=>{switch(N){case 4:return function(M){return this.fromWireType(W5[M>>2])};case 8:return function(M){return this.fromWireType(X5[M>>3])};default:throw new TypeError(`invalid float width (${N}): ${F}`)}},uu=(F,N,M)=>{N=f4(N),j4(F,{name:N,fromWireType:T=>T,toWireType:(T,$)=>$,argPackAdvance:P4,readValueFromPointer:lu(N,M),destructorFunction:null})};function S5(F){for(var N=1;N<F.length;++N)if(F[N]!==null&&F[N].destructorFunction===void 0)return!0;return!1}function O5(F,N){if(!(F instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof F} which is not a function`);var M=pi(F.name||"unknownFunctionName",function(){});M.prototype=F.prototype;var T=new M,$=F.apply(T,N);return $ instanceof Object?$:T}function su(F,N,M,T){for(var $=S5(F),K=F.length,o0="",s0="",t0=0;t0<K-2;++t0)o0+=(t0!==0?", ":"")+"arg"+t0,s0+=(t0!==0?", ":"")+"arg"+t0+"Wired";var E0=`\n return function (${o0}) {\n if (arguments.length !== ${K-2}) {\n throwBindingError(\'function \' + humanName + \' called with \' + arguments.length + \' arguments, expected ${K-2}\');\n }`;$&&(E0+=`var destructors = [];\n`);var R0=$?"destructors":"null",e2=["humanName","throwBindingError","invoker","fn","runDestructors","retType","classParam"];N&&(E0+="var thisWired = classParam[\'toWireType\']("+R0+`, this);\n`);for(var t0=0;t0<K-2;++t0)E0+="var arg"+t0+"Wired = argType"+t0+"[\'toWireType\']("+R0+", arg"+t0+`);\n`,e2.push("argType"+t0);if(N&&(s0="thisWired"+(s0.length>0?", ":"")+s0),E0+=(M||T?"var rv = ":"")+"invoker(fn"+(s0.length>0?", ":"")+s0+`);\n`,$)E0+=`runDestructors(destructors);\n`;else for(var t0=N?1:2;t0<F.length;++t0){var u2=t0===1?"thisWired":"arg"+(t0-2)+"Wired";F[t0].destructorFunction!==null&&(E0+=`${u2}_dtor(${u2});\n`,e2.push(`${u2}_dtor`))}return M&&(E0+=`var ret = retType[\'fromWireType\'](rv);\nreturn ret;\n`),E0+=`}\n`,[e2,E0]}function hu(F,N,M,T,$,K){var o0=N.length;o0<2&&i1("argTypes array size mismatch! Must at least get return value and \'this\' types!");for(var s0=N[1]!==null&&M!==null,t0=S5(N),E0=N[0].name!=="void",R0=[F,i1,T,$,qe,N[0],N[1]],e2=0;e2<o0-2;++e2)R0.push(N[e2+2]);if(!t0)for(var e2=s0?1:2;e2<N.length;++e2)N[e2].destructorFunction!==null&&R0.push(N[e2].destructorFunction);let[u2,k2]=su(N,s0,E0,K);u2.push(k2);var j0=O5(Function,u2)(...R0);return pi(F,j0)}var wu=(F,N)=>{for(var M=[],T=0;T<F;T++)M.push(j2[N+T*4>>2]);return M},_u=F=>{F=F.trim();let N=F.indexOf("(");return N!==-1?F.substr(0,N):F},vu=(F,N,M,T,$,K,o0)=>{var s0=wu(N,M);F=f4(F),F=_u(F),$=t8(T,$),iA(F,function(){a5(`Cannot call ${F} due to unbound types`,s0)},N-1),$e([],s0,t0=>{var E0=[t0[0],null].concat(t0.slice(1));return M5(F,hu(F,E0,null,$,K,o0),N-1),[]})},mu=(F,N,M)=>{switch(N){case 1:return M?T=>S1[T]:T=>A4[T];case 2:return M?T=>k8[T>>1]:T=>Li[T>>1];case 4:return M?T=>a2[T>>2]:T=>j2[T>>2];default:throw new TypeError(`invalid integer width (${N}): ${F}`)}},Bu=(F,N,M,T,$)=>{N=f4(N),$===-1&&($=4294967295);var K=R0=>R0;if(T===0){var o0=32-8*M;K=R0=>R0<<o0>>>o0}var s0=N.includes("unsigned"),t0=(R0,e2)=>{},E0;s0?E0=function(R0,e2){return t0(e2,this.name),e2>>>0}:E0=function(R0,e2){return t0(e2,this.name),e2},j4(F,{name:N,fromWireType:K,toWireType:E0,argPackAdvance:P4,readValueFromPointer:mu(N,M,T!==0),destructorFunction:null})},Zu=(F,N,M)=>{var T=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],$=T[N];function K(o0){var s0=j2[o0>>2],t0=j2[o0+4>>2];return new $(S1.buffer,t0,s0)}M=f4(M),j4(F,{name:M,fromWireType:K,argPackAdvance:P4,readValueFromPointer:K},{ignoreDuplicateRegistrations:!0})},e6=(F,N,M)=>Le(F,A4,N,M),pu=(F,N)=>{N=f4(N);var M=N==="std::string";j4(F,{name:N,fromWireType(T){var $=j2[T>>2],K=T+4,o0;if(M)for(var s0=K,t0=0;t0<=$;++t0){var E0=K+t0;if(t0==$||A4[E0]==0){var R0=E0-s0,e2=qi(s0,R0);o0===void 0?o0=e2:(o0+="\\0",o0+=e2),s0=E0+1}}else{for(var u2=new Array($),t0=0;t0<$;++t0)u2[t0]=String.fromCharCode(A4[K+t0]);o0=u2.join("")}return J8(T),o0},toWireType(T,$){$ instanceof ArrayBuffer&&($=new Uint8Array($));var K,o0=typeof $=="string";o0||$ instanceof Uint8Array||$ instanceof Uint8ClampedArray||$ instanceof Int8Array||i1("Cannot pass non-string to std::string"),M&&o0?K=Pe($):K=$.length;var s0=L5(4+K+1),t0=s0+4;if(j2[s0>>2]=K,M&&o0)e6($,t0,K+1);else if(o0)for(var E0=0;E0<K;++E0){var R0=$.charCodeAt(E0);R0>255&&(J8(t0),i1("String has UTF-16 code units that do not fit in 8 bits")),A4[t0+E0]=R0}else for(var E0=0;E0<K;++E0)A4[t0+E0]=$[E0];return T!==null&&T.push(J8,s0),s0},argPackAdvance:P4,readValueFromPointer:$i,destructorFunction(T){J8(T)}})},j5=typeof TextDecoder!="undefined"?new TextDecoder("utf-16le"):void 0,Wu=(F,N)=>{for(var M=F,T=M>>1,$=T+N/2;!(T>=$)&&Li[T];)++T;if(M=T<<1,M-F>32&&j5)return j5.decode(A4.subarray(F,M));for(var K="",o0=0;!(o0>=N/2);++o0){var s0=k8[F+o0*2>>1];if(s0==0)break;K+=String.fromCharCode(s0)}return K},Xu=(F,N,M)=>{if(M!=null||(M=2147483647),M<2)return 0;M-=2;for(var T=N,$=M<F.length*2?M/2:F.length,K=0;K<$;++K){var o0=F.charCodeAt(K);k8[N>>1]=o0,N+=2}return k8[N>>1]=0,N-T},Gu=F=>F.length*2,Cu=(F,N)=>{for(var M=0,T="";!(M>=N/4);){var $=a2[F+M*4>>2];if($==0)break;if(++M,$>=65536){var K=$-65536;T+=String.fromCharCode(55296|K>>10,56320|K&1023)}else T+=String.fromCharCode($)}return T},Vu=(F,N,M)=>{if(M!=null||(M=2147483647),M<4)return 0;for(var T=N,$=T+M-4,K=0;K<F.length;++K){var o0=F.charCodeAt(K);if(o0>=55296&&o0<=57343){var s0=F.charCodeAt(++K);o0=65536+((o0&1023)<<10)|s0&1023}if(a2[N>>2]=o0,N+=4,N+4>$)break}return a2[N>>2]=0,N-T},Iu=F=>{for(var N=0,M=0;M<F.length;++M){var T=F.charCodeAt(M);T>=55296&&T<=57343&&++M,N+=4}return N},Qu=(F,N,M)=>{M=f4(M);var T,$,K,o0;N===2?(T=Wu,$=Xu,o0=Gu,K=s0=>Li[s0>>1]):N===4&&(T=Cu,$=Vu,o0=Iu,K=s0=>j2[s0>>2]),j4(F,{name:M,fromWireType:s0=>{for(var t0=j2[s0>>2],E0,R0=s0+4,e2=0;e2<=t0;++e2){var u2=s0+4+e2*N;if(e2==t0||K(u2)==0){var k2=u2-R0,j0=T(R0,k2);E0===void 0?E0=j0:(E0+="\\0",E0+=j0),R0=u2+N}}return J8(s0),E0},toWireType:(s0,t0)=>{typeof t0!="string"&&i1(`Cannot pass non-string to C++ string type ${M}`);var E0=o0(t0),R0=L5(4+E0+N);return j2[R0>>2]=E0/N,$(t0,R0+4,E0+N),s0!==null&&s0.push(J8,R0),R0},argPackAdvance:P4,readValueFromPointer:$i,destructorFunction(s0){J8(s0)}})},yu=(F,N,M,T,$,K)=>{fr[F]={name:f4(N),rawConstructor:t8(M,T),rawDestructor:t8($,K),fields:[]}},Fu=(F,N,M,T,$,K,o0,s0,t0,E0)=>{fr[F].fields.push({fieldName:f4(N),getterReturnType:M,getter:t8(T,$),getterContext:K,setterArgumentType:o0,setter:t8(s0,t0),setterContext:E0})},Eu=(F,N)=>{N=f4(N),j4(F,{isVoid:!0,name:N,argPackAdvance:0,fromWireType:()=>{},toWireType:(M,T)=>{}})},Yu=(F,N,M)=>A4.copyWithin(F,N,N+M),Ju={},P5=F=>{var N=Ju[F];return N===void 0?f4(F):N},nA=[],gu=(F,N,M,T,$)=>(F=nA[F],N=I4.toValue(N),M=P5(M),F(N,N[M],T,$)),Nu=F=>{var N=nA.length;return nA.push(F),N},Ru=(F,N)=>{for(var M=new Array(F),T=0;T<F;++T)M[T]=fA(j2[N+T*4>>2],"parameter "+T);return M},vJ=Reflect.construct,Du=(F,N,M)=>{var T=[],$=F.toWireType(T,M);return T.length&&(j2[N>>2]=I4.toHandle(T)),$},Uu=(F,N,M)=>{var T=Ru(F,N),$=T.shift();F--;var K=`return function (obj, func, destructorsRef, args) {\n`,o0=0,s0=[];M===0&&s0.push("obj");for(var t0=["retType"],E0=[$],R0=0;R0<F;++R0)s0.push("arg"+R0),t0.push("argType"+R0),E0.push(T[R0]),K+=` var arg${R0} = argType${R0}.readValueFromPointer(args${o0?"+"+o0:""});\n`,o0+=T[R0].argPackAdvance;var e2=M===1?"new func":"func.call";K+=` var rv = ${e2}(${s0.join(", ")});\n`,$.isVoid||(t0.push("emval_returnValue"),E0.push(Du),K+=` return emval_returnValue(retType, destructorsRef, rv);\n`),K+=`};\n`,t0.push(K);var u2=O5(Function,t0)(...E0),k2=`methodCaller<(${T.map(j0=>j0.name).join(", ")}) => ${$.name}>`;return Nu(pi(k2,u2))},Mu=F=>{F>9&&(o8[F+1]+=1)},xu=()=>I4.toHandle([]),zu=F=>I4.toHandle(P5(F)),Hu=()=>I4.toHandle({}),Tu=F=>{var N=I4.toValue(F);qe(N),AA(F)},au=(F,N,M)=>{F=I4.toValue(F),N=I4.toValue(N),M=I4.toValue(M),F[N]=M},Su=(F,N)=>{F=fA(F,"_emval_take_value");var M=F.readValueFromPointer(N);return I4.toHandle(M)},Ou=(F,N,M,T)=>{var $=new Date().getFullYear(),K=new Date($,0,1),o0=new Date($,6,1),s0=K.getTimezoneOffset(),t0=o0.getTimezoneOffset(),E0=Math.max(s0,t0);j2[F>>2]=E0*60,a2[N>>2]=+(s0!=t0);var R0=k2=>{var j0=k2>=0?"-":"+",N2=Math.abs(k2),m1=String(Math.floor(N2/60)).padStart(2,"0"),U2=String(N2%60).padStart(2,"0");return`UTC${j0}${m1}${U2}`},e2=R0(s0),u2=R0(t0);t0<s0?(e6(e2,M,17),e6(u2,T,17)):(e6(e2,T,17),e6(u2,M,17))},ju=()=>2147483648,Pu=F=>{var N=c6.buffer,M=(F-N.byteLength+65535)/65536;try{return c6.grow(M),G5(),1}catch(T){}},Lu=F=>{var N=A4.length;F>>>=0;var M=ju();if(F>M)return!1;for(var T=(t0,E0)=>t0+(E0-t0%E0)%E0,$=1;$<=4;$*=2){var K=N*(1+.2/$);K=Math.min(K,F+100663296);var o0=Math.min(M,T(Math.max(F,K),65536)),s0=Pu(o0);if(s0)return!0}return!1},tA={},Ku=()=>Me||"./this.program",A6=()=>{if(!A6.strings){var F=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",N={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:F,_:Ku()};for(var M in tA)tA[M]===void 0?delete N[M]:N[M]=tA[M];var T=[];for(var M in N)T.push(`${M}=${N[M]}`);A6.strings=T}return A6.strings},qu=(F,N)=>{for(var M=0;M<F.length;++M)S1[N++]=F.charCodeAt(M);S1[N]=0},$u=(F,N)=>{var M=0;return A6().forEach((T,$)=>{var K=N+M;j2[F+$*4>>2]=K,qu(T,K),M+=T.length+1}),0},bu=(F,N)=>{var M=A6();j2[F>>2]=M.length;var T=0;return M.forEach($=>T+=$.length+1),j2[N>>2]=T,0};function du(F){try{var N=m4.getStreamFromFD(F);return b.close(N),0}catch(M){if(typeof b=="undefined"||M.name!=="ErrnoError")throw M;return M.errno}}var cu=(F,N,M,T)=>{for(var $=0,K=0;K<M;K++){var o0=j2[N>>2],s0=j2[N+4>>2];N+=8;var t0=b.read(F,S1,o0,s0,T);if(t0<0)return-1;if($+=t0,t0<s0)break;typeof T!="undefined"&&(T+=t0)}return $};function is(F,N,M,T){try{var $=m4.getStreamFromFD(F),K=cu($,N,M);return j2[T>>2]=K,0}catch(o0){if(typeof b=="undefined"||o0.name!=="ErrnoError")throw o0;return o0.errno}}var rs=(F,N)=>N+2097152>>>0<4194305-!!F?(F>>>0)+N*4294967296:NaN;function es(F,N,M,T,$){var K=rs(N,M);try{if(isNaN(K))return 61;var o0=m4.getStreamFromFD(F);return b.llseek(o0,K,T),O1=[o0.position>>>0,(S2=o0.position,+Math.abs(S2)>=1?S2>0?+Math.floor(S2/4294967296)>>>0:~~+Math.ceil((S2-+(~~S2>>>0))/4294967296)>>>0:0)],a2[$>>2]=O1[0],a2[$+4>>2]=O1[1],o0.getdents&&K===0&&T===0&&(o0.getdents=null),0}catch(s0){if(typeof b=="undefined"||s0.name!=="ErrnoError")throw s0;return s0.errno}}var As=(F,N,M,T)=>{for(var $=0,K=0;K<M;K++){var o0=j2[N>>2],s0=j2[N+4>>2];N+=8;var t0=b.write(F,S1,o0,s0,T);if(t0<0)return-1;$+=t0,typeof T!="undefined"&&(T+=t0)}return $};function fs(F,N,M,T){try{var $=m4.getStreamFromFD(F),K=As($,N,M);return j2[T>>2]=K,0}catch(o0){if(typeof b=="undefined"||o0.name!=="ErrnoError")throw o0;return o0.errno}}b.createPreloadedFile=Xl,b.staticInit(),J5=O.InternalError=class extends Error{constructor(N){super(N),this.name="InternalError"}},El(),bi=O.BindingError=class extends Error{constructor(N){super(N),this.name="BindingError"}},Tl(),Ml(),$l(),H5=O.UnboundTypeError=iu(Error,"UnboundTypeError"),Au();var ks={a:sl,l:_l,r:Cl,D:Vl,E:Il,F:Ql,v:yl,y:Fl,J:Jl,n:ru,I:ku,j:tu,b:ou,u:uu,f:vu,i:Bu,d:Zu,t:pu,p:Qu,w:yu,m:Fu,K:Eu,H:Yu,M:gu,c:AA,N:Uu,O:Mu,q:xu,h:zu,k:Hu,L:Tu,g:au,e:Su,z:Ou,G:Lu,A:$u,B:bu,s:du,C:is,x:es,o:fs},e0=ul(),mJ=e0.Q,BJ=O._memcpy=e0.S,ZJ=O._heif_image_release=e0.T,L5=O._malloc=e0.U,pJ=O._heif_nclx_color_profile_set_color_primaries=e0.V,J8=O._free=e0.W,WJ=O._heif_nclx_color_profile_set_transfer_characteristics=e0.X,XJ=O._heif_nclx_color_profile_set_matrix_coefficients=e0.Y,GJ=O._heif_init=e0.Z,CJ=O._heif_deinit=e0._,VJ=O._heif_load_plugin=e0.$,IJ=O._heif_unload_plugin=e0.aa,QJ=O._heif_load_plugins=e0.ba,yJ=O._heif_get_plugin_directories=e0.ca,FJ=O._heif_free_plugin_directories=e0.da,EJ=O._heif_get_version=e0.ea,YJ=O._heif_get_version_number=e0.fa,JJ=O._heif_get_version_number_major=e0.ga,gJ=O._heif_get_version_number_minor=e0.ha,NJ=O._heif_get_version_number_maintenance=e0.ia,RJ=O._heif_check_filetype=e0.ja,DJ=O._heif_read_main_brand=e0.ka,UJ=O._heif_has_compatible_filetype=e0.la,MJ=O._heif_list_compatible_brands=e0.ma,xJ=O._heif_free_list_of_compatible_brands=e0.na,zJ=O._heif_check_jpeg_filetype=e0.oa,HJ=O._heif_main_brand=e0.pa,TJ=O._heif_fourcc_to_brand=e0.qa,aJ=O._heif_brand_to_fourcc=e0.ra,SJ=O._heif_has_compatible_brand=e0.sa,OJ=O._heif_get_file_mime_type=e0.ta,jJ=O._heif_context_alloc=e0.ua,PJ=O._heif_context_free=e0.va,LJ=O._heif_context_read_from_file=e0.wa,KJ=O._heif_context_read_from_memory=e0.xa,qJ=O._heif_context_read_from_memory_without_copy=e0.ya,$J=O._heif_context_read_from_reader=e0.za,bJ=O._heif_context_debug_dump_boxes_to_file=e0.Aa,dJ=O._heif_context_get_primary_image_handle=e0.Ba,cJ=O._heif_context_get_primary_image_ID=e0.Ca,ig=O._heif_context_is_top_level_image_ID=e0.Da,rg=O._heif_context_get_number_of_top_level_images=e0.Ea,eg=O._heif_context_get_list_of_top_level_image_IDs=e0.Fa,Ag=O._heif_context_get_image_handle=e0.Ga,fg=O._heif_image_handle_is_primary_image=e0.Ha,kg=O._heif_image_handle_get_item_id=e0.Ia,ng=O._heif_image_handle_get_number_of_thumbnails=e0.Ja,tg=O._heif_image_handle_get_list_of_thumbnail_IDs=e0.Ka,og=O._heif_image_handle_get_thumbnail=e0.La,lg=O._heif_image_handle_get_number_of_auxiliary_images=e0.Ma,ug=O._heif_image_handle_get_list_of_auxiliary_image_IDs=e0.Na,sg=O._heif_image_handle_get_auxiliary_type=e0.Oa,hg=O._heif_image_handle_release_auxiliary_type=e0.Pa,wg=O._heif_image_handle_free_auxiliary_types=e0.Qa,_g=O._heif_image_handle_get_auxiliary_image_handle=e0.Ra,vg=O._heif_image_handle_get_width=e0.Sa,mg=O._heif_image_handle_get_height=e0.Ta,Bg=O._heif_image_handle_get_ispe_width=e0.Ua,Zg=O._heif_image_handle_get_ispe_height=e0.Va,pg=O._heif_image_handle_get_context=e0.Wa,Wg=O._heif_image_handle_get_preferred_decoding_colorspace=e0.Xa,Xg=O._heif_image_handle_has_alpha_channel=e0.Ya,Gg=O._heif_image_handle_is_premultiplied_alpha=e0.Za,Cg=O._heif_image_handle_get_luma_bits_per_pixel=e0._a,Vg=O._heif_image_handle_get_chroma_bits_per_pixel=e0.$a,Ig=O._heif_image_handle_has_depth_image=e0.ab,Qg=O._heif_depth_representation_info_free=e0.bb,yg=O._heif_image_handle_get_depth_image_representation_info=e0.cb,Fg=O._heif_image_handle_get_number_of_depth_images=e0.db,Eg=O._heif_image_handle_get_list_of_depth_image_IDs=e0.eb,Yg=O._heif_image_handle_get_depth_image_handle=e0.fb,Jg=O._heif_decoding_options_alloc=e0.gb,gg=O._heif_decoding_options_free=e0.hb,Ng=O._heif_decode_image=e0.ib,Rg=O._heif_image_create=e0.jb,Dg=O._heif_image_get_decoding_warnings=e0.kb,Ug=O._heif_image_add_decoding_warning=e0.lb,Mg=O._heif_image_has_content_light_level=e0.mb,xg=O._heif_image_get_content_light_level=e0.nb,zg=O._heif_image_set_content_light_level=e0.ob,Hg=O._heif_image_has_mastering_display_colour_volume=e0.pb,Tg=O._heif_image_get_mastering_display_colour_volume=e0.qb,ag=O._heif_image_set_mastering_display_colour_volume=e0.rb,Sg=O._heif_mastering_display_colour_volume_decode=e0.sb,Og=O._heif_image_get_pixel_aspect_ratio=e0.tb,jg=O._heif_image_set_pixel_aspect_ratio=e0.ub,Pg=O._heif_image_handle_release=e0.vb,Lg=O._heif_image_get_colorspace=e0.wb,Kg=O._heif_image_get_chroma_format=e0.xb,qg=O._heif_image_get_width=e0.yb,$g=O._heif_image_get_height=e0.zb,bg=O._heif_image_get_primary_width=e0.Ab,dg=O._heif_image_get_primary_height=e0.Bb,cg=O._heif_image_crop=e0.Cb,iN=O._heif_image_get_bits_per_pixel=e0.Db,rN=O._heif_image_get_bits_per_pixel_range=e0.Eb,eN=O._heif_image_has_channel=e0.Fb,AN=O._heif_image_add_plane=e0.Gb,fN=O._heif_image_get_plane_readonly=e0.Hb,kN=O._heif_image_get_plane=e0.Ib,nN=O._heif_image_set_premultiplied_alpha=e0.Jb,tN=O._heif_image_is_premultiplied_alpha=e0.Kb,oN=O._heif_image_extend_padding_to_size=e0.Lb,lN=O._heif_image_scale_image=e0.Mb,uN=O._heif_image_set_raw_color_profile=e0.Nb,sN=O._heif_image_set_nclx_color_profile=e0.Ob,hN=O._heif_image_handle_get_number_of_metadata_blocks=e0.Pb,wN=O._heif_image_handle_get_list_of_metadata_block_IDs=e0.Qb,_N=O._heif_image_handle_get_metadata_type=e0.Rb,vN=O._heif_image_handle_get_metadata_content_type=e0.Sb,mN=O._heif_image_handle_get_metadata_item_uri_type=e0.Tb,BN=O._heif_image_handle_get_metadata_size=e0.Ub,ZN=O._heif_image_handle_get_metadata=e0.Vb,pN=O._heif_image_handle_get_color_profile_type=e0.Wb,WN=O._heif_image_handle_get_raw_color_profile_size=e0.Xb,XN=O._heif_image_handle_get_nclx_color_profile=e0.Yb,GN=O._heif_image_handle_get_raw_color_profile=e0.Zb,CN=O._heif_image_get_color_profile_type=e0._b,VN=O._heif_image_get_raw_color_profile_size=e0.$b,IN=O._heif_image_get_raw_color_profile=e0.ac,QN=O._heif_image_get_nclx_color_profile=e0.bc,yN=O._heif_nclx_color_profile_alloc=e0.cc,FN=O._heif_nclx_color_profile_free=e0.dc,EN=O._heif_image_handle_has_camera_intrinsic_matrix=e0.ec,YN=O._heif_image_handle_get_camera_intrinsic_matrix=e0.fc,JN=O._heif_image_handle_has_camera_extrinsic_matrix=e0.gc,gN=O._heif_image_handle_get_camera_extrinsic_matrix=e0.hc,NN=O._heif_camera_extrinsic_matrix_release=e0.ic,RN=O._heif_camera_extrinsic_matrix_get_rotation_matrix=e0.jc,DN=O._heif_register_decoder=e0.kc,UN=O._heif_register_decoder_plugin=e0.lc,MN=O._heif_register_encoder_plugin=e0.mc,xN=O._heif_context_write_to_file=e0.nc,zN=O._heif_context_write=e0.oc,HN=O._heif_context_add_compatible_brand=e0.pc,TN=O._heif_context_get_encoder_descriptors=e0.qc,aN=O._heif_get_encoder_descriptors=e0.rc,SN=O._heif_encoder_descriptor_get_name=e0.sc,ON=O._heif_encoder_descriptor_get_id_name=e0.tc,jN=O._heif_get_decoder_descriptors=e0.uc,PN=O._heif_decoder_descriptor_get_name=e0.vc,LN=O._heif_decoder_descriptor_get_id_name=e0.wc,KN=O._heif_encoder_descriptor_get_compression_format=e0.xc,qN=O._heif_encoder_descriptor_supports_lossy_compression=e0.yc,$N=O._heif_encoder_descriptor_supports_lossless_compression=e0.zc,bN=O._heif_encoder_descriptor_supportes_lossy_compression=e0.Ac,dN=O._heif_encoder_descriptor_supportes_lossless_compression=e0.Bc,cN=O._heif_encoder_get_name=e0.Cc,iR=O._heif_context_get_encoder=e0.Dc,rR=O._heif_have_decoder_for_format=e0.Ec,eR=O._heif_have_encoder_for_format=e0.Fc,AR=O._heif_context_get_encoder_for_format=e0.Gc,fR=O._heif_encoder_release=e0.Hc,kR=O._heif_encoder_set_lossy_quality=e0.Ic,nR=O._heif_encoder_set_lossless=e0.Jc,tR=O._heif_encoder_set_logging_level=e0.Kc,oR=O._heif_encoder_list_parameters=e0.Lc,lR=O._heif_encoder_parameter_get_name=e0.Mc,uR=O._heif_encoder_parameter_get_type=e0.Nc,sR=O._heif_encoder_set_parameter_integer=e0.Oc,hR=O._heif_encoder_parameter_get_valid_integer_values=e0.Pc,wR=O._heif_encoder_get_parameter_integer=e0.Qc,_R=O._heif_encoder_parameter_get_valid_integer_range=e0.Rc,vR=O._heif_encoder_parameter_get_valid_string_values=e0.Sc,mR=O._heif_encoder_parameter_integer_valid_range=e0.Tc,BR=O._heif_encoder_set_parameter_boolean=e0.Uc,ZR=O._heif_encoder_get_parameter_boolean=e0.Vc,pR=O._heif_encoder_set_parameter_string=e0.Wc,WR=O._heif_encoder_get_parameter_string=e0.Xc,XR=O._heif_encoder_parameter_string_valid_values=e0.Yc,GR=O._heif_encoder_parameter_integer_valid_values=e0.Zc,CR=O._heif_encoder_set_parameter=e0._c,VR=O._heif_encoder_get_parameter=e0.$c,IR=O._heif_encoder_has_default=e0.ad,QR=O._heif_encoding_options_alloc=e0.bd,yR=O._heif_encoding_options_free=e0.cd,FR=O._heif_context_encode_image=e0.dd,ER=O._heif_context_encode_grid=e0.ed,YR=O._heif_context_assign_thumbnail=e0.fd,JR=O._heif_context_encode_thumbnail=e0.gd,gR=O._heif_context_set_primary_image=e0.hd,NR=O._heif_context_add_exif_metadata=e0.id,RR=O._heif_context_add_XMP_metadata=e0.jd,DR=O._heif_context_add_XMP_metadata2=e0.kd,UR=O._heif_context_add_generic_metadata=e0.ld,MR=O._heif_context_add_generic_uri_metadata=e0.md,xR=O._heif_context_set_maximum_image_size_limit=e0.nd,zR=O._heif_context_set_max_decoding_threads=e0.od,HR=O._heif_image_handle_get_number_of_region_items=e0.pd,TR=O._heif_image_handle_get_list_of_region_item_ids=e0.qd,aR=O._heif_context_get_region_item=e0.rd,SR=O._heif_region_item_get_id=e0.sd,OR=O._heif_region_item_release=e0.td,jR=O._heif_region_item_get_reference_size=e0.ud,PR=O._heif_region_item_get_number_of_regions=e0.vd,LR=O._heif_region_item_get_list_of_regions=e0.wd,KR=O._heif_image_handle_add_region_item=e0.xd,qR=O._heif_region_item_add_region_point=e0.yd,$R=O._heif_region_item_add_region_rectangle=e0.zd,bR=O._heif_region_item_add_region_ellipse=e0.Ad,dR=O._heif_region_item_add_region_polygon=e0.Bd,cR=O._heif_region_item_add_region_polyline=e0.Cd,iD=O._heif_region_item_add_region_referenced_mask=e0.Dd,rD=O._heif_region_item_add_region_inline_mask_data=e0.Ed,eD=O._heif_region_item_add_region_inline_mask=e0.Fd,AD=O._heif_region_release=e0.Gd,fD=O._heif_region_release_many=e0.Hd,kD=O._heif_region_get_type=e0.Id,nD=O._heif_region_get_point=e0.Jd,tD=O._heif_region_get_point_transformed=e0.Kd,oD=O._heif_region_get_rectangle=e0.Ld,lD=O._heif_region_get_rectangle_transformed=e0.Md,uD=O._heif_region_get_ellipse=e0.Nd,sD=O._heif_region_get_ellipse_transformed=e0.Od,hD=O._heif_region_get_polygon_num_points=e0.Pd,wD=O._heif_region_get_polyline_num_points=e0.Qd,_D=O._heif_region_get_polygon_points=e0.Rd,vD=O._heif_region_get_polyline_points=e0.Sd,mD=O._heif_region_get_polygon_points_transformed=e0.Td,BD=O._heif_region_get_polyline_points_transformed=e0.Ud,ZD=O._heif_region_get_referenced_mask_ID=e0.Vd,pD=O._heif_region_get_inline_mask_data_len=e0.Wd,WD=O._heif_region_get_inline_mask_data=e0.Xd,XD=O._heif_region_get_mask_image=e0.Yd,GD=O._heif_item_get_properties_of_type=e0.Zd,CD=O._heif_item_get_transformation_properties=e0._d,VD=O._heif_item_get_property_type=e0.$d,ID=O._heif_item_get_property_user_description=e0.ae,QD=O._heif_item_add_property_user_description=e0.be,yD=O._heif_item_get_property_transform_mirror=e0.ce,FD=O._heif_item_get_property_transform_rotation_ccw=e0.de,ED=O._heif_item_get_property_transform_crop_borders=e0.ee,YD=O._heif_property_user_description_release=e0.fe,JD=O._heif_item_add_raw_property=e0.ge,gD=O._heif_item_get_property_raw_size=e0.he,ND=O._heif_item_get_property_raw_data=e0.ie,RD=O._heif_context_get_number_of_items=e0.je,DD=O._heif_context_get_list_of_item_IDs=e0.ke,UD=O._heif_release_item_data=e0.le,MD=O._heif_context_get_item_references=e0.me,xD=O._heif_release_item_references=e0.ne,zD=O._heif_context_add_item=e0.oe,HD=O._heif_context_add_mime_item=e0.pe,TD=O._heif_context_add_precompressed_mime_item=e0.qe,aD=O._heif_context_add_uri_item=e0.re,SD=O._heif_context_add_item_reference=e0.se,OD=O._heif_context_add_item_references=e0.te,jD=O._heif_item_get_property_camera_intrinsic_matrix=e0.ue,PD=O._heif_property_camera_intrinsic_matrix_release=e0.ve,LD=O._heif_property_camera_intrinsic_matrix_get_focal_length=e0.we,KD=O._heif_property_camera_intrinsic_matrix_get_principal_point=e0.xe,qD=O._heif_property_camera_intrinsic_matrix_get_skew=e0.ye,$D=O._heif_property_camera_intrinsic_matrix_alloc=e0.ze,bD=O._heif_property_camera_intrinsic_matrix_set_simple=e0.Ae,dD=O._heif_property_camera_intrinsic_matrix_set_full=e0.Be,cD=O._heif_item_add_property_camera_intrinsic_matrix=e0.Ce,iU=O._heif_item_get_property_camera_extrinsic_matrix=e0.De,rU=O._heif_property_camera_extrinsic_matrix_release=e0.Ee,eU=O._heif_property_camera_extrinsic_matrix_get_rotation_matrix=e0.Fe,AU=O._heif_property_camera_extrinsic_matrix_get_position_vector=e0.Ge,fU=O._heif_property_camera_extrinsic_matrix_get_world_coordinate_system_id=e0.He,kU=O._de265_get_version=e0.Ie,nU=O._de265_init=e0.Je,tU=O._de265_free=e0.Ke,oU=O._de265_new_decoder=e0.Le,lU=O._de265_set_parameter_bool=e0.Me,uU=O._de265_free_decoder=e0.Ne,sU=O._de265_push_NAL=e0.Oe,hU=O._de265_flush_data=e0.Pe,wU=O._de265_decode=e0.Qe,_U=O._de265_get_next_picture=e0.Re,vU=O._de265_get_chroma_format=e0.Se,mU=O._de265_get_image_width=e0.Te,BU=O._de265_get_image_height=e0.Ue,ZU=O._de265_get_bits_per_pixel=e0.Ve,pU=O._de265_get_image_plane=e0.We,WU=O._de265_get_image_colour_primaries=e0.Xe,XU=O._de265_get_image_transfer_characteristics=e0.Ye,GU=O._de265_get_image_matrix_coefficients=e0.Ze,CU=O._de265_get_image_full_range_flag=e0._e,VU=O._de265_release_next_picture=e0.$e,ns=e0.af,ts=e0.bf,IU=O.dynCall_ji=e0.cf,QU=O.dynCall_iij=e0.df,yU=O.dynCall_jiji=e0.ef,FU=O.dynCall_viijii=e0.ff,EU=O.dynCall_iiiiij=e0.gf,YU=O.dynCall_iiiiijj=e0.hf,JU=O.dynCall_iiiiiijj=e0.jf,gU=O._heif_error_ok=74208,NU=O._heif_error_success=73640,RU=O._heif_error_invalid_parameter_value=74232,DU=O._heif_error_unsupported_parameter=74220,sr;Ki=function F(){sr||K5(),sr||(Ki=F)};function K5(){if($8>0||(bo(),$8>0))return;function F(){var N;sr||(sr=!0,O.calledRun=!0,!p5&&(co(),K8(O),(N=O.onRuntimeInitialized)==null||N.call(O),il()))}O.setStatus?(O.setStatus("Running..."),setTimeout(function(){setTimeout(function(){O.setStatus("")},1),F()},1)):F()}if(O.preInit)for(typeof O.preInit=="function"&&(O.preInit=[O.preInit]);O.preInit.length>0;)O.preInit.pop()();K5();function q5(F){for(var N=new ArrayBuffer(F.length),M=new Uint8Array(N),T=0,$=F.length;T<$;T++)M[T]=F.charCodeAt(T);return N}var g8=function(F){this.handle=F,this.img=null};g8.prototype.free=function(){this.handle&&(O.heif_image_handle_release(this.handle),this.handle=null)},g8.prototype._ensureImage=function(){if(!this.img){var F=O.heif_js_decode_image(this.handle,O.heif_colorspace.heif_colorspace_YCbCr,O.heif_chroma.heif_chroma_420);if(!F||F.code){console.log("Decoding image failed",this.handle,F);return}this.data=new Uint8Array(q5(F.data)),delete F.data,this.img=F,F.alpha!==void 0&&(this.alpha=new Uint8Array(q5(F.alpha)),delete F.alpha)}},g8.prototype.get_width=function(){return O.heif_image_handle_get_width(this.handle)},g8.prototype.get_height=function(){return O.heif_image_handle_get_height(this.handle)},g8.prototype.is_primary=function(){return!!heif_image_handle_is_primary_image(this.handle)},g8.prototype.display=function(F,N){var M=this.get_width(),T=this.get_height();setTimeout(function(){if(!this.img){var $=O.heif_js_decode_image2(this.handle,O.heif_colorspace.heif_colorspace_RGB,O.heif_chroma.heif_chroma_interleaved_RGBA);if(!$||$.code){console.log("Decoding image failed",this.handle,$),N(null);return}for(let K of $.channels)if(K.id==O.heif_channel.heif_channel_interleaved)if(K.stride==K.width*4)F.data.set(K.data);else for(let o0=0;o0<K.height;o0++){let s0=K.data.slice(o0*K.stride,o0*K.stride+K.width*4),t0=o0*K.width*4;F.data.set(s0,t0)}O.heif_image_release($.image)}N(F)}.bind(this),0)};var $5=function(){this.decoder=null};$5.prototype.decode=function(F){if(this.decoder&&O.heif_context_free(this.decoder),this.decoder=O.heif_context_alloc(),!this.decoder)return console.log("Could not create HEIF context"),[];var N=O.heif_context_read_from_memory(this.decoder,F);if(N.code!==O.heif_error_code.heif_error_Ok)return console.log("Could not parse HEIF file",N.message),[];var M=O.heif_js_context_get_list_of_top_level_image_IDs(this.decoder);if(!M||M.code)return console.log("Error loading image ids",M),[];if(!M.length)return console.log("No images found"),[];for(var T=[],$=0;$<M.length;$++){var K=O.heif_js_context_get_image_handle(this.decoder,M[$]);if(!K||K.code){console.log("Could not get image data for id",M[$],K);continue}T.push(new g8(K))}return T};var os=function(F){return F.charCodeAt(0)<<24|F.charCodeAt(1)<<16|F.charCodeAt(2)<<8|F.charCodeAt(3)};O.HeifImage=g8,O.HeifDecoder=$5,O.fourcc=os;let ls=["heif_error_code","heif_suberror_code","heif_compression_format","heif_chroma","heif_colorspace","heif_channel"];for(let F of ls)for(let N in O[F])!O[F].hasOwnProperty(N)||N==="values"||(O[N]=O[F][N]);for(let F in O)F.indexOf("_heif_")!==0||O[F.slice(1)]!==void 0||(O[F.slice(1)]=O[F]);return F8=O,F8}})(),Po=lJ});var hJ=oJ(_5=>{Lo();var uJ=Po(),sJ=y1=>w5(_5,null,function*(){let a1=new uJ.HeifDecoder().decode(y1);if(!a1.length)throw new Error("HEIF image not found");let F8=a1[0],O=F8.get_width(),K8=F8.get_height(),E8=new ImageData(O,K8);for(let l4=0;l4<O*K8;l4++)E8.data[l4*4+3]=255;return yield new Promise((l4,O4)=>{F8.display(E8,q8=>{if(!q8)return O4(new Error("HEIF processing error"));l4(q8)})})});onmessage=y1=>w5(_5,null,function*(){let T1=y1.data.id;try{let a1=yield sJ(y1.data.buffer);postMessage({id:T1,imageData:a1,error:""})}catch(a1){postMessage({id:T1,imageData:null,error:a1&&a1.toString?a1.toString():a1})}})});hJ();})();\n'],{type:"application/javascript"}),so=new Worker(URL.createObjectURL(Xa)),Va=i=>At(void 0,null,function*(){return new Promise((e,r)=>{let t=(Math.random()*(new Date).getTime()).toString(),n={id:t,buffer:i};so.postMessage(n),so.addEventListener("message",i=>{if(i.data.id===t)return i.data.error?r(i.data.error):e(i.data.imageData)})})}),Ga=i=>At(void 0,null,function*(){let e=yield Va(i),r=document.createElement("canvas");return r.width=e.width,r.height=e.height,r.getContext("2d").putImageData(e,0,0),r}),Da=i=>At(void 0,[i],function*({blob:i,type:e,quality:r}){let t=yield i.arrayBuffer(),n=yield Ga(t);return yield new Promise((i,t)=>n.toBlob(e=>{null!=e?i(e):t("Can't convert canvas to blob.")},e,r))})}),YA={};ro(YA,{default:()=>wn}),module.exports=Fa(YA);var x0=require("obsidian"),rt=class{constructor(i){this.app=i}supportedMimeTypes=new Map([["image/jpeg",!0],["image/png",!0],["image/webp",!0],["image/heic",!0],["image/heif",!0],["image/avif",!0],["image/tiff",!0],["image/bmp",!0],["image/svg+xml",!0],["image/gif",!0]]);supportedExtensions=new Set(["jpg","jpeg","png","webp","heic","heif","avif","tif","tiff","bmp","svg","gif"]);extensionToMime=new Map([["jpg",["image/jpeg"]],["jpeg",["image/jpeg"]],["png",["image/png"]],["webp",["image/webp"]],["heic",["image/heic","image/heif"]],["heif",["image/heic","image/heif"]],["avif",["image/avif"]],["tif",["image/tiff"]],["tiff",["image/tiff"]],["bmp",["image/bmp"]],["svg",["image/svg+xml"]],["gif",["image/gif"]]]);isExcalidrawImage(i){if(i.classList.contains("excalidraw-svg")||i.classList.contains("excalidraw-embedded-img")||i.classList.contains("excalidraw-canvas-immersive")||i.closest(".excalidraw-svg"))return!0;let e=i.closest(".internal-embed");if(e){let i=e.getAttribute("src");if(i&&i.includes("Excalidraw/"))return!0}let r=i.getAttribute("filesource");if(r&&(r.includes("Excalidraw/")||r.endsWith(".excalidraw.md")))return!0;let t=i.getAttribute("src");return!(!t||!t.startsWith("blob:")||!i.hasAttribute("filesource")&&!i.closest(".excalidraw-svg"))}isSupported(i,e){if(i&&this.supportedMimeTypes.has(i))return!0;if(e){let r=e.split(".").pop()?.toLowerCase();if(r&&this.supportedExtensions.has(r))return"heic"!==r&&"heif"!==r||i&&this.supportedMimeTypes.has(i),!0}return!1}getMimeTypeFromCache(i){let e=this.app.metadataCache.getFileCache(i);return e?.frontmatter?.mime||e?.frontmatter?.type}getExtensionsFromMimeType(i){let e=[];return this.extensionToMime.forEach((r,t)=>{r.includes(i)&&e.push(t)}),e.length>0?e:void 0}async getMimeTypeFromFile(i){try{let e=await i.slice(0,24).arrayBuffer(),r=new Uint8Array(e).subarray(0,12),t="";for(let i=0;i<r.length;i++){t+=r[i].toString(16).padStart(2,"0")}if(t=t.toLowerCase(),t.startsWith("89504e47"))return"image/png";if(t.startsWith("47494638"))return"image/gif";if(t.startsWith("ffd8ffe"))return"image/jpeg";if(t.startsWith("424d"))return"image/bmp";if(t.startsWith("000000")&&"66747970"===t.substring(8,16)){let i=this.getFtyp(e);if(null!==i){if(["heic","heix","hevc","hevx","mif1","msf1"].includes(i))return"image/heic";if(["avif","avis"].includes(i))return"image/avif"}}return t.startsWith("4949")||t.startsWith("4d4d")?"image/tiff":t.startsWith("52494646")&&"57454250"===t.substring(16,24)?"image/webp":i.type&&i.type.length>0?i.type:"unknown"}catch(e){return console.error("Error reading file:",e),i.type&&i.type.length>0?i.type:"unknown"}}getFtyp(i){let e=new DataView(i);if(i.byteLength<12)return null;let r=e.getUint32(8,!1);return String.fromCharCode(r>>24&255,r>>16&255,r>>8&255,255&r).trim()}},Y0=require("obsidian"),Te=Me(require("path")),tt=class{constructor(i,e,r,t){this.app=i,this.settings=e,this.supportedImageFormats=r,this.variableProcessor=t}validateTemplates(i,e,r,t){let n={file:i,activeFile:e};if("CUSTOM"===t?.type&&t.customTemplate){let i=this.variableProcessor.validateTemplate(t.customTemplate,n);if(!i.valid)throw new Y0.Notice(`Folder template validation failed: ${i.errors.join(", ")}`),new Error(`Folder template validation failed: ${i.errors.join(", ")}`)}if("SUBFOLDER"===t?.type&&this.settings.subfolderTemplate){let i=this.variableProcessor.validateTemplate(this.settings.subfolderTemplate,n);if(!i.valid)throw new Y0.Notice(`Subfolder template validation failed: ${i.errors.join(", ")}`),new Error(`Subfolder template validation failed: ${i.errors.join(", ")}`)}if(r?.customTemplate){let i=this.variableProcessor.validateTemplate(r.customTemplate,n);if(!i.valid)throw new Y0.Notice(`Filename template validation failed: ${i.errors.join(", ")}`),new Error(`Filename template validation failed: ${i.errors.join(", ")}`)}}async determineDestination(i,e,r,t,n){this.validateTemplates(i,e,t,n);let f,a=await this.getDestinationDirectory(n,i,e),o=!1;return t&&this.shouldSkipRename(i.name,t)?(f=i.name.substring(0,i.name.lastIndexOf(".")),o=!0):f=await this.generateNewFilename(t,i,e),o||(f=await this.handleNameConflicts(a,f,t?.conflictResolution||"reuse")),f=this.addCorrectExtension(f,i,r),{destinationPath:a,newFilename:f}}async getDestinationDirectory(i,e,r){let t="";switch(i?.type){case"DEFAULT":default:t=this.getDefaultAttachmentFolderPath(r);break;case"ROOT":t=this.app.vault.getRoot().path;break;case"CURRENT":t=r.parent?.path||"";break;case"SUBFOLDER":{let i=this.settings.subfolderTemplate?await this.processSubfolderVariables(this.settings.subfolderTemplate,e,r):r.basename;t=r.parent?(0,Y0.normalizePath)(`${r.parent.path}/${i}`):i;break}case"CUSTOM":i.customTemplate?t=await this.processSubfolderVariables(i.customTemplate,e,r):(new Y0.Notice("Custom folder template is not defined."),t=this.getDefaultAttachmentFolderPath(r))}return t}combinePath(i,e){return"/"===i?(0,Y0.normalizePath)(`/${e}`):(0,Y0.normalizePath)(`${i}/${e}`)}async ensureFolderExists(i){let e=(0,Y0.normalizePath)(i);if(!await this.app.vault.adapter.exists(e)){let i=e.split("/").filter(Boolean),r="";for(let e of i)if(r+=(r?"/":"")+e,await this.app.vault.adapter.exists(r)){let i=await this.app.vault.getAbstractFileByPath(r);if(i&&i.name!==e){let e=`${r.substring(0,r.lastIndexOf("/"))}/${i.name}`;await this.app.vault.adapter.exists(e)?r=e:new Y0.Notice(`Warning: Inconsistent folder casing detected. Using original path: ${r}`)}}else{let i=this.app.vault.getAllLoadedFiles().find(i=>i.path.toLowerCase()===r.toLowerCase()&&i instanceof Y0.TFolder);i?r=i.path:await this.app.vault.createFolder(r)}}}getDefaultAttachmentFolderPath(i){let e=this.app.vault.getConfig("attachmentFolderPath");return e.startsWith("./")?i.parent?.path?(0,Y0.normalizePath)(`${i.parent.path}/${e.substring(2)}`):e.substring(2):(0,Y0.normalizePath)(e)}async handleNameConflicts(i,e,r="reuse"){let t=(0,Y0.normalizePath)(i),n=e.lastIndexOf("."),f=n>-1?e.substring(0,n):e,a=n>-1?e.substring(n):"",o=e;if("reuse"===r)return o;if(await this.app.vault.adapter.exists(`${t}/${o}`)){let i=1;for(;await this.app.vault.adapter.exists(`${t}/${f}-${i}${a}`);)i++;o=`${f}-${i}${a}`}return o}async generateNewFilename(i,e,r,t){let n=e.name;return i&&i.customTemplate?(n=await this.processSubfolderVariables(i.customTemplate,e,r),n=await this.validateAndRemoveExtension(n,e)):n=e.name.substring(0,e.name.lastIndexOf(".")),n}async validateAndRemoveExtension(i,e){let r=i.lastIndexOf(".");if(-1===r)return i;let t=i.substring(r+1).toLowerCase();if(this.supportedImageFormats.supportedExtensions.has(t)){let n=await this.supportedImageFormats.getMimeTypeFromFile(e);if("unknown"!==n){let e=this.supportedImageFormats.getExtensionsFromMimeType(n);return e&&e.includes(t)?i.substring(0,r):(console.warn(`Mismatched extension for file: ${i}, based on mime type: ${n}. Keeping original filename.`),i)}return console.warn(`Unknown mime type for file: ${i}. Removing potential extension.`),i.substring(0,r)}return i}addCorrectExtension(i,e,r){let t=e.name.substring(e.name.lastIndexOf(".")).toLowerCase();if(r&&this.shouldSkipConversion(e.name,r))return`${i}${t}`;switch(r?r.outputFormat:this.settings.outputFormat){case"WEBP":return`${i}.webp`;case"JPEG":return`${i}.jpeg`;case"PNG":return`${i}.png`;case"AVIF":return`${i}.avif`;default:return`${i}${t}`}}sanitizeFilename(i){let e=i.trim(),r=e.lastIndexOf("."),t=-1!==r?e.substring(r):"",n=(-1!==r?e.substring(0,r):e).replace(/[\\/:"*?<>|]/g,"_").replace(/^\s+|\s+$/g,"");return["CON","PRN","AUX","NUL","COM1","COM2","COM3","COM4","COM5","COM6","COM7","COM8","COM9","LPT1","LPT2","LPT3","LPT4","LPT5","LPT6","LPT7","LPT8","LPT9"].includes(n.toUpperCase())&&(n+="_"),n=n.replace(/^\.+|\.+$/g,""),n.length>250&&(n=n.substring(0,250)),n+t}shouldSkipConversion(i,e){return this.matchesPatterns(i,e.skipConversionPatterns)}shouldSkipRename(i,e){return this.matchesPatterns(i,e.skipRenamePatterns)}matchesPatterns(i,e){return!!e.trim()&&e.split(",").map(i=>i.trim()).filter(i=>i.length>0).some(e=>{try{if(e.startsWith("/")&&e.endsWith("/")){let r=e.slice(1,-1);return new RegExp(r,"i").test(i)}if(e.startsWith("r/")&&e.endsWith("/")){let r=e.slice(2,-1);return new RegExp(r,"i").test(i)}if(e.startsWith("regex:")){let r=e.slice(6);return new RegExp(r,"i").test(i)}let r=e.replace(/\./g,"\\.").replace(/\*/g,".*").replace(/\?/g,".");return new RegExp(`^${r}$`,"i").test(i)}catch(i){return console.error(`Invalid pattern: ${e}`,i),!1}})}async processSubfolderVariables(i,e,r){let t={file:e,activeFile:r},n=await this.variableProcessor.processTemplate(i,t);return n=n.replace(/\/+/g,"/"),n=n.split("/").map(i=>this.sanitizeFilename(i)).join("/"),n=n.replace(/^\/+|\/+$/g,""),(0,Y0.normalizePath)(n)}getImagePath(i){try{let e=i.getAttribute("src");if(!e)return null;let r=this.app.vault.getAbstractFileByPath(e);if(r instanceof Y0.TFile)return r.path;if(e.startsWith("app://")){let i=e.substring(6).split("/");if(i.length>1){let e=i.slice(1).join("/");"win32"!==process.platform&&!e.startsWith("/")&&(e=`/${e}`);let[r]=e.split("?"),t=decodeURIComponent(r);t=t.replace(/\\/g,"/");let n=null;if(this.app.vault.adapter instanceof Y0.FileSystemAdapter&&(n=this.app.vault.adapter.getBasePath(),n=n.replace(/\\/g,"/")),n&&t.startsWith(n)){let i=t.substring(n.length);return(0,Y0.normalizePath)(i)}return t}}if(e.startsWith("app://local/")){let i=decodeURIComponent(e.substring(12).split("?")[0]);if(r=this.app.vault.getAbstractFileByPath(i),r instanceof Y0.TFile)return r.path}let t=this.app.workspace.getActiveFile();if(console.log("activeFile:",t),t){let i=t.parent?.path||"",n=(0,Y0.normalizePath)(Te.join(i,e));if(r=this.app.vault.getAbstractFileByPath(n),r instanceof Y0.TFile)return r.path}let n=this.app.vault.getRoot().path,f=(0,Y0.normalizePath)(Te.join(n,e));return r=this.app.vault.getAbstractFileByPath(f),r instanceof Y0.TFile?r.path:(console.warn(`Could not resolve image path for src: ${e}`),null)}catch(i){return console.error("Error getting image path:",i),null}}async safeRenameFile(i,e){let r=Te.dirname(e),t=Te.basename(e),n=(0,Y0.normalizePath)(Te.join(r,`temp-${Date.now()}-${t}`));try{await this.app.fileManager.renameFile(i,n);let r=this.app.vault.getAbstractFileByPath(n);return r instanceof Y0.TFile?(await this.app.fileManager.renameFile(r,e),!0):(new Y0.Notice("Error: Temporary file not found after renaming."),!1)}catch(i){return console.error("Error during safe rename:",i),new Y0.Notice(`Error renaming file: ${i.message}`),!1}}},a2=require("obsidian"),br=require("child_process"),f0=require("obsidian"),nt=class{linkFormatPresets;selectedLinkFormatPreset;constructor(){this.linkFormatPresets=[{name:"Default (Wikilink, Shortest)",linkFormat:"wikilink",pathFormat:"shortest",prependCurrentDir:!1,hideFolders:!1},{name:"Markdown, Relative",linkFormat:"markdown",pathFormat:"relative",prependCurrentDir:!0,hideFolders:!1}],this.selectedLinkFormatPreset="Default (Wikilink, Shortest)"}},ot=class{resizePresets;selectedResizePreset;constructor(){this.resizePresets=[{name:"Default (No Resize)",resizeDimension:"none",resizeScaleMode:"auto",respectEditorMaxWidth:!0,maintainAspectRatio:!0,resizeUnits:"pixels"},{name:"Width 500px",resizeDimension:"width",width:500,resizeScaleMode:"auto",respectEditorMaxWidth:!0,maintainAspectRatio:!0,resizeUnits:"pixels"},{name:"Height 800px",resizeDimension:"height",height:800,resizeScaleMode:"auto",respectEditorMaxWidth:!0,maintainAspectRatio:!0,resizeUnits:"pixels"},{name:"50% Width",resizeDimension:"width",width:50,resizeScaleMode:"auto",respectEditorMaxWidth:!0,maintainAspectRatio:!0,resizeUnits:"percentage"},{name:"Longest Edge 1000px",resizeDimension:"longest-edge",longestEdge:1e3,resizeScaleMode:"auto",respectEditorMaxWidth:!0,maintainAspectRatio:!0,resizeUnits:"pixels"},{name:"Fit Editor",resizeDimension:"editor-max-width",resizeScaleMode:"auto",respectEditorMaxWidth:!0,maintainAspectRatio:!0,resizeUnits:"pixels"},{name:"Original Width",resizeDimension:"original-width",resizeScaleMode:"auto",respectEditorMaxWidth:!1,maintainAspectRatio:!0,resizeUnits:"pixels"},{name:"Custom (Distort)",resizeDimension:"both",customValue:"300x100",resizeScaleMode:"auto",respectEditorMaxWidth:!1,maintainAspectRatio:!1,resizeUnits:"pixels"}],this.selectedResizePreset="Default (No Resize)"}},oo=Me(no()),Vi={folderPresets:[{type:"DEFAULT",name:"Default (Obsidian setting)"},{type:"ROOT",name:"Root folder"},{type:"CURRENT",name:"Same folder as current note"}],selectedFolderPreset:"Default (Obsidian setting)",filenamePresets:[{name:"Keep original name",customTemplate:"{imagename}",skipRenamePatterns:"",conflictResolution:"increment"},{name:"NoteName-Timestamp",customTemplate:"{notename}-{timestamp}",skipRenamePatterns:"",conflictResolution:"increment"}],selectedFilenamePreset:"Keep original name",outputFormat:"NONE",quality:100,colorDepth:1,pngquantQuality:"65-80",ffmpegExecutablePath:"",ffmpegCrf:23,ffmpegPreset:"medium",resizeMode:"None",desiredWidth:800,desiredHeight:600,desiredLongestEdge:1e3,enlargeOrReduce:"Auto",allowLargerFiles:!1,showPresetModal:{folder:!1,filename:!1},subfolderTemplate:"",conversionPresets:[{name:"None",outputFormat:"NONE",quality:100,colorDepth:1,resizeMode:"None",desiredWidth:800,desiredHeight:600,desiredLongestEdge:1e3,enlargeOrReduce:"Auto",allowLargerFiles:!1,skipConversionPatterns:"",pngquantExecutablePath:"",pngquantQuality:"65-80",ffmpegExecutablePath:"",ffmpegCrf:23,ffmpegPreset:"medium"},{name:"WEBP (75, no resizing)",outputFormat:"WEBP",quality:75,colorDepth:1,resizeMode:"None",desiredWidth:800,desiredHeight:600,desiredLongestEdge:1e3,enlargeOrReduce:"Auto",allowLargerFiles:!1,skipConversionPatterns:"",pngquantExecutablePath:"",pngquantQuality:"65-80",ffmpegExecutablePath:"",ffmpegCrf:23,ffmpegPreset:"medium"},{name:"PNGQUANT (65-80, no resizing)",outputFormat:"PNGQUANT",quality:75,colorDepth:1,resizeMode:"None",desiredWidth:800,desiredHeight:600,desiredLongestEdge:1e3,enlargeOrReduce:"Auto",allowLargerFiles:!1,skipConversionPatterns:"",pngquantExecutablePath:"",pngquantQuality:"65-80",ffmpegExecutablePath:"",ffmpegCrf:23,ffmpegPreset:"medium"}],selectedConversionPreset:"None",globalPresets:[{name:"WebP 75",folderPreset:"Default (Obsidian setting)",filenamePreset:"NoteName-Timestamp",conversionPreset:"WEBP (75, no resizing)",linkFormatPreset:"Default (Wikilink, Shortest)",resizePreset:"Default (No Resize)"}],selectedGlobalPreset:"",linkFormatSettings:new nt,nonDestructiveResizeSettings:new ot,resizeCursorLocation:"none",dropPasteCursorLocation:"back",neverProcessFilenames:"",modalBehavior:"never",singleImageModalSettings:void 0,ProcessCurrentNoteconvertTo:"webp",ProcessCurrentNotequality:.75,ProcessCurrentNoteResizeModalresizeMode:"None",ProcessCurrentNoteresizeModaldesiredWidth:600,ProcessCurrentNoteresizeModaldesiredHeight:800,ProcessCurrentNoteresizeModaldesiredLength:800,ProcessCurrentNoteskipImagesInTargetFormat:!1,ProcessCurrentNoteEnlargeOrReduce:"Always",ProcessCurrentNoteSkipFormats:"tif,tiff,heic",ProcessAllVaultconvertTo:"disabled",ProcessAllVaultquality:.75,ProcessAllVaultResizeModalresizeMode:"None",ProcessAllVaultResizeModaldesiredWidth:500,ProcessAllVaultResizeModaldesiredHeight:500,ProcessAllVaultResizeModaldesiredLength:500,ProcessAllVaultEnlargeOrReduce:"Always",ProcessAllVaultSkipFormats:"",ProcessAllVaultskipImagesInTargetFormat:!1,annotationPresets:{drawing:Array(3).fill({color:"#000000",opacity:1,blendMode:"source-over",size:2}),arrow:Array(3).fill({color:"#000000",opacity:1,blendMode:"source-over",size:8}),text:Array(3).fill({color:"#000000",opacity:1,blendMode:"source-over",size:24,backgroundColor:"transparent",backgroundOpacity:.7})},isImageAlignmentEnabled:!0,imageAlignment_cacheCleanupInterval:36e5,imageAlignment_cacheLocation:"plugin",isDragResizeEnabled:!0,isScrollResizeEnabled:!0,isDragAspectRatioLocked:!1,isResizeInReadingModeEnabled:!1,resizeSensitivity:.1,scrollwheelModifier:"Shift",isImageResizeEnbaled:!0,resizeState:{isResizing:!1},enableContextMenu:!0,showSpaceSavedNotification:!0,revertToOriginalIfLarger:!1,enableImageCaptions:!0,skipCaptionExtensions:"icns",captionFontSize:"var(--font-smaller)",captionColor:"var(--text-gray)",captionFontStyle:"italic",captionBackgroundColor:"transparent",captionPadding:"2px 4px",captionBorderRadius:"0",captionOpacity:"1",captionFontWeight:"normal",captionTextTransform:"none",captionLetterSpacing:"normal",captionBorder:"none",captionMarginTop:"4px",captionAlignment:"center"},ft=class extends f0.PluginSettingTab{constructor(i,e){super(i,e),this.plugin=e,this.presetUIState={folder:{editingPreset:null,newPreset:null},filename:{editingPreset:null,newPreset:null},conversion:{editingPreset:null,newPreset:null},linkformat:{editingPreset:null,newPreset:null},globalPresetVisible:!0,resize:{editingPreset:null,newPreset:null},imageAlignmentSectionCollapsed:!0,imageDragResizeSectionCollapsed:!0,imageCaptionSectionCollapsed:!0}}activeTab="folder";presetUIState;editingPresetKey=null;formContainer;display(){let{containerEl:i}=this;if(i.empty(),i.addClass("image-converter-settings-tab"),this.presetUIState.globalPresetVisible?i.addClass("global-presets-visible"):i.removeClass("global-presets-visible"),this.renderGlobalPresetSelector(),this.renderTabs(),this.initializeFormContainer(),this.presetUIState.globalPresetVisible)switch(this.activeTab){case"folder":this.renderPresetGroup("Folder presets",this.plugin.settings.folderPresets,"selectedFolderPreset",this.presetUIState.folder);break;case"filename":this.renderPresetGroup("Filename presets",this.plugin.settings.filenamePresets,"selectedFilenamePreset",this.presetUIState.filename);break;case"conversion":this.renderPresetGroup("Conversion presets",this.plugin.settings.conversionPresets,"selectedConversionPreset",this.presetUIState.conversion);break;case"linkformat":this.renderPresetGroup("Link format presets",this.plugin.settings.linkFormatSettings.linkFormatPresets,"selectedLinkFormatPreset",this.presetUIState.linkformat);break;case"resize":this.renderPresetGroup("Resize presets",this.plugin.settings.nonDestructiveResizeSettings.resizePresets,"selectedResizePreset",this.presetUIState.resize)}this.editingPresetKey&&this.formContainer&&this.formContainer.addClass("visible"),this.renderImageAlignmentSettingsSection(i),this.renderImageDragResizeSettingsSection(i),this.renderImageCaptionSettingsSection(i),new f0.Setting(i).setName("Right-click menu 🛈").setTooltip("Enable to show a right-click context menu.").addToggle(i=>i.setValue(this.plugin.settings.enableContextMenu).onChange(async i=>{this.plugin.settings.enableContextMenu=i,await this.plugin.saveSettings(),i?new f0.Notice("Context menu enabled. Reload Obsidian to see changes.",5e3):new f0.Notice("Context menu disabled. Reload Obsidian to see changes.",5e3)})),new f0.Setting(i).setName("Cursor position after drop/paste 🛈").setTooltip("Where to place the cursor after dropping or pasting the image").addDropdown(i=>{i.addOption("front","At the front of the link").addOption("back","At the back of the link").setValue(this.plugin.settings.dropPasteCursorLocation).onChange(async i=>{this.plugin.settings.dropPasteCursorLocation=i,await this.plugin.saveSettings()})}),new f0.Setting(i).setName("Never process these filenames 🛈").setTooltip("A comma-separated list of file names or patterns that the plugin should never process. Supports glob (*) and regex (enclosed in `/` or `r/` or `regex:`). E.g., `old.png, /^_/, r/temp-.*\\.jpg$/` . Or simply skip all cat images e.g.: /cat/ or all gif images *.gif").addTextArea(i=>{i.setValue(this.plugin.settings.neverProcessFilenames).onChange(async i=>{this.plugin.settings.neverProcessFilenames=i,await this.plugin.saveSettings()}),i.inputEl.setAttr("spellcheck","false")}),new f0.Setting(i).setName("Show notification for image size changes 🛈").setTooltip("Display a notification showing how much space was saved after processing an image.").addToggle(i=>i.setValue(this.plugin.settings.showSpaceSavedNotification).onChange(async i=>{this.plugin.settings.showSpaceSavedNotification=i,await this.plugin.saveSettings()})),new f0.Setting(i).setName("Show window").setDesc("Choose whether to show processing options on each image drop/paste").addDropdown(i=>{i.addOption("always","Always show").addOption("never","Never show").addOption("ask","Ask each time").setValue(this.plugin.settings.modalBehavior).onChange(async i=>{this.plugin.settings.modalBehavior=i,await this.plugin.saveSettings()})})}initializeFormContainer(){let i=this.containerEl.querySelector(".image-converter-tab-content-wrapper");this.formContainer=this.containerEl.querySelector(".image-converter-form-container"),this.formContainer||(this.formContainer=this.containerEl.createDiv("image-converter-form-container")),i&&!i.contains(this.formContainer)&&i.appendChild(this.formContainer)}renderGlobalPresetSelector(){let{containerEl:i}=this,e=i.createDiv("image-converter-global-preset-container"),r=e.createDiv("image-converter-global-preset-toggle"),t=r.createEl("i");(0,f0.setIcon)(t,"chevron-down"),t.addClass("image-converter-chevron-icon");let n=r.createEl("span",{text:"Drop/paste presets",cls:"settings-section-title"});r.onClickEvent(i=>{i.stopPropagation(),this.presetUIState.globalPresetVisible=!this.presetUIState.globalPresetVisible,this.presetUIState.globalPresetVisible?((0,f0.setIcon)(t,"chevron-down"),n.textContent="Drop/paste presets"):((0,f0.setIcon)(t,"chevron-right"),n.textContent="Drop/paste presets"),this.display()}),new f0.Setting(e).setDesc("Quickly apply a combination of presets").addDropdown(i=>{i.addOption("","None"),this.plugin.settings.globalPresets.forEach(e=>{i.addOption(e.name,e.name)}),i.setValue(this.plugin.settings.selectedGlobalPreset),i.onChange(async i=>{if(this.plugin.settings.selectedGlobalPreset=i,i){let e=this.plugin.settings.globalPresets.find(e=>e.name===i);e&&(this.plugin.settings.selectedFolderPreset=e.folderPreset,this.plugin.settings.selectedFilenamePreset=e.filenamePreset,this.plugin.settings.selectedConversionPreset=e.conversionPreset,this.plugin.settings.linkFormatSettings.selectedLinkFormatPreset=e.linkFormatPreset,this.plugin.settings.nonDestructiveResizeSettings.selectedResizePreset=e.resizePreset)}else this.plugin.settings.selectedFolderPreset=Vi.selectedFolderPreset,this.plugin.settings.selectedFilenamePreset=Vi.selectedFilenamePreset,this.plugin.settings.selectedConversionPreset=Vi.selectedConversionPreset,this.plugin.settings.linkFormatSettings.selectedLinkFormatPreset=Vi.linkFormatSettings.selectedLinkFormatPreset,this.plugin.settings.nonDestructiveResizeSettings.selectedResizePreset=Vi.nonDestructiveResizeSettings.selectedResizePreset;await this.plugin.saveSettings(),this.display()})}),new f0.ButtonComponent(e).setIcon("plus").setTooltip("Save current selection as a new Global Preset").onClick(i=>{i.stopPropagation(),new Vn(this.app,this.plugin,i=>{let e={name:i,folderPreset:this.plugin.settings.selectedFolderPreset,filenamePreset:this.plugin.settings.selectedFilenamePreset,conversionPreset:this.plugin.settings.selectedConversionPreset,linkFormatPreset:this.plugin.settings.linkFormatSettings.selectedLinkFormatPreset,resizePreset:this.plugin.settings.nonDestructiveResizeSettings.selectedResizePreset};this.plugin.settings.globalPresets.push(e),this.plugin.settings.selectedGlobalPreset=i,this.plugin.saveSettings().then(()=>this.display())}).open()}),this.plugin.settings.selectedGlobalPreset&&new f0.ButtonComponent(e).setIcon("trash").setClass("danger").setTooltip("Delete selected Global Preset").onClick(async i=>{i.stopPropagation(),new Qi(this.app,"Confirm Delete",`Are you sure you want to delete the global preset "${this.plugin.settings.selectedGlobalPreset}"?`,"Delete",async()=>{this.plugin.settings.globalPresets=this.plugin.settings.globalPresets.filter(i=>i.name!==this.plugin.settings.selectedGlobalPreset),this.plugin.settings.selectedGlobalPreset="",await this.plugin.saveSettings(),this.display()}).open()})}renderImageAlignmentSettingsSection(i){let e=i.createDiv("image-converter-settings-section");e.addClass("image-alignment-settings-section"),this.plugin.settings.isImageAlignmentEnabled?e.addClass("image-alignment-enabled"):e.removeClass("image-alignment-enabled");let r=e.createDiv("settings-section-header"),t=r.createEl("i");(0,f0.setIcon)(t,"chevron-down"),t.addClass("settings-section-chevron-icon"),r.createEl("span",{text:"Image alignment",cls:"settings-section-title"}),new f0.Setting(r).addToggle(i=>i.setValue(this.plugin.settings.isImageAlignmentEnabled).onChange(async i=>{this.plugin.settings.isImageAlignmentEnabled=i,await this.plugin.saveSettings(),i?new f0.Notice("Image alignment enabled. Reload Obsidian to see changes.",5e3):new f0.Notice("Image alignment disabled. Reload Obsidian to see changes.",5e3),this.display()})).settingEl.addClass("settings-section-toggle-button"),this.presetUIState.imageAlignmentSectionCollapsed&&(e.addClass("settings-section-collapsed"),(0,f0.setIcon)(t,"chevron-right")),r.onClickEvent(i=>{i.stopPropagation(),this.presetUIState.imageAlignmentSectionCollapsed=!this.presetUIState.imageAlignmentSectionCollapsed,e.toggleClass("settings-section-collapsed",this.presetUIState.imageAlignmentSectionCollapsed),this.presetUIState.imageAlignmentSectionCollapsed?(0,f0.setIcon)(t,"chevron-right"):(0,f0.setIcon)(t,"chevron-down")}),this.plugin.settings.isImageAlignmentEnabled&&(new f0.Setting(e).setName("Image alignment cache location 🛈").setDesc("Choose where to store the cache file for image alignments. Note: App reload required.").setTooltip("If you use Obsidian Sync, it is strongly recommended to use the SAME location on all your devices to ensure consistent behavior. Default: .obsidian (syncable).").addDropdown(i=>i.addOptions({".obsidian":"Within .obsidian folder (syncable)",plugin:"Within plugin folder (not syncable)"}).setValue(this.plugin.settings.imageAlignment_cacheLocation).onChange(async i=>{this.plugin.settings.imageAlignment_cacheLocation=i,await this.plugin.saveSettings(),this.plugin.ImageAlignmentManager?.updateCacheFilePath(),this.plugin.ImageAlignmentManager?.loadCache()})),new f0.Setting(e).setName("Image alignment cache cleanup interval").setDesc("Interval (in minutes) to clean up redundant entries from image alignment cache. Default: 1 hour (0 to disable)").addSlider(i=>i.setLimits(0,120,5).setValue(this.plugin.settings.imageAlignment_cacheCleanupInterval/6e4).setDynamicTooltip().onChange(async i=>{let e=i;this.plugin.settings.imageAlignment_cacheCleanupInterval=60*e*1e3,await this.plugin.saveSettings(),this.plugin.ImageAlignmentManager?.scheduleCacheCleanup()})))}renderImageDragResizeSettingsSection(i){let e=i.createDiv("image-converter-settings-section");e.addClass("image-drag-resize-settings-section"),this.plugin.settings.isImageResizeEnbaled?e.addClass("image-drag-resize-enabled"):e.removeClass("image-drag-resize-enabled");let r=e.createDiv("settings-section-header"),t=r.createEl("i");if((0,f0.setIcon)(t,"chevron-down"),t.addClass("settings-section-chevron-icon"),r.createEl("span",{text:"Drag & Scroll resize",cls:"settings-section-title"}),new f0.Setting(r).addToggle(i=>i.setValue(this.plugin.settings.isImageResizeEnbaled).onChange(async i=>{this.plugin.settings.isImageResizeEnbaled=i,await this.plugin.saveSettings(),i?new f0.Notice("Image resizing enabled. Reload Obsidian to see changes.",5e3):new f0.Notice("Image resizing disabled. Reload Obsidian to see changes.",5e3),this.display()})).settingEl.addClass("settings-section-toggle-button"),this.presetUIState.imageDragResizeSectionCollapsed&&(e.addClass("settings-section-collapsed"),(0,f0.setIcon)(t,"chevron-right")),r.onClickEvent(i=>{i.stopPropagation(),this.presetUIState.imageDragResizeSectionCollapsed=!this.presetUIState.imageDragResizeSectionCollapsed,e.toggleClass("settings-section-collapsed",this.presetUIState.imageDragResizeSectionCollapsed),this.presetUIState.imageDragResizeSectionCollapsed?(0,f0.setIcon)(t,"chevron-right"):(0,f0.setIcon)(t,"chevron-down")}),this.plugin.settings.isImageResizeEnbaled){if(new f0.Setting(e).setName("Enable drag resize 🛈").setDesc("Allow resizing images by dragging edges of the image.").setTooltip("This creates a new <DIV> under the image to show resizing HANDLES. But this might cause some incompatibility with certain themes and cause images to jump around.").addToggle(i=>i.setValue(this.plugin.settings.isDragResizeEnabled).onChange(async i=>{this.plugin.settings.isDragResizeEnabled=i,await this.plugin.saveSettings(),this.display()})),this.plugin.settings.isDragResizeEnabled){let i=e.createDiv("fix-aspect-ratio-settings");new f0.Setting(i).setName("Lock the aspect ratio when dragging").setDesc("Prevent accidental distortions of image aspect ratio when dragging to resize").addToggle(i=>i.setValue(this.plugin.settings.isDragAspectRatioLocked).onChange(async i=>{this.plugin.settings.isDragAspectRatioLocked=i,await this.plugin.saveSettings()}))}if(new f0.Setting(e).setName("Enable scroll-wheel resize").setDesc("Allow resizing images using the scroll wheel").addToggle(i=>i.setValue(this.plugin.settings.isScrollResizeEnabled).onChange(async i=>{this.plugin.settings.isScrollResizeEnabled=i,await this.plugin.saveSettings(),this.display()})),this.plugin.settings.isScrollResizeEnabled){let i=e.createDiv("scroll-resize-settings");new f0.Setting(i).setName("Scroll-wheel modifier key").setDesc("Key that must be held while using scroll-wheel to resize").addDropdown(i=>i.addOptions({None:"None",Shift:"Shift",Control:"Control",Alt:"Alt",Meta:"Meta"}).setValue(this.plugin.settings.scrollwheelModifier).onChange(async i=>{this.plugin.settings.scrollwheelModifier=i,await this.plugin.saveSettings()})),new f0.Setting(i).setName("Scroll-wheel resize sensitivity").setDesc("Adjust how sensitive the scroll-wheel resize is (0.01-1.0)").addSlider(i=>i.setLimits(.01,1,.01).setValue(this.plugin.settings.resizeSensitivity).setDynamicTooltip().onChange(async i=>{this.plugin.settings.resizeSensitivity=i,await this.plugin.saveSettings()}))}new f0.Setting(e).setName("Cursor position during resize 🛈").setTooltip("Where to place the cursor when resizing an image. Note: 'Don't move cursor' - will try to keep your exisiting cursor in place but if you DRAG-RESIZE and cursor is still over the image when you finish resizing, it will get the text selected.").addDropdown(i=>{i.addOption("front","At the front of the link").addOption("back","At the back of the link").addOption("below","1 line below the image").addOption("none","Don't move cursor").setValue(this.plugin.settings.resizeCursorLocation).onChange(async i=>{this.plugin.settings.resizeCursorLocation=i,await this.plugin.saveSettings()})}),new f0.Setting(e).setName("Allow resizing in Reading mode").setDesc("Non-destructive resizing in Reading Mode is only visual, thus if it is too distractive you can disable it.").addToggle(i=>i.setValue(this.plugin.settings.isResizeInReadingModeEnabled).onChange(async i=>{this.plugin.settings.isResizeInReadingModeEnabled=i,await this.plugin.saveSettings()}))}}renderImageCaptionSettingsSection(i){let e=i.createDiv("image-converter-settings-section");e.addClass("image-caption-settings-section"),this.plugin.settings.enableImageCaptions?e.addClass("image-caption-enabled"):e.removeClass("image-caption-enabled");let r=e.createDiv("settings-section-header"),t=r.createEl("i");(0,f0.setIcon)(t,"chevron-down"),t.addClass("settings-section-chevron-icon"),r.createEl("span",{text:"Captions",cls:"settings-section-title"}),new f0.Setting(r).addToggle(i=>i.setValue(this.plugin.settings.enableImageCaptions).onChange(async i=>{this.plugin.settings.enableImageCaptions=i,await this.plugin.saveSettings(),i?new f0.Notice("Image captions enabled. Reload Obsidian to see changes.",5e3):new f0.Notice("Image captions disabled. Reload Obsidian to see changes.",5e3),this.display()})).settingEl.addClass("settings-section-toggle-button"),this.presetUIState.imageCaptionSectionCollapsed&&(e.addClass("settings-section-collapsed"),(0,f0.setIcon)(t,"chevron-right")),r.onClickEvent(i=>{i.stopPropagation(),this.presetUIState.imageCaptionSectionCollapsed=!this.presetUIState.imageCaptionSectionCollapsed,e.toggleClass("settings-section-collapsed",this.presetUIState.imageCaptionSectionCollapsed),this.presetUIState.imageCaptionSectionCollapsed?(0,f0.setIcon)(t,"chevron-right"):(0,f0.setIcon)(t,"chevron-down")}),this.plugin.settings.enableImageCaptions&&(new f0.Setting(e).setName("Text alignment within caption").addDropdown(i=>i.addOptions({left:"Left",center:"Center",right:"Right"}).setValue(this.plugin.settings.captionAlignment).onChange(async i=>{this.plugin.settings.captionAlignment=i,await this.plugin.saveSettings(),this.plugin.captionManager.applyCaptionStyles()})),new f0.Setting(e).setName("Text transform").setDesc("Set text transformation").addDropdown(i=>i.addOptions({none:"None",uppercase:"UPPERCASE",lowercase:"lowercase",capitalize:"Capitalize"}).setValue(this.plugin.settings.captionTextTransform).onChange(async i=>{this.plugin.settings.captionTextTransform=i,await this.plugin.saveSettings(),this.plugin.captionManager.applyCaptionStyles()})),new f0.Setting(e).setName("Font size").setDesc("Set the font size for image captions (e.g., 12px, 1.2em).").addText(i=>i.setValue(this.plugin.settings.captionFontSize).onChange(async i=>{this.plugin.settings.captionFontSize=i,await this.plugin.saveSettings(),this.plugin.captionManager.applyCaptionStyles()})),new f0.Setting(e).setName("Weight").setDesc("Set font weight (e.g., normal, bold, 600)").addDropdown(i=>i.addOptions({normal:"Normal",bold:"Bold",300:"Light",400:"Regular",500:"Medium",600:"Semi-bold",700:"Bold"}).setValue(this.plugin.settings.captionFontWeight).onChange(async i=>{this.plugin.settings.captionFontWeight=i,await this.plugin.saveSettings(),this.plugin.captionManager.applyCaptionStyles()})),new f0.Setting(e).setName("Color").setDesc("Choose a color for image captions e.g.: red, grey, white, black, hsl(50, 50%, 50%), rgb(50%, 75%, 100%) ").addText(i=>i.setValue(this.plugin.settings.captionColor).onChange(async i=>{this.plugin.settings.captionColor=i,await this.plugin.saveSettings(),this.plugin.captionManager.applyCaptionStyles()})),new f0.Setting(e).setName("Font style").setDesc("Set the font style (e.g., italic, normal).").addDropdown(i=>i.addOptions({italic:"Italic",normal:"Normal"}).setValue(this.plugin.settings.captionFontStyle).onChange(async i=>{this.plugin.settings.captionFontStyle=i,await this.plugin.saveSettings(),this.plugin.captionManager.applyCaptionStyles()})),new f0.Setting(e).setName("Background color").setDesc("Choose a background color for image captions (e.g.: transparent, #f5f5f5, rgba(255,255,255,0.8))").addText(i=>i.setValue(this.plugin.settings.captionBackgroundColor).onChange(async i=>{this.plugin.settings.captionBackgroundColor=i,await this.plugin.saveSettings(),this.plugin.captionManager.applyCaptionStyles()})),new f0.Setting(e).setName("Border").setDesc("Set border style (e.g., 1px solid gray)").addText(i=>i.setValue(this.plugin.settings.captionBorder).onChange(async i=>{this.plugin.settings.captionBorder=i,await this.plugin.saveSettings(),this.plugin.captionManager.applyCaptionStyles()})),new f0.Setting(e).setName("Border corner radius").setDesc("Set border radius for caption (e.g., make it slightly rounded: 4px)").addText(i=>i.setValue(this.plugin.settings.captionBorderRadius).onChange(async i=>{this.plugin.settings.captionBorderRadius=i,await this.plugin.saveSettings(),this.plugin.captionManager.applyCaptionStyles()})),new f0.Setting(e).setName("Space at the top").setDesc("Set space between image and caption (e.g., 4px, 8px)").addText(i=>i.setValue(this.plugin.settings.captionMarginTop).onChange(async i=>{this.plugin.settings.captionMarginTop=i,await this.plugin.saveSettings(),this.plugin.captionManager.applyCaptionStyles()})),new f0.Setting(e).setName("Padding").setDesc("Set padding around caption (e.g., 4px 8px)").addText(i=>i.setValue(this.plugin.settings.captionPadding).onChange(async i=>{this.plugin.settings.captionPadding=i,await this.plugin.saveSettings(),this.plugin.captionManager.applyCaptionStyles()})),new f0.Setting(e).setName("Skip caption extensions").setDesc("Comma-separated list of image extensions to exclude from captions (e.g., png,jpg).").addText(i=>{i.setValue(this.plugin.settings.skipCaptionExtensions).onChange(async i=>{this.plugin.settings.skipCaptionExtensions=i,await this.plugin.saveSettings()}),i.inputEl.setAttr("spellcheck","false")}))}renderTabs(){let{containerEl:i}=this,e=i.querySelector(".image-converter-setting-tabs");e||(e=i.createDiv("image-converter-setting-tabs")),0===e.children.length&&(this.createTab("folder","folder","Folder"),this.createTab("filename","pencil","Filename"),this.createTab("conversion","settings","Conversion"),this.createTab("linkformat","link","Link format"),this.createTab("resize","frame","Resize")),e.querySelectorAll(".image-converter-tab").forEach(i=>i.removeClass("image-converter-tab-active"));let r=e.querySelector(`.image-converter-tab-${this.activeTab}`);r&&r.addClass("image-converter-tab-active")}createTab(i,e,r){let{containerEl:t}=this,n=t.querySelector(".image-converter-setting-tabs");n||(n=t.createDiv("image-converter-setting-tabs"));let f=n.createDiv(`image-converter-tab image-converter-tab-${i}`);(0,f0.setIcon)(f,e),f.createSpan({text:r,cls:"image-converter-tab-label"}),f.onclick=()=>{this.formContainer&&(this.formContainer.removeClass("visible"),this.formContainer.empty()),this.editingPresetKey=null,this.presetUIState[i].editingPreset=null,this.presetUIState[i].newPreset=null,this.activeTab=i,this.display()}}renderPresetGroup(i,e,r,t){let{containerEl:n}=this,f=n.createDiv("image-converter-tab-content-wrapper"),a=f.createDiv("image-converter-preset-group"),o=a.createDiv("image-converter-preset-group-header");o.createEl("h3",{text:i,cls:"image-converter-preset-group-title"});let A=this.getPresetGroupDescription(r);A&&o.createEl("p",{text:A,cls:"image-converter-preset-group-description"});let s=a.createDiv("image-converter-preset-cards");new oo.default(s,{animation:150,handle:".image-converter-preset-card-header",draggable:".image-converter-preset-card",ghostClass:"image-converter-sortable-ghost",onEnd:async i=>{if(void 0!==i.oldIndex&&void 0!==i.newIndex)if("selectedFolderPreset"===r){let e=this.arrayMove(this.plugin.settings.folderPresets,i.oldIndex,i.newIndex);this.plugin.settings.folderPresets=e,await this.plugin.saveSettings(),this.display()}else if("selectedFilenamePreset"===r){let e=this.arrayMove(this.plugin.settings.filenamePresets,i.oldIndex,i.newIndex);this.plugin.settings.filenamePresets=e,await this.plugin.saveSettings(),this.display()}else if("selectedConversionPreset"===r){let e=this.arrayMove(this.plugin.settings.conversionPresets,i.oldIndex,i.newIndex);this.plugin.settings.conversionPresets=e,await this.plugin.saveSettings(),this.display()}else if("selectedLinkFormatPreset"===r){let e=this.arrayMove(this.plugin.settings.linkFormatSettings.linkFormatPresets,i.oldIndex,i.newIndex);this.plugin.settings.linkFormatSettings.linkFormatPresets=e,await this.plugin.saveSettings(),this.display()}else if("selectedResizePreset"===r){let e=this.arrayMove(this.plugin.settings.nonDestructiveResizeSettings.resizePresets,i.oldIndex,i.newIndex);this.plugin.settings.nonDestructiveResizeSettings.resizePresets=e,await this.plugin.saveSettings(),this.display()}}});for(let i of e){let e=t.editingPreset===i,n=i.name===this.getSelectedPresetName(r);this.renderPresetCard(s,i,r,e,n,t)}this.formContainer instanceof Node&&f.appendChild(this.formContainer),t.newPreset?this.renderPresetForm(this.formContainer,t.newPreset,!0,r,t):this.addAddNewPresetCard(s,r,t)}getPresetGroupDescription(i){switch(i){case"selectedFolderPreset":return"Define where converted images will be stored. Choose from predefined locations or create custom paths using variables.";case"selectedFilenamePreset":return"Control how converted images are named. Use variables like {notename}, {timestamp}, {MD5}, {UUID} to create unique filenames.";case"selectedConversionPreset":return"Control the output format, quality, and resizing options for converted images. This allows to significantly reduce file size and keep vault size small.";case"selectedLinkFormatPreset":return"Determine how image links are inserted into notes. Choose between Wikilinks and Markdown links, and specify how the file path should be formatted. This allows to use a different link style for images than your vault's default, offering better cross-compatibility with other applications.";case"selectedResizePreset":return"Configure non-destructive resizing options for images directly within the editor. This allows to adjust the display size without altering the original file.";default:return""}}getPresetKey(i){return"type"in i?`${i.name}-${i.type}`:"linkFormat"in i?`${i.name}-${i.linkFormat}`:`${i.name}`}getTabContentWrapper(){let{containerEl:i}=this;return i.querySelector(".image-converter-tab-content-wrapper")}arrayMove(i,e,r){let t=i.slice(),[n]=t.splice(e,1);return t.splice(r,0,n),t}renderPresetCard(i,e,r,t,n,f){let a=i.createDiv({cls:`image-converter-preset-card ${this.isDefaultPreset(e,r)?"image-converter-default-preset":""} ${n?"image-converter-active-preset":""}`}),o=this.getPresetKey(e),A=this.editingPresetKey===o;if(t||A)return void this.renderPresetForm(this.formContainer,e,!1,r,f);let s=a.createDiv("image-converter-preset-card-header");if(s.createEl("h4",{text:e.name,cls:"image-converter-preset-card-title",title:e.name}),!this.isDefaultPreset(e,r)){let i=s.createDiv("image-converter-preset-card-actions");new f0.ButtonComponent(i).setIcon("pencil").setTooltip("Edit").onClick(()=>{let i=r;e.hasOwnProperty("linkFormat")&&(i="selectedLinkFormatPreset"),f.editingPreset=e,this.showPresetForm(e,!1,i,f)}),new f0.ButtonComponent(i).setIcon("trash").setClass("danger").setTooltip("Delete").onClick(async()=>{new Qi(this.app,"Confirm Delete",`Are you sure you want to delete the preset "${e.name}"?`,"Delete",async()=>{"selectedFolderPreset"===r?(this.plugin.settings.folderPresets=this.plugin.settings.folderPresets.filter(i=>i.name!==e.name),this.plugin.settings.selectedFolderPreset=Vi.selectedFolderPreset):"selectedFilenamePreset"===r?(this.plugin.settings.filenamePresets=this.plugin.settings.filenamePresets.filter(i=>i.name!==e.name),this.plugin.settings.selectedFilenamePreset=Vi.selectedFilenamePreset):"selectedConversionPreset"===r?(this.plugin.settings.conversionPresets=this.plugin.settings.conversionPresets.filter(i=>i.name!==e.name),this.plugin.settings.selectedConversionPreset=Vi.selectedConversionPreset):"selectedLinkFormatPreset"===r?(this.plugin.settings.linkFormatSettings.linkFormatPresets=this.plugin.settings.linkFormatSettings.linkFormatPresets.filter(i=>i.name!==e.name),this.plugin.settings.linkFormatSettings.selectedLinkFormatPreset===e.name&&(this.plugin.settings.linkFormatSettings.selectedLinkFormatPreset=Vi.linkFormatSettings.selectedLinkFormatPreset)):"selectedResizePreset"===r&&(this.plugin.settings.nonDestructiveResizeSettings.resizePresets=this.plugin.settings.nonDestructiveResizeSettings.resizePresets.filter(i=>i.name!==e.name),this.plugin.settings.nonDestructiveResizeSettings.selectedResizePreset===e.name&&(this.plugin.settings.nonDestructiveResizeSettings.selectedResizePreset=Vi.nonDestructiveResizeSettings.selectedResizePreset)),await this.plugin.saveSettings(),this.display()}).open()})}let l=a.createDiv("image-converter-preset-card-body");"selectedFolderPreset"===r?this.generateFolderPresetSummary(l,e):"selectedFilenamePreset"===r?this.generateFilenamePresetSummary(l,e):"selectedLinkFormatPreset"===r?l.createEl("p",{text:this.getLinkFormatPresetSummary(e)}):"selectedResizePreset"===r?l.appendChild(this.getResizePresetSummary(e)):l.appendChild(this.getConversionPresetSummary(e)),a.onClickEvent(async()=>{if(!n){switch(r){case"selectedFolderPreset":this.plugin.settings.selectedFolderPreset=e.name;break;case"selectedFilenamePreset":this.plugin.settings.selectedFilenamePreset=e.name;break;case"selectedConversionPreset":this.plugin.settings.selectedConversionPreset=e.name;break;case"selectedLinkFormatPreset":this.plugin.settings.linkFormatSettings.selectedLinkFormatPreset=e.name;break;case"selectedResizePreset":this.plugin.settings.nonDestructiveResizeSettings.selectedResizePreset=e.name}await this.plugin.saveSettings(),this.display()}})}showAvailableVariables(){new gr(this.app,this.plugin.variableProcessor).open()}showPresetForm(i,e,r,t){this.formContainer||this.initializeFormContainer(),this.formContainer.addClass("visible"),this.editingPresetKey=e?"new":this.getPresetKey(i),this.formContainer.empty(),this.renderPresetForm(this.formContainer,i,e,r,t),this.formContainer.scrollIntoView({behavior:"smooth",block:"start"})}renderPresetForm(i,e,r,t,n){i.empty();let f=!r&&this.isDefaultPreset(e,t),a=i.createDiv("image-converter-preset-form");new f0.Setting(a).setName("Preset name").addText(i=>{i.setValue(e.name).onChange(i=>{e.name=i}),i.inputEl.setAttr("spellcheck","false"),!r&&f&&i.setDisabled(!0)}),"selectedFolderPreset"===t?this.renderFolderPresetFormFields(a,e,f,()=>this.showAvailableVariables()):"selectedFilenamePreset"===t?(this.addCustomTemplateSetting(a,e,()=>this.showAvailableVariables()),this.addSkipPatternsSetting(a,e,"skipRenamePatterns","Skip rename patterns")):"selectedLinkFormatPreset"===t?this.renderLinkFormatFormFields(a,e):"selectedResizePreset"===t?this.renderResizePresetFormFields(a,e):(this.renderConversionPresetFormFields(a,e),this.addSkipPatternsSetting(a,e,"skipConversionPatterns","Skip conversion patterns"));let o=a.createDiv("image-converter-form-buttons");this.addSaveButton(o,e,r,t,n),this.addCancelButton(o,n,r)}addCustomTemplateSetting(i,e,r){let t,n=i.querySelector(".image-converter-form-buttons"),f=i.createDiv("image-converter-custom-template-setting-wrapper"),a=new f0.Setting(f).setName("Custom imagename").setClass("image-converter-custom-template-setting"),o=a.controlEl.createDiv("image-converter-input-button-container");a.addText(i=>(t=i,i.setPlaceholder("e.g., {notename}-{timestamp}").setValue(e.customTemplate||"").onChange(i=>{e.customTemplate=i,l()}),i.inputEl.setAttr("spellcheck","false"),i)),new f0.ButtonComponent(o).setIcon("help-circle").setTooltip("Show available variables").onClick(r);let A=f.createDiv("image-converter-preview-container");A.createEl("div",{text:"Preview:",cls:"image-converter-preview-label"});let s=A.createDiv("image-converter-preview-path"),l=async()=>{if(!t)return;let i=t.getValue();if(i)try{let e=this.app.workspace.getActiveFile(),r=this.app.vault.getFiles().find(i=>i.extension.match(/^(jpg|jpeg|png|gif|webp)$/i));if(!e&&!r)return void s.setText("No file available for preview.");let t=e&&e.extension.match(/^(jpg|jpeg|png|gif|webp)$/i)?e:r,n=await this.plugin.variableProcessor.processTemplate(i,{file:t,activeFile:e});s.setText(n)}catch(i){console.error("Preview generation error:",i),s.setText("Error generating preview")}else s.empty()};l(),new f0.Setting(f).setName("If an output file already exists").setDesc("Choose how to handle filename conflicts").addDropdown(i=>{i.addOptions({reuse:"Reuse existing file in vault (if any)",increment:"Add number suffix (-1, -2, etc.)"}).setValue(e.conflictResolution||"reuse").onChange(i=>{e.conflictResolution=i})}),n?i.insertBefore(f,n):i.appendChild(f)}renderFolderPresetFormFields(i,e,r,t){let n={SUBFOLDER:"In subfolder under current note",CUSTOM:"Custom"},f={DEFAULT:"Default (Obsidian setting)",ROOT:"Root folder",CURRENT:"Same folder as current note",...n};new f0.Setting(i).setName("Location").addDropdown(a=>{a.addOptions(r||!this.presetUIState.folder.newPreset?f:n).setValue(e.type||"DEFAULT").onChange(n=>{e.type=n,this.updateFolderPresetFormFields(i,e,r,t)}),r&&a.setDisabled(!0)}),this.updateFolderPresetFormFields(i,e,r,t)}updateFolderPresetFormFields(i,e,r,t){let n=i.querySelector(".image-converter-subfolder-name-setting-wrapper"),f=i.querySelector(".image-converter-custom-path-setting-wrapper"),a=i.querySelector(".image-converter-form-buttons");if(n?.remove(),f?.remove(),"SUBFOLDER"===e.type){let e,n=i.createDiv("image-converter-subfolder-name-setting-wrapper"),f=new f0.Setting(n).setName("Subfolder name").setDesc("Enter a custom subfolder name or path.").setClass("image-converter-subfolder-name-setting"),o=f.controlEl.createDiv("image-converter-input-button-container");f.addText(i=>{e=i,i.setPlaceholder("e.g., {YYYY}/{MM}/{imagename}").setValue(this.plugin.settings.subfolderTemplate).onChange(async i=>{this.plugin.settings.subfolderTemplate=i,l()}),i.inputEl.setAttr("spellcheck","false"),r&&i.setDisabled(!0)}),new f0.ButtonComponent(o).setIcon("help-circle").setTooltip("Show available variables").onClick(t);let A=n.createDiv("image-converter-preview-container");A.createEl("div",{text:"Preview:",cls:"image-converter-preview-label"});let s=A.createDiv("image-converter-preview-path"),l=async()=>{if(!e)return;let i=e.getValue();if(i)try{let e=this.app.workspace.getActiveFile(),r=this.app.vault.getFiles().find(i=>i.extension.match(/^(jpg|jpeg|png|gif|webp)$/i));if(!e&&!r)return void s.setText("No file available for preview.");let t=e&&e.extension.match(/^(jpg|jpeg|png|gif|webp)$/i)?e:r,n=await this.plugin.variableProcessor.processTemplate(i,{file:t,activeFile:e});s.setText(n)}catch(i){console.error("Preview generation error:",i),s.setText("Error generating preview")}else s.empty()};l(),a?i.insertBefore(n,a):i.appendChild(n)}else if("CUSTOM"===e.type){let n,f=i.createDiv("image-converter-custom-path-setting-wrapper"),o=new f0.Setting(f).setName("Custom path").setDesc("Enter a custom path.").setClass("image-converter-custom-template-setting"),A=o.controlEl.createDiv("image-converter-input-button-container");o.addText(i=>{n=i,i.setPlaceholder("e.g., {YYYY}/{MM}/{imagename}").setValue(e.customTemplate||"").onChange(i=>{e.customTemplate=i,k()}),i.inputEl.setAttr("spellcheck","false"),r&&i.setDisabled(!0)}),new f0.ButtonComponent(A).setIcon("help-circle").setTooltip("Show available variables").onClick(t);let s=f.createDiv("image-converter-preview-container");s.createEl("div",{text:"Preview:",cls:"image-converter-preview-label"});let l=s.createDiv("image-converter-preview-path"),k=async()=>{if(!n)return;let i=n.getValue();if(i)try{let e=this.app.workspace.getActiveFile(),r=this.app.vault.getFiles().find(i=>i.extension.match(/^(jpg|jpeg|png|gif|webp)$/i));if(!e&&!r)return void l.setText("No file available for preview.");let t=e&&e.extension.match(/^(jpg|jpeg|png|gif|webp)$/i)?e:r,n=await this.plugin.variableProcessor.processTemplate(i,{file:t,activeFile:e});l.setText(n)}catch(i){console.error("Preview generation error:",i),l.setText("Error generating preview")}else l.empty()};k(),a?i.insertBefore(f,a):i.appendChild(f)}}renderConversionPresetFormFields(i,e){let r=new f0.Setting(i).setName("Output format").addDropdown(t=>{t.addOptions({WEBP:"WEBP",JPEG:"JPEG",PNG:"PNG",ORIGINAL:"Original (Compress)",NONE:"None (No Conversion/Compression)",PNGQUANT:"pngquant (Compression for PNG only))",AVIF:"AVIF (via ffmpeg)"}).setValue(e.outputFormat).onChange(t=>{e.outputFormat=t,this.updateConversionPresetFormFields(i,e,r)})});this.updateConversionPresetFormFields(i,e,r)}updateConversionPresetFormFields(i,e,r){let t=i.querySelector(".image-converter-quality-setting"),n=i.querySelector(".image-converter-color-depth-setting"),f=i.querySelector(".image-converter-resize-mode-setting"),a=i.querySelector(".image-converter-desired-width-setting"),o=i.querySelector(".image-converter-desired-height-setting"),A=i.querySelector(".image-converter-desired-longest-edge-setting"),s=i.querySelector(".image-converter-enlarge-or-reduce-setting"),l=i.querySelector(".image-converter-revert-to-original"),k=i.querySelector(".image-converter-pngquant-executable-path"),h=i.querySelector(".image-converter-pngquant-quality"),u=i.querySelector(".image-converter-ffmpeg-executable-path"),c=i.querySelector(".image-converter-ffmpeg-crf"),d=i.querySelector(".image-converter-ffmpeg-preset");if(t?.remove(),n?.remove(),f?.remove(),a?.remove(),o?.remove(),A?.remove(),s?.remove(),l?.remove(),k?.remove(),h?.remove(),u?.remove(),c?.remove(),d?.remove(),["WEBP","JPEG","ORIGINAL"].includes(e.outputFormat)){let t=new f0.Setting(i).setName("Quality").setClass("image-converter-quality-setting").addSlider(i=>{i.setLimits(0,100,1).setValue(e.quality).setDynamicTooltip().onChange(async i=>{e.quality=i})});r.settingEl.insertAdjacentElement("afterend",t.settingEl)}if("PNG"===e.outputFormat){let t=new f0.Setting(i).setName("Color depth").setClass("image-converter-color-depth-setting").addSlider(i=>{i.setLimits(0,1,.1).setValue(e.colorDepth).setDynamicTooltip().onChange(async i=>{e.colorDepth=i})}),n=i.querySelector(".image-converter-quality-setting");n?n.insertAdjacentElement("afterend",t.settingEl):r.settingEl.insertAdjacentElement("afterend",t.settingEl)}if("PNGQUANT"===e.outputFormat){let t=new f0.Setting(i).setName("pngquant executable path 🛈").setTooltip("Provide full-path to the binary file. It can be inside vault or anywhere in your file system.").setClass("image-converter-pngquant-executable-path").addText(i=>{i.setValue(e.pngquantExecutablePath||"").onChange(i=>{e.pngquantExecutablePath=i,this.plugin.saveSettings()}),i.inputEl.setAttr("spellcheck","false")});r.settingEl.insertAdjacentElement("afterend",t.settingEl);let n=new f0.Setting(i).setName("pngquant quality range").setDesc("Quality setting for pngquant (e.g., 65-80). Both min-max values must be provided.").setClass("image-converter-pngquant-quality").addText(i=>{i.setValue(e.pngquantQuality||"").onChange(i=>{e.pngquantQuality=i,this.plugin.saveSettings()}),i.inputEl.setAttr("spellcheck","false")});t.settingEl.insertAdjacentElement("afterend",n.settingEl)}if("AVIF"===e.outputFormat){let t=new f0.Setting(i).setName("FFmpeg executable path 🛈").setTooltip("Provide full-path to the binary file. It can be inside vault or anywhere in your file system.").setClass("image-converter-ffmpeg-executable-path").addText(i=>{i.setValue(e.ffmpegExecutablePath||"").onChange(i=>{e.ffmpegExecutablePath=i,this.plugin.saveSettings()}),i.inputEl.setAttr("spellcheck","false")});r.settingEl.insertAdjacentElement("afterend",t.settingEl);let n=new f0.Setting(i).setName("FFmpeg CRF").setDesc("Constant Rate Factor for AVIF (0-63, lower is better quality).").setClass("image-converter-ffmpeg-crf").addText(i=>{i.setValue(e.ffmpegCrf?.toString()||"").onChange(i=>{let r=parseInt(i,10);e.ffmpegCrf=isNaN(r)?void 0:r,this.plugin.saveSettings()}),i.inputEl.setAttr("spellcheck","false")});t.settingEl.insertAdjacentElement("afterend",n.settingEl);let f=new f0.Setting(i).setName("FFmpeg Preset").setDesc("Encoding preset (speed vs. compression)").setClass("image-converter-ffmpeg-preset").addDropdown(i=>{i.addOptions({ultrafast:"ultrafast",superfast:"superfast",veryfast:"veryfast",faster:"faster",fast:"fast",medium:"medium",slow:"slow",slower:"slower",veryslow:"veryslow",placebo:"placebo"}).setValue(e.ffmpegPreset||"medium").onChange(i=>{e.ffmpegPreset=i,this.plugin.saveSettings()})});n.settingEl.insertAdjacentElement("afterend",f.settingEl)}let b=i.querySelector(".image-converter-color-depth-setting")||i.querySelector(".image-converter-quality-setting");b||(b=r.settingEl);let p=new f0.Setting(i).setName("Resize mode").setClass("image-converter-resize-mode-setting").addDropdown(t=>{t.addOptions({None:"None",Fit:"Fit",Fill:"Fill",LongestEdge:"Longest Edge",ShortestEdge:"Shortest Edge",Width:"Width",Height:"Height"}).setValue(e.resizeMode).onChange(t=>{e.resizeMode=t,this.updateConversionPresetFormFields(i,e,r)})});if(b&&b.insertAdjacentElement("afterend",p.settingEl),b=p.settingEl,["Fit","Fill","Width"].includes(e.resizeMode)){let r=new f0.Setting(i).setName("Desired width").setClass("image-converter-desired-width-setting").addText(i=>{i.setValue(e.desiredWidth.toString()).onChange(i=>{e.desiredWidth=parseInt(i,10)}),i.inputEl.setAttr("spellcheck","false")});b.insertAdjacentElement("afterend",r.settingEl),b=r.settingEl}if(["Fit","Fill","Height"].includes(e.resizeMode)){let r=new f0.Setting(i).setName("Desired height").setClass("image-converter-desired-height-setting").addText(i=>{i.setValue(e.desiredHeight.toString()).onChange(i=>{e.desiredHeight=parseInt(i,10)}),i.inputEl.setAttr("spellcheck","false")});b.insertAdjacentElement("afterend",r.settingEl),b=r.settingEl}if(["LongestEdge","ShortestEdge"].includes(e.resizeMode)){i.querySelector(".image-converter-desired-longest-edge-setting, .image-converter-desired-shortest-edge-setting")?.remove();let r=new f0.Setting(i).setName("LongestEdge"===e.resizeMode?"Desired longest edge":"Desired shortest edge").setClass("LongestEdge"===e.resizeMode?"image-converter-desired-longest-edge-setting":"image-converter-desired-shortest-edge-setting").addText(i=>{i.setValue(e.desiredLongestEdge.toString()).onChange(i=>{e.desiredLongestEdge=parseInt(i,10)}),i.inputEl.setAttr("spellcheck","false")});b.insertAdjacentElement("afterend",r.settingEl),b=r.settingEl}if("None"!==e.resizeMode){let r=new f0.Setting(i).setName("Scale mode").setClass("image-converter-enlarge-or-reduce-setting").addDropdown(i=>{i.addOptions({Auto:"Auto",Reduce:"Only Reduce",Enlarge:"Only Enlarge"}).setValue(e.enlargeOrReduce).onChange(i=>{e.enlargeOrReduce=i})});b.insertAdjacentElement("afterend",r.settingEl),b=r.settingEl}let g=new f0.Setting(i).setName("Revert to original if larger").setClass("image-converter-revert-to-original").setDesc("If the processed image filesize is larger than the original, use the original image instead.").addToggle(i=>i.setValue(this.plugin.settings.revertToOriginalIfLarger).onChange(async i=>{this.plugin.settings.revertToOriginalIfLarger=i,await this.plugin.saveSettings()}));b.insertAdjacentElement("afterend",g.settingEl),b=g.settingEl}renderLinkFormatSettings(){let{containerEl:i}=this;i.createDiv("image-converter-tab-content-wrapper"),this.renderPresetGroup("Link format presets",this.plugin.settings.linkFormatSettings.linkFormatPresets,"selectedLinkFormatPreset",this.presetUIState.linkformat)}renderLinkFormatFormFields(i,e){new f0.Setting(i).setName("Link format").setDesc("Choose between Wikilink and Markdown format").addDropdown(r=>{r.addOptions({wikilink:"Wikilink",markdown:"Markdown"}).setValue(e.linkFormat).onChange(r=>{e.linkFormat=r,this.updateExamples(i,e)})}),new f0.Setting(i).setName("Path format").setDesc("Choose how paths should be formatted").addDropdown(r=>{r.addOptions({shortest:"Shortest",relative:"Relative",absolute:"Absolute"}).setValue(e.pathFormat).onChange(r=>{e.pathFormat=r,this.updateExamples(i,e)})});let r=i.createEl("details",{cls:"image-converter-format-examples-section"});r.createEl("summary",{text:"Examples"}),r.createEl("div",{cls:"image-converter-format-examples-content"}),this.updateExamples(i,e)}updateExamples(i,e){let r=i.querySelector(".image-converter-format-examples-section");if(!r)return;let t=r.querySelector(".image-converter-format-examples-content");t.empty();let n=t.createEl("table",{cls:"image-converter-format-examples-table"}),f=i=>{let{linkFormat:r}=e;switch(i){case"shortest":return"wikilink"===r?"![[image.jpg]]":"![](image.jpg)";case"relative":return"wikilink"===r?"![[./subfolder/image.jpg]]":"![](./subfolder/image.jpg)";case"absolute":return"wikilink"===r?"![[/subfolder/image.jpg]]":"![](/subfolder/image.jpg)";default:return""}};[["Shortest","Uses just the file name without any path:\n <ul>\n <li><b>Wikilink</b>: ![[image.jpg]]</li>\n <li><b>Markdown</b>: ![](image.jpg)</li>\n </ul>",f("shortest")],["Relative","Uses the path relative to the current note:\n <ul>\n <li>Same folder: starts with <code>./</code> (e.g., <code>./image.jpg</code>)</li>\n <li>Parent folder: starts with <code>../</code> (e.g., <code>../image.jpg</code>)</li>\n <li>Subfolder: includes folder path (e.g., <code>./subfolder/image.jpg</code>)</li>\n </ul>",f("relative")],["Absolute","Uses the complete path from your vault root, always starting with <code>/</code>. \n This ensures the link works from any note in your vault, regardless of its location.",f("absolute")]].forEach(([i,e,r])=>{let t=n.createEl("tr");t.createEl("td",{cls:"image-converter-format-label",text:i}),t.createEl("td",{cls:"image-converter-format-description"}).innerHTML=e,t.createEl("td",{cls:"image-converter-format-example",text:r})});let a=t.createEl("div",{cls:"image-converter-format-scenario"}),o=a.createEl("div",{cls:"image-converter-format-paths"});o.createEl("div",{cls:"image-converter-path-label"}).setText("📄 Note location:"),o.createEl("div",{cls:"image-converter-path-value"}).setText("/Folder/Subfolder1/note.md"),o.createEl("div",{cls:"image-converter-path-label"}).setText("🖼️ Image location:"),o.createEl("div",{cls:"image-converter-path-value"}).setText("/Folder/Subfolder2/image.jpg");let A=a.createEl("div",{cls:"image-converter-format-result"});A.createEl("div",{cls:"image-converter-result-label"}).setText("→ Path becomes:");let s=A.createEl("div",{cls:"image-converter-result-value"});(()=>{let{linkFormat:i}=e;s.empty();let r=s.createEl("table"),t=(i,e)=>{let t=r.createEl("tr");t.createEl("td",{text:i,cls:"format-label"}),t.createEl("td",{text:e,cls:"format-value"})};"wikilink"===i?(t("Shortest:","![[Bäume.jpg]]"),t("Relative:","![[../Subfolder2/Bäume.jpg]]"),t("Absolute:","![[/Folder/Subfolder2/Bäume.jpg]]")):(t("Shortest:","![](Bäume.jpg)"),t("Relative:","![](../Subfolder2/Bäume.jpg)"),t("Absolute:","![](/Folder/Subfolder2/Bäume.jpg)"))})()}isDefaultPreset(i,e){return{selectedFolderPreset:["Default (Obsidian setting)","Root folder","Same folder as current note"],selectedFilenamePreset:["Keep original name","NoteName-Timestamp"],selectedConversionPreset:["None","WEBP (75, no resizing)"],selectedLinkFormatPreset:["Default (Wikilink, Shortest)","Markdown, Relative"],selectedResizePreset:["Default (No Resize)"]}[e]?.includes(i.name)}addAddNewPresetCard(i,e,r){let t=i.createDiv({cls:"image-converter-preset-card image-converter-add-new-preset"});t.createEl("div",{text:"+ Add New",cls:"image-converter-add-new-preset-text"}),t.onClickEvent(()=>{"selectedFolderPreset"===e?r.newPreset={name:"",type:"SUBFOLDER"}:"selectedFilenamePreset"===e?r.newPreset={name:"",customTemplate:"",skipRenamePatterns:""}:"selectedLinkFormatPreset"===e?r.newPreset={name:"",linkFormat:"wikilink",pathFormat:"shortest"}:"selectedConversionPreset"===e?r.newPreset={name:"",outputFormat:"NONE",quality:100,colorDepth:1,resizeMode:"None",desiredWidth:800,desiredHeight:600,desiredLongestEdge:1e3,enlargeOrReduce:"Auto",allowLargerFiles:!1,skipConversionPatterns:"",ffmpegExecutablePath:"",ffmpegCrf:23,ffmpegPreset:"medium"}:"selectedResizePreset"===e&&(r.newPreset={name:"",resizeDimension:"none"}),null!==r.newPreset?(this.formContainer||this.initializeFormContainer(),this.showPresetForm(r.newPreset,!0,e,r)):console.error("Error: newPreset is null.")})}async generateFolderPresetSummary(i,e){i.empty();let r=document.createDocumentFragment(),t=i=>{r.createEl("p",{text:i})},n=async i=>{let e=r.createEl("p",{cls:"image-converter-summary-example"});e.textContent="Example: Loading...";try{let r=this.app.workspace.getActiveFile(),t=this.app.vault.getFiles().find(i=>i.extension.match(/^(jpg|jpeg|png|gif|webp)$/i));if(!r&&!t)return void(e.textContent="Example: No file available for preview.");let n=r&&r.extension.match(/^(jpg|jpeg|png|gif|webp)$/i)?r:t,f=await this.plugin.variableProcessor.processTemplate(i,{file:n,activeFile:r});e.textContent=`Example: ${f}`}catch(i){console.error("Preview generation error:",i),e.textContent="Example: Error generating preview"}};switch(e.type){case"DEFAULT":t("Default (Using Obsidian's configured setting for attachments)"),n("Assets/{notename}/{imagename}");break;case"ROOT":t("Root folder of the vault (Top-level folder)."),n("{imagename}");break;case"CURRENT":t("Same folder as the note you're currently editing."),n("{notepath}/{imagename}");break;case"SUBFOLDER":t(`In subfolder: ${this.plugin.settings.subfolderTemplate}`),n(this.plugin.settings.subfolderTemplate);break;case"CUSTOM":t(`Custom location: ${e.customTemplate}`),n(e.customTemplate||"");break;default:t("Unknown location")}i.appendChild(r)}async generateFilenamePresetSummary(i,e){i.empty();let r=document.createDocumentFragment(),t=i=>{r.createEl("p",{text:i})};(async i=>{let e=r.createEl("p",{cls:"image-converter-summary-example"});e.textContent="Example: Loading...";try{let r=this.app.workspace.getActiveFile(),t=this.app.vault.getFiles().find(i=>i.extension.match(/^(jpg|jpeg|png|gif|webp)$/i));if(!r&&!t)return void(e.textContent="Example: No file available for preview.");let n=r&&r.extension.match(/^(jpg|jpeg|png|gif|webp)$/i)?r:t,f=await this.plugin.variableProcessor.processTemplate(i,{file:n,activeFile:r});e.textContent=`Example: ${f}`}catch(i){console.error("Preview generation error:",i),e.textContent="Example: Error generating preview"}})(e.customTemplate||"{imagename}"),e.skipRenamePatterns&&t(`Skip rename patterns: ${e.skipRenamePatterns}`),e.conflictResolution&&t(`If an output file already exists: ${e.conflictResolution}`),i.appendChild(r)}getLinkFormatPresetSummary(i){return`Link Type: ${i.linkFormat}, Path Type: ${i.pathFormat}`}getConversionPresetSummary(i){let e=document.createDocumentFragment(),r=i=>{e.createEl("p",{text:i})};if(r(`Format: ${i.outputFormat}`),"NONE"!==i.outputFormat){switch(r(`Quality: ${i.quality}`),"PNG"===i.outputFormat&&r(`Color Depth: ${i.colorDepth}`),"AVIF"===i.outputFormat&&(r(`FFmpeg CRF: ${i.ffmpegCrf}`),r(`FFmpeg Preset: ${i.ffmpegPreset}`)),r(`Resize: ${i.resizeMode}`),i.resizeMode){case"Fit":case"Fill":r(`(${i.desiredWidth}x${i.desiredHeight})`);break;case"Width":r(`(Width: ${i.desiredWidth})`);break;case"Height":r(`(Height: ${i.desiredHeight})`);break;case"LongestEdge":r(`(Longest Edge: ${i.desiredLongestEdge})`);break;case"ShortestEdge":r(`(Shortest Edge: ${i.desiredLongestEdge})`)}"None"!==i.resizeMode&&r(`Enlarge/Reduce: ${i.enlargeOrReduce}`),r("Allow Larger Files: "+(i.allowLargerFiles?"Yes":"No"))}return i.skipConversionPatterns&&r(`Skip Patterns: ${i.skipConversionPatterns}`),e}addSkipPatternsSetting(i,e,r,t){new f0.Setting(i).setName(t).setDesc("Comma-separated list of patterns to skip (glob or regex). Regex patterns must be enclosed in `/` or `r/` or `regex:` E.g. do not proecss images which include word CAT in them /CAT/").setTooltip("Supports multiple pattern types:\n\n1. Glob patterns:\n *.png, draft-*, test-?.jpg\n * = any characters\n ? = single character\n\n2. Regular expressions:\n /pattern/ or r/pattern/ or regex:pattern\n\nExamples:\n *.png (all PNG files)\n draft-* (files starting with draft-)\n /^IMG_\\d{4}\\./ (IMG_ followed by 4 digits)\n r/\\.(jpe?g|png)$/ (files ending in .jpg/.jpeg/.png)\n regex:^(draft|temp)- (files starting with draft- or temp-)").addTextArea(i=>{i.setPlaceholder("e.g., *.png, draft-*, /^IMG_\\d{4}\\./)").setValue(e[r]).onChange(async i=>{e[r]=i.trim()?i:""}),i.inputEl.setAttr("spellcheck","false")})}getResizePresetSummary(i){let e=document.createDocumentFragment(),r=i=>{let r=document.createElement("p");r.textContent=i,e.appendChild(r)},t=`${i.width}${"percentage"===i.resizeUnits?"%":"px"}`,n=`${i.height}${"percentage"===i.resizeUnits?"%":"px"}`,{customValue:f}=i,a=`${i.longestEdge}${"percentage"===i.resizeUnits?"%":"px"}`,o=`${i.shortestEdge}${"percentage"===i.resizeUnits?"%":"px"}`,A=`${i.editorMaxWidthValue}${"percentage"===i.resizeUnits?"%":"px"}`,s=i.resizeScaleMode,l=i.respectEditorMaxWidth?"Yes":"No",k=i.maintainAspectRatio?"Yes":"No";switch(i.resizeDimension){case"none":r("No resizing");break;case"width":r(`Width: ${t}`),r(`Scale Mode: ${s}`),r(`Respect Editor Max Width: ${l}`),r(`Maintain Aspect Ratio: ${k}`);break;case"height":r(`Height: ${n}`),r(`Scale Mode: ${s}`),r(`Respect Editor Max Width: ${l}`),r(`Maintain Aspect Ratio: ${k}`);break;case"both":r(`Custom: ${f}`),r(`Scale Mode: ${s}`),r(`Respect Editor Max Width: ${l}`),r(`Maintain Aspect Ratio: ${k}`);break;case"longest-edge":r(`Longest Edge: ${a}`),r(`Scale Mode: ${s}`),r(`Respect Editor Max Width: ${l}`),r(`Maintain Aspect Ratio: ${k}`);break;case"shortest-edge":r(`Shortest Edge: ${o}`),r(`Scale Mode: ${s}`),r(`Respect Editor Max Width: ${l}`),r(`Maintain Aspect Ratio: ${k}`);break;case"original-width":r("Original Width"),r(`Scale Mode: ${s}`),r(`Respect Editor Max Width: ${l}`);break;case"original-height":r("Original Height"),r(`Scale Mode: ${s}`),r(`Respect Editor Max Width: ${l}`);break;case"editor-max-width":r(`Editor Max Width: ${A}`),r(`Scale Mode: ${s}`),r(`Respect Editor Max Width: ${l}`)}return e}renderResizePresetFormFields(i,e){new f0.Setting(i).setName("Resize dimension").setDesc("Choose how to resize the image").addDropdown(r=>{r.addOptions({none:"None",width:"Width",height:"Height",both:"WidthxHeight (Custom)","longest-edge":"Longest edge","shortest-edge":"Shortest edge","original-width":"Apply original image width","original-height":"Apply original image height","editor-max-width":"Fit editor max-width"}).setValue(e.resizeDimension).onChange(r=>{e.resizeDimension=r,this.updateResizePresetFormFields(i,e)})}),this.updateResizePresetFormFields(i,e)}updateResizePresetFormFields(i,e){i.querySelectorAll(".image-converter-resize-width-setting, .image-converter-resize-height-setting, .image-converter-resize-custom-setting, .image-converter-resize-scale-mode-setting, .image-converter-resize-respect-width-setting, .image-converter-resize-units-setting, .image-converter-maintain-aspect-ratio-setting, .image-converter-resize-longest-edge-setting, .image-converter-resize-shortest-edge-setting, .image-converter-resize-editor-max-width-value-setting").forEach(i=>i.remove());let r,t,n,f=i.querySelector(".image-converter-form-buttons"),a=(r,t,n,a,o=!1)=>{let A=new f0.Setting(i).setName(r).setClass(t).addText(i=>{i.setValue(n?.toString()||"").onChange(a),i.setPlaceholder("percentage"===e.resizeUnits?`${r} (%)`:`${r} (px)`)});return o&&A.addDropdown(i=>{i.addOptions({pixels:"px",percentage:"%"}).setValue(e.resizeUnits).onChange(i=>{e.resizeUnits=i,A.components[0].setPlaceholder("percentage"===i?`${r} (%)`:`${r} (px)`)}),i.selectEl.addClass("image-converter-resize-units-dropdown")}),f&&i.insertBefore(A.settingEl,f),A};switch(e.resizeDimension){case"width":a("Width","image-converter-resize-width-setting",e.width,i=>{let r=parseFloat(i);e.width=isNaN(r)?void 0:r},!0).setDesc("Set new custom width");break;case"height":a("Height","image-converter-resize-height-setting",e.height,i=>{let r=parseFloat(i);e.height=isNaN(r)?void 0:r},!0).setDesc("Set new custom height");break;case"longest-edge":a("Longest edge","image-converter-resize-longest-edge-setting",e.longestEdge,i=>{let r=parseFloat(i);e.longestEdge=isNaN(r)?void 0:r},!0).setDesc("Plugin automatically reads the original image dimensions and applies the provided value to the longer of the width or height. The other dimension is then calculated automatically if 'Maintain aspect ratio' is enabled.");break;case"shortest-edge":a("Shortest edge","image-converter-resize-shortest-edge-setting",e.shortestEdge,i=>{let r=parseFloat(i);e.shortestEdge=isNaN(r)?void 0:r},!0).setDesc("Plugin automatically reads the original image dimensions and applies the provided value to the shorter of the width or height. The other dimension is then calculated automatically if 'Maintain aspect ratio' is enabled.");break;case"both":r=new f0.Setting(i).setName("Custom value").setClass("image-converter-resize-custom-setting").addText(i=>{i.setValue(e.customValue||"").onChange(i=>{/^\|?\d*(?:\.\d+)?(?:x\d*(?:\.\d+)?)?%?$/.test(i)||"percentage"===e.resizeUnits&&/^\d*(?:\.\d+)?x\d*(?:\.\d+)?%$/.test(i)?e.customValue=i:new f0.Notice("Invalid custom value format. Use |widthxheight or percentage format (e.g., 50x75%).")}),i.setPlaceholder("percentage"===e.resizeUnits?"e.g. 50x75":"widthxheight")}).setDesc("Set both width and height using the format |widthxheight (e.g., 300x200) or percentage format (e.g., 50x75). This does not preserve Aspect Ratio."),f&&i.insertBefore(r.settingEl,f);break;case"editor-max-width":t=new f0.Setting(i).setName("Max width value").setClass("image-converter-resize-editor-max-width-value-setting").addText(i=>{i.setValue(e.editorMaxWidthValue?.toString()||"").onChange(i=>{let r=parseFloat(i);e.editorMaxWidthValue=isNaN(r)?void 0:r}),i.setPlaceholder("percentage"===e.resizeUnits?"e.g. 50%":"e.g. 200px")}).addDropdown(i=>{i.addOptions({pixels:"px",percentage:"%"}).setValue(e.resizeUnits).onChange(i=>{e.resizeUnits=i,t?.components[0]?.setPlaceholder("percentage"===i?"e.g. 50%":"e.g. 200px")}),i.selectEl.addClass("image-converter-resize-units-dropdown")}).setDesc("Set the maximum width of the image to fit within the editor's width. You can specify a percentage or a fixed pixel value."),f&&i.insertBefore(t.settingEl,f)}if("none"!==e.resizeDimension&&"both"!==e.resizeDimension&&(n=new f0.Setting(i).setName("Maintain aspect ratio").setClass("image-converter-maintain-aspect-ratio-setting").setDesc("Preserve the image's original proportions when resizing.").addToggle(i=>{i.setValue(e.maintainAspectRatio).onChange(i=>{e.maintainAspectRatio=i})}),f&&i.insertBefore(n.settingEl,f)),"original-width"===e.resizeDimension||"original-height"===e.resizeDimension||"editor-max-width"===e.resizeDimension?n?.settingEl.hide():n?.settingEl.show(),"editor-max-width"!==e.resizeDimension&&t?.settingEl.hide(),"none"!==e.resizeDimension&&"original-width"!==e.resizeDimension&&"original-height"!==e.resizeDimension&&"editor-max-width"!==e.resizeDimension){let r=new f0.Setting(i).setName("Scale mode").setClass("image-converter-resize-scale-mode-setting").setDesc("Controls how images are adjusted relative to target size:\n- Auto: Adjusts image to fit specified dimensions\n- Reduce Only: Only shrinks images larger than target\n- Enlarge Only: Only enlarges images smaller than target").addDropdown(i=>{i.addOptions({auto:"Auto",reduce:"Reduce Only",enlarge:"Enlarge Only"}).setValue(e.resizeScaleMode).onChange(i=>{e.resizeScaleMode=i})});f&&i.insertBefore(r.settingEl,f)}if("editor-max-width"!==e.resizeDimension&&"none"!==e.resizeDimension){let r=new f0.Setting(i).setName("Respect editor max width").setClass("image-converter-resize-respect-width-setting").setDesc("When calculating dimensions, prevent the image from exceeding the editor's width.").addToggle(i=>{i.setValue(e.respectEditorMaxWidth).onChange(i=>{e.respectEditorMaxWidth=i})});f&&i.insertBefore(r.settingEl,f)}}getSelectedPresetName(i){switch(i){case"selectedFolderPreset":return this.plugin.settings.selectedFolderPreset;case"selectedFilenamePreset":return this.plugin.settings.selectedFilenamePreset;case"selectedConversionPreset":return this.plugin.settings.selectedConversionPreset;case"selectedLinkFormatPreset":return this.plugin.settings.linkFormatSettings.selectedLinkFormatPreset;case"selectedResizePreset":return this.plugin.settings.nonDestructiveResizeSettings.selectedResizePreset;default:return}}addSaveButton(i,e,r,t,n){new f0.ButtonComponent(i).setButtonText(r?"Add":"Save").setCta().onClick(async()=>{e.name?this.isDefaultPreset(e,t)||!("selectedFolderPreset"===t&&this.plugin.settings.folderPresets.some(i=>i.name===e.name&&i!==e)||"selectedFilenamePreset"===t&&this.plugin.settings.filenamePresets.some(i=>i.name===e.name&&i!==e)||"selectedConversionPreset"===t&&this.plugin.settings.conversionPresets.some(i=>i.name===e.name&&i!==e)||"selectedLinkFormatPreset"===t&&this.plugin.settings.linkFormatSettings.linkFormatPresets.some(i=>i.name===e.name&&i!==e)||"selectedResizePreset"===t&&this.plugin.settings.nonDestructiveResizeSettings.resizePresets.some(i=>i.name===e.name&&i!==e))?(r&&("selectedFolderPreset"===t?this.plugin.settings.folderPresets.push(e):"selectedFilenamePreset"===t?this.plugin.settings.filenamePresets.push(e):"selectedConversionPreset"===t?this.plugin.settings.conversionPresets.push(e):"selectedLinkFormatPreset"===t?this.plugin.settings.linkFormatSettings.linkFormatPresets.push(e):"selectedResizePreset"===t&&this.plugin.settings.nonDestructiveResizeSettings.resizePresets.push(e)),await this.plugin.saveSettings(),n.editingPreset=null,n.newPreset=null,this.editingPresetKey=null,this.display()):new f0.Notice("A preset with this name already exists."):new f0.Notice("Preset name cannot be empty.")})}addCancelButton(i,e,r){new f0.ButtonComponent(i).setButtonText("Cancel").onClick(()=>{e.editingPreset=null,e.newPreset=null,this.editingPresetKey=null,this.formContainer.removeClass("visible"),this.display()})}onClose(){this.formContainer&&(this.formContainer.removeClass("visible"),this.formContainer.empty()),this.editingPresetKey=null,this.presetUIState={folder:{editingPreset:null,newPreset:null},filename:{editingPreset:null,newPreset:null},conversion:{editingPreset:null,newPreset:null},linkformat:{editingPreset:null,newPreset:null},resize:{editingPreset:null,newPreset:null},globalPresetVisible:!0,imageAlignmentSectionCollapsed:!1,imageDragResizeSectionCollapsed:!1,imageCaptionSectionCollapsed:!1}}},Qi=class extends f0.Modal{message;confirmText;callback;constructor(i,e,r,t,n){super(i),this.titleEl.setText(e),this.message=r,this.confirmText=t,this.callback=n}onOpen(){let{contentEl:i}=this;"string"==typeof this.message?i.setText(this.message):(i.empty(),i.appendChild(this.message));let e=i.createDiv("image-converter-confirm-modal-buttons");new f0.ButtonComponent(e).setButtonText("Cancel").onClick(()=>this.close()),new f0.ButtonComponent(e).setButtonText(this.confirmText).setCta().onClick(()=>{this.close(),this.callback()})}onClose(){let{contentEl:i}=this;i.empty()}},Vn=class extends f0.Modal{plugin;callback;presetName="";constructor(i,e,r){super(i),this.plugin=e,this.callback=r}onOpen(){let{contentEl:i}=this;i.createEl("h2",{text:"Save global preset"}),new f0.Setting(i).setName("Preset Name").addText(i=>{i.setPlaceholder("Enter preset name").setValue(this.presetName).onChange(i=>{this.presetName=i})});let e=i.createEl("div",{cls:"image-converter-preset-summary"});this.updateSummary(e),new f0.Setting(i).addButton(i=>i.setButtonText("Save").setCta().onClick(()=>{this.presetName?(this.callback(this.presetName),this.close()):new f0.Notice("Please enter a preset name.")})).addButton(i=>i.setButtonText("Cancel").onClick(()=>{this.close()}))}updateSummary(i){i.empty(),i.createEl("h4",{text:"Summary"});let e=this.plugin.settings.folderPresets.find(i=>i.name===this.plugin.settings.selectedFolderPreset),r=this.plugin.settings.filenamePresets.find(i=>i.name===this.plugin.settings.selectedFilenamePreset),t=this.plugin.settings.conversionPresets.find(i=>i.name===this.plugin.settings.selectedConversionPreset),n=this.plugin.settings.linkFormatSettings.linkFormatPresets.find(i=>i.name===this.plugin.settings.linkFormatSettings.selectedLinkFormatPreset),f=this.plugin.settings.nonDestructiveResizeSettings.resizePresets.find(i=>i.name===this.plugin.settings.nonDestructiveResizeSettings.selectedResizePreset),a=document.createDocumentFragment(),o=(i,e,r=!1)=>{let t=document.createElement("div");return t.classList.add("summary-item"),t.createEl("span",{text:`${i}: `,cls:"summary-label"}),t.createEl("span",{text:null!=e?e.toString():"None",cls:r?"summary-value-bold":"summary-value"}),t},A=(i,e)=>{if(e){let r=document.createElement("div");switch(r.classList.add("summary-section"),r.appendChild((i=>{let e=document.createElement("div");return e.classList.add("summary-section-title"),e.textContent=i,e})(`${i} Preset: ${e.name}`)),i){case"Folder":r.appendChild(o("Type",e.type)),"SUBFOLDER"===e.type?r.appendChild(o("Subfolder template",this.plugin.settings.subfolderTemplate)):"CUSTOM"===e.type&&r.appendChild(o("Custom template",e.customTemplate));break;case"Filename":r.appendChild(o("Template",e.customTemplate));break;case"Conversion":if(r.appendChild(o("Output format",e.outputFormat)),"NONE"!==e.outputFormat){switch(r.appendChild(o("Quality",e.quality)),"PNG"===e.outputFormat&&r.appendChild(o("Color depth",e.colorDepth)),r.appendChild(o("Resize mode",e.resizeMode)),e.resizeMode){case"Fit":case"Fill":r.appendChild(o("Dimensions",`${e.desiredWidth}x${e.desiredHeight}`));break;case"Width":r.appendChild(o("Width",e.desiredWidth));break;case"Height":r.appendChild(o("Height",e.desiredHeight));break;case"LongestEdge":case"ShortestEdge":r.appendChild(o("Edge",e.desiredLongestEdge))}"None"!==e.resizeMode&&r.appendChild(o("Scale",e.enlargeOrReduce)),r.appendChild(o("Allow larger files",e.allowLargerFiles?"Yes":"No")),r.appendChild(o("Skip patterns",e.skipConversionPatterns))}break;case"Link format":r.appendChild(o("Link type",e.linkFormat)),r.appendChild(o("Path format",e.pathFormat));break;case"Resize":if(f){let i="";switch(f.resizeDimension){case"width":i=`Width: ${f.width}${"percentage"===f.resizeUnits?"%":"px"}`;break;case"height":i=`Height: ${f.height}${"percentage"===f.resizeUnits?"%":"px"}`;break;case"both":i=`Custom: ${f.customValue}`;break;case"longest-edge":i=`Longest edge: ${f.longestEdge}${"percentage"===f.resizeUnits?"%":"px"}`;break;case"shortest-edge":i=`Shortest edge: ${f.shortestEdge}${"percentage"===f.resizeUnits?"%":"px"}`;break;case"original-width":i="Original width";break;case"original-height":i="Original height";break;case"editor-max-width":i=`Editor max width: ${f.editorMaxWidthValue}${"percentage"===f.resizeUnits?"%":"px"}`;break;case"none":i="No resizing"}r.appendChild(o("Dimension",i)),"none"!==f.resizeDimension&&(r.appendChild(o("Scale mode",f.resizeScaleMode)),r.appendChild(o("Respect editor max width",f.respectEditorMaxWidth?"Yes":"No")),"original-width"!==f.resizeDimension&&"original-height"!==f.resizeDimension&&"editor-max-width"!==f.resizeDimension&&r.appendChild(o("Maintain aspect ratio",f.maintainAspectRatio?"Yes":"No")))}}a.appendChild(r)}};A("Folder",e),A("Filename",r),A("Conversion",t),A("Link format",n),A("Resize",f),i.appendChild(a)}onClose(){let{contentEl:i}=this;i.empty()}},gr=class extends f0.Modal{variableProcessor;modalClass="image-converter-available-variables-modal";searchInput;categorizedVariables;contentContainer;constructor(i,e){super(i),this.variableProcessor=e}onOpen(){this.modalEl.addClass(this.modalClass);let{contentEl:i}=this;i.createEl("h2",{text:"Available variables"});let e=i.createEl("div",{cls:"variable-search-container"});this.searchInput=e.createEl("input",{type:"text",placeholder:"Search variables...",cls:"variable-search-input"}),e.createEl("span",{text:"🔍",cls:"variable-search-icon"}),this.contentContainer=i.createEl("div",{cls:"variable-content-container"}),this.categorizedVariables=this.variableProcessor.getCategorizedVariables(),this.renderVariables(),this.searchInput.addEventListener("input",()=>{this.handleSearch()}),this.searchInput.focus()}renderVariables(i=""){this.contentContainer.empty();for(let[e,r]of Object.entries(this.categorizedVariables)){let t=r.filter(e=>{if(!i)return!0;let r=i.toLowerCase();return e.name.toLowerCase().includes(r)||e.description.toLowerCase().includes(r)||e.example.toLowerCase().includes(r)});if(t.length>0){let r=this.contentContainer.createEl("div",{cls:"variable-category"});r.createEl("h4",{text:e,cls:"variable-category-title"});let n=r.createEl("table",{cls:"variable-table"}),f=n.createEl("thead").createEl("tr");f.createEl("th",{text:"Variable"}),f.createEl("th",{text:"Description"}),f.createEl("th",{text:"Example"});let a=n.createTBody();for(let e of t){let r=a.createEl("tr",{cls:"variable-row"}),t=r.createEl("td",{cls:"variable-name"});t.innerHTML=this.highlightSearchTerm(e.name,i),r.createEl("td",{cls:"variable-description"}).innerHTML=this.highlightSearchTerm(e.description,i),r.createEl("td",{cls:"variable-example"}).innerHTML=this.highlightSearchTerm(e.example,i),t.addEventListener("click",async()=>{try{await navigator.clipboard.writeText(e.name),t.classList.add("variable-name-copied");let i=t.textContent;t.textContent="Copied!",setTimeout(()=>{t.classList.remove("variable-name-copied"),t.textContent=i},800)}catch(i){console.error("Failed to copy to clipboard:",i),t.classList.add("variable-name-copy-error"),setTimeout(()=>{t.classList.remove("variable-name-copy-error")},500)}}),t.title="Click to copy variable name"}}}i&&0===this.contentContainer.children.length&&this.contentContainer.createEl("div",{cls:"variable-no-results",text:`No variables found matching "${i}"`})}highlightSearchTerm(i,e){if(!e)return i;let r=new RegExp(`(${e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")})`,"gi");return i.replace(r,"<mark>$1</mark>")}handleSearch(){let i=this.searchInput.value.trim();this.renderVariables(i)}onClose(){let{contentEl:i}=this;i.empty(),this.modalEl.removeClass(this.modalClass)}},Be=Me(fo()),f2=Me(require("fs/promises")),ko=Me(require("os")),uo=Me(require("path")),lt=class{supportedImageFormats;preset;settings;constructor(i){this.supportedImageFormats=i}async processImage(i,e,r,t,n,f,a,o,A,s,l,k){let h=await this.processImageHelper(i,e,r,t,n,f,a,o,A,s,l,k);if("JPEG"===e)try{let e=await this.extractMetadata(i);e&&e["0th"]&&e["0th"][Be.ImageIFD.Orientation]&&delete e["0th"][Be.ImageIFD.Orientation];let r=e&&Object.keys(e).length>0?Be.dump(e):"";return await this.applyMetadata(h,r)}catch(i){return console.error("JPEG EXIF handling error:",i),h}return h}async processImageHelper(i,e,r,t,n,f,a,o,A,s,l,k){this.preset=l,this.settings=k??Vi;try{if("NONE"===e&&"None"!==n)return await this.resizeImage(i,n,f,a,o,A,r);if("NONE"===e)return i.arrayBuffer();if("ORIGINAL"===e)return await this.compressOriginalImage(i,r,n,f,a,o,A);let l=i instanceof File?i.name:"image",k=await this.supportedImageFormats.getMimeTypeFromFile(i);if(!k||"unknown"===k)return i.arrayBuffer();let h=k;if(!this.supportedImageFormats.isSupported(h,l))return i.arrayBuffer();switch(h){case"image/tiff":case"image/tif":try{let l=await this.handleTiff(await i.arrayBuffer());return await this.convertAndCompress(l,e,r,t,n,f,a,o,A,s)}catch{return i.arrayBuffer()}case"image/heic":case"image/heif":try{let l=await this.handleHeic(await i.arrayBuffer(),"JPEG"===e?"JPEG":"PNG","JPEG"===e?r:1);return await this.convertAndCompress(l,e,r,t,n,f,a,o,A,s)}catch{return i.arrayBuffer()}default:try{return await this.convertAndCompress(i,e,r,t,n,f,a,o,A,s)}catch{return i.arrayBuffer()}}}catch(e){return console.error("Error processing image:",e),new a2.Notice(`Failed to process image: ${e.message}`),i.arrayBuffer()}}async handleTiff(i){try{let e=await Promise.resolve().then(()=>Me(ao())).then(i=>i.default),r=e.decode(i);e.decodeImage(i,r[0]);let t=e.toRGBA8(r[0]),n=document.createElement("canvas");n.width=r[0].width,n.height=r[0].height;let f=n.getContext("2d"),a=f.createImageData(n.width,n.height);return a.data.set(t),f.putImageData(a,0,0),new Promise((i,e)=>{n.toBlob(r=>{r?i(r):e(new Error("Failed to convert canvas to Blob"))},"image/png")})}catch(i){throw console.error("Error processing TIFF image:",i),new Error("Failed to process TIFF image")}}async handleHeic(i,e,r){try{let{heicTo:t}=await Promise.resolve().then(()=>(lo(),Ao)),n=new Blob([i],{type:"image/heic"});return await t({blob:n,type:"JPEG"===e?"image/jpeg":"image/png",quality:r})}catch(i){throw console.error("Error converting HEIC:",i),new Error(`Failed to convert HEIC image: ${i.message}`)}}async convertAndCompress(i,e,r,t,n,f,a,o,A,s){switch(e){case"WEBP":return this.convertToWebP(i,r,n,f,a,o,A,s);case"JPEG":return this.convertToJPG(i,r,n,f,a,o,A,s);case"PNG":return this.convertToPNG(i,t,n,f,a,o,A,s);case"PNGQUANT":{let e=this.preset?.pngquantExecutablePath||this.settings.singleImageModalSettings?.pngquantExecutablePath,r=this.preset?.pngquantQuality||this.settings.pngquantQuality;return e?this.processWithPngquant(i,e,r,n,f,a,o,A):(new a2.Notice("PNGQUANT executable path is not set. Please configure it in the plugin settings."),i.arrayBuffer())}case"AVIF":{let e=this.preset?.ffmpegExecutablePath||this.settings.singleImageModalSettings?.ffmpegExecutablePath,r=this.preset?.ffmpegCrf||this.settings.ffmpegCrf,t=this.preset?.ffmpegPreset||this.settings.ffmpegPreset;return e?this.processWithFFmpeg(i,e,r,t,n,f,a,o,A):(new a2.Notice("FFmpeg executable path is not set. Please configure it in the plugin settings."),i.arrayBuffer())}default:return i.arrayBuffer()}}async processWithFFmpeg(i,e,r,t,n,f,a,o,A){let s=i;if("None"!==n){let e=await this.resizeImage(i,n,f,a,o,A);s=new Blob([e],{type:i.type})}let l=await this.getImageDimensions(s),k=await s.arrayBuffer(),h=await this.checkForTransparency(s),u=ko.tmpdir(),c=`obsidian_image_converter_${Date.now()}.avif`,d=uo.join(u,c);return new Promise((i,A)=>{let s,u=this.buildScaleFilter(n,l,f,a,o);if(h){let i="format=rgba";u&&(i+=`,${u}`),s=["-i","pipe:0","-map","0","-map","0","-filter:v:0",i,"-filter:v:1","alphaextract","-c:v","libaom-av1","-crf",r.toString(),"-preset",t,"-still-picture","1","-y","-f","avif",d]}else{let i="format=yuv420p";u&&(i+=`,${u}`),s=["-i","pipe:0","-filter:v",i,"-c:v","libaom-av1","-crf",r.toString(),"-preset",t,"-still-picture","1","-y","-f","avif",d]}let c=null;try{c=a2.Platform.isWin?(0,br.spawn)(e,s,{windowsHide:!0}):(0,br.spawn)(e,s)}catch(i){let e=`Failed to spawn FFmpeg: ${i instanceof Error?i.message:String(i)}`;return console.error(e),void A(new Error(e))}if(c.on("exit",i=>{if(c?.removeAllListeners("close"),0!==i){let e=`FFmpeg failed with code ${i}: ${b}`;console.error(e);try{f2.unlink(d)}catch{}A(new Error(e))}}),!c)return void A(new Error("Failed to spawn FFmpeg process."));let b="";c.stderr?.on("data",i=>{b+=i.toString()}),c.on("close",async e=>{if(0!==e){let i=`FFmpeg failed with code ${e}: ${b}`;console.error(i);try{await f2.unlink(d)}catch{}return void A(new Error(i))}try{let e=await f2.readFile(d),r=e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);i(r)}catch(i){console.error("Error reading temporary file:",i),A(new Error(`Failed to read the processed image from the temporary file: ${i}`))}finally{try{await f2.unlink(d)}catch(i){console.error("Error deleting temporary file:",i)}}}),c.on("error",i=>{let e=`Error with FFmpeg process: ${i.message}`;console.error(e),f2.unlink(d).catch(i=>{}),A(new Error(e))});let p=setTimeout(()=>{try{c?.kill?.("SIGKILL")}catch{}A(new Error("FFmpeg process timed out"))},5e3);c.on("close",()=>clearTimeout(p)),c.on("exit",()=>clearTimeout(p)),c.stdin?.write(Buffer.from(k)),c.stdin?.end()})}async checkForTransparency(i){return new Promise(e=>{let r=new Image;r.onload=()=>{let i=document.createElement("canvas");i.width=r.width,i.height=r.height;let t=i.getContext("2d");if(!t)return void e(!1);t.drawImage(r,0,0);let n=t.getImageData(0,0,i.width,i.height),{data:f}=n;for(let i=3;i<f.length;i+=4)if(f[i]<255)return void e(!0);e(!1)},r.onerror=()=>e(!1);let t=new FileReader;t.onload=i=>{r.src=i.target?.result},t.onerror=()=>e(!1),t.readAsDataURL(i)})}async getImageDimensions(i){return new Promise((e,r)=>{let t=new Image;t.onload=()=>{e({width:t.naturalWidth,height:t.naturalHeight})},t.onerror=()=>{r(new Error("Failed to load image to get dimensions."))},t.src=URL.createObjectURL(i)})}buildScaleFilter(i,e,r,t,n){let f,a,{width:o,height:A}=e,s=o/A;switch(i){case"None":default:return null;case"Fit":s>r/t?(f=r,a=Math.round(r/s)):(a=t,f=Math.round(t*s));break;case"Fill":s>r/t?(a=t,f=Math.round(t*s)):(f=r,a=Math.round(r/s));break;case"LongestEdge":o>A?(f=n,a=Math.round(n/s)):(a=n,f=Math.round(n*s));break;case"ShortestEdge":o<A?(f=n,a=Math.round(n/s)):(a=n,f=Math.round(n*s));break;case"Width":f=r,a=Math.round(r/s);break;case"Height":a=t,f=Math.round(t*s)}return`scale=${f}:${a}`}async convertToWebP(i,e,r,t,n,f,a,o){if(1===e&&"None"===r)return i.arrayBuffer();let A=async i=>new Promise((e,o)=>{let A=new Image;A.onload=()=>{try{let{imageWidth:i,imageHeight:s}=this.calculateDesiredDimensions(A,r,t,n,f,a),l=i,k=s;"Reduce"===a&&(A.naturalWidth<i||A.naturalHeight<s)&&(l=A.naturalWidth,k=A.naturalHeight);let h=document.createElement("canvas"),u=h.getContext("2d",{willReadFrequently:!1});if(!u)return void o(new Error("Failed to get canvas context"));h.width=l,h.height=k;let c=0,d=0,b=A.naturalWidth,p=A.naturalHeight;if("Fill"===r){let i=Math.max(l/A.naturalWidth,k/A.naturalHeight);b=l/i,p=k/i,c=Math.floor((A.naturalWidth-b)/2),d=Math.floor((A.naturalHeight-p)/2)}u.drawImage(A,c,d,b,p,0,0,l,k),e({canvas:h,context:u})}catch(i){o(i instanceof Error?i:new Error(String(i)))}},A.onerror=i=>{console.error("WebP conversion error:",i),o(new Error("Failed to load image"))},A.src=i});try{let o=await new Promise((e,r)=>{let t=new FileReader;t.onloadend=i=>e(i.target?.result),t.onerror=()=>r(new Error("Failed to read file")),t.readAsDataURL(i)}),{canvas:s}=await A(o),[l,k]=await Promise.all([new Promise(i=>{s.toBlob(async e=>{i(e?await e.arrayBuffer():new ArrayBuffer(0))},"image/webp",e)}),new Promise(i=>{let r=s.toDataURL("image/webp",e);i(this.base64ToArrayBuffer(r))})]),h=await this.compressOriginalImage(i,e,r,t,n,f,a),u=[{type:"blob",data:l,size:l.byteLength},{type:"dataUrl",data:k,size:k.byteLength},{type:"original",data:h,size:h.byteLength}].filter(i=>i.size>0);return u.sort((i,e)=>i.size-e.size),u[0].data}catch(e){return console.error("WebP conversion error:",e),i.arrayBuffer()}}async convertToJPG(i,e,r,t,n,f,a,o){if(1===e&&"None"===r)return i.arrayBuffer();let A=async i=>new Promise((e,o)=>{let A=new Image;A.onload=()=>{try{let{imageWidth:i,imageHeight:s}=this.calculateDesiredDimensions(A,r,t,n,f,a),l=i,k=s;"Reduce"===a&&(A.naturalWidth<i||A.naturalHeight<s)&&(l=A.naturalWidth,k=A.naturalHeight);let h=document.createElement("canvas"),u=h.getContext("2d",{willReadFrequently:!1,alpha:!1});if(!u)return void o(new Error("Failed to get canvas context"));h.width=l,h.height=k;let c=0,d=0,b=A.naturalWidth,p=A.naturalHeight;if("Fill"===r){let i=Math.max(l/A.naturalWidth,k/A.naturalHeight);b=l/i,p=k/i,c=Math.floor((A.naturalWidth-b)/2),d=Math.floor((A.naturalHeight-p)/2)}u.drawImage(A,c,d,b,p,0,0,l,k),e({canvas:h,context:u})}catch(i){o(i instanceof Error?i:new Error(String(i)))}},A.onerror=i=>{console.error("JPEG conversion error:",i),o(new Error("Failed to load image"))},A.src=i});try{let o=await new Promise((e,r)=>{let t=new FileReader;t.onloadend=i=>e(i.target?.result),t.onerror=()=>r(new Error("Failed to read file")),t.readAsDataURL(i)}),{canvas:s}=await A(o),[l,k]=await Promise.all([new Promise(i=>{s.toBlob(async e=>{i(e?await e.arrayBuffer():new ArrayBuffer(0))},"image/jpeg",e)}),new Promise(i=>{let r=s.toDataURL("image/jpeg",e);i(this.base64ToArrayBuffer(r))})]),h=[{type:"blob",data:l,size:l.byteLength},{type:"dataUrl",data:k,size:k.byteLength}];if("image/jpeg"!==i.type){let o=await this.compressOriginalImage(i,e,r,t,n,f,a);h.push({type:"original",data:o,size:o.byteLength})}let u=h.filter(i=>i.size>0);return u.sort((i,e)=>i.size-e.size),u[0].data}catch(e){return console.error("JPEG conversion error:",e),i.arrayBuffer()}}async convertToPNG(i,e,r,t,n,f,a,o){if(1===e&&"None"===r)return i.arrayBuffer();let A=async i=>new Promise((o,A)=>{let s=new Image;s.onload=()=>{try{let{imageWidth:i,imageHeight:l}=this.calculateDesiredDimensions(s,r,t,n,f,a),k=i,h=l;"Reduce"===a&&(s.naturalWidth<i||s.naturalHeight<l)&&(k=s.naturalWidth,h=s.naturalHeight);let u=document.createElement("canvas"),c=u.getContext("2d",{willReadFrequently:e<1,alpha:!0});if(!c)return void A(new Error("Failed to get canvas context"));u.width=k,u.height=h;let d=0,b=0,p=s.naturalWidth,g=s.naturalHeight;if("Fill"===r){let i=Math.max(k/s.naturalWidth,h/s.naturalHeight);p=k/i,g=h/i,d=(s.naturalWidth-p)/2,b=(s.naturalHeight-g)/2}if(c.drawImage(s,d,b,p,g,0,0,k,h),e<1){let i=c.getImageData(0,0,u.width,u.height),r=this.reduceColorDepth(i,e);c.putImageData(r,0,0)}o({canvas:u,context:c})}catch(i){A(i instanceof Error?i:new Error(String(i)))}},s.onerror=i=>{console.error("PNG conversion error:",i),A(new Error("Failed to load image"))},s.src=i});try{let e=await new Promise((e,r)=>{let t=new FileReader;t.onloadend=i=>e(i.target?.result),t.onerror=()=>r(new Error("Failed to read file")),t.readAsDataURL(i)}),{canvas:o}=await A(e),[s,l]=await Promise.all([new Promise(i=>{o.toBlob(async e=>{i(e?await e.arrayBuffer():new ArrayBuffer(0))},"image/png")}),new Promise(i=>{let e=o.toDataURL("image/png");i(this.base64ToArrayBuffer(e))})]),k=[{type:"blob",data:s,size:s.byteLength},{type:"dataUrl",data:l,size:l.byteLength}];if("image/png"!==i.type){let e=await this.compressOriginalImage(i,1,r,t,n,f,a);k.push({type:"original",data:e,size:e.byteLength})}return k.filter(i=>i.size>0).sort((i,e)=>i.size-e.size)[0].data}catch(e){return console.error("PNG conversion error:",e),i.arrayBuffer()}}async processWithPngquant(i,e,r,t,n,f,a,o){let A=i;if("None"!==t){let e=await this.resizeImage(i,t,n,f,a,o);A=new Blob([e],{type:i.type})}let s=await A.arrayBuffer();return new Promise((i,t)=>{let n=["--quality",r,"-"],f=null;try{f=a2.Platform.isWin?(0,br.spawn)(e,n,{windowsHide:!0}):(0,br.spawn)(e,n)}catch(i){let e=`Failed to spawn pngquant: ${i.message}`;return console.error(e),void t(new Error(e))}if(!f)return void t(new Error("Failed to spawn pngquant process."));let a=[],o="";f.stdout?.on("data",i=>{a.push(i)}),f.stderr?.on("data",i=>{o+=i.toString()}),f.on("close",e=>{if(0!==e){let i=`pngquant failed with code ${e}: ${o}`;return console.error(i),void t(new Error(i))}let r=Buffer.concat(a),n=r.buffer.slice(r.byteOffset,r.byteOffset+r.byteLength);i(n)}),f.on("error",i=>{let e=`Error with pngquant process: ${i.message}`;console.error(e),t(new Error(e))}),f.stdin?.write(Buffer.from(s)),f.stdin?.end()})}async compressOriginalImage(i,e,r,t,n,f,a){return new Promise((o,A)=>{let s=new Image,l=new FileReader;l.onload=l=>{s.onload=()=>{let{imageWidth:l,imageHeight:k}=this.calculateDesiredDimensions(s,r,t,n,f,a),h=document.createElement("canvas");h.width=l,h.height=k;let u=h.getContext("2d");if(!u)return void A(new Error("Failed to get canvas context"));let c=0,d=0,b=s.naturalWidth,p=s.naturalHeight;if("Fill"===r){let i=Math.max(l/s.naturalWidth,k/s.naturalHeight);b=l/i,p=k/i,c=Math.floor((s.naturalWidth-b)/2),d=Math.floor((s.naturalHeight-p)/2)}u.drawImage(s,c,d,b,p,0,0,l,k);let g=i.type||"image/jpeg";h.toBlob(i=>{i?i.arrayBuffer().then(o).catch(A):A(new Error("Failed to create blob"))},g,e)},s.onerror=i=>{console.error("Original Compression error:",i),A(new Error("Failed to load image"))},s.src=l.target?.result},l.onerror=()=>A(new Error("Failed to read file")),l.readAsDataURL(i)})}async resizeImage(i,e,r,t,n,f,a=1){return new Promise((o,A)=>{let s=new Image,l=new FileReader;l.onload=l=>{s.onload=()=>{let{imageWidth:l,imageHeight:k}=this.calculateDesiredDimensions(s,e,r,t,n,f),h=document.createElement("canvas");h.width=l,h.height=k;let u=h.getContext("2d");u?(u.drawImage(s,0,0,l,k),h.toBlob(i=>{i?i.arrayBuffer().then(o).catch(A):A(new Error("Failed to create blob"))},i.type,a)):A(new Error("Failed to get canvas context"))},s.onerror=i=>{console.error("Image resizing error:",i),A(new Error("Failed to load image for resizing"))},s.src=l.target?.result},l.onerror=()=>A(new Error("Failed to read file for resizing")),l.readAsDataURL(i)})}calculateDesiredDimensions(i,e,r,t,n,f){let a=i.naturalWidth,o=i.naturalHeight,A=a/o;switch(e){case"None":break;case"Fit":A>r/t?(a=r,o=a/A):(o=t,a=o*A);break;case"Fill":a=r,o=t;break;case"LongestEdge":a>o?(a=n,o=a/A):(o=n,a=o*A);break;case"ShortestEdge":a<o?(a=n,o=a/A):(o=n,a=o*A);break;case"Width":a=r,o=a/A;break;case"Height":o=t,a=o*A}switch(f){case"Auto":break;case"Reduce":i.naturalWidth>a||i.naturalHeight>o||(a=i.naturalWidth,o=i.naturalHeight);break;case"Enlarge":i.naturalWidth<a&&i.naturalHeight<o||(a=i.naturalWidth,o=i.naturalHeight)}return{imageWidth:a,imageHeight:o,aspectRatio:A}}reduceColorDepth(i,e){let r=document.createElement("canvas"),t=r.getContext("2d");if(!t)throw new Error("Failed to get canvas context");r.width=i.width,r.height=i.height,t.putImageData(i,0,0);let{data:n}=t.getImageData(0,0,r.width,r.height),f=Math.pow(256,e),a=new Uint8ClampedArray(n.length);for(let i=0;i<n.length;i+=4){let e=n[i],r=n[i+1],t=n[i+2],o=Math.round(e/(256/f))*(256/f),A=Math.round(r/(256/f))*(256/f),s=Math.round(t/(256/f))*(256/f);a[i]=o,a[i+1]=A,a[i+2]=s,a[i+3]=n[i+3]}return new ImageData(a,i.width,i.height)}base64ToArrayBuffer(i){let e=atob(i.split(",")[1]),{length:r}=e,t=new ArrayBuffer(r),n=new Uint8Array(t);for(let i=0;i<r;i++)n[i]=e.charCodeAt(i);return t}async extractMetadata(i){let e=new FileReader,r=await new Promise((r,t)=>{e.onload=i=>r(i.target?.result),e.onerror=()=>t(new Error("Failed to read file for metadata")),e.readAsDataURL(i)});try{return Be.load(r)}catch{return}}async applyMetadata(i,e){try{let r=new Uint8Array(i),t="",n=8192;for(let i=0;i<r.length;i+=n)t+=String.fromCharCode.apply(null,r.subarray(i,i+n));let f=`data:image/jpeg;base64,${btoa(t)}`,a=Be.insert(e,f),o=atob(a.split(",")[1]),A=new ArrayBuffer(o.length),s=new Uint8Array(A);for(let i=0;i<o.length;i++)s[i]=o.charCodeAt(i);return A}catch(e){return console.error("Error applying metadata:",e),i}}},P2=require("obsidian"),kt=class{constructor(i,e){this.app=i,this.settings=e}counters=new Map;allVariables=[{name:"{imagename}",description:"The original name of the image file (without extension).",example:"image123"},{name:"{filetype}",description:"The file extension of the image.",example:"png"},{name:"{sizeb}",description:"The size of the image in bytes.",example:"24576"},{name:"{sizekb}",description:"The size of the image in kilobytes (2 decimal places).",example:"24.00"},{name:"{sizemb}",description:"The size of the image in megabytes (2 decimal places).",example:"0.02"},{name:"{notename}",description:"The name of the current note.",example:"MeetingNotes"},{name:"{notename_nospaces}",description:"The name of the current note with spaces replaced by underscores.",example:"Meeting_Notes"},{name:"{date}",description:"The current date (YYYY-MM-DD).",example:"2023-12-28"},{name:"{date:FORMAT}",description:"The current date in a custom format using Moment.js syntax.",example:"{date:YYYY-MM} -> 2023-12"},{name:"{time}",description:"The current time (HH-mm-ss).",example:"14-30-00"},{name:"{YYYY}",description:"The current year.",example:"2023"},{name:"{MM}",description:"The current month (01-12).",example:"12"},{name:"{DD}",description:"The current day of the month (01-31).",example:"28"},{name:"{HH}",description:"The current hour (00-23).",example:"14"},{name:"{mm}",description:"The current minute (00-59).",example:"30"},{name:"{ss}",description:"The current second (00-59).",example:"00"},{name:"{weekday}",description:"The current day of the week.",example:"Thursday"},{name:"{month}",description:"The current month name.",example:"December"},{name:"{calendar}",description:"A calendar view of the current date/time.",example:"12/28/2023 2:30 PM"},{name:"{today}",description:"The current date (YYYY-MM-DD).",example:"2023-12-28"},{name:"{YYYY-MM-DD}",description:"The current date (YYYY-MM-DD).",example:"2023-12-28"},{name:"{tomorrow}",description:"Tomorrow's date (YYYY-MM-DD).",example:"2023-12-29"},{name:"{yesterday}",description:"Yesterday's date (YYYY-MM-DD).",example:"2023-12-27"},{name:"{startofweek}",description:"The start of the current week (YYYY-MM-DD).",example:"2023-12-24"},{name:"{endofweek}",description:"The end of the current week (YYYY-MM-DD).",example:"2023-12-30"},{name:"{startofmonth}",description:"The start of the current month (YYYY-MM-DD).",example:"2023-12-01"},{name:"{endofmonth}",description:"The end of the current month (YYYY-MM-DD).",example:"2023-12-31"},{name:"{nextweek}",description:"The date of next week (YYYY-MM-DD).",example:"2024-01-04"},{name:"{lastweek}",description:"The date of last week (YYYY-MM-DD).",example:"2023-12-21"},{name:"{nextmonth}",description:"The date of next month (YYYY-MM-DD).",example:"2024-01-28"},{name:"{lastmonth}",description:"The date of last month (YYYY-MM-DD).",example:"2023-11-28"},{name:"{daysinmonth}",description:"The number of days in the current month.",example:"31"},{name:"{weekofyear}",description:"The week number of the current year.",example:"52"},{name:"{quarterofyear}",description:"The quarter of the current year.",example:"4"},{name:"{week}",description:"The current week number (alias for {weekofyear}).",example:"52"},{name:"{w}",description:"The current week number (alias for {weekofyear}).",example:"52"},{name:"{quarter}",description:"The current quarter (alias for {quarterofyear}).",example:"4"},{name:"{Q}",description:"The current quarter (alias for {quarterofyear}).",example:"4"},{name:"{dayofyear}",description:"The day of the year (1-366).",example:"362"},{name:"{DDD}",description:"The day of the year (1-366).",example:"362"},{name:"{monthname}",description:"The name of the current month.",example:"December"},{name:"{MMMM}",description:"The name of the current month.",example:"December"},{name:"{dayname}",description:"The name of the current day of the week.",example:"Thursday"},{name:"{dddd}",description:"The name of the current day of the week.",example:"Thursday"},{name:"{dateordinal}",description:"The current date with ordinal suffix (e.g., 28th).",example:"28th"},{name:"{Do}",description:"The current date with ordinal suffix (e.g., 28th).",example:"28th"},{name:"{relativetime}",description:"The relative time from now.",example:"in a few seconds"},{name:"{currentdate}",description:"The current date (YYYY-MM-DD).",example:"2023-12-28"},{name:"{yyyy}",description:"The current year.",example:"2023"},{name:"{timestamp}",description:"The current timestamp in milliseconds.",example:"1672234800000"},{name:"{vaultname}",description:"The name of the vault.",example:"MyVault"},{name:"{vaultpath}",description:"The root path of the vault.",example:"/Users/username/Documents/MyVault"},{name:"{parentfolder}",description:"The name of the immediate parent folder of the note.",example:"Project"},{name:"{grandparentfolder}",description:"Parent of the parent folder of the note, but not the vault root",example:"ParentOfProject"},{name:"{notefolder}",description:"The name of the immediate parent folder of the note.",example:"Project"},{name:"{notepath}",description:"The full path of the current note.",example:"Project/MeetingNotes"},{name:"{width}",description:"The width of the image in pixels.",example:"800"},{name:"{height}",description:"The height of the image in pixels.",example:"600"},{name:"{aspectratio}",description:"The aspect ratio of the image (width/height, 2 decimal places).",example:"1.33"},{name:"{orientation}",description:"The orientation of the image (landscape, portrait, or square).",example:"landscape"},{name:"{resolution}",description:"The resolution of the image (width x height).",example:"800x600"},{name:"{ratio}",description:"The aspect ratio of the image, same as {aspectratio}.",example:"1.33"},{name:"{quality}",description:"The quality setting for image conversion/compression.",example:"75"},{name:"{megapixels}",description:"The size of the image in megapixels (2 decimal places).",example:"0.48"},{name:"{issquare}",description:"Whether the image is a perfect square (true/false).",example:"false"},{name:"{pixelcount}",description:"The total number of pixels in the image.",example:"480000"},{name:"{aspectratiotype}",description:"A common aspect ratio category (e.g., 4:3, 16:9, custom).",example:"4:3"},{name:"{resolutioncategory}",description:"A category based on pixel count (tiny, small, medium, large, very-large).",example:"small"},{name:"{filesizecategory}",description:"A category based on file size (e.g., 0-50KB, 51-200KB, etc.).",example:"0-50KB"},{name:"{dominantdimension}",description:"Whether the width or height is larger, or if they are equal.",example:"width"},{name:"{dimensiondifference}",description:"The absolute difference between width and height.",example:"200"},{name:"{bytesperpixel}",description:"The average number of bytes per pixel (2 decimal places).",example:"0.50"},{name:"{compressionratio}",description:"An estimate of the image compression ratio (2 decimal places).",example:"0.33"},{name:"{maxdimension}",description:"The larger dimension (width or height) of the image.",example:"800"},{name:"{mindimension}",description:"The smaller dimension (width or height) of the image.",example:"600"},{name:"{diagonalpixels}",description:"The diagonal pixel length of the image.",example:"1000"},{name:"{aspectratiosimplified}",description:"The aspect ratio in its simplest whole number form.",example:"4:3"},{name:"{screenfitcategory}",description:"A category based on whether the image fits within common screen sizes (e.g., fits-1080p, fits-1440p, fits-4k, above-4k).",example:"fits-1080p"},{name:"{random}",description:"A random alphanumeric string (6 characters).",example:"a8f7n2"},{name:"{randomHex:X}",description:"A random hexadecimal string of X characters.",example:"{randomHex:8} -> 3e4a7f9b"},{name:"{counter:00X}",description:"An auto-incrementing counter (padded with zeros) for the folder. X determines the padding.",example:"{counter:001} -> 005 (if it's the fifth image in the folder)"},{name:"{MD5:type}",description:"The first 8 characters of the MD5 hash of the specified type. Supports: filename, fullpath, parentfolder, rootfolder, extension, notename, notefolder, notepath.",example:"{MD5:filename} -> 7a3b9e2c"},{name:"{MD5:type:X}",description:"The first X characters of the MD5 hash of the specified type. Supports the same types as {MD5:type}.",example:"{MD5:fullpath:10} -> 7a3b9e2c1d"},{name:"{MD5:custom text}",description:"The full MD5 hash of a custom text.",example:"{MD5:MyCustomText} -> 5f9e2b8a3c7d1f6a4e8b2c9d"},{name:"{size:UNIT:DECIMALS}",description:"Image size in a specific unit (B, KB, MB) with custom decimal places.",example:"{size:KB:3} -> 24.000"},{name:"{sha256:image}",description:"The SHA-256 hash of the image content.",example:"{sha256:image} -> full hash, {sha256:image:8} -> e3b0c442"},{name:"{sha256:type}",description:"The SHA-256 hash of the specified type. Supports: filename, fullpath, parentfolder, rootfolder, extension, notename, notefolder, notepath.",example:"{sha256:filename} -> e3b0c442"},{name:"{sha256:type:X}",description:"The first X characters of the SHA-256 hash of the specified type. Supports the same types as {sha256:type}.",example:"{sha256:fullpath:10} -> e3b0c44298"},{name:"{uuid}",description:"A universally unique identifier (UUID).",example:"a1b2c3d4-e5f6-7890-1234-567890abcdef"}];async processTemplate(i,e){let r=await this.getAvailableVariables(e,i),t=i;for(let[i,e]of Object.entries(r)){let r=new RegExp(this.escapeRegExp(i),"g");t=t.replace(r,e)}return t}validateTemplate(i,e){let{activeFile:r}=e,t=[];if(i.includes("{grandparentfolder}")){let i=r.parent?.parent;(!i||"/"===i.path)&&t.push("Cannot use {grandparentfolder} - the current note has no grandparent folder. Please modify your template.")}if(i.includes("{parentfolder}")){let i=r.parent;(!i||"/"===i.path)&&t.push("Cannot use {parentfolder} - the current note is in the vault root. Please modify your template.")}return{valid:0===t.length,errors:t}}getAllVariables(){return this.allVariables}getCategorizedVariables(){return this.groupVariablesByCategory(this.allVariables)}groupVariablesByCategory(i){let e={Basic:[],"Date & Time":[],"File & Vault":[],"Image Metadata":[],"Calculated Image Properties":[],Advanced:[]};for(let r of i)r.name.startsWith("{date")||["{YYYY}","{MM}","{DD}","{HH}","{mm}","{ss}","{weekday}","{month}","{calendar}","{today}","{YYYY-MM-DD}","{tomorrow}","{yesterday}","{startofweek}","{endofweek}","{startofmonth}","{endofmonth}","{nextweek}","{lastweek}","{nextmonth}","{lastmonth}","{daysinmonth}","{weekofyear}","{quarterofyear}","{week}","{w}","{quarter}","{Q}","{dayofyear}","{DDD}","{monthname}","{MMMM}","{dayname}","{dddd}","{dateordinal}","{Do}","{relativetime}","{currentdate}","{yyyy}","{time}","{timestamp}"].includes(r.name)?e["Date & Time"].push(r):["{vaultname}","{vaultpath}","{parentfolder}","{grandparentfolder}","{notefolder}","{notepath}"].includes(r.name)?e["File & Vault"].push(r):["{imagename}","{filetype}","{sizeb}","{sizekb}","{sizemb}","{notename}","{notename_nospaces}"].includes(r.name)?e.Basic.push(r):["{width}","{height}","{aspectratio}","{orientation}","{resolution}"].includes(r.name)?e["Image Metadata"].push(r):["{ratio}","{quality}","{megapixels}","{issquare}","{pixelcount}","{aspectratiotype}","{resolutioncategory}","{filesizecategory}","{dominantdimension}","{dimensiondifference}","{bytesperpixel}","{compressionratio}","{maxdimension}","{mindimension}","{diagonalpixels}","{aspectratiosimplified}","{screenfitcategory}"].includes(r.name)?e["Calculated Image Properties"].push(r):e.Advanced.push(r);return e}async getAvailableVariables(i,e){let{file:r,activeFile:t}=i,{moment:n}=window,f={};if(f["{random}"]=Math.random().toString(36).substring(2,8),f["{uuid}"]=crypto.randomUUID(),r instanceof P2.TFile){f["{imagename}"]=r.basename,f["{filetype}"]=r.extension;try{let i=await this.app.vault.adapter.stat(r.path);if(!i)throw new Error("File stats not available");f["{sizeb}"]=i.size.toString(),f["{sizekb}"]=(i.size/1024).toFixed(2),f["{sizemb}"]=(i.size/1048576).toFixed(2)}catch(i){console.error("Error getting file stats:",i),f["{sizeb}"]="unknown",f["{sizekb}"]="unknown",f["{sizemb}"]="unknown"}if(!["heic","heif","tiff","tif"].includes(r.extension.toLowerCase()))try{let i=await this.getImageMetadata(r);Object.assign(f,i)}catch(i){console.debug("Image metadata extraction failed:",i)}}else{f["{imagename}"]=r.name.substring(0,r.name.lastIndexOf(".")),f["{filetype}"]=r.name.substring(r.name.lastIndexOf(".")+1),f["{sizeb}"]=r.size.toString(),f["{sizekb}"]=(r.size/1024).toFixed(2),f["{sizemb}"]=(r.size/1048576).toFixed(2);let i=r.name.split(".").pop()?.toLowerCase()||"";if(!["heic","heif","tiff","tif"].includes(i))try{let i=await this.getImageMetadata(r);Object.assign(f,i)}catch(i){console.debug("Image metadata extraction failed:",i)}}f["{notename}"]=t.basename,f["{notename_nospaces}"]=t.basename.replace(/\s+/g,"_"),f["{notepath}"]=t.parent?`${t.parent.path}/${t.basename}`:t.basename,f["{parentfolder}"]=t.parent?.name||"",f["{grandparentfolder}"]=("/"==t.parent?.parent?.path?t.parent?.name:t.parent?.parent?.name)||"",f["{notefolder}"]=t.parent?.name||"",f["{vaultname}"]=this.app.vault.getName(),f["{vaultpath}"]=this.app.vault.adapter.basePath||this.app.vault.getRoot().path,f["{timezone}"]=Intl.DateTimeFormat().resolvedOptions().timeZone,f["{locale}"]=navigator.language,f["{platform}"]=navigator.platform,f["{useragent}"]=navigator.userAgent,f["{YYYY}"]=n().format("YYYY"),f["{MM}"]=n().format("MM"),f["{DD}"]=n().format("DD"),f["{HH}"]=n().format("HH"),f["{mm}"]=n().format("mm"),f["{ss}"]=n().format("ss"),f["{date}"]=n().format("YYYY-MM-DD"),f["{weekday}"]=n().format("dddd"),f["{month}"]=n().format("MMMM"),f["{calendar}"]=n().calendar(),f["{today}"]=n().format("YYYY-MM-DD"),f["{YYYY-MM-DD}"]=n().format("YYYY-MM-DD"),f["{tomorrow}"]=n().add(1,"day").format("YYYY-MM-DD"),f["{yesterday}"]=n().subtract(1,"day").format("YYYY-MM-DD"),f["{startofweek}"]=n().startOf("week").format("YYYY-MM-DD"),f["{endofweek}"]=n().endOf("week").format("YYYY-MM-DD"),f["{startofmonth}"]=n().startOf("month").format("YYYY-MM-DD"),f["{endofmonth}"]=n().endOf("month").format("YYYY-MM-DD"),f["{nextweek}"]=n().add(1,"week").format("YYYY-MM-DD"),f["{lastweek}"]=n().subtract(1,"week").format("YYYY-MM-DD"),f["{nextmonth}"]=n().add(1,"month").format("YYYY-MM-DD"),f["{lastmonth}"]=n().subtract(1,"month").format("YYYY-MM-DD"),f["{daysinmonth}"]=n().daysInMonth().toString(),f["{weekofyear}"]=n().week().toString(),f["{quarterofyear}"]=n().quarter().toString(),f["{week}"]=n().format("w"),f["{w}"]=n().format("w"),f["{quarter}"]=n().format("Q"),f["{Q}"]=n().format("Q"),f["{dayofyear}"]=n().format("DDD"),f["{DDD}"]=n().format("DDD"),f["{monthname}"]=n().format("MMMM"),f["{MMMM}"]=n().format("MMMM"),f["{dayname}"]=n().format("dddd"),f["{dddd}"]=n().format("dddd"),f["{dateordinal}"]=n().format("Do"),f["{Do}"]=n().format("Do"),f["{relativetime}"]=n().fromNow(),f["{currentdate}"]=n().format("YYYY-MM-DD"),f["{yyyy}"]=n().format("YYYY"),f["{time}"]=n().format("HH-mm-ss"),f["{timestamp}"]=Date.now().toString(),f=await this.processDynamicVariables(e,i,f);try{let i=await this.getImageMetadata(r);Object.assign(f,i)}catch(i){console.debug("Image metadata extraction failed:",i)}return f}async processDynamicVariables(i,e,r){let t,{file:n,activeFile:f}=e,{moment:a}=window,o=/{randomHex:(\d+)}/g;for(;null!==(t=o.exec(i));){let i=parseInt(t[1]);r[t[0]]=this.generateRandomHex(i)}let A,s=/{counter:(\d+)}/g;for(;null!==(A=s.exec(i));){let i=A[1].length;r[A[0]]=await this.getNextCounter(f.parent?.path||"",i)}let l,k=/{date:(.*?)}/g;for(;null!==(l=k.exec(i));){let[i,e]=l;if(e)try{r[i]=a().format(e)}catch(t){console.error(`Invalid date format: ${e}`,t),r[i]=a().format("YYYY-MM-DD")}}let h,u,c=/{size:(MB|KB|B):(\d+)}/g;if(n instanceof P2.TFile)try{let i=await this.app.vault.adapter.stat(n.path);if(!i)throw new Error("File stats not available for size variables");u=i.size}catch(i){console.error("Error getting file stats for size variables:",i),u=0}else u=n.size;for(;null!==(h=c.exec(i));){let[i,e,t]=h,n=parseInt(t,10);r[i]=this.formatSize(u,e,n)}let d,b=/{MD5:([\w\-./]+?)(?::(\d+))?}/g;for(;null!==(d=b.exec(i));){let i=d[1].toLowerCase(),e=d[2]?parseInt(d[2]):void 0,t="";switch(i){case"filename":t=n.name.substring(0,n.name.lastIndexOf("."));break;case"imagepath":case"fullpath":t=n.name;break;case"parentfolder":case"notefolder":t=f.parent?.name||"";break;case"grandparentfolder":t=("/"==f.parent?.parent?.path?f.parent?.name:f.parent?.parent?.name)||"";break;case"rootfolder":t=this.app.vault.getRoot().path;break;case"extension":t=n.name.substring(n.name.lastIndexOf(".")+1);break;case"notename":t=f.basename;break;case"notename_nospaces":t=f.basename.replace(/\s+/g,"_");break;case"notepath":t=f.path;break;default:t=i}let a=await this.generateMD5(t);e&&(a=a.substring(0,e)),r[`{MD5:${i}${e?`:${e}`:""}}`]=a}let p,g=/{sha256:([\w\-./]+?)(?::(\d+))?}/g;for(;null!==(p=g.exec(i));){let i,e=p[1].toLowerCase(),t=p[2]?parseInt(p[2]):void 0;if("image"===e)i=await this.generateFileContentSHA256(n);else{let r="";switch(e){case"filename":r=n.name.substring(0,n.name.lastIndexOf("."));break;case"imagepath":case"fullpath":r=n.name;break;case"parentfolder":case"notefolder":r=f.parent?.name||"";break;case"grandparentfolder":r=("/"==f.parent?.parent?.path?f.parent?.name:f.parent?.parent?.name)||"";break;case"rootfolder":r=this.app.vault.getRoot().path;break;case"extension":r=n.name.substring(n.name.lastIndexOf(".")+1);break;case"notename":r=f.basename;break;case"notename_nospaces":r=f.basename.replace(/\s+/g,"_");break;case"notepath":r=f.path;break;default:r=e}i=await this.generateSHA256(r)}t&&(i=i.substring(0,t)),r[`{sha256:${e}${t?`:${t}`:""}}`]=i}return r}async getImageMetadata(i){let e={},r=i instanceof P2.TFile?i.extension.toLowerCase():i.name.split(".").pop()?.toLowerCase()||"";if(["heic","heif","tiff","tif"].includes(r))return e;if(i instanceof P2.TFile)try{let r=await this.app.vault.readBinary(i),t=new Blob([r],{type:`image/${i.extension}`}),n=new Image;n.src=URL.createObjectURL(t),await new Promise((i,e)=>{n.onload=()=>i(n),n.onerror=i=>{console.error("Error extracting image metadata for File: ",i),e(i)}});let{width:f,height:a}=n;e["{width}"]=f.toString(),e["{height}"]=a.toString(),e["{aspectratio}"]=(f/a).toFixed(2),e["{orientation}"]=f>a?"landscape":f<a?"portrait":"square";let o=f/a,A=Math.abs(o-1)<.01,s=f*a,l=0;try{let e=await this.app.vault.adapter.stat(i.path);if(!e)throw new Error("File stats not available");l=e.size}catch(i){console.error("Error getting file stats:",i)}Object.assign(e,{"{ratio}":o.toFixed(2),"{quality}":this.settings.quality.toString(),"{resolution}":`${n.width}x${n.height}`,"{megapixels}":(s/1e6).toFixed(2),"{issquare}":A.toString(),"{pixelcount}":s.toString(),"{aspectratiotype}":A?"1:1":Math.abs(o-1.33)<.1?"4:3":Math.abs(o-1.78)<.1?"16:9":Math.abs(o-1.6)<.1?"16:10":"custom","{resolutioncategory}":s<1e5?"tiny":s<5e5?"small":s<2e6?"medium":s<8e6?"large":"very-large","{filesizecategory}":l<51200?"0-50KB":l<204800?"51-200KB":l<1048576?"201-1024KB":l<5242880?"1025KB-5MB":l<10485760?"5MB-10MB":"10MB+","{dominantdimension}":f>a?"width":f<a?"height":"equal","{dimensiondifference}":Math.abs(f-a).toString(),"{bytesperpixel}":(l/s).toFixed(2),"{compressionratio}":(l/(3*s)).toFixed(2),"{maxdimension}":Math.max(f,a).toString(),"{mindimension}":Math.min(f,a).toString(),"{diagonalpixels}":Math.sqrt(f*f+a*a).toFixed(0),"{aspectratiosimplified}":(()=>{let i=(e,r)=>r?i(r,e%r):e,e=f,r=a,t=i(e,r);return`${e/t}:${r/t}`})(),"{screenfitcategory}":f<=1920&&a<=1080?"fits-1080p":f<=2560&&a<=1440?"fits-1440p":f<=3840&&a<=2160?"fits-4k":"above-4k"}),URL.revokeObjectURL(n.src)}catch(i){console.error("Error extracting image metadata for TFile:",i)}else try{let r=new Image;r.src=URL.createObjectURL(i),await new Promise((i,e)=>{r.onload=()=>i(r),r.onerror=i=>{console.error("Error extracting image metadata for File:",i),e(i)}});let{width:t,height:n}=r;e["{width}"]=t.toString(),e["{height}"]=n.toString(),e["{aspectratio}"]=(t/n).toFixed(2),e["{orientation}"]=t>n?"landscape":t<n?"portrait":"square";let f=t/n,a=Math.abs(f-1)<.01,o=t*n,A=i.size;Object.assign(e,{"{ratio}":f.toFixed(2),"{quality}":this.settings.quality.toString(),"{resolution}":`${r.width}x${r.height}`,"{megapixels}":(o/1e6).toFixed(2),"{issquare}":a.toString(),"{pixelcount}":o.toString(),"{aspectratiotype}":a?"1:1":Math.abs(f-1.33)<.1?"4:3":Math.abs(f-1.78)<.1?"16:9":Math.abs(f-1.6)<.1?"16:10":"custom","{resolutioncategory}":o<1e5?"tiny":o<5e5?"small":o<2e6?"medium":o<8e6?"large":"very-large","{filesizecategory}":A<51200?"0-50KB":A<204800?"51-200KB":A<1048576?"201-1024KB":A<5242880?"1025KB-5MB":A<10485760?"5MB-10MB":"10MB+","{dominantdimension}":t>n?"width":t<n?"height":"equal","{dimensiondifference}":Math.abs(t-n).toString(),"{bytesperpixel}":(A/o).toFixed(2),"{compressionratio}":(A/(3*o)).toFixed(2),"{maxdimension}":Math.max(t,n).toString(),"{mindimension}":Math.min(t,n).toString(),"{diagonalpixels}":Math.sqrt(t*t+n*n).toFixed(0),"{aspectratiosimplified}":(()=>{let i=(e,r)=>r?i(r,e%r):e,e=t,r=n,f=i(e,r);return`${e/f}:${r/f}`})(),"{screenfitcategory}":t<=1920&&n<=1080?"fits-1080p":t<=2560&&n<=1440?"fits-1440p":t<=3840&&n<=2160?"fits-4k":"above-4k"}),URL.revokeObjectURL(r.src)}catch(i){console.error("Error extracting image metadata for File:",i)}return e}formatSize(i,e,r){switch(e){case"MB":return(i/1048576).toFixed(r);case"KB":return(i/1024).toFixed(r);case"B":return i.toFixed(r);default:return i.toString()}}generateRandomHex(i){let e=new Uint8Array(Math.ceil(i/2));return window.crypto.getRandomValues(e),Array.from(e).map(i=>i.toString(16).padStart(2,"0")).join("").substring(0,i)}async getNextCounter(i,e){let r=`counter-${i}`,t=this.counters.get(r)||0;return t++,this.counters.set(r,t),t.toString().padStart(e,"0")}async generateMD5(i){try{return function(i){function e(i,e){return i<<e|i>>>32-e}function r(i,e){let r=2147483648&i,t=2147483648&e,n=1073741824&i,f=1073741824&e,a=(1073741823&i)+(1073741823&e);return n&f?2147483648^a^r^t:n|f?1073741824&a?3221225472^a^r^t:1073741824^a^r^t:a^r^t}function t(i,t,n,f,a,o,A){return i=r(i,r(r(function(i,e,r){return i&e|~i&r}(t,n,f),a),A)),r(e(i,o),t)}function n(i,t,n,f,a,o,A){return i=r(i,r(r(function(i,e,r){return i&r|e&~r}(t,n,f),a),A)),r(e(i,o),t)}function f(i,t,n,f,a,o,A){return i=r(i,r(r(function(i,e,r){return i^e^r}(t,n,f),a),A)),r(e(i,o),t)}function a(i,t,n,f,a,o,A){return i=r(i,r(r(function(i,e,r){return e^(i|~r)}(t,n,f),a),A)),r(e(i,o),t)}function o(i){let e,r,t="",n="";for(r=0;r<=3;r++)e=i>>>8*r&255,n=`0${e.toString(16)}`,t+=n.substr(n.length-2,2);return t}let A,s,l,k,h,u,c,d,b,p=function(i){let e,r=i.length,t=r+8,n=16*((t-t%64)/64+1),f=Array(n-1),a=0,o=0;for(;o<r;)e=(o-o%4)/4,a=o%4*8,f[e]=(f[e]||0)|i.charCodeAt(o)<<a,o++;return e=(o-o%4)/4,a=o%4*8,f[e]=f[e]|128<<a,f[n-2]=r<<3,f[n-1]=r>>>29,f}(i);for(u=1732584193,c=4023233417,d=2562383102,b=271733878,A=0;A<p.length;A+=16)s=u,l=c,k=d,h=b,u=t(u,c,d,b,p[A],7,3614090360),b=t(b,u,c,d,p[A+1],12,3905402710),d=t(d,b,u,c,p[A+2],17,606105819),c=t(c,d,b,u,p[A+3],22,3250441966),u=t(u,c,d,b,p[A+4],7,4118548399),b=t(b,u,c,d,p[A+5],12,1200080426),d=t(d,b,u,c,p[A+6],17,2821735955),c=t(c,d,b,u,p[A+7],22,4249261313),u=t(u,c,d,b,p[A+8],7,1770035416),b=t(b,u,c,d,p[A+9],12,2336552879),d=t(d,b,u,c,p[A+10],17,4294925233),c=t(c,d,b,u,p[A+11],22,2304563134),u=t(u,c,d,b,p[A+12],7,1804603682),b=t(b,u,c,d,p[A+13],12,4254626195),d=t(d,b,u,c,p[A+14],17,2792965006),c=t(c,d,b,u,p[A+15],22,1236535329),u=n(u,c,d,b,p[A+1],5,4129170786),b=n(b,u,c,d,p[A+6],9,3225465664),d=n(d,b,u,c,p[A+11],14,643717713),c=n(c,d,b,u,p[A],20,3921069994),u=n(u,c,d,b,p[A+5],5,3593408605),b=n(b,u,c,d,p[A+10],9,38016083),d=n(d,b,u,c,p[A+15],14,3634488961),c=n(c,d,b,u,p[A+4],20,3889429448),u=n(u,c,d,b,p[A+9],5,568446438),b=n(b,u,c,d,p[A+14],9,3275163606),d=n(d,b,u,c,p[A+3],14,4107603335),c=n(c,d,b,u,p[A+8],20,1163531501),u=n(u,c,d,b,p[A+13],5,2850285829),b=n(b,u,c,d,p[A+2],9,4243563512),d=n(d,b,u,c,p[A+7],14,1735328473),c=n(c,d,b,u,p[A+12],20,2368359562),u=f(u,c,d,b,p[A+5],4,4294588738),b=f(b,u,c,d,p[A+8],11,2272392833),d=f(d,b,u,c,p[A+11],16,1839030562),c=f(c,d,b,u,p[A+14],23,4259657740),u=f(u,c,d,b,p[A+1],4,2763975236),b=f(b,u,c,d,p[A+4],11,1272893353),d=f(d,b,u,c,p[A+7],16,4139469664),c=f(c,d,b,u,p[A+10],23,3200236656),u=f(u,c,d,b,p[A+13],4,681279174),b=f(b,u,c,d,p[A],11,3936430074),d=f(d,b,u,c,p[A+3],16,3572445317),c=f(c,d,b,u,p[A+6],23,76029189),u=f(u,c,d,b,p[A+9],4,3654602809),b=f(b,u,c,d,p[A+12],11,3873151461),d=f(d,b,u,c,p[A+15],16,530742520),c=f(c,d,b,u,p[A+2],23,3299628645),u=a(u,c,d,b,p[A],6,4096336452),b=a(b,u,c,d,p[A+7],10,1126891415),d=a(d,b,u,c,p[A+14],15,2878612391),c=a(c,d,b,u,p[A+5],21,4237533241),u=a(u,c,d,b,p[A+12],6,1700485571),b=a(b,u,c,d,p[A+3],10,2399980690),d=a(d,b,u,c,p[A+10],15,4293915773),c=a(c,d,b,u,p[A+1],21,2240044497),u=a(u,c,d,b,p[A+8],6,1873313359),b=a(b,u,c,d,p[A+15],10,4264355552),d=a(d,b,u,c,p[A+6],15,2734768916),c=a(c,d,b,u,p[A+13],21,1309151649),u=a(u,c,d,b,p[A+4],6,4149444226),b=a(b,u,c,d,p[A+11],10,3174756917),d=a(d,b,u,c,p[A+2],15,718787259),c=a(c,d,b,u,p[A+9],21,3951481745),u=r(u,s),c=r(c,l),d=r(d,k),b=r(b,h);return(o(u)+o(c)+o(d)+o(b)).toLowerCase()}(i)}catch(i){return console.error("MD5 generation failed:",i),"error"}}escapeRegExp(i){return i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}async generateSHA256(i){let e=(new TextEncoder).encode(i),r=await crypto.subtle.digest("SHA-256",e);return Array.from(new Uint8Array(r)).map(i=>i.toString(16).padStart(2,"0")).join("")}async generateFileContentSHA256(i){try{let e;e=i instanceof P2.TFile?await this.app.vault.readBinary(i):await i.arrayBuffer();let r=await crypto.subtle.digest("SHA-256",e);return Array.from(new Uint8Array(r)).map(i=>i.toString(16).padStart(2,"0")).join("")}catch(i){return console.error("Error generating SHA-256 hash of file content:",i),"error"}}},Re=require("obsidian"),N2=class{constructor(i){this.app=i}async formatLink(i,e,r,t,n){try{if(!i)throw new Error("Link path cannot be empty.");let f=this.app.vault.getAbstractFileByPath(i);if(!(f instanceof Re.TFile))throw new Error(`No file found at path: ${i}`);let a=this.formatPath(f,e,r,t),o="";return n&&(o=await this.getResizeParams(n,f)),"wikilink"===e?`![[${a}${o}]]`:`![${o}](${this.encodeMarkdownPath(a)})`}catch(i){return i instanceof Error?new Re.Notice(`Error formatting link: ${i.message}`):new Re.Notice("An unexpected error occurred while formatting the link."),console.error("Error in LinkFormatter:",i),""}}encodeMarkdownPath(i){return i.replace(/\s/g,"%20")}formatPath(i,e,r,t){switch(r){case"shortest":return i.name;case"absolute":return this.formatAbsolutePath(i);case"relative":return this.formatRelativePath(i,t);default:throw new Error(`Invalid path format: ${r}`)}}formatAbsolutePath(i){return`/${i.path}`}formatRelativePath(i,e){if(!e)throw new Error("Cannot format relative path without an active file.");if(!e.parent)throw new Error("Active file does not have a parent directory.");let r=this.getRelativePath(e.path,i.path);return r.startsWith("../")||r.startsWith("./")?r:`./${r}`}getRelativePath(i,e){let r=i.split("/").slice(0,-1),t=e.split("/"),n=0;for(;n<r.length&&n<t.length&&r[n]===t[n];)n++;let f="";for(let i=n;i<r.length;i++)f+="../";return f+=t.slice(n).join("/"),f===t[t.length-1]&&(f=`./${f}`),f}async getResizeParams(i,e){let r,t,n,f,a="",o=await this.getImageDimensions(e);if(!o)return console.warn(`Could not get dimensions for ${e.name}. No resizing applied.`),"";switch(i.resizeDimension){case"width":r=this.getDimensionValue(i.width,o.width,i.resizeUnits),i.maintainAspectRatio&&(t=Math.round((r??0)*o.height/o.width));break;case"height":t=this.getDimensionValue(i.height,o.height,i.resizeUnits),i.maintainAspectRatio&&(r=Math.round((t??0)*o.width/o.height));break;case"both":i.customValue&&({width:r,height:t}=this.parseCustomDimensions(i.customValue,o,i.resizeUnits));break;case"longest-edge":n=this.getDimensionValue(i.longestEdge,Math.max(o.width,o.height),i.resizeUnits),i.maintainAspectRatio?o.width>=o.height?(r=n,t=Math.round((r??0)*o.height/o.width)):(t=n,r=Math.round((t??0)*o.width/o.height)):(r=o.width>=o.height?n:void 0,t=o.height>o.width?n:void 0);break;case"shortest-edge":f=this.getDimensionValue(i.shortestEdge,Math.min(o.width,o.height),i.resizeUnits),i.maintainAspectRatio?o.width<o.height?(r=f,t=Math.round((r??0)*o.height/o.width)):(t=f,r=Math.round((t??0)*o.width/o.height)):(r=o.width<o.height?f:void 0,t=o.height<=o.width?f:void 0);break;case"original-width":({width:r,height:t}=o),t=i.maintainAspectRatio?t:void 0;break;case"editor-max-width":{let e=this.getEditorMaxWidth();if(!e||isNaN(e))return console.warn("Invalid editorMaxWidth:",e),"";if(void 0===i.editorMaxWidthValue||isNaN(i.editorMaxWidthValue))return console.warn("Invalid editorMaxWidthValue:",i.editorMaxWidthValue),"";let n="percentage"===i.resizeUnits?Math.round(e*i.editorMaxWidthValue/100):i.editorMaxWidthValue;if(r=n,o&&o.width>0){let e=n/o.width;t=Math.round(o.height*e),i.maintainAspectRatio&&t/r>2&&(t=Math.round(2*r),r=Math.round(t*(o.width/o.height)))}else t=Math.round(.75*r);break}default:return""}if(void 0!==r&&(r=this.applyScaleModeToDimension(r,o.width,i.resizeScaleMode)),void 0!==t&&(t=this.applyScaleModeToDimension(t,o.height,i.resizeScaleMode)),i.respectEditorMaxWidth&&void 0!==r){let e=this.getEditorMaxWidth();r>e&&(i.maintainAspectRatio&&void 0!==t&&(t=Math.round(e*o.height/o.width)),r=e)}if(i.maintainAspectRatio||(void 0===r&&void 0!==t?r=o?o.width:100:void 0===r&&(r=100),void 0===t&&void 0!==r?t=o?o.height:100:void 0===t&&(t=100)),void 0!==r||void 0!==t){a=`|${(void 0!==r?Math.round(r):void 0)??""}x${(void 0!==t?Math.round(t):void 0)??""}`}else a="";return a}getDimensionValue(i,e,r){if(void 0!==i)return"percentage"===r?Math.round(e*i/100):i}parseCustomDimensions(i,e,r){let t=i.match(/(\d*(?:\.\d+)?)(%)?x(\d*(?:\.\d+)?)(%)?/);if(!t)return{width:void 0,height:void 0};let n=t[1]?parseFloat(t[1]):void 0,f=t[3]?parseFloat(t[3]):void 0;return"percentage"===r&&(void 0!==n&&(n=Math.round(e.width*n/100)),void 0!==f&&(f=Math.round(e.height*f/100))),{width:n,height:f}}applyScaleModeToDimension(i,e,r){return"reduce"===r&&i>e||"enlarge"===r&&i<e?e:i}getEditorMaxWidth(){let i=this.app.workspace.getMostRecentLeaf();if(!i||!i.view)return console.log("Active leaf or view not found, using default 800"),800;if(!(i.view instanceof Re.MarkdownView&&i.view.editor))return console.log("Active view is not a MarkdownView or has no editor, using default 800"),800;let{view:e}=i,{editor:r}=e,t=r.cm;if(!t)return console.warn("Could not access CodeMirror EditorView"),800;let n=t.contentDOM.querySelector(".cm-line")?.clientWidth;return n||(console.warn("Could not determine content width, using default 800"),800)}async getImageDimensions(i){return new Promise(e=>{let r=new Image;r.onload=()=>{e({width:r.width,height:r.height})},r.onerror=r=>{new Re.Notice(`Failed to load image dimensions for ${i.name}`),e(null)};let t=this.app.vault.getResourcePath(i);r.src=t})}},l0=require("obsidian"),e2=Me(require("path")),T0=require("obsidian");function R(i,e,r){return(e="symbol"==typeof(t=function(i){if("object"!=typeof i||!i)return i;var e=i[Symbol.toPrimitive];if(void 0!==e){var r=e.call(i,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(i)}(e))?t:t+"")in i?Object.defineProperty(i,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):i[e]=r,i;var t}function ho(i,e){var r=Object.keys(i);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(i);e&&(t=t.filter(function(e){return Object.getOwnPropertyDescriptor(i,e).enumerable})),r.push.apply(r,t)}return r}function P(i){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ho(Object(r),!0).forEach(function(e){R(i,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(r)):ho(Object(r)).forEach(function(e){Object.defineProperty(i,e,Object.getOwnPropertyDescriptor(r,e))})}return i}function ni(i,e){if(null==i)return{};var r,t,n=function(i,e){if(null==i)return{};var r={};for(var t in i)if({}.hasOwnProperty.call(i,t)){if(e.indexOf(t)>=0)continue;r[t]=i[t]}return r}(i,e);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(i);for(t=0;t<f.length;t++)r=f[t],e.indexOf(r)>=0||{}.propertyIsEnumerable.call(i,r)&&(n[r]=i[r])}return n}function $e(i,e){return e||(e=i.slice(0)),Object.freeze(Object.defineProperties(i,{raw:{value:Object.freeze(e)}}))}var co,wt=class{constructor(){R(this,"browserShadowBlurConstant",1),R(this,"DPI",96),R(this,"devicePixelRatio",typeof window<"u"?window.devicePixelRatio:1),R(this,"perfLimitSizeTotal",2097152),R(this,"maxCacheSideLimit",4096),R(this,"minCacheSideLimit",256),R(this,"disableStyleCopyPaste",!1),R(this,"enableGLFiltering",!0),R(this,"textureSize",4096),R(this,"forceGLPutImageData",!1),R(this,"cachesBoundsOfCurve",!1),R(this,"fontPaths",{}),R(this,"NUM_FRACTION_DIGITS",4)}},P0=new class extends wt{constructor(i){super(),this.configure(i)}configure(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object.assign(this,i)}addFonts(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.fontPaths=P(P({},this.fontPaths),i)}removeFonts(){(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).forEach(i=>{delete this.fontPaths[i]})}clearFonts(){this.fontPaths={}}restoreDefaults(i){let e=new wt,r=i?.reduce((i,r)=>(i[r]=e[r],i),{})||e;this.configure(r)}},He=function(i){for(var e=arguments.length,r=new Array(e>1?e-1:0),t=1;t<e;t++)r[t-1]=arguments[t];return console[i]("fabric",...r)},$i=class extends Error{constructor(i,e){super("fabric: ".concat(i),e)}},_t=class extends $i{constructor(i){super("".concat(i," 'options.signal' is in 'aborted' state"))}},Un=class{},Ln=class extends Un{testPrecision(i,e){let r="precision ".concat(e," float;\nvoid main(){}"),t=i.createShader(i.FRAGMENT_SHADER);return!!t&&(i.shaderSource(t,r),i.compileShader(t),!!i.getShaderParameter(t,i.COMPILE_STATUS))}queryWebGL(i){let e=i.getContext("webgl");e&&(this.maxTextureSize=e.getParameter(e.MAX_TEXTURE_SIZE),this.GLPrecision=["highp","mediump","lowp"].find(i=>this.testPrecision(e,i)),e.getExtension("WEBGL_lose_context").loseContext(),He("log","WebGL: max texture size ".concat(this.maxTextureSize)))}isSupported(i){return!!this.maxTextureSize&&this.maxTextureSize>=i}},Ma={},ve=()=>co||(co={document:document,window:window,isTouchSupported:"ontouchstart"in window||"ontouchstart"in document||window&&window.navigator&&window.navigator.maxTouchPoints>0,WebGLProbe:new Ln,dispose(){},copyPasteData:Ma}),nr=()=>ve().document,Lt=()=>ve().window,Oo=()=>{var i;return Math.max(null!==(i=P0.devicePixelRatio)&&void 0!==i?i:Lt().devicePixelRatio,1)},yr=new class{constructor(){R(this,"charWidthsCache",{}),R(this,"boundsOfCurveCache",{})}getFontCache(i){let{fontFamily:e,fontStyle:r,fontWeight:t}=i;e=e.toLowerCase(),this.charWidthsCache[e]||(this.charWidthsCache[e]={});let n=this.charWidthsCache[e],f="".concat(r.toLowerCase(),"_").concat((t+"").toLowerCase());return n[f]||(n[f]={}),n[f]}clearFontCache(i){(i=(i||"").toLowerCase())?this.charWidthsCache[i]&&delete this.charWidthsCache[i]:this.charWidthsCache={}}limitDimsByArea(i){let{perfLimitSizeTotal:e}=P0,r=Math.sqrt(e*i);return[Math.floor(r),Math.floor(e/r)]}},jn="6.5.4";function Z2(){}var Ue=Math.PI/2,We=2*Math.PI,Z1=Math.PI/180,Fi=Object.freeze([1,0,0,1,0,0]),I1=16,Pe=.4477152502,V0="center",z0="left",Gi="top",$n="bottom",ui="right",Di="none",E1=/\r?\n/,zo="moving",jt="scaling",Jo="rotating",F1="rotate",Ho="skewing",Ir="resizing",Uo="modifyPoly",Ta="modifyPath",yt="changed",$t="scale",Wi="scaleX",zi="scaleY",or="skewX",fr="skewY",bi="fill",Mi="stroke",Ct="modified",Q2="json",Dn="svg",d0=new class{constructor(){this[Q2]=new Map,this[Dn]=new Map}has(i){return this[Q2].has(i)}getClass(i){let e=this[Q2].get(i);if(!e)throw new $i("No class registered for ".concat(i));return e}setClass(i,e){e?this[Q2].set(e,i):(this[Q2].set(i.type,i),this[Q2].set(i.type.toLowerCase(),i))}getSVGClass(i){return this[Dn].get(i)}setSVGClass(i,e){this[Dn].set(e??i.type.toLowerCase(),i)}},Bt=new class extends Array{remove(i){let e=this.indexOf(i);e>-1&&this.splice(e,1)}cancelAll(){let i=this.splice(0);return i.forEach(i=>i.abort()),i}cancelByCanvas(i){if(!i)return[];let e=this.filter(e=>{var r;return e.target===i||"object"==typeof e.target&&(null===(r=e.target)||void 0===r?void 0:r.canvas)===i});return e.forEach(i=>i.abort()),e}cancelByTarget(i){if(!i)return[];let e=this.filter(e=>e.target===i);return e.forEach(i=>i.abort()),e}},qn=class{constructor(){R(this,"__eventListeners",{})}on(i,e){if(this.__eventListeners||(this.__eventListeners={}),"object"==typeof i)return Object.entries(i).forEach(i=>{let[e,r]=i;this.on(e,r)}),()=>this.off(i);if(e){let r=i;return this.__eventListeners[r]||(this.__eventListeners[r]=[]),this.__eventListeners[r].push(e),()=>this.off(r,e)}return()=>!1}once(i,e){if("object"==typeof i){let e=[];return Object.entries(i).forEach(i=>{let[r,t]=i;e.push(this.once(r,t))}),()=>e.forEach(i=>i())}if(e){let r=this.on(i,function(){for(var i=arguments.length,t=new Array(i),n=0;n<i;n++)t[n]=arguments[n];e.call(this,...t),r()});return r}return()=>!1}_removeEventListener(i,e){if(this.__eventListeners[i])if(e){let r=this.__eventListeners[i],t=r.indexOf(e);t>-1&&r.splice(t,1)}else this.__eventListeners[i]=[]}off(i,e){if(this.__eventListeners)if(void 0===i)for(let i in this.__eventListeners)this._removeEventListener(i);else"object"==typeof i?Object.entries(i).forEach(i=>{let[e,r]=i;this._removeEventListener(e,r)}):this._removeEventListener(i,e)}fire(i,e){var r;if(!this.__eventListeners)return;let t=null===(r=this.__eventListeners[i])||void 0===r?void 0:r.concat();if(t)for(let i=0;i<t.length;i++)t[i].call(this,e||{})}},s2=(i,e)=>{let r=i.indexOf(e);return-1!==r&&i.splice(r,1),i},le=i=>{if(0===i)return 1;switch(Math.abs(i)/Ue){case 1:case 3:return 0;case 2:return-1}return Math.cos(i)},ke=i=>{if(0===i)return 0;let e=i/Ue,r=Math.sign(i);switch(e){case 1:return r;case 2:return 0;case 3:return-r}return Math.sin(i)},K=class i{constructor(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;"object"==typeof i?(this.x=i.x,this.y=i.y):(this.x=i,this.y=e)}add(e){return new i(this.x+e.x,this.y+e.y)}addEquals(i){return this.x+=i.x,this.y+=i.y,this}scalarAdd(e){return new i(this.x+e,this.y+e)}scalarAddEquals(i){return this.x+=i,this.y+=i,this}subtract(e){return new i(this.x-e.x,this.y-e.y)}subtractEquals(i){return this.x-=i.x,this.y-=i.y,this}scalarSubtract(e){return new i(this.x-e,this.y-e)}scalarSubtractEquals(i){return this.x-=i,this.y-=i,this}multiply(e){return new i(this.x*e.x,this.y*e.y)}scalarMultiply(e){return new i(this.x*e,this.y*e)}scalarMultiplyEquals(i){return this.x*=i,this.y*=i,this}divide(e){return new i(this.x/e.x,this.y/e.y)}scalarDivide(e){return new i(this.x/e,this.y/e)}scalarDivideEquals(i){return this.x/=i,this.y/=i,this}eq(i){return this.x===i.x&&this.y===i.y}lt(i){return this.x<i.x&&this.y<i.y}lte(i){return this.x<=i.x&&this.y<=i.y}gt(i){return this.x>i.x&&this.y>i.y}gte(i){return this.x>=i.x&&this.y>=i.y}lerp(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.5;return r=Math.max(Math.min(1,r),0),new i(this.x+(e.x-this.x)*r,this.y+(e.y-this.y)*r)}distanceFrom(i){let e=this.x-i.x,r=this.y-i.y;return Math.sqrt(e*e+r*r)}midPointFrom(i){return this.lerp(i)}min(e){return new i(Math.min(this.x,e.x),Math.min(this.y,e.y))}max(e){return new i(Math.max(this.x,e.x),Math.max(this.y,e.y))}toString(){return"".concat(this.x,",").concat(this.y)}setXY(i,e){return this.x=i,this.y=e,this}setX(i){return this.x=i,this}setY(i){return this.y=i,this}setFromPoint(i){return this.x=i.x,this.y=i.y,this}swap(i){let e=this.x,r=this.y;this.x=i.x,this.y=i.y,i.x=e,i.y=r}clone(){return new i(this.x,this.y)}rotate(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:W1,t=ke(e),n=le(e),f=this.subtract(r);return new i(f.x*n-f.y*t,f.x*t+f.y*n).add(r)}transform(e){let r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return new i(e[0]*this.x+e[2]*this.y+(r?0:e[4]),e[1]*this.x+e[3]*this.y+(r?0:e[5]))}},W1=new K(0,0),bt=i=>!!i&&Array.isArray(i._objects);function Lo(i){class e extends i{constructor(){super(...arguments),R(this,"_objects",[])}_onObjectAdded(i){}_onObjectRemoved(i){}_onStackOrderChanged(i){}add(){for(var i=arguments.length,e=new Array(i),r=0;r<i;r++)e[r]=arguments[r];let t=this._objects.push(...e);return e.forEach(i=>this._onObjectAdded(i)),t}insertAt(i){for(var e=arguments.length,r=new Array(e>1?e-1:0),t=1;t<e;t++)r[t-1]=arguments[t];return this._objects.splice(i,0,...r),r.forEach(i=>this._onObjectAdded(i)),this._objects.length}remove(){let i=this._objects,e=[];for(var r=arguments.length,t=new Array(r),n=0;n<r;n++)t[n]=arguments[n];return t.forEach(r=>{let t=i.indexOf(r);-1!==t&&(i.splice(t,1),e.push(r),this._onObjectRemoved(r))}),e}forEachObject(i){this.getObjects().forEach((e,r,t)=>i(e,r,t))}getObjects(){for(var i=arguments.length,e=new Array(i),r=0;r<i;r++)e[r]=arguments[r];return 0===e.length?[...this._objects]:this._objects.filter(i=>i.isType(...e))}item(i){return this._objects[i]}isEmpty(){return 0===this._objects.length}size(){return this._objects.length}contains(i,r){return!!this._objects.includes(i)||!!r&&this._objects.some(r=>r instanceof e&&r.contains(i,!0))}complexity(){return this._objects.reduce((i,e)=>i+(e.complexity?e.complexity():0),0)}sendObjectToBack(i){return!(!i||i===this._objects[0]||(s2(this._objects,i),this._objects.unshift(i),this._onStackOrderChanged(i),0))}bringObjectToFront(i){return!(!i||i===this._objects[this._objects.length-1]||(s2(this._objects,i),this._objects.push(i),this._onStackOrderChanged(i),0))}sendObjectBackwards(i,e){if(!i)return!1;let r=this._objects.indexOf(i);if(0!==r){let t=this.findNewLowerIndex(i,r,e);return s2(this._objects,i),this._objects.splice(t,0,i),this._onStackOrderChanged(i),!0}return!1}bringObjectForward(i,e){if(!i)return!1;let r=this._objects.indexOf(i);if(r!==this._objects.length-1){let t=this.findNewUpperIndex(i,r,e);return s2(this._objects,i),this._objects.splice(t,0,i),this._onStackOrderChanged(i),!0}return!1}moveObjectTo(i,e){return i!==this._objects[e]&&(s2(this._objects,i),this._objects.splice(e,0,i),this._onStackOrderChanged(i),!0)}findNewLowerIndex(i,e,r){let t;if(r){t=e;for(let r=e-1;r>=0;--r)if(i.isOverlapping(this._objects[r])){t=r;break}}else t=e-1;return t}findNewUpperIndex(i,e,r){let t;if(r){t=e;for(let r=e+1;r<this._objects.length;++r)if(i.isOverlapping(this._objects[r])){t=r;break}}else t=e+1;return t}collectObjects(i){let{left:e,top:r,width:t,height:n}=i,{includeIntersecting:f=!0}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=[],o=new K(e,r),A=o.add(new K(t,n));for(let i=this._objects.length-1;i>=0;i--){let e=this._objects[i];e.selectable&&e.visible&&(f&&e.intersectsWithRect(o,A)||e.isContainedWithinRect(o,A)||f&&e.containsPoint(o)||f&&e.containsPoint(A))&&a.push(e)}return a}}return e}var xt=class extends qn{_setOptions(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(let e in i)this.set(e,i[e])}_setObject(i){for(let e in i)this._set(e,i[e])}set(i,e){return"object"==typeof i?this._setObject(i):this._set(i,e),this}_set(i,e){this[i]=e}toggle(i){let e=this.get(i);return"boolean"==typeof e&&this.set(i,!e),this}get(i){return this[i]}};function Cr(i){return Lt().requestAnimationFrame(i)}function jo(i){return Lt().cancelAnimationFrame(i)}var Ra=0,Le=()=>Ra++,Ki=()=>{let i=nr().createElement("canvas");if(!i||void 0===i.getContext)throw new $i("Failed to create `canvas` element");return i},$o=()=>nr().createElement("img"),ue=i=>{let e=Ki();return e.width=i.width,e.height=i.height,e},S1=(i,e,r)=>i.toDataURL("image/".concat(e),r),si=i=>i*Z1,je=i=>i/Z1,qo=i=>i.every((i,e)=>i===Fi[e]),Bi=(i,e,r)=>new K(i).transform(e,r),Oi=i=>{let e=1/(i[0]*i[3]-i[1]*i[2]),r=[e*i[3],-e*i[1],-e*i[2],e*i[0],0,0],{x:t,y:n}=new K(i[4],i[5]).transform(r,!0);return r[4]=-t,r[5]=-n,r},Ai=(i,e,r)=>[i[0]*e[0]+i[2]*e[1],i[1]*e[0]+i[3]*e[1],i[0]*e[2]+i[2]*e[3],i[1]*e[2]+i[3]*e[3],r?0:i[0]*e[4]+i[2]*e[5]+i[4],r?0:i[1]*e[4]+i[3]*e[5]+i[5]],qt=(i,e)=>i.reduceRight((i,r)=>r&&i?Ai(r,i,e):r||i,void 0)||Fi.concat(),Ko=i=>{let[e,r]=i;return Math.atan2(r,e)},q2=i=>{let e=Ko(i),r=Math.pow(i[0],2)+Math.pow(i[1],2),t=Math.sqrt(r),n=(i[0]*i[3]-i[2]*i[1])/t,f=Math.atan2(i[0]*i[2]+i[1]*i[3],r);return{angle:je(e),scaleX:t,scaleY:n,skewX:je(f),skewY:0,translateX:i[4]||0,translateY:i[5]||0}},ar=function(i){return[1,0,0,1,i,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0]};function sr(){let{angle:i=0}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{x:e=0,y:r=0}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=si(i),n=le(t),f=ke(t);return[n,f,-f,n,e?e-(n*e-f*r):0,r?r-(f*e+n*r):0]}var Kt=function(i){return[i,0,0,arguments.length>1&&void 0!==arguments[1]?arguments[1]:i,0,0]},ef=i=>Math.tan(si(i)),X1=i=>[1,0,ef(i),1,0,0],V1=i=>[1,ef(i),0,1,0,0],Gr=i=>{let{scaleX:e=1,scaleY:r=1,flipX:t=!1,flipY:n=!1,skewX:f=0,skewY:a=0}=i,o=Kt(t?-e:e,n?-r:r);return f&&(o=Ai(o,X1(f),!0)),a&&(o=Ai(o,V1(a),!0)),o},rf=i=>{let{translateX:e=0,translateY:r=0,angle:t=0}=i,n=ar(e,r);t&&(n=Ai(n,sr({angle:t})));let f=Gr(i);return qo(f)||(n=Ai(n,f)),n},Br=function(i){let{signal:e,crossOrigin:r=null}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(function(t,n){if(e&&e.aborted)return n(new _t("loadImage"));let f,a=$o();e&&(f=function(i){a.src="",n(i)},e.addEventListener("abort",f,{once:!0}));let o=function(){a.onload=a.onerror=null,f&&e?.removeEventListener("abort",f),t(a)};i?(a.onload=o,a.onerror=function(){f&&e?.removeEventListener("abort",f),n(new $i("Error loading ".concat(a.src)))},r&&(a.crossOrigin=r),a.src=i):o()})},K2=function(i){let{signal:e,reviver:r=Z2}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise((t,n)=>{let f=[];e&&e.addEventListener("abort",n,{once:!0}),Promise.all(i.map(i=>d0.getClass(i.type).fromObject(i,{signal:e}).then(e=>(r(i,e),f.push(e),e)))).then(t).catch(i=>{f.forEach(i=>{i.dispose&&i.dispose()}),n(i)}).finally(()=>{e&&e.removeEventListener("abort",n)})})},Dr=function(i){let{signal:e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise((r,t)=>{let n=[];e&&e.addEventListener("abort",t,{once:!0});let f=Object.values(i).map(i=>i&&i.type&&d0.has(i.type)?K2([i],{signal:e}).then(i=>{let[e]=i;return n.push(e),e}):i),a=Object.keys(i);Promise.all(f).then(i=>i.reduce((i,e,r)=>(i[a[r]]=e,i),{})).then(r).catch(i=>{n.forEach(i=>{i.dispose&&i.dispose()}),t(i)}).finally(()=>{e&&e.removeEventListener("abort",t)})})},S2=function(i){return(arguments.length>1&&void 0!==arguments[1]?arguments[1]:[]).reduce((e,r)=>(r in i&&(e[r]=i[r]),e),{})},G1=(i,e)=>Object.keys(i).reduce((r,t)=>(e(i[t],t,i)&&(r[t]=i[t]),r),{}),mo={aliceblue:"#F0F8FF",antiquewhite:"#FAEBD7",aqua:"#0FF",aquamarine:"#7FFFD4",azure:"#F0FFFF",beige:"#F5F5DC",bisque:"#FFE4C4",black:"#000",blanchedalmond:"#FFEBCD",blue:"#00F",blueviolet:"#8A2BE2",brown:"#A52A2A",burlywood:"#DEB887",cadetblue:"#5F9EA0",chartreuse:"#7FFF00",chocolate:"#D2691E",coral:"#FF7F50",cornflowerblue:"#6495ED",cornsilk:"#FFF8DC",crimson:"#DC143C",cyan:"#0FF",darkblue:"#00008B",darkcyan:"#008B8B",darkgoldenrod:"#B8860B",darkgray:"#A9A9A9",darkgrey:"#A9A9A9",darkgreen:"#006400",darkkhaki:"#BDB76B",darkmagenta:"#8B008B",darkolivegreen:"#556B2F",darkorange:"#FF8C00",darkorchid:"#9932CC",darkred:"#8B0000",darksalmon:"#E9967A",darkseagreen:"#8FBC8F",darkslateblue:"#483D8B",darkslategray:"#2F4F4F",darkslategrey:"#2F4F4F",darkturquoise:"#00CED1",darkviolet:"#9400D3",deeppink:"#FF1493",deepskyblue:"#00BFFF",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1E90FF",firebrick:"#B22222",floralwhite:"#FFFAF0",forestgreen:"#228B22",fuchsia:"#F0F",gainsboro:"#DCDCDC",ghostwhite:"#F8F8FF",gold:"#FFD700",goldenrod:"#DAA520",gray:"#808080",grey:"#808080",green:"#008000",greenyellow:"#ADFF2F",honeydew:"#F0FFF0",hotpink:"#FF69B4",indianred:"#CD5C5C",indigo:"#4B0082",ivory:"#FFFFF0",khaki:"#F0E68C",lavender:"#E6E6FA",lavenderblush:"#FFF0F5",lawngreen:"#7CFC00",lemonchiffon:"#FFFACD",lightblue:"#ADD8E6",lightcoral:"#F08080",lightcyan:"#E0FFFF",lightgoldenrodyellow:"#FAFAD2",lightgray:"#D3D3D3",lightgrey:"#D3D3D3",lightgreen:"#90EE90",lightpink:"#FFB6C1",lightsalmon:"#FFA07A",lightseagreen:"#20B2AA",lightskyblue:"#87CEFA",lightslategray:"#789",lightslategrey:"#789",lightsteelblue:"#B0C4DE",lightyellow:"#FFFFE0",lime:"#0F0",limegreen:"#32CD32",linen:"#FAF0E6",magenta:"#F0F",maroon:"#800000",mediumaquamarine:"#66CDAA",mediumblue:"#0000CD",mediumorchid:"#BA55D3",mediumpurple:"#9370DB",mediumseagreen:"#3CB371",mediumslateblue:"#7B68EE",mediumspringgreen:"#00FA9A",mediumturquoise:"#48D1CC",mediumvioletred:"#C71585",midnightblue:"#191970",mintcream:"#F5FFFA",mistyrose:"#FFE4E1",moccasin:"#FFE4B5",navajowhite:"#FFDEAD",navy:"#000080",oldlace:"#FDF5E6",olive:"#808000",olivedrab:"#6B8E23",orange:"#FFA500",orangered:"#FF4500",orchid:"#DA70D6",palegoldenrod:"#EEE8AA",palegreen:"#98FB98",paleturquoise:"#AFEEEE",palevioletred:"#DB7093",papayawhip:"#FFEFD5",peachpuff:"#FFDAB9",peru:"#CD853F",pink:"#FFC0CB",plum:"#DDA0DD",powderblue:"#B0E0E6",purple:"#800080",rebeccapurple:"#639",red:"#F00",rosybrown:"#BC8F8F",royalblue:"#4169E1",saddlebrown:"#8B4513",salmon:"#FA8072",sandybrown:"#F4A460",seagreen:"#2E8B57",seashell:"#FFF5EE",sienna:"#A0522D",silver:"#C0C0C0",skyblue:"#87CEEB",slateblue:"#6A5ACD",slategray:"#708090",slategrey:"#708090",snow:"#FFFAFA",springgreen:"#00FF7F",steelblue:"#4682B4",tan:"#D2B48C",teal:"#008080",thistle:"#D8BFD8",tomato:"#FF6347",turquoise:"#40E0D0",violet:"#EE82EE",wheat:"#F5DEB3",white:"#FFF",whitesmoke:"#F5F5F5",yellow:"#FF0",yellowgreen:"#9ACD32"},Mn=(i,e,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<1/6?i+6*(e-i)*r:r<.5?e:r<2/3?i+(e-i)*(2/3-r)*6:i),po=(i,e,r,t)=>{i/=255,e/=255,r/=255;let n,f,a=Math.max(i,e,r),o=Math.min(i,e,r),A=(a+o)/2;if(a===o)n=f=0;else{let t=a-o;switch(f=A>.5?t/(2-a-o):t/(a+o),a){case i:n=(e-r)/t+(e<r?6:0);break;case e:n=(r-i)/t+2;break;case r:n=(i-e)/t+4}n/=6}return[Math.round(360*n),Math.round(100*f),Math.round(100*A),t]},go=function(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"1";return parseFloat(i)/(i.endsWith("%")?100:1)},ut=i=>Math.min(Math.round(i),255).toString(16).toUpperCase().padStart(2,"0"),bo=i=>{let[e,r,t,n=1]=i,f=Math.round(.3*e+.59*r+.11*t);return[f,f,f,n]},xi=class i{constructor(e){if(R(this,"isUnrecognised",!1),e)if(e instanceof i)this.setSource([...e._source]);else if(Array.isArray(e)){let[i,r,t,n=1]=e;this.setSource([i,r,t,n])}else this.setSource(this._tryParsingColor(e));else this.setSource([0,0,0,1])}_tryParsingColor(e){return(e=e.toLowerCase())in mo&&(e=mo[e]),"transparent"===e?[255,255,255,0]:i.sourceFromHex(e)||i.sourceFromRgb(e)||i.sourceFromHsl(e)||(this.isUnrecognised=!0)&&[0,0,0,1]}getSource(){return this._source}setSource(i){this._source=i}toRgb(){let[i,e,r]=this.getSource();return"rgb(".concat(i,",").concat(e,",").concat(r,")")}toRgba(){return"rgba(".concat(this.getSource().join(","),")")}toHsl(){let[i,e,r]=po(...this.getSource());return"hsl(".concat(i,",").concat(e,"%,").concat(r,"%)")}toHsla(){let[i,e,r,t]=po(...this.getSource());return"hsla(".concat(i,",").concat(e,"%,").concat(r,"%,").concat(t,")")}toHex(){return this.toHexa().slice(0,6)}toHexa(){let[i,e,r,t]=this.getSource();return"".concat(ut(i)).concat(ut(e)).concat(ut(r)).concat(ut(Math.round(255*t)))}getAlpha(){return this.getSource()[3]}setAlpha(i){return this._source[3]=i,this}toGrayscale(){return this.setSource(bo(this.getSource())),this}toBlackWhite(i){let[e,,,r]=bo(this.getSource()),t=e<(i||127)?0:255;return this.setSource([t,t,t,r]),this}overlayWith(e){e instanceof i||(e=new i(e));let r=this.getSource(),t=e.getSource(),[n,f,a]=r.map((i,e)=>Math.round(.5*i+.5*t[e]));return this.setSource([n,f,a,r[3]]),this}static fromRgb(e){return i.fromRgba(e)}static fromRgba(e){return new i(i.sourceFromRgb(e))}static sourceFromRgb(i){let e=i.match(/^rgba?\(\s*(\d{0,3}(?:\.\d+)?%?)\s*[\s|,]\s*(\d{0,3}(?:\.\d+)?%?)\s*[\s|,]\s*(\d{0,3}(?:\.\d+)?%?)\s*(?:\s*[,/]\s*(\d{0,3}(?:\.\d+)?%?)\s*)?\)$/i);if(e){let[i,r,t]=e.slice(1,4).map(i=>{let e=parseFloat(i);return i.endsWith("%")?Math.round(2.55*e):e});return[i,r,t,go(e[4])]}}static fromHsl(e){return i.fromHsla(e)}static fromHsla(e){return new i(i.sourceFromHsl(e))}static sourceFromHsl(e){let r=e.match(/^hsla?\(\s*([+-]?\d{0,3}(?:\.\d+)?(?:deg|turn|rad)?)\s*[\s|,]\s*(\d{0,3}(?:\.\d+)?%?)\s*[\s|,]\s*(\d{0,3}(?:\.\d+)?%?)\s*(?:\s*[,/]\s*(\d*(?:\.\d+)?%?)\s*)?\)$/i);if(!r)return;let t,n,f,a=(i.parseAngletoDegrees(r[1])%360+360)%360/360,o=parseFloat(r[2])/100,A=parseFloat(r[3])/100;if(0===o)t=n=f=A;else{let i=A<=.5?A*(o+1):A+o-A*o,e=2*A-i;t=Mn(e,i,a+1/3),n=Mn(e,i,a),f=Mn(e,i,a-1/3)}return[Math.round(255*t),Math.round(255*n),Math.round(255*f),go(r[4])]}static fromHex(e){return new i(i.sourceFromHex(e))}static sourceFromHex(i){if(i.match(/^#?(([0-9a-f]){3,4}|([0-9a-f]{2}){3,4})$/i)){let e,r=i.slice(i.indexOf("#")+1);e=r.length<=4?r.split("").map(i=>i+i):r.match(/.{2}/g);let[t,n,f,a=255]=e.map(i=>parseInt(i,16));return[t,n,f,a/255]}}static parseAngletoDegrees(i){let e=i.toLowerCase(),r=parseFloat(e);return e.includes("rad")?je(r):e.includes("turn")?360*r:r}},ti=(i,e)=>parseFloat(Number(i).toFixed(e)),I2=function(i){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:I1,r=/\D{0,2}$/.exec(i),t=parseFloat(i),n=P0.DPI;switch(r?.[0]){case"mm":return t*n/25.4;case"cm":return t*n/2.54;case"in":return t*n;case"pt":return t*n/72;case"pc":return t*n/72*12;case"em":return t*e;default:return t}},tf=i=>{let[e,r]=i.trim().split(" "),[t,n]=(f=e)&&f!==Di?[f.slice(1,4),f.slice(5,8)]:f===Di?[f,f]:["Mid","Mid"];var f;return{meetOrSlice:r||"meet",alignX:t,alignY:n}},Er=i=>"matrix("+i.map(i=>ti(i,P0.NUM_FRACTION_DIGITS)).join(" ")+")",Fr=function(i,e){let r,t,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(e)if(e.toLive)r="url(#SVGID_".concat(e.id,")");else{let i=new xi(e),n=i.getAlpha();r=i.toRgb(),1!==n&&(t=n.toString())}else r="none";return n?"".concat(i,": ").concat(r,"; ").concat(t?"".concat(i,"-opacity: ").concat(t,"; "):""):"".concat(i,'="').concat(r,'" ').concat(t?"".concat(i,'-opacity="').concat(t,'" '):"")},ji=i=>!!i&&void 0!==i.toLive,vo=i=>!!i&&"function"==typeof i.toObject,wo=i=>!!i&&void 0!==i.offsetX&&"source"in i,A2=i=>!!i&&"multiSelectionStacking"in i;function nf(i){let e=i&&fe(i),r=0,t=0;if(!i||!e)return{left:r,top:t};let n=i,f=e.documentElement,a=e.body||{scrollLeft:0,scrollTop:0};for(;n&&(n.parentNode||n.host)&&(n=n.parentNode||n.host,n===e?(r=a.scrollLeft||f.scrollLeft||0,t=a.scrollTop||f.scrollTop||0):(r+=n.scrollLeft||0,t+=n.scrollTop||0),1!==n.nodeType||"fixed"!==n.style.position););return{left:r,top:t}}var fe=i=>i.ownerDocument||null,of=i=>{var e;return(null===(e=i.ownerDocument)||void 0===e?void 0:e.defaultView)||null},ff=function(i,e,r){let{width:t,height:n}=r,f=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;i.width=t,i.height=n,f>1&&(i.setAttribute("width",(t*f).toString()),i.setAttribute("height",(n*f).toString()),e.scale(f,f))},Kn=(i,e)=>{let{width:r,height:t}=e;r&&(i.style.width="number"==typeof r?"".concat(r,"px"):r),t&&(i.style.height="number"==typeof t?"".concat(t,"px"):t)};function _o(i){return void 0!==i.onselectstart&&(i.onselectstart=()=>!1),i.style.userSelect=Di,i}var Zt=class{constructor(i){R(this,"_originalCanvasStyle",void 0),R(this,"lower",void 0);let e=this.createLowerCanvas(i);this.lower={el:e,ctx:e.getContext("2d")}}createLowerCanvas(i){let e=(r=i)&&void 0!==r.getContext?i:i&&nr().getElementById(i)||Ki();var r;if(e.hasAttribute("data-fabric"))throw new $i("Trying to initialize a canvas that has already been initialized. Did you forget to dispose the canvas?");return this._originalCanvasStyle=e.style.cssText,e.setAttribute("data-fabric","main"),e.classList.add("lower-canvas"),e}cleanupDOM(i){let{width:e,height:r}=i,{el:t}=this.lower;t.classList.remove("lower-canvas"),t.removeAttribute("data-fabric"),t.setAttribute("width","".concat(e)),t.setAttribute("height","".concat(r)),t.style.cssText=this._originalCanvasStyle||"",this._originalCanvasStyle=void 0}setDimensions(i,e){let{el:r,ctx:t}=this.lower;ff(r,t,i,e)}setCSSDimensions(i){Kn(this.lower.el,i)}calcOffset(){return function(i){var e;let r=i&&fe(i),t={left:0,top:0};if(!r)return t;let n=(null===(e=of(i))||void 0===e?void 0:e.getComputedStyle(i,null))||{};t.left+=parseInt(n.borderLeftWidth,10)||0,t.top+=parseInt(n.borderTopWidth,10)||0,t.left+=parseInt(n.paddingLeft,10)||0,t.top+=parseInt(n.paddingTop,10)||0;let f={left:0,top:0},a=r.documentElement;void 0!==i.getBoundingClientRect&&(f=i.getBoundingClientRect());let o=nf(i);return{left:f.left+o.left-(a.clientLeft||0)+t.left,top:f.top+o.top-(a.clientTop||0)+t.top}}(this.lower.el)}dispose(){ve().dispose(this.lower.el),delete this.lower}},Pa={backgroundVpt:!0,backgroundColor:"",overlayVpt:!0,overlayColor:"",includeDefaultValues:!0,svgViewportTransformation:!0,renderOnAddRemove:!0,skipOffscreen:!0,enableRetinaScaling:!0,imageSmoothingEnabled:!0,controlsAboveOverlay:!1,allowTouchScrolling:!1,viewportTransform:[...Fi]},Wr=class i extends(Lo(xt)){get lowerCanvasEl(){var i;return null===(i=this.elements.lower)||void 0===i?void 0:i.el}get contextContainer(){var i;return null===(i=this.elements.lower)||void 0===i?void 0:i.ctx}static getDefaults(){return i.ownDefaults}constructor(i){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),Object.assign(this,this.constructor.getDefaults()),this.set(e),this.initElements(i),this._setDimensionsImpl({width:this.width||this.elements.lower.el.width||0,height:this.height||this.elements.lower.el.height||0}),this.skipControlsDrawing=!1,this.viewportTransform=[...this.viewportTransform],this.calcViewportBoundaries()}initElements(i){this.elements=new Zt(i)}add(){let i=super.add(...arguments);return arguments.length>0&&this.renderOnAddRemove&&this.requestRenderAll(),i}insertAt(i){for(var e=arguments.length,r=new Array(e>1?e-1:0),t=1;t<e;t++)r[t-1]=arguments[t];let n=super.insertAt(i,...r);return r.length>0&&this.renderOnAddRemove&&this.requestRenderAll(),n}remove(){let i=super.remove(...arguments);return i.length>0&&this.renderOnAddRemove&&this.requestRenderAll(),i}_onObjectAdded(i){i.canvas&&i.canvas!==this&&(He("warn","Canvas is trying to add an object that belongs to a different canvas.\nResulting to default behavior: removing object from previous canvas and adding to new canvas"),i.canvas.remove(i)),i._set("canvas",this),i.setCoords(),this.fire("object:added",{target:i}),i.fire("added",{target:this})}_onObjectRemoved(i){i._set("canvas",void 0),this.fire("object:removed",{target:i}),i.fire("removed",{target:this})}_onStackOrderChanged(){this.renderOnAddRemove&&this.requestRenderAll()}getRetinaScaling(){return this.enableRetinaScaling?Oo():1}calcOffset(){return this._offset=this.elements.calcOffset()}getWidth(){return this.width}getHeight(){return this.height}setWidth(i,e){return this.setDimensions({width:i},e)}setHeight(i,e){return this.setDimensions({height:i},e)}_setDimensionsImpl(i){let{cssOnly:e=!1,backstoreOnly:r=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e){let e=P({width:this.width,height:this.height},i);this.elements.setDimensions(e,this.getRetinaScaling()),this.hasLostContext=!0,this.width=e.width,this.height=e.height}r||this.elements.setCSSDimensions(i),this.calcOffset()}setDimensions(i,e){this._setDimensionsImpl(i,e),e&&e.cssOnly||this.requestRenderAll()}getZoom(){return this.viewportTransform[0]}setViewportTransform(i){this.viewportTransform=i,this.calcViewportBoundaries(),this.renderOnAddRemove&&this.requestRenderAll()}zoomToPoint(i,e){let r=i,t=[...this.viewportTransform],n=Bi(i,Oi(t));t[0]=e,t[3]=e;let f=Bi(n,t);t[4]+=r.x-f.x,t[5]+=r.y-f.y,this.setViewportTransform(t)}setZoom(i){this.zoomToPoint(new K(0,0),i)}absolutePan(i){let e=[...this.viewportTransform];return e[4]=-i.x,e[5]=-i.y,this.setViewportTransform(e)}relativePan(i){return this.absolutePan(new K(-i.x-this.viewportTransform[4],-i.y-this.viewportTransform[5]))}getElement(){return this.elements.lower.el}clearContext(i){i.clearRect(0,0,this.width,this.height)}getContext(){return this.elements.lower.ctx}clear(){this.remove(...this.getObjects()),this.backgroundImage=void 0,this.overlayImage=void 0,this.backgroundColor="",this.overlayColor="",this.clearContext(this.getContext()),this.fire("canvas:cleared"),this.renderOnAddRemove&&this.requestRenderAll()}renderAll(){this.cancelRequestedRender(),this.destroyed||this.renderCanvas(this.getContext(),this._objects)}renderAndReset(){this.nextRenderHandle=0,this.renderAll()}requestRenderAll(){this.nextRenderHandle||this.disposed||this.destroyed||(this.nextRenderHandle=Cr(()=>this.renderAndReset()))}calcViewportBoundaries(){let i=this.width,e=this.height,r=Oi(this.viewportTransform),t=Bi({x:0,y:0},r),n=Bi({x:i,y:e},r),f=t.min(n),a=t.max(n);return this.vptCoords={tl:f,tr:new K(a.x,f.y),bl:new K(f.x,a.y),br:a}}cancelRequestedRender(){this.nextRenderHandle&&(jo(this.nextRenderHandle),this.nextRenderHandle=0)}drawControls(i){}renderCanvas(i,e){if(this.destroyed)return;let r=this.viewportTransform,t=this.clipPath;this.calcViewportBoundaries(),this.clearContext(i),i.imageSmoothingEnabled=this.imageSmoothingEnabled,i.patternQuality="best",this.fire("before:render",{ctx:i}),this._renderBackground(i),i.save(),i.transform(r[0],r[1],r[2],r[3],r[4],r[5]),this._renderObjects(i,e),i.restore(),this.controlsAboveOverlay||this.skipControlsDrawing||this.drawControls(i),t&&(t._set("canvas",this),t.shouldCache(),t._transformDone=!0,t.renderCache({forClipping:!0}),this.drawClipPathOnCanvas(i,t)),this._renderOverlay(i),this.controlsAboveOverlay&&!this.skipControlsDrawing&&this.drawControls(i),this.fire("after:render",{ctx:i}),this.__cleanupTask&&(this.__cleanupTask(),this.__cleanupTask=void 0)}drawClipPathOnCanvas(i,e){let r=this.viewportTransform;i.save(),i.transform(...r),i.globalCompositeOperation="destination-in",e.transform(i),i.scale(1/e.zoomX,1/e.zoomY),i.drawImage(e._cacheCanvas,-e.cacheTranslationX,-e.cacheTranslationY),i.restore()}_renderObjects(i,e){for(let r=0,t=e.length;r<t;++r)e[r]&&e[r].render(i)}_renderBackgroundOrOverlay(i,e){let r=this["".concat(e,"Color")],t=this["".concat(e,"Image")],n=this.viewportTransform,f=this["".concat(e,"Vpt")];if(!r&&!t)return;let a=ji(r);if(r){if(i.save(),i.beginPath(),i.moveTo(0,0),i.lineTo(this.width,0),i.lineTo(this.width,this.height),i.lineTo(0,this.height),i.closePath(),i.fillStyle=a?r.toLive(i):r,f&&i.transform(...n),a){i.transform(1,0,0,1,r.offsetX||0,r.offsetY||0);let e=r.gradientTransform||r.patternTransform;e&&i.transform(...e)}i.fill(),i.restore()}if(t){i.save();let{skipOffscreen:e}=this;this.skipOffscreen=f,f&&i.transform(...n),t.render(i),this.skipOffscreen=e,i.restore()}}_renderBackground(i){this._renderBackgroundOrOverlay(i,"background")}_renderOverlay(i){this._renderBackgroundOrOverlay(i,"overlay")}getCenter(){return{top:this.height/2,left:this.width/2}}getCenterPoint(){return new K(this.width/2,this.height/2)}centerObjectH(i){return this._centerObject(i,new K(this.getCenterPoint().x,i.getCenterPoint().y))}centerObjectV(i){return this._centerObject(i,new K(i.getCenterPoint().x,this.getCenterPoint().y))}centerObject(i){return this._centerObject(i,this.getCenterPoint())}viewportCenterObject(i){return this._centerObject(i,this.getVpCenter())}viewportCenterObjectH(i){return this._centerObject(i,new K(this.getVpCenter().x,i.getCenterPoint().y))}viewportCenterObjectV(i){return this._centerObject(i,new K(i.getCenterPoint().x,this.getVpCenter().y))}getVpCenter(){return Bi(this.getCenterPoint(),Oi(this.viewportTransform))}_centerObject(i,e){i.setXY(e,V0,V0),i.setCoords(),this.renderOnAddRemove&&this.requestRenderAll()}toDatalessJSON(i){return this.toDatalessObject(i)}toObject(i){return this._toObjectMethod("toObject",i)}toJSON(){return this.toObject()}toDatalessObject(i){return this._toObjectMethod("toDatalessObject",i)}_toObjectMethod(i,e){let r=this.clipPath,t=r&&!r.excludeFromExport?this._toObject(r,i,e):null;return P(P(P({version:jn},S2(this,e)),{},{objects:this._objects.filter(i=>!i.excludeFromExport).map(r=>this._toObject(r,i,e))},this.__serializeBgOverlay(i,e)),t?{clipPath:t}:null)}_toObject(i,e,r){let t;this.includeDefaultValues||(t=i.includeDefaultValues,i.includeDefaultValues=!1);let n=i[e](r);return this.includeDefaultValues||(i.includeDefaultValues=!!t),n}__serializeBgOverlay(i,e){let r={},t=this.backgroundImage,n=this.overlayImage,f=this.backgroundColor,a=this.overlayColor;return ji(f)?f.excludeFromExport||(r.background=f.toObject(e)):f&&(r.background=f),ji(a)?a.excludeFromExport||(r.overlay=a.toObject(e)):a&&(r.overlay=a),t&&!t.excludeFromExport&&(r.backgroundImage=this._toObject(t,i,e)),n&&!n.excludeFromExport&&(r.overlayImage=this._toObject(n,i,e)),r}toSVG(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0;i.reviver=e;let r=[];return this._setSVGPreamble(r,i),this._setSVGHeader(r,i),this.clipPath&&r.push('<g clip-path="url(#'.concat(this.clipPath.clipPathId,')" >\n')),this._setSVGBgOverlayColor(r,"background"),this._setSVGBgOverlayImage(r,"backgroundImage",e),this._setSVGObjects(r,e),this.clipPath&&r.push("</g>\n"),this._setSVGBgOverlayColor(r,"overlay"),this._setSVGBgOverlayImage(r,"overlayImage",e),r.push("</svg>"),r.join("")}_setSVGPreamble(i,e){e.suppressPreamble||i.push('<?xml version="1.0" encoding="',e.encoding||"UTF-8",'" standalone="no" ?>\n','<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" ','"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')}_setSVGHeader(i,e){let r,t=e.width||"".concat(this.width),n=e.height||"".concat(this.height),f=P0.NUM_FRACTION_DIGITS,a=e.viewBox;if(a)r='viewBox="'.concat(a.x," ").concat(a.y," ").concat(a.width," ").concat(a.height,'" ');else if(this.svgViewportTransformation){let i=this.viewportTransform;r='viewBox="'.concat(ti(-i[4]/i[0],f)," ").concat(ti(-i[5]/i[3],f)," ").concat(ti(this.width/i[0],f)," ").concat(ti(this.height/i[3],f),'" ')}else r='viewBox="0 0 '.concat(this.width," ").concat(this.height,'" ');i.push("<svg ",'xmlns="http://www.w3.org/2000/svg" ','xmlns:xlink="http://www.w3.org/1999/xlink" ','version="1.1" ','width="',t,'" ','height="',n,'" ',r,'xml:space="preserve">\n',"<desc>Created with Fabric.js ",jn,"</desc>\n","<defs>\n",this.createSVGFontFacesMarkup(),this.createSVGRefElementsMarkup(),this.createSVGClipPathMarkup(e),"</defs>\n")}createSVGClipPathMarkup(i){let e=this.clipPath;return e?(e.clipPathId="CLIPPATH_".concat(Le()),'<clipPath id="'.concat(e.clipPathId,'" >\n').concat(e.toClipPathSVG(i.reviver),"</clipPath>\n")):""}createSVGRefElementsMarkup(){return["background","overlay"].map(i=>{let e=this["".concat(i,"Color")];if(ji(e)){let r=this["".concat(i,"Vpt")],t=this.viewportTransform,n={isType:()=>!1,width:this.width/(r?t[0]:1),height:this.height/(r?t[3]:1)};return e.toSVG(n,{additionalTransform:r?Er(t):""})}}).join("")}createSVGFontFacesMarkup(){let i=[],e={},r=P0.fontPaths;this._objects.forEach(function e(r){i.push(r),bt(r)&&r._objects.forEach(e)}),i.forEach(i=>{if(!(t=i)||"function"!=typeof t._renderText)return;var t;let{styles:n,fontFamily:f}=i;!e[f]&&r[f]&&(e[f]=!0,n&&Object.values(n).forEach(i=>{Object.values(i).forEach(i=>{let{fontFamily:t=""}=i;!e[t]&&r[t]&&(e[t]=!0)})}))});let t=Object.keys(e).map(i=>"\t\t@font-face {\n\t\t\tfont-family: '".concat(i,"';\n\t\t\tsrc: url('").concat(r[i],"');\n\t\t}\n")).join("");return t?'\t<style type="text/css"><![CDATA[\n'.concat(t,"]]></style>\n"):""}_setSVGObjects(i,e){this.forEachObject(r=>{r.excludeFromExport||this._setSVGObject(i,r,e)})}_setSVGObject(i,e,r){i.push(e.toSVG(r))}_setSVGBgOverlayImage(i,e,r){let t=this[e];t&&!t.excludeFromExport&&t.toSVG&&i.push(t.toSVG(r))}_setSVGBgOverlayColor(i,e){let r=this["".concat(e,"Color")];if(r)if(ji(r)){let t=r.repeat||"",n=this.width,f=this.height,a=this["".concat(e,"Vpt")]?Er(Oi(this.viewportTransform)):"";i.push('<rect transform="'.concat(a," translate(").concat(n/2,",").concat(f/2,')" x="').concat(r.offsetX-n/2,'" y="').concat(r.offsetY-f/2,'" width="').concat("repeat-y"!==t&&"no-repeat"!==t||!wo(r)?n:r.source.width,'" height="').concat("repeat-x"!==t&&"no-repeat"!==t||!wo(r)?f:r.source.height,'" fill="url(#SVGID_').concat(r.id,')"></rect>\n'))}else i.push('<rect x="0" y="0" width="100%" height="100%" ','fill="',r,'"',"></rect>\n")}loadFromJSON(i,e){let{signal:r}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!i)return Promise.reject(new $i("`json` is undefined"));let t="string"==typeof i?JSON.parse(i):i,{objects:n=[],backgroundImage:f,background:a,overlayImage:o,overlay:A,clipPath:s}=t,l=this.renderOnAddRemove;return this.renderOnAddRemove=!1,Promise.all([K2(n,{reviver:e,signal:r}),Dr({backgroundImage:f,backgroundColor:a,overlayImage:o,overlayColor:A,clipPath:s},{signal:r})]).then(i=>{let[e,r]=i;return this.clear(),this.add(...e),this.set(t),this.set(r),this.renderOnAddRemove=l,this})}clone(i){let e=this.toObject(i);return this.cloneWithoutData().loadFromJSON(e)}cloneWithoutData(){let i=ue(this);return new this.constructor(i)}toDataURL(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{format:e="png",quality:r=1,multiplier:t=1,enableRetinaScaling:n=!1}=i,f=t*(n?this.getRetinaScaling():1);return S1(this.toCanvasElement(f,i),e,r)}toCanvasElement(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,{width:e,height:r,left:t,top:n,filter:f}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=(e||this.width)*i,o=(r||this.height)*i,A=this.getZoom(),s=this.width,l=this.height,k=this.skipControlsDrawing,h=A*i,u=this.viewportTransform,c=[h,0,0,h,(u[4]-(t||0))*i,(u[5]-(n||0))*i],d=this.enableRetinaScaling,b=ue({width:a,height:o}),p=f?this._objects.filter(i=>f(i)):this._objects;return this.enableRetinaScaling=!1,this.viewportTransform=c,this.width=a,this.height=o,this.skipControlsDrawing=!0,this.calcViewportBoundaries(),this.renderCanvas(b.getContext("2d"),p),this.viewportTransform=u,this.width=s,this.height=l,this.calcViewportBoundaries(),this.enableRetinaScaling=d,this.skipControlsDrawing=k,b}dispose(){return!this.disposed&&this.elements.cleanupDOM({width:this.width,height:this.height}),Bt.cancelByCanvas(this),this.disposed=!0,new Promise((i,e)=>{let r=()=>{this.destroy(),i(!0)};r.kill=e,this.__cleanupTask&&this.__cleanupTask.kill("aborted"),this.destroyed?i(!1):this.nextRenderHandle?this.__cleanupTask=r:r()})}destroy(){this.destroyed=!0,this.cancelRequestedRender(),this.forEachObject(i=>i.dispose()),this._objects=[],this.backgroundImage&&this.backgroundImage.dispose(),this.backgroundImage=void 0,this.overlayImage&&this.overlayImage.dispose(),this.overlayImage=void 0,this.elements.dispose()}toString(){return"#<Canvas (".concat(this.complexity(),"): { objects: ").concat(this._objects.length," }>")}};R(Wr,"ownDefaults",Pa);var Na=["touchstart","touchmove","touchend"],af=i=>{let e=nf(i.target),r=function(i){let e=i.changedTouches;return e&&e[0]?e[0]:i}(i);return new K(r.clientX+e.left,r.clientY+e.top)},It=i=>Na.includes(i.type)||"touch"===i.pointerType,i1=i=>{i.preventDefault(),i.stopPropagation()},be=i=>{let e=0,r=0,t=0,n=0;for(let f=0,a=i.length;f<a;f++){let{x:a,y:o}=i[f];(a>t||!f)&&(t=a),(a<e||!f)&&(e=a),(o>n||!f)&&(n=o),(o<r||!f)&&(r=o)}return{left:e,top:r,width:t-e,height:n-r}},Qa=["translateX","translateY","scaleX","scaleY"],sf=(i,e)=>ir(i,Ai(e,i.calcOwnMatrix())),ir=(i,e)=>{let r=q2(e),{translateX:t,translateY:n,scaleX:f,scaleY:a}=r,o=ni(r,Qa),A=new K(t,n);i.flipX=!1,i.flipY=!1,Object.assign(i,o),i.set({scaleX:f,scaleY:a}),i.setPositionByOrigin(A,V0,V0)},Af=i=>{i.scaleX=1,i.scaleY=1,i.skewX=0,i.skewY=0,i.flipX=!1,i.flipY=!1,i.rotate(0)},D1=i=>({scaleX:i.scaleX,scaleY:i.scaleY,skewX:i.skewX,skewY:i.skewY,angle:i.angle,left:i.left,flipX:i.flipX,flipY:i.flipY,top:i.top}),en=(i,e,r)=>{let t=i/2,n=e/2,f=[new K(-t,-n),new K(t,-n),new K(-t,n),new K(t,n)].map(i=>i.transform(r)),a=be(f);return new K(a.width,a.height)},Mr=function(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Fi;return Ai(Oi(arguments.length>1&&void 0!==arguments[1]?arguments[1]:Fi),i)},Fe=function(i){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Fi,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Fi;return i.transform(Mr(e,r))},lf=function(i){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Fi,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Fi;return i.transform(Mr(e,r),!0)},e1=(i,e,r)=>{let t=Mr(e,r);return ir(i,Ai(t,i.calcOwnMatrix())),t},M1=(i,e)=>{var r;let{transform:{target:t}}=e;null===(r=t.canvas)||void 0===r||r.fire("object:".concat(i),P(P({},e),{},{target:t})),t.fire(i,e)},Ya={left:-.5,top:-.5,center:0,bottom:.5,right:.5},gi=i=>"string"==typeof i?Ya[i]:i-.5,Et="not-allowed";function kf(i){return gi(i.originX)===gi(V0)&&gi(i.originY)===gi(V0)}function yo(i){return.5-gi(i)}var Ae=(i,e)=>i[e],T1=(i,e,r,t)=>({e:i,transform:e,pointer:new K(r,t)});function uf(i,e){let r=i.getTotalAngle()+je(Math.atan2(e.y,e.x))+360;return Math.round(r%360/45)}function rn(i,e,r,t,n){var f;let{target:a,corner:o}=i,A=a.controls[o],s=(null===(f=a.canvas)||void 0===f?void 0:f.getZoom())||1,l=a.padding/s,k=function(i,e,r,t){let n=i.getRelativeCenterPoint(),f=void 0!==r&&void 0!==t?i.translateToGivenOrigin(n,V0,V0,r,t):new K(i.left,i.top);return(i.angle?e.rotate(-si(i.angle),n):e).subtract(f)}(a,new K(t,n),e,r);return k.x>=l&&(k.x-=l),k.x<=-l&&(k.x+=l),k.y>=l&&(k.y-=l),k.y<=l&&(k.y+=l),k.x-=A.offsetX,k.y-=A.offsetY,k}var hf=(i,e,r,t)=>{let{target:n,offsetX:f,offsetY:a}=e,o=r-f,A=t-a,s=!Ae(n,"lockMovementX")&&n.left!==o,l=!Ae(n,"lockMovementY")&&n.top!==A;return s&&n.set(z0,o),l&&n.set(Gi,A),(s||l)&&M1(zo,T1(i,e,r,t)),s||l},Ft=class{getSvgStyles(i){let e=this.fillRule?this.fillRule:"nonzero",r=this.strokeWidth?this.strokeWidth:"0",t=this.strokeDashArray?this.strokeDashArray.join(" "):Di,n=this.strokeDashOffset?this.strokeDashOffset:"0",f=this.strokeLineCap?this.strokeLineCap:"butt",a=this.strokeLineJoin?this.strokeLineJoin:"miter",o=this.strokeMiterLimit?this.strokeMiterLimit:"4",A=void 0!==this.opacity?this.opacity:"1",s=this.visible?"":" visibility: hidden;",l=i?"":this.getSvgFilter(),k=Fr(bi,this.fill);return[Fr(Mi,this.stroke),"stroke-width: ",r,"; ","stroke-dasharray: ",t,"; ","stroke-linecap: ",f,"; ","stroke-dashoffset: ",n,"; ","stroke-linejoin: ",a,"; ","stroke-miterlimit: ",o,"; ",k,"fill-rule: ",e,"; ","opacity: ",A,";",l,s].join("")}getSvgFilter(){return this.shadow?"filter: url(#SVGID_".concat(this.shadow.id,");"):""}getSvgCommons(){return[this.id?'id="'.concat(this.id,'" '):"",this.clipPath?'clip-path="url(#'.concat(this.clipPath.clipPathId,')" '):""].join("")}getSvgTransform(i){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=i?this.calcTransformMatrix():this.calcOwnMatrix(),t='transform="'.concat(Er(r));return"".concat(t).concat(e,'" ')}_toSVG(i){return[""]}toSVG(i){return this._createBaseSVGMarkup(this._toSVG(i),{reviver:i})}toClipPathSVG(i){return"\t"+this._createBaseClipPathSVGMarkup(this._toSVG(i),{reviver:i})}_createBaseClipPathSVGMarkup(i){let{reviver:e,additionalTransform:r=""}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=[this.getSvgTransform(!0,r),this.getSvgCommons()].join(""),n=i.indexOf("COMMON_PARTS");return i[n]=t,e?e(i.join("")):i.join("")}_createBaseSVGMarkup(i){let e,{noStyle:r,reviver:t,withShadow:n,additionalTransform:f}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=r?"":'style="'.concat(this.getSvgStyles(),'" '),o=n?'style="'.concat(this.getSvgFilter(),'" '):"",A=this.clipPath,s=this.strokeUniform?'vector-effect="non-scaling-stroke" ':"",l=A&&A.absolutePositioned,k=this.stroke,h=this.fill,u=this.shadow,c=[],d=i.indexOf("COMMON_PARTS");A&&(A.clipPathId="CLIPPATH_".concat(Le()),e='<clipPath id="'.concat(A.clipPathId,'" >\n').concat(A.toClipPathSVG(t),"</clipPath>\n")),l&&c.push("<g ",o,this.getSvgCommons()," >\n"),c.push("<g ",this.getSvgTransform(!1),l?"":o+this.getSvgCommons()," >\n");let b=[a,s,r?"":this.addPaintOrder()," ",f?'transform="'.concat(f,'" '):""].join("");return i[d]=b,ji(h)&&c.push(h.toSVG(this)),ji(k)&&c.push(k.toSVG(this)),u&&c.push(u.toSVG(this)),A&&c.push(e),c.push(i.join("")),c.push("</g>\n"),l&&c.push("</g>\n"),t?t(c.join("")):c.join("")}addPaintOrder(){return this.paintFirst!==bi?' paint-order="'.concat(this.paintFirst,'" '):""}};function tn(i){return new RegExp("^("+i.join("|")+")\\b","i")}var Co,se=String.raw(Co||(Co=$e(["(?:[-+]?(?:d*.d+|d+.?)(?:[eE][-+]?d+)?)"],["(?:[-+]?(?:\\d*\\.\\d+|\\d+\\.?)(?:[eE][-+]?\\d+)?)"]))),Oa=new RegExp("(normal|italic)?\\s*(normal|small-caps)?\\s*(normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900)?\\s*("+se+"(?:px|cm|mm|em|pt|pc|in)*)(?:\\/(normal|"+se+"))?\\s+(.*)"),za={cx:z0,x:z0,r:"radius",cy:Gi,y:Gi,display:"visible",visibility:"visible",transform:"transformMatrix","fill-opacity":"fillOpacity","fill-rule":"fillRule","font-family":"fontFamily","font-size":"fontSize","font-style":"fontStyle","font-weight":"fontWeight","letter-spacing":"charSpacing","paint-order":"paintFirst","stroke-dasharray":"strokeDashArray","stroke-dashoffset":"strokeDashOffset","stroke-linecap":"strokeLineCap","stroke-linejoin":"strokeLineJoin","stroke-miterlimit":"strokeMiterLimit","stroke-opacity":"strokeOpacity","stroke-width":"strokeWidth","text-decoration":"textDecoration","text-anchor":"textAnchor",opacity:"opacity","clip-path":"clipPath","clip-rule":"clipRule","vector-effect":"strokeUniform","image-rendering":"imageSmoothing"},Tn="font-size",Rn="clip-path",gl=tn(["path","circle","polygon","polyline","ellipse","rect","line","image","text"]),bl=tn(["symbol","image","marker","pattern","view","svg"]),Bo=tn(["symbol","g","a","svg","clipPath","defs"]),vl=new RegExp("^\\s*("+se+"+)\\s*,?\\s*("+se+"+)\\s*,?\\s*("+se+"+)\\s*,?\\s*("+se+"+)\\s*$"),Ja=new K(1,0),cf=new K,R1=(i,e)=>i.rotate(e),Wt=(i,e)=>new K(e).subtract(i),St=i=>i.distanceFrom(cf),Xt=(i,e)=>Math.atan2(j2(i,e),mf(i,e)),df=i=>Xt(Ja,i),nn=i=>i.eq(cf)?i:i.scalarDivide(St(i)),P1=function(i){let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return nn(new K(-i.y,i.x).scalarMultiply(e?1:-1))},j2=(i,e)=>i.x*e.y-i.y*e.x,mf=(i,e)=>i.x*e.x+i.y*e.y,r1=(i,e,r)=>{if(i.eq(e)||i.eq(r))return!0;let t=j2(e,r),n=j2(e,i),f=j2(r,i);return t>=0?n>=0&&f<=0:!(n<=0&&f>=0)},xo="(-?\\d+(?:\\.\\d*)?(?:px)?(?:\\s?|$))?",Zo=new RegExp("(?:\\s|^)"+xo+xo+"("+se+"?(?:px)?)?(?:\\s?|$)(?:$|\\s)"),Oe=class i{constructor(e){let r="string"==typeof e?i.parseShadow(e):e;Object.assign(this,i.ownDefaults,r),this.id=Le()}static parseShadow(i){let e=i.trim(),[,r=0,t=0,n=0]=(Zo.exec(e)||[]).map(i=>parseFloat(i)||0);return{color:(e.replace(Zo,"")||"rgb(0,0,0)").trim(),offsetX:r,offsetY:t,blur:n}}toString(){return[this.offsetX,this.offsetY,this.blur,this.color].join("px ")}toSVG(i){let e=R1(new K(this.offsetX,this.offsetY),si(-i.angle)),r=new xi(this.color),t=40,n=40;return i.width&&i.height&&(t=100*ti((Math.abs(e.x)+this.blur)/i.width,P0.NUM_FRACTION_DIGITS)+20,n=100*ti((Math.abs(e.y)+this.blur)/i.height,P0.NUM_FRACTION_DIGITS)+20),i.flipX&&(e.x*=-1),i.flipY&&(e.y*=-1),'<filter id="SVGID_'.concat(this.id,'" y="-').concat(n,'%" height="').concat(100+2*n,'%" x="-').concat(t,'%" width="').concat(100+2*t,'%" >\n\t<feGaussianBlur in="SourceAlpha" stdDeviation="').concat(ti(this.blur?this.blur/2:0,P0.NUM_FRACTION_DIGITS),'"></feGaussianBlur>\n\t<feOffset dx="').concat(ti(e.x,P0.NUM_FRACTION_DIGITS),'" dy="').concat(ti(e.y,P0.NUM_FRACTION_DIGITS),'" result="oBlur" ></feOffset>\n\t<feFlood flood-color="').concat(r.toRgb(),'" flood-opacity="').concat(r.getAlpha(),'"/>\n\t<feComposite in2="oBlur" operator="in" />\n\t<feMerge>\n\t\t<feMergeNode></feMergeNode>\n\t\t<feMergeNode in="SourceGraphic"></feMergeNode>\n\t</feMerge>\n</filter>\n')}toObject(){let e={color:this.color,blur:this.blur,offsetX:this.offsetX,offsetY:this.offsetY,affectStroke:this.affectStroke,nonScaling:this.nonScaling,type:this.constructor.type},r=i.ownDefaults;return this.includeDefaultValues?e:G1(e,(i,e)=>i!==r[e])}static async fromObject(i){return new this(i)}};R(Oe,"ownDefaults",{color:"rgb(0,0,0)",blur:0,offsetX:0,offsetY:0,affectStroke:!1,includeDefaultValues:!0,nonScaling:!1}),R(Oe,"type","shadow"),d0.setClass(Oe,"shadow");var F2=(i,e,r)=>Math.max(i,Math.min(e,r)),Ha=[Gi,z0,Wi,zi,"flipX","flipY","originX","originY","angle","opacity","globalCompositeOperation","shadow","visible",or,fr],Se=[bi,Mi,"strokeWidth","strokeDashArray","width","height","paintFirst","strokeUniform","strokeLineCap","strokeDashOffset","strokeLineJoin","strokeMiterLimit","backgroundColor","clipPath"],Ua={top:0,left:0,width:0,height:0,angle:0,flipX:!1,flipY:!1,scaleX:1,scaleY:1,minScaleLimit:0,skewX:0,skewY:0,originX:z0,originY:Gi,strokeWidth:1,strokeUniform:!1,padding:0,opacity:1,paintFirst:bi,fill:"rgb(0,0,0)",fillRule:"nonzero",stroke:null,strokeDashArray:null,strokeDashOffset:0,strokeLineCap:"butt",strokeLineJoin:"miter",strokeMiterLimit:4,globalCompositeOperation:"source-over",backgroundColor:"",shadow:null,visible:!0,includeDefaultValues:!0,excludeFromExport:!1,objectCaching:!0,clipPath:void 0,inverted:!1,absolutePositioned:!1,centeredRotation:!0,centeredScaling:!1,dirty:!0},Pn=(i,e,r,t)=>(i<Math.abs(e)?(i=e,t=r/4):t=0===e&&0===i?r/We*Math.asin(1):r/We*Math.asin(e/i),{a:i,c:e,p:r,s:t}),Io=(i,e,r,t,n)=>i*Math.pow(2,10*(t-=1))*Math.sin((t*n-e)*We/r),pf=(i,e,r,t)=>-r*Math.cos(i/t*Ue)+r+e,t1=(i,e,r,t)=>(i/=t)<1/2.75?r*(7.5625*i*i)+e:i<2/2.75?r*(7.5625*(i-=1.5/2.75)*i+.75)+e:i<2.5/2.75?r*(7.5625*(i-=2.25/2.75)*i+.9375)+e:r*(7.5625*(i-=2.625/2.75)*i+.984375)+e,Eo=(i,e,r,t)=>r-t1(t-i,0,r,t)+e,La=Object.freeze({__proto__:null,defaultEasing:pf,easeInBack:function(i,e,r,t){let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1.70158;return r*(i/=t)*i*((n+1)*i-n)+e},easeInBounce:Eo,easeInCirc:(i,e,r,t)=>-r*(Math.sqrt(1-(i/=t)*i)-1)+e,easeInCubic:(i,e,r,t)=>r*(i/t)**3+e,easeInElastic:(i,e,r,t)=>{let n=r,f=0;if(0===i)return e;if(1===(i/=t))return e+r;f||(f=.3*t);let{a:a,s:o,p:A}=Pn(n,r,f,1.70158);return-Io(a,o,A,i,t)+e},easeInExpo:(i,e,r,t)=>0===i?e:r*2**(10*(i/t-1))+e,easeInOutBack:function(i,e,r,t){let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1.70158;return(i/=t/2)<1?r/2*(i*i*((1+(n*=1.525))*i-n))+e:r/2*((i-=2)*i*((1+(n*=1.525))*i+n)+2)+e},easeInOutBounce:(i,e,r,t)=>i<t/2?.5*Eo(2*i,0,r,t)+e:.5*t1(2*i-t,0,r,t)+.5*r+e,easeInOutCirc:(i,e,r,t)=>(i/=t/2)<1?-r/2*(Math.sqrt(1-i**2)-1)+e:r/2*(Math.sqrt(1-(i-=2)*i)+1)+e,easeInOutCubic:(i,e,r,t)=>(i/=t/2)<1?r/2*i**3+e:r/2*((i-2)**3+2)+e,easeInOutElastic:(i,e,r,t)=>{let n=r,f=0;if(0===i)return e;if(2==(i/=t/2))return e+r;f||(f=t*(.3*1.5));let{a:a,s:o,p:A,c:s}=Pn(n,r,f,1.70158);return i<1?-.5*Io(a,o,A,i,t)+e:a*Math.pow(2,-10*(i-=1))*Math.sin((i*t-o)*We/A)*.5+s+e},easeInOutExpo:(i,e,r,t)=>0===i?e:i===t?e+r:(i/=t/2)<1?r/2*2**(10*(i-1))+e:r/2*-(2**(-10*--i)+2)+e,easeInOutQuad:(i,e,r,t)=>(i/=t/2)<1?r/2*i**2+e:-r/2*(--i*(i-2)-1)+e,easeInOutQuart:(i,e,r,t)=>(i/=t/2)<1?r/2*i**4+e:-r/2*((i-=2)*i**3-2)+e,easeInOutQuint:(i,e,r,t)=>(i/=t/2)<1?r/2*i**5+e:r/2*((i-2)**5+2)+e,easeInOutSine:(i,e,r,t)=>-r/2*(Math.cos(Math.PI*i/t)-1)+e,easeInQuad:(i,e,r,t)=>r*(i/=t)*i+e,easeInQuart:(i,e,r,t)=>r*(i/=t)*i**3+e,easeInQuint:(i,e,r,t)=>r*(i/t)**5+e,easeInSine:(i,e,r,t)=>-r*Math.cos(i/t*Ue)+r+e,easeOutBack:function(i,e,r,t){let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1.70158;return r*((i=i/t-1)*i*((n+1)*i+n)+1)+e},easeOutBounce:t1,easeOutCirc:(i,e,r,t)=>r*Math.sqrt(1-(i=i/t-1)*i)+e,easeOutCubic:(i,e,r,t)=>r*((i/t-1)**3+1)+e,easeOutElastic:(i,e,r,t)=>{let n=r,f=0;if(0===i)return e;if(1===(i/=t))return e+r;f||(f=.3*t);let{a:a,s:o,p:A,c:s}=Pn(n,r,f,1.70158);return a*2**(-10*i)*Math.sin((i*t-o)*We/A)+s+e},easeOutExpo:(i,e,r,t)=>i===t?e+r:r*-(2**(-10*i/t)+1)+e,easeOutQuad:(i,e,r,t)=>-r*(i/=t)*(i-2)+e,easeOutQuart:(i,e,r,t)=>-r*((i=i/t-1)*i**3-1)+e,easeOutQuint:(i,e,r,t)=>r*((i/t-1)**5+1)+e,easeOutSine:(i,e,r,t)=>r*Math.sin(i/t*Ue)+e}),ja=()=>!1,Sr=class{constructor(i){let{startValue:e,byValue:r,duration:t=500,delay:n=0,easing:f=pf,onStart:a=Z2,onChange:o=Z2,onComplete:A=Z2,abort:s=ja,target:l}=i;R(this,"_state","pending"),R(this,"durationProgress",0),R(this,"valueProgress",0),this.tick=this.tick.bind(this),this.duration=t,this.delay=n,this.easing=f,this._onStart=a,this._onChange=o,this._onComplete=A,this._abort=s,this.target=l,this.startValue=e,this.byValue=r,this.value=this.startValue,this.endValue=Object.freeze(this.calculate(this.duration).value)}get state(){return this._state}isDone(){return"aborted"===this._state||"completed"===this._state}start(){let i=i=>{"pending"===this._state&&(this.startTime=i||+new Date,this._state="running",this._onStart(),this.tick(this.startTime))};this.register(),this.delay>0?setTimeout(()=>Cr(i),this.delay):Cr(i)}tick(i){let e=(i||+new Date)-this.startTime,r=Math.min(e,this.duration);this.durationProgress=r/this.duration;let{value:t,valueProgress:n}=this.calculate(r);this.value=Object.freeze(t),this.valueProgress=n,"aborted"!==this._state&&(this._abort(this.value,this.valueProgress,this.durationProgress)?(this._state="aborted",this.unregister()):e>=this.duration?(this.durationProgress=this.valueProgress=1,this._onChange(this.endValue,this.valueProgress,this.durationProgress),this._state="completed",this._onComplete(this.endValue,this.valueProgress,this.durationProgress),this.unregister()):(this._onChange(this.value,this.valueProgress,this.durationProgress),Cr(this.tick)))}register(){Bt.push(this)}unregister(){Bt.remove(this)}abort(){this._state="aborted",this.unregister()}},$a=["startValue","endValue"],n1=class extends Sr{constructor(i){let{startValue:e=0,endValue:r=100}=i;super(P(P({},ni(i,$a)),{},{startValue:e,byValue:r-e}))}calculate(i){let e=this.easing(i,this.startValue,this.byValue,this.duration);return{value:e,valueProgress:Math.abs((e-this.startValue)/this.byValue)}}},qa=["startValue","endValue"],o1=class extends Sr{constructor(i){let{startValue:e=[0],endValue:r=[100]}=i;super(P(P({},ni(i,qa)),{},{startValue:e,byValue:r.map((i,r)=>i-e[r])}))}calculate(i){let e=this.startValue.map((e,r)=>this.easing(i,e,this.byValue[r],this.duration,r));return{value:e,valueProgress:Math.abs((e[0]-this.startValue[0])/this.byValue[0])}}},Ka=["startValue","endValue","easing","onChange","onComplete","abort"],is=(i,e,r,t)=>e+r*(1-Math.cos(i/t*Ue)),Nn=i=>i&&((e,r,t)=>i(new xi(e).toRgba(),r,t)),f1=class extends Sr{constructor(i){let{startValue:e,endValue:r,easing:t=is,onChange:n,onComplete:f,abort:a}=i,o=ni(i,Ka),A=new xi(e).getSource(),s=new xi(r).getSource();super(P(P({},o),{},{startValue:A,byValue:s.map((i,e)=>i-A[e]),easing:t,onChange:Nn(n),onComplete:Nn(f),abort:Nn(a)}))}calculate(i){let[e,r,t,n]=this.startValue.map((e,r)=>this.easing(i,e,this.byValue[r],this.duration,r)),f=[...[e,r,t].map(Math.round),F2(0,n,1)];return{value:f,valueProgress:f.map((i,e)=>0!==this.byValue[e]?Math.abs((i-this.startValue[e])/this.byValue[e]):0).find(i=>0!==i)||0}}};function N1(i){let e=(r=i,Array.isArray(r.startValue)||Array.isArray(r.endValue)?new o1(i):new n1(i));var r;return e.start(),e}function gf(i){let e=new f1(i);return e.start(),e}var E2=class i{constructor(i){this.status=i,this.points=[]}includes(i){return this.points.some(e=>e.eq(i))}append(){for(var i=arguments.length,e=new Array(i),r=0;r<i;r++)e[r]=arguments[r];return this.points=this.points.concat(e.filter(i=>!this.includes(i))),this}static isPointContained(i,e,r){let t=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(e.eq(r))return i.eq(e);if(e.x===r.x)return i.x===e.x&&(t||i.y>=Math.min(e.y,r.y)&&i.y<=Math.max(e.y,r.y));if(e.y===r.y)return i.y===e.y&&(t||i.x>=Math.min(e.x,r.x)&&i.x<=Math.max(e.x,r.x));{let n=Wt(e,r),f=Wt(e,i).divide(n);return t?Math.abs(f.x)===Math.abs(f.y):f.x===f.y&&f.x>=0&&f.x<=1}}static isPointInPolygon(i,e){let r=new K(i).setX(Math.min(i.x-1,...e.map(i=>i.x))),t=0;for(let n=0;n<e.length;n++){let f=this.intersectSegmentSegment(e[n],e[(n+1)%e.length],i,r);if(f.includes(i))return!0;t+=+("Intersection"===f.status)}return t%2==1}static intersectLineLine(e,r,t,n){let f=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],o=r.x-e.x,A=r.y-e.y,s=n.x-t.x,l=n.y-t.y,k=e.x-t.x,h=e.y-t.y,u=s*h-l*k,c=o*h-A*k,d=l*o-s*A;if(0!==d){let r=u/d,t=c/d;return(f||0<=r&&r<=1)&&(a||0<=t&&t<=1)?new i("Intersection").append(new K(e.x+r*o,e.y+r*A)):new i}if(0===u||0===c){let o=f||a||i.isPointContained(e,t,n)||i.isPointContained(r,t,n)||i.isPointContained(t,e,r)||i.isPointContained(n,e,r);return new i(o?"Coincident":void 0)}return new i("Parallel")}static intersectSegmentLine(e,r,t,n){return i.intersectLineLine(e,r,t,n,!1,!0)}static intersectSegmentSegment(e,r,t,n){return i.intersectLineLine(e,r,t,n,!1,!1)}static intersectLinePolygon(e,r,t){let n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],f=new i,a=t.length;for(let o,A,s,l=0;l<a;l++){if(o=t[l],A=t[(l+1)%a],s=i.intersectLineLine(e,r,o,A,n,!1),"Coincident"===s.status)return s;f.append(...s.points)}return f.points.length>0&&(f.status="Intersection"),f}static intersectSegmentPolygon(e,r,t){return i.intersectLinePolygon(e,r,t,!1)}static intersectPolygonPolygon(e,r){let t=new i,n=e.length,f=[];for(let a=0;a<n;a++){let o=e[a],A=e[(a+1)%n],s=i.intersectSegmentPolygon(o,A,r);"Coincident"===s.status?(f.push(s),t.append(o,A)):t.append(...s.points)}return f.length>0&&f.length===e.length?new i("Coincident"):(t.points.length>0&&(t.status="Intersection"),t)}static intersectPolygonRectangle(e,r,t){let n=r.min(t),f=r.max(t),a=new K(f.x,n.y),o=new K(n.x,f.y);return i.intersectPolygonPolygon(e,[n,a,f,o])}},a1=class extends xt{getX(){return this.getXY().x}setX(i){this.setXY(this.getXY().setX(i))}getY(){return this.getXY().y}setY(i){this.setXY(this.getXY().setY(i))}getRelativeX(){return this.left}setRelativeX(i){this.left=i}getRelativeY(){return this.top}setRelativeY(i){this.top=i}getXY(){let i=this.getRelativeXY();return this.group?Bi(i,this.group.calcTransformMatrix()):i}setXY(i,e,r){this.group&&(i=Bi(i,Oi(this.group.calcTransformMatrix()))),this.setRelativeXY(i,e,r)}getRelativeXY(){return new K(this.left,this.top)}setRelativeXY(i){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.originX,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.originY;this.setPositionByOrigin(i,e,r)}isStrokeAccountedForInDimensions(){return!1}getCoords(){let{tl:i,tr:e,br:r,bl:t}=this.aCoords||(this.aCoords=this.calcACoords()),n=[i,e,r,t];if(this.group){let i=this.group.calcTransformMatrix();return n.map(e=>Bi(e,i))}return n}intersectsWithRect(i,e){return"Intersection"===E2.intersectPolygonRectangle(this.getCoords(),i,e).status}intersectsWithObject(i){let e=E2.intersectPolygonPolygon(this.getCoords(),i.getCoords());return"Intersection"===e.status||"Coincident"===e.status||i.isContainedWithinObject(this)||this.isContainedWithinObject(i)}isContainedWithinObject(i){return this.getCoords().every(e=>i.containsPoint(e))}isContainedWithinRect(i,e){let{left:r,top:t,width:n,height:f}=this.getBoundingRect();return r>=i.x&&r+n<=e.x&&t>=i.y&&t+f<=e.y}isOverlapping(i){return this.intersectsWithObject(i)||this.isContainedWithinObject(i)||i.isContainedWithinObject(this)}containsPoint(i){return E2.isPointInPolygon(i,this.getCoords())}isOnScreen(){if(!this.canvas)return!1;let{tl:i,br:e}=this.canvas.vptCoords;return!!this.getCoords().some(r=>r.x<=e.x&&r.x>=i.x&&r.y<=e.y&&r.y>=i.y)||!!this.intersectsWithRect(i,e)||this.containsPoint(i.midPointFrom(e))}isPartiallyOnScreen(){if(!this.canvas)return!1;let{tl:i,br:e}=this.canvas.vptCoords;return!!this.intersectsWithRect(i,e)||this.getCoords().every(r=>(r.x>=e.x||r.x<=i.x)&&(r.y>=e.y||r.y<=i.y))&&this.containsPoint(i.midPointFrom(e))}getBoundingRect(){return be(this.getCoords())}getScaledWidth(){return this._getTransformedDimensions().x}getScaledHeight(){return this._getTransformedDimensions().y}scale(i){this._set(Wi,i),this._set(zi,i),this.setCoords()}scaleToWidth(i){let e=this.getBoundingRect().width/this.getScaledWidth();return this.scale(i/this.width/e)}scaleToHeight(i){let e=this.getBoundingRect().height/this.getScaledHeight();return this.scale(i/this.height/e)}getCanvasRetinaScaling(){var i;return(null===(i=this.canvas)||void 0===i?void 0:i.getRetinaScaling())||1}getTotalAngle(){return this.group?je(Ko(this.calcTransformMatrix())):this.angle}getViewportTransform(){var i;return(null===(i=this.canvas)||void 0===i?void 0:i.viewportTransform)||Fi.concat()}calcACoords(){let i=sr({angle:this.angle}),{x:e,y:r}=this.getRelativeCenterPoint(),t=ar(e,r),n=Ai(t,i),f=this._getTransformedDimensions(),a=f.x/2,o=f.y/2;return{tl:Bi({x:-a,y:-o},n),tr:Bi({x:a,y:-o},n),bl:Bi({x:-a,y:o},n),br:Bi({x:a,y:o},n)}}setCoords(){this.aCoords=this.calcACoords()}transformMatrixKey(){let i=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=[];return!i&&this.group&&(e=this.group.transformMatrixKey(i)),e.push(this.top,this.left,this.width,this.height,this.scaleX,this.scaleY,this.angle,this.strokeWidth,this.skewX,this.skewY,+this.flipX,+this.flipY,gi(this.originX),gi(this.originY)),e}calcTransformMatrix(){let i=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.calcOwnMatrix();if(i||!this.group)return e;let r=this.transformMatrixKey(i),t=this.matrixCache;return t&&t.key.every((i,e)=>i===r[e])?t.value:(this.group&&(e=Ai(this.group.calcTransformMatrix(!1),e)),this.matrixCache={key:r,value:e},e)}calcOwnMatrix(){let i=this.transformMatrixKey(!0),e=this.ownMatrixCache;if(e&&e.key===i)return e.value;let r=this.getRelativeCenterPoint(),t={angle:this.angle,translateX:r.x,translateY:r.y,scaleX:this.scaleX,scaleY:this.scaleY,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY},n=rf(t);return this.ownMatrixCache={key:i,value:n},n}_getNonTransformedDimensions(){return new K(this.width,this.height).scalarAdd(this.strokeWidth)}_calculateCurrentDimensions(i){return this._getTransformedDimensions(i).transform(this.getViewportTransform(),!0).scalarAdd(2*this.padding)}_getTransformedDimensions(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=P({scaleX:this.scaleX,scaleY:this.scaleY,skewX:this.skewX,skewY:this.skewY,width:this.width,height:this.height,strokeWidth:this.strokeWidth},i),r=e.strokeWidth,t=r,n=0;this.strokeUniform&&(t=0,n=r);let f,a=e.width+t,o=e.height+t;return f=0===e.skewX&&0===e.skewY?new K(a*e.scaleX,o*e.scaleY):en(a,o,Gr(e)),f.scalarAdd(n)}translateToGivenOrigin(i,e,r,t,n){let f=i.x,a=i.y,o=gi(t)-gi(e),A=gi(n)-gi(r);if(o||A){let i=this._getTransformedDimensions();f+=o*i.x,a+=A*i.y}return new K(f,a)}translateToCenterPoint(i,e,r){if(e===V0&&r===V0)return i;let t=this.translateToGivenOrigin(i,e,r,V0,V0);return this.angle?t.rotate(si(this.angle),i):t}translateToOriginPoint(i,e,r){let t=this.translateToGivenOrigin(i,V0,V0,e,r);return this.angle?t.rotate(si(this.angle),i):t}getCenterPoint(){let i=this.getRelativeCenterPoint();return this.group?Bi(i,this.group.calcTransformMatrix()):i}getRelativeCenterPoint(){return this.translateToCenterPoint(new K(this.left,this.top),this.originX,this.originY)}getPointByOrigin(i,e){return this.translateToOriginPoint(this.getRelativeCenterPoint(),i,e)}setPositionByOrigin(i,e,r){let t=this.translateToCenterPoint(i,e,r),n=this.translateToOriginPoint(t,this.originX,this.originY);this.set({left:n.x,top:n.y})}_getLeftTopCoords(){return this.translateToOriginPoint(this.getRelativeCenterPoint(),z0,Gi)}},es=["type"],rs=["extraParam"],xe=class i extends a1{static getDefaults(){return i.ownDefaults}get type(){let i=this.constructor.type;return"FabricObject"===i?"object":i.toLowerCase()}set type(i){He("warn","Setting type has no effect",i)}constructor(e){super(),R(this,"_cacheContext",null),Object.assign(this,i.ownDefaults),this.setOptions(e)}_createCacheCanvas(){this._cacheCanvas=Ki(),this._cacheContext=this._cacheCanvas.getContext("2d"),this._updateCacheCanvas(),this.dirty=!0}_limitCacheSize(i){let e=i.width,r=i.height,t=P0.maxCacheSideLimit,n=P0.minCacheSideLimit;if(e<=t&&r<=t&&e*r<=P0.perfLimitSizeTotal)return e<n&&(i.width=n),r<n&&(i.height=n),i;let f=e/r,[a,o]=yr.limitDimsByArea(f),A=F2(n,a,t),s=F2(n,o,t);return e>A&&(i.zoomX/=e/A,i.width=A,i.capped=!0),r>s&&(i.zoomY/=r/s,i.height=s,i.capped=!0),i}_getCacheCanvasDimensions(){let i=this.getTotalObjectScaling(),e=this._getTransformedDimensions({skewX:0,skewY:0}),r=e.x*i.x/this.scaleX,t=e.y*i.y/this.scaleY;return{width:Math.ceil(r+2),height:Math.ceil(t+2),zoomX:i.x,zoomY:i.y,x:r,y:t}}_updateCacheCanvas(){let i=this._cacheCanvas,e=this._cacheContext,{width:r,height:t,zoomX:n,zoomY:f,x:a,y:o}=this._limitCacheSize(this._getCacheCanvasDimensions()),A=r!==i.width||t!==i.height,s=this.zoomX!==n||this.zoomY!==f;if(!i||!e)return!1;if(A||s){r!==i.width||t!==i.height?(i.width=r,i.height=t):(e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,i.width,i.height));let A=a/2,s=o/2;return this.cacheTranslationX=Math.round(i.width/2-A)+A,this.cacheTranslationY=Math.round(i.height/2-s)+s,e.translate(this.cacheTranslationX,this.cacheTranslationY),e.scale(n,f),this.zoomX=n,this.zoomY=f,!0}return!1}setOptions(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._setOptions(i)}transform(i){let e=this.group&&!this.group._transformDone||this.group&&this.canvas&&i===this.canvas.contextTop,r=this.calcTransformMatrix(!e);i.transform(r[0],r[1],r[2],r[3],r[4],r[5])}getObjectScaling(){if(!this.group)return new K(Math.abs(this.scaleX),Math.abs(this.scaleY));let i=q2(this.calcTransformMatrix());return new K(Math.abs(i.scaleX),Math.abs(i.scaleY))}getTotalObjectScaling(){let i=this.getObjectScaling();if(this.canvas){let e=this.canvas.getZoom(),r=this.getCanvasRetinaScaling();return i.scalarMultiply(e*r)}return i}getObjectOpacity(){let i=this.opacity;return this.group&&(i*=this.group.getObjectOpacity()),i}_constrainScale(i){return Math.abs(i)<this.minScaleLimit?i<0?-this.minScaleLimit:this.minScaleLimit:0===i?1e-4:i}_set(i,e){i!==Wi&&i!==zi||(e=this._constrainScale(e)),i===Wi&&e<0?(this.flipX=!this.flipX,e*=-1):"scaleY"===i&&e<0?(this.flipY=!this.flipY,e*=-1):"shadow"!==i||!e||e instanceof Oe||(e=new Oe(e));let r=this[i]!==e;return this[i]=e,r&&this.constructor.cacheProperties.includes(i)&&(this.dirty=!0),this.parent&&(this.dirty||r&&this.constructor.stateProperties.includes(i))&&this.parent._set("dirty",!0),this}isNotVisible(){return 0===this.opacity||!this.width&&!this.height&&0===this.strokeWidth||!this.visible}render(i){this.isNotVisible()||this.canvas&&this.canvas.skipOffscreen&&!this.group&&!this.isOnScreen()||(i.save(),this._setupCompositeOperation(i),this.drawSelectionBackground(i),this.transform(i),this._setOpacity(i),this._setShadow(i),this.shouldCache()?(this.renderCache(),this.drawCacheOnCanvas(i)):(this._removeCacheCanvas(),this.drawObject(i,!1,{}),this.dirty=!1),i.restore())}drawSelectionBackground(i){}renderCache(i){if(i=i||{},this._cacheCanvas&&this._cacheContext||this._createCacheCanvas(),this.isCacheDirty()&&this._cacheContext){let{zoomX:e,zoomY:r,cacheTranslationX:t,cacheTranslationY:n}=this,{width:f,height:a}=this._cacheCanvas;this.drawObject(this._cacheContext,i.forClipping,{zoomX:e,zoomY:r,cacheTranslationX:t,cacheTranslationY:n,width:f,height:a,parentClipPaths:[]}),this.dirty=!1}}_removeCacheCanvas(){this._cacheCanvas=void 0,this._cacheContext=null}hasStroke(){return this.stroke&&"transparent"!==this.stroke&&0!==this.strokeWidth}hasFill(){return this.fill&&"transparent"!==this.fill}needsItsOwnCache(){return!!(this.paintFirst===Mi&&this.hasFill()&&this.hasStroke()&&this.shadow)||!!this.clipPath}shouldCache(){return this.ownCaching=this.objectCaching&&(!this.parent||!this.parent.isOnACache())||this.needsItsOwnCache(),this.ownCaching}willDrawShadow(){return!!this.shadow&&(0!==this.shadow.offsetX||0!==this.shadow.offsetY)}drawClipPathOnCache(i,e,r){i.save(),e.inverted?i.globalCompositeOperation="destination-out":i.globalCompositeOperation="destination-in",i.setTransform(1,0,0,1,0,0),i.drawImage(r,0,0),i.restore()}drawObject(i,e,r){let t=this.fill,n=this.stroke;e?(this.fill="black",this.stroke="",this._setClippingProperties(i)):this._renderBackground(i),this._render(i),this._drawClipPath(i,this.clipPath,r),this.fill=t,this.stroke=n}createClipPathLayer(i,e){let r=ue(e),t=r.getContext("2d");if(t.translate(e.cacheTranslationX,e.cacheTranslationY),t.scale(e.zoomX,e.zoomY),i._cacheCanvas=r,e.parentClipPaths.forEach(i=>{i.transform(t)}),e.parentClipPaths.push(i),i.absolutePositioned){let i=Oi(this.calcTransformMatrix());t.transform(i[0],i[1],i[2],i[3],i[4],i[5])}return i.transform(t),i.drawObject(t,!0,e),r}_drawClipPath(i,e,r){if(!e)return;e._transformDone=!0;let t=this.createClipPathLayer(e,r);this.drawClipPathOnCache(i,e,t)}drawCacheOnCanvas(i){i.scale(1/this.zoomX,1/this.zoomY),i.drawImage(this._cacheCanvas,-this.cacheTranslationX,-this.cacheTranslationY)}isCacheDirty(){let i=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.isNotVisible())return!1;let e=this._cacheCanvas,r=this._cacheContext;return!(!e||!r||i||!this._updateCacheCanvas())||!!(this.dirty||this.clipPath&&this.clipPath.absolutePositioned)&&(e&&r&&!i&&(r.save(),r.setTransform(1,0,0,1,0,0),r.clearRect(0,0,e.width,e.height),r.restore()),!0)}_renderBackground(i){if(!this.backgroundColor)return;let e=this._getNonTransformedDimensions();i.fillStyle=this.backgroundColor,i.fillRect(-e.x/2,-e.y/2,e.x,e.y),this._removeShadow(i)}_setOpacity(i){this.group&&!this.group._transformDone?i.globalAlpha=this.getObjectOpacity():i.globalAlpha*=this.opacity}_setStrokeStyles(i,e){let r=e.stroke;r&&(i.lineWidth=e.strokeWidth,i.lineCap=e.strokeLineCap,i.lineDashOffset=e.strokeDashOffset,i.lineJoin=e.strokeLineJoin,i.miterLimit=e.strokeMiterLimit,ji(r)?"percentage"===r.gradientUnits||r.gradientTransform||r.patternTransform?this._applyPatternForTransformedGradient(i,r):(i.strokeStyle=r.toLive(i),this._applyPatternGradientTransform(i,r)):i.strokeStyle=e.stroke)}_setFillStyles(i,e){let{fill:r}=e;r&&(ji(r)?(i.fillStyle=r.toLive(i),this._applyPatternGradientTransform(i,r)):i.fillStyle=r)}_setClippingProperties(i){i.globalAlpha=1,i.strokeStyle="transparent",i.fillStyle="#000000"}_setLineDash(i,e){e&&0!==e.length&&i.setLineDash(e)}_setShadow(i){if(!this.shadow)return;let e=this.shadow,r=this.canvas,t=this.getCanvasRetinaScaling(),[n,,,f]=r?.viewportTransform||Fi,a=n*t,o=f*t,A=e.nonScaling?new K(1,1):this.getObjectScaling();i.shadowColor=e.color,i.shadowBlur=e.blur*P0.browserShadowBlurConstant*(a+o)*(A.x+A.y)/4,i.shadowOffsetX=e.offsetX*a*A.x,i.shadowOffsetY=e.offsetY*o*A.y}_removeShadow(i){this.shadow&&(i.shadowColor="",i.shadowBlur=i.shadowOffsetX=i.shadowOffsetY=0)}_applyPatternGradientTransform(i,e){if(!ji(e))return{offsetX:0,offsetY:0};let r=e.gradientTransform||e.patternTransform,t=-this.width/2+e.offsetX||0,n=-this.height/2+e.offsetY||0;return"percentage"===e.gradientUnits?i.transform(this.width,0,0,this.height,t,n):i.transform(1,0,0,1,t,n),r&&i.transform(r[0],r[1],r[2],r[3],r[4],r[5]),{offsetX:t,offsetY:n}}_renderPaintInOrder(i){this.paintFirst===Mi?(this._renderStroke(i),this._renderFill(i)):(this._renderFill(i),this._renderStroke(i))}_render(i){}_renderFill(i){this.fill&&(i.save(),this._setFillStyles(i,this),"evenodd"===this.fillRule?i.fill("evenodd"):i.fill(),i.restore())}_renderStroke(i){if(this.stroke&&0!==this.strokeWidth){if(this.shadow&&!this.shadow.affectStroke&&this._removeShadow(i),i.save(),this.strokeUniform){let e=this.getObjectScaling();i.scale(1/e.x,1/e.y)}this._setLineDash(i,this.strokeDashArray),this._setStrokeStyles(i,this),i.stroke(),i.restore()}}_applyPatternForTransformedGradient(i,e){var r;let t=this._limitCacheSize(this._getCacheCanvasDimensions()),n=this.getCanvasRetinaScaling(),f=t.x/this.scaleX/n,a=t.y/this.scaleY/n,o=ue({width:Math.ceil(f),height:Math.ceil(a)}),A=o.getContext("2d");A&&(A.beginPath(),A.moveTo(0,0),A.lineTo(f,0),A.lineTo(f,a),A.lineTo(0,a),A.closePath(),A.translate(f/2,a/2),A.scale(t.zoomX/this.scaleX/n,t.zoomY/this.scaleY/n),this._applyPatternGradientTransform(A,e),A.fillStyle=e.toLive(i),A.fill(),i.translate(-this.width/2-this.strokeWidth/2,-this.height/2-this.strokeWidth/2),i.scale(n*this.scaleX/t.zoomX,n*this.scaleY/t.zoomY),i.strokeStyle=null!==(r=A.createPattern(o,"no-repeat"))&&void 0!==r?r:"")}_findCenterFromElement(){return new K(this.left+this.width/2,this.top+this.height/2)}clone(i){let e=this.toObject(i);return this.constructor.fromObject(e)}cloneAsImage(i){let e=this.toCanvasElement(i);return new(d0.getClass("image"))(e)}toCanvasElement(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=D1(this),r=this.group,t=this.shadow,n=Math.abs,f=i.enableRetinaScaling?Oo():1,a=(i.multiplier||1)*f,o=i.canvasProvider||(i=>new Wr(i,{enableRetinaScaling:!1,renderOnAddRemove:!1,skipOffscreen:!1}));delete this.group,i.withoutTransform&&Af(this),i.withoutShadow&&(this.shadow=null),i.viewportTransform&&e1(this,this.getViewportTransform()),this.setCoords();let A=Ki(),s=this.getBoundingRect(),l=this.shadow,k=new K;if(l){let i=l.blur,e=l.nonScaling?new K(1,1):this.getObjectScaling();k.x=2*Math.round(n(l.offsetX)+i)*n(e.x),k.y=2*Math.round(n(l.offsetY)+i)*n(e.y)}let h=s.width+k.x,u=s.height+k.y;A.width=Math.ceil(h),A.height=Math.ceil(u);let c=o(A);"jpeg"===i.format&&(c.backgroundColor="#fff"),this.setPositionByOrigin(new K(c.width/2,c.height/2),V0,V0);let d=this.canvas;c._objects=[this],this.set("canvas",c),this.setCoords();let b=c.toCanvasElement(a||1,i);return this.set("canvas",d),this.shadow=t,r&&(this.group=r),this.set(e),this.setCoords(),c._objects=[],c.destroy(),b}toDataURL(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return S1(this.toCanvasElement(i),i.format||"png",i.quality||1)}isType(){for(var i=arguments.length,e=new Array(i),r=0;r<i;r++)e[r]=arguments[r];return e.includes(this.constructor.type)||e.includes(this.type)}complexity(){return 1}toJSON(){return this.toObject()}rotate(i){let{centeredRotation:e,originX:r,originY:t}=this;if(e){let{x:i,y:e}=this.getRelativeCenterPoint();this.originX=V0,this.originY=V0,this.left=i,this.top=e}if(this.set("angle",i),e){let{x:i,y:e}=this.translateToOriginPoint(this.getRelativeCenterPoint(),r,t);this.left=i,this.top=e,this.originX=r,this.originY=t}}setOnGroup(){}_setupCompositeOperation(i){this.globalCompositeOperation&&(i.globalCompositeOperation=this.globalCompositeOperation)}dispose(){Bt.cancelByTarget(this),this.off(),this._set("canvas",void 0),this._cacheCanvas&&ve().dispose(this._cacheCanvas),this._cacheCanvas=void 0,this._cacheContext=null}animate(i,e){return Object.entries(i).reduce((i,r)=>{let[t,n]=r;return i[t]=this._animate(t,n,e),i},{})}_animate(i,e){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},t=i.split("."),n=this.constructor.colorProperties.includes(t[t.length-1]),{abort:f,startValue:a,onChange:o,onComplete:A}=r,s=P(P({},r),{},{target:this,startValue:a??t.reduce((i,e)=>i[e],this),endValue:e,abort:f?.bind(this),onChange:(i,e,r)=>{t.reduce((e,r,n)=>(n===t.length-1&&(e[r]=i),e[r]),this),o&&o(i,e,r)},onComplete:(i,e,r)=>{this.setCoords(),A&&A(i,e,r)}});return n?gf(s):N1(s)}isDescendantOf(i){let{parent:e,group:r}=this;return e===i||r===i||!!e&&e.isDescendantOf(i)||!!r&&r!==e&&r.isDescendantOf(i)}getAncestors(){let i=[],e=this;do{e=e.parent,e&&i.push(e)}while(e);return i}findCommonAncestors(i){if(this===i)return{fork:[],otherFork:[],common:[this,...this.getAncestors()]};let e=this.getAncestors(),r=i.getAncestors();if(0===e.length&&r.length>0&&this===r[r.length-1])return{fork:[],otherFork:[i,...r.slice(0,r.length-1)],common:[this]};for(let t,n=0;n<e.length;n++){if(t=e[n],t===i)return{fork:[this,...e.slice(0,n)],otherFork:[],common:e.slice(n)};for(let f=0;f<r.length;f++){if(this===r[f])return{fork:[],otherFork:[i,...r.slice(0,f)],common:[this,...e]};if(t===r[f])return{fork:[this,...e.slice(0,n)],otherFork:[i,...r.slice(0,f)],common:e.slice(n)}}}return{fork:[this,...e],otherFork:[i,...r],common:[]}}hasCommonAncestors(i){let e=this.findCommonAncestors(i);return e&&!!e.common.length}isInFrontOf(i){if(this===i)return;let e=this.findCommonAncestors(i);if(e.fork.includes(i))return!0;if(e.otherFork.includes(this))return!1;let r=e.common[0]||this.canvas;if(!r)return;let t=e.fork.pop(),n=e.otherFork.pop(),f=r._objects.indexOf(t),a=r._objects.indexOf(n);return f>-1&&f>a}toObject(){let e,r=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).concat(i.customProperties,this.constructor.customProperties||[]),t=P0.NUM_FRACTION_DIGITS,{clipPath:n,fill:f,stroke:a,shadow:o,strokeDashArray:A,left:s,top:l,originX:k,originY:h,width:u,height:c,strokeWidth:d,strokeLineCap:b,strokeDashOffset:p,strokeLineJoin:g,strokeUniform:m,strokeMiterLimit:v,scaleX:w,scaleY:_,angle:y,flipX:C,flipY:B,opacity:x,visible:Z,backgroundColor:I,fillRule:W,paintFirst:E,globalCompositeOperation:F,skewX:S,skewY:X}=this;n&&!n.excludeFromExport&&(e=n.toObject(r.concat("inverted","absolutePositioned")));let V=i=>ti(i,t),G=P(P({},S2(this,r)),{},{type:this.constructor.type,version:jn,originX:k,originY:h,left:V(s),top:V(l),width:V(u),height:V(c),fill:vo(f)?f.toObject():f,stroke:vo(a)?a.toObject():a,strokeWidth:V(d),strokeDashArray:A&&A.concat(),strokeLineCap:b,strokeDashOffset:p,strokeLineJoin:g,strokeUniform:m,strokeMiterLimit:V(v),scaleX:V(w),scaleY:V(_),angle:V(y),flipX:C,flipY:B,opacity:V(x),shadow:o&&o.toObject(),visible:Z,backgroundColor:I,fillRule:W,paintFirst:E,globalCompositeOperation:F,skewX:V(S),skewY:V(X)},e?{clipPath:e}:null);return this.includeDefaultValues?G:this._removeDefaultValues(G)}toDatalessObject(i){return this.toObject(i)}_removeDefaultValues(i){let e=this.constructor.getDefaults(),r=Object.keys(e).length>0?e:Object.getPrototypeOf(this);return G1(i,(i,e)=>{if(e===z0||e===Gi||"type"===e)return!0;let t=r[e];return i!==t&&!(Array.isArray(i)&&Array.isArray(t)&&0===i.length&&0===t.length)})}toString(){return"#<".concat(this.constructor.type,">")}static _fromObject(i){let e=ni(i,es),r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{extraParam:t}=r,n=ni(r,rs);return Dr(e,n).then(i=>t?(delete i[t],new this(e[t],i)):new this(i))}static fromObject(i,e){return this._fromObject(i,e)}};R(xe,"stateProperties",Ha),R(xe,"cacheProperties",Se),R(xe,"ownDefaults",Ua),R(xe,"type","FabricObject"),R(xe,"colorProperties",[bi,Mi,"backgroundColor"]),R(xe,"customProperties",[]),d0.setClass(xe),d0.setClass(xe,"object");var qe=(i,e,r)=>(t,n,f,a)=>{let o=e(t,n,f,a);return o&&M1(i,P(P({},T1(t,n,f,a)),r)),o};function X2(i){return(e,r,t,n)=>{let{target:f,originX:a,originY:o}=r,A=f.getRelativeCenterPoint(),s=f.translateToOriginPoint(A,a,o),l=i(e,r,t,n);return f.setPositionByOrigin(s,r.originX,r.originY),l}}var s1=qe(Ir,X2((i,e,r,t)=>{let n=rn(e,e.originX,e.originY,r,t);if(gi(e.originX)===gi(V0)||gi(e.originX)===gi(ui)&&n.x<0||gi(e.originX)===gi(z0)&&n.x>0){let{target:i}=e,r=i.strokeWidth/(i.strokeUniform?i.scaleX:1),t=kf(e)?2:1,f=i.width,a=Math.abs(n.x*t/i.scaleX)-r;return i.set("width",Math.max(a,1)),f!==i.width}return!1}));function bf(i,e,r,t,n){t=t||{};let f,a=this.sizeX||t.cornerSize||n.cornerSize,o=this.sizeY||t.cornerSize||n.cornerSize,A=void 0!==t.transparentCorners?t.transparentCorners:n.transparentCorners,s=A?Mi:bi,l=!A&&(t.cornerStrokeColor||n.cornerStrokeColor),k=e,h=r;i.save(),i.fillStyle=t.cornerColor||n.cornerColor||"",i.strokeStyle=t.cornerStrokeColor||n.cornerStrokeColor||"",a>o?(f=a,i.scale(1,o/a),h=r*a/o):o>a?(f=o,i.scale(a/o,1),k=e*o/a):f=a,i.beginPath(),i.arc(k,h,f/2,0,We,!1),i[s](),l&&i.stroke(),i.restore()}function vf(i,e,r,t,n){t=t||{};let f=this.sizeX||t.cornerSize||n.cornerSize,a=this.sizeY||t.cornerSize||n.cornerSize,o=void 0!==t.transparentCorners?t.transparentCorners:n.transparentCorners,A=o?Mi:bi,s=!o&&(t.cornerStrokeColor||n.cornerStrokeColor),l=f/2,k=a/2;i.save(),i.fillStyle=t.cornerColor||n.cornerColor||"",i.strokeStyle=t.cornerStrokeColor||n.cornerStrokeColor||"",i.translate(e,r);let h=n.getTotalAngle();i.rotate(si(h)),i["".concat(A,"Rect")](-l,-k,f,a),s&&i.strokeRect(-l,-k,f,a),i.restore()}var Ii=class{constructor(i){R(this,"visible",!0),R(this,"actionName",$t),R(this,"angle",0),R(this,"x",0),R(this,"y",0),R(this,"offsetX",0),R(this,"offsetY",0),R(this,"sizeX",0),R(this,"sizeY",0),R(this,"touchSizeX",0),R(this,"touchSizeY",0),R(this,"cursorStyle","crosshair"),R(this,"withConnection",!1),Object.assign(this,i)}shouldActivate(i,e,r,t){var n;let{tl:f,tr:a,br:o,bl:A}=t;return(null===(n=e.canvas)||void 0===n?void 0:n.getActiveObject())===e&&e.isControlVisible(i)&&E2.isPointInPolygon(r,[f,a,o,A])}getActionHandler(i,e,r){return this.actionHandler}getMouseDownHandler(i,e,r){return this.mouseDownHandler}getMouseUpHandler(i,e,r){return this.mouseUpHandler}cursorStyleHandler(i,e,r){return e.cursorStyle}getActionName(i,e,r){return e.actionName}getVisibility(i,e){var r,t;return null!==(r=null===(t=i._controlsVisibility)||void 0===t?void 0:t[e])&&void 0!==r?r:this.visible}setVisibility(i,e,r){this.visible=i}positionHandler(i,e,r,t){return new K(this.x*i.x+this.offsetX,this.y*i.y+this.offsetY).transform(e)}calcCornerCoords(i,e,r,t,n,f){let a=qt([ar(r,t),sr({angle:i}),Kt((n?this.touchSizeX:this.sizeX)||e,(n?this.touchSizeY:this.sizeY)||e)]);return{tl:new K(-.5,-.5).transform(a),tr:new K(.5,-.5).transform(a),br:new K(.5,.5).transform(a),bl:new K(-.5,.5).transform(a)}}render(i,e,r,t,n){"circle"===((t=t||{}).cornerStyle||n.cornerStyle)?bf.call(this,i,e,r,t,n):vf.call(this,i,e,r,t,n)}},wf=(i,e,r)=>r.lockRotation?Et:e.cursorStyle,_f=qe(Jo,X2((i,e,r,t)=>{let{target:n,ex:f,ey:a,theta:o,originX:A,originY:s}=e,l=n.translateToOriginPoint(n.getRelativeCenterPoint(),A,s);if(Ae(n,"lockRotation"))return!1;let k=Math.atan2(a-l.y,f-l.x),h=Math.atan2(t-l.y,r-l.x),u=je(h-k+o);if(n.snapAngle&&n.snapAngle>0){let i=n.snapAngle,e=n.snapThreshold||i,r=Math.ceil(u/i)*i,t=Math.floor(u/i)*i;Math.abs(u-t)<e?u=t:Math.abs(u-r)<e&&(u=r)}u<0&&(u=360+u),u%=360;let c=n.angle!==u;return n.angle=u,c}));function yf(i,e){let r=e.canvas,t=i[r.uniScaleKey];return r.uniformScaling&&!t||!r.uniformScaling&&t}function Cf(i,e,r){let t=Ae(i,"lockScalingX"),n=Ae(i,"lockScalingY");if(t&&n||!e&&(t||n)&&r||t&&"x"===e||n&&"y"===e)return!0;let{width:f,height:a,strokeWidth:o}=i;return 0===f&&0===o&&"y"!==e||0===a&&0===o&&"x"!==e}var ts=["e","se","s","sw","w","nw","n","ne","e"],O2=(i,e,r)=>{let t=yf(i,r);if(Cf(r,0!==e.x&&0===e.y?"x":0===e.x&&0!==e.y?"y":"",t))return Et;let n=uf(r,e);return"".concat(ts[n],"-resize")};function Q1(i,e,r,t){let n,f,a,o,A,s,l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},k=e.target,h=l.by,u=yf(i,k);if(Cf(k,h,u))return!1;if(e.gestureScale)f=e.scaleX*e.gestureScale,a=e.scaleY*e.gestureScale;else{if(n=rn(e,e.originX,e.originY,r,t),A="y"!==h?Math.sign(n.x||e.signX||1):1,s="x"!==h?Math.sign(n.y||e.signY||1):1,e.signX||(e.signX=A),e.signY||(e.signY=s),Ae(k,"lockScalingFlip")&&(e.signX!==A||e.signY!==s))return!1;if(o=k._getTransformedDimensions(),u&&!h){let i=Math.abs(n.x)+Math.abs(n.y),{original:r}=e,t=i/(Math.abs(o.x*r.scaleX/k.scaleX)+Math.abs(o.y*r.scaleY/k.scaleY));f=r.scaleX*t,a=r.scaleY*t}else f=Math.abs(n.x*k.scaleX/o.x),a=Math.abs(n.y*k.scaleY/o.y);kf(e)&&(f*=2,a*=2),e.signX!==A&&"y"!==h&&(e.originX=yo(e.originX),f*=-1,e.signX=A),e.signY!==s&&"x"!==h&&(e.originY=yo(e.originY),a*=-1,e.signY=s)}let c=k.scaleX,d=k.scaleY;return h?("x"===h&&k.set(Wi,f),"y"===h&&k.set(zi,a)):(!Ae(k,"lockScalingX")&&k.set(Wi,f),!Ae(k,"lockScalingY")&&k.set(zi,a)),c!==k.scaleX||d!==k.scaleY}var wr=qe(jt,X2((i,e,r,t)=>Q1(i,e,r,t))),Bf=qe(jt,X2((i,e,r,t)=>Q1(i,e,r,t,{by:"x"}))),xf=qe(jt,X2((i,e,r,t)=>Q1(i,e,r,t,{by:"y"}))),ns=["target","ex","ey","skewingSide"],Qn={x:{counterAxis:"y",scale:Wi,skew:or,lockSkewing:"lockSkewingX",origin:"originX",flip:"flipX"},y:{counterAxis:"x",scale:zi,skew:fr,lockSkewing:"lockSkewingY",origin:"originY",flip:"flipY"}},os=["ns","nesw","ew","nwse"],Zf=(i,e,r)=>{if(0!==e.x&&Ae(r,"lockSkewingY")||0!==e.y&&Ae(r,"lockSkewingX"))return Et;let t=uf(r,e)%4;return"".concat(os[t],"-resize")};function If(i,e,r,t,n){let{target:f}=r,{counterAxis:a,origin:o,lockSkewing:A,skew:s,flip:l}=Qn[i];if(Ae(f,A))return!1;let{origin:k,flip:h}=Qn[a],u=gi(r[k])*(f[h]?-1:1),c=-Math.sign(u)*(f[l]?-1:1),d=-(0===f[s]&&rn(r,V0,V0,t,n)[i]>0||f[s]>0?1:-1)*c*.5+.5;return qe(Ho,X2((e,r,t,n)=>function(i,e,r){let{target:t,ex:n,ey:f,skewingSide:a}=e,o=ni(e,ns),{skew:A}=Qn[i],s=r.subtract(new K(n,f)).divide(new K(t.scaleX,t.scaleY))[i],l=t[A],k=o[A],h=Math.tan(si(k)),u="y"===i?t._getTransformedDimensions({scaleX:1,scaleY:1,skewX:0}).x:t._getTransformedDimensions({scaleX:1,scaleY:1}).y,c=2*s*a/Math.max(u,1)+h,d=je(Math.atan(c));t.set(A,d);let b=l!==t[A];if(b&&"y"===i){let{skewX:i,scaleX:e}=t,r=t._getTransformedDimensions({skewY:l}),n=t._getTransformedDimensions(),f=0!==i?r.x/n.x:1;1!==f&&t.set(Wi,f*e)}return b}(i,r,new K(t,n))))(e,P(P({},r),{},{[o]:d,skewingSide:c}),t,n)}var Ef=(i,e,r,t)=>If("x",i,e,r,t),Ff=(i,e,r,t)=>If("y",i,e,r,t);function on(i,e){return i[e.canvas.altActionKey]}var _r=(i,e,r)=>{let t=on(i,r);return 0===e.x?t?or:zi:0===e.y?t?fr:Wi:""},k2=(i,e,r)=>on(i,r)?Zf(0,e,r):O2(i,e,r),A1=(i,e,r,t)=>on(i,e.target)?Ff(i,e,r,t):Bf(i,e,r,t),l1=(i,e,r,t)=>on(i,e.target)?Ef(i,e,r,t):xf(i,e,r,t),Y1=()=>({ml:new Ii({x:-.5,y:0,cursorStyleHandler:k2,actionHandler:A1,getActionName:_r}),mr:new Ii({x:.5,y:0,cursorStyleHandler:k2,actionHandler:A1,getActionName:_r}),mb:new Ii({x:0,y:.5,cursorStyleHandler:k2,actionHandler:l1,getActionName:_r}),mt:new Ii({x:0,y:-.5,cursorStyleHandler:k2,actionHandler:l1,getActionName:_r}),tl:new Ii({x:-.5,y:-.5,cursorStyleHandler:O2,actionHandler:wr}),tr:new Ii({x:.5,y:-.5,cursorStyleHandler:O2,actionHandler:wr}),bl:new Ii({x:-.5,y:.5,cursorStyleHandler:O2,actionHandler:wr}),br:new Ii({x:.5,y:.5,cursorStyleHandler:O2,actionHandler:wr}),mtr:new Ii({x:0,y:-.5,actionHandler:_f,cursorStyleHandler:wf,offsetY:-40,withConnection:!0,actionName:F1})}),Wf=()=>({mr:new Ii({x:.5,y:0,actionHandler:s1,cursorStyleHandler:k2,actionName:Ir}),ml:new Ii({x:-.5,y:0,actionHandler:s1,cursorStyleHandler:k2,actionName:Ir})}),Sf=()=>P(P({},Y1()),Wf()),Vt=class i extends xe{static getDefaults(){return P(P({},super.getDefaults()),i.ownDefaults)}constructor(e){super(),Object.assign(this,this.constructor.createControls(),i.ownDefaults),this.setOptions(e)}static createControls(){return{controls:Y1()}}_updateCacheCanvas(){let i=this.canvas;if(this.noScaleCache&&i&&i._currentTransform){let e=i._currentTransform,r=e.target,t=e.action;if(this===r&&t&&t.startsWith($t))return!1}return super._updateCacheCanvas()}getActiveControl(){let i=this.__corner;return i?{key:i,control:this.controls[i],coord:this.oCoords[i]}:void 0}findControl(i){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!this.hasControls||!this.canvas)return;this.__corner=void 0;let r=Object.entries(this.oCoords);for(let t=r.length-1;t>=0;t--){let[n,f]=r[t],a=this.controls[n];if(a.shouldActivate(n,this,i,e?f.touchCorner:f.corner))return this.__corner=n,{key:n,control:a,coord:this.oCoords[n]}}}calcOCoords(){let i=this.getViewportTransform(),e=this.getCenterPoint(),r=ar(e.x,e.y),t=sr({angle:this.getTotalAngle()-(this.group&&this.flipX?180:0)}),n=Ai(r,t),f=Ai(i,n),a=Ai(f,[1/i[0],0,0,1/i[3],0,0]),o=this.group?q2(this.calcTransformMatrix()):void 0;o&&(o.scaleX=Math.abs(o.scaleX),o.scaleY=Math.abs(o.scaleY));let A=this._calculateCurrentDimensions(o),s={};return this.forEachControl((i,e)=>{let r=i.positionHandler(A,a,this,i);s[e]=Object.assign(r,this._calcCornerCoords(i,r))}),s}_calcCornerCoords(i,e){let r=this.getTotalAngle();return{corner:i.calcCornerCoords(r,this.cornerSize,e.x,e.y,!1,this),touchCorner:i.calcCornerCoords(r,this.touchCornerSize,e.x,e.y,!0,this)}}setCoords(){super.setCoords(),this.canvas&&(this.oCoords=this.calcOCoords())}forEachControl(i){for(let e in this.controls)i(this.controls[e],e,this)}drawSelectionBackground(i){if(!this.selectionBackgroundColor||this.canvas&&this.canvas._activeObject!==this)return;i.save();let e=this.getRelativeCenterPoint(),r=this._calculateCurrentDimensions(),t=this.getViewportTransform();i.translate(e.x,e.y),i.scale(1/t[0],1/t[3]),i.rotate(si(this.angle)),i.fillStyle=this.selectionBackgroundColor,i.fillRect(-r.x/2,-r.y/2,r.x,r.y),i.restore()}strokeBorders(i,e){i.strokeRect(-e.x/2,-e.y/2,e.x,e.y)}_drawBorders(i,e){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},t=P({hasControls:this.hasControls,borderColor:this.borderColor,borderDashArray:this.borderDashArray},r);i.save(),i.strokeStyle=t.borderColor,this._setLineDash(i,t.borderDashArray),this.strokeBorders(i,e),t.hasControls&&this.drawControlsConnectingLines(i,e),i.restore()}_renderControls(i){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{hasBorders:r,hasControls:t}=this,n=P({hasBorders:r,hasControls:t},e),f=this.getViewportTransform(),a=n.hasBorders,o=n.hasControls,A=Ai(f,this.calcTransformMatrix()),s=q2(A);i.save(),i.translate(s.translateX,s.translateY),i.lineWidth=this.borderScaleFactor,this.group===this.parent&&(i.globalAlpha=this.isMoving?this.borderOpacityWhenMoving:1),this.flipX&&(s.angle-=180),i.rotate(si(this.group?s.angle:this.angle)),a&&this.drawBorders(i,s,e),o&&this.drawControls(i,e),i.restore()}drawBorders(i,e,r){let t;if(r&&r.forActiveSelection||this.group){let i=en(this.width,this.height,Gr(e)),r=this.isStrokeAccountedForInDimensions()?W1:(this.strokeUniform?(new K).scalarAdd(this.canvas?this.canvas.getZoom():1):new K(e.scaleX,e.scaleY)).scalarMultiply(this.strokeWidth);t=i.add(r).scalarAdd(this.borderScaleFactor).scalarAdd(2*this.padding)}else t=this._calculateCurrentDimensions().scalarAdd(this.borderScaleFactor);this._drawBorders(i,t,r)}drawControlsConnectingLines(i,e){let r=!1;i.beginPath(),this.forEachControl((t,n)=>{t.withConnection&&t.getVisibility(this,n)&&(r=!0,i.moveTo(t.x*e.x,t.y*e.y),i.lineTo(t.x*e.x+t.offsetX,t.y*e.y+t.offsetY))}),r&&i.stroke()}drawControls(i){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};i.save();let r=this.getCanvasRetinaScaling(),{cornerStrokeColor:t,cornerDashArray:n,cornerColor:f}=this,a=P({cornerStrokeColor:t,cornerDashArray:n,cornerColor:f},e);i.setTransform(r,0,0,r,0,0),i.strokeStyle=i.fillStyle=a.cornerColor,this.transparentCorners||(i.strokeStyle=a.cornerStrokeColor),this._setLineDash(i,a.cornerDashArray),this.forEachControl((e,r)=>{if(e.getVisibility(this,r)){let t=this.oCoords[r];e.render(i,t.x,t.y,a,this)}}),i.restore()}isControlVisible(i){return this.controls[i]&&this.controls[i].getVisibility(this,i)}setControlVisible(i,e){this._controlsVisibility||(this._controlsVisibility={}),this._controlsVisibility[i]=e}setControlsVisibility(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object.entries(i).forEach(i=>{let[e,r]=i;return this.setControlVisible(e,r)})}clearContextTop(i){if(!this.canvas)return;let e=this.canvas.contextTop;if(!e)return;let r=this.canvas.viewportTransform;e.save(),e.transform(r[0],r[1],r[2],r[3],r[4],r[5]),this.transform(e);let t=this.width+4,n=this.height+4;return e.clearRect(-t/2,-n/2,t,n),i||e.restore(),e}onDeselect(i){return!1}onSelect(i){return!1}shouldStartDragging(i){return!1}onDragStart(i){return!1}canDrop(i){return!1}renderDragSourceEffect(i){}renderDropTargetEffect(i){}};function Xf(i,e){return e.forEach(e=>{Object.getOwnPropertyNames(e.prototype).forEach(r=>{"constructor"!==r&&Object.defineProperty(i.prototype,r,Object.getOwnPropertyDescriptor(e.prototype,r)||Object.create(null))})}),i}R(Vt,"ownDefaults",{noScaleCache:!0,lockMovementX:!1,lockMovementY:!1,lockRotation:!1,lockScalingX:!1,lockScalingY:!1,lockSkewingX:!1,lockSkewingY:!1,lockScalingFlip:!1,cornerSize:13,touchCornerSize:24,transparentCorners:!0,cornerColor:"rgb(178,204,255)",cornerStrokeColor:"",cornerStyle:"rect",cornerDashArray:null,hasControls:!0,borderColor:"rgb(178,204,255)",borderDashArray:null,borderOpacityWhenMoving:.4,borderScaleFactor:1,hasBorders:!0,selectionBackgroundColor:"",selectable:!0,evented:!0,perPixelTargetFind:!1,activeOn:"down",hoverCursor:null,moveCursor:null});var ci=class extends Vt{};Xf(ci,[Ft]),d0.setClass(ci),d0.setClass(ci,"object");var Vf=(i,e,r,t)=>{let n=2*(t=Math.round(t))+1,{data:f}=i.getImageData(e-t,r-t,n,n);for(let i=3;i<f.length;i+=4)if(f[i]>0)return!1;return!0},Gt=class{constructor(i){this.options=i,this.strokeProjectionMagnitude=this.options.strokeWidth/2,this.scale=new K(this.options.scaleX,this.options.scaleY),this.strokeUniformScalar=this.options.strokeUniform?new K(1/this.options.scaleX,1/this.options.scaleY):new K(1,1)}createSideVector(i,e){let r=Wt(i,e);return this.options.strokeUniform?r.multiply(this.scale):r}projectOrthogonally(i,e,r){return this.applySkew(i.add(this.calcOrthogonalProjection(i,e,r)))}isSkewed(){return 0!==this.options.skewX||0!==this.options.skewY}applySkew(i){let e=new K(i);return e.y+=e.x*Math.tan(si(this.options.skewY)),e.x+=e.y*Math.tan(si(this.options.skewX)),e}scaleUnitVector(i,e){return i.multiply(this.strokeUniformScalar).scalarMultiply(e)}},fs=new K,Dt=class i extends Gt{static getOrthogonalRotationFactor(i,e){let r=e?Xt(i,e):df(i);return Math.abs(r)<Ue?-1:1}constructor(i,e,r,t){super(t),R(this,"AB",void 0),R(this,"AC",void 0),R(this,"alpha",void 0),R(this,"bisector",void 0),this.A=new K(i),this.B=new K(e),this.C=new K(r),this.AB=this.createSideVector(this.A,this.B),this.AC=this.createSideVector(this.A,this.C),this.alpha=Xt(this.AB,this.AC),this.bisector=nn(R1(this.AB.eq(fs)?this.AC:this.AB,this.alpha/2))}calcOrthogonalProjection(e,r){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.strokeProjectionMagnitude,n=this.createSideVector(e,r),f=P1(n),a=i.getOrthogonalRotationFactor(f,this.bisector);return this.scaleUnitVector(f,t*a)}projectBevel(){let i=[];return(this.alpha%We==0?[this.B]:[this.B,this.C]).forEach(e=>{i.push(this.projectOrthogonally(this.A,e)),i.push(this.projectOrthogonally(this.A,e,-this.strokeProjectionMagnitude))}),i}projectMiter(){let i=[],e=Math.abs(this.alpha),r=1/Math.sin(e/2),t=this.scaleUnitVector(this.bisector,-this.strokeProjectionMagnitude*r),n=this.options.strokeUniform?St(this.scaleUnitVector(this.bisector,this.options.strokeMiterLimit)):this.options.strokeMiterLimit;return St(t)/this.strokeProjectionMagnitude<=n&&i.push(this.applySkew(this.A.add(t))),i.push(...this.projectBevel()),i}projectRoundNoSkew(e,r){let t=[],n=new K(i.getOrthogonalRotationFactor(this.bisector),i.getOrthogonalRotationFactor(new K(this.bisector.y,this.bisector.x)));return[new K(1,0).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar).multiply(n),new K(0,1).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar).multiply(n)].forEach(i=>{r1(i,e,r)&&t.push(this.A.add(i))}),t}projectRoundWithSkew(i,e){let r=[],{skewX:t,skewY:n,scaleX:f,scaleY:a,strokeUniform:o}=this.options,A=new K(Math.tan(si(t)),Math.tan(si(n))),s=this.strokeProjectionMagnitude,l=o?s/a/Math.sqrt(1/a**2+1/f**2*A.y**2):s/Math.sqrt(1+A.y**2),k=new K(Math.sqrt(Math.max(s**2-l**2,0)),l),h=o?s/Math.sqrt(1+A.x**2*(1/a)**2/(1/f+1/f*A.x*A.y)**2):s/Math.sqrt(1+A.x**2/(1+A.x*A.y)**2),u=new K(h,Math.sqrt(Math.max(s**2-h**2,0)));return[u,u.scalarMultiply(-1),k,k.scalarMultiply(-1)].map(i=>this.applySkew(o?i.multiply(this.strokeUniformScalar):i)).forEach(t=>{r1(t,i,e)&&r.push(this.applySkew(this.A).add(t))}),r}projectRound(){let i=[];i.push(...this.projectBevel());let e=this.alpha%We==0,r=this.applySkew(this.A),t=i[e?0:2].subtract(r),n=i[e?1:0].subtract(r),f=e?this.applySkew(this.AB.scalarMultiply(-1)):this.applySkew(this.bisector.multiply(this.strokeUniformScalar).scalarMultiply(-1)),a=j2(t,f)>0,o=a?t:n,A=a?n:t;return this.isSkewed()?i.push(...this.projectRoundWithSkew(o,A)):i.push(...this.projectRoundNoSkew(o,A)),i}projectPoints(){switch(this.options.strokeLineJoin){case"miter":return this.projectMiter();case"round":return this.projectRound();default:return this.projectBevel()}}project(){return this.projectPoints().map(i=>({originPoint:this.A,projectedPoint:i,angle:this.alpha,bisector:this.bisector}))}},Mt=class extends Gt{constructor(i,e,r){super(r),this.A=new K(i),this.T=new K(e)}calcOrthogonalProjection(i,e){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.strokeProjectionMagnitude,t=this.createSideVector(i,e);return this.scaleUnitVector(P1(t),r)}projectButt(){return[this.projectOrthogonally(this.A,this.T,this.strokeProjectionMagnitude),this.projectOrthogonally(this.A,this.T,-this.strokeProjectionMagnitude)]}projectRound(){let i=[];if(!this.isSkewed()&&this.A.eq(this.T)){let e=new K(1,1).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar);i.push(this.applySkew(this.A.add(e)),this.applySkew(this.A.subtract(e)))}else i.push(...new Dt(this.A,this.T,this.T,this.options).projectRound());return i}projectSquare(){let i=[];if(this.A.eq(this.T)){let e=new K(1,1).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar);i.push(this.A.add(e),this.A.subtract(e))}else{let e=this.calcOrthogonalProjection(this.A,this.T,this.strokeProjectionMagnitude),r=this.scaleUnitVector(nn(this.createSideVector(this.A,this.T)),-this.strokeProjectionMagnitude),t=this.A.add(r);i.push(t.add(e),t.subtract(e))}return i.map(i=>this.applySkew(i))}projectPoints(){switch(this.options.strokeLineCap){case"round":return this.projectRound();case"square":return this.projectSquare();default:return this.projectButt()}}project(){return this.projectPoints().map(i=>({originPoint:this.A,projectedPoint:i}))}},Gf=function(i,e){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],t=[];if(0===i.length)return t;let n=i.reduce((i,e)=>(i[i.length-1].eq(e)||i.push(new K(e)),i),[new K(i[0])]);if(1===n.length)r=!0;else if(!r){let i=n[0],e=((i,e)=>{for(let r=i.length-1;r>=0;r--)if(e(i[r]))return r;return-1})(n,e=>!e.eq(i));n.splice(e+1)}return n.forEach((i,n,f)=>{let a,o;0===n?(o=f[1],a=r?i:f[f.length-1]):n===f.length-1?(a=f[n-1],o=r?i:f[0]):(a=f[n-1],o=f[n+1]),r&&1===f.length?t.push(...new Mt(i,i,e).project()):!r||0!==n&&n!==f.length-1?t.push(...new Dt(i,a,o,e).project()):t.push(...new Mt(i,0===n?o:a,e).project())}),t},O1=i=>{let e={};return Object.keys(i).forEach(r=>{e[r]={},Object.keys(i[r]).forEach(t=>{e[r][t]=P({},i[r][t])})}),e},Df=i=>i.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&apos;").replace(/</g,"&lt;").replace(/>/g,"&gt;"),fn=i=>{let e=[];for(let r,t=0;t<i.length;t++)!1!==(r=as(i,t))&&e.push(r);return e},as=(i,e)=>{let r=i.charCodeAt(e);if(isNaN(r))return"";if(r<55296||r>57343)return i.charAt(e);if(55296<=r&&r<=56319){if(i.length<=e+1)throw"High surrogate without following low surrogate";let r=i.charCodeAt(e+1);if(56320>r||r>57343)throw"High surrogate without following low surrogate";return i.charAt(e)+i.charAt(e+1)}if(0===e)throw"Low surrogate without preceding high surrogate";let t=i.charCodeAt(e-1);if(55296>t||t>56319)throw"Low surrogate without preceding high surrogate";return!1},ss=Object.freeze({__proto__:null,capitalize:function(i){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return"".concat(i.charAt(0).toUpperCase()).concat(e?i.slice(1):i.slice(1).toLowerCase())},escapeXml:Df,graphemeSplit:fn}),an=function(i,e){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return i.fill!==e.fill||i.stroke!==e.stroke||i.strokeWidth!==e.strokeWidth||i.fontSize!==e.fontSize||i.fontFamily!==e.fontFamily||i.fontWeight!==e.fontWeight||i.fontStyle!==e.fontStyle||i.textBackgroundColor!==e.textBackgroundColor||i.deltaY!==e.deltaY||r&&(i.overline!==e.overline||i.underline!==e.underline||i.linethrough!==e.linethrough)},Mf=(i,e)=>{let r=e.split("\n"),t=[],n=-1,f={};i=O1(i);for(let e=0;e<r.length;e++){let a=fn(r[e]);if(i[e])for(let r=0;r<a.length;r++){n++;let a=i[e][r];a&&Object.keys(a).length>0&&(an(f,a,!0)?t.push({start:n,end:n+1,style:a}):t[t.length-1].end++),f=a||{}}else n+=a.length,f={}}return t},Tf=(i,e)=>{if(!Array.isArray(i))return O1(i);let r=e.split(E1),t={},n=-1,f=0;for(let e=0;e<r.length;e++){let a=fn(r[e]);for(let r=0;r<a.length;r++)n++,i[f]&&i[f].start<=n&&n<i[f].end&&(t[e]=t[e]||{},t[e][r]=P({},i[f].style),n===i[f].end-1&&f++)}return t},Ke=["display","transform",bi,"fill-opacity","fill-rule","opacity",Mi,"stroke-dasharray","stroke-linecap","stroke-dashoffset","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","id","paint-order","vector-effect","instantiated_by_use","clip-path"];function Fo(i,e){let r,t=i.nodeName,n=i.getAttribute("class"),f=i.getAttribute("id"),a="(?![a-zA-Z\\-]+)";if(r=new RegExp("^"+t,"i"),e=e.replace(r,""),f&&e.length&&(r=new RegExp("#"+f+a,"i"),e=e.replace(r,"")),n&&e.length){let i=n.split(" ");for(let t=i.length;t--;)r=new RegExp("\\."+i[t]+a,"i"),e=e.replace(r,"")}return 0===e.length}function As(i,e){let r=!0,t=Fo(i,e.pop());return t&&e.length&&(r=function(i,e){let r,t=!0;for(;i.parentElement&&1===i.parentElement.nodeType&&e.length;)t&&(r=e.pop()),t=Fo(i=i.parentElement,r);return 0===e.length}(i,e)),t&&r&&0===e.length}var Wo,So,Xo,Vo,Go,Do,Mo,ls=i=>{var e;return null!==(e=za[i])&&void 0!==e?e:i},ks=new RegExp("(".concat(se,")"),"gi"),us=i=>i.replace(ks," $1 ").replace(/,/gi," ").replace(/\s+/gi," "),Ei="(".concat(se,")"),hs=String.raw(Wo||(Wo=$e(["(skewX)(",")"],["(skewX)\\(","\\)"])),Ei),cs=String.raw(So||(So=$e(["(skewY)(",")"],["(skewY)\\(","\\)"])),Ei),ds=String.raw(Xo||(Xo=$e(["(rotate)(","(?: "," ",")?)"],["(rotate)\\(","(?: "," ",")?\\)"])),Ei,Ei,Ei),ms=String.raw(Vo||(Vo=$e(["(scale)(","(?: ",")?)"],["(scale)\\(","(?: ",")?\\)"])),Ei,Ei),ps=String.raw(Go||(Go=$e(["(translate)(","(?: ",")?)"],["(translate)\\(","(?: ",")?\\)"])),Ei,Ei),gs=String.raw(Do||(Do=$e(["(matrix)("," "," "," "," "," ",")"],["(matrix)\\("," "," "," "," "," ","\\)"])),Ei,Ei,Ei,Ei,Ei,Ei),z1="(?:".concat(gs,"|").concat(ps,"|").concat(ds,"|").concat(ms,"|").concat(hs,"|").concat(cs,")"),bs="(?:".concat(z1,"*)"),vs=String.raw(Mo||(Mo=$e(["^s*(?:","?)s*$"],["^\\s*(?:","?)\\s*$"])),bs),ws=new RegExp(vs),_s=new RegExp(z1),ys=new RegExp(z1,"g");function k1(i){let e=[];if(!(i=us(i).replace(/\s*([()])\s*/gi,"$1"))||i&&!ws.test(i))return[...Fi];for(let r of i.matchAll(ys)){let i=_s.exec(r[0]);if(!i)continue;let t=Fi,n=i.filter(i=>!!i),[,f,...a]=n,[o,A,s,l,k,h]=a.map(i=>parseFloat(i));switch(f){case"translate":t=ar(o,A);break;case F1:t=sr({angle:o},{x:A,y:s});break;case $t:t=Kt(o,A);break;case or:t=X1(o);break;case fr:t=V1(o);break;case"matrix":t=[o,A,s,l,k,h]}e.push(t)}return qt(e)}function Cs(i,e,r,t){let n,f=Array.isArray(e),a=e;if(i!==bi&&i!==Mi||e!==Di){if("strokeUniform"===i)return"non-scaling-stroke"===e;if("strokeDashArray"===i)a=e===Di?null:e.replace(/,/g," ").split(/\s+/).map(parseFloat);else if("transformMatrix"===i)a=r&&r.transformMatrix?Ai(r.transformMatrix,k1(e)):k1(e);else if("visible"===i)a=e!==Di&&"hidden"!==e,r&&!1===r.visible&&(a=!1);else if("opacity"===i)a=parseFloat(e),r&&void 0!==r.opacity&&(a*=r.opacity);else if("textAnchor"===i)a="start"===e?z0:"end"===e?ui:V0;else if("charSpacing"===i)n=I2(e,t)/t*1e3;else if("paintFirst"===i){let i=e.indexOf(bi),r=e.indexOf(Mi);a=bi,(i>-1&&r>-1&&r<i||-1===i&&r>-1)&&(a=Mi)}else{if("href"===i||"xlink:href"===i||"font"===i||"id"===i)return e;if("imageSmoothing"===i)return"optimizeQuality"===e;n=f?e.map(I2):I2(e,t)}}else a="";return!f&&isNaN(n)?a:n}function Bs(i,e){let r=i.match(Oa);if(!r)return;let t=r[1],n=r[3],f=r[4],a=r[5],o=r[6];t&&(e.fontStyle=t),n&&(e.fontWeight=isNaN(parseFloat(n))?n:parseFloat(n)),f&&(e.fontSize=I2(f)),o&&(e.fontFamily=o),a&&(e.lineHeight="normal"===a?1:a)}function xs(i,e){i.replace(/;\s*$/,"").split(";").forEach(i=>{if(!i)return;let[r,t]=i.split(":");e[r.trim().toLowerCase()]=t.trim()})}function Zs(i){let e={},r=i.getAttribute("style");return r&&("string"==typeof r?xs(r,e):(t=r,n=e,Object.entries(t).forEach(i=>{let[e,r]=i;void 0!==r&&(n[e.toLowerCase()]=r)}))),e;var t,n}var Is={stroke:"strokeOpacity",fill:"fillOpacity"};function Xe(i,e,r){if(!i)return{};let t,n={},f=I1;i.parentNode&&Bo.test(i.parentNode.nodeName)&&(n=Xe(i.parentElement,e,r),n.fontSize&&(t=f=I2(n.fontSize)));let a=P(P(P({},e.reduce((e,r)=>{let t=i.getAttribute(r);return t&&(e[r]=t),e},{})),function(i){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r={};for(let t in e)As(i,t.split(" "))&&(r=P(P({},r),e[t]));return r}(i,r)),Zs(i));a[Rn]&&i.setAttribute(Rn,a[Rn]),a[Tn]&&(t=I2(a[Tn],f),a[Tn]="".concat(t));let o={};for(let i in a){let e=ls(i),r=Cs(e,a[i],n,t);o[e]=r}o&&o.font&&Bs(o.font,o);let A=P(P({},n),o);return Bo.test(i.nodeName)?A:function(i){let e=ci.getDefaults();return Object.entries(Is).forEach(r=>{let[t,n]=r;if(void 0===i[n]||""===i[t])return;if(void 0===i[t]){if(!e[t])return;i[t]=e[t]}if(0===i[t].indexOf("url("))return;let f=new xi(i[t]);i[t]=f.setAlpha(ti(f.getAlpha()*i[n],2)).toRgba()}),i}(A)}var Es=["left","top","width","height","visible"],Rf=["rx","ry"],Ze=class i extends ci{static getDefaults(){return P(P({},super.getDefaults()),i.ownDefaults)}constructor(e){super(),Object.assign(this,i.ownDefaults),this.setOptions(e),this._initRxRy()}_initRxRy(){let{rx:i,ry:e}=this;i&&!e?this.ry=i:e&&!i&&(this.rx=e)}_render(i){let{width:e,height:r}=this,t=-e/2,n=-r/2,f=this.rx?Math.min(this.rx,e/2):0,a=this.ry?Math.min(this.ry,r/2):0,o=0!==f||0!==a;i.beginPath(),i.moveTo(t+f,n),i.lineTo(t+e-f,n),o&&i.bezierCurveTo(t+e-Pe*f,n,t+e,n+Pe*a,t+e,n+a),i.lineTo(t+e,n+r-a),o&&i.bezierCurveTo(t+e,n+r-Pe*a,t+e-Pe*f,n+r,t+e-f,n+r),i.lineTo(t+f,n+r),o&&i.bezierCurveTo(t+Pe*f,n+r,t,n+r-Pe*a,t,n+r-a),i.lineTo(t,n+a),o&&i.bezierCurveTo(t,n+Pe*a,t+Pe*f,n,t+f,n),i.closePath(),this._renderPaintInOrder(i)}toObject(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return super.toObject([...Rf,...i])}_toSVG(){let{width:i,height:e,rx:r,ry:t}=this;return["<rect ","COMMON_PARTS",'x="'.concat(-i/2,'" y="').concat(-e/2,'" rx="').concat(r,'" ry="').concat(t,'" width="').concat(i,'" height="').concat(e,'" />\n')]}static async fromElement(i,e,r){let t=Xe(i,this.ATTRIBUTE_NAMES,r),{left:n=0,top:f=0,width:a=0,height:o=0,visible:A=!0}=t,s=ni(t,Es);return new this(P(P(P({},e),s),{},{left:n,top:f,width:a,height:o,visible:!!(A&&a&&o)}))}};R(Ze,"type","Rect"),R(Ze,"cacheProperties",[...Se,...Rf]),R(Ze,"ownDefaults",{rx:0,ry:0}),R(Ze,"ATTRIBUTE_NAMES",[...Ke,"x","y","rx","ry","width","height"]),d0.setClass(Ze),d0.setSVGClass(Ze);var Ie="initialization",Tt="added",J1="removed",Rt="imperative",Pf=(i,e)=>{let{strokeUniform:r,strokeWidth:t,width:n,height:f,group:a}=e,o=a&&a!==i?Mr(a.calcTransformMatrix(),i.calcTransformMatrix()):null,A=o?e.getRelativeCenterPoint().transform(o):e.getRelativeCenterPoint(),s=!e.isStrokeAccountedForInDimensions(),l=r&&s?lf(new K(t,t),void 0,i.calcTransformMatrix()):W1,k=!r&&s?t:0,h=en(n+k,f+k,qt([o,e.calcOwnMatrix()],!0)).add(l).scalarDivide(2);return[A.subtract(h),A.add(h)]},er=class{calcLayoutResult(i,e){if(this.shouldPerformLayout(i))return this.calcBoundingBox(e,i)}shouldPerformLayout(i){let{type:e,prevStrategy:r,strategy:t}=i;return e===Ie||e===Rt||!!r&&t!==r}shouldLayoutClipPath(i){let{type:e,target:{clipPath:r}}=i;return e!==Ie&&r&&!r.absolutePositioned}getInitialSize(i,e){return e.size}calcBoundingBox(i,e){let{type:r,target:t}=e;if(r===Rt&&e.overrides)return e.overrides;if(0===i.length)return;let{left:n,top:f,width:a,height:o}=be(i.map(i=>Pf(t,i)).reduce((i,e)=>i.concat(e),[])),A=new K(a,o),s=new K(n,f).add(A.scalarDivide(2));if(r===Ie){let i=this.getInitialSize(e,{size:A,center:s});return{center:s,relativeCorrection:new K(0,0),size:i}}return{center:s.transform(t.calcOwnMatrix()),size:A}}};R(er,"type","strategy");var Xr=class extends er{shouldPerformLayout(i){return!0}};R(Xr,"type","fit-content"),d0.setClass(Xr);var Fs=["strategy"],Ws=["target","strategy","bubbles","prevStrategy"],Nf="layoutManager",W2=class{constructor(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Xr;R(this,"strategy",void 0),this.strategy=i,this._subscriptions=new Map}performLayout(i){let e=P(P({bubbles:!0,strategy:this.strategy},i),{},{prevStrategy:this._prevLayoutStrategy,stopPropagation(){this.bubbles=!1}});this.onBeforeLayout(e);let r=this.getLayoutResult(e);r&&this.commitLayout(e,r),this.onAfterLayout(e,r),this._prevLayoutStrategy=e.strategy}attachHandlers(i,e){let{target:r}=e;return[Ct,zo,Ir,Jo,jt,Ho,yt,Uo,Ta].map(e=>i.on(e,i=>this.performLayout(e===Ct?{type:"object_modified",trigger:e,e:i,target:r}:{type:"object_modifying",trigger:e,e:i,target:r})))}subscribe(i,e){this.unsubscribe(i,e);let r=this.attachHandlers(i,e);this._subscriptions.set(i,r)}unsubscribe(i,e){(this._subscriptions.get(i)||[]).forEach(i=>i()),this._subscriptions.delete(i)}unsubscribeTargets(i){i.targets.forEach(e=>this.unsubscribe(e,i))}subscribeTargets(i){i.targets.forEach(e=>this.subscribe(e,i))}onBeforeLayout(i){let{target:e,type:r}=i,{canvas:t}=e;if(r===Ie||r===Tt?this.subscribeTargets(i):r===J1&&this.unsubscribeTargets(i),e.fire("layout:before",{context:i}),t&&t.fire("object:layout:before",{target:e,context:i}),r===Rt&&i.deep){let r=ni(i,Fs);e.forEachObject(i=>i.layoutManager&&i.layoutManager.performLayout(P(P({},r),{},{bubbles:!1,target:i})))}}getLayoutResult(i){let{target:e,strategy:r,type:t}=i,n=r.calcLayoutResult(i,e.getObjects());if(!n)return;let f=t===Ie?new K:e.getRelativeCenterPoint(),{center:a,correction:o=new K,relativeCorrection:A=new K}=n,s=f.subtract(a).add(o).transform(t===Ie?Fi:Oi(e.calcOwnMatrix()),!0).add(A);return{result:n,prevCenter:f,nextCenter:a,offset:s}}commitLayout(i,e){let{target:r}=i,{result:{size:t},nextCenter:n}=e;var f,a;r.set({width:t.x,height:t.y}),this.layoutObjects(i,e),i.type===Ie?r.set({left:null!==(f=i.x)&&void 0!==f?f:n.x+t.x*gi(r.originX),top:null!==(a=i.y)&&void 0!==a?a:n.y+t.y*gi(r.originY)}):(r.setPositionByOrigin(n,V0,V0),r.setCoords(),r.set("dirty",!0))}layoutObjects(i,e){let{target:r}=i;r.forEachObject(t=>{t.group===r&&this.layoutObject(i,e,t)}),i.strategy.shouldLayoutClipPath(i)&&this.layoutObject(i,e,r.clipPath)}layoutObject(i,e,r){let{offset:t}=e;r.set({left:r.left+t.x,top:r.top+t.y})}onAfterLayout(i,e){let{target:r,strategy:t,bubbles:n,prevStrategy:f}=i,a=ni(i,Ws),{canvas:o}=r;r.fire("layout:after",{context:i,result:e}),o&&o.fire("object:layout:after",{context:i,result:e,target:r});let A=r.parent;n&&null!=A&&A.layoutManager&&((a.path||(a.path=[])).push(r),A.layoutManager.performLayout(P(P({},a),{},{target:A}))),r.set("dirty",!0)}dispose(){let{_subscriptions:i}=this;i.forEach(i=>i.forEach(i=>i())),i.clear()}toObject(){return{type:Nf,strategy:this.strategy.constructor.type}}toJSON(){return this.toObject()}};d0.setClass(W2,Nf);var Ss=["type","objects","layoutManager"],u1=class extends W2{performLayout(){}},ze=class i extends(Lo(ci)){static getDefaults(){return P(P({},super.getDefaults()),i.ownDefaults)}constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),R(this,"_activeObjects",[]),R(this,"__objectSelectionTracker",void 0),R(this,"__objectSelectionDisposer",void 0),Object.assign(this,i.ownDefaults),this.setOptions(r),this.groupInit(e,r)}groupInit(i,e){var r;this._objects=[...i],this.__objectSelectionTracker=this.__objectSelectionMonitor.bind(this,!0),this.__objectSelectionDisposer=this.__objectSelectionMonitor.bind(this,!1),this.forEachObject(i=>{this.enterGroup(i,!1)}),this.layoutManager=null!==(r=e.layoutManager)&&void 0!==r?r:new W2,this.layoutManager.performLayout({type:Ie,target:this,targets:[...i],x:e.left,y:e.top})}canEnterGroup(i){return i===this||this.isDescendantOf(i)?(He("error","Group: circular object trees are not supported, this call has no effect"),!1):-1===this._objects.indexOf(i)||(He("error","Group: duplicate objects are not supported inside group, this call has no effect"),!1)}_filterObjectsBeforeEnteringGroup(i){return i.filter((i,e,r)=>this.canEnterGroup(i)&&r.indexOf(i)===e)}add(){for(var i=arguments.length,e=new Array(i),r=0;r<i;r++)e[r]=arguments[r];let t=this._filterObjectsBeforeEnteringGroup(e),n=super.add(...t);return this._onAfterObjectsChange(Tt,t),n}insertAt(i){for(var e=arguments.length,r=new Array(e>1?e-1:0),t=1;t<e;t++)r[t-1]=arguments[t];let n=this._filterObjectsBeforeEnteringGroup(r),f=super.insertAt(i,...n);return this._onAfterObjectsChange(Tt,n),f}remove(){let i=super.remove(...arguments);return this._onAfterObjectsChange(J1,i),i}_onObjectAdded(i){this.enterGroup(i,!0),this.fire("object:added",{target:i}),i.fire("added",{target:this})}_onObjectRemoved(i,e){this.exitGroup(i,e),this.fire("object:removed",{target:i}),i.fire("removed",{target:this})}_onAfterObjectsChange(i,e){this.layoutManager.performLayout({type:i,targets:e,target:this})}_onStackOrderChanged(){this._set("dirty",!0)}_set(i,e){let r=this[i];return super._set(i,e),"canvas"===i&&r!==e&&(this._objects||[]).forEach(r=>{r._set(i,e)}),this}_shouldSetNestedCoords(){return this.subTargetCheck}removeAll(){return this._activeObjects=[],this.remove(...this._objects)}__objectSelectionMonitor(i,e){let{target:r}=e,t=this._activeObjects;if(i)t.push(r),this._set("dirty",!0);else if(t.length>0){let i=t.indexOf(r);i>-1&&(t.splice(i,1),this._set("dirty",!0))}}_watchObject(i,e){i&&this._watchObject(!1,e),i?(e.on("selected",this.__objectSelectionTracker),e.on("deselected",this.__objectSelectionDisposer)):(e.off("selected",this.__objectSelectionTracker),e.off("deselected",this.__objectSelectionDisposer))}enterGroup(i,e){i.group&&i.group.remove(i),i._set("parent",this),this._enterGroup(i,e)}_enterGroup(i,e){e&&ir(i,Ai(Oi(this.calcTransformMatrix()),i.calcTransformMatrix())),this._shouldSetNestedCoords()&&i.setCoords(),i._set("group",this),i._set("canvas",this.canvas),this._watchObject(!0,i);let r=this.canvas&&this.canvas.getActiveObject&&this.canvas.getActiveObject();r&&(r===i||i.isDescendantOf(r))&&this._activeObjects.push(i)}exitGroup(i,e){this._exitGroup(i,e),i._set("parent",void 0),i._set("canvas",void 0)}_exitGroup(i,e){i._set("group",void 0),e||(ir(i,Ai(this.calcTransformMatrix(),i.calcTransformMatrix())),i.setCoords()),this._watchObject(!1,i);let r=this._activeObjects.length>0?this._activeObjects.indexOf(i):-1;r>-1&&this._activeObjects.splice(r,1)}shouldCache(){let i=ci.prototype.shouldCache.call(this);if(i)for(let i=0;i<this._objects.length;i++)if(this._objects[i].willDrawShadow())return this.ownCaching=!1,!1;return i}willDrawShadow(){if(super.willDrawShadow())return!0;for(let i=0;i<this._objects.length;i++)if(this._objects[i].willDrawShadow())return!0;return!1}isOnACache(){return this.ownCaching||!!this.parent&&this.parent.isOnACache()}drawObject(i,e,r){this._renderBackground(i);for(let e=0;e<this._objects.length;e++){var t;let r=this._objects[e];null!==(t=this.canvas)&&void 0!==t&&t.preserveObjectStacking&&r.group!==this?(i.save(),i.transform(...Oi(this.calcTransformMatrix())),r.render(i),i.restore()):r.group===this&&r.render(i)}this._drawClipPath(i,this.clipPath,r)}setCoords(){super.setCoords(),this._shouldSetNestedCoords()&&this.forEachObject(i=>i.setCoords())}triggerLayout(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.layoutManager.performLayout(P({target:this,type:Rt},i))}render(i){this._transformDone=!0,super.render(i),this._transformDone=!1}__serializeObjects(i,e){let r=this.includeDefaultValues;return this._objects.filter(function(i){return!i.excludeFromExport}).map(function(t){let n=t.includeDefaultValues;t.includeDefaultValues=r;let f=t[i||"toObject"](e);return t.includeDefaultValues=n,f})}toObject(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=this.layoutManager.toObject();return P(P(P({},super.toObject(["subTargetCheck","interactive",...i])),"fit-content"!==e.strategy||this.includeDefaultValues?{layoutManager:e}:{}),{},{objects:this.__serializeObjects("toObject",i)})}toString(){return"#<Group: (".concat(this.complexity(),")>")}dispose(){this.layoutManager.unsubscribeTargets({targets:this.getObjects(),target:this}),this._activeObjects=[],this.forEachObject(i=>{this._watchObject(!1,i),i.dispose()}),super.dispose()}_createSVGBgRect(i){if(!this.backgroundColor)return"";let e=Ze.prototype._toSVG.call(this),r=e.indexOf("COMMON_PARTS");e[r]='for="group" ';let t=e.join("");return i?i(t):t}_toSVG(i){let e=["<g ","COMMON_PARTS"," >\n"],r=this._createSVGBgRect(i);r&&e.push("\t\t",r);for(let r=0;r<this._objects.length;r++)e.push("\t\t",this._objects[r].toSVG(i));return e.push("</g>\n"),e}getSvgStyles(){let i=void 0!==this.opacity&&1!==this.opacity?"opacity: ".concat(this.opacity,";"):"",e=this.visible?"":" visibility: hidden;";return[i,this.getSvgFilter(),e].join("")}toClipPathSVG(i){let e=[],r=this._createSVGBgRect(i);r&&e.push("\t",r);for(let r=0;r<this._objects.length;r++)e.push("\t",this._objects[r].toClipPathSVG(i));return this._createBaseClipPathSVGMarkup(e,{reviver:i})}static fromObject(i,e){let{type:r,objects:t=[],layoutManager:n}=i,f=ni(i,Ss);return Promise.all([K2(t,e),Dr(f,e)]).then(i=>{let[e,r]=i,t=new this(e,P(P(P({},f),r),{},{layoutManager:new u1}));if(n){let i=d0.getClass(n.type),e=d0.getClass(n.strategy);t.layoutManager=new i(new e)}else t.layoutManager=new W2;return t.layoutManager.subscribeTargets({type:Ie,target:t,targets:t.getObjects()}),t.setCoords(),t})}};R(ze,"type","Group"),R(ze,"ownDefaults",{strokeWidth:0,subTargetCheck:!1,interactive:!1}),d0.setClass(ze);var Qf=(i,e)=>Math.min(e.width/i.width,e.height/i.height),Yf=(i,e)=>Math.max(e.width/i.width,e.height/i.height),h1="\\s*,?\\s*",vr="".concat(h1,"(").concat(se,")"),Xs="".concat(vr).concat(vr).concat(vr).concat(h1,"([01])").concat(h1,"([01])").concat(vr).concat(vr),Vs={m:"l",M:"L"},Gs=(i,e,r,t,n,f,a,o,A,s,l)=>{let k=le(i),h=ke(i),u=le(e),c=ke(e),d=r*n*u-t*f*c+a,b=t*n*u+r*f*c+o;return["C",s+A*(-r*n*h-t*f*k),l+A*(-t*n*h+r*f*k),d+A*(r*n*c+t*f*u),b+A*(t*n*c-r*f*u),d,b]},To=(i,e,r,t)=>{let n=Math.atan2(e,i),f=Math.atan2(t,r);return f>=n?f-n:2*Math.PI-(n-f)};function c1(i,e,r,t,n,f,a,o){let A;if(P0.cachesBoundsOfCurve&&(A=[...arguments].join(),yr.boundsOfCurveCache[A]))return yr.boundsOfCurveCache[A];let s=Math.sqrt,l=Math.abs,k=[],h=[[0,0],[0,0]],u=6*i-12*r+6*n,c=-3*i+9*r-9*n+3*a,d=3*r-3*i;for(let i=0;i<2;++i){if(i>0&&(u=6*e-12*t+6*f,c=-3*e+9*t-9*f+3*o,d=3*t-3*e),l(c)<1e-12){if(l(u)<1e-12)continue;let i=-d/u;0<i&&i<1&&k.push(i);continue}let r=u*u-4*d*c;if(r<0)continue;let n=s(r),a=(-u+n)/(2*c);0<a&&a<1&&k.push(a);let A=(-u-n)/(2*c);0<A&&A<1&&k.push(A)}let b=k.length,p=b,g=zf(i,e,r,t,n,f,a,o);for(;b--;){let{x:i,y:e}=g(k[b]);h[0][b]=i,h[1][b]=e}h[0][p]=i,h[1][p]=e,h[0][p+1]=a,h[1][p+1]=o;let m=[new K(Math.min(...h[0]),Math.min(...h[1])),new K(Math.max(...h[0]),Math.max(...h[1]))];return P0.cachesBoundsOfCurve&&(yr.boundsOfCurveCache[A]=m),m}var Ds=(i,e,r)=>{let[t,n,f,a,o,A,s,l]=r,k=((i,e,r,t,n,f,a)=>{if(0===r||0===t)return[];let o=0,A=0,s=0,l=Math.PI,k=a*Z1,h=ke(k),u=le(k),c=.5*(-u*i-h*e),d=.5*(-u*e+h*i),b=r**2,p=t**2,g=d**2,m=c**2,v=b*p-b*g-p*m,w=Math.abs(r),_=Math.abs(t);if(v<0){let i=Math.sqrt(1-v/(b*p));w*=i,_*=i}else s=(n===f?-1:1)*Math.sqrt(v/(b*g+p*m));let y=s*w*d/_,C=-s*_*c/w,B=u*y-h*C+.5*i,x=h*y+u*C+.5*e,Z=To(1,0,(c-y)/w,(d-C)/_),I=To((c-y)/w,(d-C)/_,(-c-y)/w,(-d-C)/_);0===f&&I>0?I-=2*l:1===f&&I<0&&(I+=2*l);let W=Math.ceil(Math.abs(I/l*2)),E=[],F=I/W,S=8/3*Math.sin(F/4)*Math.sin(F/4)/Math.sin(F/2),X=Z+F;for(let i=0;i<W;i++)E[i]=Gs(Z,X,u,h,w,_,B,x,S,o,A),o=E[i][5],A=E[i][6],Z=X,X+=F;return E})(s-i,l-e,n,f,o,A,a);for(let r=0,t=k.length;r<t;r++)k[r][1]+=i,k[r][2]+=e,k[r][3]+=i,k[r][4]+=e,k[r][5]+=i,k[r][6]+=e;return k},Of=i=>{let e,r=0,t=0,n=0,f=0,a=[],o=0,A=0;for(let s of i){let i,l=[...s];switch(l[0]){case"l":l[1]+=r,l[2]+=t;case"L":r=l[1],t=l[2],i=["L",r,t];break;case"h":l[1]+=r;case"H":r=l[1],i=["L",r,t];break;case"v":l[1]+=t;case"V":t=l[1],i=["L",r,t];break;case"m":l[1]+=r,l[2]+=t;case"M":r=l[1],t=l[2],n=l[1],f=l[2],i=["M",r,t];break;case"c":l[1]+=r,l[2]+=t,l[3]+=r,l[4]+=t,l[5]+=r,l[6]+=t;case"C":o=l[3],A=l[4],r=l[5],t=l[6],i=["C",l[1],l[2],o,A,r,t];break;case"s":l[1]+=r,l[2]+=t,l[3]+=r,l[4]+=t;case"S":"C"===e?(o=2*r-o,A=2*t-A):(o=r,A=t),r=l[3],t=l[4],i=["C",o,A,l[1],l[2],r,t],o=i[3],A=i[4];break;case"q":l[1]+=r,l[2]+=t,l[3]+=r,l[4]+=t;case"Q":o=l[1],A=l[2],r=l[3],t=l[4],i=["Q",o,A,r,t];break;case"t":l[1]+=r,l[2]+=t;case"T":"Q"===e?(o=2*r-o,A=2*t-A):(o=r,A=t),r=l[1],t=l[2],i=["Q",o,A,r,t];break;case"a":l[6]+=r,l[7]+=t;case"A":Ds(r,t,l).forEach(i=>a.push(i)),r=l[6],t=l[7];break;case"z":case"Z":r=n,t=f,i=["Z"]}i?(a.push(i),e=i[0]):e=""}return a},Pt=(i,e,r,t)=>Math.sqrt((r-i)**2+(t-e)**2),zf=(i,e,r,t,n,f,a,o)=>A=>{let s=A**3,l=3*(u=A)**2*(1-u),k=(i=>3*i*(1-i)**2)(A),h=(i=>(1-i)**3)(A);var u;return new K(a*s+n*l+r*k+i*h,o*s+f*l+t*k+e*h)},Jf=i=>i**2,Hf=i=>2*i*(1-i),Uf=i=>(1-i)**2,Ms=(i,e,r,t,n,f,a,o)=>A=>{let s=Jf(A),l=Hf(A),k=Uf(A),h=3*(k*(r-i)+l*(n-r)+s*(a-n)),u=3*(k*(t-e)+l*(f-t)+s*(o-f));return Math.atan2(u,h)},Ts=(i,e,r,t,n,f)=>a=>{let o=Jf(a),A=Hf(a),s=Uf(a);return new K(n*o+r*A+i*s,f*o+t*A+e*s)},Rs=(i,e,r,t,n,f)=>a=>{let o=1-a,A=2*(o*(r-i)+a*(n-r)),s=2*(o*(t-e)+a*(f-t));return Math.atan2(s,A)},Ro=(i,e,r)=>{let t=new K(e,r),n=0;for(let e=1;e<=100;e+=1){let r=i(e/100);n+=Pt(t.x,t.y,r.x,r.y),t=r}return n},Ps=(i,e)=>{let r,t=0,n=0,f={x:i.x,y:i.y},a=P({},f),o=.01,A=0,s=i.iterator,l=i.angleFinder;for(;n<e&&o>1e-4;)a=s(t),A=t,r=Pt(f.x,f.y,a.x,a.y),r+n>e?(t-=o,o/=2):(f=a,t+=o,n+=r);return P(P({},a),{},{angle:l(A)})},H1=i=>{let e,r,t=0,n=0,f=0,a=0,o=0,A=[];for(let s of i){let i={x:n,y:f,command:s[0],length:0};switch(s[0]){case"M":r=i,r.x=a=n=s[1],r.y=o=f=s[2];break;case"L":r=i,r.length=Pt(n,f,s[1],s[2]),n=s[1],f=s[2];break;case"C":e=zf(n,f,s[1],s[2],s[3],s[4],s[5],s[6]),r=i,r.iterator=e,r.angleFinder=Ms(n,f,s[1],s[2],s[3],s[4],s[5],s[6]),r.length=Ro(e,n,f),n=s[5],f=s[6];break;case"Q":e=Ts(n,f,s[1],s[2],s[3],s[4]),r=i,r.iterator=e,r.angleFinder=Rs(n,f,s[1],s[2],s[3],s[4]),r.length=Ro(e,n,f),n=s[3],f=s[4];break;case"Z":r=i,r.destX=a,r.destY=o,r.length=Pt(n,f,a,o),n=a,f=o}t+=r.length,A.push(r)}return A.push({length:t,x:n,y:f}),A},Lf=function(i,e){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:H1(i),t=0;for(;e-r[t].length>0&&t<r.length-2;)e-=r[t].length,t++;let n=r[t],f=e/n.length,a=i[t];switch(n.command){case"M":return{x:n.x,y:n.y,angle:0};case"Z":return P(P({},new K(n.x,n.y).lerp(new K(n.destX,n.destY),f)),{},{angle:Math.atan2(n.destY-n.y,n.destX-n.x)});case"L":return P(P({},new K(n.x,n.y).lerp(new K(a[1],a[2]),f)),{},{angle:Math.atan2(a[2]-n.y,a[1]-n.x)});case"C":case"Q":return Ps(n,e)}},Ns=new RegExp("[mzlhvcsqta][^mzlhvcsqta]*","gi"),Po=new RegExp(Xs,"g"),Qs=new RegExp(se,"gi"),Ys={m:2,l:2,h:1,v:1,c:6,s:4,q:4,t:2,a:7},jf=i=>{var e;let r=[],t=null!==(e=i.match(Ns))&&void 0!==e?e:[];for(let i of t){let e=i[0];if("z"===e||"Z"===e){r.push([e]);continue}let t=Ys[e.toLowerCase()],n=[];if("a"===e||"A"===e){Po.lastIndex=0;for(let e=null;e=Po.exec(i);)n.push(...e.slice(1))}else n=i.match(Qs)||[];for(let i=0;i<n.length;i+=t){let f=new Array(t),a=Vs[e];f[0]=i>0&&a?a:e;for(let e=0;e<t;e++)f[e+1]=parseFloat(n[i+e]);r.push(f)}}return r},$f=function(i){let e,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=new K(i[0]),n=new K(i[1]),f=1,a=0,o=[],A=i.length,s=A>2;for(s&&(f=i[2].x<n.x?-1:i[2].x===n.x?0:1,a=i[2].y<n.y?-1:i[2].y===n.y?0:1),o.push(["M",t.x-f*r,t.y-a*r]),e=1;e<A;e++){if(!t.eq(n)){let i=t.midPointFrom(n);o.push(["Q",t.x,t.y,i.x,i.y])}t=i[e],e+1<i.length&&(n=i[e+1])}return s&&(f=t.x>i[e-2].x?1:t.x===i[e-2].x?0:-1,a=t.y>i[e-2].y?1:t.y===i[e-2].y?0:-1),o.push(["L",t.x+f*r,t.y+a*r]),o},U1=(i,e)=>i.map(i=>i.map((i,r)=>0===r||void 0===e?i:ti(i,e)).join(" ")).join(" ");function Nt(i,e){let r=i.style;r&&e&&("string"==typeof e?r.cssText+=";"+e:Object.entries(e).forEach(i=>{let[e,t]=i;return r.setProperty(e,t)}))}var Os=(i,e)=>Math.floor(Math.random()*(e-i+1))+i;function zs(i){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=e.onComplete||Z2,t=new(Lt().XMLHttpRequest),n=e.signal,f=function(){t.abort()},a=function(){n&&n.removeEventListener("abort",f),t.onerror=t.ontimeout=Z2};if(n&&n.aborted)throw new _t("request");return n&&n.addEventListener("abort",f,{once:!0}),t.onreadystatechange=function(){4===t.readyState&&(a(),r(t),t.onreadystatechange=Z2)},t.onerror=t.ontimeout=a,t.open("get",i,!0),t.send(),t}var Js=(i,e)=>{let r=i._findCenterFromElement();i.transformMatrix&&((i=>{if(i.transformMatrix){let{scaleX:e,scaleY:r,angle:t,skewX:n}=q2(i.transformMatrix);i.flipX=!1,i.flipY=!1,i.set(Wi,e),i.set(zi,r),i.angle=t,i.skewX=n,i.skewY=0}})(i),r=r.transform(i.transformMatrix)),delete i.transformMatrix,e&&(i.scaleX*=e.scaleX,i.scaleY*=e.scaleY,i.cropX=e.cropX,i.cropY=e.cropY,r.x+=e.offsetLeft,r.y+=e.offsetTop,i.width=e.width,i.height=e.height),i.setPositionByOrigin(r,V0,V0)},L1=Object.freeze({__proto__:null,addTransformToObject:sf,animate:N1,animateColor:gf,applyTransformToObject:ir,calcAngleBetweenVectors:Xt,calcDimensionsMatrix:Gr,calcPlaneChangeMatrix:Mr,calcVectorRotation:df,cancelAnimFrame:jo,capValue:F2,composeMatrix:rf,copyCanvasElement:i=>{var e;let r=ue(i);return null===(e=r.getContext("2d"))||void 0===e||e.drawImage(i,0,0),r},cos:le,createCanvasElement:Ki,createImage:$o,createRotateMatrix:sr,createScaleMatrix:Kt,createSkewXMatrix:X1,createSkewYMatrix:V1,createTranslateMatrix:ar,createVector:Wt,crossProduct:j2,degreesToRadians:si,dotProduct:mf,ease:La,enlivenObjectEnlivables:Dr,enlivenObjects:K2,findScaleToCover:Yf,findScaleToFit:Qf,getBoundsOfCurve:c1,getOrthonormalVector:P1,getPathSegmentsInfo:H1,getPointOnPath:Lf,getPointer:af,getRandomInt:Os,getRegularPolygonPath:(i,e)=>{let r=2*Math.PI/i,t=-Ue;i%2==0&&(t+=r/2);let n=new Array(i+1);for(let f=0;f<i;f++){let i=f*r+t,{x:a,y:o}=new K(le(i),ke(i)).scalarMultiply(e);n[f]=[0===f?"M":"L",a,o]}return n[i]=["Z"],n},getSmoothPathFromPoints:$f,getSvgAttributes:i=>{let e=["instantiated_by_use","style","id","class"];switch(i){case"linearGradient":return e.concat(["x1","y1","x2","y2","gradientUnits","gradientTransform"]);case"radialGradient":return e.concat(["gradientUnits","gradientTransform","cx","cy","r","fx","fy","fr"]);case"stop":return e.concat(["offset","stop-color","stop-opacity"])}return e},getUnitVector:nn,groupSVGElements:(i,e)=>i&&1===i.length?i[0]:new ze(i,e),hasStyleChanged:an,invertTransform:Oi,isBetweenVectors:r1,isIdentityMatrix:qo,isTouchEvent:It,isTransparent:Vf,joinPath:U1,loadImage:Br,magnitude:St,makeBoundingBoxFromPoints:be,makePathSimpler:Of,matrixToSVG:Er,mergeClipPaths:(i,e)=>{var r;let t=i,n=e;t.inverted&&!n.inverted&&(t=e,n=i),e1(n,null===(r=n.group)||void 0===r?void 0:r.calcTransformMatrix(),t.calcTransformMatrix());let f=t.inverted&&n.inverted;return f&&(t.inverted=n.inverted=!1),new ze([t],{clipPath:n,inverted:f})},multiplyTransformMatrices:Ai,multiplyTransformMatrixArray:qt,parsePath:jf,parsePreserveAspectRatioAttribute:tf,parseUnit:I2,pick:S2,projectStrokeOnPoints:Gf,qrDecompose:q2,radiansToDegrees:je,removeFromArray:s2,removeTransformFromObject:(i,e)=>{let r=Oi(e),t=Ai(r,i.calcOwnMatrix());ir(i,t)},removeTransformMatrixForSvgParsing:Js,request:zs,requestAnimFrame:Cr,resetObjectTransform:Af,rotatePoint:(i,e,r)=>i.rotate(r,e),rotateVector:R1,saveObjectTransform:D1,sendObjectToPlane:e1,sendPointToPlane:Fe,sendVectorToPlane:lf,setStyle:Nt,sin:ke,sizeAfterTransform:en,string:ss,stylesFromArray:Tf,stylesToArray:Mf,toDataURL:S1,toFixed:ti,transformPath:(i,e,r)=>(r&&(e=Ai(e,[1,0,0,1,-r.x,-r.y])),i.map(i=>{let r=[...i];for(let t=1;t<i.length-1;t+=2){let{x:n,y:f}=Bi({x:i[t],y:i[t+1]},e);r[t]=n,r[t+1]=f}return r})),transformPoint:Bi}),d1=class extends Zt{constructor(i){let{allowTouchScrolling:e=!1,containerClass:r=""}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(i),R(this,"upper",void 0),R(this,"container",void 0);let{el:t}=this.lower,n=this.createUpperCanvas();this.upper={el:n,ctx:n.getContext("2d")},this.applyCanvasStyle(t,{allowTouchScrolling:e}),this.applyCanvasStyle(n,{allowTouchScrolling:e,styles:{position:"absolute",left:"0",top:"0"}});let f=this.createContainerElement();f.classList.add(r),t.parentNode&&t.parentNode.replaceChild(f,t),f.append(t,n),this.container=f}createUpperCanvas(){let{el:i}=this.lower,e=Ki();return e.className=i.className,e.classList.remove("lower-canvas"),e.classList.add("upper-canvas"),e.setAttribute("data-fabric","top"),e.style.cssText=i.style.cssText,e.setAttribute("draggable","true"),e}createContainerElement(){let i=nr().createElement("div");return i.setAttribute("data-fabric","wrapper"),Nt(i,{position:"relative"}),_o(i),i}applyCanvasStyle(i,e){let{styles:r,allowTouchScrolling:t}=e;Nt(i,P(P({},r),{},{"touch-action":t?"manipulation":Di})),_o(i)}setDimensions(i,e){super.setDimensions(i,e);let{el:r,ctx:t}=this.upper;ff(r,t,i,e)}setCSSDimensions(i){super.setCSSDimensions(i),Kn(this.upper.el,i),Kn(this.container,i)}cleanupDOM(i){let e=this.container,{el:r}=this.lower,{el:t}=this.upper;super.cleanupDOM(i),e.removeChild(t),e.removeChild(r),e.parentNode&&e.parentNode.replaceChild(r,e)}dispose(){super.dispose(),ve().dispose(this.upper.el),delete this.upper,delete this.container}},Qt=class i extends Wr{constructor(){super(...arguments),R(this,"targets",[]),R(this,"_hoveredTargets",[]),R(this,"_objectsToRender",void 0),R(this,"_currentTransform",null),R(this,"_groupSelector",null),R(this,"contextTopDirty",!1)}static getDefaults(){return P(P({},super.getDefaults()),i.ownDefaults)}get upperCanvasEl(){var i;return null===(i=this.elements.upper)||void 0===i?void 0:i.el}get contextTop(){var i;return null===(i=this.elements.upper)||void 0===i?void 0:i.ctx}get wrapperEl(){return this.elements.container}initElements(i){this.elements=new d1(i,{allowTouchScrolling:this.allowTouchScrolling,containerClass:this.containerClass}),this._createCacheCanvas()}_onObjectAdded(i){this._objectsToRender=void 0,super._onObjectAdded(i)}_onObjectRemoved(i){this._objectsToRender=void 0,i===this._activeObject&&(this.fire("before:selection:cleared",{deselected:[i]}),this._discardActiveObject(),this.fire("selection:cleared",{deselected:[i]}),i.fire("deselected",{target:i})),i===this._hoveredTarget&&(this._hoveredTarget=void 0,this._hoveredTargets=[]),super._onObjectRemoved(i)}_onStackOrderChanged(){this._objectsToRender=void 0,super._onStackOrderChanged()}_chooseObjectsToRender(){let i=this._activeObject;return!this.preserveObjectStacking&&i?this._objects.filter(e=>!e.group&&e!==i).concat(i):this._objects}renderAll(){this.cancelRequestedRender(),this.destroyed||(!this.contextTopDirty||this._groupSelector||this.isDrawingMode||(this.clearContext(this.contextTop),this.contextTopDirty=!1),this.hasLostContext&&(this.renderTopLayer(this.contextTop),this.hasLostContext=!1),!this._objectsToRender&&(this._objectsToRender=this._chooseObjectsToRender()),this.renderCanvas(this.getContext(),this._objectsToRender))}renderTopLayer(i){i.save(),this.isDrawingMode&&this._isCurrentlyDrawing&&(this.freeDrawingBrush&&this.freeDrawingBrush._render(),this.contextTopDirty=!0),this.selection&&this._groupSelector&&(this._drawSelection(i),this.contextTopDirty=!0),i.restore()}renderTop(){let i=this.contextTop;this.clearContext(i),this.renderTopLayer(i),this.fire("after:render",{ctx:i})}setTargetFindTolerance(i){i=Math.round(i),this.targetFindTolerance=i;let e=this.getRetinaScaling(),r=Math.ceil((2*i+1)*e);this.pixelFindCanvasEl.width=this.pixelFindCanvasEl.height=r,this.pixelFindContext.scale(e,e)}isTargetTransparent(i,e,r){let t=this.targetFindTolerance,n=this.pixelFindContext;this.clearContext(n),n.save(),n.translate(-e+t,-r+t),n.transform(...this.viewportTransform);let f=i.selectionBackgroundColor;i.selectionBackgroundColor="",i.render(n),i.selectionBackgroundColor=f,n.restore();let a=Math.round(t*this.getRetinaScaling());return Vf(n,a,a,a)}_isSelectionKeyPressed(i){let e=this.selectionKey;return!!e&&(Array.isArray(e)?!!e.find(e=>!!e&&!0===i[e]):i[e])}_shouldClearSelection(i,e){let r=this.getActiveObjects(),t=this._activeObject;return!!(!e||e&&t&&r.length>1&&-1===r.indexOf(e)&&t!==e&&!this._isSelectionKeyPressed(i)||e&&!e.evented||e&&!e.selectable&&t&&t!==e)}_shouldCenterTransform(i,e,r){if(!i)return;let t;return e===$t||e===Wi||e===zi||e===Ir?t=this.centeredScaling||i.centeredScaling:e===F1&&(t=this.centeredRotation||i.centeredRotation),t?!r:r}_getOriginFromCorner(i,e){let r={x:i.originX,y:i.originY};return e&&(["ml","tl","bl"].includes(e)?r.x=ui:["mr","tr","br"].includes(e)&&(r.x=z0),["tl","mt","tr"].includes(e)?r.y=$n:["bl","mb","br"].includes(e)&&(r.y=Gi)),r}_setupCurrentTransform(i,e,r){var t;let n=e.group?Fe(this.getScenePoint(i),void 0,e.group.calcTransformMatrix()):this.getScenePoint(i),{key:f="",control:a}=e.getActiveControl()||{},o=r&&a?null===(t=a.getActionHandler(i,e,a))||void 0===t?void 0:t.bind(a):hf,A=((i,e,r,t)=>{if(!e||!i)return"drag";let n=t.controls[e];return n.getActionName(r,n,t)})(r,f,i,e),s=i[this.centeredKey],l=this._shouldCenterTransform(e,A,s)?{x:V0,y:V0}:this._getOriginFromCorner(e,f),k={target:e,action:A,actionHandler:o,actionPerformed:!1,corner:f,scaleX:e.scaleX,scaleY:e.scaleY,skewX:e.skewX,skewY:e.skewY,offsetX:n.x-e.left,offsetY:n.y-e.top,originX:l.x,originY:l.y,ex:n.x,ey:n.y,lastX:n.x,lastY:n.y,theta:si(e.angle),width:e.width,height:e.height,shiftKey:i.shiftKey,altKey:s,original:P(P({},D1(e)),{},{originX:l.x,originY:l.y})};this._currentTransform=k,this.fire("before:transform",{e:i,transform:k})}setCursor(i){this.upperCanvasEl.style.cursor=i}_drawSelection(i){let{x:e,y:r,deltaX:t,deltaY:n}=this._groupSelector,f=new K(e,r).transform(this.viewportTransform),a=new K(e+t,r+n).transform(this.viewportTransform),o=this.selectionLineWidth/2,A=Math.min(f.x,a.x),s=Math.min(f.y,a.y),l=Math.max(f.x,a.x),k=Math.max(f.y,a.y);this.selectionColor&&(i.fillStyle=this.selectionColor,i.fillRect(A,s,l-A,k-s)),this.selectionLineWidth&&this.selectionBorderColor&&(i.lineWidth=this.selectionLineWidth,i.strokeStyle=this.selectionBorderColor,A+=o,s+=o,l-=o,k-=o,ci.prototype._setLineDash.call(this,i,this.selectionDashArray),i.strokeRect(A,s,l-A,k-s))}findTarget(i){if(this.skipTargetFind)return;let e=this.getViewportPoint(i),r=this._activeObject,t=this.getActiveObjects();if(this.targets=[],r&&t.length>=1){if(r.findControl(e,It(i))||t.length>1&&this.searchPossibleTargets([r],e))return r;if(r===this.searchPossibleTargets([r],e)){if(this.preserveObjectStacking){let t=this.targets;this.targets=[];let n=this.searchPossibleTargets(this._objects,e);return i[this.altSelectionKey]&&n&&n!==r?(this.targets=t,r):n}return r}}return this.searchPossibleTargets(this._objects,e)}_pointIsInObjectSelectionArea(i,e){let r=i.getCoords(),t=this.getZoom(),n=i.padding/t;if(n){let[i,e,t,f]=r,a=Math.atan2(e.y-i.y,e.x-i.x),o=le(a)*n,A=ke(a)*n,s=o+A,l=o-A;r=[new K(i.x-l,i.y-s),new K(e.x+s,e.y-l),new K(t.x+l,t.y+s),new K(f.x-s,f.y+l)]}return E2.isPointInPolygon(e,r)}_checkTarget(i,e){return!(!(i&&i.visible&&i.evented&&this._pointIsInObjectSelectionArea(i,Fe(e,void 0,this.viewportTransform)))||(this.perPixelTargetFind||i.perPixelTargetFind)&&!i.isEditing&&this.isTargetTransparent(i,e.x,e.y))}_searchPossibleTargets(i,e){let r=i.length;for(;r--;){let t=i[r];if(this._checkTarget(t,e)){if(bt(t)&&t.subTargetCheck){let i=this._searchPossibleTargets(t._objects,e);i&&this.targets.push(i)}return t}}}searchPossibleTargets(i,e){let r=this._searchPossibleTargets(i,e);if(r&&bt(r)&&r.interactive&&this.targets[0]){let i=this.targets;for(let e=i.length-1;e>0;e--){let r=i[e];if(!bt(r)||!r.interactive)return r}return i[0]}return r}getViewportPoint(i){return this._pointer?this._pointer:this.getPointer(i,!0)}getScenePoint(i){return this._absolutePointer?this._absolutePointer:this.getPointer(i)}getPointer(i){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=this.upperCanvasEl,t=r.getBoundingClientRect(),n=af(i),f=t.width||0,a=t.height||0;f&&a||(Gi in t&&$n in t&&(a=Math.abs(t.top-t.bottom)),ui in t&&z0 in t&&(f=Math.abs(t.right-t.left))),this.calcOffset(),n.x=n.x-this._offset.left,n.y=n.y-this._offset.top,e||(n=Fe(n,void 0,this.viewportTransform));let o=this.getRetinaScaling();1!==o&&(n.x/=o,n.y/=o);let A=0===f||0===a?new K(1,1):new K(r.width/f,r.height/a);return n.multiply(A)}_setDimensionsImpl(i,e){this._resetTransformEventData(),super._setDimensionsImpl(i,e),this._isCurrentlyDrawing&&this.freeDrawingBrush&&this.freeDrawingBrush._setBrushStyles(this.contextTop)}_createCacheCanvas(){this.pixelFindCanvasEl=Ki(),this.pixelFindContext=this.pixelFindCanvasEl.getContext("2d",{willReadFrequently:!0}),this.setTargetFindTolerance(this.targetFindTolerance)}getTopContext(){return this.elements.upper.ctx}getSelectionContext(){return this.elements.upper.ctx}getSelectionElement(){return this.elements.upper.el}getActiveObject(){return this._activeObject}getActiveObjects(){let i=this._activeObject;return A2(i)?i.getObjects():i?[i]:[]}_fireSelectionEvents(i,e){let r=!1,t=!1,n=this.getActiveObjects(),f=[],a=[];i.forEach(i=>{n.includes(i)||(r=!0,i.fire("deselected",{e:e,target:i}),a.push(i))}),n.forEach(t=>{i.includes(t)||(r=!0,t.fire("selected",{e:e,target:t}),f.push(t))}),i.length>0&&n.length>0?(t=!0,r&&this.fire("selection:updated",{e:e,selected:f,deselected:a})):n.length>0?(t=!0,this.fire("selection:created",{e:e,selected:f})):i.length>0&&(t=!0,this.fire("selection:cleared",{e:e,deselected:a})),t&&(this._objectsToRender=void 0)}setActiveObject(i,e){let r=this.getActiveObjects(),t=this._setActiveObject(i,e);return this._fireSelectionEvents(r,e),t}_setActiveObject(i,e){let r=this._activeObject;return!(r===i||!this._discardActiveObject(e,i)&&this._activeObject||i.onSelect({e:e})||(this._activeObject=i,A2(i)&&r!==i&&i.set("canvas",this),i.setCoords(),0))}_discardActiveObject(i,e){let r=this._activeObject;return!!r&&!r.onDeselect({e:i,object:e})&&(this._currentTransform&&this._currentTransform.target===r&&this.endCurrentTransform(i),A2(r)&&r===this._hoveredTarget&&(this._hoveredTarget=void 0),this._activeObject=void 0,!0)}discardActiveObject(i){let e=this.getActiveObjects(),r=this.getActiveObject();e.length&&this.fire("before:selection:cleared",{e:i,deselected:[r]});let t=this._discardActiveObject(i);return this._fireSelectionEvents(e,i),t}endCurrentTransform(i){let e=this._currentTransform;this._finalizeCurrentTransform(i),e&&e.target&&(e.target.isMoving=!1),this._currentTransform=null}_finalizeCurrentTransform(i){let e=this._currentTransform,r=e.target,t={e:i,target:r,transform:e,action:e.action};r._scaling&&(r._scaling=!1),r.setCoords(),e.actionPerformed&&(this.fire("object:modified",t),r.fire(Ct,t))}setViewportTransform(i){super.setViewportTransform(i);let e=this._activeObject;e&&e.setCoords()}destroy(){let i=this._activeObject;A2(i)&&(i.removeAll(),i.dispose()),delete this._activeObject,super.destroy(),this.pixelFindContext=null,this.pixelFindCanvasEl=void 0}clear(){this.discardActiveObject(),this._activeObject=void 0,this.clearContext(this.contextTop),super.clear()}drawControls(i){let e=this._activeObject;e&&e._renderControls(i)}_toObject(i,e,r){let t=this._realizeGroupTransformOnObject(i),n=super._toObject(i,e,r);return i.set(t),n}_realizeGroupTransformOnObject(i){let{group:e}=i;if(e&&A2(e)&&this._activeObject===e){let r=S2(i,["angle","flipX","flipY",z0,Wi,zi,or,fr,Gi]);return sf(i,e.calcOwnMatrix()),r}return{}}_setSVGObject(i,e,r){let t=this._realizeGroupTransformOnObject(e);super._setSVGObject(i,e,r),e.set(t)}};R(Qt,"ownDefaults",{uniformScaling:!0,uniScaleKey:"shiftKey",centeredScaling:!1,centeredRotation:!1,centeredKey:"altKey",altActionKey:"shiftKey",selection:!0,selectionKey:"shiftKey",selectionColor:"rgba(100, 100, 255, 0.3)",selectionDashArray:[],selectionBorderColor:"rgba(255, 255, 255, 0.3)",selectionLineWidth:1,selectionFullyContained:!1,hoverCursor:"move",moveCursor:"move",defaultCursor:"default",freeDrawingCursor:"crosshair",notAllowedCursor:"not-allowed",perPixelTargetFind:!1,targetFindTolerance:0,skipTargetFind:!1,stopContextMenu:!1,fireRightClick:!1,fireMiddleClick:!1,enablePointerEvents:!1,containerClass:"canvas-container",preserveObjectStacking:!1});var m1=class{constructor(i){R(this,"targets",[]),R(this,"__disposer",void 0);let e=()=>{let{hiddenTextarea:e}=i.getActiveObject()||{};e&&e.focus()},r=i.upperCanvasEl;r.addEventListener("click",e),this.__disposer=()=>r.removeEventListener("click",e)}exitTextEditing(){this.target=void 0,this.targets.forEach(i=>{i.isEditing&&i.exitEditing()})}add(i){this.targets.push(i)}remove(i){this.unregister(i),s2(this.targets,i)}register(i){this.target=i}unregister(i){i===this.target&&(this.target=void 0)}onMouseMove(i){var e;null!==(e=this.target)&&void 0!==e&&e.isEditing&&this.target.updateSelectionOnMouseMove(i)}clear(){this.targets=[],this.target=void 0}dispose(){this.clear(),this.__disposer(),delete this.__disposer}},Hs=["target","oldTarget","fireCanvas","e"],Yi={passive:!1},Y2=(i,e)=>{let r=i.getViewportPoint(e),t=i.getScenePoint(e);return{viewportPoint:r,scenePoint:t,pointer:r,absolutePointer:t}},Ne=function(i){for(var e=arguments.length,r=new Array(e>1?e-1:0),t=1;t<e;t++)r[t-1]=arguments[t];return i.addEventListener(...r)},Ui=function(i){for(var e=arguments.length,r=new Array(e>1?e-1:0),t=1;t<e;t++)r[t-1]=arguments[t];return i.removeEventListener(...r)},Us={mouse:{in:"over",out:"out",targetIn:"mouseover",targetOut:"mouseout",canvasIn:"mouse:over",canvasOut:"mouse:out"},drag:{in:"enter",out:"leave",targetIn:"dragenter",targetOut:"dragleave",canvasIn:"drag:enter",canvasOut:"drag:leave"}},rr=class extends Qt{constructor(i){super(i,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}),R(this,"_isClick",void 0),R(this,"textEditingManager",new m1(this)),["_onMouseDown","_onTouchStart","_onMouseMove","_onMouseUp","_onTouchEnd","_onResize","_onMouseWheel","_onMouseOut","_onMouseEnter","_onContextMenu","_onDoubleClick","_onDragStart","_onDragEnd","_onDragProgress","_onDragOver","_onDragEnter","_onDragLeave","_onDrop"].forEach(i=>{this[i]=this[i].bind(this)}),this.addOrRemove(Ne,"add")}_getEventPrefix(){return this.enablePointerEvents?"pointer":"mouse"}addOrRemove(i,e){let r=this.upperCanvasEl,t=this._getEventPrefix();i(of(r),"resize",this._onResize),i(r,t+"down",this._onMouseDown),i(r,"".concat(t,"move"),this._onMouseMove,Yi),i(r,"".concat(t,"out"),this._onMouseOut),i(r,"".concat(t,"enter"),this._onMouseEnter),i(r,"wheel",this._onMouseWheel),i(r,"contextmenu",this._onContextMenu),i(r,"dblclick",this._onDoubleClick),i(r,"dragstart",this._onDragStart),i(r,"dragend",this._onDragEnd),i(r,"dragover",this._onDragOver),i(r,"dragenter",this._onDragEnter),i(r,"dragleave",this._onDragLeave),i(r,"drop",this._onDrop),this.enablePointerEvents||i(r,"touchstart",this._onTouchStart,Yi)}removeListeners(){this.addOrRemove(Ui,"remove");let i=this._getEventPrefix(),e=fe(this.upperCanvasEl);Ui(e,"".concat(i,"up"),this._onMouseUp),Ui(e,"touchend",this._onTouchEnd,Yi),Ui(e,"".concat(i,"move"),this._onMouseMove,Yi),Ui(e,"touchmove",this._onMouseMove,Yi),clearTimeout(this._willAddMouseDown)}_onMouseWheel(i){this.__onMouseWheel(i)}_onMouseOut(i){let e=this._hoveredTarget,r=P({e:i},Y2(this,i));this.fire("mouse:out",P(P({},r),{},{target:e})),this._hoveredTarget=void 0,e&&e.fire("mouseout",P({},r)),this._hoveredTargets.forEach(i=>{this.fire("mouse:out",P(P({},r),{},{target:i})),i&&i.fire("mouseout",P({},r))}),this._hoveredTargets=[]}_onMouseEnter(i){this._currentTransform||this.findTarget(i)||(this.fire("mouse:over",P({e:i},Y2(this,i))),this._hoveredTarget=void 0,this._hoveredTargets=[])}_onDragStart(i){this._isClick=!1;let e=this.getActiveObject();if(e&&e.onDragStart(i)){this._dragSource=e;let r={e:i,target:e};return this.fire("dragstart",r),e.fire("dragstart",r),void Ne(this.upperCanvasEl,"drag",this._onDragProgress)}i1(i)}_renderDragEffects(i,e,r){let t=!1,n=this._dropTarget;n&&n!==e&&n!==r&&(n.clearContextTop(),t=!0),e?.clearContextTop(),r!==e&&r?.clearContextTop();let f=this.contextTop;f.save(),f.transform(...this.viewportTransform),e&&(f.save(),e.transform(f),e.renderDragSourceEffect(i),f.restore(),t=!0),r&&(f.save(),r.transform(f),r.renderDropTargetEffect(i),f.restore(),t=!0),f.restore(),t&&(this.contextTopDirty=!0)}_onDragEnd(i){let e=!!i.dataTransfer&&i.dataTransfer.dropEffect!==Di,r=e?this._activeObject:void 0,t={e:i,target:this._dragSource,subTargets:this.targets,dragSource:this._dragSource,didDrop:e,dropTarget:r};Ui(this.upperCanvasEl,"drag",this._onDragProgress),this.fire("dragend",t),this._dragSource&&this._dragSource.fire("dragend",t),delete this._dragSource,this._onMouseUp(i)}_onDragProgress(i){let e={e:i,target:this._dragSource,dragSource:this._dragSource,dropTarget:this._draggedoverTarget};this.fire("drag",e),this._dragSource&&this._dragSource.fire("drag",e)}findDragTargets(i){return this.targets=[],{target:this._searchPossibleTargets(this._objects,this.getViewportPoint(i)),targets:[...this.targets]}}_onDragOver(i){let e,r="dragover",{target:t,targets:n}=this.findDragTargets(i),f=this._dragSource,a={e:i,target:t,subTargets:n,dragSource:f,canDrop:!1,dropTarget:void 0};this.fire(r,a),this._fireEnterLeaveEvents(t,a),t&&(t.canDrop(i)&&(e=t),t.fire(r,a));for(let t=0;t<n.length;t++){let f=n[t];f.canDrop(i)&&(e=f),f.fire(r,a)}this._renderDragEffects(i,f,e),this._dropTarget=e}_onDragEnter(i){let{target:e,targets:r}=this.findDragTargets(i),t={e:i,target:e,subTargets:r,dragSource:this._dragSource};this.fire("dragenter",t),this._fireEnterLeaveEvents(e,t)}_onDragLeave(i){let e={e:i,target:this._draggedoverTarget,subTargets:this.targets,dragSource:this._dragSource};this.fire("dragleave",e),this._fireEnterLeaveEvents(void 0,e),this._renderDragEffects(i,this._dragSource),this._dropTarget=void 0,this.targets=[],this._hoveredTargets=[]}_onDrop(i){let{target:e,targets:r}=this.findDragTargets(i),t=this._basicEventHandler("drop:before",P({e:i,target:e,subTargets:r,dragSource:this._dragSource},Y2(this,i)));t.didDrop=!1,t.dropTarget=void 0,this._basicEventHandler("drop",t),this.fire("drop:after",t)}_onContextMenu(i){let e=this.findTarget(i),r=this.targets||[],t=this._basicEventHandler("contextmenu:before",{e:i,target:e,subTargets:r});return this.stopContextMenu&&i1(i),this._basicEventHandler("contextmenu",t),!1}_onDoubleClick(i){this._cacheTransformEventData(i),this._handleEvent(i,"dblclick"),this._resetTransformEventData()}getPointerId(i){let e=i.changedTouches;return e?e[0]&&e[0].identifier:this.enablePointerEvents?i.pointerId:-1}_isMainEvent(i){return!0===i.isPrimary||!1!==i.isPrimary&&("touchend"===i.type&&0===i.touches.length||!i.changedTouches||i.changedTouches[0].identifier===this.mainTouchId)}_onTouchStart(i){let e=!this.allowTouchScrolling,r=this._activeObject;void 0===this.mainTouchId&&(this.mainTouchId=this.getPointerId(i)),this.__onMouseDown(i),(this.isDrawingMode||r&&this._target===r)&&(e=!0),e&&i.preventDefault(),this._resetTransformEventData();let t=this.upperCanvasEl,n=this._getEventPrefix(),f=fe(t);Ne(f,"touchend",this._onTouchEnd,Yi),e&&Ne(f,"touchmove",this._onMouseMove,Yi),Ui(t,"".concat(n,"down"),this._onMouseDown)}_onMouseDown(i){this.__onMouseDown(i),this._resetTransformEventData();let e=this.upperCanvasEl,r=this._getEventPrefix();Ui(e,"".concat(r,"move"),this._onMouseMove,Yi);let t=fe(e);Ne(t,"".concat(r,"up"),this._onMouseUp),Ne(t,"".concat(r,"move"),this._onMouseMove,Yi)}_onTouchEnd(i){if(i.touches.length>0)return;this.__onMouseUp(i),this._resetTransformEventData(),delete this.mainTouchId;let e=this._getEventPrefix(),r=fe(this.upperCanvasEl);Ui(r,"touchend",this._onTouchEnd,Yi),Ui(r,"touchmove",this._onMouseMove,Yi),this._willAddMouseDown&&clearTimeout(this._willAddMouseDown),this._willAddMouseDown=setTimeout(()=>{Ne(this.upperCanvasEl,"".concat(e,"down"),this._onMouseDown),this._willAddMouseDown=0},400)}_onMouseUp(i){this.__onMouseUp(i),this._resetTransformEventData();let e=this.upperCanvasEl,r=this._getEventPrefix();if(this._isMainEvent(i)){let i=fe(this.upperCanvasEl);Ui(i,"".concat(r,"up"),this._onMouseUp),Ui(i,"".concat(r,"move"),this._onMouseMove,Yi),Ne(e,"".concat(r,"move"),this._onMouseMove,Yi)}}_onMouseMove(i){let e=this.getActiveObject();!this.allowTouchScrolling&&(!e||!e.shouldStartDragging(i))&&i.preventDefault&&i.preventDefault(),this.__onMouseMove(i)}_onResize(){this.calcOffset(),this._resetTransformEventData()}_shouldRender(i){let e=this.getActiveObject();return!!e!=!!i||e&&i&&e!==i}__onMouseUp(i){var e;this._cacheTransformEventData(i),this._handleEvent(i,"up:before");let r=this._currentTransform,t=this._isClick,n=this._target,{button:f}=i;if(f)return(this.fireMiddleClick&&1===f||this.fireRightClick&&2===f)&&this._handleEvent(i,"up"),void this._resetTransformEventData();if(this.isDrawingMode&&this._isCurrentlyDrawing)return void this._onMouseUpInDrawingMode(i);if(!this._isMainEvent(i))return;let a,o,A=!1;if(r&&(this._finalizeCurrentTransform(i),A=r.actionPerformed),!t){let e=n===this._activeObject;this.handleSelection(i),A||(A=this._shouldRender(n)||!e&&n===this._activeObject)}if(n){let e=n.findControl(this.getViewportPoint(i),It(i)),{key:t,control:f}=e||{};if(o=t,n.selectable&&n!==this._activeObject&&"up"===n.activeOn)this.setActiveObject(n,i),A=!0;else if(f){let e=f.getMouseUpHandler(i,n,f);e&&(a=this.getScenePoint(i),e.call(f,i,r,a.x,a.y))}n.isMoving=!1}if(r&&(r.target!==n||r.corner!==o)){let e=r.target&&r.target.controls[r.corner],t=e&&e.getMouseUpHandler(i,r.target,e);a=a||this.getScenePoint(i),t&&t.call(e,i,r,a.x,a.y)}this._setCursorFromEvent(i,n),this._handleEvent(i,"up"),this._groupSelector=null,this._currentTransform=null,n&&(n.__corner=void 0),A?this.requestRenderAll():t||null!==(e=this._activeObject)&&void 0!==e&&e.isEditing||this.renderTop()}_basicEventHandler(i,e){let{target:r,subTargets:t=[]}=e;this.fire(i,e),r&&r.fire(i,e);for(let n=0;n<t.length;n++)t[n]!==r&&t[n].fire(i,e);return e}_handleEvent(i,e){let r=this._target,t=this.targets||[],n=P(P({e:i,target:r,subTargets:t},Y2(this,i)),{},{transform:this._currentTransform},"up:before"===e||"up"===e?{isClick:this._isClick,currentTarget:this.findTarget(i),currentSubTargets:this.targets}:{});this.fire("mouse:".concat(e),n),r&&r.fire("mouse".concat(e),n);for(let i=0;i<t.length;i++)t[i]!==r&&t[i].fire("mouse".concat(e),n)}_onMouseDownInDrawingMode(i){this._isCurrentlyDrawing=!0,this.getActiveObject()&&(this.discardActiveObject(i),this.requestRenderAll());let e=this.getScenePoint(i);this.freeDrawingBrush&&this.freeDrawingBrush.onMouseDown(e,{e:i,pointer:e}),this._handleEvent(i,"down")}_onMouseMoveInDrawingMode(i){if(this._isCurrentlyDrawing){let e=this.getScenePoint(i);this.freeDrawingBrush&&this.freeDrawingBrush.onMouseMove(e,{e:i,pointer:e})}this.setCursor(this.freeDrawingCursor),this._handleEvent(i,"move")}_onMouseUpInDrawingMode(i){let e=this.getScenePoint(i);this.freeDrawingBrush?this._isCurrentlyDrawing=!!this.freeDrawingBrush.onMouseUp({e:i,pointer:e}):this._isCurrentlyDrawing=!1,this._handleEvent(i,"up")}__onMouseDown(i){this._isClick=!0,this._cacheTransformEventData(i),this._handleEvent(i,"down:before");let e=this._target,{button:r}=i;if(r)return(this.fireMiddleClick&&1===r||this.fireRightClick&&2===r)&&this._handleEvent(i,"down"),void this._resetTransformEventData();if(this.isDrawingMode)return void this._onMouseDownInDrawingMode(i);if(!this._isMainEvent(i)||this._currentTransform)return;let t=this._shouldRender(e),n=!1;if(this.handleMultiSelection(i,e)?(e=this._activeObject,n=!0,t=!0):this._shouldClearSelection(i,e)&&this.discardActiveObject(i),this.selection&&(!e||!e.selectable&&!e.isEditing&&e!==this._activeObject)){let e=this.getScenePoint(i);this._groupSelector={x:e.x,y:e.y,deltaY:0,deltaX:0}}if(e){let r=e===this._activeObject;e.selectable&&"down"===e.activeOn&&this.setActiveObject(e,i);let t=e.findControl(this.getViewportPoint(i),It(i));if(e===this._activeObject&&(t||!n)){this._setupCurrentTransform(i,e,r);let n=t?t.control:void 0,f=this.getScenePoint(i),a=n&&n.getMouseDownHandler(i,e,n);a&&a.call(n,i,this._currentTransform,f.x,f.y)}}t&&(this._objectsToRender=void 0),this._handleEvent(i,"down"),t&&this.requestRenderAll()}_resetTransformEventData(){this._target=this._pointer=this._absolutePointer=void 0}_cacheTransformEventData(i){this._resetTransformEventData(),this._pointer=this.getViewportPoint(i),this._absolutePointer=Fe(this._pointer,void 0,this.viewportTransform),this._target=this._currentTransform?this._currentTransform.target:this.findTarget(i)}__onMouseMove(i){if(this._isClick=!1,this._cacheTransformEventData(i),this._handleEvent(i,"move:before"),this.isDrawingMode)return void this._onMouseMoveInDrawingMode(i);if(!this._isMainEvent(i))return;let e=this._groupSelector;if(e){let r=this.getScenePoint(i);e.deltaX=r.x-e.x,e.deltaY=r.y-e.y,this.renderTop()}else if(this._currentTransform)this._transformObject(i);else{let e=this.findTarget(i);this._setCursorFromEvent(i,e),this._fireOverOutEvents(i,e)}this.textEditingManager.onMouseMove(i),this._handleEvent(i,"move"),this._resetTransformEventData()}_fireOverOutEvents(i,e){let r=this._hoveredTarget,t=this._hoveredTargets,n=this.targets,f=Math.max(t.length,n.length);this.fireSyntheticInOutEvents("mouse",{e:i,target:e,oldTarget:r,fireCanvas:!0});for(let e=0;e<f;e++)this.fireSyntheticInOutEvents("mouse",{e:i,target:n[e],oldTarget:t[e]});this._hoveredTarget=e,this._hoveredTargets=this.targets.concat()}_fireEnterLeaveEvents(i,e){let r=this._draggedoverTarget,t=this._hoveredTargets,n=this.targets,f=Math.max(t.length,n.length);this.fireSyntheticInOutEvents("drag",P(P({},e),{},{target:i,oldTarget:r,fireCanvas:!0}));for(let i=0;i<f;i++)this.fireSyntheticInOutEvents("drag",P(P({},e),{},{target:n[i],oldTarget:t[i]}));this._draggedoverTarget=i}fireSyntheticInOutEvents(i,e){let{target:r,oldTarget:t,fireCanvas:n,e:f}=e,a=ni(e,Hs),{targetIn:o,targetOut:A,canvasIn:s,canvasOut:l}=Us[i],k=t!==r;if(t&&k){let i=P(P({},a),{},{e:f,target:t,nextTarget:r},Y2(this,f));n&&this.fire(l,i),t.fire(A,i)}if(r&&k){let i=P(P({},a),{},{e:f,target:r,previousTarget:t},Y2(this,f));n&&this.fire(s,i),r.fire(o,i)}}__onMouseWheel(i){this._cacheTransformEventData(i),this._handleEvent(i,"wheel"),this._resetTransformEventData()}_transformObject(i){let e=this.getScenePoint(i),r=this._currentTransform,t=r.target,n=t.group?Fe(e,void 0,t.group.calcTransformMatrix()):e;r.shiftKey=i.shiftKey,r.altKey=!!this.centeredKey&&i[this.centeredKey],this._performTransformAction(i,r,n),r.actionPerformed&&this.requestRenderAll()}_performTransformAction(i,e,r){let{action:t,actionHandler:n,target:f}=e,a=!!n&&n(i,e,r.x,r.y);a&&f.setCoords(),"drag"===t&&a&&(e.target.isMoving=!0,this.setCursor(e.target.moveCursor||this.moveCursor)),e.actionPerformed=e.actionPerformed||a}_setCursorFromEvent(i,e){if(!e)return void this.setCursor(this.defaultCursor);let r=e.hoverCursor||this.hoverCursor,t=A2(this._activeObject)?this._activeObject:null,n=(!t||e.group!==t)&&e.findControl(this.getViewportPoint(i));if(n){let r=n.control;this.setCursor(r.cursorStyleHandler(i,r,e))}else e.subTargetCheck&&this.targets.concat().reverse().map(i=>{r=i.hoverCursor||r}),this.setCursor(r)}handleMultiSelection(i,e){let r=this._activeObject,t=A2(r);if(r&&this._isSelectionKeyPressed(i)&&this.selection&&e&&e.selectable&&(r!==e||t)&&(t||!e.isDescendantOf(r)&&!r.isDescendantOf(e))&&!e.onSelect({e:i})&&!r.getActiveControl()){if(t){let t=r.getObjects();if(e===r){let r=this.getViewportPoint(i);if(!(e=this.searchPossibleTargets(t,r)||this.searchPossibleTargets(this._objects,r))||!e.selectable)return!1}e.group===r?(r.remove(e),this._hoveredTarget=e,this._hoveredTargets=[...this.targets],1===r.size()&&this._setActiveObject(r.item(0),i)):(r.multiSelectAdd(e),this._hoveredTarget=r,this._hoveredTargets=[...this.targets]),this._fireSelectionEvents(t,i)}else{r.isEditing&&r.exitEditing();let t=new(d0.getClass("ActiveSelection"))([],{canvas:this});t.multiSelectAdd(r,e),this._hoveredTarget=t,this._setActiveObject(t,i),this._fireSelectionEvents([r],i)}return!0}return!1}handleSelection(i){if(!this.selection||!this._groupSelector)return!1;let{x:e,y:r,deltaX:t,deltaY:n}=this._groupSelector,f=new K(e,r),a=f.add(new K(t,n)),o=f.min(a),A=f.max(a).subtract(o),s=this.collectObjects({left:o.x,top:o.y,width:A.x,height:A.y},{includeIntersecting:!this.selectionFullyContained}),l=f.eq(a)?s[0]?[s[0]]:[]:s.length>1?s.filter(e=>!e.onSelect({e:i})).reverse():s;if(1===l.length)this.setActiveObject(l[0],i);else if(l.length>1){let e=d0.getClass("ActiveSelection");this.setActiveObject(new e(l,{canvas:this}),i)}return this._groupSelector=null,!0}clear(){this.textEditingManager.clear(),super.clear()}destroy(){this.removeListeners(),this.textEditingManager.dispose(),super.destroy()}},qf={x1:0,y1:0,x2:0,y2:0},Ls=P(P({},qf),{},{r1:0,r2:0}),z2=(i,e)=>isNaN(i)&&"number"==typeof e?e:i,js=/^(\d+\.\d+)%|(\d+)%$/;function Kf(i){return i&&js.test(i)}function ia(i,e){let r="number"==typeof i?i:"string"==typeof i?parseFloat(i)/(Kf(i)?100:1):NaN;return F2(0,z2(r,e),1)}var $s=/\s*;\s*/,qs=/\s*:\s*/;function Ks(i,e){let r,t,n=i.getAttribute("style");if(n){let i=n.split($s);""===i[i.length-1]&&i.pop();for(let e=i.length;e--;){let[n,f]=i[e].split(qs).map(i=>i.trim());"stop-color"===n?r=f:"stop-opacity"===n&&(t=f)}}let f=new xi(r||i.getAttribute("stop-color")||"rgb(0,0,0)");return{offset:ia(i.getAttribute("offset"),0),color:f.toRgb(),opacity:z2(parseFloat(t||i.getAttribute("stop-opacity")||""),1)*f.getAlpha()*e}}function iA(i,e){let r=[],t=i.getElementsByTagName("stop"),n=ia(e,1);for(let i=t.length;i--;)r.push(Ks(t[i],n));return r}function ea(i){return"linearGradient"===i.nodeName||"LINEARGRADIENT"===i.nodeName?"linear":"radial"}function ra(i){return"userSpaceOnUse"===i.getAttribute("gradientUnits")?"pixels":"percentage"}function oe(i,e){return i.getAttribute(e)}function eA(i,e){return function(i,e){let r,{width:t,height:n,gradientUnits:f}=e;return Object.keys(i).reduce((e,a)=>{let o=i[a];return"Infinity"===o?r=1:"-Infinity"===o?r=0:(r="string"==typeof o?parseFloat(o):o,"string"==typeof o&&Kf(o)&&(r*=.01,"pixels"===f&&("x1"!==a&&"x2"!==a&&"r2"!==a||(r*=t),"y1"!==a&&"y2"!==a||(r*=n)))),e[a]=r,e},{})}("linear"===ea(i)?{x1:oe(r=i,"x1")||0,y1:oe(r,"y1")||0,x2:oe(r,"x2")||"100%",y2:oe(r,"y2")||0}:function(i){return{x1:oe(i,"fx")||oe(i,"cx")||"50%",y1:oe(i,"fy")||oe(i,"cy")||"50%",r1:0,x2:oe(i,"cx")||"50%",y2:oe(i,"cy")||"50%",r2:oe(i,"r")||"50%"}}(i),P(P({},e),{},{gradientUnits:ra(i)}));var r}var J2=class{constructor(i){let{type:e="linear",gradientUnits:r="pixels",coords:t={},colorStops:n=[],offsetX:f=0,offsetY:a=0,gradientTransform:o,id:A}=i||{};Object.assign(this,{type:e,gradientUnits:r,coords:P(P({},"radial"===e?Ls:qf),t),colorStops:n,offsetX:f,offsetY:a,gradientTransform:o,id:A?"".concat(A,"_").concat(Le()):Le()})}addColorStop(i){for(let e in i){let r=new xi(i[e]);this.colorStops.push({offset:parseFloat(e),color:r.toRgb(),opacity:r.getAlpha()})}return this}toObject(i){return P(P({},S2(this,i)),{},{type:this.type,coords:P({},this.coords),colorStops:this.colorStops.map(i=>P({},i)),offsetX:this.offsetX,offsetY:this.offsetY,gradientUnits:this.gradientUnits,gradientTransform:this.gradientTransform?[...this.gradientTransform]:void 0})}toSVG(i){let{additionalTransform:e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=[],t=this.gradientTransform?this.gradientTransform.concat():Fi.concat(),n="pixels"===this.gradientUnits?"userSpaceOnUse":"objectBoundingBox",f=this.colorStops.map(i=>P({},i)).sort((i,e)=>i.offset-e.offset),a=-this.offsetX,o=-this.offsetY;var A;"objectBoundingBox"===n?(a/=i.width,o/=i.height):(a+=i.width/2,o+=i.height/2),(A=i)&&"function"==typeof A._renderPathCommands&&"percentage"!==this.gradientUnits&&(a-=i.pathOffset.x,o-=i.pathOffset.y),t[4]-=a,t[5]-=o;let s=['id="SVGID_'.concat(this.id,'"'),'gradientUnits="'.concat(n,'"'),'gradientTransform="'.concat(e?e+" ":"").concat(Er(t),'"'),""].join(" ");if("linear"===this.type){let{x1:i,y1:e,x2:t,y2:n}=this.coords;r.push("<linearGradient ",s,' x1="',i,'" y1="',e,'" x2="',t,'" y2="',n,'">\n')}else if("radial"===this.type){let{x1:i,y1:e,x2:t,y2:n,r1:a,r2:o}=this.coords,A=a>o;r.push("<radialGradient ",s,' cx="',A?i:t,'" cy="',A?e:n,'" r="',A?a:o,'" fx="',A?t:i,'" fy="',A?n:e,'">\n'),A&&(f.reverse(),f.forEach(i=>{i.offset=1-i.offset}));let l=Math.min(a,o);if(l>0){let i=l/Math.max(a,o);f.forEach(e=>{e.offset+=i*(1-e.offset)})}}return f.forEach(i=>{let{color:e,offset:t,opacity:n}=i;r.push("<stop ",'offset="',100*t+"%",'" style="stop-color:',e,void 0!==n?";stop-opacity: "+n:";",'"/>\n')}),r.push("linear"===this.type?"</linearGradient>":"</radialGradient>","\n"),r.join("")}toLive(i){let{x1:e,y1:r,x2:t,y2:n,r1:f,r2:a}=this.coords,o="linear"===this.type?i.createLinearGradient(e,r,t,n):i.createRadialGradient(e,r,f,t,n,a);return this.colorStops.forEach(i=>{let{color:e,opacity:r,offset:t}=i;o.addColorStop(t,void 0!==r?new xi(e).setAlpha(r).toRgba():e)}),o}static async fromObject(i){let{colorStops:e,gradientTransform:r}=i;return new this(P(P({},i),{},{colorStops:e?e.map(i=>P({},i)):void 0,gradientTransform:r?[...r]:void 0}))}static fromElement(i,e,r){let t=ra(i),n=e._findCenterFromElement();return new this(P({id:i.getAttribute("id")||void 0,type:ea(i),coords:eA(i,{width:r.viewBoxWidth||r.width,height:r.viewBoxHeight||r.height}),colorStops:iA(i,r.opacity),gradientUnits:t,gradientTransform:k1(i.getAttribute("gradientTransform")||"")},"pixels"===t?{offsetX:e.width/2-n.x,offsetY:e.height/2-n.y}:{offsetX:0,offsetY:0}))}};R(J2,"type","Gradient"),d0.setClass(J2,"gradient"),d0.setClass(J2,"linear"),d0.setClass(J2,"radial");var rA=["type","source","patternTransform"],Je=class{get type(){return"pattern"}set type(i){He("warn","Setting type has no effect",i)}constructor(i){R(this,"repeat","repeat"),R(this,"offsetX",0),R(this,"offsetY",0),R(this,"crossOrigin",""),this.id=Le(),Object.assign(this,i)}isImageSource(){return!!this.source&&"string"==typeof this.source.src}isCanvasSource(){return!!this.source&&!!this.source.toDataURL}sourceToString(){return this.isImageSource()?this.source.src:this.isCanvasSource()?this.source.toDataURL():""}toLive(i){return this.source&&(!this.isImageSource()||this.source.complete&&0!==this.source.naturalWidth&&0!==this.source.naturalHeight)?i.createPattern(this.source,this.repeat):null}toObject(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],{repeat:e,crossOrigin:r}=this;return P(P({},S2(this,i)),{},{type:"pattern",source:this.sourceToString(),repeat:e,crossOrigin:r,offsetX:ti(this.offsetX,P0.NUM_FRACTION_DIGITS),offsetY:ti(this.offsetY,P0.NUM_FRACTION_DIGITS),patternTransform:this.patternTransform?[...this.patternTransform]:null})}toSVG(i){let{width:e,height:r}=i,{source:t,repeat:n,id:f}=this,a=z2(this.offsetX/e,0),o=z2(this.offsetY/r,0),A="repeat-y"===n||"no-repeat"===n?1+Math.abs(a||0):z2(t.width/e,0),s="repeat-x"===n||"no-repeat"===n?1+Math.abs(o||0):z2(t.height/r,0);return['<pattern id="SVGID_'.concat(f,'" x="').concat(a,'" y="').concat(o,'" width="').concat(A,'" height="').concat(s,'">'),'<image x="0" y="0" width="'.concat(t.width,'" height="').concat(t.height,'" xlink:href="').concat(this.sourceToString(),'"></image>'),"</pattern>",""].join("\n")}static async fromObject(i,e){let{type:r,source:t,patternTransform:n}=i,f=ni(i,rA),a=await Br(t,P(P({},e),{},{crossOrigin:f.crossOrigin}));return new this(P(P({},f),{},{patternTransform:n&&n.slice(0),source:a}))}};R(Je,"type","Pattern"),d0.setClass(Je),d0.setClass(Je,"pattern");var p1=class{constructor(i){R(this,"color","rgb(0, 0, 0)"),R(this,"width",1),R(this,"shadow",null),R(this,"strokeLineCap","round"),R(this,"strokeLineJoin","round"),R(this,"strokeMiterLimit",10),R(this,"strokeDashArray",null),R(this,"limitedToCanvasSize",!1),this.canvas=i}_setBrushStyles(i){i.strokeStyle=this.color,i.lineWidth=this.width,i.lineCap=this.strokeLineCap,i.miterLimit=this.strokeMiterLimit,i.lineJoin=this.strokeLineJoin,i.setLineDash(this.strokeDashArray||[])}_saveAndTransform(i){let e=this.canvas.viewportTransform;i.save(),i.transform(e[0],e[1],e[2],e[3],e[4],e[5])}needsFullRender(){return new xi(this.color).getAlpha()<1||!!this.shadow}_setShadow(){if(!this.shadow||!this.canvas)return;let i=this.canvas,e=this.shadow,r=i.contextTop,t=i.getZoom()*i.getRetinaScaling();r.shadowColor=e.color,r.shadowBlur=e.blur*t,r.shadowOffsetX=e.offsetX*t,r.shadowOffsetY=e.offsetY*t}_resetShadow(){let i=this.canvas.contextTop;i.shadowColor="",i.shadowBlur=i.shadowOffsetX=i.shadowOffsetY=0}_isOutSideCanvas(i){return i.x<0||i.x>this.canvas.getWidth()||i.y<0||i.y>this.canvas.getHeight()}},tA=["path","left","top"],nA=["d"],ae=class i extends ci{constructor(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{path:t,left:n,top:f}=r,a=ni(r,tA);super(),Object.assign(this,i.ownDefaults),this.setOptions(a),this._setPath(e||[],!0),"number"==typeof n&&this.set(z0,n),"number"==typeof f&&this.set(Gi,f)}_setPath(i,e){this.path=Of(Array.isArray(i)?i:jf(i)),this.setBoundingBox(e)}_findCenterFromElement(){let i=this._calcBoundsFromPath();return new K(i.left+i.width/2,i.top+i.height/2)}_renderPathCommands(i){let e=-this.pathOffset.x,r=-this.pathOffset.y;i.beginPath();for(let t of this.path)switch(t[0]){case"L":i.lineTo(t[1]+e,t[2]+r);break;case"M":i.moveTo(t[1]+e,t[2]+r);break;case"C":i.bezierCurveTo(t[1]+e,t[2]+r,t[3]+e,t[4]+r,t[5]+e,t[6]+r);break;case"Q":i.quadraticCurveTo(t[1]+e,t[2]+r,t[3]+e,t[4]+r);break;case"Z":i.closePath()}}_render(i){this._renderPathCommands(i),this._renderPaintInOrder(i)}toString(){return"#<Path (".concat(this.complexity(),'): { "top": ').concat(this.top,', "left": ').concat(this.left," }>")}toObject(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return P(P({},super.toObject(i)),{},{path:this.path.map(i=>i.slice())})}toDatalessObject(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=this.toObject(i);return this.sourcePath&&(delete e.path,e.sourcePath=this.sourcePath),e}_toSVG(){let i=U1(this.path,P0.NUM_FRACTION_DIGITS);return["<path ","COMMON_PARTS",'d="'.concat(i,'" stroke-linecap="round" />\n')]}_getOffsetTransform(){let i=P0.NUM_FRACTION_DIGITS;return" translate(".concat(ti(-this.pathOffset.x,i),", ").concat(ti(-this.pathOffset.y,i),")")}toClipPathSVG(i){let e=this._getOffsetTransform();return"\t"+this._createBaseClipPathSVGMarkup(this._toSVG(),{reviver:i,additionalTransform:e})}toSVG(i){let e=this._getOffsetTransform();return this._createBaseSVGMarkup(this._toSVG(),{reviver:i,additionalTransform:e})}complexity(){return this.path.length}setDimensions(){this.setBoundingBox()}setBoundingBox(i){let{width:e,height:r,pathOffset:t}=this._calcDimensions();this.set({width:e,height:r,pathOffset:t}),i&&this.setPositionByOrigin(t,V0,V0)}_calcBoundsFromPath(){let i=[],e=0,r=0,t=0,n=0;for(let f of this.path)switch(f[0]){case"L":t=f[1],n=f[2],i.push({x:e,y:r},{x:t,y:n});break;case"M":t=f[1],n=f[2],e=t,r=n;break;case"C":i.push(...c1(t,n,f[1],f[2],f[3],f[4],f[5],f[6])),t=f[5],n=f[6];break;case"Q":i.push(...c1(t,n,f[1],f[2],f[1],f[2],f[3],f[4])),t=f[3],n=f[4];break;case"Z":t=e,n=r}return be(i)}_calcDimensions(){let i=this._calcBoundsFromPath();return P(P({},i),{},{pathOffset:new K(i.left+i.width/2,i.top+i.height/2)})}static fromObject(i){return this._fromObject(i,{extraParam:"path"})}static async fromElement(i,e,r){let t=Xe(i,this.ATTRIBUTE_NAMES,r),{d:n}=t;return new this(n,P(P(P({},ni(t,nA)),e),{},{left:void 0,top:void 0}))}};R(ae,"type","Path"),R(ae,"cacheProperties",[...Se,"path","fillRule"]),R(ae,"ATTRIBUTE_NAMES",[...Ke,"d"]),d0.setClass(ae),d0.setSVGClass(ae);var tr=class i extends p1{constructor(i){super(i),R(this,"decimate",.4),R(this,"drawStraightLine",!1),R(this,"straightLineKey","shiftKey"),this._points=[],this._hasStraightLine=!1}needsFullRender(){return super.needsFullRender()||this._hasStraightLine}static drawSegment(i,e,r){let t=e.midPointFrom(r);return i.quadraticCurveTo(e.x,e.y,t.x,t.y),t}onMouseDown(i,e){let{e:r}=e;this.canvas._isMainEvent(r)&&(this.drawStraightLine=!!this.straightLineKey&&r[this.straightLineKey],this._prepareForDrawing(i),this._addPoint(i),this._render())}onMouseMove(e,r){let{e:t}=r;if(this.canvas._isMainEvent(t)&&(this.drawStraightLine=!!this.straightLineKey&&t[this.straightLineKey],(!0!==this.limitedToCanvasSize||!this._isOutSideCanvas(e))&&this._addPoint(e)&&this._points.length>1))if(this.needsFullRender())this.canvas.clearContext(this.canvas.contextTop),this._render();else{let e=this._points,r=e.length,t=this.canvas.contextTop;this._saveAndTransform(t),this.oldEnd&&(t.beginPath(),t.moveTo(this.oldEnd.x,this.oldEnd.y)),this.oldEnd=i.drawSegment(t,e[r-2],e[r-1]),t.stroke(),t.restore()}}onMouseUp(i){let{e:e}=i;return!this.canvas._isMainEvent(e)||(this.drawStraightLine=!1,this.oldEnd=void 0,this._finalizeAndAddPath(),!1)}_prepareForDrawing(i){this._reset(),this._addPoint(i),this.canvas.contextTop.moveTo(i.x,i.y)}_addPoint(i){return!(this._points.length>1&&i.eq(this._points[this._points.length-1])||(this.drawStraightLine&&this._points.length>1&&(this._hasStraightLine=!0,this._points.pop()),this._points.push(i),0))}_reset(){this._points=[],this._setBrushStyles(this.canvas.contextTop),this._setShadow(),this._hasStraightLine=!1}_render(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.canvas.contextTop,r=this._points[0],t=this._points[1];if(this._saveAndTransform(e),e.beginPath(),2===this._points.length&&r.x===t.x&&r.y===t.y){let i=this.width/1e3;r.x-=i,t.x+=i}e.moveTo(r.x,r.y);for(let n=1;n<this._points.length;n++)i.drawSegment(e,r,t),r=this._points[n],t=this._points[n+1];e.lineTo(r.x,r.y),e.stroke(),e.restore()}convertPointsToSVGPath(i){let e=this.width/1e3;return $f(i,e)}createPath(i){let e=new ae(i,{fill:null,stroke:this.color,strokeWidth:this.width,strokeLineCap:this.strokeLineCap,strokeMiterLimit:this.strokeMiterLimit,strokeLineJoin:this.strokeLineJoin,strokeDashArray:this.strokeDashArray});return this.shadow&&(this.shadow.affectStroke=!0,e.shadow=new Oe(this.shadow)),e}decimatePoints(i,e){if(i.length<=2)return i;let r,t=i[0],n=this.canvas.getZoom(),f=Math.pow(e/n,2),a=i.length-1,o=[t];for(let e=1;e<a-1;e++)r=Math.pow(t.x-i[e].x,2)+Math.pow(t.y-i[e].y,2),r>=f&&(t=i[e],o.push(t));return o.push(i[a]),o}_finalizeAndAddPath(){this.canvas.contextTop.closePath(),this.decimate&&(this._points=this.decimatePoints(this._points,this.decimate));let i=this.convertPointsToSVGPath(this._points);if("M 0 0 Q 0 0 0 0 L 0 0"===U1(i))return void this.canvas.requestRenderAll();let e=this.createPath(i);this.canvas.clearContext(this.canvas.contextTop),this.canvas.fire("before:path:created",{path:e}),this.canvas.add(e),this.canvas.requestRenderAll(),e.setCoords(),this._resetShadow(),this.canvas.fire("path:created",{path:e})}},oA=["left","top","radius"],ta=["radius","startAngle","endAngle","counterClockwise"],Qe=class i extends ci{static getDefaults(){return P(P({},super.getDefaults()),i.ownDefaults)}constructor(e){super(),Object.assign(this,i.ownDefaults),this.setOptions(e)}_set(i,e){return super._set(i,e),"radius"===i&&this.setRadius(e),this}_render(i){i.beginPath(),i.arc(0,0,this.radius,si(this.startAngle),si(this.endAngle),this.counterClockwise),this._renderPaintInOrder(i)}getRadiusX(){return this.get("radius")*this.get(Wi)}getRadiusY(){return this.get("radius")*this.get(zi)}setRadius(i){this.radius=i,this.set({width:2*i,height:2*i})}toObject(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return super.toObject([...ta,...i])}_toSVG(){let i=(this.endAngle-this.startAngle)%360;if(0===i)return["<circle ","COMMON_PARTS",'cx="0" cy="0" ','r="',"".concat(this.radius),'" />\n'];{let{radius:e}=this,r=si(this.startAngle),t=si(this.endAngle),n=le(r)*e,f=ke(r)*e,a=le(t)*e,o=ke(t)*e,A=i>180?1:0,s=this.counterClockwise?0:1;return['<path d="M '.concat(n," ").concat(f," A ").concat(e," ").concat(e," 0 ").concat(A," ").concat(s," ").concat(a," ").concat(o,'" '),"COMMON_PARTS"," />\n"]}}static async fromElement(i,e,r){let t=Xe(i,this.ATTRIBUTE_NAMES,r),{left:n=0,top:f=0,radius:a=0}=t;return new this(P(P({},ni(t,oA)),{},{radius:a,left:n-a,top:f-a}))}static fromObject(i){return super._fromObject(i)}};R(Qe,"type","Circle"),R(Qe,"cacheProperties",[...Se,...ta]),R(Qe,"ownDefaults",{radius:0,startAngle:0,endAngle:360,counterClockwise:!1}),R(Qe,"ATTRIBUTE_NAMES",["cx","cy","r",...Ke]),d0.setClass(Qe),d0.setSVGClass(Qe);var fA=["x1","y1","x2","y2"],aA=["x1","y1","x2","y2"],g1=["x1","x2","y1","y2"],l2=class i extends ci{constructor(){let[e,r,t,n]=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[0,0,0,0],f=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),Object.assign(this,i.ownDefaults),this.setOptions(f),this.x1=e,this.x2=t,this.y1=r,this.y2=n,this._setWidthHeight();let{left:a,top:o}=f;"number"==typeof a&&this.set(z0,a),"number"==typeof o&&this.set(Gi,o)}_setWidthHeight(){let{x1:i,y1:e,x2:r,y2:t}=this;this.width=Math.abs(r-i),this.height=Math.abs(t-e);let{left:n,top:f,width:a,height:o}=be([{x:i,y:e},{x:r,y:t}]),A=new K(n+a/2,f+o/2);this.setPositionByOrigin(A,V0,V0)}_set(i,e){return super._set(i,e),g1.includes(i)&&this._setWidthHeight(),this}_render(i){i.beginPath();let e=this.calcLinePoints();i.moveTo(e.x1,e.y1),i.lineTo(e.x2,e.y2),i.lineWidth=this.strokeWidth;let r=i.strokeStyle;var t;ji(this.stroke)?i.strokeStyle=this.stroke.toLive(i):i.strokeStyle=null!==(t=this.stroke)&&void 0!==t?t:i.fillStyle,this.stroke&&this._renderStroke(i),i.strokeStyle=r}_findCenterFromElement(){return new K((this.x1+this.x2)/2,(this.y1+this.y2)/2)}toObject(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return P(P({},super.toObject(i)),this.calcLinePoints())}_getNonTransformedDimensions(){let i=super._getNonTransformedDimensions();return"butt"===this.strokeLineCap&&(0===this.width&&(i.y-=this.strokeWidth),0===this.height&&(i.x-=this.strokeWidth)),i}calcLinePoints(){let{x1:i,x2:e,y1:r,y2:t,width:n,height:f}=this,a=i<=e?-1:1,o=r<=t?-1:1;return{x1:a*n/2,x2:a*-n/2,y1:o*f/2,y2:o*-f/2}}_toSVG(){let{x1:i,x2:e,y1:r,y2:t}=this.calcLinePoints();return["<line ","COMMON_PARTS",'x1="'.concat(i,'" y1="').concat(r,'" x2="').concat(e,'" y2="').concat(t,'" />\n')]}static async fromElement(i,e,r){let t=Xe(i,this.ATTRIBUTE_NAMES,r),{x1:n=0,y1:f=0,x2:a=0,y2:o=0}=t;return new this([n,f,a,o],ni(t,fA))}static fromObject(i){let{x1:e,y1:r,x2:t,y2:n}=i,f=ni(i,aA);return this._fromObject(P(P({},f),{},{points:[e,r,t,n]}),{extraParam:"points"})}};R(l2,"type","Line"),R(l2,"cacheProperties",[...Se,...g1]),R(l2,"ATTRIBUTE_NAMES",Ke.concat(g1)),d0.setClass(l2),d0.setSVGClass(l2);var H2=class i extends ci{static getDefaults(){return P(P({},super.getDefaults()),i.ownDefaults)}constructor(e){super(),Object.assign(this,i.ownDefaults),this.setOptions(e)}_render(i){let e=this.width/2,r=this.height/2;i.beginPath(),i.moveTo(-e,r),i.lineTo(0,-r),i.lineTo(e,r),i.closePath(),this._renderPaintInOrder(i)}_toSVG(){let i=this.width/2,e=this.height/2;return["<polygon ","COMMON_PARTS",'points="',"".concat(-i," ").concat(e,",0 ").concat(-e,",").concat(i," ").concat(e),'" />']}};R(H2,"type","Triangle"),R(H2,"ownDefaults",{width:100,height:100}),d0.setClass(H2),d0.setSVGClass(H2);var na=["rx","ry"],Ye=class i extends ci{static getDefaults(){return P(P({},super.getDefaults()),i.ownDefaults)}constructor(e){super(),Object.assign(this,i.ownDefaults),this.setOptions(e)}_set(i,e){switch(super._set(i,e),i){case"rx":this.rx=e,this.set("width",2*e);break;case"ry":this.ry=e,this.set("height",2*e)}return this}getRx(){return this.get("rx")*this.get(Wi)}getRy(){return this.get("ry")*this.get(zi)}toObject(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return super.toObject([...na,...i])}_toSVG(){return["<ellipse ","COMMON_PARTS",'cx="0" cy="0" rx="'.concat(this.rx,'" ry="').concat(this.ry,'" />\n')]}_render(i){i.beginPath(),i.save(),i.transform(1,0,0,this.ry/this.rx,0,0),i.arc(0,0,this.rx,0,We,!1),i.restore(),this._renderPaintInOrder(i)}static async fromElement(i,e,r){let t=Xe(i,this.ATTRIBUTE_NAMES,r);return t.left=(t.left||0)-t.rx,t.top=(t.top||0)-t.ry,new this(t)}};function sA(i){if(!i)return[];let e=i.replace(/,/g," ").trim().split(/\s+/),r=[];for(let i=0;i<e.length;i+=2)r.push({x:parseFloat(e[i]),y:parseFloat(e[i+1])});return r}R(Ye,"type","Ellipse"),R(Ye,"cacheProperties",[...Se,...na]),R(Ye,"ownDefaults",{rx:0,ry:0}),R(Ye,"ATTRIBUTE_NAMES",[...Ke,"cx","cy","rx","ry"]),d0.setClass(Ye),d0.setSVGClass(Ye);var AA=["left","top"],oa={exactBoundingBox:!1},pe=class i extends ci{static getDefaults(){return P(P({},super.getDefaults()),i.ownDefaults)}constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),R(this,"strokeDiff",void 0),Object.assign(this,i.ownDefaults),this.setOptions(r),this.points=e;let{left:t,top:n}=r;this.initialized=!0,this.setBoundingBox(!0),"number"==typeof t&&this.set(z0,t),"number"==typeof n&&this.set(Gi,n)}isOpen(){return!0}_projectStrokeOnPoints(i){return Gf(this.points,i,this.isOpen())}_calcDimensions(i){i=P({scaleX:this.scaleX,scaleY:this.scaleY,skewX:this.skewX,skewY:this.skewY,strokeLineCap:this.strokeLineCap,strokeLineJoin:this.strokeLineJoin,strokeMiterLimit:this.strokeMiterLimit,strokeUniform:this.strokeUniform,strokeWidth:this.strokeWidth},i||{});let e=this.exactBoundingBox?this._projectStrokeOnPoints(i).map(i=>i.projectedPoint):this.points;if(0===e.length)return{left:0,top:0,width:0,height:0,pathOffset:new K,strokeOffset:new K,strokeDiff:new K};let r=be(e),t=Gr(P(P({},i),{},{scaleX:1,scaleY:1})),n=be(this.points.map(i=>Bi(i,t,!0))),f=new K(this.scaleX,this.scaleY),a=r.left+r.width/2,o=r.top+r.height/2;return this.exactBoundingBox&&(a-=o*Math.tan(si(this.skewX)),o-=a*Math.tan(si(this.skewY))),P(P({},r),{},{pathOffset:new K(a,o),strokeOffset:new K(n.left,n.top).subtract(new K(r.left,r.top)).multiply(f),strokeDiff:new K(r.width,r.height).subtract(new K(n.width,n.height)).multiply(f)})}_findCenterFromElement(){let i=be(this.points);return new K(i.left+i.width/2,i.top+i.height/2)}setDimensions(){this.setBoundingBox()}setBoundingBox(i){let{left:e,top:r,width:t,height:n,pathOffset:f,strokeOffset:a,strokeDiff:o}=this._calcDimensions();this.set({width:t,height:n,pathOffset:f,strokeOffset:a,strokeDiff:o}),i&&this.setPositionByOrigin(new K(e+t/2,r+n/2),V0,V0)}isStrokeAccountedForInDimensions(){return this.exactBoundingBox}_getNonTransformedDimensions(){return this.exactBoundingBox?new K(this.width,this.height):super._getNonTransformedDimensions()}_getTransformedDimensions(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.exactBoundingBox){let f;if(Object.keys(i).some(i=>this.strokeUniform||this.constructor.layoutProperties.includes(i))){var e,r;let{width:t,height:n}=this._calcDimensions(i);f=new K(null!==(e=i.width)&&void 0!==e?e:t,null!==(r=i.height)&&void 0!==r?r:n)}else{var t,n;f=new K(null!==(t=i.width)&&void 0!==t?t:this.width,null!==(n=i.height)&&void 0!==n?n:this.height)}return f.multiply(new K(i.scaleX||this.scaleX,i.scaleY||this.scaleY))}return super._getTransformedDimensions(i)}_set(i,e){let r=this.initialized&&this[i]!==e,t=super._set(i,e);return this.exactBoundingBox&&r&&((i===Wi||i===zi)&&this.strokeUniform&&this.constructor.layoutProperties.includes("strokeUniform")||this.constructor.layoutProperties.includes(i))&&this.setDimensions(),t}toObject(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return P(P({},super.toObject(i)),{},{points:this.points.map(i=>{let{x:e,y:r}=i;return{x:e,y:r}})})}_toSVG(){let i=[],e=this.pathOffset.x,r=this.pathOffset.y,t=P0.NUM_FRACTION_DIGITS;for(let n=0,f=this.points.length;n<f;n++)i.push(ti(this.points[n].x-e,t),",",ti(this.points[n].y-r,t)," ");return["<".concat(this.constructor.type.toLowerCase()," "),"COMMON_PARTS",'points="'.concat(i.join(""),'" />\n')]}_render(i){let e=this.points.length,r=this.pathOffset.x,t=this.pathOffset.y;if(e&&!isNaN(this.points[e-1].y)){i.beginPath(),i.moveTo(this.points[0].x-r,this.points[0].y-t);for(let n=0;n<e;n++){let e=this.points[n];i.lineTo(e.x-r,e.y-t)}!this.isOpen()&&i.closePath(),this._renderPaintInOrder(i)}}complexity(){return this.points.length}static async fromElement(i,e,r){return new this(sA(i.getAttribute("points")),P(P({},ni(Xe(i,this.ATTRIBUTE_NAMES,r),AA)),e))}static fromObject(i){return this._fromObject(i,{extraParam:"points"})}};R(pe,"ownDefaults",oa),R(pe,"type","Polyline"),R(pe,"layoutProperties",[or,fr,"strokeLineCap","strokeLineJoin","strokeMiterLimit","strokeWidth","strokeUniform","points"]),R(pe,"cacheProperties",[...Se,"points"]),R(pe,"ATTRIBUTE_NAMES",[...Ke]),d0.setClass(pe),d0.setSVGClass(pe);var U2=class extends pe{isOpen(){return!1}};R(U2,"ownDefaults",oa),R(U2,"type","Polygon"),d0.setClass(U2),d0.setSVGClass(U2);var fa=["fontSize","fontWeight","fontFamily","fontStyle"],aa=["underline","overline","linethrough"],sa=[...fa,"lineHeight","text","charSpacing","textAlign","styles","path","pathStartOffset","pathSide","pathAlign"],Aa=[...sa,...aa,"textBackgroundColor","direction"],lA=[...fa,...aa,Mi,"strokeWidth",bi,"deltaY","textBackgroundColor"],kA={_reNewline:E1,_reSpacesAndTabs:/[ \t\r]/g,_reSpaceAndTab:/[ \t\r]/,_reWords:/\S+/g,fontSize:40,fontWeight:"normal",fontFamily:"Times New Roman",underline:!1,overline:!1,linethrough:!1,textAlign:z0,fontStyle:"normal",lineHeight:1.16,superscript:{size:.6,baseline:-.35},subscript:{size:.6,baseline:.11},textBackgroundColor:"",stroke:null,shadow:null,path:void 0,pathStartOffset:0,pathSide:z0,pathAlign:"baseline",_fontSizeFraction:.222,offsets:{underline:.1,linethrough:-.315,overline:-.88},_fontSizeMult:1.13,charSpacing:0,deltaY:0,direction:"ltr",CACHE_FONT_SIZE:400,MIN_TEXT_WIDTH:2},ge="justify",Yt="justify-left",xr="justify-right",Zr="justify-center",Ot=class extends ci{isEmptyStyles(i){if(!this.styles||void 0!==i&&!this.styles[i])return!0;let e=void 0===i?this.styles:{line:this.styles[i]};for(let i in e)for(let r in e[i])for(let t in e[i][r])return!1;return!0}styleHas(i,e){if(!this.styles||void 0!==e&&!this.styles[e])return!1;let r=void 0===e?this.styles:{0:this.styles[e]};for(let e in r)for(let t in r[e])if(void 0!==r[e][t][i])return!0;return!1}cleanStyle(i){if(!this.styles)return!1;let e,r,t=this.styles,n=0,f=!0,a=0;for(let a in t){e=0;for(let o in t[a]){let A=t[a][o]||{};n++,void 0!==A[i]?(r?A[i]!==r&&(f=!1):r=A[i],A[i]===this[i]&&delete A[i]):f=!1,0!==Object.keys(A).length?e++:delete t[a][o]}0===e&&delete t[a]}for(let i=0;i<this._textLines.length;i++)a+=this._textLines[i].length;f&&n===a&&(this[i]=r,this.removeStyle(i))}removeStyle(i){if(!this.styles)return;let e,r,t,n=this.styles;for(r in n){for(t in e=n[r],e)delete e[t][i],0===Object.keys(e[t]).length&&delete e[t];0===Object.keys(e).length&&delete n[r]}}_extendStyles(i,e){let{lineIndex:r,charIndex:t}=this.get2DCursorLocation(i);this._getLineStyle(r)||this._setLineStyle(r);let n=G1(P(P({},this._getStyleDeclaration(r,t)),e),i=>void 0!==i);this._setStyleDeclaration(r,t,n)}getSelectionStyles(i,e,r){let t=[];for(let n=i;n<(e||i);n++)t.push(this.getStyleAtPosition(n,r));return t}getStyleAtPosition(i,e){let{lineIndex:r,charIndex:t}=this.get2DCursorLocation(i);return e?this.getCompleteStyleDeclaration(r,t):this._getStyleDeclaration(r,t)}setSelectionStyles(i,e,r){for(let t=e;t<(r||e);t++)this._extendStyles(t,i);this._forceClearCache=!0}_getStyleDeclaration(i,e){var r;let t=this.styles&&this.styles[i];return t&&null!==(r=t[e])&&void 0!==r?r:{}}getCompleteStyleDeclaration(i,e){return P(P({},S2(this,this.constructor._styleProperties)),this._getStyleDeclaration(i,e))}_setStyleDeclaration(i,e,r){this.styles[i][e]=r}_deleteStyleDeclaration(i,e){delete this.styles[i][e]}_getLineStyle(i){return!!this.styles[i]}_setLineStyle(i){this.styles[i]={}}_deleteLineStyle(i){delete this.styles[i]}};R(Ot,"_styleProperties",lA);var uA=/ +/g,hA=/"/g;function Yn(i,e,r,t,n){return"\t\t".concat(function(i,e){let{left:r,top:t,width:n,height:f}=e,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:P0.NUM_FRACTION_DIGITS,o=Fr(bi,i,!1),[A,s,l,k]=[r,t,n,f].map(i=>ti(i,a));return"<rect ".concat(o,' x="').concat(A,'" y="').concat(s,'" width="').concat(l,'" height="').concat(k,'"></rect>')}(i,{left:e,top:r,width:t,height:n}),"\n")}var On,cA=["textAnchor","textDecoration","dx","dy","top","left","fontSize","strokeWidth"],Li=class i extends Ot{static getDefaults(){return P(P({},super.getDefaults()),i.ownDefaults)}constructor(e,r){super(),R(this,"__charBounds",[]),Object.assign(this,i.ownDefaults),this.setOptions(r),this.styles||(this.styles={}),this.text=e,this.initialized=!0,this.path&&this.setPathInfo(),this.initDimensions(),this.setCoords()}setPathInfo(){let i=this.path;i&&(i.segmentsInfo=H1(i.path))}_splitText(){let i=this._splitTextIntoLines(this.text);return this.textLines=i.lines,this._textLines=i.graphemeLines,this._unwrappedTextLines=i._unwrappedLines,this._text=i.graphemeText,i}initDimensions(){this._splitText(),this._clearCache(),this.dirty=!0,this.path?(this.width=this.path.width,this.height=this.path.height):(this.width=this.calcTextWidth()||this.cursorWidth||this.MIN_TEXT_WIDTH,this.height=this.calcTextHeight()),this.textAlign.includes(ge)&&this.enlargeSpaces()}enlargeSpaces(){let i,e,r,t,n,f,a;for(let o=0,A=this._textLines.length;o<A;o++)if((this.textAlign===ge||o!==A-1&&!this.isEndOfWrapping(o))&&(t=0,n=this._textLines[o],e=this.getLineWidth(o),e<this.width&&(a=this.textLines[o].match(this._reSpacesAndTabs)))){r=a.length,i=(this.width-e)/r;for(let e=0;e<=n.length;e++)f=this.__charBounds[o][e],this._reSpaceAndTab.test(n[e])?(f.width+=i,f.kernedWidth+=i,f.left+=t,t+=i):f.left+=t}}isEndOfWrapping(i){return i===this._textLines.length-1}missingNewlineOffset(i){return 1}get2DCursorLocation(i,e){let r,t=e?this._unwrappedTextLines:this._textLines;for(r=0;r<t.length;r++){if(i<=t[r].length)return{lineIndex:r,charIndex:i};i-=t[r].length+this.missingNewlineOffset(r,e)}return{lineIndex:r-1,charIndex:t[r-1].length<i?t[r-1].length:i}}toString(){return"#<Text (".concat(this.complexity(),'): { "text": "').concat(this.text,'", "fontFamily": "').concat(this.fontFamily,'" }>')}_getCacheCanvasDimensions(){let i=super._getCacheCanvasDimensions(),e=this.fontSize;return i.width+=e*i.zoomX,i.height+=e*i.zoomY,i}_render(i){let e=this.path;e&&!e.isNotVisible()&&e._render(i),this._setTextStyles(i),this._renderTextLinesBackground(i),this._renderTextDecoration(i,"underline"),this._renderText(i),this._renderTextDecoration(i,"overline"),this._renderTextDecoration(i,"linethrough")}_renderText(i){this.paintFirst===Mi?(this._renderTextStroke(i),this._renderTextFill(i)):(this._renderTextFill(i),this._renderTextStroke(i))}_setTextStyles(i,e,r){if(i.textBaseline="alphabetic",this.path)switch(this.pathAlign){case V0:i.textBaseline="middle";break;case"ascender":i.textBaseline=Gi;break;case"descender":i.textBaseline=$n}i.font=this._getFontDeclaration(e,r)}calcTextWidth(){let i=this.getLineWidth(0);for(let e=1,r=this._textLines.length;e<r;e++){let r=this.getLineWidth(e);r>i&&(i=r)}return i}_renderTextLine(i,e,r,t,n,f){this._renderChars(i,e,r,t,n,f)}_renderTextLinesBackground(i){if(!this.textBackgroundColor&&!this.styleHas("textBackgroundColor"))return;let e=i.fillStyle,r=this._getLeftOffset(),t=this._getTopOffset();for(let e=0,n=this._textLines.length;e<n;e++){let n=this.getHeightOfLine(e);if(!this.textBackgroundColor&&!this.styleHas("textBackgroundColor",e)){t+=n;continue}let f,a,o=this._textLines[e].length,A=this._getLineLeftOffset(e),s=0,l=0,k=this.getValueOfPropertyAt(e,0,"textBackgroundColor");for(let h=0;h<o;h++){let o=this.__charBounds[e][h];a=this.getValueOfPropertyAt(e,h,"textBackgroundColor"),this.path?(i.save(),i.translate(o.renderLeft,o.renderTop),i.rotate(o.angle),i.fillStyle=a,a&&i.fillRect(-o.width/2,-n/this.lineHeight*(1-this._fontSizeFraction),o.width,n/this.lineHeight),i.restore()):a!==k?(f=r+A+l,"rtl"===this.direction&&(f=this.width-f-s),i.fillStyle=k,k&&i.fillRect(f,t,s,n/this.lineHeight),l=o.left,s=o.width,k=a):s+=o.kernedWidth}a&&!this.path&&(f=r+A+l,"rtl"===this.direction&&(f=this.width-f-s),i.fillStyle=a,i.fillRect(f,t,s,n/this.lineHeight)),t+=n}i.fillStyle=e,this._removeShadow(i)}_measureChar(i,e,r,t){let n,f,a,o,A=yr.getFontCache(e),s=this._getFontDeclaration(e),l=r+i,k=r&&s===this._getFontDeclaration(t),h=e.fontSize/this.CACHE_FONT_SIZE;if(r&&void 0!==A[r]&&(a=A[r]),void 0!==A[i]&&(o=n=A[i]),k&&void 0!==A[l]&&(f=A[l],o=f-a),void 0===n||void 0===a||void 0===f){let t=(On||(On=ue({width:0,height:0}).getContext("2d")),On);this._setTextStyles(t,e,!0),void 0===n&&(o=n=t.measureText(i).width,A[i]=n),void 0===a&&k&&r&&(a=t.measureText(r).width,A[r]=a),k&&void 0===f&&(f=t.measureText(l).width,A[l]=f,o=f-a)}return{width:n*h,kernedWidth:o*h}}getHeightOfChar(i,e){return this.getValueOfPropertyAt(i,e,"fontSize")}measureLine(i){let e=this._measureLine(i);return 0!==this.charSpacing&&(e.width-=this._getWidthOfCharSpacing()),e.width<0&&(e.width=0),e}_measureLine(i){let e,r,t=0,n=this.pathSide===ui,f=this.path,a=this._textLines[i],o=a.length,A=new Array(o);this.__charBounds[i]=A;for(let n=0;n<o;n++){let f=a[n];r=this._getGraphemeBox(f,i,n,e),A[n]=r,t+=r.kernedWidth,e=f}if(A[o]={left:r?r.left+r.width:0,width:0,kernedWidth:0,height:this.fontSize,deltaY:0},f&&f.segmentsInfo){let i=0,e=f.segmentsInfo[f.segmentsInfo.length-1].length;switch(this.textAlign){case z0:i=n?e-t:0;break;case V0:i=(e-t)/2;break;case ui:i=n?0:e-t}i+=this.pathStartOffset*(n?-1:1);for(let t=n?o-1:0;n?t>=0:t<o;n?t--:t++)r=A[t],i>e?i%=e:i<0&&(i+=e),this._setGraphemeOnPath(i,r),i+=r.kernedWidth}return{width:t,numOfSpaces:0}}_setGraphemeOnPath(i,e){let r=i+e.kernedWidth/2,t=this.path,n=Lf(t.path,r,t.segmentsInfo);e.renderLeft=n.x-t.pathOffset.x,e.renderTop=n.y-t.pathOffset.y,e.angle=n.angle+(this.pathSide===ui?Math.PI:0)}_getGraphemeBox(i,e,r,t,n){let f,a=this.getCompleteStyleDeclaration(e,r),o=t?this.getCompleteStyleDeclaration(e,r-1):{},A=this._measureChar(i,a,t,o),s=A.kernedWidth,l=A.width;0!==this.charSpacing&&(f=this._getWidthOfCharSpacing(),l+=f,s+=f);let k={width:l,left:0,height:a.fontSize,kernedWidth:s,deltaY:a.deltaY};if(r>0&&!n){let i=this.__charBounds[e][r-1];k.left=i.left+i.width+A.kernedWidth-A.width}return k}getHeightOfLine(i){if(this.__lineHeights[i])return this.__lineHeights[i];let e=this.getHeightOfChar(i,0);for(let r=1,t=this._textLines[i].length;r<t;r++)e=Math.max(this.getHeightOfChar(i,r),e);return this.__lineHeights[i]=e*this.lineHeight*this._fontSizeMult}calcTextHeight(){let i,e=0;for(let r=0,t=this._textLines.length;r<t;r++)i=this.getHeightOfLine(r),e+=r===t-1?i/this.lineHeight:i;return e}_getLeftOffset(){return"ltr"===this.direction?-this.width/2:this.width/2}_getTopOffset(){return-this.height/2}_renderTextCommon(i,e){i.save();let r=0,t=this._getLeftOffset(),n=this._getTopOffset();for(let f=0,a=this._textLines.length;f<a;f++){let a=this.getHeightOfLine(f),o=a/this.lineHeight,A=this._getLineLeftOffset(f);this._renderTextLine(e,i,this._textLines[f],t+A,n+r+o,f),r+=a}i.restore()}_renderTextFill(i){(this.fill||this.styleHas(bi))&&this._renderTextCommon(i,"fillText")}_renderTextStroke(i){(this.stroke&&0!==this.strokeWidth||!this.isEmptyStyles())&&(this.shadow&&!this.shadow.affectStroke&&this._removeShadow(i),i.save(),this._setLineDash(i,this.strokeDashArray),i.beginPath(),this._renderTextCommon(i,"strokeText"),i.closePath(),i.restore())}_renderChars(i,e,r,t,n,f){let a,o,A,s,l,k=this.getHeightOfLine(f),h=this.textAlign.includes(ge),u=this.path,c=!h&&0===this.charSpacing&&this.isEmptyStyles(f)&&!u,d="ltr"===this.direction,b="ltr"===this.direction?1:-1,p=e.direction,g="",m=0;if(e.save(),p!==this.direction&&(e.canvas.setAttribute("dir",d?"ltr":"rtl"),e.direction=d?"ltr":"rtl",e.textAlign=d?z0:ui),n-=k*this._fontSizeFraction/this.lineHeight,c)return this._renderChar(i,e,f,0,r.join(""),t,n),void e.restore();for(let k=0,c=r.length-1;k<=c;k++)s=k===c||this.charSpacing||u,g+=r[k],A=this.__charBounds[f][k],0===m?(t+=b*(A.kernedWidth-A.width),m+=A.width):m+=A.kernedWidth,h&&!s&&this._reSpaceAndTab.test(r[k])&&(s=!0),s||(a=a||this.getCompleteStyleDeclaration(f,k),o=this.getCompleteStyleDeclaration(f,k+1),s=an(a,o,!1)),s&&(u?(e.save(),e.translate(A.renderLeft,A.renderTop),e.rotate(A.angle),this._renderChar(i,e,f,k,g,-m/2,0),e.restore()):(l=t,this._renderChar(i,e,f,k,g,l,n)),g="",a=o,t+=b*m,m=0);e.restore()}_applyPatternGradientTransformText(i){let e=this.width+this.strokeWidth,r=this.height+this.strokeWidth,t=ue({width:e,height:r}),n=t.getContext("2d");return t.width=e,t.height=r,n.beginPath(),n.moveTo(0,0),n.lineTo(e,0),n.lineTo(e,r),n.lineTo(0,r),n.closePath(),n.translate(e/2,r/2),n.fillStyle=i.toLive(n),this._applyPatternGradientTransform(n,i),n.fill(),n.createPattern(t,"no-repeat")}handleFiller(i,e,r){let t,n;return ji(r)?"percentage"===r.gradientUnits||r.gradientTransform||r.patternTransform?(t=-this.width/2,n=-this.height/2,i.translate(t,n),i[e]=this._applyPatternGradientTransformText(r),{offsetX:t,offsetY:n}):(i[e]=r.toLive(i),this._applyPatternGradientTransform(i,r)):(i[e]=r,{offsetX:0,offsetY:0})}_setStrokeStyles(i,e){let{stroke:r,strokeWidth:t}=e;return i.lineWidth=t,i.lineCap=this.strokeLineCap,i.lineDashOffset=this.strokeDashOffset,i.lineJoin=this.strokeLineJoin,i.miterLimit=this.strokeMiterLimit,this.handleFiller(i,"strokeStyle",r)}_setFillStyles(i,e){let{fill:r}=e;return this.handleFiller(i,"fillStyle",r)}_renderChar(i,e,r,t,n,f,a){let o=this._getStyleDeclaration(r,t),A=this.getCompleteStyleDeclaration(r,t),s="fillText"===i&&A.fill,l="strokeText"===i&&A.stroke&&A.strokeWidth;if(l||s){if(e.save(),e.font=this._getFontDeclaration(A),o.textBackgroundColor&&this._removeShadow(e),o.deltaY&&(a+=o.deltaY),s){let i=this._setFillStyles(e,A);e.fillText(n,f-i.offsetX,a-i.offsetY)}if(l){let i=this._setStrokeStyles(e,A);e.strokeText(n,f-i.offsetX,a-i.offsetY)}e.restore()}}setSuperscript(i,e){this._setScript(i,e,this.superscript)}setSubscript(i,e){this._setScript(i,e,this.subscript)}_setScript(i,e,r){let t=this.get2DCursorLocation(i,!0),n=this.getValueOfPropertyAt(t.lineIndex,t.charIndex,"fontSize"),f=this.getValueOfPropertyAt(t.lineIndex,t.charIndex,"deltaY"),a={fontSize:n*r.size,deltaY:f+n*r.baseline};this.setSelectionStyles(a,i,e)}_getLineLeftOffset(i){let e=this.getLineWidth(i),r=this.width-e,t=this.textAlign,n=this.direction,f=this.isEndOfWrapping(i),a=0;return t===ge||t===Zr&&!f||t===xr&&!f||t===Yt&&!f?0:(t===V0&&(a=r/2),t===ui&&(a=r),t===Zr&&(a=r/2),t===xr&&(a=r),"rtl"===n&&(t===ui||t===ge||t===xr?a=0:t===z0||t===Yt?a=-r:t!==V0&&t!==Zr||(a=-r/2)),a)}_clearCache(){this._forceClearCache=!1,this.__lineWidths=[],this.__lineHeights=[],this.__charBounds=[]}getLineWidth(i){if(void 0!==this.__lineWidths[i])return this.__lineWidths[i];let{width:e}=this.measureLine(i);return this.__lineWidths[i]=e,e}_getWidthOfCharSpacing(){return 0!==this.charSpacing?this.fontSize*this.charSpacing/1e3:0}getValueOfPropertyAt(i,e,r){var t;return null!==(t=this._getStyleDeclaration(i,e)[r])&&void 0!==t?t:this[r]}_renderTextDecoration(i,e){if(!this[e]&&!this.styleHas(e))return;let r=this._getTopOffset(),t=this._getLeftOffset(),n=this.path,f=this._getWidthOfCharSpacing(),a=this.offsets[e];for(let o=0,A=this._textLines.length;o<A;o++){let A=this.getHeightOfLine(o);if(!this[e]&&!this.styleHas(e,o)){r+=A;continue}let s,l,k=this._textLines[o],h=A/this.lineHeight,u=this._getLineLeftOffset(o),c=0,d=0,b=this.getValueOfPropertyAt(o,0,e),p=this.getValueOfPropertyAt(o,0,bi),g=r+h*(1-this._fontSizeFraction),m=this.getHeightOfChar(o,0),v=this.getValueOfPropertyAt(o,0,"deltaY");for(let r=0,f=k.length;r<f;r++){let f=this.__charBounds[o][r];s=this.getValueOfPropertyAt(o,r,e),l=this.getValueOfPropertyAt(o,r,bi);let A=this.getHeightOfChar(o,r),k=this.getValueOfPropertyAt(o,r,"deltaY");if(n&&s&&l)i.save(),i.fillStyle=p,i.translate(f.renderLeft,f.renderTop),i.rotate(f.angle),i.fillRect(-f.kernedWidth/2,a*A+k,f.kernedWidth,this.fontSize/15),i.restore();else if((s!==b||l!==p||A!==m||k!==v)&&d>0){let e=t+u+c;"rtl"===this.direction&&(e=this.width-e-d),b&&p&&(i.fillStyle=p,i.fillRect(e,g+a*m+v,d,this.fontSize/15)),c=f.left,d=f.width,b=s,p=l,m=A,v=k}else d+=f.kernedWidth}let w=t+u+c;"rtl"===this.direction&&(w=this.width-w-d),i.fillStyle=l,s&&l&&i.fillRect(w,g+a*m+v,d-f,this.fontSize/15),r+=A}this._removeShadow(i)}_getFontDeclaration(){let{fontFamily:e=this.fontFamily,fontStyle:r=this.fontStyle,fontWeight:t=this.fontWeight,fontSize:n=this.fontSize}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},f=arguments.length>1?arguments[1]:void 0,a=e.includes("'")||e.includes('"')||e.includes(",")||i.genericFonts.includes(e.toLowerCase())?e:'"'.concat(e,'"');return[r,t,"".concat(f?this.CACHE_FONT_SIZE:n,"px"),a].join(" ")}render(i){this.visible&&(this.canvas&&this.canvas.skipOffscreen&&!this.group&&!this.isOnScreen()||(this._forceClearCache&&this.initDimensions(),super.render(i)))}graphemeSplit(i){return fn(i)}_splitTextIntoLines(i){let e=i.split(this._reNewline),r=new Array(e.length),t=["\n"],n=[];for(let i=0;i<e.length;i++)r[i]=this.graphemeSplit(e[i]),n=n.concat(r[i],t);return n.pop(),{_unwrappedLines:r,lines:e,graphemeText:n,graphemeLines:r}}toObject(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return P(P({},super.toObject([...Aa,...i])),{},{styles:Mf(this.styles,this.text)},this.path?{path:this.path.toObject()}:{})}set(i,e){let{textLayoutProperties:r}=this.constructor;super.set(i,e);let t=!1,n=!1;if("object"==typeof i)for(let e in i)"path"===e&&this.setPathInfo(),t=t||r.includes(e),n=n||"path"===e;else t=r.includes(i),n="path"===i;return n&&this.setPathInfo(),t&&this.initialized&&(this.initDimensions(),this.setCoords()),this}complexity(){return 1}static async fromElement(e,r,t){let n=Xe(e,i.ATTRIBUTE_NAMES,t),f=P(P({},r),n),{textAnchor:a=z0,textDecoration:o="",dx:A=0,dy:s=0,top:l=0,left:k=0,fontSize:h=I1,strokeWidth:u=1}=f,c=ni(f,cA),d=new this((e.textContent||"").replace(/^\s+|\s+$|\n+/g,"").replace(/\s+/g," "),P({left:k+A,top:l+s,underline:o.includes("underline"),overline:o.includes("overline"),linethrough:o.includes("line-through"),strokeWidth:0,fontSize:h},c)),b=d.getScaledHeight()/d.height,p=((d.height+d.strokeWidth)*d.lineHeight-d.height)*b,g=d.getScaledHeight()+p,m=0;return a===V0&&(m=d.getScaledWidth()/2),a===ui&&(m=d.getScaledWidth()),d.set({left:d.left-m,top:d.top-(g-d.fontSize*(.07+d._fontSizeFraction))/d.lineHeight,strokeWidth:u}),d}static fromObject(i){return this._fromObject(P(P({},i),{},{styles:Tf(i.styles||{},i.text)}),{extraParam:"text"})}};R(Li,"textLayoutProperties",sa),R(Li,"cacheProperties",[...Se,...Aa]),R(Li,"ownDefaults",kA),R(Li,"type","Text"),R(Li,"genericFonts",["serif","sans-serif","monospace","cursive","fantasy","system-ui","ui-serif","ui-sans-serif","ui-monospace","ui-rounded","math","emoji","fangsong"]),R(Li,"ATTRIBUTE_NAMES",Ke.concat("x","y","dx","dy","font-family","font-style","font-weight","font-size","letter-spacing","text-decoration","text-anchor")),Xf(Li,[class extends Ft{_toSVG(){let i=this._getSVGLeftTopOffsets(),e=this._getSVGTextAndBg(i.textTop,i.textLeft);return this._wrapSVGTextAndBg(e)}toSVG(i){return this._createBaseSVGMarkup(this._toSVG(),{reviver:i,noStyle:!0,withShadow:!0})}_getSVGLeftTopOffsets(){return{textLeft:-this.width/2,textTop:-this.height/2,lineTop:this.getHeightOfLine(0)}}_wrapSVGTextAndBg(i){let{textBgRects:e,textSpans:r}=i,t=this.getSvgTextDecoration(this);return[e.join(""),'\t\t<text xml:space="preserve" ',this.fontFamily?'font-family="'.concat(this.fontFamily.replace(hA,"'"),'" '):"",this.fontSize?'font-size="'.concat(this.fontSize,'" '):"",this.fontStyle?'font-style="'.concat(this.fontStyle,'" '):"",this.fontWeight?'font-weight="'.concat(this.fontWeight,'" '):"",t?'text-decoration="'.concat(t,'" '):"","rtl"===this.direction?'direction="'.concat(this.direction,'" '):"",'style="',this.getSvgStyles(!0),'"',this.addPaintOrder()," >",r.join(""),"</text>\n"]}_getSVGTextAndBg(i,e){let r,t=[],n=[],f=i;this.backgroundColor&&n.push(...Yn(this.backgroundColor,-this.width/2,-this.height/2,this.width,this.height));for(let i=0,a=this._textLines.length;i<a;i++)r=this._getLineLeftOffset(i),"rtl"===this.direction&&(r+=this.width),(this.textBackgroundColor||this.styleHas("textBackgroundColor",i))&&this._setSVGTextLineBg(n,i,e+r,f),this._setSVGTextLineText(t,i,e+r,f),f+=this.getHeightOfLine(i);return{textSpans:t,textBgRects:n}}_createTextCharSpan(i,e,r,t){let n=this.getSvgSpanStyles(e,i!==i.trim()||!!i.match(uA)),f=n?'style="'.concat(n,'"'):"",a=e.deltaY,o=a?' dy="'.concat(ti(a,P0.NUM_FRACTION_DIGITS),'" '):"";return'<tspan x="'.concat(ti(r,P0.NUM_FRACTION_DIGITS),'" y="').concat(ti(t,P0.NUM_FRACTION_DIGITS),'" ').concat(o).concat(f,">").concat(Df(i),"</tspan>")}_setSVGTextLineText(i,e,r,t){let n,f,a,o,A,s=this.getHeightOfLine(e),l=this.textAlign.includes(ge),k=this._textLines[e],h="",u=0;t+=s*(1-this._fontSizeFraction)/this.lineHeight;for(let s=0,c=k.length-1;s<=c;s++)A=s===c||this.charSpacing,h+=k[s],a=this.__charBounds[e][s],0===u?(r+=a.kernedWidth-a.width,u+=a.width):u+=a.kernedWidth,l&&!A&&this._reSpaceAndTab.test(k[s])&&(A=!0),A||(n=n||this.getCompleteStyleDeclaration(e,s),f=this.getCompleteStyleDeclaration(e,s+1),A=an(n,f,!0)),A&&(o=this._getStyleDeclaration(e,s),i.push(this._createTextCharSpan(h,o,r,t)),h="",n=f,"rtl"===this.direction?r-=u:r+=u,u=0)}_setSVGTextLineBg(i,e,r,t){let n,f=this._textLines[e],a=this.getHeightOfLine(e)/this.lineHeight,o=0,A=0,s=this.getValueOfPropertyAt(e,0,"textBackgroundColor");for(let l=0;l<f.length;l++){let{left:f,width:k,kernedWidth:h}=this.__charBounds[e][l];n=this.getValueOfPropertyAt(e,l,"textBackgroundColor"),n!==s?(s&&i.push(...Yn(s,r+A,t,o,a)),A=f,o=k,s=n):o+=h}n&&i.push(...Yn(s,r+A,t,o,a))}_getSVGLineTopOffset(i){let e,r=0;for(e=0;e<i;e++)r+=this.getHeightOfLine(e);let t=this.getHeightOfLine(e);return{lineTop:r,offset:(this._fontSizeMult-this._fontSizeFraction)*t/(this.lineHeight*this._fontSizeMult)}}getSvgStyles(i){return"".concat(super.getSvgStyles(i)," white-space: pre;")}getSvgSpanStyles(i,e){let{fontFamily:r,strokeWidth:t,stroke:n,fill:f,fontSize:a,fontStyle:o,fontWeight:A,deltaY:s}=i,l=this.getSvgTextDecoration(i);return[n?Fr(Mi,n):"",t?"stroke-width: ".concat(t,"; "):"",r?"font-family: ".concat(r.includes("'")||r.includes('"')?r:"'".concat(r,"'"),"; "):"",a?"font-size: ".concat(a,"px; "):"",o?"font-style: ".concat(o,"; "):"",A?"font-weight: ".concat(A,"; "):"",l&&"text-decoration: ".concat(l,"; "),f?Fr(bi,f):"",s?"baseline-shift: ".concat(-s,"; "):"",e?"white-space: pre; ":""].join("")}getSvgTextDecoration(i){return["overline","underline","line-through"].filter(e=>i[e.replace("-","")]).join(" ")}}]),d0.setClass(Li),d0.setSVGClass(Li);var b1=class{constructor(i){R(this,"target",void 0),R(this,"__mouseDownInPlace",!1),R(this,"__dragStartFired",!1),R(this,"__isDraggingOver",!1),R(this,"__dragStartSelection",void 0),R(this,"__dragImageDisposer",void 0),R(this,"_dispose",void 0),this.target=i;let e=[this.target.on("dragenter",this.dragEnterHandler.bind(this)),this.target.on("dragover",this.dragOverHandler.bind(this)),this.target.on("dragleave",this.dragLeaveHandler.bind(this)),this.target.on("dragend",this.dragEndHandler.bind(this)),this.target.on("drop",this.dropHandler.bind(this))];this._dispose=()=>{e.forEach(i=>i()),this._dispose=void 0}}isPointerOverSelection(i){let e=this.target,r=e.getSelectionStartFromPointer(i);return e.isEditing&&r>=e.selectionStart&&r<=e.selectionEnd&&e.selectionStart<e.selectionEnd}start(i){return this.__mouseDownInPlace=this.isPointerOverSelection(i)}isActive(){return this.__mouseDownInPlace}end(i){let e=this.isActive();return e&&!this.__dragStartFired&&(this.target.setCursorByClick(i),this.target.initDelayedCursor(!0)),this.__mouseDownInPlace=!1,this.__dragStartFired=!1,this.__isDraggingOver=!1,e}getDragStartSelection(){return this.__dragStartSelection}setDragImage(i,e){var r;let{selectionStart:t,selectionEnd:n}=e,f=this.target,a=f.canvas,o=new K(f.flipX?-1:1,f.flipY?-1:1),A=f._getCursorBoundaries(t),s=new K(A.left+A.leftOffset,A.top+A.topOffset).multiply(o).transform(f.calcTransformMatrix()),l=a.getScenePoint(i).subtract(s),k=f.getCanvasRetinaScaling(),h=f.getBoundingRect(),u=s.subtract(new K(h.left,h.top)),c=a.viewportTransform,d=u.add(l).transform(c,!0),b=f.backgroundColor,p=O1(f.styles);f.backgroundColor="";let g={stroke:"transparent",fill:"transparent",textBackgroundColor:"transparent"};f.setSelectionStyles(g,0,t),f.setSelectionStyles(g,n,f.text.length),f.dirty=!0;let m=f.toCanvasElement({enableRetinaScaling:a.enableRetinaScaling,viewportTransform:!0});f.backgroundColor=b,f.styles=p,f.dirty=!0,Nt(m,{position:"fixed",left:"".concat(-m.width,"px"),border:Di,width:"".concat(m.width/k,"px"),height:"".concat(m.height/k,"px")}),this.__dragImageDisposer&&this.__dragImageDisposer(),this.__dragImageDisposer=()=>{m.remove()},fe(i.target||this.target.hiddenTextarea).body.appendChild(m),null===(r=i.dataTransfer)||void 0===r||r.setDragImage(m,d.x,d.y)}onDragStart(i){this.__dragStartFired=!0;let e=this.target,r=this.isActive();if(r&&i.dataTransfer){let r=this.__dragStartSelection={selectionStart:e.selectionStart,selectionEnd:e.selectionEnd},t=e._text.slice(r.selectionStart,r.selectionEnd).join(""),n=P({text:e.text,value:t},r);i.dataTransfer.setData("text/plain",t),i.dataTransfer.setData("application/fabric",JSON.stringify({value:t,styles:e.getSelectionStyles(r.selectionStart,r.selectionEnd,!0)})),i.dataTransfer.effectAllowed="copyMove",this.setDragImage(i,n)}return e.abortCursorAnimation(),r}canDrop(i){if(this.target.editable&&!this.target.getActiveControl()&&!i.defaultPrevented){if(this.isActive()&&this.__dragStartSelection){let e=this.target.getSelectionStartFromPointer(i),r=this.__dragStartSelection;return e<r.selectionStart||e>r.selectionEnd}return!0}return!1}targetCanDrop(i){return this.target.canDrop(i)}dragEnterHandler(i){let{e:e}=i,r=this.targetCanDrop(e);!this.__isDraggingOver&&r&&(this.__isDraggingOver=!0)}dragOverHandler(i){let{e:e}=i,r=this.targetCanDrop(e);!this.__isDraggingOver&&r?this.__isDraggingOver=!0:this.__isDraggingOver&&!r&&(this.__isDraggingOver=!1),this.__isDraggingOver&&(e.preventDefault(),i.canDrop=!0,i.dropTarget=this.target)}dragLeaveHandler(){(this.__isDraggingOver||this.isActive())&&(this.__isDraggingOver=!1)}dropHandler(i){var e;let{e:r}=i,t=r.defaultPrevented;this.__isDraggingOver=!1,r.preventDefault();let n=null===(e=r.dataTransfer)||void 0===e?void 0:e.getData("text/plain");if(n&&!t){let e=this.target,t=e.canvas,f=e.getSelectionStartFromPointer(r),{styles:a}=r.dataTransfer.types.includes("application/fabric")?JSON.parse(r.dataTransfer.getData("application/fabric")):{},o=n[Math.max(0,n.length-1)],A=0;if(this.__dragStartSelection){let i=this.__dragStartSelection.selectionStart,r=this.__dragStartSelection.selectionEnd;f>i&&f<=r?f=i:f>r&&(f-=r-i),e.removeChars(i,r),delete this.__dragStartSelection}e._reNewline.test(o)&&(e._reNewline.test(e._text[f])||f===e._text.length)&&(n=n.trimEnd()),i.didDrop=!0,i.dropTarget=e,e.insertChars(n,a,f),t.setActiveObject(e),e.enterEditing(r),e.selectionStart=Math.min(f+A,e._text.length),e.selectionEnd=Math.min(e.selectionStart+n.length,e._text.length),e.hiddenTextarea.value=e.text,e._updateTextarea(),e.hiddenTextarea.focus(),e.fire(yt,{index:f+A,action:"drop"}),t.fire("text:changed",{target:e}),t.contextTopDirty=!0,t.requestRenderAll()}}dragEndHandler(i){let{e:e}=i;if(this.isActive()&&this.__dragStartFired&&this.__dragStartSelection){var r;let i=this.target,t=this.target.canvas,{selectionStart:n,selectionEnd:f}=this.__dragStartSelection,a=(null===(r=e.dataTransfer)||void 0===r?void 0:r.dropEffect)||Di;a===Di?(i.selectionStart=n,i.selectionEnd=f,i._updateTextarea(),i.hiddenTextarea.focus()):(i.clearContextTop(),"move"===a&&(i.removeChars(n,f),i.selectionStart=i.selectionEnd=n,i.hiddenTextarea&&(i.hiddenTextarea.value=i.text),i._updateTextarea(),i.fire(yt,{index:n,action:"dragend"}),t.fire("text:changed",{target:i}),t.requestRenderAll()),i.exitEditing())}this.__dragImageDisposer&&this.__dragImageDisposer(),delete this.__dragImageDisposer,delete this.__dragStartSelection,this.__isDraggingOver=!1}dispose(){this._dispose&&this._dispose()}},No=/[ \n\.,;!\?\-]/,v1=class extends Li{constructor(){super(...arguments),R(this,"_currentCursorOpacity",1)}initBehavior(){this._tick=this._tick.bind(this),this._onTickComplete=this._onTickComplete.bind(this),this.updateSelectionOnMouseMove=this.updateSelectionOnMouseMove.bind(this)}onDeselect(i){return this.isEditing&&this.exitEditing(),this.selected=!1,super.onDeselect(i)}_animateCursor(i){let{toValue:e,duration:r,delay:t,onComplete:n}=i;return N1({startValue:this._currentCursorOpacity,endValue:e,duration:r,delay:t,onComplete:n,abort:()=>!this.canvas||this.selectionStart!==this.selectionEnd,onChange:i=>{this._currentCursorOpacity=i,this.renderCursorOrSelection()}})}_tick(i){this._currentTickState=this._animateCursor({toValue:0,duration:this.cursorDuration/2,delay:Math.max(i||0,100),onComplete:this._onTickComplete})}_onTickComplete(){var i;null===(i=this._currentTickCompleteState)||void 0===i||i.abort(),this._currentTickCompleteState=this._animateCursor({toValue:1,duration:this.cursorDuration,onComplete:this._tick})}initDelayedCursor(i){this.abortCursorAnimation(),this._tick(i?0:this.cursorDelay)}abortCursorAnimation(){let i=!1;[this._currentTickState,this._currentTickCompleteState].forEach(e=>{e&&!e.isDone()&&(i=!0,e.abort())}),this._currentCursorOpacity=1,i&&this.clearContextTop()}restartCursorIfNeeded(){[this._currentTickState,this._currentTickCompleteState].some(i=>!i||i.isDone())&&this.initDelayedCursor()}selectAll(){return this.selectionStart=0,this.selectionEnd=this._text.length,this._fireSelectionChanged(),this._updateTextarea(),this}getSelectedText(){return this._text.slice(this.selectionStart,this.selectionEnd).join("")}findWordBoundaryLeft(i){let e=0,r=i-1;if(this._reSpace.test(this._text[r]))for(;this._reSpace.test(this._text[r]);)e++,r--;for(;/\S/.test(this._text[r])&&r>-1;)e++,r--;return i-e}findWordBoundaryRight(i){let e=0,r=i;if(this._reSpace.test(this._text[r]))for(;this._reSpace.test(this._text[r]);)e++,r++;for(;/\S/.test(this._text[r])&&r<this._text.length;)e++,r++;return i+e}findLineBoundaryLeft(i){let e=0,r=i-1;for(;!/\n/.test(this._text[r])&&r>-1;)e++,r--;return i-e}findLineBoundaryRight(i){let e=0,r=i;for(;!/\n/.test(this._text[r])&&r<this._text.length;)e++,r++;return i+e}searchWordBoundary(i,e){let r=this._text,t=i>0&&this._reSpace.test(r[i])&&(-1===e||!E1.test(r[i-1]))?i-1:i,n=r[t];for(;t>0&&t<r.length&&!No.test(n);)t+=e,n=r[t];return-1===e&&No.test(n)&&t++,t}selectWord(i){i=i||this.selectionStart;let e=this.searchWordBoundary(i,-1),r=Math.max(e,this.searchWordBoundary(i,1));this.selectionStart=e,this.selectionEnd=r,this._fireSelectionChanged(),this._updateTextarea(),this.renderCursorOrSelection()}selectLine(i){i=i||this.selectionStart;let e=this.findLineBoundaryLeft(i),r=this.findLineBoundaryRight(i);return this.selectionStart=e,this.selectionEnd=r,this._fireSelectionChanged(),this._updateTextarea(),this}enterEditing(i){!this.isEditing&&this.editable&&(this.enterEditingImpl(),this.fire("editing:entered",i?{e:i}:void 0),this._fireSelectionChanged(),this.canvas&&(this.canvas.fire("text:editing:entered",{target:this,e:i}),this.canvas.requestRenderAll()))}enterEditingImpl(){this.canvas&&(this.canvas.calcOffset(),this.canvas.textEditingManager.exitTextEditing()),this.isEditing=!0,this.initHiddenTextarea(),this.hiddenTextarea.focus(),this.hiddenTextarea.value=this.text,this._updateTextarea(),this._saveEditingProps(),this._setEditingProps(),this._textBeforeEdit=this.text,this._tick()}updateSelectionOnMouseMove(i){if(this.getActiveControl())return;let e=this.hiddenTextarea;fe(e).activeElement!==e&&e.focus();let r=this.getSelectionStartFromPointer(i),t=this.selectionStart,n=this.selectionEnd;(r===this.__selectionStartOnMouseDown&&t!==n||t!==r&&n!==r)&&(r>this.__selectionStartOnMouseDown?(this.selectionStart=this.__selectionStartOnMouseDown,this.selectionEnd=r):(this.selectionStart=r,this.selectionEnd=this.__selectionStartOnMouseDown),this.selectionStart===t&&this.selectionEnd===n||(this._fireSelectionChanged(),this._updateTextarea(),this.renderCursorOrSelection()))}_setEditingProps(){this.hoverCursor="text",this.canvas&&(this.canvas.defaultCursor=this.canvas.moveCursor="text"),this.borderColor=this.editingBorderColor,this.hasControls=this.selectable=!1,this.lockMovementX=this.lockMovementY=!0}fromStringToGraphemeSelection(i,e,r){let t=r.slice(0,i),n=this.graphemeSplit(t).length;if(i===e)return{selectionStart:n,selectionEnd:n};let f=r.slice(i,e);return{selectionStart:n,selectionEnd:n+this.graphemeSplit(f).length}}fromGraphemeToStringSelection(i,e,r){let t=r.slice(0,i).join("").length;return i===e?{selectionStart:t,selectionEnd:t}:{selectionStart:t,selectionEnd:t+r.slice(i,e).join("").length}}_updateTextarea(){if(this.cursorOffsetCache={},this.hiddenTextarea){if(!this.inCompositionMode){let i=this.fromGraphemeToStringSelection(this.selectionStart,this.selectionEnd,this._text);this.hiddenTextarea.selectionStart=i.selectionStart,this.hiddenTextarea.selectionEnd=i.selectionEnd}this.updateTextareaPosition()}}updateFromTextArea(){if(!this.hiddenTextarea)return;this.cursorOffsetCache={};let i=this.hiddenTextarea;this.text=i.value,this.set("dirty",!0),this.initDimensions(),this.setCoords();let e=this.fromStringToGraphemeSelection(i.selectionStart,i.selectionEnd,i.value);this.selectionEnd=this.selectionStart=e.selectionEnd,this.inCompositionMode||(this.selectionStart=e.selectionStart),this.updateTextareaPosition()}updateTextareaPosition(){if(this.selectionStart===this.selectionEnd){let i=this._calcTextareaPosition();this.hiddenTextarea.style.left=i.left,this.hiddenTextarea.style.top=i.top}}_calcTextareaPosition(){if(!this.canvas)return{left:"1px",top:"1px"};let i=this.inCompositionMode?this.compositionStart:this.selectionStart,e=this._getCursorBoundaries(i),r=this.get2DCursorLocation(i),t=r.lineIndex,n=r.charIndex,f=this.getValueOfPropertyAt(t,n,"fontSize")*this.lineHeight,a=e.leftOffset,o=this.getCanvasRetinaScaling(),A=this.canvas.upperCanvasEl,s=A.width/o,l=A.height/o,k=s-f,h=l-f,u=new K(e.left+a,e.top+e.topOffset+f).transform(this.calcTransformMatrix()).transform(this.canvas.viewportTransform).multiply(new K(A.clientWidth/s,A.clientHeight/l));return u.x<0&&(u.x=0),u.x>k&&(u.x=k),u.y<0&&(u.y=0),u.y>h&&(u.y=h),u.x+=this.canvas._offset.left,u.y+=this.canvas._offset.top,{left:"".concat(u.x,"px"),top:"".concat(u.y,"px"),fontSize:"".concat(f,"px"),charHeight:f}}_saveEditingProps(){this._savedProps={hasControls:this.hasControls,borderColor:this.borderColor,lockMovementX:this.lockMovementX,lockMovementY:this.lockMovementY,hoverCursor:this.hoverCursor,selectable:this.selectable,defaultCursor:this.canvas&&this.canvas.defaultCursor,moveCursor:this.canvas&&this.canvas.moveCursor}}_restoreEditingProps(){this._savedProps&&(this.hoverCursor=this._savedProps.hoverCursor,this.hasControls=this._savedProps.hasControls,this.borderColor=this._savedProps.borderColor,this.selectable=this._savedProps.selectable,this.lockMovementX=this._savedProps.lockMovementX,this.lockMovementY=this._savedProps.lockMovementY,this.canvas&&(this.canvas.defaultCursor=this._savedProps.defaultCursor||this.canvas.defaultCursor,this.canvas.moveCursor=this._savedProps.moveCursor||this.canvas.moveCursor),delete this._savedProps)}_exitEditing(){let i=this.hiddenTextarea;this.selected=!1,this.isEditing=!1,i&&(i.blur&&i.blur(),i.parentNode&&i.parentNode.removeChild(i)),this.hiddenTextarea=null,this.abortCursorAnimation(),this.selectionStart!==this.selectionEnd&&this.clearContextTop()}exitEditingImpl(){this._exitEditing(),this.selectionEnd=this.selectionStart,this._restoreEditingProps(),this._forceClearCache&&(this.initDimensions(),this.setCoords())}exitEditing(){let i=this._textBeforeEdit!==this.text;return this.exitEditingImpl(),this.fire("editing:exited"),i&&this.fire(Ct),this.canvas&&(this.canvas.fire("text:editing:exited",{target:this}),i&&this.canvas.fire("object:modified",{target:this})),this}_removeExtraneousStyles(){for(let i in this.styles)this._textLines[i]||delete this.styles[i]}removeStyleFromTo(i,e){let{lineIndex:r,charIndex:t}=this.get2DCursorLocation(i,!0),{lineIndex:n,charIndex:f}=this.get2DCursorLocation(e,!0);if(r!==n){if(this.styles[r])for(let i=t;i<this._unwrappedTextLines[r].length;i++)delete this.styles[r][i];if(this.styles[n])for(let i=f;i<this._unwrappedTextLines[n].length;i++){let e=this.styles[n][i];e&&(this.styles[r]||(this.styles[r]={}),this.styles[r][t+i-f]=e)}for(let i=r+1;i<=n;i++)delete this.styles[i];this.shiftLineStyles(n,r-n)}else if(this.styles[r]){let i=this.styles[r],e=f-t;for(let e=t;e<f;e++)delete i[e];for(let t in this.styles[r]){let r=parseInt(t,10);r>=f&&(i[r-e]=i[t],delete i[t])}}}shiftLineStyles(i,e){let r=Object.assign({},this.styles);for(let t in this.styles){let n=parseInt(t,10);n>i&&(this.styles[n+e]=r[n],r[n-e]||delete this.styles[n])}}insertNewlineStyleObject(i,e,r,t){let n={},f=this._unwrappedTextLines[i].length,a=f===e,o=!1;r||(r=1),this.shiftLineStyles(i,r);let A=this.styles[i]?this.styles[i][0===e?e:e-1]:void 0;for(let r in this.styles[i]){let t=parseInt(r,10);t>=e&&(o=!0,n[t-e]=this.styles[i][r],a&&0===e||delete this.styles[i][r])}let s=!1;for(o&&!a&&(this.styles[i+r]=n,s=!0),(s||f>e)&&r--;r>0;)t&&t[r-1]?this.styles[i+r]={0:P({},t[r-1])}:A?this.styles[i+r]={0:P({},A)}:delete this.styles[i+r],r--;this._forceClearCache=!0}insertCharStyleObject(i,e,r,t){this.styles||(this.styles={});let n=this.styles[i],f=n?P({},n):{};r||(r=1);for(let i in f){let t=parseInt(i,10);t>=e&&(n[t+r]=f[t],f[t-r]||delete n[t])}if(this._forceClearCache=!0,t){for(;r--;)Object.keys(t[r]).length&&(this.styles[i]||(this.styles[i]={}),this.styles[i][e+r]=P({},t[r]));return}if(!n)return;let a=n[e?e-1:1];for(;a&&r--;)this.styles[i][e+r]=P({},a)}insertNewStyleBlock(i,e,r){let t,n=this.get2DCursorLocation(e,!0),f=[0],a=0;for(let e=0;e<i.length;e++)"\n"===i[e]?(a++,f[a]=0):f[a]++;for(f[0]>0&&(this.insertCharStyleObject(n.lineIndex,n.charIndex,f[0],r),r=r&&r.slice(f[0]+1)),a&&this.insertNewlineStyleObject(n.lineIndex,n.charIndex+f[0],a),t=1;t<a;t++)f[t]>0?this.insertCharStyleObject(n.lineIndex+t,0,f[t],r):r&&this.styles[n.lineIndex+t]&&r[0]&&(this.styles[n.lineIndex+t][0]=r[0]),r=r&&r.slice(f[t]+1);f[t]>0&&this.insertCharStyleObject(n.lineIndex+t,0,f[t],r)}removeChars(i){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i+1;this.removeStyleFromTo(i,e),this._text.splice(i,e-i),this.text=this._text.join(""),this.set("dirty",!0),this.initDimensions(),this.setCoords(),this._removeExtraneousStyles()}insertChars(i,e,r){let t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:r;t>r&&this.removeStyleFromTo(r,t);let n=this.graphemeSplit(i);this.insertNewStyleBlock(n,r,e),this._text=[...this._text.slice(0,r),...n,...this._text.slice(t)],this.text=this._text.join(""),this.set("dirty",!0),this.initDimensions(),this.setCoords(),this._removeExtraneousStyles()}setSelectionStartEndWithShift(i,e,r){r<=i?(e===i?this._selectionDirection=z0:this._selectionDirection===ui&&(this._selectionDirection=z0,this.selectionEnd=i),this.selectionStart=r):r>i&&r<e?this._selectionDirection===ui?this.selectionEnd=r:this.selectionStart=r:(e===i?this._selectionDirection=ui:this._selectionDirection===z0&&(this._selectionDirection=ui,this.selectionStart=e),this.selectionEnd=r)}},w1=class extends v1{initHiddenTextarea(){let i=this.canvas&&fe(this.canvas.getElement())||nr(),e=i.createElement("textarea");Object.entries({autocapitalize:"off",autocorrect:"off",autocomplete:"off",spellcheck:"false","data-fabric":"textarea",wrap:"off"}).map(i=>{let[r,t]=i;return e.setAttribute(r,t)});let{top:r,left:t,fontSize:n}=this._calcTextareaPosition();e.style.cssText="position: absolute; top: ".concat(r,"; left: ").concat(t,"; z-index: -999; opacity: 0; width: 1px; height: 1px; font-size: 1px; padding-top: ").concat(n,";"),(this.hiddenTextareaContainer||i.body).appendChild(e),Object.entries({blur:"blur",keydown:"onKeyDown",keyup:"onKeyUp",input:"onInput",copy:"copy",cut:"copy",paste:"paste",compositionstart:"onCompositionStart",compositionupdate:"onCompositionUpdate",compositionend:"onCompositionEnd"}).map(i=>{let[r,t]=i;return e.addEventListener(r,this[t].bind(this))}),this.hiddenTextarea=e}blur(){this.abortCursorAnimation()}onKeyDown(i){if(!this.isEditing)return;let e="rtl"===this.direction?this.keysMapRtl:this.keysMap;if(i.keyCode in e)this[e[i.keyCode]](i);else{if(!(i.keyCode in this.ctrlKeysMapDown)||!i.ctrlKey&&!i.metaKey)return;this[this.ctrlKeysMapDown[i.keyCode]](i)}i.stopImmediatePropagation(),i.preventDefault(),i.keyCode>=33&&i.keyCode<=40?(this.inCompositionMode=!1,this.clearContextTop(),this.renderCursorOrSelection()):this.canvas&&this.canvas.requestRenderAll()}onKeyUp(i){!this.isEditing||this._copyDone||this.inCompositionMode?this._copyDone=!1:i.keyCode in this.ctrlKeysMapUp&&(i.ctrlKey||i.metaKey)&&(this[this.ctrlKeysMapUp[i.keyCode]](i),i.stopImmediatePropagation(),i.preventDefault(),this.canvas&&this.canvas.requestRenderAll())}onInput(i){let e=this.fromPaste;if(this.fromPaste=!1,i&&i.stopPropagation(),!this.isEditing)return;let r=()=>{this.updateFromTextArea(),this.fire(yt),this.canvas&&(this.canvas.fire("text:changed",{target:this}),this.canvas.requestRenderAll())};if(""===this.hiddenTextarea.value)return this.styles={},void r();let t,n,f,a,o=this._splitTextIntoLines(this.hiddenTextarea.value).graphemeText,A=this._text.length,s=o.length,l=this.selectionStart,k=this.selectionEnd,h=l!==k,u=s-A,c=this.fromStringToGraphemeSelection(this.hiddenTextarea.selectionStart,this.hiddenTextarea.selectionEnd,this.hiddenTextarea.value),d=l>c.selectionStart;h?(n=this._text.slice(l,k),u+=k-l):s<A&&(n=d?this._text.slice(k+u,k):this._text.slice(l,l-u));let b=o.slice(c.selectionEnd-u,c.selectionEnd);if(n&&n.length&&(b.length&&(t=this.getSelectionStyles(l,l+1,!1),t=b.map(()=>t[0])),h?(f=l,a=k):d?(f=k-n.length,a=k):(f=k,a=k+n.length),this.removeStyleFromTo(f,a)),b.length){let{copyPasteData:i}=ve();e&&b.join("")===i.copiedText&&!P0.disableStyleCopyPaste&&(t=i.copiedTextStyle),this.insertNewStyleBlock(b,l,t)}r()}onCompositionStart(){this.inCompositionMode=!0}onCompositionEnd(){this.inCompositionMode=!1}onCompositionUpdate(i){let{target:e}=i,{selectionStart:r,selectionEnd:t}=e;this.compositionStart=r,this.compositionEnd=t,this.updateTextareaPosition()}copy(){if(this.selectionStart===this.selectionEnd)return;let{copyPasteData:i}=ve();i.copiedText=this.getSelectedText(),P0.disableStyleCopyPaste?i.copiedTextStyle=void 0:i.copiedTextStyle=this.getSelectionStyles(this.selectionStart,this.selectionEnd,!0),this._copyDone=!0}paste(){this.fromPaste=!0}_getWidthBeforeCursor(i,e){let r,t=this._getLineLeftOffset(i);return e>0&&(r=this.__charBounds[i][e-1],t+=r.left+r.width),t}getDownCursorOffset(i,e){let r=this._getSelectionForOffset(i,e),t=this.get2DCursorLocation(r),n=t.lineIndex;if(n===this._textLines.length-1||i.metaKey||34===i.keyCode)return this._text.length-r;let f=t.charIndex,a=this._getWidthBeforeCursor(n,f),o=this._getIndexOnLine(n+1,a);return this._textLines[n].slice(f).length+o+1+this.missingNewlineOffset(n)}_getSelectionForOffset(i,e){return i.shiftKey&&this.selectionStart!==this.selectionEnd&&e?this.selectionEnd:this.selectionStart}getUpCursorOffset(i,e){let r=this._getSelectionForOffset(i,e),t=this.get2DCursorLocation(r),n=t.lineIndex;if(0===n||i.metaKey||33===i.keyCode)return-r;let f=t.charIndex,a=this._getWidthBeforeCursor(n,f),o=this._getIndexOnLine(n-1,a),A=this._textLines[n].slice(0,f),s=this.missingNewlineOffset(n-1);return-this._textLines[n-1].length+o-A.length+(1-s)}_getIndexOnLine(i,e){let r,t,n=this._textLines[i],f=this._getLineLeftOffset(i),a=0;for(let o=0,A=n.length;o<A;o++)if(r=this.__charBounds[i][o].width,f+=r,f>e){t=!0;let i=f-r,n=f,A=Math.abs(i-e);a=Math.abs(n-e)<A?o:o-1;break}return t||(a=n.length-1),a}moveCursorDown(i){this.selectionStart>=this._text.length&&this.selectionEnd>=this._text.length||this._moveCursorUpOrDown("Down",i)}moveCursorUp(i){0===this.selectionStart&&0===this.selectionEnd||this._moveCursorUpOrDown("Up",i)}_moveCursorUpOrDown(i,e){let r=this["get".concat(i,"CursorOffset")](e,this._selectionDirection===ui);if(e.shiftKey?this.moveCursorWithShift(r):this.moveCursorWithoutShift(r),0!==r){let i=this.text.length;this.selectionStart=F2(0,this.selectionStart,i),this.selectionEnd=F2(0,this.selectionEnd,i),this.abortCursorAnimation(),this.initDelayedCursor(),this._fireSelectionChanged(),this._updateTextarea()}}moveCursorWithShift(i){let e=this._selectionDirection===z0?this.selectionStart+i:this.selectionEnd+i;return this.setSelectionStartEndWithShift(this.selectionStart,this.selectionEnd,e),0!==i}moveCursorWithoutShift(i){return i<0?(this.selectionStart+=i,this.selectionEnd=this.selectionStart):(this.selectionEnd+=i,this.selectionStart=this.selectionEnd),0!==i}moveCursorLeft(i){0===this.selectionStart&&0===this.selectionEnd||this._moveCursorLeftOrRight("Left",i)}_move(i,e,r){let t;if(i.altKey)t=this["findWordBoundary".concat(r)](this[e]);else{if(!i.metaKey&&35!==i.keyCode&&36!==i.keyCode)return this[e]+="Left"===r?-1:1,!0;t=this["findLineBoundary".concat(r)](this[e])}return void 0!==t&&this[e]!==t&&(this[e]=t,!0)}_moveLeft(i,e){return this._move(i,e,"Left")}_moveRight(i,e){return this._move(i,e,"Right")}moveCursorLeftWithoutShift(i){let e=!0;return this._selectionDirection=z0,this.selectionEnd===this.selectionStart&&0!==this.selectionStart&&(e=this._moveLeft(i,"selectionStart")),this.selectionEnd=this.selectionStart,e}moveCursorLeftWithShift(i){return this._selectionDirection===ui&&this.selectionStart!==this.selectionEnd?this._moveLeft(i,"selectionEnd"):0!==this.selectionStart?(this._selectionDirection=z0,this._moveLeft(i,"selectionStart")):void 0}moveCursorRight(i){this.selectionStart>=this._text.length&&this.selectionEnd>=this._text.length||this._moveCursorLeftOrRight("Right",i)}_moveCursorLeftOrRight(i,e){let r="moveCursor".concat(i).concat(e.shiftKey?"WithShift":"WithoutShift");this._currentCursorOpacity=1,this[r](e)&&(this.abortCursorAnimation(),this.initDelayedCursor(),this._fireSelectionChanged(),this._updateTextarea())}moveCursorRightWithShift(i){return this._selectionDirection===z0&&this.selectionStart!==this.selectionEnd?this._moveRight(i,"selectionStart"):this.selectionEnd!==this._text.length?(this._selectionDirection=ui,this._moveRight(i,"selectionEnd")):void 0}moveCursorRightWithoutShift(i){let e=!0;return this._selectionDirection=ui,this.selectionStart===this.selectionEnd?(e=this._moveRight(i,"selectionStart"),this.selectionEnd=this.selectionStart):this.selectionStart=this.selectionEnd,e}},zn=i=>!!i.button,_1=class extends w1{constructor(){super(...arguments),R(this,"draggableTextDelegate",void 0)}initBehavior(){this.on("mousedown",this._mouseDownHandler),this.on("mousedown:before",this._mouseDownHandlerBefore),this.on("mouseup",this.mouseUpHandler),this.on("mousedblclick",this.doubleClickHandler),this.on("tripleclick",this.tripleClickHandler),this.__lastClickTime=+new Date,this.__lastLastClickTime=+new Date,this.__lastPointer={},this.on("mousedown",this.onMouseDown),this.draggableTextDelegate=new b1(this),super.initBehavior()}shouldStartDragging(){return this.draggableTextDelegate.isActive()}onDragStart(i){return this.draggableTextDelegate.onDragStart(i)}canDrop(i){return this.draggableTextDelegate.canDrop(i)}onMouseDown(i){if(!this.canvas)return;this.__newClickTime=+new Date;let e=i.pointer;this.isTripleClick(e)&&(this.fire("tripleclick",i),i1(i.e)),this.__lastLastClickTime=this.__lastClickTime,this.__lastClickTime=this.__newClickTime,this.__lastPointer=e,this.__lastSelected=this.selected&&!this.getActiveControl()}isTripleClick(i){return this.__newClickTime-this.__lastClickTime<500&&this.__lastClickTime-this.__lastLastClickTime<500&&this.__lastPointer.x===i.x&&this.__lastPointer.y===i.y}doubleClickHandler(i){this.isEditing&&this.selectWord(this.getSelectionStartFromPointer(i.e))}tripleClickHandler(i){this.isEditing&&this.selectLine(this.getSelectionStartFromPointer(i.e))}_mouseDownHandler(i){let{e:e}=i;this.canvas&&this.editable&&!zn(e)&&!this.getActiveControl()&&(this.draggableTextDelegate.start(e)||(this.canvas.textEditingManager.register(this),this.selected&&(this.inCompositionMode=!1,this.setCursorByClick(e)),this.isEditing&&(this.__selectionStartOnMouseDown=this.selectionStart,this.selectionStart===this.selectionEnd&&this.abortCursorAnimation(),this.renderCursorOrSelection())))}_mouseDownHandlerBefore(i){let{e:e}=i;this.canvas&&this.editable&&!zn(e)&&(this.selected=this===this.canvas._activeObject)}mouseUpHandler(i){let{e:e,transform:r}=i,t=this.draggableTextDelegate.end(e);if(this.canvas){this.canvas.textEditingManager.unregister(this);let i=this.canvas._activeObject;if(i&&i!==this)return}!this.editable||this.group&&!this.group.interactive||r&&r.actionPerformed||zn(e)||t||(this.__lastSelected&&!this.getActiveControl()?(this.selected=!1,this.__lastSelected=!1,this.enterEditing(e),this.selectionStart===this.selectionEnd?this.initDelayedCursor(!0):this.renderCursorOrSelection()):this.selected=!0)}setCursorByClick(i){let e=this.getSelectionStartFromPointer(i),r=this.selectionStart,t=this.selectionEnd;i.shiftKey?this.setSelectionStartEndWithShift(r,t,e):(this.selectionStart=e,this.selectionEnd=e),this.isEditing&&(this._fireSelectionChanged(),this._updateTextarea())}getSelectionStartFromPointer(i){let e=this.canvas.getScenePoint(i).transform(Oi(this.calcTransformMatrix())).add(new K(-this._getLeftOffset(),-this._getTopOffset())),r=0,t=0,n=0;for(let i=0;i<this._textLines.length&&r<=e.y;i++)r+=this.getHeightOfLine(i),n=i,i>0&&(t+=this._textLines[i-1].length+this.missingNewlineOffset(i-1));let f=Math.abs(this._getLineLeftOffset(n)),a=this._textLines[n].length,o=this.__charBounds[n];for(let i=0;i<a;i++){let r=f+o[i].kernedWidth;if(e.x<=r){Math.abs(e.x-r)<=Math.abs(e.x-f)&&t++;break}f=r,t++}return Math.min(this.flipX?a-t:t,this._text.length)}},ht="moveCursorUp",ct="moveCursorDown",dt="moveCursorLeft",mt="moveCursorRight",pt="exitEditing",dA=P({selectionStart:0,selectionEnd:0,selectionColor:"rgba(17,119,255,0.3)",isEditing:!1,editable:!0,editingBorderColor:"rgba(102,153,255,0.25)",cursorWidth:2,cursorColor:"",cursorDelay:1e3,cursorDuration:600,caching:!0,hiddenTextareaContainer:null,keysMap:{9:pt,27:pt,33:ht,34:ct,35:mt,36:dt,37:dt,38:ht,39:mt,40:ct},keysMapRtl:{9:pt,27:pt,33:ht,34:ct,35:dt,36:mt,37:mt,38:ht,39:dt,40:ct},ctrlKeysMapDown:{65:"selectAll"},ctrlKeysMapUp:{67:"copy",88:"cut"}},{_selectionDirection:null,_reSpace:/\s|\r?\n/,inCompositionMode:!1}),M0=class i extends _1{static getDefaults(){return P(P({},super.getDefaults()),i.ownDefaults)}get type(){let i=super.type;return"itext"===i?"i-text":i}constructor(e,r){super(e,P(P({},i.ownDefaults),r)),this.initBehavior()}_set(i,e){return this.isEditing&&this._savedProps&&i in this._savedProps?(this._savedProps[i]=e,this):("canvas"===i&&(this.canvas instanceof rr&&this.canvas.textEditingManager.remove(this),e instanceof rr&&e.textEditingManager.add(this)),super._set(i,e))}setSelectionStart(i){i=Math.max(i,0),this._updateAndFire("selectionStart",i)}setSelectionEnd(i){i=Math.min(i,this.text.length),this._updateAndFire("selectionEnd",i)}_updateAndFire(i,e){this[i]!==e&&(this._fireSelectionChanged(),this[i]=e),this._updateTextarea()}_fireSelectionChanged(){this.fire("selection:changed"),this.canvas&&this.canvas.fire("text:selection:changed",{target:this})}initDimensions(){this.isEditing&&this.initDelayedCursor(),super.initDimensions()}getSelectionStyles(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selectionStart||0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selectionEnd,r=arguments.length>2?arguments[2]:void 0;return super.getSelectionStyles(i,e,r)}setSelectionStyles(i){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selectionStart||0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.selectionEnd;return super.setSelectionStyles(i,e,r)}get2DCursorLocation(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selectionStart,e=arguments.length>1?arguments[1]:void 0;return super.get2DCursorLocation(i,e)}render(i){super.render(i),this.cursorOffsetCache={},this.renderCursorOrSelection()}toCanvasElement(i){let e=this.isEditing;this.isEditing=!1;let r=super.toCanvasElement(i);return this.isEditing=e,r}renderCursorOrSelection(){if(!this.isEditing)return;let i=this.clearContextTop(!0);if(!i)return;let e=this._getCursorBoundaries();this.selectionStart!==this.selectionEnd||this.inCompositionMode?this.renderSelection(i,e):this.renderCursor(i,e),this.canvas.contextTopDirty=!0,i.restore()}_getCursorBoundaries(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selectionStart,e=arguments.length>1?arguments[1]:void 0,r=this._getLeftOffset(),t=this._getTopOffset(),n=this._getCursorBoundariesOffsets(i,e);return{left:r,top:t,leftOffset:n.left,topOffset:n.top}}_getCursorBoundariesOffsets(i,e){return e?this.__getCursorBoundariesOffsets(i):this.cursorOffsetCache&&"top"in this.cursorOffsetCache?this.cursorOffsetCache:this.cursorOffsetCache=this.__getCursorBoundariesOffsets(i)}__getCursorBoundariesOffsets(i){let e=0,r=0,{charIndex:t,lineIndex:n}=this.get2DCursorLocation(i);for(let i=0;i<n;i++)e+=this.getHeightOfLine(i);let f=this._getLineLeftOffset(n),a=this.__charBounds[n][t];a&&(r=a.left),0!==this.charSpacing&&t===this._textLines[n].length&&(r-=this._getWidthOfCharSpacing());let o={top:e,left:f+(r>0?r:0)};return"rtl"===this.direction&&(this.textAlign===ui||this.textAlign===ge||this.textAlign===xr?o.left*=-1:this.textAlign===z0||this.textAlign===Yt?o.left=f-(r>0?r:0):this.textAlign!==V0&&this.textAlign!==Zr||(o.left=f-(r>0?r:0))),o}renderCursorAt(i){this._renderCursor(this.canvas.contextTop,this._getCursorBoundaries(i,!0),i)}renderCursor(i,e){this._renderCursor(i,e,this.selectionStart)}getCursorRenderingData(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selectionStart,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getCursorBoundaries(i),r=this.get2DCursorLocation(i),t=r.lineIndex,n=r.charIndex>0?r.charIndex-1:0,f=this.getValueOfPropertyAt(t,n,"fontSize"),a=this.getObjectScaling().x*this.canvas.getZoom(),o=this.cursorWidth/a,A=this.getValueOfPropertyAt(t,n,"deltaY"),s=e.topOffset+(1-this._fontSizeFraction)*this.getHeightOfLine(t)/this.lineHeight-f*(1-this._fontSizeFraction);return{color:this.cursorColor||this.getValueOfPropertyAt(t,n,"fill"),opacity:this._currentCursorOpacity,left:e.left+e.leftOffset-o/2,top:s+e.top+A,width:o,height:f}}_renderCursor(i,e,r){let{color:t,opacity:n,left:f,top:a,width:o,height:A}=this.getCursorRenderingData(r,e);i.fillStyle=t,i.globalAlpha=n,i.fillRect(f,a,o,A)}renderSelection(i,e){let r={selectionStart:this.inCompositionMode?this.hiddenTextarea.selectionStart:this.selectionStart,selectionEnd:this.inCompositionMode?this.hiddenTextarea.selectionEnd:this.selectionEnd};this._renderSelection(i,r,e)}renderDragSourceEffect(){let i=this.draggableTextDelegate.getDragStartSelection();this._renderSelection(this.canvas.contextTop,i,this._getCursorBoundaries(i.selectionStart,!0))}renderDropTargetEffect(i){let e=this.getSelectionStartFromPointer(i);this.renderCursorAt(e)}_renderSelection(i,e,r){let t=e.selectionStart,n=e.selectionEnd,f=this.textAlign.includes(ge),a=this.get2DCursorLocation(t),o=this.get2DCursorLocation(n),A=a.lineIndex,s=o.lineIndex,l=a.charIndex<0?0:a.charIndex,k=o.charIndex<0?0:o.charIndex;for(let e=A;e<=s;e++){let t=this._getLineLeftOffset(e)||0,n=this.getHeightOfLine(e),a=0,o=0,h=0;if(e===A&&(o=this.__charBounds[A][l].left),e>=A&&e<s)h=f&&!this.isEndOfWrapping(e)?this.width:this.getLineWidth(e)||5;else if(e===s)if(0===k)h=this.__charBounds[s][k].left;else{let i=this._getWidthOfCharSpacing();h=this.__charBounds[s][k-1].left+this.__charBounds[s][k-1].width-i}a=n,(this.lineHeight<1||e===s&&this.lineHeight>1)&&(n/=this.lineHeight);let u=r.left+t+o,c=n,d=0,b=h-o;this.inCompositionMode?(i.fillStyle=this.compositionColor||"black",c=1,d=n):i.fillStyle=this.selectionColor,"rtl"===this.direction&&(this.textAlign===ui||this.textAlign===ge||this.textAlign===xr?u=this.width-u-b:this.textAlign===z0||this.textAlign===Yt?u=r.left+t-h:this.textAlign!==V0&&this.textAlign!==Zr||(u=r.left+t-h)),i.fillRect(u,r.top+r.topOffset+d,b,c),r.topOffset+=a}}getCurrentCharFontSize(){let i=this._getCurrentCharIndex();return this.getValueOfPropertyAt(i.l,i.c,"fontSize")}getCurrentCharColor(){let i=this._getCurrentCharIndex();return this.getValueOfPropertyAt(i.l,i.c,bi)}_getCurrentCharIndex(){let i=this.get2DCursorLocation(this.selectionStart,!0),e=i.charIndex>0?i.charIndex-1:0;return{l:i.lineIndex,c:e}}dispose(){this.exitEditingImpl(),this.draggableTextDelegate.dispose(),super.dispose()}};R(M0,"ownDefaults",dA),R(M0,"type","IText"),d0.setClass(M0),d0.setClass(M0,"i-text");var L2=class i extends M0{static getDefaults(){return P(P({},super.getDefaults()),i.ownDefaults)}constructor(e,r){super(e,P(P({},i.ownDefaults),r))}static createControls(){return{controls:Sf()}}initDimensions(){this.initialized&&(this.isEditing&&this.initDelayedCursor(),this._clearCache(),this.dynamicMinWidth=0,this._styleMap=this._generateStyleMap(this._splitText()),this.dynamicMinWidth>this.width&&this._set("width",this.dynamicMinWidth),this.textAlign.includes(ge)&&this.enlargeSpaces(),this.height=this.calcTextHeight())}_generateStyleMap(i){let e=0,r=0,t=0,n={};for(let f=0;f<i.graphemeLines.length;f++)"\n"===i.graphemeText[t]&&f>0?(r=0,t++,e++):!this.splitByGrapheme&&this._reSpaceAndTab.test(i.graphemeText[t])&&f>0&&(r++,t++),n[f]={line:e,offset:r},t+=i.graphemeLines[f].length,r+=i.graphemeLines[f].length;return n}styleHas(i,e){if(this._styleMap&&!this.isWrapping){let i=this._styleMap[e];i&&(e=i.line)}return super.styleHas(i,e)}isEmptyStyles(i){if(!this.styles)return!0;let e,r=0,t=i+1,n=!1,f=this._styleMap[i],a=this._styleMap[i+1];f&&(i=f.line,r=f.offset),a&&(t=a.line,n=t===i,e=a.offset);let o=void 0===i?this.styles:{line:this.styles[i]};for(let i in o)for(let t in o[i]){let f=parseInt(t,10);if(f>=r&&(!n||f<e))for(let e in o[i][t])return!1}return!0}_getStyleDeclaration(i,e){if(this._styleMap&&!this.isWrapping){let r=this._styleMap[i];if(!r)return{};i=r.line,e=r.offset+e}return super._getStyleDeclaration(i,e)}_setStyleDeclaration(i,e,r){let t=this._styleMap[i];super._setStyleDeclaration(t.line,t.offset+e,r)}_deleteStyleDeclaration(i,e){let r=this._styleMap[i];super._deleteStyleDeclaration(r.line,r.offset+e)}_getLineStyle(i){let e=this._styleMap[i];return!!this.styles[e.line]}_setLineStyle(i){let e=this._styleMap[i];super._setLineStyle(e.line)}_wrapText(i,e){this.isWrapping=!0;let r=this.getGraphemeDataForRender(i),t=[];for(let i=0;i<r.wordsData.length;i++)t.push(...this._wrapLine(i,e,r));return this.isWrapping=!1,t}getGraphemeDataForRender(i){let e=this.splitByGrapheme,r=e?"":" ",t=0;return{wordsData:i.map((i,n)=>{let f=0,a=e?this.graphemeSplit(i):this.wordSplit(i);return 0===a.length?[{word:[],width:0}]:a.map(i=>{let a=e?[i]:this.graphemeSplit(i),o=this._measureWord(a,n,f);return t=Math.max(o,t),f+=a.length+r.length,{word:a,width:o}})}),largestWordWidth:t}}_measureWord(i,e){let r,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=0;for(let f=0,a=i.length;f<a;f++)n+=this._getGraphemeBox(i[f],e,f+t,r,!0).kernedWidth,r=i[f];return n}wordSplit(i){return i.split(this._wordJoiners)}_wrapLine(i,e,r){let{largestWordWidth:t,wordsData:n}=r,f=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,a=this._getWidthOfCharSpacing(),o=this.splitByGrapheme,A=[],s=o?"":" ",l=0,k=[],h=0,u=0,c=!0;e-=f;let d,b=Math.max(e,t,this.dynamicMinWidth),p=n[i];for(h=0,d=0;d<p.length;d++){let{word:e,width:r}=p[d];h+=e.length,l+=u+r-a,l>b&&!c?(A.push(k),k=[],l=r,c=!0):l+=a,c||o||k.push(s),k=k.concat(e),u=o?0:this._measureWord([s],i,h),h++,c=!1}return d&&A.push(k),t+f>this.dynamicMinWidth&&(this.dynamicMinWidth=t-a+f),A}isEndOfWrapping(i){return!this._styleMap[i+1]||this._styleMap[i+1].line!==this._styleMap[i].line}missingNewlineOffset(i,e){return this.splitByGrapheme&&!e?this.isEndOfWrapping(i)?1:0:1}_splitTextIntoLines(i){let e=super._splitTextIntoLines(i),r=this._wrapText(e.lines,this.width),t=new Array(r.length);for(let i=0;i<r.length;i++)t[i]=r[i].join("");return e.lines=t,e.graphemeLines=r,e}getMinWidth(){return Math.max(this.minWidth,this.dynamicMinWidth)}_removeExtraneousStyles(){let i=new Map;for(let e in this._styleMap){let r=parseInt(e,10);if(this._textLines[r]){let r=this._styleMap[e].line;i.set("".concat(r),!0)}}for(let e in this.styles)i.has(e)||delete this.styles[e]}toObject(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return super.toObject(["minWidth","splitByGrapheme",...i])}};R(L2,"type","Textbox"),R(L2,"textLayoutProperties",[...M0.textLayoutProperties,"width"]),R(L2,"ownDefaults",{minWidth:20,dynamicMinWidth:2,lockScalingFlip:!0,noScaleCache:!1,_wordJoiners:/[ \t\r]/,splitByGrapheme:!1}),d0.setClass(L2);var zt=class extends er{shouldPerformLayout(i){return!!i.target.clipPath&&super.shouldPerformLayout(i)}shouldLayoutClipPath(){return!1}calcLayoutResult(i,e){let{target:r}=i,{clipPath:t,group:n}=r;if(!t||!this.shouldPerformLayout(i))return;let{width:f,height:a}=be(Pf(r,t)),o=new K(f,a);if(t.absolutePositioned)return{center:Fe(t.getRelativeCenterPoint(),void 0,n?n.calcTransformMatrix():void 0),size:o};{let n=t.getRelativeCenterPoint().transform(r.calcOwnMatrix(),!0);if(this.shouldPerformLayout(i)){let{center:r=new K,correction:t=new K}=this.calcBoundingBox(e,i)||{};return{center:r.add(n),correction:t.subtract(n),size:o}}return{center:r.getRelativeCenterPoint().add(n),size:o}}}};R(zt,"type","clip-path"),d0.setClass(zt);var Jt=class extends er{getInitialSize(i,e){let{target:r}=i,{size:t}=e;return new K(r.width||t.x,r.height||t.y)}};R(Jt,"type","fixed"),d0.setClass(Jt);var y1=class extends W2{subscribeTargets(i){let e=i.target;i.targets.reduce((i,e)=>(e.parent&&i.add(e.parent),i),new Set).forEach(i=>{i.layoutManager.subscribeTargets({target:i,targets:[e]})})}unsubscribeTargets(i){let e=i.target,r=e.getObjects();i.targets.reduce((i,e)=>(e.parent&&i.add(e.parent),i),new Set).forEach(i=>{!r.some(e=>e.parent===i)&&i.layoutManager.unsubscribeTargets({target:i,targets:[e]})})}},qi=class i extends ze{static getDefaults(){return P(P({},super.getDefaults()),i.ownDefaults)}constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),Object.assign(this,i.ownDefaults),this.setOptions(r);let{left:t,top:n,layoutManager:f}=r;this.groupInit(e,{left:t,top:n,layoutManager:f??new y1})}_shouldSetNestedCoords(){return!0}__objectSelectionMonitor(){}multiSelectAdd(){for(var i=arguments.length,e=new Array(i),r=0;r<i;r++)e[r]=arguments[r];"selection-order"===this.multiSelectionStacking?this.add(...e):e.forEach(i=>{let e=this._objects.findIndex(e=>e.isInFrontOf(i)),r=-1===e?this.size():e;this.insertAt(r,i)})}canEnterGroup(i){return this.getObjects().some(e=>e.isDescendantOf(i)||i.isDescendantOf(e))?(He("error","ActiveSelection: circular object trees are not supported, this call has no effect"),!1):super.canEnterGroup(i)}enterGroup(i,e){i.parent&&i.parent===i.group?i.parent._exitGroup(i):i.group&&i.parent!==i.group&&i.group.remove(i),this._enterGroup(i,e)}exitGroup(i,e){this._exitGroup(i,e),i.parent&&i.parent._enterGroup(i,!0)}_onAfterObjectsChange(i,e){super._onAfterObjectsChange(i,e);let r=new Set;e.forEach(i=>{let{parent:e}=i;e&&r.add(e)}),i===J1?r.forEach(i=>{i._onAfterObjectsChange(Tt,e)}):r.forEach(i=>{i._set("dirty",!0)})}onDeselect(){return this.removeAll(),!1}toString(){return"#<ActiveSelection: (".concat(this.complexity(),")>")}shouldCache(){return!1}isOnACache(){return!1}_renderControls(i,e,r){i.save(),i.globalAlpha=this.isMoving?this.borderOpacityWhenMoving:1;let t=P(P({hasControls:!1},r),{},{forActiveSelection:!0});for(let e=0;e<this._objects.length;e++)this._objects[e]._renderControls(i,t);super._renderControls(i,e),i.restore()}};R(qi,"type","ActiveSelection"),R(qi,"ownDefaults",{multiSelectionStacking:"canvas-stacking"}),d0.setClass(qi),d0.setClass(qi,"activeSelection");var Jn,C1=class{constructor(){R(this,"resources",{})}applyFilters(i,e,r,t,n){let f=n.getContext("2d");if(!f)return;f.drawImage(e,0,0,r,t);let a={sourceWidth:r,sourceHeight:t,imageData:f.getImageData(0,0,r,t),originalEl:e,originalImageData:f.getImageData(0,0,r,t),canvasEl:n,ctx:f,filterBackend:this};i.forEach(i=>{i.applyTo(a)});let{imageData:o}=a;return o.width===r&&o.height===t||(n.width=o.width,n.height=o.height),f.putImageData(o,0,0),a}},Ht=class{constructor(){let{tileSize:i=P0.textureSize}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};R(this,"aPosition",new Float32Array([0,0,0,1,1,0,1,1])),R(this,"resources",{}),this.tileSize=i,this.setupGLContext(i,i),this.captureGPUInfo()}setupGLContext(i,e){this.dispose(),this.createWebGLCanvas(i,e)}createWebGLCanvas(i,e){let r=ue({width:i,height:e}),t=r.getContext("webgl",{alpha:!0,premultipliedAlpha:!1,depth:!1,stencil:!1,antialias:!1});t&&(t.clearColor(0,0,0,0),this.canvas=r,this.gl=t)}applyFilters(i,e,r,t,n,f){let a,o=this.gl,A=n.getContext("2d");if(!o||!A)return;f&&(a=this.getCachedTexture(f,e));let s={originalWidth:e.width||e.naturalWidth||0,originalHeight:e.height||e.naturalHeight||0,sourceWidth:r,sourceHeight:t,destinationWidth:r,destinationHeight:t,context:o,sourceTexture:this.createTexture(o,r,t,a?void 0:e),targetTexture:this.createTexture(o,r,t),originalTexture:a||this.createTexture(o,r,t,a?void 0:e),passes:i.length,webgl:!0,aPosition:this.aPosition,programCache:this.programCache,pass:0,filterBackend:this,targetCanvas:n},l=o.createFramebuffer();return o.bindFramebuffer(o.FRAMEBUFFER,l),i.forEach(i=>{i&&i.applyTo(s)}),function(i){let e=i.targetCanvas,r=e.width,t=e.height,n=i.destinationWidth,f=i.destinationHeight;r===n&&t===f||(e.width=n,e.height=f)}(s),this.copyGLTo2D(o,s),o.bindTexture(o.TEXTURE_2D,null),o.deleteTexture(s.sourceTexture),o.deleteTexture(s.targetTexture),o.deleteFramebuffer(l),A.setTransform(1,0,0,1,0,0),s}dispose(){this.canvas&&(this.canvas=null,this.gl=null),this.clearWebGLCaches()}clearWebGLCaches(){this.programCache={},this.textureCache={}}createTexture(i,e,r,t,n){let{NEAREST:f,TEXTURE_2D:a,RGBA:o,UNSIGNED_BYTE:A,CLAMP_TO_EDGE:s,TEXTURE_MAG_FILTER:l,TEXTURE_MIN_FILTER:k,TEXTURE_WRAP_S:h,TEXTURE_WRAP_T:u}=i,c=i.createTexture();return i.bindTexture(a,c),i.texParameteri(a,l,n||f),i.texParameteri(a,k,n||f),i.texParameteri(a,h,s),i.texParameteri(a,u,s),t?i.texImage2D(a,0,o,o,A,t):i.texImage2D(a,0,o,e,r,0,o,A,null),c}getCachedTexture(i,e,r){let{textureCache:t}=this;if(t[i])return t[i];{let n=this.createTexture(this.gl,e.width,e.height,e,r);return n&&(t[i]=n),n}}evictCachesForKey(i){this.textureCache[i]&&(this.gl.deleteTexture(this.textureCache[i]),delete this.textureCache[i])}copyGLTo2D(i,e){let r=i.canvas,t=e.targetCanvas,n=t.getContext("2d");if(!n)return;n.translate(0,t.height),n.scale(1,-1);let f=r.height-t.height;n.drawImage(r,0,f,t.width,t.height,0,0,t.width,t.height)}copyGLTo2DPutImageData(i,e){let r=e.targetCanvas.getContext("2d"),t=e.destinationWidth,n=e.destinationHeight,f=t*n*4;if(!r)return;let a=new Uint8Array(this.imageBuffer,0,f),o=new Uint8ClampedArray(this.imageBuffer,0,f);i.readPixels(0,0,t,n,i.RGBA,i.UNSIGNED_BYTE,a);let A=new ImageData(o,t,n);r.putImageData(A,0,0)}captureGPUInfo(){if(this.gpuInfo)return this.gpuInfo;let i=this.gl,e={renderer:"",vendor:""};if(!i)return e;let r=i.getExtension("WEBGL_debug_renderer_info");if(r){let t=i.getParameter(r.UNMASKED_RENDERER_WEBGL),n=i.getParameter(r.UNMASKED_VENDOR_WEBGL);t&&(e.renderer=t.toLowerCase()),n&&(e.vendor=n.toLowerCase())}return this.gpuInfo=e,e}};function mA(){let{WebGLProbe:i}=ve();return i.queryWebGL(Ki()),P0.enableGLFiltering&&i.isSupported(P0.textureSize)?new Ht({tileSize:P0.textureSize}):new C1}function Hn(){return!Jn&&(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])&&(Jn=mA()),Jn}var pA=["filters","resizeFilter","src","crossOrigin","type"],la=["cropX","cropY"],hi=class i extends ci{static getDefaults(){return P(P({},super.getDefaults()),i.ownDefaults)}constructor(e,r){super(),R(this,"_lastScaleX",1),R(this,"_lastScaleY",1),R(this,"_filterScalingX",1),R(this,"_filterScalingY",1),this.filters=[],Object.assign(this,i.ownDefaults),this.setOptions(r),this.cacheKey="texture".concat(Le()),this.setElement("string"==typeof e?(this.canvas&&fe(this.canvas.getElement())||nr()).getElementById(e):e,r)}getElement(){return this._element}setElement(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.removeTexture(this.cacheKey),this.removeTexture("".concat(this.cacheKey,"_filtered")),this._element=e,this._originalElement=e,this._setWidthHeight(r),e.classList.add(i.CSS_CANVAS),0!==this.filters.length&&this.applyFilters(),this.resizeFilter&&this.applyResizeFilters()}removeTexture(i){let e=Hn(!1);e instanceof Ht&&e.evictCachesForKey(i)}dispose(){super.dispose(),this.removeTexture(this.cacheKey),this.removeTexture("".concat(this.cacheKey,"_filtered")),this._cacheContext=null,["_originalElement","_element","_filteredEl","_cacheCanvas"].forEach(i=>{let e=this[i];e&&ve().dispose(e),this[i]=void 0})}getCrossOrigin(){return this._originalElement&&(this._originalElement.crossOrigin||null)}getOriginalSize(){let i=this.getElement();return i?{width:i.naturalWidth||i.width,height:i.naturalHeight||i.height}:{width:0,height:0}}_stroke(i){if(!this.stroke||0===this.strokeWidth)return;let e=this.width/2,r=this.height/2;i.beginPath(),i.moveTo(-e,-r),i.lineTo(e,-r),i.lineTo(e,r),i.lineTo(-e,r),i.lineTo(-e,-r),i.closePath()}toObject(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=[];return this.filters.forEach(i=>{i&&e.push(i.toObject())}),P(P({},super.toObject([...la,...i])),{},{src:this.getSrc(),crossOrigin:this.getCrossOrigin(),filters:e},this.resizeFilter?{resizeFilter:this.resizeFilter.toObject()}:{})}hasCrop(){return!!this.cropX||!!this.cropY||this.width<this._element.width||this.height<this._element.height}_toSVG(){let i=[],e=this._element,r=-this.width/2,t=-this.height/2,n=[],f=[],a="",o="";if(!e)return[];if(this.hasCrop()){let i=Le();n.push('<clipPath id="imageCrop_'+i+'">\n','\t<rect x="'+r+'" y="'+t+'" width="'+this.width+'" height="'+this.height+'" />\n',"</clipPath>\n"),a=' clip-path="url(#imageCrop_'+i+')" '}if(this.imageSmoothing||(o=' image-rendering="optimizeSpeed"'),i.push("\t<image ","COMMON_PARTS",'xlink:href="'.concat(this.getSvgSrc(!0),'" x="').concat(r-this.cropX,'" y="').concat(t-this.cropY,'" width="').concat(e.width||e.naturalWidth,'" height="').concat(e.height||e.naturalHeight,'"').concat(o).concat(a,"></image>\n")),this.stroke||this.strokeDashArray){let i=this.fill;this.fill=null,f=['\t<rect x="'.concat(r,'" y="').concat(t,'" width="').concat(this.width,'" height="').concat(this.height,'" style="').concat(this.getSvgStyles(),'" />\n')],this.fill=i}return n=this.paintFirst!==bi?n.concat(f,i):n.concat(i,f),n}getSrc(i){let e=i?this._element:this._originalElement;return e?e.toDataURL?e.toDataURL():this.srcFromAttribute?e.getAttribute("src")||"":e.src:this.src||""}getSvgSrc(i){return this.getSrc(i)}setSrc(i){let{crossOrigin:e,signal:r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Br(i,{crossOrigin:e,signal:r}).then(i=>{void 0!==e&&this.set({crossOrigin:e}),this.setElement(i)})}toString(){return'#<Image: { src: "'.concat(this.getSrc(),'" }>')}applyResizeFilters(){let i=this.resizeFilter,e=this.minimumScaleTrigger,r=this.getTotalObjectScaling(),t=r.x,n=r.y,f=this._filteredEl||this._originalElement;if(this.group&&this.set("dirty",!0),!i||t>e&&n>e)return this._element=f,this._filterScalingX=1,this._filterScalingY=1,this._lastScaleX=t,void(this._lastScaleY=n);let a=ue(f),{width:o,height:A}=f;this._element=a,this._lastScaleX=i.scaleX=t,this._lastScaleY=i.scaleY=n,Hn().applyFilters([i],f,o,A,this._element),this._filterScalingX=a.width/this._originalElement.width,this._filterScalingY=a.height/this._originalElement.height}applyFilters(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.filters||[];if(i=i.filter(i=>i&&!i.isNeutralState()),this.set("dirty",!0),this.removeTexture("".concat(this.cacheKey,"_filtered")),0===i.length)return this._element=this._originalElement,this._filteredEl=void 0,this._filterScalingX=1,void(this._filterScalingY=1);let e=this._originalElement,r=e.naturalWidth||e.width,t=e.naturalHeight||e.height;if(this._element===this._originalElement){let i=ue({width:r,height:t});this._element=i,this._filteredEl=i}else this._filteredEl&&(this._element=this._filteredEl,this._filteredEl.getContext("2d").clearRect(0,0,r,t),this._lastScaleX=1,this._lastScaleY=1);Hn().applyFilters(i,this._originalElement,r,t,this._element),this._originalElement.width===this._element.width&&this._originalElement.height===this._element.height||(this._filterScalingX=this._element.width/this._originalElement.width,this._filterScalingY=this._element.height/this._originalElement.height)}_render(i){i.imageSmoothingEnabled=this.imageSmoothing,!0!==this.isMoving&&this.resizeFilter&&this._needsResize()&&this.applyResizeFilters(),this._stroke(i),this._renderPaintInOrder(i)}drawCacheOnCanvas(i){i.imageSmoothingEnabled=this.imageSmoothing,super.drawCacheOnCanvas(i)}shouldCache(){return this.needsItsOwnCache()}_renderFill(i){let e=this._element;if(!e)return;let r=this._filterScalingX,t=this._filterScalingY,n=this.width,f=this.height,a=Math.max(this.cropX,0),o=Math.max(this.cropY,0),A=e.naturalWidth||e.width,s=e.naturalHeight||e.height,l=a*r,k=o*t,h=Math.min(n*r,A-l),u=Math.min(f*t,s-k),c=-n/2,d=-f/2,b=Math.min(n,A/r-a),p=Math.min(f,s/t-o);e&&i.drawImage(e,l,k,h,u,c,d,b,p)}_needsResize(){let i=this.getTotalObjectScaling();return i.x!==this._lastScaleX||i.y!==this._lastScaleY}_resetWidthHeight(){this.set(this.getOriginalSize())}_setWidthHeight(){let{width:i,height:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=this.getOriginalSize();this.width=i||r.width,this.height=e||r.height}parsePreserveAspectRatioAttribute(){let i,e=tf(this.preserveAspectRatio||""),r=this.width,t=this.height,n={width:r,height:t},f=this._element.width,a=this._element.height,o=1,A=1,s=0,l=0,k=0,h=0;return!e||e.alignX===Di&&e.alignY===Di?(o=r/f,A=t/a):("meet"===e.meetOrSlice&&(o=A=Qf(this._element,n),i=(r-f*o)/2,"Min"===e.alignX&&(s=-i),"Max"===e.alignX&&(s=i),i=(t-a*A)/2,"Min"===e.alignY&&(l=-i),"Max"===e.alignY&&(l=i)),"slice"===e.meetOrSlice&&(o=A=Yf(this._element,n),i=f-r/o,"Mid"===e.alignX&&(k=i/2),"Max"===e.alignX&&(k=i),i=a-t/A,"Mid"===e.alignY&&(h=i/2),"Max"===e.alignY&&(h=i),f=r/o,a=t/A)),{width:f,height:a,scaleX:o,scaleY:A,offsetLeft:s,offsetTop:l,cropX:k,cropY:h}}static fromObject(i,e){let{filters:r,resizeFilter:t,src:n,crossOrigin:f,type:a}=i,o=ni(i,pA);return Promise.all([Br(n,P(P({},e),{},{crossOrigin:f})),r&&K2(r,e),t&&K2([t],e),Dr(o,e)]).then(i=>{let[e,r=[],[t]=[],f={}]=i;return new this(e,P(P({},o),{},{src:n,filters:r,resizeFilter:t},f))})}static fromURL(i){let{crossOrigin:e=null,signal:r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=arguments.length>2?arguments[2]:void 0;return Br(i,{crossOrigin:e,signal:r}).then(i=>new this(i,t))}static async fromElement(i){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,t=Xe(i,this.ATTRIBUTE_NAMES,r);return this.fromURL(t["xlink:href"],e,t).catch(i=>(He("log","Unable to parse Image",i),null))}};R(hi,"type","Image"),R(hi,"cacheProperties",[...Se,...la]),R(hi,"ownDefaults",{strokeWidth:0,srcFromAttribute:!1,minimumScaleTrigger:.5,cropX:0,cropY:0,imageSmoothing:!0}),R(hi,"CSS_CANVAS","canvas-img"),R(hi,"ATTRIBUTE_NAMES",[...Ke,"x","y","width","height","preserveAspectRatio","xlink:href","crossOrigin","image-rendering"]),d0.setClass(hi),d0.setSVGClass(hi);var wl=tn(["pattern","defs","symbol","metadata","clipPath","mask","desc"]),ka=Uo,Qo=i=>function(e,r,t){let{points:n,pathOffset:f}=t;return new K(n[i]).subtract(f).transform(Ai(t.getViewportTransform(),t.calcTransformMatrix()))},ua=(i,e,r,t)=>{let{target:n,pointIndex:f}=e,a=n,o=Fe(new K(r,t),void 0,a.calcOwnMatrix());return a.points[f]=o.add(a.pathOffset),a.setDimensions(),!0},ha=(i,e)=>function(r,t,n,f){let a=t.target,o=new K(a.points[(i>0?i:a.points.length)-1]),A=o.subtract(a.pathOffset).transform(a.calcOwnMatrix()),s=e(r,P(P({},t),{},{pointIndex:i}),n,f),l=o.subtract(a.pathOffset).transform(a.calcOwnMatrix()).subtract(A);return a.left-=l.x,a.top-=l.y,s},Yo=i=>qe(ka,ha(i,ua)),B1=(i,e,r)=>{let{path:t,pathOffset:n}=i,f=t[e];return new K(f[r]-n.x,f[r+1]-n.y).transform(Ai(i.getViewportTransform(),i.calcTransformMatrix()))};function gA(i,e,r){let{commandIndex:t,pointIndex:n}=this;return B1(r,t,n)}function bA(i,e,r,t){let{target:n}=e,{commandIndex:f,pointIndex:a}=this,o=((i,e,r,t,n)=>{let{path:f,pathOffset:a}=i,o=f[(t>0?t:f.length)-1],A=new K(o[n],o[n+1]),s=A.subtract(a).transform(i.calcOwnMatrix()),l=Fe(new K(e,r),void 0,i.calcOwnMatrix());f[t][n]=l.x+a.x,f[t][n+1]=l.y+a.y,i.setDimensions();let k=A.subtract(i.pathOffset).transform(i.calcOwnMatrix()).subtract(s);return i.left-=k.x,i.top-=k.y,i.set("dirty",!0),!0})(n,r,t,f,a);return M1(this.actionName,P(P({},T1(i,e,r,t)),{},{commandIndex:f,pointIndex:a})),o}var Ut=class extends Ii{constructor(i){super(i)}render(i,e,r,t,n){let f=P(P({},t),{},{cornerColor:this.controlFill,cornerStrokeColor:this.controlStroke,transparentCorners:!this.controlFill});super.render(i,e,r,f,n)}},x1=class extends Ut{constructor(i){super(i)}render(i,e,r,t,n){let{path:f}=n,{commandIndex:a,pointIndex:o,connectToCommandIndex:A,connectToPointIndex:s}=this;i.save(),i.strokeStyle=this.controlStroke,this.connectionDashArray&&i.setLineDash(this.connectionDashArray);let[l]=f[a],k=B1(n,A,s);if("Q"===l){let t=B1(n,a,o+2);i.moveTo(t.x,t.y),i.lineTo(e,r)}else i.moveTo(e,r);i.lineTo(k.x,k.y),i.stroke(),i.restore(),super.render(i,e,r,t,n)}},gt=(i,e,r,t,n,f)=>new(r?x1:Ut)(P(P({commandIndex:i,pointIndex:e,actionName:"modifyPath",positionHandler:gA,actionHandler:bA,connectToCommandIndex:n,connectToPointIndex:f},t),r?t.controlPointStyle:t.pointStyle)),_l=Object.freeze({__proto__:null,changeWidth:s1,createObjectDefaultControls:Y1,createPathControls:function(i){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r={},t="M";return i.path.forEach((i,n)=>{let f=i[0];switch("Z"!==f&&(r["c_".concat(n,"_").concat(f)]=gt(n,i.length-2,!1,e)),f){case"C":r["c_".concat(n,"_C_CP_1")]=gt(n,1,!0,e,n-1,"C"===(a=t)?5:"Q"===a?3:1),r["c_".concat(n,"_C_CP_2")]=gt(n,3,!0,e,n,5);break;case"Q":r["c_".concat(n,"_Q_CP_1")]=gt(n,1,!0,e,n,3)}var a;t=f}),r},createPolyActionHandler:Yo,createPolyControls:function(i){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r={};for(let t=0;t<("number"==typeof i?i:i.points.length);t++)r["p".concat(t)]=new Ii(P({actionName:ka,positionHandler:Qo(t),actionHandler:Yo(t)},e));return r},createPolyPositionHandler:Qo,createResizeControls:Wf,createTextboxDefaultControls:Sf,dragHandler:hf,factoryPolyActionHandler:ha,getLocalPoint:rn,polyActionHandler:ua,renderCircleControl:bf,renderSquareControl:vf,rotationStyleHandler:wf,rotationWithSnapping:_f,scaleCursorStyleHandler:O2,scaleOrSkewActionName:_r,scaleSkewCursorStyleHandler:k2,scalingEqually:wr,scalingX:Bf,scalingXOrSkewingY:A1,scalingY:xf,scalingYOrSkewingX:l1,skewCursorStyleHandler:Zf,skewHandlerX:Ef,skewHandlerY:Ff,wrapWithFireEvent:qe,wrapWithFixedAnchor:X2}),sn=i=>void 0!==i.webgl,j1="precision highp float",vA="\n ".concat(j1,";\n varying vec2 vTexCoord;\n uniform sampler2D uTexture;\n void main() {\n gl_FragColor = texture2D(uTexture, vTexCoord);\n }"),wA=["type"],_A=["type"],yA=new RegExp(j1,"g"),li=class{get type(){return this.constructor.type}constructor(){let i=ni(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},wA);Object.assign(this,this.constructor.defaults,i)}getFragmentSource(){return vA}getVertexSource(){return"\n attribute vec2 aPosition;\n varying vec2 vTexCoord;\n void main() {\n vTexCoord = aPosition;\n gl_Position = vec4(aPosition * 2.0 - 1.0, 0.0, 1.0);\n }"}createProgram(i){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.getFragmentSource(),r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.getVertexSource(),{WebGLProbe:{GLPrecision:t="highp"}}=ve();"highp"!==t&&(e=e.replace(yA,j1.replace("highp",t)));let n=i.createShader(i.VERTEX_SHADER),f=i.createShader(i.FRAGMENT_SHADER),a=i.createProgram();if(!n||!f||!a)throw new $i("Vertex, fragment shader or program creation error");if(i.shaderSource(n,r),i.compileShader(n),!i.getShaderParameter(n,i.COMPILE_STATUS))throw new $i("Vertex shader compile error for ".concat(this.type,": ").concat(i.getShaderInfoLog(n)));if(i.shaderSource(f,e),i.compileShader(f),!i.getShaderParameter(f,i.COMPILE_STATUS))throw new $i("Fragment shader compile error for ".concat(this.type,": ").concat(i.getShaderInfoLog(f)));if(i.attachShader(a,n),i.attachShader(a,f),i.linkProgram(a),!i.getProgramParameter(a,i.LINK_STATUS))throw new $i('Shader link error for "'.concat(this.type,'" ').concat(i.getProgramInfoLog(a)));let o=this.getUniformLocations(i,a)||{};return o.uStepW=i.getUniformLocation(a,"uStepW"),o.uStepH=i.getUniformLocation(a,"uStepH"),{program:a,attributeLocations:this.getAttributeLocations(i,a),uniformLocations:o}}getAttributeLocations(i,e){return{aPosition:i.getAttribLocation(e,"aPosition")}}getUniformLocations(i,e){let r=this.constructor.uniformLocations,t={};for(let n=0;n<r.length;n++)t[r[n]]=i.getUniformLocation(e,r[n]);return t}sendAttributeData(i,e,r){let t=e.aPosition,n=i.createBuffer();i.bindBuffer(i.ARRAY_BUFFER,n),i.enableVertexAttribArray(t),i.vertexAttribPointer(t,2,i.FLOAT,!1,0,0),i.bufferData(i.ARRAY_BUFFER,r,i.STATIC_DRAW)}_setupFrameBuffer(i){let e=i.context;if(i.passes>1){let r=i.destinationWidth,t=i.destinationHeight;i.sourceWidth===r&&i.sourceHeight===t||(e.deleteTexture(i.targetTexture),i.targetTexture=i.filterBackend.createTexture(e,r,t)),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,i.targetTexture,0)}else e.bindFramebuffer(e.FRAMEBUFFER,null),e.finish()}_swapTextures(i){i.passes--,i.pass++;let e=i.targetTexture;i.targetTexture=i.sourceTexture,i.sourceTexture=e}isNeutralState(i){return!1}applyTo(i){sn(i)?(this._setupFrameBuffer(i),this.applyToWebGL(i),this._swapTextures(i)):this.applyTo2d(i)}applyTo2d(i){}getCacheKey(){return this.type}retrieveShader(i){let e=this.getCacheKey();return i.programCache[e]||(i.programCache[e]=this.createProgram(i.context)),i.programCache[e]}applyToWebGL(i){let e=i.context,r=this.retrieveShader(i);0===i.pass&&i.originalTexture?e.bindTexture(e.TEXTURE_2D,i.originalTexture):e.bindTexture(e.TEXTURE_2D,i.sourceTexture),e.useProgram(r.program),this.sendAttributeData(e,r.attributeLocations,i.aPosition),e.uniform1f(r.uniformLocations.uStepW,1/i.sourceWidth),e.uniform1f(r.uniformLocations.uStepH,1/i.sourceHeight),this.sendUniformData(e,r.uniformLocations),e.viewport(0,0,i.destinationWidth,i.destinationHeight),e.drawArrays(e.TRIANGLE_STRIP,0,4)}bindAdditionalTexture(i,e,r){i.activeTexture(r),i.bindTexture(i.TEXTURE_2D,e),i.activeTexture(i.TEXTURE0)}unbindAdditionalTexture(i,e){i.activeTexture(e),i.bindTexture(i.TEXTURE_2D,null),i.activeTexture(i.TEXTURE0)}sendUniformData(i,e){}createHelpLayer(i){if(!i.helpLayer){let{sourceWidth:e,sourceHeight:r}=i,t=ue({width:e,height:r});i.helpLayer=t}}toObject(){let i=Object.keys(this.constructor.defaults||{});return P({type:this.type},i.reduce((i,e)=>(i[e]=this[e],i),{}))}toJSON(){return this.toObject()}static async fromObject(i,e){return new this(ni(i,_A))}};R(li,"type","BaseFilter"),R(li,"uniformLocations",[]);var CA={multiply:"gl_FragColor.rgb *= uColor.rgb;\n",screen:"gl_FragColor.rgb = 1.0 - (1.0 - gl_FragColor.rgb) * (1.0 - uColor.rgb);\n",add:"gl_FragColor.rgb += uColor.rgb;\n",difference:"gl_FragColor.rgb = abs(gl_FragColor.rgb - uColor.rgb);\n",subtract:"gl_FragColor.rgb -= uColor.rgb;\n",lighten:"gl_FragColor.rgb = max(gl_FragColor.rgb, uColor.rgb);\n",darken:"gl_FragColor.rgb = min(gl_FragColor.rgb, uColor.rgb);\n",exclusion:"gl_FragColor.rgb += uColor.rgb - 2.0 * (uColor.rgb * gl_FragColor.rgb);\n",overlay:"\n if (uColor.r < 0.5) {\n gl_FragColor.r *= 2.0 * uColor.r;\n } else {\n gl_FragColor.r = 1.0 - 2.0 * (1.0 - gl_FragColor.r) * (1.0 - uColor.r);\n }\n if (uColor.g < 0.5) {\n gl_FragColor.g *= 2.0 * uColor.g;\n } else {\n gl_FragColor.g = 1.0 - 2.0 * (1.0 - gl_FragColor.g) * (1.0 - uColor.g);\n }\n if (uColor.b < 0.5) {\n gl_FragColor.b *= 2.0 * uColor.b;\n } else {\n gl_FragColor.b = 1.0 - 2.0 * (1.0 - gl_FragColor.b) * (1.0 - uColor.b);\n }\n ",tint:"\n gl_FragColor.rgb *= (1.0 - uColor.a);\n gl_FragColor.rgb += uColor.rgb;\n "},u2=class extends li{getCacheKey(){return"".concat(this.type,"_").concat(this.mode)}getFragmentSource(){return"\n precision highp float;\n uniform sampler2D uTexture;\n uniform vec4 uColor;\n varying vec2 vTexCoord;\n void main() {\n vec4 color = texture2D(uTexture, vTexCoord);\n gl_FragColor = color;\n if (color.a > 0.0) {\n ".concat(CA[this.mode],"\n }\n }\n ")}applyTo2d(i){let{imageData:{data:e}}=i,r=new xi(this.color).getSource(),t=this.alpha,n=r[0]*t,f=r[1]*t,a=r[2]*t,o=1-t;for(let i=0;i<e.length;i+=4){let r,t,A,s=e[i],l=e[i+1],k=e[i+2];switch(this.mode){case"multiply":r=s*n/255,t=l*f/255,A=k*a/255;break;case"screen":r=255-(255-s)*(255-n)/255,t=255-(255-l)*(255-f)/255,A=255-(255-k)*(255-a)/255;break;case"add":r=s+n,t=l+f,A=k+a;break;case"difference":r=Math.abs(s-n),t=Math.abs(l-f),A=Math.abs(k-a);break;case"subtract":r=s-n,t=l-f,A=k-a;break;case"darken":r=Math.min(s,n),t=Math.min(l,f),A=Math.min(k,a);break;case"lighten":r=Math.max(s,n),t=Math.max(l,f),A=Math.max(k,a);break;case"overlay":r=n<128?2*s*n/255:255-2*(255-s)*(255-n)/255,t=f<128?2*l*f/255:255-2*(255-l)*(255-f)/255,A=a<128?2*k*a/255:255-2*(255-k)*(255-a)/255;break;case"exclusion":r=n+s-2*n*s/255,t=f+l-2*f*l/255,A=a+k-2*a*k/255;break;case"tint":r=n+s*o,t=f+l*o,A=a+k*o}e[i]=r,e[i+1]=t,e[i+2]=A}}sendUniformData(i,e){let r=new xi(this.color).getSource();r[0]=this.alpha*r[0]/255,r[1]=this.alpha*r[1]/255,r[2]=this.alpha*r[2]/255,r[3]=this.alpha,i.uniform4fv(e.uColor,r)}};R(u2,"defaults",{color:"#F95C63",mode:"multiply",alpha:1}),R(u2,"type","BlendColor"),R(u2,"uniformLocations",["uColor"]),d0.setClass(u2);var BA={multiply:"\n precision highp float;\n uniform sampler2D uTexture;\n uniform sampler2D uImage;\n uniform vec4 uColor;\n varying vec2 vTexCoord;\n varying vec2 vTexCoord2;\n void main() {\n vec4 color = texture2D(uTexture, vTexCoord);\n vec4 color2 = texture2D(uImage, vTexCoord2);\n color.rgba *= color2.rgba;\n gl_FragColor = color;\n }\n ",mask:"\n precision highp float;\n uniform sampler2D uTexture;\n uniform sampler2D uImage;\n uniform vec4 uColor;\n varying vec2 vTexCoord;\n varying vec2 vTexCoord2;\n void main() {\n vec4 color = texture2D(uTexture, vTexCoord);\n vec4 color2 = texture2D(uImage, vTexCoord2);\n color.a = color2.a;\n gl_FragColor = color;\n }\n "},xA=["type","image"],h2=class extends li{getCacheKey(){return"".concat(this.type,"_").concat(this.mode)}getFragmentSource(){return BA[this.mode]}getVertexSource(){return"\n attribute vec2 aPosition;\n varying vec2 vTexCoord;\n varying vec2 vTexCoord2;\n uniform mat3 uTransformMatrix;\n void main() {\n vTexCoord = aPosition;\n vTexCoord2 = (uTransformMatrix * vec3(aPosition, 1.0)).xy;\n gl_Position = vec4(aPosition * 2.0 - 1.0, 0.0, 1.0);\n }\n "}applyToWebGL(i){let e=i.context,r=this.createTexture(i.filterBackend,this.image);this.bindAdditionalTexture(e,r,e.TEXTURE1),super.applyToWebGL(i),this.unbindAdditionalTexture(e,e.TEXTURE1)}createTexture(i,e){return i.getCachedTexture(e.cacheKey,e.getElement())}calculateMatrix(){let i=this.image,{width:e,height:r}=i.getElement();return[1/i.scaleX,0,0,0,1/i.scaleY,0,-i.left/e,-i.top/r,1]}applyTo2d(i){let{imageData:{data:e,width:r,height:t},filterBackend:{resources:n}}=i,f=this.image;n.blendImage||(n.blendImage=Ki());let a=n.blendImage,o=a.getContext("2d");a.width!==r||a.height!==t?(a.width=r,a.height=t):o.clearRect(0,0,r,t),o.setTransform(f.scaleX,0,0,f.scaleY,f.left,f.top),o.drawImage(f.getElement(),0,0,r,t);let A=o.getImageData(0,0,r,t).data;for(let i=0;i<e.length;i+=4){let r=e[i],t=e[i+1],n=e[i+2],f=e[i+3],a=A[i],o=A[i+1],s=A[i+2],l=A[i+3];switch(this.mode){case"multiply":e[i]=r*a/255,e[i+1]=t*o/255,e[i+2]=n*s/255,e[i+3]=f*l/255;break;case"mask":e[i+3]=l}}}sendUniformData(i,e){let r=this.calculateMatrix();i.uniform1i(e.uImage,1),i.uniformMatrix3fv(e.uTransformMatrix,!1,r)}toObject(){return P(P({},super.toObject()),{},{image:this.image&&this.image.toObject()})}static async fromObject(i,e){let{type:r,image:t}=i,n=ni(i,xA);return hi.fromObject(t,e).then(i=>new this(P(P({},n),{},{image:i})))}};R(h2,"type","BlendImage"),R(h2,"defaults",{mode:"multiply",alpha:1}),R(h2,"uniformLocations",["uTransformMatrix","uImage"]),d0.setClass(h2);var c2=class extends li{getFragmentSource(){return"\n precision highp float;\n uniform sampler2D uTexture;\n uniform vec2 uDelta;\n varying vec2 vTexCoord;\n const float nSamples = 15.0;\n vec3 v3offset = vec3(12.9898, 78.233, 151.7182);\n float random(vec3 scale) {\n /* use the fragment position for a different seed per-pixel */\n return fract(sin(dot(gl_FragCoord.xyz, scale)) * 43758.5453);\n }\n void main() {\n vec4 color = vec4(0.0);\n float total = 0.0;\n float offset = random(v3offset);\n for (float t = -nSamples; t <= nSamples; t++) {\n float percent = (t + offset - 0.5) / nSamples;\n float weight = 1.0 - abs(percent);\n color += texture2D(uTexture, vTexCoord + uDelta * percent) * weight;\n total += weight;\n }\n gl_FragColor = color / total;\n }\n "}applyTo(i){sn(i)?(this.aspectRatio=i.sourceWidth/i.sourceHeight,i.passes++,this._setupFrameBuffer(i),this.horizontal=!0,this.applyToWebGL(i),this._swapTextures(i),this._setupFrameBuffer(i),this.horizontal=!1,this.applyToWebGL(i),this._swapTextures(i)):this.applyTo2d(i)}applyTo2d(i){i.imageData=this.simpleBlur(i)}simpleBlur(i){let{ctx:e,imageData:r,filterBackend:{resources:t}}=i,{width:n,height:f}=r;t.blurLayer1||(t.blurLayer1=Ki(),t.blurLayer2=Ki());let a=t.blurLayer1,o=t.blurLayer2;a.width===n&&a.height===f||(o.width=a.width=n,o.height=a.height=f);let A,s,l,k,h=a.getContext("2d"),u=o.getContext("2d"),c=.06*this.blur*.5;for(h.putImageData(r,0,0),u.clearRect(0,0,n,f),k=-15;k<=15;k++)A=(Math.random()-.5)/4,s=k/15,l=c*s*n+A,u.globalAlpha=1-Math.abs(s),u.drawImage(a,l,A),h.drawImage(o,0,0),u.globalAlpha=1,u.clearRect(0,0,o.width,o.height);for(k=-15;k<=15;k++)A=(Math.random()-.5)/4,s=k/15,l=c*s*f+A,u.globalAlpha=1-Math.abs(s),u.drawImage(a,A,l),h.drawImage(o,0,0),u.globalAlpha=1,u.clearRect(0,0,o.width,o.height);e.drawImage(a,0,0);let d=e.getImageData(0,0,a.width,a.height);return h.globalAlpha=1,h.clearRect(0,0,a.width,a.height),d}sendUniformData(i,e){let r=this.chooseRightDelta();i.uniform2fv(e.uDelta,r)}isNeutralState(){return 0===this.blur}chooseRightDelta(){let i=1,e=[0,0];this.horizontal?this.aspectRatio>1&&(i=1/this.aspectRatio):this.aspectRatio<1&&(i=this.aspectRatio);let r=i*this.blur*.12;return this.horizontal?e[0]=r:e[1]=r,e}};R(c2,"type","Blur"),R(c2,"defaults",{blur:0}),R(c2,"uniformLocations",["uDelta"]),d0.setClass(c2);var d2=class extends li{getFragmentSource(){return"\n precision highp float;\n uniform sampler2D uTexture;\n uniform float uBrightness;\n varying vec2 vTexCoord;\n void main() {\n vec4 color = texture2D(uTexture, vTexCoord);\n color.rgb += uBrightness;\n gl_FragColor = color;\n }\n"}applyTo2d(i){let{imageData:{data:e}}=i,r=Math.round(255*this.brightness);for(let i=0;i<e.length;i+=4)e[i]+=r,e[i+1]+=r,e[i+2]+=r}isNeutralState(){return 0===this.brightness}sendUniformData(i,e){i.uniform1f(e.uBrightness,this.brightness)}};R(d2,"type","Brightness"),R(d2,"defaults",{brightness:0}),R(d2,"uniformLocations",["uBrightness"]),d0.setClass(d2);var ca={matrix:[1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0],colorsOnly:!0},Ee=class extends li{getFragmentSource(){return"\n precision highp float;\n uniform sampler2D uTexture;\n varying vec2 vTexCoord;\n uniform mat4 uColorMatrix;\n uniform vec4 uConstants;\n void main() {\n vec4 color = texture2D(uTexture, vTexCoord);\n color *= uColorMatrix;\n color += uConstants;\n gl_FragColor = color;\n }"}applyTo2d(i){let e=i.imageData.data,r=this.matrix,t=this.colorsOnly;for(let i=0;i<e.length;i+=4){let n=e[i],f=e[i+1],a=e[i+2];if(e[i]=n*r[0]+f*r[1]+a*r[2]+255*r[4],e[i+1]=n*r[5]+f*r[6]+a*r[7]+255*r[9],e[i+2]=n*r[10]+f*r[11]+a*r[12]+255*r[14],!t){let t=e[i+3];e[i]+=t*r[3],e[i+1]+=t*r[8],e[i+2]+=t*r[13],e[i+3]=n*r[15]+f*r[16]+a*r[17]+t*r[18]+255*r[19]}}}sendUniformData(i,e){let r=this.matrix,t=[r[0],r[1],r[2],r[3],r[5],r[6],r[7],r[8],r[10],r[11],r[12],r[13],r[15],r[16],r[17],r[18]],n=[r[4],r[9],r[14],r[19]];i.uniformMatrix4fv(e.uColorMatrix,!1,t),i.uniform4fv(e.uConstants,n)}toObject(){return P(P({},super.toObject()),{},{matrix:[...this.matrix]})}};function V2(i,e){var r;let t=(R(r=class extends Ee{toObject(){return{type:this.type,colorsOnly:this.colorsOnly}}},"type",i),R(r,"defaults",{colorsOnly:!1,matrix:e}),r);return d0.setClass(t,i),t}R(Ee,"type","ColorMatrix"),R(Ee,"defaults",ca),R(Ee,"uniformLocations",["uColorMatrix","uConstants"]),d0.setClass(Ee);var ZA=V2("Brownie",[.5997,.34553,-.27082,0,.186,-.0377,.86095,.15059,0,-.1449,.24113,-.07441,.44972,0,-.02965,0,0,0,1,0]),IA=V2("Vintage",[.62793,.32021,-.03965,0,.03784,.02578,.64411,.03259,0,.02926,.0466,-.08512,.52416,0,.02023,0,0,0,1,0]),EA=V2("Kodachrome",[1.12855,-.39673,-.03992,0,.24991,-.16404,1.08352,-.05498,0,.09698,-.16786,-.56034,1.60148,0,.13972,0,0,0,1,0]),FA=V2("Technicolor",[1.91252,-.85453,-.09155,0,.04624,-.30878,1.76589,-.10601,0,-.27589,-.2311,-.75018,1.84759,0,.12137,0,0,0,1,0]),WA=V2("Polaroid",[1.438,-.062,-.062,0,0,-.122,1.378,-.122,0,0,-.016,-.016,1.483,0,0,0,0,0,1,0]),SA=V2("Sepia",[.393,.769,.189,0,0,.349,.686,.168,0,0,.272,.534,.131,0,0,0,0,0,1,0]),XA=V2("BlackWhite",[1.5,1.5,1.5,0,-1,1.5,1.5,1.5,0,-1,1.5,1.5,1.5,0,-1,0,0,0,1,0]),Vr=class extends li{constructor(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(i),this.subFilters=i.subFilters||[]}applyTo(i){sn(i)&&(i.passes+=this.subFilters.length-1),this.subFilters.forEach(e=>{e.applyTo(i)})}toObject(){return{type:this.type,subFilters:this.subFilters.map(i=>i.toObject())}}isNeutralState(){return!this.subFilters.some(i=>!i.isNeutralState())}static fromObject(i,e){return Promise.all((i.subFilters||[]).map(i=>d0.getClass(i.type).fromObject(i,e))).then(i=>new this({subFilters:i}))}};R(Vr,"type","Composed"),d0.setClass(Vr);var m2=class extends li{getFragmentSource(){return"\n precision highp float;\n uniform sampler2D uTexture;\n uniform float uContrast;\n varying vec2 vTexCoord;\n void main() {\n vec4 color = texture2D(uTexture, vTexCoord);\n float contrastF = 1.015 * (uContrast + 1.0) / (1.0 * (1.015 - uContrast));\n color.rgb = contrastF * (color.rgb - 0.5) + 0.5;\n gl_FragColor = color;\n }"}isNeutralState(){return 0===this.contrast}applyTo2d(i){let{imageData:{data:e}}=i,r=Math.floor(255*this.contrast),t=259*(r+255)/(255*(259-r));for(let i=0;i<e.length;i+=4)e[i]=t*(e[i]-128)+128,e[i+1]=t*(e[i+1]-128)+128,e[i+2]=t*(e[i+2]-128)+128}sendUniformData(i,e){i.uniform1f(e.uContrast,this.contrast)}};R(m2,"type","Contrast"),R(m2,"defaults",{contrast:0}),R(m2,"uniformLocations",["uContrast"]),d0.setClass(m2);var VA={Convolute_3_1:"\n precision highp float;\n uniform sampler2D uTexture;\n uniform float uMatrix[9];\n uniform float uStepW;\n uniform float uStepH;\n varying vec2 vTexCoord;\n void main() {\n vec4 color = vec4(0, 0, 0, 0);\n for (float h = 0.0; h < 3.0; h+=1.0) {\n for (float w = 0.0; w < 3.0; w+=1.0) {\n vec2 matrixPos = vec2(uStepW * (w - 1), uStepH * (h - 1));\n color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 3.0 + w)];\n }\n }\n gl_FragColor = color;\n }\n ",Convolute_3_0:"\n precision highp float;\n uniform sampler2D uTexture;\n uniform float uMatrix[9];\n uniform float uStepW;\n uniform float uStepH;\n varying vec2 vTexCoord;\n void main() {\n vec4 color = vec4(0, 0, 0, 1);\n for (float h = 0.0; h < 3.0; h+=1.0) {\n for (float w = 0.0; w < 3.0; w+=1.0) {\n vec2 matrixPos = vec2(uStepW * (w - 1.0), uStepH * (h - 1.0));\n color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 3.0 + w)];\n }\n }\n float alpha = texture2D(uTexture, vTexCoord).a;\n gl_FragColor = color;\n gl_FragColor.a = alpha;\n }\n ",Convolute_5_1:"\n precision highp float;\n uniform sampler2D uTexture;\n uniform float uMatrix[25];\n uniform float uStepW;\n uniform float uStepH;\n varying vec2 vTexCoord;\n void main() {\n vec4 color = vec4(0, 0, 0, 0);\n for (float h = 0.0; h < 5.0; h+=1.0) {\n for (float w = 0.0; w < 5.0; w+=1.0) {\n vec2 matrixPos = vec2(uStepW * (w - 2.0), uStepH * (h - 2.0));\n color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 5.0 + w)];\n }\n }\n gl_FragColor = color;\n }\n ",Convolute_5_0:"\n precision highp float;\n uniform sampler2D uTexture;\n uniform float uMatrix[25];\n uniform float uStepW;\n uniform float uStepH;\n varying vec2 vTexCoord;\n void main() {\n vec4 color = vec4(0, 0, 0, 1);\n for (float h = 0.0; h < 5.0; h+=1.0) {\n for (float w = 0.0; w < 5.0; w+=1.0) {\n vec2 matrixPos = vec2(uStepW * (w - 2.0), uStepH * (h - 2.0));\n color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 5.0 + w)];\n }\n }\n float alpha = texture2D(uTexture, vTexCoord).a;\n gl_FragColor = color;\n gl_FragColor.a = alpha;\n }\n ",Convolute_7_1:"\n precision highp float;\n uniform sampler2D uTexture;\n uniform float uMatrix[49];\n uniform float uStepW;\n uniform float uStepH;\n varying vec2 vTexCoord;\n void main() {\n vec4 color = vec4(0, 0, 0, 0);\n for (float h = 0.0; h < 7.0; h+=1.0) {\n for (float w = 0.0; w < 7.0; w+=1.0) {\n vec2 matrixPos = vec2(uStepW * (w - 3.0), uStepH * (h - 3.0));\n color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 7.0 + w)];\n }\n }\n gl_FragColor = color;\n }\n ",Convolute_7_0:"\n precision highp float;\n uniform sampler2D uTexture;\n uniform float uMatrix[49];\n uniform float uStepW;\n uniform float uStepH;\n varying vec2 vTexCoord;\n void main() {\n vec4 color = vec4(0, 0, 0, 1);\n for (float h = 0.0; h < 7.0; h+=1.0) {\n for (float w = 0.0; w < 7.0; w+=1.0) {\n vec2 matrixPos = vec2(uStepW * (w - 3.0), uStepH * (h - 3.0));\n color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 7.0 + w)];\n }\n }\n float alpha = texture2D(uTexture, vTexCoord).a;\n gl_FragColor = color;\n gl_FragColor.a = alpha;\n }\n ",Convolute_9_1:"\n precision highp float;\n uniform sampler2D uTexture;\n uniform float uMatrix[81];\n uniform float uStepW;\n uniform float uStepH;\n varying vec2 vTexCoord;\n void main() {\n vec4 color = vec4(0, 0, 0, 0);\n for (float h = 0.0; h < 9.0; h+=1.0) {\n for (float w = 0.0; w < 9.0; w+=1.0) {\n vec2 matrixPos = vec2(uStepW * (w - 4.0), uStepH * (h - 4.0));\n color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 9.0 + w)];\n }\n }\n gl_FragColor = color;\n }\n ",Convolute_9_0:"\n precision highp float;\n uniform sampler2D uTexture;\n uniform float uMatrix[81];\n uniform float uStepW;\n uniform float uStepH;\n varying vec2 vTexCoord;\n void main() {\n vec4 color = vec4(0, 0, 0, 1);\n for (float h = 0.0; h < 9.0; h+=1.0) {\n for (float w = 0.0; w < 9.0; w+=1.0) {\n vec2 matrixPos = vec2(uStepW * (w - 4.0), uStepH * (h - 4.0));\n color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 9.0 + w)];\n }\n }\n float alpha = texture2D(uTexture, vTexCoord).a;\n gl_FragColor = color;\n gl_FragColor.a = alpha;\n }\n "},p2=class extends li{getCacheKey(){return"".concat(this.type,"_").concat(Math.sqrt(this.matrix.length),"_").concat(this.opaque?1:0)}getFragmentSource(){return VA[this.getCacheKey()]}applyTo2d(i){let e,r,t,n,f,a,o,A,s,l,k,h,u,c=i.imageData,d=c.data,b=this.matrix,p=Math.round(Math.sqrt(b.length)),g=Math.floor(p/2),m=c.width,v=c.height,w=i.ctx.createImageData(m,v),_=w.data,y=this.opaque?1:0;for(k=0;k<v;k++)for(l=0;l<m;l++){for(f=4*(k*m+l),e=0,r=0,t=0,n=0,u=0;u<p;u++)for(h=0;h<p;h++)o=k+u-g,a=l+h-g,o<0||o>=v||a<0||a>=m||(A=4*(o*m+a),s=b[u*p+h],e+=d[A]*s,r+=d[A+1]*s,t+=d[A+2]*s,y||(n+=d[A+3]*s));_[f]=e,_[f+1]=r,_[f+2]=t,_[f+3]=y?d[f+3]:n}i.imageData=w}sendUniformData(i,e){i.uniform1fv(e.uMatrix,this.matrix)}toObject(){return P(P({},super.toObject()),{},{opaque:this.opaque,matrix:[...this.matrix]})}};R(p2,"type","Convolute"),R(p2,"defaults",{opaque:!1,matrix:[0,0,0,0,1,0,0,0,0]}),R(p2,"uniformLocations",["uMatrix","uOpaque","uHalfSize","uSize"]),d0.setClass(p2);var da="Gamma",g2=class extends li{getFragmentSource(){return"\n precision highp float;\n uniform sampler2D uTexture;\n uniform vec3 uGamma;\n varying vec2 vTexCoord;\n void main() {\n vec4 color = texture2D(uTexture, vTexCoord);\n vec3 correction = (1.0 / uGamma);\n color.r = pow(color.r, correction.r);\n color.g = pow(color.g, correction.g);\n color.b = pow(color.b, correction.b);\n gl_FragColor = color;\n gl_FragColor.rgb *= color.a;\n }\n"}constructor(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(i),this.gamma=i.gamma||this.constructor.defaults.gamma.concat()}applyTo2d(i){let{imageData:{data:e}}=i,r=this.gamma,t=1/r[0],n=1/r[1],f=1/r[2];this.rgbValues||(this.rgbValues={r:new Uint8Array(256),g:new Uint8Array(256),b:new Uint8Array(256)});let a=this.rgbValues;for(let i=0;i<256;i++)a.r[i]=255*Math.pow(i/255,t),a.g[i]=255*Math.pow(i/255,n),a.b[i]=255*Math.pow(i/255,f);for(let i=0;i<e.length;i+=4)e[i]=a.r[e[i]],e[i+1]=a.g[e[i+1]],e[i+2]=a.b[e[i+2]]}sendUniformData(i,e){i.uniform3fv(e.uGamma,this.gamma)}isNeutralState(){let{gamma:i}=this;return 1===i[0]&&1===i[1]&&1===i[2]}toObject(){return{type:da,gamma:this.gamma.concat()}}};R(g2,"type",da),R(g2,"defaults",{gamma:[1,1,1]}),R(g2,"uniformLocations",["uGamma"]),d0.setClass(g2);var GA={average:"\n precision highp float;\n uniform sampler2D uTexture;\n varying vec2 vTexCoord;\n void main() {\n vec4 color = texture2D(uTexture, vTexCoord);\n float average = (color.r + color.b + color.g) / 3.0;\n gl_FragColor = vec4(average, average, average, color.a);\n }\n ",lightness:"\n precision highp float;\n uniform sampler2D uTexture;\n uniform int uMode;\n varying vec2 vTexCoord;\n void main() {\n vec4 col = texture2D(uTexture, vTexCoord);\n float average = (max(max(col.r, col.g),col.b) + min(min(col.r, col.g),col.b)) / 2.0;\n gl_FragColor = vec4(average, average, average, col.a);\n }\n ",luminosity:"\n precision highp float;\n uniform sampler2D uTexture;\n uniform int uMode;\n varying vec2 vTexCoord;\n void main() {\n vec4 col = texture2D(uTexture, vTexCoord);\n float average = 0.21 * col.r + 0.72 * col.g + 0.07 * col.b;\n gl_FragColor = vec4(average, average, average, col.a);\n }\n "},b2=class extends li{applyTo2d(i){let{imageData:{data:e}}=i;for(let i,r=0;r<e.length;r+=4){let t=e[r],n=e[r+1],f=e[r+2];switch(this.mode){case"average":i=(t+n+f)/3;break;case"lightness":i=(Math.min(t,n,f)+Math.max(t,n,f))/2;break;case"luminosity":i=.21*t+.72*n+.07*f}e[r+2]=e[r+1]=e[r]=i}}getCacheKey(){return"".concat(this.type,"_").concat(this.mode)}getFragmentSource(){return GA[this.mode]}sendUniformData(i,e){i.uniform1i(e.uMode,1)}isNeutralState(){return!1}};R(b2,"type","Grayscale"),R(b2,"defaults",{mode:"average"}),R(b2,"uniformLocations",["uMode"]),d0.setClass(b2);var DA=P(P({},ca),{},{rotation:0}),$2=class extends Ee{calculateMatrix(){let i=this.rotation*Math.PI,e=le(i),r=ke(i),t=1/3,n=Math.sqrt(t)*r,f=1-e;this.matrix=[e+f/3,t*f-n,t*f+n,0,0,t*f+n,e+t*f,t*f-n,0,0,t*f-n,t*f+n,e+t*f,0,0,0,0,0,1,0]}isNeutralState(){return 0===this.rotation}applyTo(i){this.calculateMatrix(),super.applyTo(i)}toObject(){return{type:this.type,rotation:this.rotation}}};R($2,"type","HueRotation"),R($2,"defaults",DA),d0.setClass($2);var v2=class extends li{applyTo2d(i){let{imageData:{data:e}}=i;for(let i=0;i<e.length;i+=4)e[i]=255-e[i],e[i+1]=255-e[i+1],e[i+2]=255-e[i+2],this.alpha&&(e[i+3]=255-e[i+3])}getFragmentSource(){return"\n precision highp float;\n uniform sampler2D uTexture;\n uniform int uInvert;\n uniform int uAlpha;\n varying vec2 vTexCoord;\n void main() {\n vec4 color = texture2D(uTexture, vTexCoord);\n if (uInvert == 1) {\n if (uAlpha == 1) {\n gl_FragColor = vec4(1.0 - color.r,1.0 -color.g,1.0 -color.b,1.0 -color.a);\n } else {\n gl_FragColor = vec4(1.0 - color.r,1.0 -color.g,1.0 -color.b,color.a);\n }\n } else {\n gl_FragColor = color;\n }\n }\n"}isNeutralState(){return!this.invert}sendUniformData(i,e){i.uniform1i(e.uInvert,Number(this.invert)),i.uniform1i(e.uAlpha,Number(this.alpha))}};R(v2,"type","Invert"),R(v2,"defaults",{alpha:!1,invert:!0}),R(v2,"uniformLocations",["uInvert","uAlpha"]),d0.setClass(v2);var w2=class extends li{getFragmentSource(){return"\n precision highp float;\n uniform sampler2D uTexture;\n uniform float uStepH;\n uniform float uNoise;\n uniform float uSeed;\n varying vec2 vTexCoord;\n float rand(vec2 co, float seed, float vScale) {\n return fract(sin(dot(co.xy * vScale ,vec2(12.9898 , 78.233))) * 43758.5453 * (seed + 0.01) / 2.0);\n }\n void main() {\n vec4 color = texture2D(uTexture, vTexCoord);\n color.rgb += (0.5 - rand(vTexCoord, uSeed, 0.1 / uStepH)) * uNoise;\n gl_FragColor = color;\n }\n"}applyTo2d(i){let{imageData:{data:e}}=i,r=this.noise;for(let i=0;i<e.length;i+=4){let t=(.5-Math.random())*r;e[i]+=t,e[i+1]+=t,e[i+2]+=t}}sendUniformData(i,e){i.uniform1f(e.uNoise,this.noise/255),i.uniform1f(e.uSeed,Math.random())}isNeutralState(){return 0===this.noise}};R(w2,"type","Noise"),R(w2,"defaults",{noise:0}),R(w2,"uniformLocations",["uNoise","uSeed"]),d0.setClass(w2);var _2=class extends li{applyTo2d(i){let{imageData:{data:e,width:r,height:t}}=i;for(let i=0;i<t;i+=this.blocksize)for(let n=0;n<r;n+=this.blocksize){let f=4*i*r+4*n,a=e[f],o=e[f+1],A=e[f+2],s=e[f+3];for(let f=i;f<Math.min(i+this.blocksize,t);f++)for(let i=n;i<Math.min(n+this.blocksize,r);i++){let t=4*f*r+4*i;e[t]=a,e[t+1]=o,e[t+2]=A,e[t+3]=s}}}isNeutralState(){return 1===this.blocksize}getFragmentSource(){return"\n precision highp float;\n uniform sampler2D uTexture;\n uniform float uBlocksize;\n uniform float uStepW;\n uniform float uStepH;\n varying vec2 vTexCoord;\n void main() {\n float blockW = uBlocksize * uStepW;\n float blockH = uBlocksize * uStepH;\n int posX = int(vTexCoord.x / blockW);\n int posY = int(vTexCoord.y / blockH);\n float fposX = float(posX);\n float fposY = float(posY);\n vec2 squareCoords = vec2(fposX * blockW, fposY * blockH);\n vec4 color = texture2D(uTexture, squareCoords);\n gl_FragColor = color;\n }\n"}sendUniformData(i,e){i.uniform1f(e.uBlocksize,this.blocksize)}};R(_2,"type","Pixelate"),R(_2,"defaults",{blocksize:4}),R(_2,"uniformLocations",["uBlocksize"]),d0.setClass(_2);var y2=class extends li{getFragmentSource(){return"\nprecision highp float;\nuniform sampler2D uTexture;\nuniform vec4 uLow;\nuniform vec4 uHigh;\nvarying vec2 vTexCoord;\nvoid main() {\n gl_FragColor = texture2D(uTexture, vTexCoord);\n if(all(greaterThan(gl_FragColor.rgb,uLow.rgb)) && all(greaterThan(uHigh.rgb,gl_FragColor.rgb))) {\n gl_FragColor.a = 0.0;\n }\n}\n"}applyTo2d(i){let{imageData:{data:e}}=i,r=255*this.distance,t=new xi(this.color).getSource(),n=[t[0]-r,t[1]-r,t[2]-r],f=[t[0]+r,t[1]+r,t[2]+r];for(let i=0;i<e.length;i+=4){let r=e[i],t=e[i+1],a=e[i+2];r>n[0]&&t>n[1]&&a>n[2]&&r<f[0]&&t<f[1]&&a<f[2]&&(e[i+3]=0)}}sendUniformData(i,e){let r=new xi(this.color).getSource(),t=this.distance,n=[0+r[0]/255-t,0+r[1]/255-t,0+r[2]/255-t,1],f=[r[0]/255+t,r[1]/255+t,r[2]/255+t,1];i.uniform4fv(e.uLow,n),i.uniform4fv(e.uHigh,f)}};R(y2,"type","RemoveColor"),R(y2,"defaults",{color:"#FFFFFF",distance:.02,useAlpha:!1}),R(y2,"uniformLocations",["uLow","uHigh"]),d0.setClass(y2);var C2=class extends li{sendUniformData(i,e){i.uniform2fv(e.uDelta,this.horizontal?[1/this.width,0]:[0,1/this.height]),i.uniform1fv(e.uTaps,this.taps)}getFilterWindow(){let i=this.tempScale;return Math.ceil(this.lanczosLobes/i)}getCacheKey(){let i=this.getFilterWindow();return"".concat(this.type,"_").concat(i)}getFragmentSource(){let i=this.getFilterWindow();return this.generateShader(i)}getTaps(){let i=this.lanczosCreate(this.lanczosLobes),e=this.tempScale,r=this.getFilterWindow(),t=new Array(r);for(let n=1;n<=r;n++)t[n-1]=i(n*e);return t}generateShader(i){let e=new Array(i);for(let r=1;r<=i;r++)e[r-1]="".concat(r,".0 * uDelta");return"\n precision highp float;\n uniform sampler2D uTexture;\n uniform vec2 uDelta;\n varying vec2 vTexCoord;\n uniform float uTaps[".concat(i,"];\n void main() {\n vec4 color = texture2D(uTexture, vTexCoord);\n float sum = 1.0;\n ").concat(e.map((i,e)=>"\n color += texture2D(uTexture, vTexCoord + ".concat(i,") * uTaps[").concat(e,"] + texture2D(uTexture, vTexCoord - ").concat(i,") * uTaps[").concat(e,"];\n sum += 2.0 * uTaps[").concat(e,"];\n ")).join("\n"),"\n gl_FragColor = color / sum;\n }\n ")}applyToForWebgl(i){i.passes++,this.width=i.sourceWidth,this.horizontal=!0,this.dW=Math.round(this.width*this.scaleX),this.dH=i.sourceHeight,this.tempScale=this.dW/this.width,this.taps=this.getTaps(),i.destinationWidth=this.dW,super.applyTo(i),i.sourceWidth=i.destinationWidth,this.height=i.sourceHeight,this.horizontal=!1,this.dH=Math.round(this.height*this.scaleY),this.tempScale=this.dH/this.height,this.taps=this.getTaps(),i.destinationHeight=this.dH,super.applyTo(i),i.sourceHeight=i.destinationHeight}applyTo(i){sn(i)?this.applyToForWebgl(i):this.applyTo2d(i)}isNeutralState(){return 1===this.scaleX&&1===this.scaleY}lanczosCreate(i){return e=>{if(e>=i||e<=-i)return 0;if(e<1.1920929e-7&&e>-1.1920929e-7)return 1;let r=(e*=Math.PI)/i;return Math.sin(e)/e*Math.sin(r)/r}}applyTo2d(i){let e=i.imageData,r=this.scaleX,t=this.scaleY;this.rcpScaleX=1/r,this.rcpScaleY=1/t;let n,f=e.width,a=e.height,o=Math.round(f*r),A=Math.round(a*t);n="sliceHack"===this.resizeType?this.sliceByTwo(i,f,a,o,A):"hermite"===this.resizeType?this.hermiteFastResize(i,f,a,o,A):"bilinear"===this.resizeType?this.bilinearFiltering(i,f,a,o,A):"lanczos"===this.resizeType?this.lanczosResize(i,f,a,o,A):new ImageData(o,A),i.imageData=n}sliceByTwo(i,e,r,t,n){let f=i.imageData,a=.5,o=!1,A=!1,s=e*a,l=r*a,k=i.filterBackend.resources,h=0,u=0,c=e,d=0;k.sliceByTwo||(k.sliceByTwo=Ki());let b=k.sliceByTwo;(b.width<1.5*e||b.height<r)&&(b.width=1.5*e,b.height=r);let p=b.getContext("2d");for(p.clearRect(0,0,1.5*e,r),p.putImageData(f,0,0),t=Math.floor(t),n=Math.floor(n);!o||!A;)e=s,r=l,t<Math.floor(s*a)?s=Math.floor(s*a):(s=t,o=!0),n<Math.floor(l*a)?l=Math.floor(l*a):(l=n,A=!0),p.drawImage(b,h,u,e,r,c,d,s,l),h=c,u=d,d+=l;return p.getImageData(h,u,t,n)}lanczosResize(i,e,r,t,n){let f=i.imageData.data,a=i.ctx.createImageData(t,n),o=a.data,A=this.lanczosCreate(this.lanczosLobes),s=this.rcpScaleX,l=this.rcpScaleY,k=2/this.rcpScaleX,h=2/this.rcpScaleY,u=Math.ceil(s*this.lanczosLobes/2),c=Math.ceil(l*this.lanczosLobes/2),d={},b={x:0,y:0},p={x:0,y:0};return function i(g){let m,v,w,_,y,C,B,x,Z,I,W;for(b.x=(g+.5)*s,p.x=Math.floor(b.x),m=0;m<n;m++){for(b.y=(m+.5)*l,p.y=Math.floor(b.y),y=0,C=0,B=0,x=0,Z=0,v=p.x-u;v<=p.x+u;v++)if(!(v<0||v>=e)){I=Math.floor(1e3*Math.abs(v-b.x)),d[I]||(d[I]={});for(let i=p.y-c;i<=p.y+c;i++)i<0||i>=r||(W=Math.floor(1e3*Math.abs(i-b.y)),d[I][W]||(d[I][W]=A(Math.sqrt(Math.pow(I*k,2)+Math.pow(W*h,2))/1e3)),w=d[I][W],w>0&&(_=4*(i*e+v),y+=w,C+=w*f[_],B+=w*f[_+1],x+=w*f[_+2],Z+=w*f[_+3]))}_=4*(m*t+g),o[_]=C/y,o[_+1]=B/y,o[_+2]=x/y,o[_+3]=Z/y}return++g<t?i(g):a}(0)}bilinearFiltering(i,e,r,t,n){let f,a,o,A,s,l,k,h,u,c,d,b,p,g=0,m=this.rcpScaleX,v=this.rcpScaleY,w=4*(e-1),_=i.imageData.data,y=i.ctx.createImageData(t,n),C=y.data;for(k=0;k<n;k++)for(h=0;h<t;h++)for(s=Math.floor(m*h),l=Math.floor(v*k),u=m*h-s,c=v*k-l,p=4*(l*e+s),d=0;d<4;d++)f=_[p+d],a=_[p+4+d],o=_[p+w+d],A=_[p+w+4+d],b=f*(1-u)*(1-c)+a*u*(1-c)+o*c*(1-u)+A*u*c,C[g++]=b;return y}hermiteFastResize(i,e,r,t,n){let f=this.rcpScaleX,a=this.rcpScaleY,o=Math.ceil(f/2),A=Math.ceil(a/2),s=i.imageData.data,l=i.ctx.createImageData(t,n),k=l.data;for(let i=0;i<n;i++)for(let r=0;r<t;r++){let n=4*(r+i*t),l=0,h=0,u=0,c=0,d=0,b=0,p=0,g=(i+.5)*a;for(let t=Math.floor(i*a);t<(i+1)*a;t++){let i=Math.abs(g-(t+.5))/A,n=(r+.5)*f,a=i*i;for(let i=Math.floor(r*f);i<(r+1)*f;i++){let r=Math.abs(n-(i+.5))/o,f=Math.sqrt(a+r*r);f>1&&f<-1||(l=2*f*f*f-3*f*f+1,l>0&&(r=4*(i+t*e),p+=l*s[r+3],u+=l,s[r+3]<255&&(l=l*s[r+3]/250),c+=l*s[r],d+=l*s[r+1],b+=l*s[r+2],h+=l))}}k[n]=c/h,k[n+1]=d/h,k[n+2]=b/h,k[n+3]=p/u}return l}};R(C2,"type","Resize"),R(C2,"defaults",{resizeType:"hermite",scaleX:1,scaleY:1,lanczosLobes:3}),R(C2,"uniformLocations",["uDelta","uTaps"]),d0.setClass(C2);var B2=class extends li{getFragmentSource(){return"\n precision highp float;\n uniform sampler2D uTexture;\n uniform float uSaturation;\n varying vec2 vTexCoord;\n void main() {\n vec4 color = texture2D(uTexture, vTexCoord);\n float rgMax = max(color.r, color.g);\n float rgbMax = max(rgMax, color.b);\n color.r += rgbMax != color.r ? (rgbMax - color.r) * uSaturation : 0.00;\n color.g += rgbMax != color.g ? (rgbMax - color.g) * uSaturation : 0.00;\n color.b += rgbMax != color.b ? (rgbMax - color.b) * uSaturation : 0.00;\n gl_FragColor = color;\n }\n"}applyTo2d(i){let{imageData:{data:e}}=i,r=-this.saturation;for(let i=0;i<e.length;i+=4){let t=e[i],n=e[i+1],f=e[i+2],a=Math.max(t,n,f);e[i]+=a!==t?(a-t)*r:0,e[i+1]+=a!==n?(a-n)*r:0,e[i+2]+=a!==f?(a-f)*r:0}}sendUniformData(i,e){i.uniform1f(e.uSaturation,-this.saturation)}isNeutralState(){return 0===this.saturation}};R(B2,"type","Saturation"),R(B2,"defaults",{saturation:0}),R(B2,"uniformLocations",["uSaturation"]),d0.setClass(B2);var x2=class extends li{getFragmentSource(){return"\n precision highp float;\n uniform sampler2D uTexture;\n uniform float uVibrance;\n varying vec2 vTexCoord;\n void main() {\n vec4 color = texture2D(uTexture, vTexCoord);\n float max = max(color.r, max(color.g, color.b));\n float avg = (color.r + color.g + color.b) / 3.0;\n float amt = (abs(max - avg) * 2.0) * uVibrance;\n color.r += max != color.r ? (max - color.r) * amt : 0.00;\n color.g += max != color.g ? (max - color.g) * amt : 0.00;\n color.b += max != color.b ? (max - color.b) * amt : 0.00;\n gl_FragColor = color;\n }\n"}applyTo2d(i){let{imageData:{data:e}}=i,r=-this.vibrance;for(let i=0;i<e.length;i+=4){let t=e[i],n=e[i+1],f=e[i+2],a=Math.max(t,n,f),o=(t+n+f)/3,A=2*Math.abs(a-o)/255*r;e[i]+=a!==t?(a-t)*A:0,e[i+1]+=a!==n?(a-n)*A:0,e[i+2]+=a!==f?(a-f)*A:0}}sendUniformData(i,e){i.uniform1f(e.uVibrance,-this.vibrance)}isNeutralState(){return 0===this.vibrance}};R(x2,"type","Vibrance"),R(x2,"defaults",{vibrance:0}),R(x2,"uniformLocations",["uVibrance"]),d0.setClass(x2);var yl=Object.freeze({__proto__:null,BaseFilter:li,BlackWhite:XA,BlendColor:u2,BlendImage:h2,Blur:c2,Brightness:d2,Brownie:ZA,ColorMatrix:Ee,Composed:Vr,Contrast:m2,Convolute:p2,Gamma:g2,Grayscale:b2,HueRotation:$2,Invert:v2,Kodachrome:EA,Noise:w2,Pixelate:_2,Polaroid:WA,RemoveColor:y2,Resize:C2,Saturation:B2,Sepia:SA,Technicolor:FA,Vibrance:x2,Vintage:IA}),ma={"application/prs.cww":["cww"],"application/prs.xsf+xml":["xsf"],"application/vnd.1000minds.decision-model+xml":["1km"],"application/vnd.3gpp.pic-bw-large":["plb"],"application/vnd.3gpp.pic-bw-small":["psb"],"application/vnd.3gpp.pic-bw-var":["pvb"],"application/vnd.3gpp2.tcap":["tcap"],"application/vnd.3m.post-it-notes":["pwn"],"application/vnd.accpac.simply.aso":["aso"],"application/vnd.accpac.simply.imp":["imp"],"application/vnd.acucobol":["acu"],"application/vnd.acucorp":["atc","acutc"],"application/vnd.adobe.air-application-installer-package+zip":["air"],"application/vnd.adobe.formscentral.fcdt":["fcdt"],"application/vnd.adobe.fxp":["fxp","fxpl"],"application/vnd.adobe.xdp+xml":["xdp"],"application/vnd.adobe.xfdf":["*xfdf"],"application/vnd.age":["age"],"application/vnd.ahead.space":["ahead"],"application/vnd.airzip.filesecure.azf":["azf"],"application/vnd.airzip.filesecure.azs":["azs"],"application/vnd.amazon.ebook":["azw"],"application/vnd.americandynamics.acc":["acc"],"application/vnd.amiga.ami":["ami"],"application/vnd.android.package-archive":["apk"],"application/vnd.anser-web-certificate-issue-initiation":["cii"],"application/vnd.anser-web-funds-transfer-initiation":["fti"],"application/vnd.antix.game-component":["atx"],"application/vnd.apple.installer+xml":["mpkg"],"application/vnd.apple.keynote":["key"],"application/vnd.apple.mpegurl":["m3u8"],"application/vnd.apple.numbers":["numbers"],"application/vnd.apple.pages":["pages"],"application/vnd.apple.pkpass":["pkpass"],"application/vnd.aristanetworks.swi":["swi"],"application/vnd.astraea-software.iota":["iota"],"application/vnd.audiograph":["aep"],"application/vnd.balsamiq.bmml+xml":["bmml"],"application/vnd.blueice.multipass":["mpm"],"application/vnd.bmi":["bmi"],"application/vnd.businessobjects":["rep"],"application/vnd.chemdraw+xml":["cdxml"],"application/vnd.chipnuts.karaoke-mmd":["mmd"],"application/vnd.cinderella":["cdy"],"application/vnd.citationstyles.style+xml":["csl"],"application/vnd.claymore":["cla"],"application/vnd.cloanto.rp9":["rp9"],"application/vnd.clonk.c4group":["c4g","c4d","c4f","c4p","c4u"],"application/vnd.cluetrust.cartomobile-config":["c11amc"],"application/vnd.cluetrust.cartomobile-config-pkg":["c11amz"],"application/vnd.commonspace":["csp"],"application/vnd.contact.cmsg":["cdbcmsg"],"application/vnd.cosmocaller":["cmc"],"application/vnd.crick.clicker":["clkx"],"application/vnd.crick.clicker.keyboard":["clkk"],"application/vnd.crick.clicker.palette":["clkp"],"application/vnd.crick.clicker.template":["clkt"],"application/vnd.crick.clicker.wordbank":["clkw"],"application/vnd.criticaltools.wbs+xml":["wbs"],"application/vnd.ctc-posml":["pml"],"application/vnd.cups-ppd":["ppd"],"application/vnd.curl.car":["car"],"application/vnd.curl.pcurl":["pcurl"],"application/vnd.dart":["dart"],"application/vnd.data-vision.rdz":["rdz"],"application/vnd.dbf":["dbf"],"application/vnd.dece.data":["uvf","uvvf","uvd","uvvd"],"application/vnd.dece.ttml+xml":["uvt","uvvt"],"application/vnd.dece.unspecified":["uvx","uvvx"],"application/vnd.dece.zip":["uvz","uvvz"],"application/vnd.denovo.fcselayout-link":["fe_launch"],"application/vnd.dna":["dna"],"application/vnd.dolby.mlp":["mlp"],"application/vnd.dpgraph":["dpg"],"application/vnd.dreamfactory":["dfac"],"application/vnd.ds-keypoint":["kpxx"],"application/vnd.dvb.ait":["ait"],"application/vnd.dvb.service":["svc"],"application/vnd.dynageo":["geo"],"application/vnd.ecowin.chart":["mag"],"application/vnd.enliven":["nml"],"application/vnd.epson.esf":["esf"],"application/vnd.epson.msf":["msf"],"application/vnd.epson.quickanime":["qam"],"application/vnd.epson.salt":["slt"],"application/vnd.epson.ssf":["ssf"],"application/vnd.eszigno3+xml":["es3","et3"],"application/vnd.ezpix-album":["ez2"],"application/vnd.ezpix-package":["ez3"],"application/vnd.fdf":["*fdf"],"application/vnd.fdsn.mseed":["mseed"],"application/vnd.fdsn.seed":["seed","dataless"],"application/vnd.flographit":["gph"],"application/vnd.fluxtime.clip":["ftc"],"application/vnd.framemaker":["fm","frame","maker","book"],"application/vnd.frogans.fnc":["fnc"],"application/vnd.frogans.ltf":["ltf"],"application/vnd.fsc.weblaunch":["fsc"],"application/vnd.fujitsu.oasys":["oas"],"application/vnd.fujitsu.oasys2":["oa2"],"application/vnd.fujitsu.oasys3":["oa3"],"application/vnd.fujitsu.oasysgp":["fg5"],"application/vnd.fujitsu.oasysprs":["bh2"],"application/vnd.fujixerox.ddd":["ddd"],"application/vnd.fujixerox.docuworks":["xdw"],"application/vnd.fujixerox.docuworks.binder":["xbd"],"application/vnd.fuzzysheet":["fzs"],"application/vnd.genomatix.tuxedo":["txd"],"application/vnd.geogebra.file":["ggb"],"application/vnd.geogebra.tool":["ggt"],"application/vnd.geometry-explorer":["gex","gre"],"application/vnd.geonext":["gxt"],"application/vnd.geoplan":["g2w"],"application/vnd.geospace":["g3w"],"application/vnd.gmx":["gmx"],"application/vnd.google-apps.document":["gdoc"],"application/vnd.google-apps.presentation":["gslides"],"application/vnd.google-apps.spreadsheet":["gsheet"],"application/vnd.google-earth.kml+xml":["kml"],"application/vnd.google-earth.kmz":["kmz"],"application/vnd.grafeq":["gqf","gqs"],"application/vnd.groove-account":["gac"],"application/vnd.groove-help":["ghf"],"application/vnd.groove-identity-message":["gim"],"application/vnd.groove-injector":["grv"],"application/vnd.groove-tool-message":["gtm"],"application/vnd.groove-tool-template":["tpl"],"application/vnd.groove-vcard":["vcg"],"application/vnd.hal+xml":["hal"],"application/vnd.handheld-entertainment+xml":["zmm"],"application/vnd.hbci":["hbci"],"application/vnd.hhe.lesson-player":["les"],"application/vnd.hp-hpgl":["hpgl"],"application/vnd.hp-hpid":["hpid"],"application/vnd.hp-hps":["hps"],"application/vnd.hp-jlyt":["jlt"],"application/vnd.hp-pcl":["pcl"],"application/vnd.hp-pclxl":["pclxl"],"application/vnd.hydrostatix.sof-data":["sfd-hdstx"],"application/vnd.ibm.minipay":["mpy"],"application/vnd.ibm.modcap":["afp","listafp","list3820"],"application/vnd.ibm.rights-management":["irm"],"application/vnd.ibm.secure-container":["sc"],"application/vnd.iccprofile":["icc","icm"],"application/vnd.igloader":["igl"],"application/vnd.immervision-ivp":["ivp"],"application/vnd.immervision-ivu":["ivu"],"application/vnd.insors.igm":["igm"],"application/vnd.intercon.formnet":["xpw","xpx"],"application/vnd.intergeo":["i2g"],"application/vnd.intu.qbo":["qbo"],"application/vnd.intu.qfx":["qfx"],"application/vnd.ipunplugged.rcprofile":["rcprofile"],"application/vnd.irepository.package+xml":["irp"],"application/vnd.is-xpr":["xpr"],"application/vnd.isac.fcs":["fcs"],"application/vnd.jam":["jam"],"application/vnd.jcp.javame.midlet-rms":["rms"],"application/vnd.jisp":["jisp"],"application/vnd.joost.joda-archive":["joda"],"application/vnd.kahootz":["ktz","ktr"],"application/vnd.kde.karbon":["karbon"],"application/vnd.kde.kchart":["chrt"],"application/vnd.kde.kformula":["kfo"],"application/vnd.kde.kivio":["flw"],"application/vnd.kde.kontour":["kon"],"application/vnd.kde.kpresenter":["kpr","kpt"],"application/vnd.kde.kspread":["ksp"],"application/vnd.kde.kword":["kwd","kwt"],"application/vnd.kenameaapp":["htke"],"application/vnd.kidspiration":["kia"],"application/vnd.kinar":["kne","knp"],"application/vnd.koan":["skp","skd","skt","skm"],"application/vnd.kodak-descriptor":["sse"],"application/vnd.las.las+xml":["lasxml"],"application/vnd.llamagraphics.life-balance.desktop":["lbd"],"application/vnd.llamagraphics.life-balance.exchange+xml":["lbe"],"application/vnd.lotus-1-2-3":["123"],"application/vnd.lotus-approach":["apr"],"application/vnd.lotus-freelance":["pre"],"application/vnd.lotus-notes":["nsf"],"application/vnd.lotus-organizer":["org"],"application/vnd.lotus-screencam":["scm"],"application/vnd.lotus-wordpro":["lwp"],"application/vnd.macports.portpkg":["portpkg"],"application/vnd.mapbox-vector-tile":["mvt"],"application/vnd.mcd":["mcd"],"application/vnd.medcalcdata":["mc1"],"application/vnd.mediastation.cdkey":["cdkey"],"application/vnd.mfer":["mwf"],"application/vnd.mfmp":["mfm"],"application/vnd.micrografx.flo":["flo"],"application/vnd.micrografx.igx":["igx"],"application/vnd.mif":["mif"],"application/vnd.mobius.daf":["daf"],"application/vnd.mobius.dis":["dis"],"application/vnd.mobius.mbk":["mbk"],"application/vnd.mobius.mqy":["mqy"],"application/vnd.mobius.msl":["msl"],"application/vnd.mobius.plc":["plc"],"application/vnd.mobius.txf":["txf"],"application/vnd.mophun.application":["mpn"],"application/vnd.mophun.certificate":["mpc"],"application/vnd.mozilla.xul+xml":["xul"],"application/vnd.ms-artgalry":["cil"],"application/vnd.ms-cab-compressed":["cab"],"application/vnd.ms-excel":["xls","xlm","xla","xlc","xlt","xlw"],"application/vnd.ms-excel.addin.macroenabled.12":["xlam"],"application/vnd.ms-excel.sheet.binary.macroenabled.12":["xlsb"],"application/vnd.ms-excel.sheet.macroenabled.12":["xlsm"],"application/vnd.ms-excel.template.macroenabled.12":["xltm"],"application/vnd.ms-fontobject":["eot"],"application/vnd.ms-htmlhelp":["chm"],"application/vnd.ms-ims":["ims"],"application/vnd.ms-lrm":["lrm"],"application/vnd.ms-officetheme":["thmx"],"application/vnd.ms-outlook":["msg"],"application/vnd.ms-pki.seccat":["cat"],"application/vnd.ms-pki.stl":["*stl"],"application/vnd.ms-powerpoint":["ppt","pps","pot"],"application/vnd.ms-powerpoint.addin.macroenabled.12":["ppam"],"application/vnd.ms-powerpoint.presentation.macroenabled.12":["pptm"],"application/vnd.ms-powerpoint.slide.macroenabled.12":["sldm"],"application/vnd.ms-powerpoint.slideshow.macroenabled.12":["ppsm"],"application/vnd.ms-powerpoint.template.macroenabled.12":["potm"],"application/vnd.ms-project":["*mpp","mpt"],"application/vnd.ms-word.document.macroenabled.12":["docm"],"application/vnd.ms-word.template.macroenabled.12":["dotm"],"application/vnd.ms-works":["wps","wks","wcm","wdb"],"application/vnd.ms-wpl":["wpl"],"application/vnd.ms-xpsdocument":["xps"],"application/vnd.mseq":["mseq"],"application/vnd.musician":["mus"],"application/vnd.muvee.style":["msty"],"application/vnd.mynfc":["taglet"],"application/vnd.neurolanguage.nlu":["nlu"],"application/vnd.nitf":["ntf","nitf"],"application/vnd.noblenet-directory":["nnd"],"application/vnd.noblenet-sealer":["nns"],"application/vnd.noblenet-web":["nnw"],"application/vnd.nokia.n-gage.ac+xml":["*ac"],"application/vnd.nokia.n-gage.data":["ngdat"],"application/vnd.nokia.n-gage.symbian.install":["n-gage"],"application/vnd.nokia.radio-preset":["rpst"],"application/vnd.nokia.radio-presets":["rpss"],"application/vnd.novadigm.edm":["edm"],"application/vnd.novadigm.edx":["edx"],"application/vnd.novadigm.ext":["ext"],"application/vnd.oasis.opendocument.chart":["odc"],"application/vnd.oasis.opendocument.chart-template":["otc"],"application/vnd.oasis.opendocument.database":["odb"],"application/vnd.oasis.opendocument.formula":["odf"],"application/vnd.oasis.opendocument.formula-template":["odft"],"application/vnd.oasis.opendocument.graphics":["odg"],"application/vnd.oasis.opendocument.graphics-template":["otg"],"application/vnd.oasis.opendocument.image":["odi"],"application/vnd.oasis.opendocument.image-template":["oti"],"application/vnd.oasis.opendocument.presentation":["odp"],"application/vnd.oasis.opendocument.presentation-template":["otp"],"application/vnd.oasis.opendocument.spreadsheet":["ods"],"application/vnd.oasis.opendocument.spreadsheet-template":["ots"],"application/vnd.oasis.opendocument.text":["odt"],"application/vnd.oasis.opendocument.text-master":["odm"],"application/vnd.oasis.opendocument.text-template":["ott"],"application/vnd.oasis.opendocument.text-web":["oth"],"application/vnd.olpc-sugar":["xo"],"application/vnd.oma.dd2+xml":["dd2"],"application/vnd.openblox.game+xml":["obgx"],"application/vnd.openofficeorg.extension":["oxt"],"application/vnd.openstreetmap.data+xml":["osm"],"application/vnd.openxmlformats-officedocument.presentationml.presentation":["pptx"],"application/vnd.openxmlformats-officedocument.presentationml.slide":["sldx"],"application/vnd.openxmlformats-officedocument.presentationml.slideshow":["ppsx"],"application/vnd.openxmlformats-officedocument.presentationml.template":["potx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":["xlsx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.template":["xltx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.document":["docx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.template":["dotx"],"application/vnd.osgeo.mapguide.package":["mgp"],"application/vnd.osgi.dp":["dp"],"application/vnd.osgi.subsystem":["esa"],"application/vnd.palm":["pdb","pqa","oprc"],"application/vnd.pawaafile":["paw"],"application/vnd.pg.format":["str"],"application/vnd.pg.osasli":["ei6"],"application/vnd.picsel":["efif"],"application/vnd.pmi.widget":["wg"],"application/vnd.pocketlearn":["plf"],"application/vnd.powerbuilder6":["pbd"],"application/vnd.previewsystems.box":["box"],"application/vnd.proteus.magazine":["mgz"],"application/vnd.publishare-delta-tree":["qps"],"application/vnd.pvi.ptid1":["ptid"],"application/vnd.pwg-xhtml-print+xml":["xhtm"],"application/vnd.quark.quarkxpress":["qxd","qxt","qwd","qwt","qxl","qxb"],"application/vnd.rar":["rar"],"application/vnd.realvnc.bed":["bed"],"application/vnd.recordare.musicxml":["mxl"],"application/vnd.recordare.musicxml+xml":["musicxml"],"application/vnd.rig.cryptonote":["cryptonote"],"application/vnd.rim.cod":["cod"],"application/vnd.rn-realmedia":["rm"],"application/vnd.rn-realmedia-vbr":["rmvb"],"application/vnd.route66.link66+xml":["link66"],"application/vnd.sailingtracker.track":["st"],"application/vnd.seemail":["see"],"application/vnd.sema":["sema"],"application/vnd.semd":["semd"],"application/vnd.semf":["semf"],"application/vnd.shana.informed.formdata":["ifm"],"application/vnd.shana.informed.formtemplate":["itp"],"application/vnd.shana.informed.interchange":["iif"],"application/vnd.shana.informed.package":["ipk"],"application/vnd.simtech-mindmapper":["twd","twds"],"application/vnd.smaf":["mmf"],"application/vnd.smart.teacher":["teacher"],"application/vnd.software602.filler.form+xml":["fo"],"application/vnd.solent.sdkm+xml":["sdkm","sdkd"],"application/vnd.spotfire.dxp":["dxp"],"application/vnd.spotfire.sfs":["sfs"],"application/vnd.stardivision.calc":["sdc"],"application/vnd.stardivision.draw":["sda"],"application/vnd.stardivision.impress":["sdd"],"application/vnd.stardivision.math":["smf"],"application/vnd.stardivision.writer":["sdw","vor"],"application/vnd.stardivision.writer-global":["sgl"],"application/vnd.stepmania.package":["smzip"],"application/vnd.stepmania.stepchart":["sm"],"application/vnd.sun.wadl+xml":["wadl"],"application/vnd.sun.xml.calc":["sxc"],"application/vnd.sun.xml.calc.template":["stc"],"application/vnd.sun.xml.draw":["sxd"],"application/vnd.sun.xml.draw.template":["std"],"application/vnd.sun.xml.impress":["sxi"],"application/vnd.sun.xml.impress.template":["sti"],"application/vnd.sun.xml.math":["sxm"],"application/vnd.sun.xml.writer":["sxw"],"application/vnd.sun.xml.writer.global":["sxg"],"application/vnd.sun.xml.writer.template":["stw"],"application/vnd.sus-calendar":["sus","susp"],"application/vnd.svd":["svd"],"application/vnd.symbian.install":["sis","sisx"],"application/vnd.syncml+xml":["xsm"],"application/vnd.syncml.dm+wbxml":["bdm"],"application/vnd.syncml.dm+xml":["xdm"],"application/vnd.syncml.dmddf+xml":["ddf"],"application/vnd.tao.intent-module-archive":["tao"],"application/vnd.tcpdump.pcap":["pcap","cap","dmp"],"application/vnd.tmobile-livetv":["tmo"],"application/vnd.trid.tpt":["tpt"],"application/vnd.triscape.mxs":["mxs"],"application/vnd.trueapp":["tra"],"application/vnd.ufdl":["ufd","ufdl"],"application/vnd.uiq.theme":["utz"],"application/vnd.umajin":["umj"],"application/vnd.unity":["unityweb"],"application/vnd.uoml+xml":["uoml","uo"],"application/vnd.vcx":["vcx"],"application/vnd.visio":["vsd","vst","vss","vsw"],"application/vnd.visionary":["vis"],"application/vnd.vsf":["vsf"],"application/vnd.wap.wbxml":["wbxml"],"application/vnd.wap.wmlc":["wmlc"],"application/vnd.wap.wmlscriptc":["wmlsc"],"application/vnd.webturbo":["wtb"],"application/vnd.wolfram.player":["nbp"],"application/vnd.wordperfect":["wpd"],"application/vnd.wqd":["wqd"],"application/vnd.wt.stf":["stf"],"application/vnd.xara":["xar"],"application/vnd.xfdl":["xfdl"],"application/vnd.yamaha.hv-dic":["hvd"],"application/vnd.yamaha.hv-script":["hvs"],"application/vnd.yamaha.hv-voice":["hvp"],"application/vnd.yamaha.openscoreformat":["osf"],"application/vnd.yamaha.openscoreformat.osfpvg+xml":["osfpvg"],"application/vnd.yamaha.smaf-audio":["saf"],"application/vnd.yamaha.smaf-phrase":["spf"],"application/vnd.yellowriver-custom-menu":["cmp"],"application/vnd.zul":["zir","zirz"],"application/vnd.zzazz.deck+xml":["zaz"],"application/x-7z-compressed":["7z"],"application/x-abiword":["abw"],"application/x-ace-compressed":["ace"],"application/x-apple-diskimage":["*dmg"],"application/x-arj":["arj"],"application/x-authorware-bin":["aab","x32","u32","vox"],"application/x-authorware-map":["aam"],"application/x-authorware-seg":["aas"],"application/x-bcpio":["bcpio"],"application/x-bdoc":["*bdoc"],"application/x-bittorrent":["torrent"],"application/x-blorb":["blb","blorb"],"application/x-bzip":["bz"],"application/x-bzip2":["bz2","boz"],"application/x-cbr":["cbr","cba","cbt","cbz","cb7"],"application/x-cdlink":["vcd"],"application/x-cfs-compressed":["cfs"],"application/x-chat":["chat"],"application/x-chess-pgn":["pgn"],"application/x-chrome-extension":["crx"],"application/x-cocoa":["cco"],"application/x-conference":["nsc"],"application/x-cpio":["cpio"],"application/x-csh":["csh"],"application/x-debian-package":["*deb","udeb"],"application/x-dgc-compressed":["dgc"],"application/x-director":["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"],"application/x-doom":["wad"],"application/x-dtbncx+xml":["ncx"],"application/x-dtbook+xml":["dtb"],"application/x-dtbresource+xml":["res"],"application/x-dvi":["dvi"],"application/x-envoy":["evy"],"application/x-eva":["eva"],"application/x-font-bdf":["bdf"],"application/x-font-ghostscript":["gsf"],"application/x-font-linux-psf":["psf"],"application/x-font-pcf":["pcf"],"application/x-font-snf":["snf"],"application/x-font-type1":["pfa","pfb","pfm","afm"],"application/x-freearc":["arc"],"application/x-futuresplash":["spl"],"application/x-gca-compressed":["gca"],"application/x-glulx":["ulx"],"application/x-gnumeric":["gnumeric"],"application/x-gramps-xml":["gramps"],"application/x-gtar":["gtar"],"application/x-hdf":["hdf"],"application/x-httpd-php":["php"],"application/x-install-instructions":["install"],"application/x-iso9660-image":["*iso"],"application/x-iwork-keynote-sffkey":["*key"],"application/x-iwork-numbers-sffnumbers":["*numbers"],"application/x-iwork-pages-sffpages":["*pages"],"application/x-java-archive-diff":["jardiff"],"application/x-java-jnlp-file":["jnlp"],"application/x-keepass2":["kdbx"],"application/x-latex":["latex"],"application/x-lua-bytecode":["luac"],"application/x-lzh-compressed":["lzh","lha"],"application/x-makeself":["run"],"application/x-mie":["mie"],"application/x-mobipocket-ebook":["*prc","mobi"],"application/x-ms-application":["application"],"application/x-ms-shortcut":["lnk"],"application/x-ms-wmd":["wmd"],"application/x-ms-wmz":["wmz"],"application/x-ms-xbap":["xbap"],"application/x-msaccess":["mdb"],"application/x-msbinder":["obd"],"application/x-mscardfile":["crd"],"application/x-msclip":["clp"],"application/x-msdos-program":["*exe"],"application/x-msdownload":["*exe","*dll","com","bat","*msi"],"application/x-msmediaview":["mvb","m13","m14"],"application/x-msmetafile":["*wmf","*wmz","*emf","emz"],"application/x-msmoney":["mny"],"application/x-mspublisher":["pub"],"application/x-msschedule":["scd"],"application/x-msterminal":["trm"],"application/x-mswrite":["wri"],"application/x-netcdf":["nc","cdf"],"application/x-ns-proxy-autoconfig":["pac"],"application/x-nzb":["nzb"],"application/x-perl":["pl","pm"],"application/x-pilot":["*prc","*pdb"],"application/x-pkcs12":["p12","pfx"],"application/x-pkcs7-certificates":["p7b","spc"],"application/x-pkcs7-certreqresp":["p7r"],"application/x-rar-compressed":["*rar"],"application/x-redhat-package-manager":["rpm"],"application/x-research-info-systems":["ris"],"application/x-sea":["sea"],"application/x-sh":["sh"],"application/x-shar":["shar"],"application/x-shockwave-flash":["swf"],"application/x-silverlight-app":["xap"],"application/x-sql":["*sql"],"application/x-stuffit":["sit"],"application/x-stuffitx":["sitx"],"application/x-subrip":["srt"],"application/x-sv4cpio":["sv4cpio"],"application/x-sv4crc":["sv4crc"],"application/x-t3vm-image":["t3"],"application/x-tads":["gam"],"application/x-tar":["tar"],"application/x-tcl":["tcl","tk"],"application/x-tex":["tex"],"application/x-tex-tfm":["tfm"],"application/x-texinfo":["texinfo","texi"],"application/x-tgif":["*obj"],"application/x-ustar":["ustar"],"application/x-virtualbox-hdd":["hdd"],"application/x-virtualbox-ova":["ova"],"application/x-virtualbox-ovf":["ovf"],"application/x-virtualbox-vbox":["vbox"],"application/x-virtualbox-vbox-extpack":["vbox-extpack"],"application/x-virtualbox-vdi":["vdi"],"application/x-virtualbox-vhd":["vhd"],"application/x-virtualbox-vmdk":["vmdk"],"application/x-wais-source":["src"],"application/x-web-app-manifest+json":["webapp"],"application/x-x509-ca-cert":["der","crt","pem"],"application/x-xfig":["fig"],"application/x-xliff+xml":["*xlf"],"application/x-xpinstall":["xpi"],"application/x-xz":["xz"],"application/x-zmachine":["z1","z2","z3","z4","z5","z6","z7","z8"],"audio/vnd.dece.audio":["uva","uvva"],"audio/vnd.digital-winds":["eol"],"audio/vnd.dra":["dra"],"audio/vnd.dts":["dts"],"audio/vnd.dts.hd":["dtshd"],"audio/vnd.lucent.voice":["lvp"],"audio/vnd.ms-playready.media.pya":["pya"],"audio/vnd.nuera.ecelp4800":["ecelp4800"],"audio/vnd.nuera.ecelp7470":["ecelp7470"],"audio/vnd.nuera.ecelp9600":["ecelp9600"],"audio/vnd.rip":["rip"],"audio/x-aac":["*aac"],"audio/x-aiff":["aif","aiff","aifc"],"audio/x-caf":["caf"],"audio/x-flac":["flac"],"audio/x-m4a":["*m4a"],"audio/x-matroska":["mka"],"audio/x-mpegurl":["m3u"],"audio/x-ms-wax":["wax"],"audio/x-ms-wma":["wma"],"audio/x-pn-realaudio":["ram","ra"],"audio/x-pn-realaudio-plugin":["rmp"],"audio/x-realaudio":["*ra"],"audio/x-wav":["*wav"],"chemical/x-cdx":["cdx"],"chemical/x-cif":["cif"],"chemical/x-cmdf":["cmdf"],"chemical/x-cml":["cml"],"chemical/x-csml":["csml"],"chemical/x-xyz":["xyz"],"image/prs.btif":["btif","btf"],"image/prs.pti":["pti"],"image/vnd.adobe.photoshop":["psd"],"image/vnd.airzip.accelerator.azv":["azv"],"image/vnd.dece.graphic":["uvi","uvvi","uvg","uvvg"],"image/vnd.djvu":["djvu","djv"],"image/vnd.dvb.subtitle":["*sub"],"image/vnd.dwg":["dwg"],"image/vnd.dxf":["dxf"],"image/vnd.fastbidsheet":["fbs"],"image/vnd.fpx":["fpx"],"image/vnd.fst":["fst"],"image/vnd.fujixerox.edmics-mmr":["mmr"],"image/vnd.fujixerox.edmics-rlc":["rlc"],"image/vnd.microsoft.icon":["ico"],"image/vnd.ms-dds":["dds"],"image/vnd.ms-modi":["mdi"],"image/vnd.ms-photo":["wdp"],"image/vnd.net-fpx":["npx"],"image/vnd.pco.b16":["b16"],"image/vnd.tencent.tap":["tap"],"image/vnd.valve.source.texture":["vtf"],"image/vnd.wap.wbmp":["wbmp"],"image/vnd.xiff":["xif"],"image/vnd.zbrush.pcx":["pcx"],"image/x-3ds":["3ds"],"image/x-cmu-raster":["ras"],"image/x-cmx":["cmx"],"image/x-freehand":["fh","fhc","fh4","fh5","fh7"],"image/x-icon":["*ico"],"image/x-jng":["jng"],"image/x-mrsid-image":["sid"],"image/x-ms-bmp":["*bmp"],"image/x-pcx":["*pcx"],"image/x-pict":["pic","pct"],"image/x-portable-anymap":["pnm"],"image/x-portable-bitmap":["pbm"],"image/x-portable-graymap":["pgm"],"image/x-portable-pixmap":["ppm"],"image/x-rgb":["rgb"],"image/x-tga":["tga"],"image/x-xbitmap":["xbm"],"image/x-xpixmap":["xpm"],"image/x-xwindowdump":["xwd"],"message/vnd.wfa.wsc":["wsc"],"model/vnd.cld":["cld"],"model/vnd.collada+xml":["dae"],"model/vnd.dwf":["dwf"],"model/vnd.gdl":["gdl"],"model/vnd.gtw":["gtw"],"model/vnd.mts":["mts"],"model/vnd.opengex":["ogex"],"model/vnd.parasolid.transmit.binary":["x_b"],"model/vnd.parasolid.transmit.text":["x_t"],"model/vnd.pytha.pyox":["pyo","pyox"],"model/vnd.sap.vds":["vds"],"model/vnd.usda":["usda"],"model/vnd.usdz+zip":["usdz"],"model/vnd.valve.source.compiled-map":["bsp"],"model/vnd.vtu":["vtu"],"text/prs.lines.tag":["dsc"],"text/vnd.curl":["curl"],"text/vnd.curl.dcurl":["dcurl"],"text/vnd.curl.mcurl":["mcurl"],"text/vnd.curl.scurl":["scurl"],"text/vnd.dvb.subtitle":["sub"],"text/vnd.familysearch.gedcom":["ged"],"text/vnd.fly":["fly"],"text/vnd.fmi.flexstor":["flx"],"text/vnd.graphviz":["gv"],"text/vnd.in3d.3dml":["3dml"],"text/vnd.in3d.spot":["spot"],"text/vnd.sun.j2me.app-descriptor":["jad"],"text/vnd.wap.wml":["wml"],"text/vnd.wap.wmlscript":["wmls"],"text/x-asm":["s","asm"],"text/x-c":["c","cc","cxx","cpp","h","hh","dic"],"text/x-component":["htc"],"text/x-fortran":["f","for","f77","f90"],"text/x-handlebars-template":["hbs"],"text/x-java-source":["java"],"text/x-lua":["lua"],"text/x-markdown":["mkd"],"text/x-nfo":["nfo"],"text/x-opml":["opml"],"text/x-org":["*org"],"text/x-pascal":["p","pas"],"text/x-processing":["pde"],"text/x-sass":["sass"],"text/x-scss":["scss"],"text/x-setext":["etx"],"text/x-sfv":["sfv"],"text/x-suse-ymp":["ymp"],"text/x-uuencode":["uu"],"text/x-vcalendar":["vcs"],"text/x-vcard":["vcf"],"video/vnd.dece.hd":["uvh","uvvh"],"video/vnd.dece.mobile":["uvm","uvvm"],"video/vnd.dece.pd":["uvp","uvvp"],"video/vnd.dece.sd":["uvs","uvvs"],"video/vnd.dece.video":["uvv","uvvv"],"video/vnd.dvb.file":["dvb"],"video/vnd.fvt":["fvt"],"video/vnd.mpegurl":["mxu","m4u"],"video/vnd.ms-playready.media.pyv":["pyv"],"video/vnd.uvvu.mp4":["uvu","uvvu"],"video/vnd.vivo":["viv"],"video/x-f4v":["f4v"],"video/x-fli":["fli"],"video/x-flv":["flv"],"video/x-m4v":["m4v"],"video/x-matroska":["mkv","mk3d","mks"],"video/x-mng":["mng"],"video/x-ms-asf":["asf","asx"],"video/x-ms-vob":["vob"],"video/x-ms-wm":["wm"],"video/x-ms-wmv":["wmv"],"video/x-ms-wmx":["wmx"],"video/x-ms-wvx":["wvx"],"video/x-msvideo":["avi"],"video/x-sgi-movie":["movie"],"video/x-smv":["smv"],"x-conference/x-cooltalk":["ice"]};Object.freeze(ma);var MA=ma,pa={"application/andrew-inset":["ez"],"application/appinstaller":["appinstaller"],"application/applixware":["aw"],"application/appx":["appx"],"application/appxbundle":["appxbundle"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomdeleted+xml":["atomdeleted"],"application/atomsvc+xml":["atomsvc"],"application/atsc-dwd+xml":["dwd"],"application/atsc-held+xml":["held"],"application/atsc-rsat+xml":["rsat"],"application/automationml-aml+xml":["aml"],"application/automationml-amlx+zip":["amlx"],"application/bdoc":["bdoc"],"application/calendar+xml":["xcs"],"application/ccxml+xml":["ccxml"],"application/cdfx+xml":["cdfx"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cpl+xml":["cpl"],"application/cu-seeme":["cu"],"application/cwl":["cwl"],"application/dash+xml":["mpd"],"application/dash-patch+xml":["mpp"],"application/davmount+xml":["davmount"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["ecma"],"application/emma+xml":["emma"],"application/emotionml+xml":["emotionml"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/express":["exp"],"application/fdf":["fdf"],"application/fdt+xml":["fdt"],"application/font-tdpfr":["pfr"],"application/geo+json":["geojson"],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/gzip":["gz"],"application/hjson":["hjson"],"application/hyperstudio":["stk"],"application/inkml+xml":["ink","inkml"],"application/ipfix":["ipfix"],"application/its+xml":["its"],"application/java-archive":["jar","war","ear"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["*js"],"application/json":["json","map"],"application/json5":["json5"],"application/jsonml+json":["jsonml"],"application/ld+json":["jsonld"],"application/lgr+xml":["lgr"],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/mads+xml":["mads"],"application/manifest+json":["webmanifest"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml+xml":["mathml"],"application/mbox":["mbox"],"application/media-policy-dataset+xml":["mpf"],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mmt-aei+xml":["maei"],"application/mmt-usd+xml":["musd"],"application/mods+xml":["mods"],"application/mp21":["m21","mp21"],"application/mp4":["*mp4","*mpg4","mp4s","m4p"],"application/msix":["msix"],"application/msixbundle":["msixbundle"],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/n-quads":["nq"],"application/n-triples":["nt"],"application/node":["cjs"],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg"],"application/oxps":["oxps"],"application/p2p-overlay+xml":["relo"],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-keys":["asc"],"application/pgp-signature":["sig","*asc"],"application/pics-rules":["prf"],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/postscript":["ai","eps","ps"],"application/provenance+xml":["provx"],"application/pskc+xml":["pskcxml"],"application/raml+yaml":["raml"],"application/rdf+xml":["rdf","owl"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/rls-services+xml":["rs"],"application/route-apd+xml":["rapd"],"application/route-s-tsid+xml":["sls"],"application/route-usd+xml":["rusd"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/senml+xml":["senmlx"],"application/sensml+xml":["sensmlx"],"application/set-payment-initiation":["setpay"],"application/set-registration-initiation":["setreg"],"application/shf+xml":["shf"],"application/sieve":["siv","sieve"],"application/smil+xml":["smi","smil"],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/sql":["sql"],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/swid+xml":["swidtag"],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamped-data":["tsd"],"application/toml":["toml"],"application/trig":["trig"],"application/ttml+xml":["ttml"],"application/ubjson":["ubj"],"application/urc-ressheet+xml":["rsheet"],"application/urc-targetdesc+xml":["td"],"application/voicexml+xml":["vxml"],"application/wasm":["wasm"],"application/watcherinfo+xml":["wif"],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/xaml+xml":["xaml"],"application/xcap-att+xml":["xav"],"application/xcap-caps+xml":["xca"],"application/xcap-diff+xml":["xdf"],"application/xcap-el+xml":["xel"],"application/xcap-ns+xml":["xns"],"application/xenc+xml":["xenc"],"application/xfdf":["xfdf"],"application/xhtml+xml":["xhtml","xht"],"application/xliff+xml":["xlf"],"application/xml":["xml","xsl","xsd","rng"],"application/xml-dtd":["dtd"],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["*xsl","xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"audio/3gpp":["*3gpp"],"audio/aac":["adts","aac"],"audio/adpcm":["adp"],"audio/amr":["amr"],"audio/basic":["au","snd"],"audio/midi":["mid","midi","kar","rmi"],"audio/mobile-xmf":["mxmf"],"audio/mp3":["*mp3"],"audio/mp4":["m4a","mp4a"],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/ogg":["oga","ogg","spx","opus"],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/wav":["wav"],"audio/wave":["*wav"],"audio/webm":["weba"],"audio/xm":["xm"],"font/collection":["ttc"],"font/otf":["otf"],"font/ttf":["ttf"],"font/woff":["woff"],"font/woff2":["woff2"],"image/aces":["exr"],"image/apng":["apng"],"image/avci":["avci"],"image/avcs":["avcs"],"image/avif":["avif"],"image/bmp":["bmp","dib"],"image/cgm":["cgm"],"image/dicom-rle":["drle"],"image/dpx":["dpx"],"image/emf":["emf"],"image/fits":["fits"],"image/g3fax":["g3"],"image/gif":["gif"],"image/heic":["heic"],"image/heic-sequence":["heics"],"image/heif":["heif"],"image/heif-sequence":["heifs"],"image/hej2k":["hej2"],"image/hsj2":["hsj2"],"image/ief":["ief"],"image/jls":["jls"],"image/jp2":["jp2","jpg2"],"image/jpeg":["jpeg","jpg","jpe"],"image/jph":["jph"],"image/jphc":["jhc"],"image/jpm":["jpm","jpgm"],"image/jpx":["jpx","jpf"],"image/jxr":["jxr"],"image/jxra":["jxra"],"image/jxrs":["jxrs"],"image/jxs":["jxs"],"image/jxsc":["jxsc"],"image/jxsi":["jxsi"],"image/jxss":["jxss"],"image/ktx":["ktx"],"image/ktx2":["ktx2"],"image/png":["png"],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/t38":["t38"],"image/tiff":["tif","tiff"],"image/tiff-fx":["tfx"],"image/webp":["webp"],"image/wmf":["wmf"],"message/disposition-notification":["disposition-notification"],"message/global":["u8msg"],"message/global-delivery-status":["u8dsn"],"message/global-disposition-notification":["u8mdn"],"message/global-headers":["u8hdr"],"message/rfc822":["eml","mime"],"model/3mf":["3mf"],"model/gltf+json":["gltf"],"model/gltf-binary":["glb"],"model/iges":["igs","iges"],"model/jt":["jt"],"model/mesh":["msh","mesh","silo"],"model/mtl":["mtl"],"model/obj":["obj"],"model/prc":["prc"],"model/step+xml":["stpx"],"model/step+zip":["stpz"],"model/step-xml+zip":["stpxz"],"model/stl":["stl"],"model/u3d":["u3d"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["*x3db","x3dbz"],"model/x3d+fastinfoset":["x3db"],"model/x3d+vrml":["*x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"model/x3d-vrml":["x3dv"],"text/cache-manifest":["appcache","manifest"],"text/calendar":["ics","ifb"],"text/coffeescript":["coffee","litcoffee"],"text/css":["css"],"text/csv":["csv"],"text/html":["html","htm","shtml"],"text/jade":["jade"],"text/javascript":["js","mjs"],"text/jsx":["jsx"],"text/less":["less"],"text/markdown":["md","markdown"],"text/mathml":["mml"],"text/mdx":["mdx"],"text/n3":["n3"],"text/plain":["txt","text","conf","def","list","log","in","ini"],"text/richtext":["rtx"],"text/rtf":["*rtf"],"text/sgml":["sgml","sgm"],"text/shex":["shex"],"text/slim":["slim","slm"],"text/spdx":["spdx"],"text/stylus":["stylus","styl"],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vtt":["vtt"],"text/wgsl":["wgsl"],"text/xml":["*xml"],"text/yaml":["yaml","yml"],"video/3gpp":["3gp","3gpp"],"video/3gpp2":["3g2"],"video/h261":["h261"],"video/h263":["h263"],"video/h264":["h264"],"video/iso.segment":["m4s"],"video/jpeg":["jpgv"],"video/jpm":["*jpm","*jpgm"],"video/mj2":["mj2","mjp2"],"video/mp2t":["ts"],"video/mp4":["mp4","mp4v","mpg4"],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/ogg":["ogv"],"video/quicktime":["qt","mov"],"video/webm":["webm"]};Object.freeze(pa);var Ar,Tr,G2,TA=pa,ie=function(i,e,r,t){if("a"===r&&!t)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?i!==e||!t:!e.has(i))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?t:"a"===r?t.call(i):t?t.value:e.get(i)},RA=class{constructor(...i){Ar.set(this,new Map),Tr.set(this,new Map),G2.set(this,new Map);for(let e of i)this.define(e)}define(i,e=!1){for(let[r,t]of Object.entries(i)){r=r.toLowerCase(),t=t.map(i=>i.toLowerCase()),ie(this,G2,"f").has(r)||ie(this,G2,"f").set(r,new Set);let i=ie(this,G2,"f").get(r),n=!0;for(let f of t){let t=f.startsWith("*");if(f=t?f.slice(1):f,i?.add(f),n&&ie(this,Tr,"f").set(r,f),n=!1,t)continue;let a=ie(this,Ar,"f").get(f);if(a&&a!=r&&!e)throw new Error(`"${r} -> ${f}" conflicts with "${a} -> ${f}". Pass \`force=true\` to override this definition.`);ie(this,Ar,"f").set(f,r)}}return this}getType(i){if("string"!=typeof i)return null;let e=i.replace(/^.*[/\\]/,"").toLowerCase(),r=e.replace(/^.*\./,"").toLowerCase(),t=e.length<i.length;return r.length<e.length-1||!t?ie(this,Ar,"f").get(r)??null:null}getExtension(i){return"string"!=typeof i?null:(i=i?.split?.(";")[0],(i&&ie(this,Tr,"f").get(i.trim().toLowerCase()))??null)}getAllExtensions(i){return"string"!=typeof i?null:ie(this,G2,"f").get(i.toLowerCase())??null}_freeze(){this.define=()=>{throw new Error("define() not allowed for built-in Mime objects. See https://github.com/broofa/mime/blob/main/README.md#custom-mime-instances")},Object.freeze(this);for(let i of ie(this,G2,"f").values())Object.freeze(i);return this}_getTestState(){return{types:ie(this,Ar,"f"),extensions:ie(this,Tr,"f")}}};Ar=new WeakMap,Tr=new WeakMap,G2=new WeakMap;var PA=RA,ga=new PA(TA,MA)._freeze(),An=class extends T0.Modal{constructor(i,e,r){super(i),this.plugin=e,this.file=r,this.setupModal(),this.setupEventHandlers()}componentContainer=new T0.Component;currentTool=0;canvas;drawButton=void 0;textButton;arrowButton;resizeHandle=null;backgroundDropdown=null;textBackgroundControls=null;isDrawingMode=!1;isTextMode=!1;isArrowMode=!1;isTextEditingBlocked=!1;_previousStates=null;isResizing=!1;isPanning=!1;isSpacebarDown=!1;isUndoRedoAction=!1;preserveObjectStacking=!0;brushSizes=[2,4,8,12,16,24];brushOpacities=[.2,.4,.6,.8,.9,1];currentBrushSizeIndex=2;currentOpacityIndex=5;currentBlendMode="source-over";currentBackground="transparent";minWidth=400;minHeight=300;minZoom=.1;maxZoom=10;currentZoom=1;boundKeyDownHandler;boundKeyUpHandler;lastPanPoint=null;undoStack=[];redoStack=[];blendModes=["source-over","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion"];backgroundOptions=["transparent","#ffffff","#000000","grid","dots"];dominantColors=[];complementaryColors=[];setupModal(){this.componentContainer.load(),this.modalEl.addClass("image-converter-annotation-tool-image-annotation-modal"),this.setupCloseButton()}setupEventHandlers(){this.boundKeyDownHandler=this.handleKeyDown.bind(this),this.boundKeyUpHandler=this.handleKeyUp.bind(this),this.scope=new T0.Scope,this.registerShortcuts(),this.preventDefaultHandlers()}setupCloseButton(){let i=this.modalEl.querySelector(".modal-close-button");i&&this.componentContainer.registerDomEvent(i,"click",i=>{i.stopPropagation(),this.close()})}registerShortcuts(){this.scope.register([],"Escape",i=>{i.preventDefault(),i.stopPropagation();let e=this.canvas?.getActiveObject();return e instanceof M0&&e.isEditing&&e.exitEditing(),!1})}async onOpen(){let{contentEl:i}=this;i.style.padding="0",i.style.overflow="hidden";let e=i.createDiv("image-converter-annotation-tool-modal-container");this.setupResizable(),this.setupToolbar(e);let r=e.createDiv("image-converter-annotation-tool-canvas-container").createEl("canvas");try{let i=await this.app.vault.readBinary(this.file),e=new Blob([i]),t=URL.createObjectURL(e),n=new Image;n.onload=()=>{this.undoStack=[JSON.stringify([])],this.redoStack=[];let i=.9*window.innerWidth-80,e=.9*window.innerHeight-80-60;this.canvas=new rr(r,{width:i,height:e,backgroundColor:"transparent",isDrawingMode:!1,preserveObjectStacking:this.preserveObjectStacking});let f=.8*Math.min(i/n.width,e/n.height),a=new hi(n,{selectable:!1,evented:!1,scaleX:f,scaleY:f,objectCaching:!0,opacity:1,erasable:!1,crossOrigin:"anonymous",strokeWidth:0});this.canvas.add(a),this.centerFabricImage(a),this.modalEl.style.width=`${i+80}px`,this.modalEl.style.height=`${e+80+60}px`,this.analyzeImageColors(n),this.setupZoomAndPan(),this.initializeUndoRedo(),this.initializeCanvasEventHandlers(),this.componentContainer.registerDomEvent(this.modalEl,"mousedown",i=>{i.target===this.modalEl&&(i.preventDefault(),i.stopPropagation())}),this.componentContainer.registerDomEvent(this.modalEl,"keydown",i=>{i.preventDefault(),i.stopPropagation()},!0),this.componentContainer.registerDomEvent(this.modalEl,"keyup",i=>{i.preventDefault(),i.stopPropagation()},!0),this.setupSelectionEvents(),URL.revokeObjectURL(t),this.canvas.renderAll()},n.src=t}catch(i){return console.error("Error loading image:",i),void new T0.Notice("Error loading image")}}centerFabricImage(i){if(!this.canvas)return;let e=this.canvas.width??0,r=this.canvas.height??0,t=i.width??0,n=i.height??0,f=(e-t*(i.scaleX??1))/2,a=(r-n*(i.scaleY??1))/2;i.set({left:f,top:a})}updateDrawingModeUI(i){this.isDrawingMode=i,this.canvas.isDrawingMode=i,this.updateObjectInteractivity(),this.drawButton&&(i?this.drawButton.buttonEl.addClass("is-active"):this.drawButton.buttonEl.removeClass("is-active")),this.canvas.requestRenderAll()}updateObjectInteractivity(){this.canvas&&(this.canvas.forEachObject(i=>{i instanceof hi?(i.selectable=!1,i.evented=!1):i instanceof M0?this.isDrawingMode?(i.selectable=!1,i.evented=!1,i.editable=!1):(i.selectable=!0,i.evented=!0,i.editable=!0):this.isTextMode?(i.selectable=!1,i.evented=!1):(i.selectable=!this.isDrawingMode,i.evented=!this.isDrawingMode)}),this.canvas.selection=!this.isDrawingMode&&!this.isTextMode,this.canvas.requestRenderAll())}createColorSwatches(){let i=this.modalEl.querySelector(".image-converter-annotation-tool-color-picker-wrapper");if(!i)return;let e=i=>{let e=this.modalEl.querySelector(".color-picker");if(e&&(e.value=i,this.updateBrushColor(),this.canvas)){let e=this.canvas.getActiveObject();e&&("activeselection"===e.type?e.getObjects().forEach(e=>{e instanceof M0?e.set("fill",i):e.set("stroke",this.hexToRgba(i,this.brushOpacities[this.currentOpacityIndex]))}):e instanceof M0?e.set("fill",i):e.set("stroke",this.hexToRgba(i,this.brushOpacities[this.currentOpacityIndex])),this.canvas.requestRenderAll())}},r=i.querySelector(".image-converter-annotation-tool-color-swatches");r&&r.remove();let t=i.createDiv("image-converter-annotation-tool-color-swatches"),n=t.createDiv("image-converter-annotation-tool-color-row");n.createSpan("image-converter-annotation-tool-row-label").setText("Grayscale:");let f=n.createDiv("image-converter-annotation-tool-swatches-container");["#000000","#ffffff","#d1d3d4","#a7a9acCC","#808285","#58595b"].forEach(i=>{let r=f.createDiv("color-swatch preset");r.style.backgroundColor=i,r.setAttribute("title",i),this.componentContainer.registerDomEvent(r,"click",()=>e(i))});let a=t.createDiv("image-converter-annotation-tool-color-row");a.createSpan("image-converter-annotation-tool-row-label").setText("Palette:");let o=a.createDiv("image-converter-annotation-tool-swatches-container");["#ff80ff","#ffc680","#ffff80","#80ff9e","#80d6ff","#bcb3ff"].forEach(i=>{let r=o.createDiv("color-swatch preset");r.style.backgroundColor=i,r.setAttribute("title",i),this.componentContainer.registerDomEvent(r,"click",()=>e(i))});let A=this.dominantColors.map((i,e)=>({dominant:i,complementary:this.complementaryColors[e][0],luminosity:this.getLuminosity(i)})).sort((i,e)=>i.luminosity-e.luminosity),s=t.createDiv("image-converter-annotation-tool-color-row");s.createSpan("image-converter-annotation-tool-row-label").setText("Dominant:");let l=s.createDiv("image-converter-annotation-tool-swatches-container");A.forEach(i=>{let r=l.createDiv("color-swatch dominant");r.style.backgroundColor=i.dominant,r.setAttribute("title",i.dominant),this.componentContainer.registerDomEvent(r,"click",()=>e(i.dominant))});let k=t.createDiv("image-converter-annotation-tool-color-row");k.createSpan("image-converter-annotation-tool-row-label").setText("180:");let h=k.createDiv("image-converter-annotation-tool-swatches-container");A.forEach(i=>{let r=h.createDiv("color-swatch complementary");r.style.backgroundColor=i.complementary,r.setAttribute("title",i.complementary),this.componentContainer.registerDomEvent(r,"click",()=>{let r=this.hslToRgb(i.complementary),t=this.rgbToHex(r.red,r.green,r.blue);e(t)})}),this.createPresetButtons(t)}updateBrushColor(){if(!this.canvas?.freeDrawingBrush)return;let i=this.modalEl.querySelector(".color-picker");if(!i)return;let e=i.value,r=this.brushOpacities[this.currentOpacityIndex];this.canvas.freeDrawingBrush.color=this.hexToRgba(e,r),this.canvas.freeDrawingBrush.width=this.brushSizes[this.currentBrushSizeIndex]}createTextBackgroundControls(i){let e=i.createDiv("image-converter-annotation-tool-control-group");e.createDiv("control-label").setText("Text Background:");let r=e.createDiv("image-converter-annotation-tool-button-group"),t=r.createDiv("image-converter-annotation-tool-background-color-wrapper"),n=t.createEl("input",{type:"color",cls:"background-color-picker",value:"#ffffff"}),f=t.createEl("input",{type:"range",cls:"background-alpha-slider",attr:{min:"0",max:"100",value:"70"}});new T0.ButtonComponent(r).setTooltip("Transparent").setIcon("eraser").onClick(()=>{this.setTextBackground("transparent")}),new T0.ButtonComponent(r).setTooltip("Semi-transparent white").setIcon("square").onClick(()=>{this.setTextBackground("rgba(255, 255, 255, 0.7)")}).buttonEl.addClass("bg-white-semi"),new T0.ButtonComponent(r).setTooltip("Semi-transparent black").setIcon("square").onClick(()=>{this.setTextBackground("rgba(0, 0, 0, 0.7)")}).buttonEl.addClass("bg-black-semi");let a=()=>{let i=n.value,e=parseInt(f.value)/100,r=this.hexToRgba(i,e);this.setTextBackground(r)};this.componentContainer.registerDomEvent(n,"input",a),this.componentContainer.registerDomEvent(f,"input",a)}setTextBackground(i){if(!this.canvas)return;let e=this.canvas.getActiveObject();e&&(e instanceof M0?e.set("backgroundColor",i):e instanceof qi&&e.getObjects().forEach(e=>{e instanceof M0&&e.set("backgroundColor",i)}),this.canvas.requestRenderAll(),this.saveState())}createAndAddText(i,e,r){if(this.isTextEditingBlocked)console.debug("Text creation blocked");else try{let t=this.modalEl.querySelector(".background-color-picker"),n=this.modalEl.querySelector(".background-alpha-slider"),f="transparent";if(t&&n){let i=parseInt(n.value)/100;f=this.hexToRgba(t.value,i)}let a=new M0("Type here",{left:e,top:r,fontSize:20,fill:i,backgroundColor:f,selectable:!0,evented:!0,editable:!0,hasControls:!0,hasBorders:!0,centeredScaling:!0,originX:"center",originY:"center"});this.canvas?.add(a),this.canvas?.setActiveObject(a),this.canvas?.requestRenderAll(),setTimeout(()=>{a.enterEditing(),a.selectAll(),this.canvas?.requestRenderAll()},50)}catch(i){console.error("Error in createAndAddText:",i),this.isTextEditingBlocked=!1}}registerHotkeys(){this.scope.register(["Mod"],"S",i=>{i.preventDefault(),this.saveAnnotation()}),this.scope.register(["Mod"],"A",i=>{if(this.canvas){let i=this.canvas.getActiveObject();if(i instanceof M0&&i.isEditing)return!0}return i.preventDefault(),this.selectAll(),!1}),this.scope.register(["Mod"],"Z",i=>(i.preventDefault(),i.shiftKey?this.redo():this.undo(),!1)),this.scope.register(["Mod","Shift"],"Z",i=>(i.preventDefault(),this.redo(),!1)),this.scope.register([],"A",i=>!!this.isTextEditing()||(i.preventDefault(),this.switchTool(3===this.currentTool?0:3),!1)),this.scope.register([],"B",i=>{if(this.canvas){let i=this.canvas.getActiveObject();if(i instanceof M0&&i.isEditing)return!0}return i.preventDefault(),this.isTextMode&&this.toggleTextMode(),this.toggleDrawingMode(this.drawButton),!1}),this.scope.register([],"T",i=>{if(this.canvas){let i=this.canvas.getActiveObject();if(i instanceof M0&&i.isEditing)return!0}return i.preventDefault(),this.isDrawingMode&&this.updateDrawingModeUI(!1),this.toggleTextMode(),!1}),this.scope.register([],"Delete",i=>(i.preventDefault(),this.deleteSelectedObjects(),!1)),this.scope.register([],"Backspace",i=>{let e=this.canvas?.getActiveObject();return!!(e instanceof M0&&e.isEditing)||(i.preventDefault(),this.deleteSelectedObjects(),!1)})}switchTool(i){switch(this.isDrawingMode=!1,this.isTextMode=!1,this.isArrowMode=!1,this.drawButton&&this.drawButton.buttonEl.removeClass("is-active"),this.textButton&&this.textButton.buttonEl.removeClass("is-active"),this.arrowButton&&this.arrowButton.buttonEl.removeClass("is-active"),i){case 1:this.isDrawingMode=!0,this.drawButton&&this.drawButton.buttonEl.addClass("is-active"),this.canvas&&(this.canvas.isDrawingMode=!0,this.canvas.freeDrawingBrush=new tr(this.canvas),this.updateBrushColor(),this.canvas.freeDrawingBrush.width=this.brushSizes[this.currentBrushSizeIndex]);break;case 2:this.isTextMode=!0,this.textButton&&this.textButton.buttonEl.addClass("is-active"),this.canvas&&(this.canvas.isDrawingMode=!1);break;case 3:if(this.isArrowMode=!0,this.arrowButton&&this.arrowButton.buttonEl.addClass("is-active"),this.canvas){this.canvas.isDrawingMode=!0;let i=new $1(this.canvas);this.canvas.freeDrawingBrush=i,this.updateBrushColor(),i.width=this.brushSizes[this.currentBrushSizeIndex]}break;case 0:this.canvas&&(this.canvas.isDrawingMode=!1)}this.currentTool=i,this.updateObjectInteractivity();let e=this.modalEl.querySelector(".text-background-controls");e instanceof HTMLElement&&(e.style.display=2===i?"flex":"none");let r=this.modalEl.querySelector(".image-converter-annotation-tool-preset-buttons");r instanceof HTMLElement&&(r.style.display=0===i?"none":"flex",this.updatePresetButtons())}toggleDrawingMode(i){let e=1===this.currentTool?0:1;this.switchTool(e)}toggleTextMode(){let i=2===this.currentTool?0:2;this.switchTool(i)}toggleArrowMode(i){let e=3===this.currentTool?0:3;this.switchTool(e)}createPresetButtons(i){let e=i.createDiv("image-converter-annotation-tool-preset-buttons");e.style.display="none";for(let i=0;i<3;i++){let r=e.createDiv(`preset-button preset-${i+1}`);r.createDiv("image-converter-annotation-tool-preset-color"),r.createSpan("preset-number").setText(`${i+1}`),this.componentContainer.registerDomEvent(r,"click",e=>{e.shiftKey?this.savePreset(i):this.loadPreset(i)}),r.setAttribute("title","Click to load, Shift+Click to save")}return e}async savePreset(i){let e=this.modalEl.querySelector(".color-picker"),r=this.modalEl.querySelector(".background-color-picker"),t=this.modalEl.querySelector(".background-alpha-slider");if(!e)return;let n={size:this.brushSizes[this.currentBrushSizeIndex],color:e.value,opacity:this.brushOpacities[this.currentOpacityIndex],blendMode:this.currentBlendMode,backgroundColor:r?.value,backgroundOpacity:t?parseInt(t.value)/100:void 0};this.isDrawingMode?this.plugin.settings.annotationPresets.drawing[i]=n:this.isArrowMode?this.plugin.settings.annotationPresets.arrow[i]=n:this.isTextMode&&(this.plugin.settings.annotationPresets.text[i]=n),await this.plugin.saveSettings(),this.updatePresetButtons(),new T0.Notice(`Preset ${i+1} saved`)}loadPreset(i){let e;if(this.isDrawingMode)e=this.plugin.settings.annotationPresets.drawing[i];else if(this.isArrowMode)e=this.plugin.settings.annotationPresets.arrow[i];else{if(!this.isTextMode)return;e=this.plugin.settings.annotationPresets.text[i]}if(!e)return;let r=this.modalEl.querySelector(".color-picker");if(r&&(r.value=e.color),this.isTextMode){let i=this.modalEl.querySelector(".background-color-picker"),r=this.modalEl.querySelector(".background-alpha-slider");i&&e.backgroundColor&&(i.value=e.backgroundColor),r&&void 0!==e.backgroundOpacity&&(r.value=(100*e.backgroundOpacity).toString());let t=this.canvas?.getActiveObject();if(t)if(t instanceof M0){if(t.set("fill",e.color),e.backgroundColor){let i=this.hexToRgba(e.backgroundColor,e.backgroundOpacity??1);t.set("backgroundColor",i)}this.canvas?.requestRenderAll()}else t instanceof qi&&(t.getObjects().forEach(i=>{if(i instanceof M0&&(i.set("fill",e.color),e.backgroundColor)){let r=this.hexToRgba(e.backgroundColor,e.backgroundOpacity??1);i.set("backgroundColor",r)}}),this.canvas?.requestRenderAll())}else{let i=this.canvas?.getActiveObject();i&&(i instanceof qi?i.getObjects().forEach(i=>{i instanceof M0||i.set("stroke",this.hexToRgba(e.color,e.opacity??1))}):i instanceof M0||i.set("stroke",this.hexToRgba(e.color,e.opacity??1)),this.canvas?.requestRenderAll())}let t=this.brushOpacities.indexOf(e.opacity);if(-1!==t){this.currentOpacityIndex=t;let i=this.modalEl.querySelectorAll(".opacity-buttons-container button")[t];i instanceof HTMLElement&&i.click()}let n=this.brushSizes.indexOf(e.size);if(-1!==n){this.currentBrushSizeIndex=n;let i=this.modalEl.querySelectorAll(".size-buttons-container button")[n];i instanceof HTMLElement&&i.click()}this.currentBlendMode=e.blendMode;let f=this.modalEl.querySelector(".blend-modes-container select");f&&(f.value=e.blendMode),this.updateBrushColor()}updatePresetButtons(){let i=this.modalEl.querySelectorAll(".preset-button"),e=this.isDrawingMode?this.plugin.settings.annotationPresets.drawing:this.isArrowMode?this.plugin.settings.annotationPresets.arrow:this.isTextMode?this.plugin.settings.annotationPresets.text:null;e&&i.forEach((i,r)=>{let t=i.querySelector(".image-converter-annotation-tool-preset-color");t&&(this.isTextMode&&e[r].backgroundColor?(t.style.backgroundColor=e[r].backgroundColor??"transparent",t.style.opacity=(e[r].backgroundOpacity??1).toString(),t.style.border=`2px solid ${e[r].color}`):(t.style.backgroundColor=e[r].color,t.style.opacity=e[r].opacity.toString(),t.style.border="none"))})}setupToolbar(i){let e=i.createDiv("image-converter-annotation-tool-annotation-toolbar"),r=e.createDiv("annotation-toolbar-group drawing-group"),t=e.createDiv("annotation-toolbar-group brush-controls"),n=e.createDiv("annotation-toolbar-group"),f=r.createDiv("image-converter-annotation-tool-left-section"),a=f.createDiv("image-converter-annotation-tool-drawing-tools-column");this.drawButton=new T0.ButtonComponent(a).setTooltip("Draw (B)").setIcon("pencil").onClick(()=>{this.toggleDrawingMode(this.drawButton)});let o=new T0.ButtonComponent(a).setTooltip("Arrow (A)").setIcon("arrow-right").onClick(()=>{this.toggleArrowMode(o)});this.arrowButton=o,this.textButton=new T0.ButtonComponent(a).setTooltip("Add Text (T)").setIcon("type").onClick(()=>{this.toggleTextMode()}),new T0.ButtonComponent(a).setTooltip("Reset Zoom (1:1)").setIcon("search").onClick(()=>this.resetZoom());let A=f.createDiv("image-converter-annotation-tool-color-picker-wrapper").createEl("input",{type:"color",value:"#ff0000"});A.addClass("color-picker"),this.componentContainer.registerDomEvent(A,"input",i=>{let e=i.target.value;this.updateColorForSelectedObjects(e),this.updateBrushColor()});let s=t.createDiv("brush-controls-column");this.createSizeButtons(s),this.createOpacityButtons(s),this.createBlendModeButtons(s);let l=s.createDiv("layer-controls");l.createDiv("control-label").setText("Layer:");let k=l.createDiv("image-converter-annotation-tool-button-group");new T0.ButtonComponent(k).setTooltip("Bring to Front").setIcon("arrow-up-to-line").onClick(()=>this.bringToFront()),new T0.ButtonComponent(k).setTooltip("Bring Forward").setIcon("arrow-up").onClick(()=>this.bringForward()),new T0.ButtonComponent(k).setTooltip("Send Backward").setIcon("arrow-down").onClick(()=>this.sendBackward()),new T0.ButtonComponent(k).setTooltip("Send to Back").setIcon("arrow-down-to-line").onClick(()=>this.sendToBack()),this.textBackgroundControls=s.createDiv("text-background-controls"),this.textBackgroundControls.style.display="none",this.createTextBackgroundControls(this.textBackgroundControls),new T0.ButtonComponent(n).setTooltip("Clear All").setIcon("trash").onClick(()=>this.clearAll()),this.createBackgroundControls(n),new T0.ButtonComponent(n).setTooltip("Save (Ctrl/Cmd + S)").setIcon("checkmark").onClick(()=>this.saveAnnotation()).buttonEl.addClass("mod-cta"),this.registerHotkeys()}createSizeButtons(i){let e=i.createDiv("brush-controls-column").createDiv("size-buttons-container");e.createDiv("control-label").setText("Size:");let r=e.createDiv("image-converter-annotation-tool-button-group");this.brushSizes.forEach((i,e)=>{let t=new T0.ButtonComponent(r).setButtonText(i.toString()).onClick(()=>{this.currentBrushSizeIndex=e,this.canvas?.freeDrawingBrush&&(this.canvas.freeDrawingBrush.width=this.brushSizes[this.currentBrushSizeIndex]),r.querySelectorAll("button").forEach(i=>i.removeClass("is-active")),t.buttonEl.addClass("is-active")});e===this.currentBrushSizeIndex&&t.buttonEl.addClass("is-active")})}createOpacityButtons(i){let e=i.querySelector(".brush-controls-column");e||(e=i.createDiv("brush-controls-column"));let r=e.createDiv("opacity-buttons-container");r.createDiv("control-label").setText("Opacity:");let t=r.createDiv("image-converter-annotation-tool-button-group");this.brushOpacities.forEach((i,e)=>{let r=new T0.ButtonComponent(t).setButtonText(String(100*i)).onClick(()=>{if(this.currentOpacityIndex=e,this.updateBrushColor(),this.canvas){let e=this.canvas.getActiveObject();if(e){if("activeselection"===e.type){let r=e;r.getObjects().forEach(e=>{this.updateObjectOpacity(e,i)}),r.dirty=!0}else this.updateObjectOpacity(e,i);this.canvas.requestRenderAll()}}t.querySelectorAll("button").forEach(i=>i.removeClass("is-active")),r.buttonEl.addClass("is-active")});e===this.currentOpacityIndex&&r.buttonEl.addClass("is-active")})}updateObjectOpacity(i,e){if(i instanceof M0){let r=i.get("fill");r.startsWith("rgba")?i.set("fill",this.updateRgbaOpacity(r,e)):i.set("fill",this.hexToRgba(r,e))}else{let r=i.get("stroke");r.startsWith("rgba")?i.set("stroke",this.updateRgbaOpacity(r,e)):i.set("stroke",this.hexToRgba(r,e))}i.dirty=!0}updateRgbaOpacity(i,e){let r=i.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*[\d.]+)?\)/);if(r){let[,i,t,n]=r;return`rgba(${i}, ${t}, ${n}, ${e})`}return i}createBlendModeButtons(i){let e=i.createDiv("blend-modes-container");e.createDiv("control-label").setText("Blend:");let r=e.createDiv("dropdown-container"),t=new T0.DropdownComponent(r);this.blendModes.forEach(i=>{t.addOption(i,(i=>{switch(i){case"source-over":return"Normal";case"multiply":return"Multiply";case"screen":return"Screen";case"overlay":return"Overlay";case"darken":return"Darken";case"lighten":return"Lighten";case"color-dodge":return"Dodge";case"color-burn":return"Burn";case"hard-light":return"Hard Light";case"soft-light":return"Soft Light";case"difference":return"Difference";case"exclusion":return"Exclusion";default:return i}})(i))}),t.setValue(this.currentBlendMode),t.onChange(i=>{let e=i;if(this.currentBlendMode=e,this.canvas?.freeDrawingBrush&&(this.canvas.freeDrawingBrush.globalCompositeOperation=e),this.canvas){let i=this.canvas.getActiveObject();if(i){if("activeselection"===i.type){let r=i;r.getObjects().forEach(i=>{i instanceof hi||(i.globalCompositeOperation=e)}),r.dirty=!0}else i instanceof hi||(i.globalCompositeOperation=e);this.canvas.requestRenderAll()}}})}bringToFront(){if(!this.canvas)return;let i=this.canvas.getActiveObject();if(i){if("activeselection"===i.type){let e=i;e.getObjects().forEach(i=>{this.canvas?.bringObjectToFront(i)}),this.canvas.bringObjectToFront(e)}else this.canvas.bringObjectToFront(i);this.canvas.requestRenderAll(),this.saveState()}}bringForward(){if(!this.canvas)return;let i=this.canvas.getActiveObject();if(i){if("activeselection"===i.type){let e=i;e.getObjects().forEach(i=>{this.canvas?.bringObjectForward(i)}),this.canvas.bringObjectForward(e)}else this.canvas.bringObjectForward(i);this.canvas.requestRenderAll(),this.saveState()}}sendBackward(){if(!this.canvas)return;let i=this.canvas.getActiveObject();if(i){if("activeselection"===i.type){let e=i;e.getObjects().reverse().forEach(i=>{this.canvas?.sendObjectBackwards(i)}),this.canvas.sendObjectBackwards(e)}else this.canvas.sendObjectBackwards(i);this.canvas.requestRenderAll(),this.saveState()}}sendToBack(){if(!this.canvas)return;let i=this.canvas.getActiveObject();if(i){if("activeselection"===i.type){let e=i;e.getObjects().reverse().forEach(i=>{this.canvas?.sendObjectToBack(i),i!==e&&(this.canvas?.getObjects()||[]).indexOf(i)>1&&this.canvas?.moveObjectTo(i,1)}),this.canvas.sendObjectToBack(e)}else this.canvas.sendObjectToBack(i),this.canvas.getObjects().indexOf(i)>1&&this.canvas.moveObjectTo(i,1);this.canvas.requestRenderAll(),this.saveState()}}setupSelectionEvents(){if(!this.canvas)return;this.canvas.on("selection:created",i=>{let e=i;this.syncColorPickerWithSelection(e)}),this.canvas.on("selection:updated",i=>{let e=i;this.syncColorPickerWithSelection(e)});let i=this.modalEl.querySelector(".color-picker");i&&this.componentContainer.registerDomEvent(i,"input",i=>{let e=i.target.value;this.updateColorForSelectedObjects(e),this.updateBrushColor()})}deleteSelectedObjects(){if(!this.canvas)return;let i=this.canvas.getActiveObject();i&&(i instanceof M0&&i.isEditing||("activeselection"===i.type?(i.getObjects().forEach(i=>{i instanceof hi||this.canvas?.remove(i)}),this.canvas.discardActiveObject()):i instanceof hi||this.canvas.remove(i),this.canvas.requestRenderAll()))}initializeCanvasEventHandlers(){this.canvas&&(this.canvas.freeDrawingBrush=new tr(this.canvas),this.canvas.freeDrawingBrush.width=this.brushSizes[this.currentBrushSizeIndex],this.canvas.freeDrawingBrush.globalCompositeOperation=this.currentBlendMode,this.modalEl.querySelector(".color-picker")&&this.updateBrushColor(),this.canvas.on("path:created",i=>{this.isUndoRedoAction||(i.path&&(i.path.globalCompositeOperation=this.currentBlendMode,this.canvas?.requestRenderAll()),this.saveState())}),this.canvas.on("object:added",i=>{this.updateObjectInteractivity(),!(i.target instanceof hi||this.isUndoRedoAction)&&"path"!==i.target.type&&this.saveState()}),this.canvas.on("object:modified",i=>{i.target instanceof hi||this.isUndoRedoAction||this.saveState()}),this.canvas.on("object:removed",i=>{i.target instanceof hi||this.isUndoRedoAction||this.saveState()}),this.canvas.on("mouse:down",i=>{let{target:e}=i;e instanceof M0&&(this.updateDrawingModeUI(!1),this.isTextEditingBlocked=!1,e.selectable=!0,e.evented=!0)}),this.canvas.on("text:editing:entered",i=>{let e=i.target;e&&(this.isTextEditingBlocked=!1,this.updateDrawingModeUI(!1),e.selectable=!0,e.evented=!0)}),this.canvas.on("text:editing:exited",i=>{let e=i.target;e&&(this.isTextEditingBlocked=!1,e.selectable=!0,e.evented=!0)}),this.canvas.on("mouse:dblclick",i=>{if(!this.isTextMode||this.isDrawingMode||this.isTextEditingBlocked)return void console.debug("Blocked text creation - not in text mode or text editing blocked");let{target:e}=i;if(e instanceof M0)return this.isTextEditingBlocked=!1,e.enterEditing(),e.selectAll(),void this.canvas?.requestRenderAll();try{let e=this.canvas.getScenePoint(i.e),r=this.modalEl.querySelector(".color-picker"),t=r?r.value:"#ff0000";this.createAndAddText(t,e.x,e.y)}catch(i){console.error("Error creating text:",i),this.isTextEditingBlocked=!1}}),setInterval(()=>{let i=this.canvas?.getActiveObject();i instanceof M0&&!i.isEditing&&this.isTextEditingBlocked&&(console.debug("Resetting blocked text editing state"),this.isTextEditingBlocked=!1)},5e3))}preventDefaultHandlers(){let i=i=>{let e=i.target,r=this.canvas?.getActiveObject();return!!(r instanceof M0&&r.isEditing&&i instanceof KeyboardEvent)||("canvas"===e.tagName.toLowerCase()||null!==e.closest(".image-converter-annotation-tool-annotation-toolbar")||null!==e.closest(".image-converter-annotation-tool-color-picker-wrapper")||null!==e.closest(".modal-close-button")||e.hasClass("modal-close-button"))},e=e=>{i(e)||e.stopPropagation()},r=e=>{let r=this.canvas?.getActiveObject();if(!(r instanceof M0&&r.isEditing))return this.isHandledKey(e)?(e.preventDefault(),void e.stopPropagation()):void(i(e)||e.stopPropagation());(e.ctrlKey||e.metaKey)&&"s"===e.key.toLowerCase()&&(e.preventDefault(),e.stopPropagation())};this.componentContainer.registerDomEvent(this.modalEl,"mousedown",e,!0),this.componentContainer.registerDomEvent(this.modalEl,"mousemove",e,!0),this.componentContainer.registerDomEvent(this.modalEl,"mouseup",e,!0),this.componentContainer.registerDomEvent(this.modalEl,"click",e,!0),this.componentContainer.registerDomEvent(this.modalEl,"dblclick",e,!0),this.componentContainer.registerDomEvent(this.modalEl,"keydown",r,!0),this.componentContainer.registerDomEvent(this.modalEl,"keyup",r,!0)}isHandledKey(i){let e=this.canvas?.getActiveObject();return!(e instanceof M0&&e.isEditing)&&((i.ctrlKey||i.metaKey)&&("s"===i.key.toLowerCase()||"a"===i.key.toLowerCase())||"Escape"===i.key||!this.isTextEditing()&&("Delete"===i.key||"Backspace"===i.key||"b"===i.key.toLowerCase()||"t"===i.key.toLowerCase()||"a"===i.key.toLowerCase()))}isTextEditing(){let i=this.canvas?.getActiveObject();return!!(i instanceof M0&&i.isEditing)}syncColorPickerWithSelection(i){let e=this.modalEl.querySelector(".color-picker"),r=this.modalEl.querySelector(".background-color-picker"),t=this.modalEl.querySelector(".background-alpha-slider");if(!e||!r||!t||0===i.selected.length)return;let[n]=i.selected;if(n instanceof M0){let i=n.fill;i&&i!==e.value&&(e.value=this.rgbaToHex(i));let f=n.backgroundColor;if(f&&"transparent"!==f){let{hex:i,alpha:e}=this.rgbaToHexWithAlpha(f);i!==r.value&&(r.value=i);let n=Math.round(100*e).toString();n!==t.value&&(t.value=n)}}}updateColorForSelectedObjects(i){if(!this.canvas)return;let e=this.canvas.getActiveObject();if(!e)return;let r=this.brushOpacities[this.currentOpacityIndex];if(e instanceof qi){let t=e;t.forEachObject(e=>{e instanceof M0?e.set("fill",i):e.set("stroke",this.hexToRgba(i,r))}),t.dirty=!0}else e instanceof M0?e.set("fill",i):e.set("stroke",this.hexToRgba(i,r));this.canvas.requestRenderAll()}rgbaToHex(i){let e=i.match(/rgba?\((\d+), (\d+), (\d+)\)/);if(!e)return"#ff0000";let[,r,t,n]=e.map(Number);return`#${((1<<24)+(r<<16)+(t<<8)+n).toString(16).slice(1)}`}rgbaToHexWithAlpha(i){let e=i.match(/rgba\((\d+), (\d+), (\d+), ([0-9.]+)\)/);if(!e)return{hex:"#ffffff",alpha:1};let r=Number(e[1]),t=Number(e[2]),n=Number(e[3]),f=parseFloat(e[4]);return{hex:`#${((1<<24)+(r<<16)+(t<<8)+n).toString(16).slice(1)}`,alpha:f}}hexToRgba(i,e){let r=i.replace("#","");return`rgba(${parseInt(r.substring(0,2),16)}, ${parseInt(r.substring(2,4),16)}, ${parseInt(r.substring(4,6),16)}, ${e})`}async analyzeImageColors(i){let e=document.createElement("canvas"),r=e.getContext("2d");if(!r)return;e.width=i.width,e.height=i.height,r.drawImage(i,0,0);let t=r.getImageData(0,0,e.width,e.height).data,n=new Map;for(let i=0;i<t.length;i+=16){let e=t[i],r=t[i+1],f=t[i+2];if(t[i+3]<128)continue;let a=32*Math.round(e/32),o=32*Math.round(r/32),A=32*Math.round(f/32),s=this.rgbToHex(a,o,A);n.set(s,(n.get(s)||0)+1)}let f=Array.from(n.entries()).map(([i,e])=>({color:i,count:e})).sort((i,e)=>e.count-i.count).slice(0,6).map(i=>i.color);this.dominantColors=f,this.complementaryColors=f.map(i=>this.getComplementaryColors(i)),this.createColorSwatches()}getLuminosity(i){let e=this.hexToRgb(i);return.299*e.red+.587*e.green+.114*e.blue}rgbToHex(i,e,r){return`#${[i,e,r].map(i=>i.toString(16).padStart(2,"0")).join("")}`}hexToRgb(i){let e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(i);return e?{red:parseInt(e[1],16),green:parseInt(e[2],16),blue:parseInt(e[3],16)}:{red:0,green:0,blue:0}}getComplementaryColors(i){let e=this.hexToRgb(i),r=this.rgbToHsl(e.red,e.green,e.blue);return[this.hslToString((r.hue+180)%360,r.saturation,r.lightness)]}rgbToHsl(i,e,r){let t=i/255,n=e/255,f=r/255,a=Math.max(t,n,f),o=Math.min(t,n,f),A=0,s=0,l=(a+o)/2;if(a!==o){let i=a-o;switch(s=l>.5?i/(2-a-o):i/(a+o),a){case t:A=(n-f)/i+(n<f?6:0);break;case n:A=(f-t)/i+2;break;case f:A=(t-n)/i+4}A*=60}return{hue:A,saturation:100*s,lightness:100*l}}hslToString(i,e,r){let t=i%360;return t<0&&(t+=360),`hsl(${Math.round(t)}, ${Math.round(e)}%, ${Math.round(r)}%)`}hslToRgb(i){let e=i.match(/hsl\((\d+),\s*(\d+)%,\s*(\d+)%\)/);if(!e)return{red:0,green:0,blue:0};let r,t,n,f=parseInt(e[1])/360,a=parseInt(e[2])/100,o=parseInt(e[3])/100;if(0===a)r=t=n=o;else{let i=(i,e,r)=>{let t=r;return t<0&&(t+=1),t>1&&(t-=1),t<.16666666666666666?i+6*(e-i)*t:t<.5?e:t<.6666666666666666?i+(e-i)*(.6666666666666666-t)*6:i},e=o<.5?o*(1+a):o+a-o*a,A=2*o-e;r=i(A,e,f+1/3),t=i(A,e,f),n=i(A,e,f-1/3)}return{red:Math.round(255*r),green:Math.round(255*t),blue:Math.round(255*n)}}setupResizable(){this.resizeHandle=this.modalEl.createDiv("modal-resize-handle"),this.resizeHandle.innerHTML="⋮⋮",this.componentContainer.registerDomEvent(this.resizeHandle,"mousedown",this.startResize.bind(this)),this.componentContainer.registerDomEvent(document,"mousemove",this.resize.bind(this)),this.componentContainer.registerDomEvent(document,"mouseup",this.stopResize.bind(this)),this.modalEl.addClass("resizable-modal")}startResize(i){this.isResizing=!0,this.modalEl.addClass("is-resizing"),i.preventDefault()}resize(i){if(!this.isResizing||!this.canvas)return;let e=this.modalEl.getBoundingClientRect(),r=Math.max(this.minWidth,i.clientX-e.left),t=Math.max(this.minHeight,i.clientY-e.top);this.modalEl.style.width=`${r}px`,this.modalEl.style.height=`${t}px`;let n=this.modalEl.querySelector(".image-converter-annotation-tool-annotation-toolbar")?.offsetHeight??0;this.canvas.setDimensions({width:r-40,height:t-n-40});let f=this.canvas.getObjects()[0];if(f){let i=f.width??1,e=f.height??1,a=.8*Math.min((r-40)/i,(t-n-40)/e);f.set({scaleX:a,scaleY:a})}let a=this.canvas.width??0,o=this.canvas.height??0;this.canvas.getObjects().slice(1).forEach(i=>{let e=i.getBoundingRect();e.left<0&&i.set("left",0),e.top<0&&i.set("top",0),e.left+e.width>a&&i.set("left",Math.max(0,a-e.width)),e.top+e.height>o&&i.set("top",Math.max(0,o-e.height))}),this.canvas.requestRenderAll()}stopResize(){this.isResizing=!1,this.modalEl.removeClass("is-resizing")}setupZoomAndPan(){this.canvas&&(this.canvas.on("mouse:wheel",i=>{let e=i.e;e.preventDefault(),e.stopPropagation();let r=this.canvas.getScenePoint(e),t=e.deltaY,n=this.currentZoom*(t>0?.95:1.05);if(n=Math.min(Math.max(n,this.minZoom),this.maxZoom),n!==this.currentZoom){let i=this.canvas.getObjects()[0];i&&(i.objectCaching=!1),this.zoomToPoint(r,n),setTimeout(()=>{i&&(i.objectCaching=!0,this.canvas?.requestRenderAll())},100)}}),this.componentContainer.registerDomEvent(document,"keydown",this.boundKeyDownHandler),this.componentContainer.registerDomEvent(document,"keyup",this.boundKeyUpHandler),this.canvas.on("mouse:down",i=>{if(this.isSpacebarDown&&i.e){this.isPanning=!0,this.canvas.defaultCursor="grabbing";let e=i.e;this.lastPanPoint={x:e.clientX,y:e.clientY}}}),this.canvas.on("mouse:move",i=>{if(!this.isPanning||!this.lastPanPoint||!i.e)return;let e=i.e,r={x:e.clientX,y:e.clientY},t=r.x-this.lastPanPoint.x,n=r.y-this.lastPanPoint.y;this.canvas.relativePan(new K(t,n)),this.lastPanPoint=r}),this.canvas.on("mouse:up",()=>{this.isPanning&&(this.isPanning=!1,this.lastPanPoint=null,this.canvas.defaultCursor=this.isSpacebarDown?"grab":"default")}))}handleKeyDown(i){if("Space"===i.code){let e=this.canvas?.getActiveObject();if(e instanceof M0&&e.isEditing)return;if(!this.isSpacebarDown){i.preventDefault(),this.isSpacebarDown=!0,this.canvas.defaultCursor="grab";let e=this.isDrawingMode;this.isDrawingMode&&(this.canvas.isDrawingMode=!1),this._previousStates={drawingMode:e}}}(i.metaKey||i.ctrlKey)&&"z"===i.key.toLowerCase()&&(i.preventDefault(),i.stopPropagation(),i.shiftKey?this.redo():this.undo())}handleKeyUp(i){if("Space"===i.code){let e=this.canvas?.getActiveObject();if(e instanceof M0&&e.isEditing)return;i.preventDefault(),this.isSpacebarDown=!1,this.isPanning=!1,this.lastPanPoint=null,this.canvas.defaultCursor="default",this._previousStates?.drawingMode&&(this.canvas.isDrawingMode=!0,this.isDrawingMode=!0),this._previousStates=null}}zoomToPoint(i,e){if(!this.canvas)return;let r=e/this.currentZoom;this.currentZoom=e;let t=[...this.canvas.viewportTransform];if(!t)return;let n=i.x-t[4],f=i.y-t[5],a=[e,0,0,e,i.x-n*r,i.y-f*r];this.canvas.setViewportTransform(a),this.enforceViewportBounds();let o=this.canvas.getObjects()[0];o&&o.setCoords(),this.canvas.requestRenderAll(),setTimeout(()=>{this.canvas?.requestRenderAll()},50)}enforceViewportBounds(){if(!this.canvas)return;let i=this.canvas.viewportTransform;if(!i)return;let e=this.canvas.width??0,r=this.canvas.height??0,t=this.currentZoom,n=e*(1-t),f=r*(1-t);i[4]=Math.min(Math.max(i[4],n),0),i[5]=Math.min(Math.max(i[5],f),0),this.canvas.setViewportTransform(i)}resetZoom(){this.canvas&&(this.currentZoom=1,this.canvas.setViewportTransform([1,0,0,1,0,0]),this.canvas.requestRenderAll())}createBackgroundControls(i){let e=new T0.ButtonComponent(i).setTooltip("Background").setIcon("layout-template").onClick(i=>{i.stopPropagation(),this.toggleBackgroundDropdown(e.buttonEl)});this.backgroundDropdown=i.createDiv("background-dropdown"),this.backgroundDropdown.style.display="none",this.backgroundOptions.forEach(i=>{let e=this.backgroundDropdown.createDiv("background-option");switch(i){case"transparent":e.createDiv("option-icon").innerHTML='<svg viewBox="0 0 100 100" width="20" height="20">\n\t\t\t\t\t\t<rect x="0" y="0" width="50" height="50" fill="#ccc"/>\n\t\t\t\t\t\t<rect x="50" y="50" width="50" height="50" fill="#ccc"/>\n\t\t\t\t\t</svg>';break;case"grid":e.createDiv("option-icon").innerHTML='<svg viewBox="0 0 100 100" width="20" height="20">\n\t\t\t\t\t\t<path d="M0 0 L100 0 M0 50 L100 50 M50 0 L50 100" stroke="#000" stroke-width="10"/>\n\t\t\t\t\t</svg>';break;case"dots":e.createDiv("option-icon").innerHTML='<svg viewBox="0 0 100 100" width="20" height="20">\n\t\t\t\t\t\t<circle cx="50" cy="50" r="10"/>\n\t\t\t\t\t</svg>';break;default:e.createDiv("color-preview").style.backgroundColor=i}this.componentContainer.registerDomEvent(e,"click",e=>{e.stopPropagation();let r=this.canvas?.getActiveObject();r instanceof M0&&r.isEditing||(this.setBackground(i),this.hideBackgroundDropdown())}),i===this.currentBackground&&e.addClass("is-active")}),this.componentContainer.registerDomEvent(document,"click",()=>{this.hideBackgroundDropdown()})}createBackgroundPattern(i){if("grid"===i||"dots"===i){let e=document.createElement("canvas"),r=e.getContext("2d");if(!r)return"transparent";switch(e.width=20,e.height=20,i){case"grid":return r.strokeStyle="#ddd",r.lineWidth=1,r.beginPath(),r.moveTo(0,0),r.lineTo(20,0),r.moveTo(0,0),r.lineTo(0,20),r.stroke(),new Je({source:e,repeat:"repeat"});case"dots":return r.fillStyle="#ddd",r.beginPath(),r.arc(10,10,1,0,2*Math.PI),r.fill(),new Je({source:e,repeat:"repeat"})}}return i}toggleBackgroundDropdown(i){if(this.backgroundDropdown)if("none"===this.backgroundDropdown.style.display){let e=i.getBoundingClientRect();this.backgroundDropdown.style.top=`${e.bottom+5}px`,this.backgroundDropdown.style.left=`${e.left}px`,this.backgroundDropdown.style.display="block"}else this.hideBackgroundDropdown()}hideBackgroundDropdown(){this.backgroundDropdown&&(this.backgroundDropdown.style.display="none")}setBackground(i){if(!this.canvas)return;let e=this.createBackgroundPattern(i);this.canvas.backgroundColor=e,this.canvas.requestRenderAll(),this.currentBackground=i;let r=this.modalEl.querySelectorAll(".background-controls .image-converter-annotation-tool-button-group button");r.forEach(i=>i.removeClass("is-active")),r[this.backgroundOptions.indexOf(i)]?.addClass("is-active")}initializeUndoRedo(){this.undoStack=[JSON.stringify([])],this.redoStack=[]}saveState(){if(!this.canvas||this.isUndoRedoAction)return;0===this.undoStack.length&&this.undoStack.push(JSON.stringify([]));let i=this.canvas.getObjects().slice(1),e=JSON.stringify(i.map(i=>i.toObject()));this.undoStack[this.undoStack.length-1]!==e&&(this.undoStack.push(e),this.redoStack=[])}async undo(){if(this.canvas&&!(this.undoStack.length<=1)){this.isUndoRedoAction=!0;try{let i=this.undoStack.pop();i&&this.redoStack.push(i);let e=this.undoStack[this.undoStack.length-1];if(this.canvas.getObjects().slice(1).forEach(i=>this.canvas.remove(i)),e){let i=JSON.parse(e);for(let e of i)(await L1.enlivenObjects([e])).forEach(i=>{i instanceof ci&&this.canvas.add(i)})}this.canvas.requestRenderAll()}catch(i){console.error("Error during undo:",i)}finally{this.isUndoRedoAction=!1}}}async redo(){if(this.canvas&&0!==this.redoStack.length){this.isUndoRedoAction=!0;try{let i=this.redoStack.pop();if(!i)return;let e=this.canvas.getObjects().slice(1),r=JSON.stringify(e.map(i=>i.toObject()));this.undoStack.push(r),this.canvas.getObjects().slice(1).forEach(i=>this.canvas.remove(i));let t=JSON.parse(i);for(let i of t)(await L1.enlivenObjects([i])).forEach(i=>{i instanceof ci&&this.canvas.add(i)});this.canvas.requestRenderAll()}catch(i){console.error("Error during redo:",i)}finally{this.isUndoRedoAction=!1}}}clearAll(){if(!this.canvas)return;new Qi(this.app,"Clear Annotations","Are you sure you want to clear all annotations?","Clear",()=>{this.canvas.getObjects().slice(1).forEach(i=>this.canvas.remove(i)),this.canvas.requestRenderAll(),this.saveState()}).open()}selectAll(){if(!this.canvas)return;let i=this.canvas.getObjects().slice(1);if(0===i.length)return;let e=this.isDrawingMode,r=this.isTextMode;if(e&&this.updateDrawingModeUI(!1),r&&this.toggleTextMode(),1===i.length)this.canvas.setActiveObject(i[0]);else{let e=new qi(i,{canvas:this.canvas});this.canvas.setActiveObject(e)}this.canvas.requestRenderAll(),e&&this.updateDrawingModeUI(!0),r&&this.toggleTextMode()}async saveAnnotation(){if(this.canvas)try{let i=this.canvas.preserveObjectStacking;this.canvas.preserveObjectStacking=!1;let e=ga.getType(this.file.name)||`image/${this.file.extension}`;if(!e)throw new Error("Unable to determine file type");let r="png";"image/jpeg"===e||"image/jpg"===e?r="jpeg":"image/png"===e?r="png":"image/webp"===e?r="webp":"image/avif"===e&&(r="avif");let t=this.canvas.getObjects();if(0===t.length)return;let n=t.find(i=>i instanceof hi);if(!n)return;this.canvas.renderAll(),await new Promise(i=>setTimeout(i,100));let f=n.width??0,a=n.height??0,o={x:n.scaleX??1,y:n.scaleY??1},A=f*o.x,s=a*o.y,l=n.left??0,k=n.top??0,h=l+A,u=k+s,c=l,d=k,b=h,p=u,g=t.filter(i=>i!==n);g.length>0&&g.forEach(i=>{if(!i.visible)return;let e=i.getBoundingRect();isFinite(e.left)&&(c=Math.min(c,e.left)),isFinite(e.top)&&(d=Math.min(d,e.top)),isFinite(e.width)&&(b=Math.max(b,e.left+e.width)),isFinite(e.height)&&(p=Math.max(p,e.top+e.height))}),c=Math.min(c,l),d=Math.min(d,k),b=Math.max(b,h),p=Math.max(p,u);let m=b-c,v=p-d;if(m<=0||v<=0)throw new Error("Invalid export dimensions");let w=Math.max(f/A,a/s),_=[...this.canvas.viewportTransform];this.canvas.setViewportTransform([1,0,0,1,0,0]),this.canvas.setZoom(1),t.forEach(i=>{i.setCoords(),i.visible=!0}),this.canvas.renderAll(),await new Promise(i=>setTimeout(i,100));let y=null;try{let i=this.canvas.toCanvasElement(w),r=document.createElement("canvas");r.width=m*w,r.height=v*w;let t=r.getContext("2d");t&&(t.drawImage(i,c*w,d*w,m*w,v*w,0,0,r.width,r.height),y=await new Promise((i,t)=>{r.toBlob(e=>{e?e.arrayBuffer().then(i).catch(t):t(new Error("Blob creation failed"))},e,1)}))}catch(i){console.log("toCanvasElement method failed, trying alternative...",i)}if(!y)try{let i=this.canvas.toDataURL({format:r,quality:1,multiplier:w,left:c,top:d,width:m,height:v,enableRetinaScaling:!0});if(!i||"data:,"===i)throw new Error("Invalid data URL");y=NA(i)}catch(i){console.log("toDataURL method failed, trying alternative...",i)}if(!y){new T0.Notice("6");try{let i=this.canvas.getElement(),r=document.createElement("canvas");r.width=m*w,r.height=v*w;let t=r.getContext("2d");new T0.Notice("7"),t&&(new T0.Notice("8"),t.drawImage(i,c,d,m,v,0,0,r.width,r.height),y=await(await new Promise((i,t)=>{r.toBlob(e=>{e?i(e):t(new Error("Blob creation failed"))},e,1)})).arrayBuffer())}catch(i){console.log("Native canvas fallback failed",i)}}if(!y)throw new Error("All export methods failed");if(this.canvas.setViewportTransform(_),this.canvas.renderAll(),await this.app.vault.modifyBinary(this.file,y),new T0.Notice("Image saved successfully"),!this.app.workspace.getActiveViewOfType(T0.MarkdownView))return;let C=this.app.workspace.getMostRecentLeaf();if(C){let i=C.getViewState();await C.setViewState({type:"empty",state:{}}),await C.setViewState(i)}this.canvas.preserveObjectStacking=i,this.canvas.requestRenderAll(),this.close()}catch(i){console.error("Save error:",i),new T0.Notice("Error saving image")}}cleanup(){this.canvas&&(this.canvas.off(),this.canvas.dispose()),this.componentContainer.unload(),this.isTextEditingBlocked=!1,this.isDrawingMode=!1,this.isTextMode=!1,this._previousStates=null,this.drawButton&&this.drawButton.buttonEl.removeClass("is-active"),this.textButton&&this.textButton.buttonEl.removeClass("is-active"),this.canvas&&this.resetZoom(),this.isPanning=!1,this.isSpacebarDown=!1,this.lastPanPoint=null,this.canvas&&(this.canvas.defaultCursor="default"),this.undoStack=[],this.redoStack=[],this.isUndoRedoAction=!1,this.isArrowMode=!1,this.arrowButton&&this.arrowButton.buttonEl.removeClass("is-active")}onClose(){let{contentEl:i}=this;i.empty(),this.cleanup(),this.componentContainer.registerDomEvent(document,"mousemove",this.resize.bind(this)),this.componentContainer.registerDomEvent(document,"mouseup",this.stopResize.bind(this)),this.componentContainer.unload(),super.onClose()}},$1=class extends tr{points=[];minDistance=3;currentPath=null;currentArrowHead=null;constructor(i){super(i),this.width||(this.width=8)}onMouseDown(i,e){this.points=[i],this.currentPath=null,this.currentArrowHead=null}onMouseMove(i,e){if(!this.points.length)return;let r=this.points[this.points.length-1];Math.sqrt(Math.pow(i.x-r.x,2)+Math.pow(i.y-r.y,2))>=this.minDistance&&(this.points.push(i),this.currentPath&&this.canvas.remove(this.currentPath),this.currentArrowHead&&this.canvas.remove(this.currentArrowHead),this.currentPath=this.createSmoothedPath(),this.currentArrowHead=this.createArrowHead(),this.currentPath&&this.canvas.add(this.currentPath),this.currentArrowHead&&this.canvas.add(this.currentArrowHead),this.canvas.requestRenderAll())}onMouseUp({e:i}){if(this.points.length>=2){this.currentPath&&this.canvas.remove(this.currentPath),this.currentArrowHead&&this.canvas.remove(this.currentArrowHead);let i=this.createSmoothedPath(),e=this.createArrowHead();i&&this.canvas.add(i),e&&this.canvas.add(e),this.canvas.requestRenderAll()}return this.points=[],this.currentPath=null,this.currentArrowHead=null,!1}createSmoothedPath(){if(this.points.length<2)return null;try{let i=this.simplifyPoints(this.points,50),e=this.getControlPoints(i),r=`M ${i[0].x} ${i[0].y}`;for(let i=0;i<e.length-1;i++){let t=e[i],n=e[i+1];r+=` C ${t.cp2x} ${t.cp2y} ${n.cp1x} ${n.cp1y} ${n.x} ${n.y}`}return new ae(r,{stroke:this.color,strokeWidth:this.width,fill:"",strokeLineCap:"round",strokeLineJoin:"round",selectable:!1,evented:!1})}catch(i){return console.error("Error creating smoothed path:",i),null}}simplifyPoints(i,e){if(i.length<=2)return i;let r=[i[0]],[t]=i;for(let n=1;n<i.length-1;n++){let f=i[n],a=i[n+1];Math.hypot(f.x-t.x,f.y-t.y)+Math.hypot(a.x-f.x,a.y-f.y)>e&&(r.push(f),t=f)}return r.push(i[i.length-1]),r}getControlPoints(i){let e=[];for(let r=0;r<i.length;r++){let t=i[r],n=i[r-1]||t,f=i[r+1]||t,a=f.x-n.x,o=f.y-n.y,A=t.x-.2*a,s=t.y-.2*o,l=t.x+.2*a,k=t.y+.2*o;e.push({x:t.x,y:t.y,cp1x:A,cp1y:s,cp2x:l,cp2y:k})}return e}getAverageDirection(i,e=5){let r=i.slice(-e);if(r.length<2)return{angle:0,endPoint:i[i.length-1]};let t=r[r.length-2],n=r[r.length-1];return{angle:Math.atan2(n.y-t.y,n.x-t.x),endPoint:n}}createArrowHead(){try{if(this.points.length<2)return null;let{angle:i,endPoint:e}=this.getAverageDirection(this.points),r=Math.max(2*this.width,10),t=Math.max(this.width,5),n=Math.PI/6,f=e.x-r*Math.cos(i-n),a=e.y-r*Math.sin(i-n),o=e.x-r*Math.cos(i+n),A=e.y-r*Math.sin(i+n),s=`M ${e.x} ${e.y} L ${f} ${a} M ${e.x} ${e.y} L ${o} ${A}`;return new ae(s,{stroke:this.color,strokeWidth:t,fill:"",strokeLineCap:"round",strokeLineJoin:"round",selectable:!1,evented:!1})}catch(i){return console.error("Error creating arrow head:",i),null}}};function NA(i){let e=atob(i.split(",")[1]),{length:r}=e,t=new ArrayBuffer(r),n=new Uint8Array(t);for(let i=0;i<r;i++)n[i]=e.charCodeAt(i);return t}var i2=require("obsidian"),ln=class extends i2.Modal{componentContainer=new i2.Component;MODAL_PADDING=16;HEADER_HEIGHT=60;FOOTER_HEIGHT=60;ASPECT_RATIO_HEIGHT=80;CHROME_HEIGHT=this.HEADER_HEIGHT+this.FOOTER_HEIGHT+this.ASPECT_RATIO_HEIGHT;MIN_WIDTH=320;MIN_HEIGHT=400;STATIC_DESKTOP_WIDTH_RATIO=.9;STATIC_DESKTOP_HEIGHT_RATIO=.9;imageFile;originalArrayBuffer=null;cropContainer;selectionArea;isDrawing=!1;startX=0;startY=0;originalImage;imageScale={x:1,y:1};currentAspectRatio=null;currentRotation=0;isFlippedX=!1;isFlippedY=!1;zoom=1;MIN_ZOOM=.1;MAX_ZOOM=5;ZOOM_STEP=.1;constructor(i,e){super(i),this.imageFile=e,this.componentContainer.load(),this.containerEl.addClass("crop-tool-modal")}setupEventListeners(){this.componentContainer.registerDomEvent(this.cropContainer,"mousedown",i=>{if(i.target===this.originalImage){this.isDrawing=!0;let e=this.cropContainer.getBoundingClientRect();this.startX=i.clientX-e.left,this.startY=i.clientY-e.top,this.selectionArea.style.display="block",this.selectionArea.style.left=`${this.startX}px`,this.selectionArea.style.top=`${this.startY}px`,this.selectionArea.style.width="0",this.selectionArea.style.height="0"}}),this.componentContainer.registerDomEvent(this.cropContainer,"mousemove",i=>{if(!this.isDrawing)return;let e=this.cropContainer.getBoundingClientRect(),r=i.clientX-e.left,t=i.clientY-e.top;this.updateSelectionSize(r,t)}),this.componentContainer.registerDomEvent(this.cropContainer,"mouseup",i=>{this.isDrawing=!1,this.makeSelectionMovable()}),this.componentContainer.registerDomEvent(this.cropContainer,"mouseleave",i=>{this.isDrawing=!1})}async onOpen(){let{contentEl:i}=this;i.empty();let e=i.createDiv("crop-modal-wrapper"),r=e.createDiv("crop-modal-header");r.createEl("h2",{text:"Crop image"});let t=e.createDiv("crop-modal-content");this.cropContainer=t.createDiv("crop-container"),this.selectionArea=this.cropContainer.createDiv("selection-area"),this.selectionArea.style.display="none";let n=e.createDiv("crop-modal-buttons"),f=n.createEl("button",{text:"Save"}),a=n.createEl("button",{text:"Cancel"}),o=n.createEl("button",{text:"Reset"}),A=r.createDiv("aspect-ratio-controls");this.createTransformControls(A),A.createEl("span",{text:" "});let s=A.createDiv("ratio-buttons-container");[{name:"free",ratio:null,label:"Free"},{name:"square",ratio:1,label:"1:1"},{name:"16:9",ratio:16/9,label:"16:9"},{name:"4:3",ratio:4/3,label:"4:3"}].forEach(({name:i,ratio:e,label:r})=>{let t=s.createEl("button",{text:r,cls:"aspect-ratio-button"});this.componentContainer.registerDomEvent(t,"click",()=>{A.querySelectorAll(".aspect-ratio-button").forEach(i=>i.removeClass("active")),t.addClass("active"),null!==e&&(k.value="",h.value=""),this.currentAspectRatio=e,"none"!==this.selectionArea.style.display&&this.adjustSelectionToAspectRatio()}),"free"===i&&t.addClass("active")});let l=A.createDiv("custom-ratio-container"),k=l.createEl("input",{type:"number",placeholder:"W",cls:"custom-ratio-input"});l.createEl("span",{text:":"});let h=l.createEl("input",{type:"number",placeholder:"H",cls:"custom-ratio-input"}),u=()=>{let i=parseFloat(k.value),e=parseFloat(h.value);i>0&&e>0&&(A.querySelectorAll(".aspect-ratio-button").forEach(i=>i.removeClass("active")),this.currentAspectRatio=i/e,"none"!==this.selectionArea.style.display&&this.adjustSelectionToAspectRatio())};this.componentContainer.registerDomEvent(k,"input",u),this.componentContainer.registerDomEvent(h,"input",u),this.createImageControls(r);try{await this.loadImage(),this.setupEventListeners(),this.componentContainer.registerDomEvent(f,"click",()=>this.saveImage()),this.componentContainer.registerDomEvent(a,"click",()=>this.close()),this.componentContainer.registerDomEvent(o,"click",()=>this.resetSelection()),this.componentContainer.registerDomEvent(document,"keydown",i=>{"Escape"===i.key&&(this.resetSelection(),i.stopPropagation())})}catch(i){new i2.Notice("Error loading image for cropping"),console.error("Crop modal error:",i),this.close()}}async loadImage(){this.originalArrayBuffer=await this.app.vault.readBinary(this.imageFile);let i=new Blob([this.originalArrayBuffer]),e=URL.createObjectURL(i);return this.originalImage=document.createElement("img"),this.originalImage.className="crop-original-image",new Promise((i,r)=>{this.originalImage.onload=()=>{this.adjustModalSize(),this.imageScale.x=this.originalImage.naturalWidth/this.originalImage.clientWidth,this.imageScale.y=this.originalImage.naturalHeight/this.originalImage.clientHeight,this.cropContainer.appendChild(this.originalImage),i()},this.originalImage.onerror=r,this.originalImage.src=e})}adjustModalSize(){if(!this.originalImage)return;let i=this.containerEl.querySelector(".modal");if(!i)return;let e,r,t=window.innerWidth<=768,n=this.originalImage.naturalWidth/this.originalImage.naturalHeight;if(t)e=window.innerWidth-2*this.MODAL_PADDING,r=Math.min(window.innerHeight-2*this.MODAL_PADDING,e/n+this.CHROME_HEIGHT);else{e=window.innerWidth*this.STATIC_DESKTOP_WIDTH_RATIO,r=window.innerHeight*this.STATIC_DESKTOP_HEIGHT_RATIO;let i=r-this.CHROME_HEIGHT;n>e/i?r=e/n+this.CHROME_HEIGHT:e=i*n}e=Math.max(this.MIN_WIDTH,e),r=Math.max(this.MIN_HEIGHT,r),i.style.width=`${e}px`,i.style.height=`${r}px`,i.style.top="50%",i.style.left="50%",i.style.transform="translate(-50%, -50%)"}createTransformControls(i){let e=i.createDiv({cls:"transform-controls"}),r=e.createDiv({cls:"rotate-container"}),t=r.createEl("button",{cls:"transform-button",text:"↺",attr:{title:"90° Counter Clockwise"}}),n=r.createEl("button",{cls:"transform-button",text:"↻",attr:{title:"90° Clockwise"}}),f=e.createDiv({cls:"flip-container"}),a=f.createEl("button",{cls:"transform-button",text:"↔",attr:{title:"Flip Horizontally"}}),o=f.createEl("button",{cls:"transform-button",text:"↕",attr:{title:"Flip Vertically"}});this.componentContainer.registerDomEvent(t,"click",()=>this.rotate(-90)),this.componentContainer.registerDomEvent(n,"click",()=>this.rotate(90)),this.componentContainer.registerDomEvent(a,"click",()=>this.flip("horizontal")),this.componentContainer.registerDomEvent(o,"click",()=>this.flip("vertical"))}rotate(i){this.currentRotation=(this.currentRotation+i)%360,this.applyTransforms()}flip(i){"horizontal"===i?this.isFlippedX=!this.isFlippedX:this.isFlippedY=!this.isFlippedY,this.applyTransforms()}createImageControls(i){let e=i.createDiv({cls:"image-controls"}),r=e.createDiv({cls:"control-group rotation-controls"});r.createEl("span",{text:"Rotation: ",cls:"control-label"});let t=r.createEl("span",{text:"0°",cls:"rotation-value"}),n=r.createEl("input",{type:"range",cls:"slider rotation-slider",attr:{min:"0",max:"360",value:"0"}}),f=e.createDiv({cls:"control-group zoom-controls"});f.createEl("span",{text:"Zoom: ",cls:"control-label"});let a=f.createEl("span",{text:"100%",cls:"zoom-value"}),o=f.createEl("input",{type:"range",cls:"slider zoom-slider",attr:{min:String(100*this.MIN_ZOOM),max:String(100*this.MAX_ZOOM),value:"100"}});this.componentContainer.registerDomEvent(n,"input",i=>{let e=parseInt(i.target.value);this.currentRotation=e,t.textContent=`${e}°`,this.applyTransforms()}),this.componentContainer.registerDomEvent(o,"input",i=>{let e=parseInt(i.target.value);this.zoom=e/100,a.textContent=`${e}%`,this.applyTransforms()}),this.cropContainer&&this.componentContainer.registerDomEvent(this.cropContainer,"wheel",i=>{i.preventDefault();let e=-Math.sign(i.deltaY)*this.ZOOM_STEP,r=Math.max(this.MIN_ZOOM,Math.min(this.MAX_ZOOM,this.zoom+e));r!==this.zoom&&(this.zoom=r,o.value=String(100*this.zoom),a.textContent=`${Math.round(100*this.zoom)}%`,this.applyTransforms())})}applyTransforms(){let i=[];1!==this.zoom&&i.push(`scale(${this.zoom})`),0!==this.currentRotation&&i.push(`rotate(${this.currentRotation}deg)`),this.isFlippedX&&i.push("scaleX(-1)"),this.isFlippedY&&i.push("scaleY(-1)"),this.originalImage.style.transform=i.join(" "),(90===Math.abs(this.currentRotation)||270===Math.abs(this.currentRotation)||1!==this.zoom)&&this.adjustModalSize()}makeSelectionMovable(){this.addResizeHandles(),this.setupResizeHandlers();let i=!1,e=0,r=0,t=0,n=0;this.componentContainer.registerDomEvent(this.selectionArea,"mousedown",f=>{f.stopPropagation(),i=!0,t=parseInt(this.selectionArea.style.left)||0,n=parseInt(this.selectionArea.style.top)||0,e=f.clientX,r=f.clientY,this.selectionArea.style.cursor="move"}),this.componentContainer.registerDomEvent(document,"mousemove",f=>{if(!i)return;let a=f.clientX-e,o=f.clientY-r,A=t+a,s=n+o,l=this.cropContainer.getBoundingClientRect(),k=this.selectionArea.getBoundingClientRect();A=Math.max(0,Math.min(A,l.width-k.width)),s=Math.max(0,Math.min(s,l.height-k.height)),this.selectionArea.style.left=`${A}px`,this.selectionArea.style.top=`${s}px`}),this.componentContainer.registerDomEvent(document,"mouseup",e=>{i=!1,this.selectionArea.style.cursor="move"})}updateSelectionSize(i,e){let r=i-this.startX,t=e-this.startY;if(this.currentAspectRatio){let i=Math.abs(r),e=Math.abs(t);i/e>this.currentAspectRatio?r=Math.sign(r)*e*this.currentAspectRatio:t=Math.sign(t)*i/this.currentAspectRatio}r<0?(this.selectionArea.style.left=`${this.startX+r}px`,this.selectionArea.style.width=`${Math.abs(r)}px`):(this.selectionArea.style.left=`${this.startX}px`,this.selectionArea.style.width=`${r}px`),t<0?(this.selectionArea.style.top=`${this.startY+t}px`,this.selectionArea.style.height=`${Math.abs(t)}px`):(this.selectionArea.style.top=`${this.startY}px`,this.selectionArea.style.height=`${t}px`)}adjustSelectionToAspectRatio(){if(!this.currentAspectRatio)return;let i=parseInt(this.selectionArea.style.width),e=parseInt(this.selectionArea.style.height);if(i/e>this.currentAspectRatio){let i=e*this.currentAspectRatio;this.selectionArea.style.width=`${i}px`}else{let e=i/this.currentAspectRatio;this.selectionArea.style.height=`${e}px`}}addResizeHandles(){["nw","n","ne","w","e","sw","s","se"].forEach(i=>{let e=document.createElement("div");e.className=`resize-handle ${i}-resize`,this.selectionArea.appendChild(e)})}setupResizeHandlers(){let i=!1,e=null,r=0,t=0,n=0,f=0,a=0,o=0;this.selectionArea.querySelectorAll(".resize-handle").forEach(A=>{this.componentContainer.registerDomEvent(A,"mousedown",s=>{s.stopPropagation(),i=!0;let[,l]=A.className.split(" ");[e]=l.split("-"),r=s.clientX,t=s.clientY,n=this.selectionArea.offsetWidth,f=this.selectionArea.offsetHeight,a=this.selectionArea.offsetLeft,o=this.selectionArea.offsetTop})}),this.componentContainer.registerDomEvent(document,"mousemove",A=>{if(!i)return;let s=A.clientX-r,l=A.clientY-t,k=n,h=f,u=a,c=o;switch(e){case"se":k=n+s,h=this.currentAspectRatio?k/this.currentAspectRatio:f+l;break;case"sw":k=n-s,h=this.currentAspectRatio?k/this.currentAspectRatio:f+l,u=a+s;break;case"ne":k=n+s,h=this.currentAspectRatio?k/this.currentAspectRatio:f-l,c=o+(f-h);break;case"nw":k=n-s,h=this.currentAspectRatio?k/this.currentAspectRatio:f-l,u=a+s,c=o+(f-h);break;case"n":h=f-l,this.currentAspectRatio&&(k=h*this.currentAspectRatio,u=a+(n-k)/2),c=o+l;break;case"s":h=f+l,this.currentAspectRatio&&(k=h*this.currentAspectRatio,u=a+(n-k)/2);break;case"e":k=n+s,this.currentAspectRatio&&(h=k/this.currentAspectRatio,c=o+(f-h)/2);break;case"w":k=n-s,this.currentAspectRatio&&(h=k/this.currentAspectRatio,c=o+(f-h)/2),u=a+s}let d=this.cropContainer.getBoundingClientRect();k=Math.max(20,Math.min(k,d.width-u)),h=Math.max(20,Math.min(h,d.height-c)),u=Math.max(0,Math.min(u,d.width-k)),c=Math.max(0,Math.min(c,d.height-h)),this.selectionArea.style.width=`${k}px`,this.selectionArea.style.height=`${h}px`,this.selectionArea.style.left=`${u}px`,this.selectionArea.style.top=`${c}px`}),this.componentContainer.registerDomEvent(document,"mouseup",r=>{i=!1,e=null})}resetSelection(){this.selectionArea.style.display="none",this.selectionArea.style.width="0",this.selectionArea.style.height="0"}async saveImage(){try{let i=document.createElement("canvas"),e=i.getContext("2d");if(!e)throw new Error("Could not get canvas context");i.width=this.originalImage.naturalWidth,i.height=this.originalImage.naturalHeight,e.drawImage(this.originalImage,0,0);let r=document.createElement("canvas"),t=r.getContext("2d");if(!t)throw new Error("Could not get canvas context for rotation");r.width=90===Math.abs(this.currentRotation)||270===Math.abs(this.currentRotation)?i.height:i.width,r.height=90===Math.abs(this.currentRotation)||270===Math.abs(this.currentRotation)?i.width:i.height,t.translate(r.width/2,r.height/2),t.rotate(this.currentRotation*Math.PI/180),t.scale(this.isFlippedX?-1:1,this.isFlippedY?-1:1),t.drawImage(i,-i.width/2,-i.height/2);let n=document.createElement("canvas"),f=n.getContext("2d");if(!f)throw new Error("Could not get canvas context for cropping");if("none"!==this.selectionArea.style.display&&this.selectionArea.offsetWidth){let e=this.selectionArea.getBoundingClientRect(),t=this.originalImage.getBoundingClientRect(),a=(e.left-t.left)*(this.originalImage.naturalWidth/t.width),o=(e.top-t.top)*(this.originalImage.naturalHeight/t.height),A=e.width*(this.originalImage.naturalWidth/t.width),s=e.height*(this.originalImage.naturalHeight/t.height),l=this.currentRotation*Math.PI/180,k=[{x:a,y:o},{x:a+A,y:o},{x:a,y:o+s},{x:a+A,y:o+s}].map(e=>{let t=e.x-i.width/2,n=e.y-i.height/2,f=t*Math.cos(l)-n*Math.sin(l),a=t*Math.sin(l)+n*Math.cos(l);return{x:f+r.width/2,y:a+r.height/2}}),h=Math.min(...k.map(i=>i.x)),u=Math.max(...k.map(i=>i.x)),c=Math.min(...k.map(i=>i.y)),d=Math.max(...k.map(i=>i.y)),b=h,p=c,g=u-h,m=d-c;n.width=Math.round(g),n.height=Math.round(m),f.drawImage(r,Math.round(b),Math.round(p),Math.round(g),Math.round(m),0,0,Math.round(g),Math.round(m))}else n.width=r.width,n.height=r.height,f.drawImage(r,0,0);let a=this.imageFile.extension.toLowerCase(),o="png",A=1;switch(a){case"jpg":case"jpeg":o="jpeg",A=.92;break;case"webp":o="webp",A=.92;break;case"avif":o="avif",A=.85;break;case"png":o="png"}let s=await new Promise((i,e)=>{n.toBlob(r=>{r?i(r):e(new Error("Failed to create blob from canvas"))},`image/${o}`,A)});if(!s)throw new Error("Failed to create image blob");let l=await s.arrayBuffer();if(!l)throw new Error("Failed to create array buffer from blob");await this.app.vault.modifyBinary(this.imageFile,l),new i2.Notice("Image saved successfully");let k=this.app.workspace.getMostRecentLeaf();if(k){let i=k.getViewState();await k.setViewState({type:"empty",state:{}}),await k.setViewState(i)}this.close()}catch(i){console.error("Save error:",i),new i2.Notice(`Error saving image: ${i.message}`)}}onClose(){this.originalImage?.src&&URL.revokeObjectURL(this.originalImage.src),this.containerEl.querySelectorAll("canvas").forEach(i=>{let e=i.getContext("2d");e&&e.clearRect(0,0,i.width,i.height),i.width=0,i.height=0}),this.originalArrayBuffer=null,this.componentContainer.unload(),this.contentEl.empty()}},H0=require("obsidian"),lr=class extends H0.Modal{constructor(i,e,r){super(i),this.plugin=e,this.imageFile=r,this.loadModalSettings(),this.titleEl.setText(`Process Image: ${r.name}`)}imageFile;modalSettings;previewImageUrl=null;previewContainer;conversionSettingsContainer;resizeSettingsContainer;buttonContainer;loadModalSettings(){let i=this.plugin.settings.singleImageModalSettings;if(i)this.modalSettings={...i};else{let i=this.plugin.settings.conversionPresets.find(i=>"AVIF"===i.outputFormat),e=this.plugin.settings.conversionPresets.find(i=>"PNGQUANT"===i.outputFormat);this.modalSettings={conversionPresetName:this.plugin.settings.selectedConversionPreset,outputFormat:this.plugin.settings.outputFormat,quality:this.plugin.settings.quality,colorDepth:this.plugin.settings.colorDepth,resizeMode:this.plugin.settings.resizeMode,desiredWidth:this.plugin.settings.desiredWidth,desiredHeight:this.plugin.settings.desiredHeight,desiredLongestEdge:this.plugin.settings.desiredLongestEdge,enlargeOrReduce:this.plugin.settings.enlargeOrReduce,allowLargerFiles:this.plugin.settings.allowLargerFiles,pngquantExecutablePath:e?.pngquantExecutablePath||"",pngquantQuality:e?.pngquantQuality||"",ffmpegExecutablePath:i?.ffmpegExecutablePath||"",ffmpegCrf:void 0!==i?.ffmpegCrf?i.ffmpegCrf:void 0!==this.plugin.settings.ffmpegCrf?this.plugin.settings.ffmpegCrf:23,ffmpegPreset:i?.ffmpegPreset||this.plugin.settings.ffmpegPreset||"medium"}}}saveModalSettings(){this.plugin.settings.singleImageModalSettings={...this.modalSettings},this.plugin.saveSettings()}async onOpen(){this.contentEl.empty(),this.contentEl.addClass("process-single-image-modal"),this.previewContainer=this.contentEl.createDiv("preview-image-container"),this.previewContainer.setCssStyles({border:"1px solid #ccc",padding:"10px",margin:"1em 0",textAlign:"center",maxHeight:"400px",overflowY:"auto",overflowX:"hidden"}),this.conversionSettingsContainer=this.contentEl.createDiv("conversion-settings-container"),this.resizeSettingsContainer=this.contentEl.createDiv("resize-settings-container"),this.buttonContainer=this.contentEl.createDiv("process-single-image-modal-buttons");let i=window.innerWidth,e=Math.min(.9*i,800);this.modalEl.setCssStyles({width:`${e}px`}),this.renderSettings(),await this.generatePreview(),this.renderActionButtons()}renderSettings(){this.renderConversionSettings(),this.renderResizeSettings()}renderConversionSettings(){this.conversionSettingsContainer.empty();let i=this.plugin.getPresetByName(this.modalSettings.conversionPresetName,this.plugin.settings.conversionPresets,"Conversion");new H0.Setting(this.conversionSettingsContainer).setName("Output Format").addDropdown(i=>{Object.entries({WEBP:"WEBP",JPEG:"JPEG",PNG:"PNG",ORIGINAL:"Original (Compress)",NONE:"None (No Conversion)",PNGQUANT:"pngquant (PNG Only)",AVIF:"AVIF (via ffmpeg)"}).forEach(([e,r])=>{i.addOption(e,r)}),i.setValue(this.modalSettings.outputFormat),i.onChange(async i=>{let e=this.modalSettings.pngquantExecutablePath,r=this.modalSettings.ffmpegExecutablePath;this.modalSettings.outputFormat=i,this.modalSettings.pngquantExecutablePath=e,this.modalSettings.ffmpegExecutablePath=r,this.renderConversionSettings(),await this.generatePreview()})}),["WEBP","JPEG","ORIGINAL"].includes(this.modalSettings.outputFormat)&&new H0.Setting(this.conversionSettingsContainer).setName("Quality").addSlider(i=>{i.setLimits(1,100,1).setValue(this.modalSettings.quality).setDynamicTooltip().onChange(async i=>{this.modalSettings.quality=i,await this.generatePreview()})}),"PNG"===this.modalSettings.outputFormat&&new H0.Setting(this.conversionSettingsContainer).setName("Color depth").addSlider(i=>{i.setLimits(0,1,.1).setValue(this.modalSettings.colorDepth).setDynamicTooltip().onChange(async i=>{this.modalSettings.colorDepth=i,await this.generatePreview()})}),"PNGQUANT"===this.modalSettings.outputFormat&&(new H0.Setting(this.conversionSettingsContainer).setName("pngquant executable path 🛈").setTooltip("Provide full-path to the binary file. It can be inside vault or anywhere in your file system.").addText(e=>{this.plugin.settings.conversionPresets.find(i=>"PNGQUANT"===i.outputFormat),e.setValue(this.modalSettings.pngquantExecutablePath).onChange(async e=>{i&&(i.pngquantExecutablePath=e),this.modalSettings.pngquantExecutablePath=e}),e.inputEl.setAttr("spellcheck","false")}),new H0.Setting(this.conversionSettingsContainer).setName("Quality min-max range 🛈").setTooltip("Instructs pngquant to use the least amount of colors required to meet or exceed the max quality. min and max are numbers in range 0 (worst) to 100 (perfect).").addText(i=>{i.setValue(this.modalSettings.pngquantQuality).onChange(async i=>{this.modalSettings.pngquantQuality=i}),i.inputEl.setAttr("spellcheck","false")})),"AVIF"===this.modalSettings.outputFormat&&(new H0.Setting(this.conversionSettingsContainer).setName("FFmpeg executable path 🛈").setTooltip("Provide full-path to the binary file. It can be inside vault or anywhere in your file system.").addText(e=>{this.plugin.settings.conversionPresets.find(i=>"AVIF"===i.outputFormat),e.setValue(this.modalSettings.ffmpegExecutablePath).onChange(async e=>{i&&(i.ffmpegExecutablePath=e),this.modalSettings.ffmpegExecutablePath=e}),e.inputEl.setAttr("spellcheck","false")}),new H0.Setting(this.conversionSettingsContainer).setName("FFmpeg CRF").setDesc("Lower values mean better quality (larger file size). 0 is lossless.").addSlider(i=>{i.setLimits(0,63,1).setValue(this.modalSettings.ffmpegCrf).setDynamicTooltip().onChange(async i=>{this.modalSettings.ffmpegCrf=i})}),new H0.Setting(this.conversionSettingsContainer).setName("FFmpeg Preset").addDropdown(i=>{i.addOptions({ultrafast:"ultrafast",superfast:"superfast",veryfast:"veryfast",faster:"faster",fast:"fast",medium:"medium",slow:"slow",slower:"slower",veryslow:"veryslow",placebo:"placebo"}),i.setValue(this.modalSettings.ffmpegPreset),i.onChange(async i=>{this.modalSettings.ffmpegPreset=i})}))}renderResizeSettings(){this.resizeSettingsContainer.empty(),new H0.Setting(this.resizeSettingsContainer).setName("Resize Mode").addDropdown(i=>{Object.entries({None:"None",Fit:"Fit",Fill:"Fill",LongestEdge:"Longest Edge",ShortestEdge:"Shortest Edge",Width:"Width",Height:"Height"}).forEach(([e,r])=>{i.addOption(e,r)}),i.setValue(this.modalSettings.resizeMode).onChange(async i=>{this.modalSettings.resizeMode=i,this.renderResizeSettings(),await this.generatePreview()})}),["Fit","Fill","Width","Height","LongestEdge","ShortestEdge"].includes(this.modalSettings.resizeMode)&&(["Fit","Fill","Width"].includes(this.modalSettings.resizeMode)&&new H0.Setting(this.resizeSettingsContainer).setName("Desired Width").addText(i=>{i.setValue(this.modalSettings.desiredWidth.toString()).onChange(async i=>{this.modalSettings.desiredWidth=parseInt(i,10)||0,["PNGQUANT","AVIF"].includes(this.modalSettings.outputFormat)||await this.generatePreview()}),i.inputEl.setAttr("spellcheck","false")}),["Fit","Fill","Height"].includes(this.modalSettings.resizeMode)&&new H0.Setting(this.resizeSettingsContainer).setName("Desired Height").addText(i=>{i.setValue(this.modalSettings.desiredHeight.toString()).onChange(async i=>{this.modalSettings.desiredHeight=parseInt(i,10)||0,["PNGQUANT","AVIF"].includes(this.modalSettings.outputFormat)||await this.generatePreview()}),i.inputEl.setAttr("spellcheck","false")}),["LongestEdge","ShortestEdge"].includes(this.modalSettings.resizeMode)&&new H0.Setting(this.resizeSettingsContainer).setName("LongestEdge"===this.modalSettings.resizeMode?"Desired Longest Edge":"Desired Shortest Edge").addText(i=>{i.setValue(this.modalSettings.desiredLongestEdge.toString()).onChange(async i=>{this.modalSettings.desiredLongestEdge=parseInt(i,10)||0,["PNGQUANT","AVIF"].includes(this.modalSettings.outputFormat)||await this.generatePreview()}),i.inputEl.setAttr("spellcheck","false")}),new H0.Setting(this.resizeSettingsContainer).setName("Enlarge/Reduce").addDropdown(i=>{Object.entries({Auto:"Auto",Reduce:"Only Reduce",Enlarge:"Only Enlarge"}).forEach(([e,r])=>{i.addOption(e,r)}),i.setValue(this.modalSettings.enlargeOrReduce).onChange(async i=>{this.modalSettings.enlargeOrReduce=i,["PNGQUANT","AVIF"].includes(this.modalSettings.outputFormat)||await this.generatePreview()})}))}renderActionButtons(){this.buttonContainer.empty(),new H0.Setting(this.buttonContainer).addButton(i=>{i.setButtonText("Process").setCta().onClick(()=>this.processImage())}).addButton(i=>{i.setButtonText("Cancel").onClick(()=>this.close())})}async generatePreview(){if("PNGQUANT"===this.modalSettings.outputFormat||"AVIF"===this.modalSettings.outputFormat)return this.previewContainer.empty(),void this.previewContainer.createEl("p",{text:"Preview not available for this format."});this.previewContainer.empty();let i=this.previewContainer.createEl("p",{text:"Generating preview..."});try{let e=await this.app.vault.readBinary(this.imageFile),r=new Blob([e],{type:this.imageFile.extension?`image/${this.imageFile.extension}`:"application/octet-stream"}),t=await this.plugin.imageProcessor.processImage(r,this.modalSettings.outputFormat,this.modalSettings.quality/100,this.modalSettings.colorDepth,this.modalSettings.resizeMode,this.modalSettings.desiredWidth,this.modalSettings.desiredHeight,this.modalSettings.desiredLongestEdge,this.modalSettings.enlargeOrReduce,this.modalSettings.allowLargerFiles,void 0,this.plugin.settings),n=new Blob([t],{type:`image/${this.modalSettings.outputFormat.toLowerCase()}`});this.previewImageUrl=URL.createObjectURL(n),this.previewContainer.createEl("img",{attr:{src:this.previewImageUrl},cls:"preview-image"}).setCssStyles({maxWidth:"100%",maxHeight:"350px",height:"auto",display:"block",margin:"0 auto"}),i.remove()}catch(e){i.setText(`Preview failed: ${e.message}`),console.error("Preview generation failed:",e)}}async processImage(){try{let i=await this.app.vault.readBinary(this.imageFile),e=new File([i],this.imageFile.name,{type:this.imageFile.extension?`image/${this.imageFile.extension}`:"application/octet-stream"}),r=this.imageFile.parent?.path||"",t="NONE"===this.modalSettings.outputFormat||"ORIGINAL"===this.modalSettings.outputFormat?this.imageFile.name:`${this.imageFile.name.substring(0,this.imageFile.name.lastIndexOf("."))}.${this.modalSettings.outputFormat.toLowerCase()}`;"PNGQUANT"===this.modalSettings.outputFormat&&(t=`${this.imageFile.name.substring(0,this.imageFile.name.lastIndexOf("."))}.png`);let n=this.plugin.folderAndFilenameManagement.combinePath(r,t),f=this.plugin.getPresetByName(this.modalSettings.conversionPresetName,this.plugin.settings.conversionPresets,"Conversion");if("NONE"===this.modalSettings.outputFormat&&"None"===this.modalSettings.resizeMode)return new H0.Notice(`No processing needed for "${this.imageFile.name}".`,1e3),void this.close();if(f&&this.plugin.folderAndFilenameManagement.shouldSkipConversion(this.imageFile.name,f))return new H0.Notice(`Skipped conversion of image "${this.imageFile.name}" due to skip pattern match in the conversion preset.`,2e3),void this.close();let a,o=this.imageFile.stat.size;if("NONE"===this.modalSettings.outputFormat&&"None"!==this.modalSettings.resizeMode)a=await this.plugin.imageProcessor.resizeImage(e,this.modalSettings.resizeMode,this.modalSettings.desiredWidth,this.modalSettings.desiredHeight,this.modalSettings.desiredLongestEdge,this.modalSettings.enlargeOrReduce);else if("ORIGINAL"===this.modalSettings.outputFormat)a=await this.plugin.imageProcessor.compressOriginalImage(e,this.modalSettings.quality/100,this.modalSettings.resizeMode,this.modalSettings.desiredWidth,this.modalSettings.desiredHeight,this.modalSettings.desiredLongestEdge,this.modalSettings.enlargeOrReduce);else{let i=this.plugin.settings.conversionPresets.find(i=>"AVIF"===i.outputFormat);a=await this.plugin.imageProcessor.processImage(e,this.modalSettings.outputFormat,"AVIF"===this.modalSettings.outputFormat?100:this.modalSettings.quality/100,this.modalSettings.colorDepth,this.modalSettings.resizeMode,this.modalSettings.desiredWidth,this.modalSettings.desiredHeight,this.modalSettings.desiredLongestEdge,this.modalSettings.enlargeOrReduce,this.modalSettings.allowLargerFiles,"PNGQUANT"===this.modalSettings.outputFormat?{name:"temp",outputFormat:"PNGQUANT",quality:100,colorDepth:1,resizeMode:"None",desiredWidth:0,desiredHeight:0,desiredLongestEdge:0,enlargeOrReduce:"Auto",allowLargerFiles:!1,skipConversionPatterns:"",pngquantExecutablePath:this.modalSettings.pngquantExecutablePath,pngquantQuality:this.modalSettings.pngquantQuality}:"AVIF"===this.modalSettings.outputFormat?{name:"temp",outputFormat:"AVIF",quality:100,colorDepth:1,resizeMode:"None",desiredWidth:0,desiredHeight:0,desiredLongestEdge:0,enlargeOrReduce:"Auto",allowLargerFiles:!1,skipConversionPatterns:"",ffmpegExecutablePath:i?.ffmpegExecutablePath||"",ffmpegCrf:this.modalSettings.ffmpegCrf,ffmpegPreset:this.modalSettings.ffmpegPreset}:void 0,this.plugin.settings)}if(a&&this.plugin.settings.revertToOriginalIfLarger&&a.byteLength>o)this.plugin.showSizeComparisonNotification(o,a.byteLength),new H0.Notice(`Using original image for "${this.imageFile.name}" as processed image is larger.`,1e3);else if(a)if(this.plugin.showSizeComparisonNotification(o,a.byteLength),this.imageFile.path!==n){await this.app.fileManager.renameFile(this.imageFile,n);let i=this.app.vault.getAbstractFileByPath(n);if(!(i instanceof H0.TFile))return void new H0.Notice(`Error: Could not find renamed file at ${n}`);await this.app.vault.modifyBinary(i,a)}else await this.app.vault.modifyBinary(this.imageFile,a);let A=this.app.workspace.getActiveViewOfType(H0.MarkdownView);if(A){let{editor:i}=A,e=i.getValue(),r=this.imageFile.name.replace(/[[\]]/g,"\\$&"),n=new RegExp(`!\\[\\[${r}(?:\\|[^\\]]+)?\\]\\[\\]|!\\[.*?\\]\\((${r})(?:\\?[^)]*)?\\)`,"g"),f=`![[${t}]]`,a=e.replace(n,f);a!==e&&(i.setValue(a),new H0.Notice(`Link updated in "${A.file?.name}"`,1e3))}this.refreshActiveNote(),new H0.Notice(`Image "${this.imageFile.name}" processed`,1e3),this.close()}catch(i){console.error("Error processing image:",i),new H0.Notice(`Failed to process image: ${i.message}`,2e3)}finally{this.previewImageUrl&&(URL.revokeObjectURL(this.previewImageUrl),this.previewImageUrl=null)}}async refreshActiveNote(){let i=this.app.workspace.getActiveFile();if(i){let e=this.app.workspace.getLeaf();if(e){let r=this.app.workspace.getMostRecentLeaf();if(r){let i=r.getViewState();await r.setViewState({type:"empty",state:{}}),await r.setViewState(i)}await e.openFile(i,{active:!0})}}}onClose(){this.saveModalSettings(),this.previewImageUrl&&(URL.revokeObjectURL(this.previewImageUrl),this.previewImageUrl=null),this.contentEl.empty()}},kn=class extends l0.Component{constructor(i,e,r,t){super(),this.app=i,this.plugin=e,this.folderAndFilenameManagement=r,this.variableProcessor=t,this.registerContextMenuListener()}contextMenuRegistered=!1;currentMenu=null;stopPropagationHandler=i=>i.stopPropagation();documentClickHandler=i=>{!i.target.closest(".image-converter-contextmenu-info-container")&&!i.target.closest(".menu-item")&&this.currentMenu?.hide()};registerContextMenuListener(){this.contextMenuRegistered||(this.plugin.registerDomEvent(document,"contextmenu",this.handleContextMenuEvent,!0),this.contextMenuRegistered=!0)}handleContextMenuEvent=i=>{let e=i.target;if("canvas"===this.app.workspace.getActiveViewOfType(l0.View)?.getViewType())return;let r=e instanceof HTMLImageElement?e:e.closest("img");if(!r||this.plugin.supportedImageFormats.isExcalidrawImage(r))return;if(!r.closest(".markdown-preview-view")&&!r.closest(".markdown-source-view"))return void e.closest(".map-view-main");i.preventDefault(),i.stopPropagation();let t=new l0.Menu,n=this.app.workspace.getActiveFile();n&&this.createContextMenuItems(t,r,n,i),t.showAtMouseEvent(i)};createContextMenuItems(i,e,r,t){return this.currentMenu=i,this.addRenameAndMoveInputs(i,e,r),i.addSeparator(),l0.Platform.isMobile||(this.addOpenInNewWindowMenuItem(i,e),i.addSeparator(),this.addCutImageMenuItem(i,t)),this.addCopyImageMenuItem(i,t),this.addCopyBase64ImageMenuItem(i,t),i.addSeparator(),this.plugin.settings.isImageAlignmentEnabled&&this.plugin.ImageAlignmentManager&&this.plugin.ImageAlignmentManager.addAlignmentOptionsToContextMenu(i,e,r),this.addProcessImageMenuItem(i,e,t),this.addCropRotateFlipMenuItem(i,e),this.addAnnotateImageMenuItem(i,e),i.addSeparator(),l0.Platform.isMobile||(this.addShowInNavigationMenuItem(i,e),this.addShowInSystemExplorerMenuItem(i,e)),i.addSeparator(),this.addDeleteImageAndLinkMenuItem(i,t),!0}async loadCurrentCaption(i,e){try{let e=this.folderAndFilenameManagement.getImagePath(i);if(!e)return"";let r=this.app.workspace.getActiveViewOfType(l0.MarkdownView);if(!r)return"";let{editor:t}=r,n=!e,f=await this.findImageMatches(t,e,n);if(f&&f.length>0){let[i]=f,e=i.fullMatch.match(/!\[\[([^\]]+?)(?:\|([^|\]]+?))?\s*(?:\|([^|\]]+?))?\]\]/);if(e){let i=e[2]||"",r=e[3]||"",t=i=>/^\s*\d+x\d+\s*$/.test(i);return r&&!t(i)||i&&!t(i)?i.trim():""}let r=i.fullMatch.match(/!\[([^|\]]*?)(?:\|(\d+x\d+))?\]\(([^)]+)\)/);if(r)return(r[1]||"").trim()}return""}catch(i){return console.error("Error loading caption:",i),""}}async loadCurrentDimensions(i,e){try{let e=this.folderAndFilenameManagement.getImagePath(i);if(!e)return{width:"",height:""};let r=this.app.workspace.getActiveViewOfType(l0.MarkdownView);if(!r)return{width:"",height:""};let{editor:t}=r,n=!e,f=await this.findImageMatches(t,e,n);if(f&&f.length>0){let[i]=f,e=i.fullMatch.match(/!\[\[([^\]]+?)(?:\|([^|\]]+?))?\s*(?:\|([^|\]]+?))?\]\]/);if(e){let i=e[2]||"",r=e[3]||"",t=i=>/^\s*\d+(?:x\d+)?\s*$/.test(i),n="";if(t(r)?n=r.trim():t(i)&&(n=i.trim()),n){let i=n.split("x");return{width:i[0],height:i.length>1?i[1]:""}}}let r=i.fullMatch.match(/!\[([^|\]]*?)(?:\|(\d+(?:x\d+)?))?\]\(([^)]+)\)/);if(r&&r[2]){let i=r[2].split("x");return{width:i[0],height:i.length>1?i[1]:""}}}return{width:"",height:""}}catch(i){return console.error("Error loading dimensions:",i),{width:"",height:""}}}async updateImageLinkWithDimensions(i,e,r,t,n){let f=t?n?`${t}x${n}`:t:"",{line:a}=e;return a.includes("![[")?a.replace(/!\[\[([^\]]+?)(?:\|([^|\]]+?))?\s*(?:\|([^|\]]+?))?\]\]/g,(i,e)=>r&&f?`![[${e}|${r}|${f}]]`:r?`![[${e}|${r}]]`:f?`![[${e}|${f}]]`:`![[${e}]]`):a.replace(/!\[([^|\]]*?)(?:\|(\d+(?:x\d+)?))?\]\(([^)]+)\)/g,(i,e,t,n)=>r&&f?`![${r}|${f}](${n})`:r?`![${r}](${n})`:f?`![|${f}](${n})`:`![](${n})`)}async handleDimensionsAndCaptionUpdate(i,e,r,t,n,f,a){if(!a)return;let o=e.value.trim(),A=r.value.trim(),s=t.value.trim();if(A&&!/^\d+$/.test(A)||s&&!/^\d+$/.test(s))return void new l0.Notice("Dimensions must be positive numbers");let l=this.app.workspace.getActiveViewOfType(l0.MarkdownView);if(!l)return;let{editor:k}=l,h=this.folderAndFilenameManagement.getImagePath(n),u=!h,c=await this.findImageMatches(k,h,u);if(0===c.length)return void new l0.Notice("Failed to find image link in the current note.");let d=async()=>{for(let i of c){let e=await this.updateImageLinkWithDimensions(k,i,o,A,s);k.setLine(i.lineNumber,e)}new l0.Notice("Image caption and dimensions updated successfully."),this.plugin.captionManager?.refresh()};c.length>1?new Qi(this.app,"Confirm Updates",`Found ${c.length} matching image links. Update all?`,"Update",d).open():await d(),i.hide()}addRenameAndMoveInputs(i,e,r){if(!this.app.vault.getConfig("nativeMenus")&&!l0.Platform.isMobile){let t,n,f=this.folderAndFilenameManagement.getImagePath(e),a=null!==f,o="",A="",s="";if(a){let i=e2.parse(f);o=i.name,A=i.dir,s=i.ext,t=f,A||(A="/");let e=this.app.vault.getAbstractFileByPath(f);n=e instanceof l0.TFile?e:new File([""],f)}i.addItem(f=>{let l=f,k=document.createElement("div");k.className="image-converter-contextmenu-info-container";let h=document.createElement("div");h.className="image-converter-contextmenu-input-group";let u=document.createElement("div");u.className="image-converter-contextmenu-icon-container",(0,l0.setIcon)(u,"file-text"),h.appendChild(u);let c=document.createElement("label");c.textContent="Name:",c.setAttribute("for","image-converter-name-input"),h.appendChild(c);let d=document.createElement("input");d.type="text",d.value=o,d.placeholder="Enter a new image name",d.className="image-converter-contextmenu-name-input",d.id="image-converter-name-input",a||d.classList.add("image-converter-contextmenu-disabled"),h.appendChild(d);let b=document.createElement("div");b.className="image-converter-contextmenu-input-group";let p=document.createElement("div");p.className="image-converter-contextmenu-icon-container",(0,l0.setIcon)(p,"folder"),b.appendChild(p);let g=document.createElement("label");g.textContent="Folder:",g.setAttribute("for","image-converter-path-input"),b.appendChild(g);let m=document.createElement("input");m.type="text",m.value=A,m.placeholder="Enter a new path for the image",m.className="image-converter-contextmenu-path-input",m.id="image-converter-path-input",a||m.classList.add("image-converter-contextmenu-disabled"),b.appendChild(m);let v=document.createElement("div");v.className="image-converter-contextmenu-input-group";let w=document.createElement("div");w.className="image-converter-contextmenu-icon-container",(0,l0.setIcon)(w,"subtitles"),v.appendChild(w);let _=document.createElement("label");_.textContent="Caption:",_.setAttribute("for","image-converter-caption-input"),v.appendChild(_);let y=document.createElement("input");y.type="text",y.placeholder="Loading caption...",y.className="image-converter-contextmenu-caption-input",y.id="image-converter-caption-input",v.appendChild(y);let C=document.createElement("div");C.className="image-converter-contextmenu-input-group";let B=document.createElement("div");B.className="image-converter-contextmenu-icon-container",(0,l0.setIcon)(B,"aspect-ratio"),C.appendChild(B);let x=document.createElement("label");x.textContent="Size:",x.setAttribute("for","image-converter-width-input"),C.appendChild(x);let Z=document.createElement("input");Z.type="number",Z.min="1",Z.placeholder="W",Z.className="image-converter-contextmenu-dimension-input",Z.id="image-converter-width-input";let I=document.createElement("input");I.type="number",I.min="1",I.placeholder="H",I.className="image-converter-contextmenu-dimension-input",I.id="image-converter-height-input";let W=document.createElement("div");W.className="image-converter-contextmenu-dimension-inputs",W.appendChild(Z),W.appendChild(document.createTextNode("×")),W.appendChild(I),C.appendChild(W),this.loadCurrentDimensions(e,r).then(({width:i,height:e})=>{Z.value=i,I.value=e}),k.appendChild(h),k.appendChild(b),k.appendChild(v),k.appendChild(C);let E=document.createElement("div");E.className="image-converter-contextmenu-button image-converter-contextmenu-confirm",(0,l0.setIcon)(E,"check"),k.appendChild(E),[d,m,y,Z,I].forEach(i=>{this.registerDomEvent(i,"mousedown",this.stopPropagationHandler),this.registerDomEvent(i,"click",this.stopPropagationHandler),this.registerDomEvent(i,"keydown",this.stopPropagationHandler)}),this.registerDomEvent(document,"click",this.documentClickHandler),this.loadCurrentCaption(e,r).then(i=>{y.value=i,y.placeholder="Enter a custom caption"}),this.registerDomEvent(E,"click",async()=>{a&&(await this.handleRenameAndMove(i,d,m,e,a,o,s,t,n,r),await this.handleDimensionsAndCaptionUpdate(i,y,Z,I,e,r,a))}),l.dom.empty(),l.dom.appendChild(k)})}}handleRenameAndMove=async(i,e,r,t,n,f,a,o,A,s)=>{if(!n)return;let l=e.value,k=r.value,h={file:A,activeFile:s};if(l=await this.variableProcessor.processTemplate(l,h),k=await this.variableProcessor.processTemplate(k,h),l.trim())if(l=this.folderAndFilenameManagement.sanitizeFilename(l),/^[.]+$/.test(l.trim()))new l0.Notice("Please enter a valid file name");else if(k.trim()){if(o)try{if(l&&l!==f){let i=(0,l0.normalizePath)(e2.join(k,`${l}${a}`)),e=this.app.vault.getAbstractFileByPath(o);e instanceof l0.TFile&&(await this.folderAndFilenameManagement.ensureFolderExists(k),await this.app.fileManager.renameFile(e,i),t.src=this.app.vault.getResourcePath(e),new l0.Notice("Image name updated successfully"))}let i=`${l}${a}`,e=o,r=(0,l0.normalizePath)(e2.join(k,i));if(r!==e){let i=this.app.vault.getAbstractFileByPath(e);if(i instanceof l0.TFile){await this.folderAndFilenameManagement.ensureFolderExists(k),e.toLowerCase()===r.toLowerCase()?await this.folderAndFilenameManagement.safeRenameFile(i,r)?new l0.Notice("Image path updated (case-sensitive change)."):new l0.Notice("Image path update failed (case-sensitive change)."):(await this.app.fileManager.renameFile(i,r),new l0.Notice("Image path updated successfully")),t.src=this.app.vault.getResourcePath(i);let n=this.app.workspace.getMostRecentLeaf();if(n){let i=n.getViewState();await n.setViewState({type:"empty",state:{}}),await n.setViewState(i)}}}}catch(i){console.error("Failed to update image path:",i),new l0.Notice("Failed to update image path")}i.hide()}else new l0.Notice("Please enter a new path.");else new l0.Notice("Please enter a new file name.")};addOpenInNewWindowMenuItem(i,e){i.addItem(i=>{i.setTitle("Open in new window").setIcon("square-arrow-out-up-right").onClick(async()=>{try{let i=this.folderAndFilenameManagement.getImagePath(e);if(i){let e=this.app.vault.getAbstractFileByPath(i);if(e instanceof l0.TFile){let i=this.app.workspace.getLeaf("window");i&&await i.openFile(e)}}}catch(i){new l0.Notice("Failed to open in new window"),console.error(i)}})})}normalizeImagePath(i){if(!i)return"";let e=decodeURIComponent(i),[r]=e.split("?");return e=r,e=e.replace(/\\/g,"/"),e=e.replace(/%20/g," "),e.startsWith("/")||(e=`/${e}`),e=(0,l0.normalizePath)(e),e.toLowerCase()}findFrontmatterEnd(i){let e=!1,r=i.getDoc().lineCount();for(let t=0;t<r;t++)if("---"===i.getLine(t).trim())if(e||0!==t){if(e)return t}else e=!0;return-1}extractFilenameFromLink(i){let e=i.match(/!\[\[\s*([^|\]]+?)\s*(?:\|[^\]]+)?\]\]/);if(e)return e[1].trim();let r=i.match(/!\[.*?\]\(\s*(.*?)\s*\)/);return r?r[1].trim():null}async findImageMatches(i,e,r){let t=(i,e)=>{let r=e2.dirname(e);return i.startsWith("./")||i.startsWith("../")?(0,l0.normalizePath)(e2.join(r,i)):(0,l0.normalizePath)(i)},n=i.getDoc().lineCount(),f=this.findFrontmatterEnd(i),a=[],o=this.app.workspace.getActiveFile();if(!o)return a;for(let A=f+1;A<n;A++){let n=i.getLine(A),f=[...n.matchAll(/!\[\[([^\]]+?)(?:\|[^\]]+?)??\]\]/g)];for(let i of f){let f=i[0].trim(),s=this.extractFilenameFromLink(f);if(s&&!r){let i=t(s,o.path);if(e){let r=this.normalizeImagePath(e),t=this.normalizeImagePath(i);(r===t||r.endsWith(t))&&a.push({lineNumber:A,line:n,fullMatch:f})}}}let s=[...n.matchAll(/!\[([^\]]*?)(?:\|\d+(?:\|\d+)?)?\]\(([^)]+)\)/g)];for(let i of s){let[f,,s]=i;if(!r&&s){let i=t(s,o.path);if(e){let r=this.normalizeImagePath(e),t=this.normalizeImagePath(i);if((r===t||r.endsWith(t))&&a.push({lineNumber:A,line:n,fullMatch:f}),s.startsWith("./")){let i=s.substring(2),e=this.normalizeImagePath(i);r.endsWith(e)&&a.push({lineNumber:A,line:n,fullMatch:f})}}}else r&&(s.startsWith("http://")||s.startsWith("https://"))&&a.push({lineNumber:A,line:n,fullMatch:f})}}return a}async processBase64Image(i,e,r){let t=i.getDoc().lineCount();for(let n=0;n<t;n++){let t=i.getLine(n),f=[...t.matchAll(/<img\s+src="data:image\/[^"]+"\s*\/?>/g)];for(let a of f)if(a[0].includes(e))return await r(i,n,t,a[0]),!0}return!1}async removeImageLinkFromEditor(i,e,r,t,n){n&&await navigator.clipboard.writeText(t);let f={line:e,ch:r.indexOf(t)},a=f.ch+t.length,o=0;for(;" "===r[a+o]||"\t"===r[a+o];)o++;r.trim()===t.trim()?i.replaceRange("",{line:e,ch:0},{line:e+1,ch:0}):i.replaceRange("",f,{line:e,ch:a+o})}addCutImageMenuItem(i,e){i.addItem(i=>{i.setTitle("Cut").setIcon("scissors").onClick(async()=>{await this.cutImageAndLinkFromNote(e)})})}async cutImageAndLinkFromNote(i){let e=i.target,r=e.getAttribute("src");if(!r)return;let t=this.app.workspace.getActiveViewOfType(l0.MarkdownView);if(t)try{let{editor:i}=t;if(r.startsWith("data:image/"))return void(await this.processBase64Image(i,r,async(i,e,r,t)=>{await this.removeImageLinkFromEditor(i,e,r,t,!0)})||new l0.Notice("Failed to find Base64 image link"));let n=r.startsWith("http://")||r.startsWith("https://")?null:this.folderAndFilenameManagement.getImagePath(e),f=!n,a=await this.findImageMatches(i,n,f);if(0===a.length)return void new l0.Notice("Failed to find image link in the current note.");let o=async()=>{for(let e of a)await this.removeImageLinkFromEditor(i,e.lineNumber,e.line,e.fullMatch,!0);new l0.Notice("Image link(s) cut from note and copied to clipboard")};a.length>1?new Qi(this.app,"Confirm Cut",`Found ${a.length} matching image links inside current note. Do you want to cut all of them?`,"Cut",async()=>{for(let e of a)await this.removeImageLinkFromEditor(i,e.lineNumber,e.line,e.fullMatch,!0);new l0.Notice("Image link(s) cut from note and copied to clipboard")}).open():await o()}catch(i){console.error("Error cutting image:",i),new l0.Notice("Failed to cut image. Check console for details.")}else new l0.Notice("No active Markdown view found")}addCopyImageMenuItem(i,e){i.addItem(i=>i.setTitle("Copy image").setIcon("copy").onClick(async()=>{await this.copyImageToClipboard(e)}))}async copyImageToClipboard(i){let e=new Image;e.crossOrigin="anonymous";let r=i.target;this.registerDomEvent(e,"load",async()=>{try{let i=document.createElement("canvas");i.width=e.naturalWidth,i.height=e.naturalHeight;let r=i.getContext("2d");if(!r)return void new l0.Notice("Failed to get canvas context");r.drawImage(e,0,0);let t=i.toDataURL(),n=await(await fetch(t)).blob(),f=new ClipboardItem({[n.type]:n});await navigator.clipboard.write([f]),new l0.Notice("Image copied to clipboard")}catch(i){console.error("Failed to copy image:",i),new l0.Notice("Failed to copy image to clipboard")}}),e.src=r.src}addCopyBase64ImageMenuItem(i,e){i.addItem(i=>i.setTitle("Copy as Base64 encoded image").setIcon("copy").onClick(()=>{this.copyImageAsBase64(e)}))}async copyImageAsBase64(i){let e=i.target,r=new Image;r.crossOrigin="anonymous",this.registerDomEvent(r,"load",async()=>{try{let i=document.createElement("canvas");i.width=r.naturalWidth,i.height=r.naturalHeight;let e=i.getContext("2d");if(!e)return void new l0.Notice("Failed to get canvas context");e.drawImage(r,0,0);let t=i.toDataURL();await navigator.clipboard.writeText(`<img src="${t}"/>`),new l0.Notice("Image copied to clipboard as Base64")}catch(i){console.error("Failed to copy image as Base64:",i),new l0.Notice("Failed to copy image as Base64")}}),r.src=e.src}addProcessImageMenuItem(i,e,r){i.addItem(i=>{i.setTitle("Convert/compress...").setIcon("cog").onClick(async()=>{try{let i=this.app.workspace.getActiveViewOfType(l0.MarkdownView);if(!i)return void new l0.Notice("No active markdown view");let r=i.file;if(!r)return void new l0.Notice("No current file found");let t=e.getAttribute("src");if(!t)return void new l0.Notice("No source attribute found on the image");let n=decodeURIComponent(t.split("?")[0].split("/").pop()||"");if(!n)return void new l0.Notice("Unable to extract filename from the image source");let f=this.app.vault.getFiles().filter(i=>i.name===n);if(0===f.length)return console.error("No matching files found for:",n),void new l0.Notice(`Unable to find image: ${n}`);let a=1===f.length?f[0]:f.find(i=>{let e=r.parent?.path;return!!e&&i.path.startsWith(e)})||f[0];a instanceof l0.TFile?new lr(this.app,this.plugin,a).open():new l0.Notice("Error: Not a valid image file.")}catch(i){console.error("Error processing image:",i),new l0.Notice("Error processing image")}})})}addCropRotateFlipMenuItem(i,e){i.addItem(i=>{i.setTitle("Crop/Rotate/Flip").setIcon("scissors").onClick(async()=>{let i=this.app.workspace.getActiveViewOfType(l0.MarkdownView);if(!i)return void new l0.Notice("No active markdown view");let r=i.file;if(!r)return void new l0.Notice("No current file found");let t=e.getAttribute("src");if(!t)return void new l0.Notice("No source attribute found");let n=decodeURIComponent(t.split("?")[0].split("/").pop()||""),f=this.app.vault.getFiles().filter(i=>i.name===n);if(0===f.length)return console.error("No matching files found for:",n),void new l0.Notice(`Unable to find image: ${n}`);let a=1===f.length?f[0]:f.find(i=>{let e=r.parent?.path;return!!e&&i.path.startsWith(e)})||f[0];a instanceof l0.TFile?new ln(this.app,a).open():new l0.Notice("Unable to locate image file")})})}addAnnotateImageMenuItem(i,e){i.addItem(i=>{i.setTitle("Annotate image").setIcon("pencil").onClick(async()=>{try{let i=this.app.workspace.getActiveViewOfType(l0.MarkdownView);if(!i)return void new l0.Notice("No active markdown view");let r=i.file;if(!r)return void new l0.Notice("No current file found");let t=e.getAttribute("src");if(!t)return void new l0.Notice("No source attribute found");let n=decodeURIComponent(t.split("?")[0].split("/").pop()||""),f=this.app.vault.getFiles().filter(i=>i.name===n);if(0===f.length)return console.error("No matching files found for:",n),void new l0.Notice(`Unable to find image: ${n}`);let a=1===f.length?f[0]:f.find(i=>{let e=r.parent?.path;return!!e&&i.path.startsWith(e)})||f[0];a instanceof l0.TFile?new An(this.app,this.plugin,a).open():new l0.Notice("Unable to locate image file")}catch(i){console.error("Image location error:",i),new l0.Notice("Error processing image path")}})})}addShowInNavigationMenuItem(i,e){i.addItem(i=>{i.setTitle("Show in navigation").setIcon("folder-open").onClick(async()=>{await this.showImageInNavigation(e)})})}async showImageInNavigation(i){try{let e=this.folderAndFilenameManagement.getImagePath(i);if(e){let i=this.app.vault.getAbstractFileByPath(e);if(i instanceof l0.TFile){let[e]=this.app.workspace.getLeavesOfType("file-explorer");if(!e){let i=this.app.workspace.getLeftLeaf(!1);i&&(await i.setViewState({type:"file-explorer"}),e=i)}if(e){this.app.workspace.leftSplit&&this.app.workspace.leftSplit.expand();let r=e.view;r&&r.revealInFolder(i)}}}}catch(i){new l0.Notice("Failed to show in navigation"),console.error(i)}}addShowInSystemExplorerMenuItem(i,e){i.addItem(i=>{i.setTitle("Show in system explorer").setIcon("arrow-up-right").onClick(async()=>{await this.showImageInSystemExplorer(e)})})}async showImageInSystemExplorer(i){try{let e=this.folderAndFilenameManagement.getImagePath(i);e&&await this.app.showInFolder(e)}catch(i){new l0.Notice("Failed to show in system explorer"),console.error(i)}}addDeleteImageAndLinkMenuItem(i,e){i.addItem(i=>{i.setTitle("Delete Image and Link").setIcon("trash").onClick(async()=>{await this.deleteImageAndLinkFromNote(e)})})}async deleteImageAndLinkFromNote(i){let e=i.target,r=e.getAttribute("src");if(!r)return;let t=this.app.workspace.getActiveViewOfType(l0.MarkdownView);if(t)try{let{editor:i}=t;if(r.startsWith("data:image/"))return void(await this.processBase64Image(i,r,async(i,e,r,t)=>{await this.removeImageLinkFromEditor(i,e,r,t,!1)})||new l0.Notice("Failed to find Base64 image link"));let n=r.startsWith("http://")||r.startsWith("https://")?null:this.folderAndFilenameManagement.getImagePath(e),f=!n,a=await this.findImageMatches(i,n,f);if(0===a.length)return void new l0.Notice("Failed to find image link in the current note.");let o=new Map;for(let i of a){let e=`${i.lineNumber}-${i.line}-${i.fullMatch}`;o.has(e)||o.set(e,i)}let A=Array.from(o.values());if(0===A.length)return void new l0.Notice("Failed to find unique image links in the current note.");let s=async()=>{let e=A.sort((i,e)=>e.lineNumber-i.lineNumber);for(let r of e)await this.removeImageLinkFromEditor(i,r.lineNumber,r.line,r.fullMatch,!1);if(new l0.Notice("Image link(s) removed from note"),n){let i=this.app.vault.getAbstractFileByPath(n);i instanceof l0.TFile&&(await this.app.vault.trash(i,!0),new l0.Notice("Image file moved to trash"))}};if(A.length>1){let i=document.createDocumentFragment(),e=document.createElement("div");i.appendChild(e);let r=document.createElement("p");r.textContent=`Found ${A.length} unique matching image links inside current note. Do you want to delete all of them?`,e.appendChild(r),A.forEach((i,r)=>{let t=i.lineNumber+1,n=i.line.trim(),f=document.createElement("div");f.style.marginBottom="5px",f.innerHTML=` ${r+1}. Line ${t}: ${n}`,e.appendChild(f)}),new Qi(this.app,"Confirm Delete",i,"Delete",s).open()}else 1===A.length?await s():new l0.Notice("No unique image links found to delete.")}catch(i){console.error("Error deleting image:",i),new l0.Notice("Failed to delete image. Check console for details.")}else new l0.Notice("No active Markdown view found")}onunload(){super.onunload(),this.currentMenu&&(this.currentMenu.hide(),this.currentMenu=null),this.contextMenuRegistered=!1}},D2=require("obsidian"),ba=require("obsidian"),un=class extends ba.Component{constructor(i,e,r){super(),this.app=i,this.plugin=e,this.imageAlignmentManager=r}addAlignmentOptionsToContextMenu(i,e,r){i.addItem(i=>{i.setTitle("Align image").setIcon("align-justify").setSubmenu().addItem(i=>{let r=this.getCurrentImageAlignment(e);i.setTitle("Left").setIcon("align-left").setChecked("left"===r.align).onClick(async()=>{await this.updateImageAlignment(e,{align:"left"===r.align?"none":"left",wrap:r.wrap})})}).addItem(i=>{let r=this.getCurrentImageAlignment(e);i.setTitle("Center").setIcon("align-center").setChecked("center"===r.align).onClick(async()=>{await this.updateImageAlignment(e,{align:"center"===r.align?"none":"center",wrap:r.wrap})})}).addItem(i=>{let r=this.getCurrentImageAlignment(e);i.setTitle("Right").setIcon("align-right").setChecked("right"===r.align).onClick(async()=>{await this.updateImageAlignment(e,{align:"right"===r.align?"none":"right",wrap:r.wrap})})}).addSeparator().addItem(i=>{let r=this.getCurrentImageAlignment(e);i.setTitle("Wrap Text").setChecked(r.wrap).onClick(async()=>{let i="none"===r.align?"left":r.align;await this.updateImageAlignment(e,{align:i,wrap:!r.wrap})})})})}applyAlignmentToImage(i,e){if(!e)return void console.error("No position data provided for image:",i.src);let r=i.matchParent(".internal-embed.image-embed");r&&(r.removeClass("image-position-left","image-position-center","image-position-right","image-wrap","image-no-wrap"),"none"!==e.position&&(r.addClass(`image-position-${e.position}`,"image-converter-aligned"),r.addClass(e.wrap?"image-wrap":"image-no-wrap"))),i.removeClass("image-position-left","image-position-center","image-position-right","image-wrap","image-no-wrap","image-converter-aligned"),"none"!==e.position&&(i.addClass("image-converter-aligned"),i.addClass(`image-position-${e.position}`),i.addClass(e.wrap?"image-wrap":"image-no-wrap"),e.width&&i.setCssStyles({width:e.width}),e.height&&i.setCssStyles({height:e.height}))}async updateImageAlignment(i,e){let r=this.app.workspace.getActiveFile();if(!r)return;let t=i.getAttribute("src");if(!t)return;let n=this.imageAlignmentManager.getRelativePath(t);i.removeClass("image-position-left","image-position-center","image-position-right","image-wrap","image-no-wrap","image-converter-aligned"),"none"!==e.align&&(i.addClass(`image-position-${e.align}`,"image-converter-aligned"),i.addClass(e.wrap?"image-wrap":"image-no-wrap"));let f=i.matchParent(".internal-embed.image-embed");f&&(f.removeClass("image-position-left","image-position-center","image-position-right","image-wrap","image-no-wrap","image-converter-aligned"),"none"!==e.align&&(f.addClass(`image-position-${e.align}`),f.addClass(e.wrap?"image-wrap":"image-no-wrap"))),"none"===e.align?this.plugin.ImageAlignmentManager.removeImageFromCache(r.path,n):this.plugin.ImageAlignmentManager.saveImageAlignmentToCache(r.path,n,e.align,i.style.width,i.style.height,e.wrap)}getCurrentImageAlignment(i){let e=this.app.workspace.getActiveFile();if(!e)return{align:"none",wrap:!1};let r=i.getAttr("src");if(!r)return{align:"none",wrap:!1};let t=this.imageAlignmentManager.getImageAlignment(e.path,r);if(t)return{align:t.position,wrap:t.wrap};let n=Array.from(i.classList).find(i=>i.startsWith("image-position-"));return{align:n?n.replace("image-position-",""):"none",wrap:i.hasClass("image-wrap")}}},hn=class{locks=new Map;async acquire(i,e){let r=await this.acquireLock(i);try{return await e()}finally{r()}}async acquireLock(i){for(;this.locks.has(i);)await this.locks.get(i);let e,r=new Promise(i=>e=i);return this.locks.set(i,r),()=>{this.locks.delete(i),e()}}},cn=class{constructor(i,e,r){this.app=i,this.plugin=e,this.supportedImageFormats=r,this.pluginDir=this.getPluginDir(),this.updateCacheFilePath(),this.imageAlignment=new un(this.app,this.plugin,this),this.debouncedValidateNoteCache=(0,D2.debounce)(this.validateNoteCache.bind(this),300,!0)}imageAlignment;pluginDir;cacheFilePath;cache={};imageObserver=null;lock=new hn;imageStates=new Map;eventRefs=[];cleanupIntervalId=null;debouncedValidateNoteCache;async initialize(){await this.loadCache(),this.registerEvents(),this.scheduleCacheCleanup();let i=this.app.workspace.getActiveFile();i&&this.applyAlignmentsToNote(i.path)}addAlignmentOptionsToContextMenu(i,e,r){this.imageAlignment.addAlignmentOptionsToContextMenu(i,e,r)}updateCacheFilePath(){".obsidian"===this.plugin.settings.imageAlignment_cacheLocation?this.cacheFilePath=".obsidian/image-converter-image-alignments.json":this.cacheFilePath=`${this.pluginDir}/image-converter-image-alignments.json`}getPluginDir(){return this.plugin.manifest.dir||(console.error("Could not determine plugin directory"),"")}getCache(){return this.cache}async loadCache(){try{let{adapter:i}=this.app.vault;if(await i.exists(this.cacheFilePath)){let e=await i.read(this.cacheFilePath);this.cache=JSON.parse(e)}}catch(i){console.error("Error loading image alignment cache:",i),this.cache={}}}async saveCache(){try{if(!this.pluginDir)return void console.error("Plugin directory not found");let{adapter:i}=this.app.vault;await i.write(this.cacheFilePath,JSON.stringify(this.cache,null,2))}catch(i){console.error("Error saving image alignment cache:",i)}}registerEvents(){this.eventRefs.push(this.app.vault.on("delete",async i=>{if(i instanceof D2.TFile){if("md"===i.extension)await this.removeNoteFromCache(i.path);else if(this.supportedImageFormats.isSupported(void 0,i.name)){let e=Object.keys(this.getCache());for(let r of e){let e=this.getImageHash(r,i.path);await this.removeImageFromCache(r,e)}}let e=this.app.workspace.getActiveFile();if(e&&"md"===e.extension){let i=await this.app.vault.cachedRead(e);this.validateNoteCache(e.path,i)}}})),this.eventRefs.push(this.app.vault.on("rename",async(i,e)=>{if(i instanceof D2.TFile){if("md"===i.extension)this.cache[e]&&(this.cache[i.path]=this.cache[e],delete this.cache[e],await this.saveCache());else if(this.supportedImageFormats.isSupported(void 0,i.name)){let r=Object.keys(this.cache);for(let t of r){let r=this.getImageHash(t,e),n=this.getImageHash(t,i.path);this.cache[t][r]&&(this.cache[t][n]=this.cache[t][r],delete this.cache[t][r])}await this.saveCache()}let r=this.app.workspace.getActiveFile();if(r&&"md"===r.extension){let i=await this.app.vault.cachedRead(r);this.validateNoteCache(r.path,i)}}}))}async saveImageAlignmentToCache(i,e,r,t,n,f=!1){try{await this.lock.acquire("cacheOperation",async()=>{let a=this.getRelativePath(e),o=this.getImageHash(i,a);this.cache[i]||(this.cache[i]={}),this.cache[i][o]={position:r,width:t||"",height:n||"",wrap:f},await this.saveCache()})}catch(i){console.error("Error in saveImageAlignmentToCache:",i)}}getImageHash(i,e){return QA(`${i}:${this.getRelativePath(e)}`,0)}getImageAlignment(i,e){let r=this.getImageHash(i,e);return this.cache[i]?.[r]}getRelativePath(i){if(i.startsWith("http://")||i.startsWith("https://"))return i;let[e]=i.split("?"),r=e;if(r.startsWith("app://")||r.startsWith("file:///")){let i="";if(r.startsWith("app://")){let e=r.substring(6).split("/");e.length>1&&(i=decodeURIComponent(e.slice(1).join("/")))}else r.startsWith("file:///")&&(i=decodeURIComponent(r.substring(8)));if(i){let e=null;if(this.app.vault.adapter instanceof D2.FileSystemAdapter&&(e=this.app.vault.adapter.getBasePath()),e){let r=e.toLowerCase().replace(/\\/g,"/").replace(/^\/+|\/+$/g,"");if(i.toLowerCase().replace(/\\/g,"/").replace(/^\/+/,"").startsWith(r)){let r=i.substring(e.length);return r=r.replace(/^\\+/,""),r}}}}let t=this.app.vault.getFiles().find(i=>i.path.endsWith(r));return t?t.path:r}async applyAlignmentsToNote(i){try{await this.lock.acquire("applyAlignments",async()=>{let e=this.cache[i];e&&document.querySelectorAll("img").forEach(r=>{let t=r.getAttr("src");if(!t)return;let n=this.getImageHash(i,t),f=e[n];f&&this.imageAlignment.applyAlignmentToImage(r,f)})})}catch(i){console.error("Error in applyAlignmentsToNote:",i)}}async cleanCache(){await this.lock.acquire("cacheCleanup",async()=>{console.time("Cache cleanup time");let i={};for(let e in this.cache)if(this.app.vault.getAbstractFileByPath(e)){i[e]={};for(let r in this.cache[e]){let t=!1,n=this.app.vault.getFiles();for(let i of n)if(this.supportedImageFormats.isSupported(void 0,i.name)&&this.getImageHash(e,i.path)===r){t=!0;break}t&&(i[e][r]=this.cache[e][r])}0===Object.keys(i[e]).length&&delete i[e]}this.cache=i,await this.saveCache(),console.timeEnd("Cache cleanup time"),console.log("Cache cleaned:",this.cache)})}async validateNoteCache(i,e){await this.lock.acquire("validateCache",async()=>{if(!this.cache[i])return;let r=this.extractImageLinks(e);if(0===r.length)return void(this.cache[i]&&(delete this.cache[i],await this.saveCache()));let t=Object.keys(this.cache[i]),n=r.map(e=>this.getImageHash(i,e)),f=t.filter(i=>!n.includes(i));for(let e of f)delete this.cache[i][e];0===Object.keys(this.cache[i]).length&&delete this.cache[i],await this.saveCache()})}extractImageLinks(i){let e,r=[],t=/!\[[^\]]*?(?:\|\d+(?:\|\d+)?)?\]\(([^)\s"]+)(?:\s+"[^"]*")?\)/g,n=/!\[\[([^\]]+?)(?:\|[^\]]+?)?\]\]/g;for(;null!==(e=t.exec(i));)r.push(e[1]);for(;null!==(e=n.exec(i));)r.push(e[1]);return r}async removeImageFromCache(i,e){await this.lock.acquire("cacheOperation",async()=>{let r=this.getRelativePath(e),t=this.getImageHash(i,r);this.cache[i]&&this.cache[i][t]&&(delete this.cache[i][t],0===Object.keys(this.cache[i]).length&&delete this.cache[i],await this.saveCache())})}async removeNoteFromCache(i){this.cache[i]&&(delete this.cache[i],await this.saveCache())}scheduleCacheCleanup(){this.cleanupIntervalId&&window.clearInterval(this.cleanupIntervalId);let i=this.plugin.settings.imageAlignment_cacheCleanupInterval;i>0&&(this.cleanupIntervalId=window.setInterval(()=>{this.cleanCache()},i))}cleanupObserver(){this.imageObserver&&(this.imageObserver.disconnect(),this.imageObserver=null)}onunload(){this.cleanupObserver(),this.eventRefs.forEach(i=>this.app.workspace.offref(i)),this.eventRefs=[],this.cleanupIntervalId&&(window.clearInterval(this.cleanupIntervalId),this.cleanupIntervalId=null),this.imageAlignment&&this.imageAlignment.onunload(),this.imageObserver=null,this.cache={},this.imageStates.clear(),this.debouncedValidateNoteCache?.cancel()}};function QA(i,e){let r=e>>>0,t=e>>>0,n=e>>>0,f=e>>>0,a=2277735313,o=1291169091,{length:A}=i,s=A>>>4;for(let e=0;e<s;e++){let A=16*e,s=255&i.charCodeAt(A)|(255&i.charCodeAt(A+1))<<8|(255&i.charCodeAt(A+2))<<16|(255&i.charCodeAt(A+3))<<24,l=255&i.charCodeAt(A+4)|(255&i.charCodeAt(A+5))<<8|(255&i.charCodeAt(A+6))<<16|(255&i.charCodeAt(A+7))<<24,k=255&i.charCodeAt(A+8)|(255&i.charCodeAt(A+9))<<8|(255&i.charCodeAt(A+10))<<16|(255&i.charCodeAt(A+11))<<24,h=255&i.charCodeAt(A+12)|(255&i.charCodeAt(A+13))<<8|(255&i.charCodeAt(A+14))<<16|(255&i.charCodeAt(A+15))<<24;s=Math.imul(s,a),s=s<<15|s>>>17,s=Math.imul(s,o),r^=s,r=r<<19|r>>>13,r=Math.imul(r,5)+3864292196>>>0,l=Math.imul(l,a),l=l<<15|l>>>17,l=Math.imul(l,o),t^=l,t=t<<17|t>>>15,t=Math.imul(t,5)+3864292196>>>0,k=Math.imul(k,a),k=k<<15|k>>>17,k=Math.imul(k,o),n^=k,n=n<<15|n>>>17,n=Math.imul(n,5)+3864292196>>>0,h=Math.imul(h,a),h=h<<15|h>>>17,h=Math.imul(h,o),f^=h,f=f<<13|f>>>19,f=Math.imul(f,5)+3864292196>>>0}let l=0,k=0,h=0,u=0,c=16*s,d=A%16;if(d>0)switch(d){case 15:u^=(255&i.charCodeAt(c+14))<<16;case 14:u^=(255&i.charCodeAt(c+13))<<8;case 13:u^=255&i.charCodeAt(c+12),u=Math.imul(u,a),u=u<<15|u>>>17,u=Math.imul(u,o),f^=u;case 12:h^=(255&i.charCodeAt(c+11))<<24;case 11:h^=(255&i.charCodeAt(c+10))<<16;case 10:h^=(255&i.charCodeAt(c+9))<<8;case 9:h^=255&i.charCodeAt(c+8),h=Math.imul(h,a),h=h<<15|h>>>17,h=Math.imul(h,o),n^=h;case 8:k^=(255&i.charCodeAt(c+7))<<24;case 7:k^=(255&i.charCodeAt(c+6))<<16;case 6:k^=(255&i.charCodeAt(c+5))<<8;case 5:k^=255&i.charCodeAt(c+4),k=Math.imul(k,a),k=k<<15|k>>>17,k=Math.imul(k,o),t^=k;case 4:l^=(255&i.charCodeAt(c+3))<<24;case 3:l^=(255&i.charCodeAt(c+2))<<16;case 2:l^=(255&i.charCodeAt(c+1))<<8;case 1:l^=255&i.charCodeAt(c+0),l=Math.imul(l,a),l=l<<15|l>>>17,l=Math.imul(l,o),r^=l}return r^=A,t^=A,n^=A,f^=A,r=r+t>>>0,r=r+n>>>0,r=r+f>>>0,t=t+r>>>0,t=t+n>>>0,t=t+f>>>0,n=n+r>>>0,n=n+t>>>0,n=n+f>>>0,f=f+r>>>0,f=f+t>>>0,f=f+n>>>0,r^=r>>>16,r=Math.imul(r,2246822507),r^=r>>>13,r=Math.imul(r,3266489909),r^=r>>>16,t^=t>>>16,t=Math.imul(t,2246822507),t^=t>>>13,t=Math.imul(t,3266489909),t^=t>>>16,n^=n>>>16,n=Math.imul(n,2246822507),n^=n>>>13,n=Math.imul(n,3266489909),n^=n>>>16,f^=f>>>16,f=Math.imul(f,2246822507),f^=f>>>13,f=Math.imul(f,3266489909),f^=f>>>16,`${(f>>>0).toString(16).padStart(8,"0")}${(n>>>0).toString(16).padStart(8,"0")}${(t>>>0).toString(16).padStart(8,"0")}${(r>>>0).toString(16).padStart(8,"0")}`}var mn=require("obsidian"),dn=class{constructor(i){this.plugin=i,this.linkFormatter=new N2(this.plugin.app),this.throttledUpdateImageLink=this.throttle((i,e,r,t)=>{this.updateMarkdownLink(i,e,r,t)},100),this.resizeSensitivity=this.plugin.settings.resizeSensitivity,this.scrollwheelModifier=this.plugin.settings.scrollwheelModifier,this.debouncedSaveToCache=(0,mn.debounce)(this.saveDimensionsToCache,this.SCROLL_DEBOUNCE_MS,!0)}editor=null;markdownView=null;handles=[];activeImage=null;handleSize=8;startX=0;startY=0;initialWidth=0;initialHeight=0;currentHandle=null;initialAspectRatio=1;rafId=null;resizeState={isResizing:!1,isDragging:!1,isScrolling:!1};resizeBuffer={};debouncedSaveToCache;scrollTimeout=null;SCROLL_DEBOUNCE_MS=300;resizeSensitivity;scrollwheelModifier;lastMouseEvent=null;EDGE_SIZE=30;throttledUpdateImageLink;cachedEditorMaxWidth=null;linkFormatter;onload(i){this.markdownView=i,this.editor=i.editor,this.plugin.settings.isImageResizeEnbaled&&this.registerEditorEvents()}onunload(){this.rafId&&(cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollTimeout&&(clearTimeout(this.scrollTimeout),this.scrollTimeout=null),this.debouncedSaveToCache?.cancel&&this.debouncedSaveToCache.cancel(),this.cleanupHandles(),this.resizeState={isResizing:!1,isDragging:!1,isScrolling:!1},this.cachedEditorMaxWidth=null,this.activeImage=null,this.lastMouseEvent=null,this.currentHandle=null,this.handles=[],this.editor=null,this.markdownView=null}onLayoutChange(i){this.cachedEditorMaxWidth=null,this.cleanupHandles(),this.onload(i),this.lastMouseEvent&&this.handleImageHover(this.lastMouseEvent)}getCachedEditorMaxWidth(){return null===this.cachedEditorMaxWidth&&(this.cachedEditorMaxWidth=this.linkFormatter.getEditorMaxWidth()),this.cachedEditorMaxWidth}registerEditorEvents(){!this.editor||!this.markdownView||(this.plugin.registerDomEvent(this.markdownView.containerEl,"mouseover",this.handleImageHover),this.plugin.registerDomEvent(document,"mousedown",this.handleMouseDown),this.plugin.registerDomEvent(document,"mousemove",this.handleMouseMove),this.plugin.registerDomEvent(document,"mouseup",this.handleMouseUp),this.plugin.registerDomEvent(this.markdownView.containerEl,"wheel",this.handleMouseWheel,{passive:!1}))}handleImageHover=i=>{if(this.resizeState.isScrolling)return;if(!this.isResizingPermitted("drag"))return void this.cleanupHandles();let e=i.target;if(this.lastMouseEvent=i,!e.instanceOf(HTMLImageElement)&&!e.hasClass("image-resize-handle"))return void this.cleanupHandles();if(e.instanceOf(HTMLImageElement)&&this.plugin.supportedImageFormats.isExcalidrawImage(e))return void this.cleanupHandles();let r=this.plugin.app.workspace.getActiveViewOfType(mn.MarkdownView);if(r&&r.containerEl.contains(e)){if(e.matchParent(".map-view-main"))this.cleanupHandles();else if(!this.resizeState.isResizing){if(e.instanceOf(HTMLImageElement)&&this.isExternalLink(e.src))return this.activeImage=e,e.addClass("image-resize-border"),void this.handleEdgeDetection(i,e);if(e.instanceOf(HTMLImageElement)&&!this.isExternalLink(e.src))return this.activeImage=e,void this.createHandles(e)}}else this.cleanupHandles()};handleEdgeDetection(i,e){if(this.resizeState.isScrolling||i.target&&i.target.hasClass("image-resize-handle"))return;let r=e.getBoundingClientRect(),t=i.clientX-r.left,n=i.clientY-r.top,f=n<=this.EDGE_SIZE,a=n>=r.height-this.EDGE_SIZE,o=t<=this.EDGE_SIZE,A=t>=r.width-this.EDGE_SIZE;e.style.cursor=f||a||o||A?f&&o||a&&A?"nwse-resize":f&&A||a&&o?"nesw-resize":f||a?"ns-resize":o||A?"ew-resize":"se-resize":"news-resize"}cleanupHandles(){if(this.resizeState.isResizing||!this.activeImage)return;let i=this.activeImage.matchParent(".image-resize-container");if(i){let e=["image-position-left","image-position-center","image-position-right","image-wrap","image-no-wrap","image-converter-aligned"];for(let r of e)i.hasClass(r)&&(this.activeImage.addClass(r),i.removeClass(r));i.parentNode?.insertBefore(this.activeImage,i),i.detach(),this.handles=[]}this.activeImage.hasClass("image-resize-border")&&(this.activeImage.removeClass("image-resize-border"),this.activeImage.style.cursor="default"),this.activeImage=null,this.lastMouseEvent=null}createHandles(i){this.cleanupHandles(),this.activeImage=i;let e=i.parentElement;if(!e)return;let r=e.createEl("div",{cls:"image-resize-container"}),t=["image-position-left","image-position-center","image-position-right","image-wrap","image-no-wrap","image-converter-aligned"];for(let e of t)i.hasClass(e)&&r.addClass(e);e.insertBefore(r,i),r.appendChild(i);this.handles=["nw","ne","sw","se","n","s","e","w"].map(i=>{let e=r.createEl("div",{cls:`image-resize-handle image-resize-handle-${i}`});return e.setAttr("data-handle-type",i),e})}handleMouseDown=i=>{if(!this.isResizingPermitted("drag"))return;let e=i.target;return e.hasClass("image-resize-handle")||e.instanceOf(HTMLImageElement)&&e.hasClass("image-resize-border")?(i.preventDefault(),i.stopPropagation(),this.startResize(i,e),void(this.resizeState.isDragging=!0)):void 0};startResize(i,e){if(this.resizeState.isResizing=!0,this.activeImage=this.activeImage||e.matchParent("img"),!this.activeImage)return void(this.resizeState.isResizing=!1);if(this.activeImage.hasClass("image-resize-border"))this.activeImage.addClass("resizing");else{let i=this.activeImage.matchParent(".image-resize-container");i&&i.addClass("resizing")}this.currentHandle=e.hasClass("image-resize-border")?"border":e.getAttr("data-handle-type")||null;let r=this.activeImage.getBoundingClientRect();r?(this.startX=i.clientX,this.startY=i.clientY,this.initialWidth=r.width,this.initialHeight=r.height,this.initialAspectRatio=this.initialWidth/this.initialHeight):this.resizeState.isResizing=!1}handleMouseMove=i=>{this.resizeState.isDragging&&(this.rafId&&cancelAnimationFrame(this.rafId),this.rafId=requestAnimationFrame(()=>{if(this.activeImage&&this.activeImage.hasClass("image-resize-border")&&this.handleEdgeDetection(i,this.activeImage),!this.resizeState.isResizing||!this.activeImage||!this.editor)return;let e=i.clientX-this.startX,r=i.clientY-this.startY,t=this.initialWidth,n=this.initialHeight,f=10;if("border"===this.currentHandle){let i=Math.max((this.initialWidth+e)/this.initialWidth,(this.initialHeight+r)/this.initialHeight);t=Math.max(f,this.initialWidth*i),n=Math.max(f,this.initialHeight*i)}else{let i=this.plugin.settings.isDragAspectRatioLocked;switch(this.currentHandle){case"n":i?(n=Math.max(f,this.initialHeight-r),t=n*this.initialAspectRatio):n=Math.max(f,this.initialHeight-r);break;case"s":i?(n=Math.max(f,this.initialHeight+r),t=n*this.initialAspectRatio):n=Math.max(f,this.initialHeight+r);break;case"e":i?(t=Math.max(f,this.initialWidth+e),n=t/this.initialAspectRatio):t=Math.max(f,this.initialWidth+e);break;case"w":i?(t=Math.max(f,this.initialWidth-e),n=t/this.initialAspectRatio):t=Math.max(f,this.initialWidth-e);break;case"nw":case"sw":t=Math.max(f,this.initialWidth-e),n=t/this.initialAspectRatio;break;case"ne":case"se":t=Math.max(f,this.initialWidth+e),n=t/this.initialAspectRatio}}let a=this.getCachedEditorMaxWidth();if(t>a){let i=this.initialAspectRatio;t=a,("border"===this.currentHandle||["nw","ne","sw","se"].includes(this.currentHandle||"")||this.plugin.settings.isDragAspectRatioLocked)&&(n=t/i)}this.activeImage.style.width=`${Math.round(t)}px`,this.activeImage.style.height=`${Math.round(n)}px`,this.throttledUpdateImageLink(this.activeImage,t,n,this.currentHandle),this.updateCursorPositionDuringResize()}))};handleMouseUp=()=>{if(!this.resizeState.isResizing||this.resizeState.isScrolling||!this.activeImage)return;if(this.activeImage.hasClass("image-resize-border"))this.activeImage.removeClass("resizing");else{let i=this.activeImage.matchParent(".image-resize-container");i&&i.removeClass("resizing")}this.currentHandle=null;let i=Math.round(this.activeImage.offsetWidth),e=Math.round(this.activeImage.offsetHeight);this.updateMarkdownLink(this.activeImage,i,e,this.currentHandle),this.cleanupHandles(),this.resizeState.isDragging=!1,this.resizeState.isResizing=!1};handleMouseWheel=i=>{if(!this.plugin.settings.isScrollResizeEnabled||!this.checkModifierKey(i))return;let e=i.target,r=null;if("IMG"===e.tagName)r=e;else if(e.hasClass("image-resize-handle")){let i=e.closest(".image-resize-container");i&&(r=i.querySelector("img"))}if(!r||!this.markdownView?.containerEl.contains(r)||this.plugin.supportedImageFormats.isExcalidrawImage(r))return;i.preventDefault(),i.stopPropagation(),this.resizeState.isScrolling=!0,this.activeImage=r;let t=r.getBoundingClientRect();if(!t)return;this.initialWidth=t.width,this.initialHeight=t.height,this.initialAspectRatio=this.initialWidth/this.initialHeight;let{newWidth:n,newHeight:f}=this.resizeImageScrollWheel(i,r),a=this.getCachedEditorMaxWidth();if(n>a){n=a,f=n/this.initialAspectRatio}getComputedStyle(r).width.endsWith("%")?r.style.width=`${n}%`:r.style.width=`${n}px`,r.style.height=`${f}px`;let o=this.plugin.app.workspace.getActiveFile();if(!o)return void console.warn("Could not get active file for image:",r);let A=o.path,s=this.getImageName(r);if(!s)return;let l=this.plugin.settings.isImageAlignmentEnabled,k=null;l&&this.plugin.ImageAlignmentManager&&(k=this.plugin.ImageAlignmentManager.getImageHash(A,s));let h=l&&Array.from(r.classList).some(i=>i.startsWith("image-position-"));l&&(this.resizeBuffer[k]={width:n,height:f}),(!l||!h)&&this.throttledUpdateImageLink(r,n,f,null),l&&this.debouncedSaveToCache(r,n,f),this.scrollTimeout&&clearTimeout(this.scrollTimeout),this.scrollTimeout=window.setTimeout(()=>{this.resizeState.isScrolling=!1,this.activeImage=null},this.SCROLL_DEBOUNCE_MS)};checkModifierKey(i){if(!this.isResizingPermitted("scroll"))return!1;switch(this.scrollwheelModifier){case"Shift":return i.shiftKey;case"Control":return i.ctrlKey;case"Alt":return i.altKey;case"Meta":return i.metaKey;case"None":return!0;default:return!1}}resizeImageScrollWheel(i,e){let r,t=Math.sign(i.deltaY),n=this.plugin.settings.resizeSensitivity,f=t<0?1+n:1/(1+n),a=getComputedStyle(e).width;e instanceof HTMLVideoElement&&a.endsWith("%")?(r=parseFloat(a)*f,r=Math.max(1,Math.min(r,100))):(r=e.clientWidth*f,r=Math.max(22,r));let o=e.clientWidth/e.clientHeight,A=Math.max(22,r/o);return r=Math.round(r),A=Math.round(A),{newWidth:r,newHeight:A,newLeft:0,newTop:0}}getEndLineOfLink(i,e,r,t){let n=i.getLine(e).substring(r,t),f=e;for(;!n.match(/\]\]|\)/)&&f<i.lastLine();)f++,n=i.getLine(f);return f}getEndOfCallout(i,e){let r=e,t=i.getLine(r);if(!t.trimStart().startsWith(">"))return e;let[n]=t.trimStart();for(;r<i.lastLine();){r++,t=i.getLine(r);let[e]=t.trimStart();if(e!=n)return r-1}return i.lastLine()}async updateMarkdownLink(i,e,r,t){if(!this.editor||!this.markdownView)return;if("preview"===this.markdownView.getState().mode)return i.style.width=`${Math.round(e)}px`,void(i.style.height=`${Math.round(r)}px`);let n=this.getImageName(i);if(!n)return void console.warn("Could not get imageName for image:",i);let{editor:f}=this,a=this.isBase64Image(n)?n:this.getFilenameFromPath(n),o=this.plugin.app.workspace.getActiveFile();if(!o)return void console.warn("Could not get active file for image:",i);let A=o.path;if(this.plugin.settings.isImageAlignmentEnabled&&this.plugin.ImageAlignmentManager){let i=this.plugin.ImageAlignmentManager.getImageAlignment(A,n);i&&await this.plugin.ImageAlignmentManager.saveImageAlignmentToCache(A,n,i.position,`${Math.round(e)}px`,`${Math.round(r)}px`,i.wrap)}let s=[],l=null,k=this.plugin.settings.resizeCursorLocation;f.getValue().split("\n").forEach((i,o)=>{this.isFrontmatter(o,f)||this.findAllMatches(i).filter(i=>(this.isBase64Image(i.path)?i.path:this.getFilenameFromPath(i.path))===a).forEach(i=>{let a="",h="",u="",c=this.plugin.settings.isImageAlignmentEnabled&&this.plugin.ImageAlignmentManager?this.plugin.ImageAlignmentManager.getImageAlignment(A,n):null,d=c?.width||void 0,b=c?.height||void 0,p=`${Math.round(e)}x${Math.round(r)}`;if("md"===i.type)"border"===this.currentHandle?(a=`${Math.round(e)}x`,h=`${Math.round(r)}`):["n","s"].includes(t||"")?(a=d??(void 0!==i.existingWidth?`${i.existingWidth}x`:"x"),h=`${Math.round(r)}`,"x"===a&&(a=`${this.initialWidth}x`)):["e","w"].includes(t||"")?(a=`${Math.round(e)}x`,h=b??(void 0!==i.existingHeight?`${i.existingHeight}`:""),""===h&&(h=`${this.initialHeight}`)):(a=`${Math.round(e)}x`,h=`${Math.round(r)}`),u=i.caption?`![${i.altText||""}${i.spacing.beforeFirstPipe}|${i.caption}${i.spacing.beforeSecondPipe}|${p}](${i.path})`:`![${i.altText||""}${i.spacing.beforeFirstPipe}|${p}](${i.path})`;else{"border"===this.currentHandle?(a=`${Math.round(e)}x`,h=`${Math.round(r)}`):["n","s"].includes(t||"")?(a=d??(void 0!==i.existingWidth?`${i.existingWidth}x`:"x"),h=`${Math.round(r)}`,"x"===a&&(a=`${this.initialWidth}x`)):["e","w"].includes(t||"")?(a=`${Math.round(e)}x`,h=b??(void 0!==i.existingHeight?`${i.existingHeight}`:""),""===h&&(h=`${this.initialHeight}`)):(a=`${Math.round(e)}x`,h=`${Math.round(r)}`);let n=`${Math.round(e)}x${Math.round(r)}`;u=i.caption?`![[${i.path}${i.spacing.beforeFirstPipe}|${i.caption}${i.spacing.beforeSecondPipe}|${n}]]`:`![[${i.path}${i.spacing.beforeFirstPipe}|${n}]]`}if(u){let e=i.index,r=e+i.fullMatch.length;s.push({from:{line:o,ch:e},to:{line:o,ch:r},text:u});let t=o;"front"===k?l={line:o,ch:e}:"back"===k?l={line:o,ch:e+u.length}:"below"===k&&(t=this.getEndLineOfLink(f,o,e,r),t=this.getEndOfCallout(f,t),l={line:t+1,ch:0})}})}),s.length>0&&(f.transaction({changes:s}),l&&"none"!==this.plugin.settings.resizeCursorLocation&&f.setCursor(l))}updateCursorPositionDuringResize(){if("none"===this.plugin.settings.resizeCursorLocation||!this.markdownView||!this.activeImage||!this.editor)return;let{editor:i}=this,e=i.getCursor(),r=i.getLine(e.line),t=this.getImageName(this.activeImage);if(!t||!r.includes(t))return;let n,f=r.indexOf("![["),a=r.indexOf("!["),o=r.search(/\]\]|\)/);if("front"===this.plugin.settings.resizeCursorLocation){if(-1===f&&-1===a)return;n={line:e.line,ch:Math.max(0,Math.max(f,a))}}else if("back"===this.plugin.settings.resizeCursorLocation){if(-1===o)return;n={line:e.line,ch:o+("]"===r[o]?2:1)}}else"below"===this.plugin.settings.resizeCursorLocation&&-1!==o&&(n={line:this.getEndLineOfLink(i,e.line,-1!==f?f:a,o)+1,ch:0});n&&!this.areEditorPositionsEqual(e,n)&&i.setCursor(n)}areEditorPositionsEqual(i,e){return i.line===e.line&&i.ch===e.ch}normalizePath(i){try{return decodeURIComponent(i).replace(/\\/g,"/")}catch{return i.replace(/\\/g,"/")}}getFilenameFromPath(i){let e=this.normalizePath(i);return e.split("/").pop()||e}isFrontmatter(i,e){let r=!1,t=!1;for(let n=0;n<=i;n++){let f=e.getLine(n);if(0!==n||"---"!==f){if(r&&"---"===f)r=!1;else if(n===i&&r&&t)return!0}else r=!0,t=!0}return!1}findAllMatches(i){let e,r=[],t=i=>/^\d+x\d+$/.test(i.trim()),n=/!\[\[([^|\]]+?)(?:\s*\|([^|\]]*?))?(?:\s*\|([^|\]]*))?\]\]/g;for(;null!==(e=n.exec(i));){let i,n,f=e[1].trim(),a=e[2]?.trim(),o=e[3]?.trim();if(a&&!o&&t(a)&&(o=a,a=void 0),o){let e=o.match(/^(\d+)x(\d+)$/);e&&(i=parseInt(e[1],10),n=parseInt(e[2],10))}r.push({type:"wiki",fullMatch:e[0],index:e.index,path:f,caption:a,existingWidth:i,existingHeight:n,spacing:{beforeFirstPipe:e[0].match(/\[\[[^|]+?(\s*)\|/)?.[1]||"",beforeSecondPipe:e[0].match(/\|[^|]*?(\s*)\|/)?.[1]||""}})}let f,a=/!\[([^\]]*?)(?:\s*\|([^\]|]*?))?(?:\s*\|([^\]|]*))?\]\(([^)]+)\)/g;for(;null!==(f=a.exec(i));){let i,e,n=f[1]?.trim(),a=f[2]?.trim(),o=f[3]?.trim(),A=f[4].trim();if(a&&!o&&t(a)&&(o=a,a=void 0),o){let r=o.match(/^(\d+)x(\d+)$/);r&&(i=parseInt(r[1],10),e=parseInt(r[2],10))}r.push({type:"md",fullMatch:f[0],index:f.index,path:A,altText:n,caption:a,existingWidth:i,existingHeight:e,spacing:{beforeFirstPipe:f[0].match(/\[([^\]]*?)(\s*)\|/)?.[2]||"",beforeSecondPipe:f[0].match(/\|[^|]*?(\s*)\|/)?.[1]||""}})}return r}getImageName(i){if(!i)return null;let e=i.getAttribute("src");if(!e)return null;if(this.isBase64Image(e)||this.isExternalLink(e))return e;try{e=decodeURIComponent(e);let i=e.split(/[/\\]/),[r]=i.slice(-1),[t]=(r??"").split("?");return t}catch(i){return console.error("Error processing image path:",i),null}}isExternalLink(i){return i.startsWith("http://")||i.startsWith("https://")}isBase64Image(i){return i.startsWith("data:image")}isResizingPermitted(i){return!(!this.markdownView||!this.plugin.settings.isImageResizeEnbaled||"preview"===this.markdownView.getState().mode&&!this.plugin.settings.isResizeInReadingModeEnabled)&&("drag"===i?this.plugin.settings.isDragResizeEnabled:"scroll"===i&&this.plugin.settings.isScrollResizeEnabled)}saveDimensionsToCache=async(i,e,r)=>{this.updateMarkdownLink(i,e,r,null);let t=this.plugin.app.workspace.getActiveFile();if(!t)return;let n=t.path,f=this.getImageName(i);if(!f)return;let a=this.plugin.ImageAlignmentManager.getImageHash(n,f),o=this.resizeBuffer[a];if(o&&this.plugin.settings.isImageAlignmentEnabled&&this.plugin.ImageAlignmentManager){let i=this.plugin.ImageAlignmentManager.getImageAlignment(n,f);i&&await this.plugin.ImageAlignmentManager.saveImageAlignmentToCache(n,f,i.position,`${Math.round(o.width)}px`,`${Math.round(o.height)}px`,i.wrap),delete this.resizeBuffer[a]}};throttle(i,e){let r;return(...t)=>{r||(i(...t),r=!0,window.setTimeout(()=>r=!1,e))}}},ei=require("obsidian"),pn=class{constructor(i,e,r,t){this.app=i,this.plugin=e,this.imageProcessor=r,this.folderAndFilenameManagement=t}async processImagesInNote(i){try{let{ProcessCurrentNoteconvertTo:e,ProcessCurrentNotequality:r,ProcessCurrentNoteResizeModalresizeMode:t,ProcessCurrentNoteresizeModaldesiredWidth:n,ProcessCurrentNoteresizeModaldesiredHeight:f,ProcessCurrentNoteresizeModaldesiredLength:a,ProcessCurrentNoteEnlargeOrReduce:o,allowLargerFiles:A,ProcessCurrentNoteSkipFormats:s,ProcessCurrentNoteskipImagesInTargetFormat:l}=this.plugin.settings,k="disabled"===e,h=1===r,u="None"===t,c=e,d="disabled"===e?"ORIGINAL":e.toUpperCase(),b=1,p=s.toLowerCase().split(",").map(i=>i.trim()).filter(i=>i.length>0),g=[];if(g="canvas"===i.extension?await this.getImageFilesFromCanvas(i):this.getLinkedImageFiles(i),0===g.length)return void new ei.Notice("No images found in the note.");if(g.every(i=>i.extension===(k?i.extension:c)||p.includes(i.extension.toLowerCase()))&&h&&u)return void(k?new ei.Notice("No processing needed: All images are either in skip list or kept in original format with no compression or resizing."):new ei.Notice(`No processing needed: All images are either in skip list or already in ${c.toUpperCase()} format with no compression or resizing.`));if(k&&h&&u)return void new ei.Notice("No processing needed: Original format selected with no compression or resizing.");let m=g.filter(i=>this.shouldProcessImage(i,k,c,p,l));if(0===m.length)return void(l?new ei.Notice(`No processing needed: All images are already in ${k?"their original":c.toUpperCase()} format.`):new ei.Notice("No images found that need processing."));let v=0,w=this.plugin.addStatusBarItem(),_=Date.now(),y=m.length;for(let e of m){v++;let s=await this.app.vault.readBinary(e),l=new Blob([s],{type:`image/${e.extension}`}),k=await this.imageProcessor.processImage(l,d,r,b,t,n,f,a,o,A),h=`${e.basename}.${d.toLowerCase()}`,u=e.path.replace(e.name,h);e.path!==u&&await this.app.fileManager.renameFile(e,u);let c=this.app.vault.getAbstractFileByPath(u);if(!c){console.error("Failed to find renamed file:",u);continue}await this.app.vault.modifyBinary(c,k),e.path!==u&&await this.updateLinksInNote(i,e.path,u);let p=((Date.now()-_)/1e3).toFixed(2);w.setText(`Processing image ${v} of ${y}, elapsed time: ${p} seconds`)}let C=((Date.now()-_)/1e3).toFixed(2);w.setText(`Finished processing ${v} images, total time: ${C} seconds`),window.setTimeout(()=>{w.remove()},5e3)}catch(i){console.error("Error processing images in current note:",i),new ei.Notice(`Error processing images: ${i.message}`)}}async getImageFilesFromCanvas(i){let e=await this.app.vault.read(i),r=JSON.parse(e),t=[],n=i=>{for(let e of i){if("file"===e.type&&e.file){let i=this.app.vault.getAbstractFileByPath(e.file);i instanceof ei.TFile&&this.plugin.supportedImageFormats.isSupported(void 0,i.name)&&t.push(i)}e.children&&Array.isArray(e.children)&&n(e.children)}};return r.nodes&&Array.isArray(r.nodes)&&n(r.nodes),t}getLinkedImageFiles(i){let{resolvedLinks:e}=this.app.metadataCache,r=e[i.path];return Object.keys(r).map(i=>this.app.vault.getAbstractFileByPath(i)).filter(i=>i instanceof ei.TFile&&this.plugin.supportedImageFormats.isSupported(void 0,i.name))}async processImagesInFolder(i,e){try{let r=this.app.vault.getAbstractFileByPath(i);if(!(r instanceof ei.TFolder))return void new ei.Notice("Error: Invalid folder path.");let{ProcessCurrentNoteconvertTo:t,ProcessCurrentNotequality:n,ProcessCurrentNoteResizeModalresizeMode:f,ProcessCurrentNoteresizeModaldesiredWidth:a,ProcessCurrentNoteresizeModaldesiredHeight:o,ProcessCurrentNoteresizeModaldesiredLength:A,ProcessCurrentNoteEnlargeOrReduce:s,allowLargerFiles:l,ProcessCurrentNoteSkipFormats:k}=this.plugin.settings,h="disabled"===t?"ORIGINAL":t.toUpperCase(),u=1,c=k.toLowerCase().split(",").map(i=>i.trim()).filter(i=>i.length>0),d=this.getImageFiles(r,e);if(0===d.length)return void new ei.Notice("No images found in the folder.");let b=0,p=this.plugin.addStatusBarItem(),g=Date.now(),m=d.length;for(let i of d){if(c.includes(i.extension.toLowerCase())){console.log(`Skipping image ${i.name} (format in skip list)`);continue}b++;let e=`${i.basename}.${h.toLowerCase()}`,r=i.path.replace(i.name,e),t=await this.app.vault.readBinary(i),k=new Blob([t],{type:`image/${i.extension}`}),d=await this.imageProcessor.processImage(k,h,n,u,f,a,o,A,s,l);i.path!==r&&await this.app.fileManager.renameFile(i,r);let v=this.app.vault.getAbstractFileByPath(r);if(!v){console.error("Failed to find renamed file:",r);continue}await this.app.vault.modifyBinary(v,d);let w=((Date.now()-g)/1e3).toFixed(2);p.setText(`Processing image ${b} of ${m}, elapsed time: ${w} seconds`)}let v=((Date.now()-g)/1e3).toFixed(2);p.setText(`Finished processing ${b} images, total time: ${v} seconds`),window.setTimeout(()=>{p.remove()},5e3)}catch(i){console.error("Error processing images in folder:",i),new ei.Notice(`Error processing images: ${i.message}`)}}getImageFiles(i,e){let r=[];return i.children.forEach(i=>{i instanceof ei.TFile&&this.plugin.supportedImageFormats.isSupported(void 0,i.name)?r.push(i):e&&i instanceof ei.TFolder&&(r=r.concat(this.getImageFiles(i,e)))}),r}async processAllVaultImages(){try{let{ProcessAllVaultconvertTo:i,ProcessAllVaultquality:e,ProcessAllVaultResizeModalresizeMode:r,ProcessAllVaultResizeModaldesiredWidth:t,ProcessAllVaultResizeModaldesiredHeight:n,ProcessAllVaultResizeModaldesiredLength:f,ProcessAllVaultEnlargeOrReduce:a,allowLargerFiles:o,ProcessAllVaultSkipFormats:A,ProcessAllVaultskipImagesInTargetFormat:s}=this.plugin.settings,l="disabled"===i,k=1===e,h="None"===r,u=i,c="disabled"===i?"ORIGINAL":i.toUpperCase(),d=1,b=A.toLowerCase().split(",").map(i=>i.trim()).filter(i=>i.length>0),p=await this.getAllImageFiles();if(0===p.length)return void new ei.Notice("No images found in the vault.");if(p.every(i=>i.extension===(l?i.extension:u)||b.includes(i.extension.toLowerCase()))&&k&&h)return void(l?new ei.Notice("No processing needed: All vault images are either in skip list or kept in original format with no compression or resizing."):new ei.Notice(`No processing needed: All vault images are either in skip list or already in ${u.toUpperCase()} format with no compression or resizing.`));let g=p.filter(i=>this.shouldProcessImage(i,l,u,b,s));if(0===g.length)return void(s?new ei.Notice(`No processing needed: All vault images are either in ${l?"their original":u.toUpperCase()} format or in skip list.`):new ei.Notice("No images found that need processing."));let m=0,v=this.plugin.addStatusBarItem(),w=Date.now(),_=g.length;for(let i of g){m++;let A=await this.app.vault.readBinary(i),s=new Blob([A],{type:`image/${i.extension}`}),l=await this.imageProcessor.processImage(s,c,e,d,r,t,n,f,a,o),k=`${i.basename}.${c.toLowerCase()}`,h=i.path.replace(i.name,k);i.path!==h&&this.app.vault.getAbstractFileByPath(h)&&(h=await this.folderAndFilenameManagement.handleNameConflicts(i.parent?.path||"",k)),i.path!==h&&await this.app.fileManager.renameFile(i,h);let u=this.app.vault.getAbstractFileByPath(h);if(!u){console.error("Failed to find renamed file:",h);continue}await this.app.vault.modifyBinary(u,l),await this.updateLinksInAllNotes(i.path,h);let b=((Date.now()-w)/1e3).toFixed(2);v.setText(`Processing image ${m} of ${_}, elapsed time: ${b} seconds`)}let y=((Date.now()-w)/1e3).toFixed(2);v.setText(`Finished processing ${m} images, total time: ${y} seconds`),window.setTimeout(()=>{v.remove()},5e3)}catch(i){console.error("Error processing images:",i),new ei.Notice(`Error processing images: ${i.message}`)}}async getAllImageFiles(){let i=this.app.vault.getFiles(),e=i.filter(i=>this.plugin.supportedImageFormats.isSupported(void 0,i.name)),r=i.filter(i=>i instanceof ei.TFile&&"canvas"===i.extension);for(let i of r){let r=await this.getImagesFromCanvas(i);for(let i of r){let r=this.app.vault.getAbstractFileByPath(i);r instanceof ei.TFile&&this.plugin.supportedImageFormats.isSupported(void 0,r.name)&&(e.find(i=>i.path===r.path)||e.push(r))}}return e}async getImagesFromCanvas(i){let e=[],r=await this.app.vault.read(i),t=JSON.parse(r);if(t.nodes&&Array.isArray(t.nodes))for(let i of t.nodes)"file"===i.type&&i.file&&e.push(i.file);return e}shouldProcessImage(i,e,r,t,n){let f=e?i.extension:r;return t.includes(i.extension.toLowerCase())?(console.log(`Skipping ${i.name}: Format ${i.extension} is in skip list`),!1):!n||i.extension!==f||(console.log(`Skipping ${i.name}: Already in ${f} format`),!1)}async updateLinksInAllNotes(i,e){let r=this.app.vault.getMarkdownFiles();for(let t of r)await this.updateLinksInNote(t,i,e);let t=this.app.vault.getFiles().filter(i=>"canvas"===i.extension);for(let r of t)await this.updateCanvasFileLinks(r,i,e)}async updateLinksInNote(i,e,r){let t=this.escapeRegexCharacters(e),n=this.escapeRegexCharacters(r),f=await this.app.vault.read(i),a=f.replace(new RegExp(t,"g"),n);f!==a&&(await this.app.vault.modify(i,a),console.log(`Links updated in ${i.path}`))}escapeRegexCharacters(i){return i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}async updateCanvasFileLinks(i,e,r){try{let t=await this.app.vault.read(i),n=JSON.parse(t),f=i=>{for(let t of i)"file"===t.type&&t.file===e&&(t.file=r),t.children&&Array.isArray(t.children)&&f(t.children)};n.nodes&&Array.isArray(n.nodes)&&(f(n.nodes),await this.app.vault.modify(i,JSON.stringify(n,null,2)))}catch(i){console.error("Error updating canvas file links:",i)}}},U0=require("obsidian"),gn=class extends U0.Modal{constructor(i,e,r,t){super(i),this.plugin=e,this.folderPath=r,this.batchImageProcessor=t}recursive=!1;selectedImageSource="direct";imageSourceSetting=null;qualitySetting=null;convertToSetting=null;skipFormatsSetting=null;resizeModeSetting=null;resizeInputSettings=null;enlargeReduceSettings=null;skipTargetFormatSetting=null;resizeInputsDiv=null;enlargeReduceDiv=null;imageCount=0;processedCount=0;skippedCount=0;imageCountDisplay;processedCountDisplay;skippedCountDisplay;updateImageSourceDescription=null;async onOpen(){let{contentEl:i}=this;i.addClass("image-convert-modal"),await this.createUI(i),await this.updateImageCountsAndDisplay()}onClose(){this.imageSourceSetting=null,this.qualitySetting=null,this.convertToSetting=null,this.skipFormatsSetting=null,this.resizeModeSetting=null,this.resizeInputSettings=null,this.enlargeReduceSettings=null,this.skipTargetFormatSetting=null,this.resizeInputsDiv=null,this.enlargeReduceDiv=null,this.updateImageSourceDescription=null;let{contentEl:i}=this;i.empty()}async createUI(i){this.createHeader(i),this.createWarningMessage(i),this.createImageCountsDisplay(i);let e=i.createDiv({cls:"settings-container"});this.createImageSourceSettings(e);let r=e.createDiv({cls:"format-quality-container"});this.createGeneralSettings(r);let t=e.createDiv({cls:"resize-container"});this.createResizeSettings(t);let n=e.createDiv({cls:"skip-container"});this.createSkipSettings(n),this.createProcessButton(e)}createHeader(i){let e=this.folderPath.split("/").pop()||this.folderPath,r=i.createDiv({cls:"modal-header"});r.createEl("h2",{text:"Convert, compress and resize"}),r.createEl("h6",{text:`all images in: /${e}`,cls:"modal-subtitle"})}createWarningMessage(i){i.createEl("p",{cls:"modal-warning",text:"⚠️ This will modify all images in the selected folder and subfolders (if recursive is enabled). Please ensure you have backups."})}createImageCountsDisplay(i){let e=i.createDiv({cls:"image-counts-display-container"}),r=e.createDiv({cls:"image-source-description"});r.id="image-source-description";let t=i=>{let e="No selection.";"direct"===i?e="Processing images directly in the folder.":"linked"===i&&(e="Processing images linked in notes or Canvas files."),r.setText(e)};this.updateImageSourceDescription=t,t(this.selectedImageSource),e.createEl("span",{text:"Total images found: "}),this.imageCountDisplay=e.createEl("span",{text:this.imageCount.toString()}),e.createEl("br"),e.createEl("span",{text:"To be skipped: "}),this.skippedCountDisplay=e.createEl("span",{text:this.skippedCount.toString()}),e.createEl("br"),e.createEl("span",{text:"To be processed: "}),this.processedCountDisplay=e.createEl("span",{text:this.processedCount.toString()})}createImageSourceSettings(i){i.createEl("h4",{text:"Image source"}),new U0.Setting(i).setName("Recursive").setDesc("Process images in all subfolders as well").addToggle(i=>i.setValue(this.recursive).onChange(async i=>{this.recursive=i,await this.updateImageCountsAndDisplay()}));let e=i.createDiv();e.addClass("image-source-setting-container");let r={direct:null,linked:null},t=()=>{Object.entries(r).forEach(([i,e])=>{e&&e.setIcon(this.selectedImageSource===i?"lucide-check-circle":"lucide-circle")})};new U0.Setting(e).setName("Direct images").setDesc("Images directly in the folder").addExtraButton(i=>{r.direct=i,i.setIcon("direct"===this.selectedImageSource?"lucide-check-circle":"lucide-circle").setTooltip("direct"===this.selectedImageSource?"Selected":"Select").onClick(async()=>{this.selectedImageSource="direct",this.updateImageSourceDescription&&this.updateImageSourceDescription(this.selectedImageSource),await this.updateImageCountsAndDisplay(),t()})}),new U0.Setting(e).setName("Linked images").setDesc("Images linked in notes or Canvas").addExtraButton(i=>{r.linked=i,i.setIcon("linked"===this.selectedImageSource?"lucide-check-circle":"lucide-circle").setTooltip("linked"===this.selectedImageSource?"Selected":"Select").onClick(async()=>{this.selectedImageSource="linked",this.updateImageSourceDescription&&this.updateImageSourceDescription(this.selectedImageSource),await this.updateImageCountsAndDisplay(),t()})}),i.appendChild(e),this.updateImageSourceDescription&&this.updateImageSourceDescription(this.selectedImageSource),t()}async createGeneralSettings(i){i.createEl("h4",{text:"General"}),this.convertToSetting=new U0.Setting(i).setName("Convert to ⓘ").setDesc("Choose output format. 'Same as original' applies compression/resizing to current format.").setTooltip("Same as original: preserves current format while applying compression/resizing").addDropdown(i=>{i.addOption("disabled","Same as original").addOptions({webp:"WebP",jpg:"JPG",png:"PNG"}).setValue(this.plugin.settings.ProcessCurrentNoteconvertTo).onChange(async i=>{this.plugin.settings.ProcessCurrentNoteconvertTo=i,await this.plugin.saveSettings(),await this.updateImageCountsAndDisplay()})}),this.qualitySetting=new U0.Setting(i).setName("Quality ⓘ").setDesc("Compression level (0-100)").setTooltip("100: No compression (original quality)\n75: Recommended (good balance)\n0-50: High compression (lower quality)").addText(i=>{i.setPlaceholder("Enter quality (0-100)").setValue((100*this.plugin.settings.ProcessCurrentNotequality).toString()).onChange(async i=>{let e=parseInt(i,10);!isNaN(e)&&e>=0&&e<=100&&(this.plugin.settings.ProcessCurrentNotequality=e/100,await this.plugin.saveSettings(),await this.updateImageCountsAndDisplay())})})}createSkipSettings(i){i.createEl("h4",{text:"Skip"}),this.skipFormatsSetting=new U0.Setting(i).setName("Skip formats ⓘ").setDesc("Comma-separated list (no dots or spaces, e.g., png,gif).").setTooltip("Comma-separated list of file formats to skip (e.g., tif,tiff,heic). Leave empty to process all formats.").addText(i=>{i.setPlaceholder("png,gif").setValue(this.plugin.settings.ProcessCurrentNoteSkipFormats).onChange(async i=>{this.plugin.settings.ProcessCurrentNoteSkipFormats=i,await this.plugin.saveSettings(),await this.updateImageCountsAndDisplay()})}),this.skipTargetFormatSetting=new U0.Setting(i).setName("Skip images in target format ⓘ").setDesc("Skip compression/resizing if image is already in target format.").setTooltip("If image is already in target format, this allows you to skip its compression, conversion and resizing. Processing of all other formats will be still performed.").addToggle(i=>{i.setValue(this.plugin.settings.ProcessCurrentNoteskipImagesInTargetFormat).onChange(async i=>{this.plugin.settings.ProcessCurrentNoteskipImagesInTargetFormat=i,await this.plugin.saveSettings(),await this.updateImageCountsAndDisplay()})})}async createResizeSettings(i){i.createEl("h4",{text:"Resize"}),this.resizeModeSetting=new U0.Setting(i).setName("Resize mode ⓘ").setDesc("Choose how images should be resized. Note: Results are permanent").setTooltip("Fit: Maintains aspect ratio within dimensions\nFill: Exactly matches dimensions\nLongest Edge: Limits the longest side\nShortest Edge: Limits the shortest side\nWidth/Height: Constrains single dimension").addDropdown(i=>{i.addOptions({None:"None",Fit:"Fit (maintain aspect ratio within dimensions)",Fill:"Fill (exactly match dimensions)",LongestEdge:"Longest edge",ShortestEdge:"Shortest edge",Width:"Width",Height:"Height"}).setValue(this.plugin.settings.ProcessCurrentNoteResizeModalresizeMode).onChange(async i=>{this.plugin.settings.ProcessCurrentNoteResizeModalresizeMode=i,await this.plugin.saveSettings(),this.updateResizeInputVisibility(i),await this.updateImageCountsAndDisplay()})}),this.createEnlargeReduceInputs(i),this.resizeInputsDiv=i.createDiv({cls:"resize-inputs"}),this.updateResizeInputVisibility(this.plugin.settings.ProcessCurrentNoteResizeModalresizeMode)}createEnlargeReduceInputs(i){this.enlargeReduceDiv=i.createDiv({cls:"enlarge-reduce-settings"}),this.createEnlargeReduceSettings()}createProcessButton(i){let e=i.createDiv({cls:"button-container"});new U0.ButtonComponent(e).setButtonText("Process").setCta().onClick(async()=>{this.close(),await this.batchImageProcessor.processImagesInFolder(this.folderPath,this.recursive)})}updateResizeInputVisibility(i){"None"===i?(this.resizeInputsDiv?.empty(),this.enlargeReduceDiv?.hide(),this.resizeInputSettings=null,this.enlargeReduceSettings=null):(this.resizeInputSettings?this.updateResizeInputSettings(i):this.createResizeInputSettings(i),this.enlargeReduceSettings||this.createEnlargeReduceSettings(),this.enlargeReduceDiv?.show())}createEnlargeReduceSettings(){this.enlargeReduceDiv&&(this.enlargeReduceDiv.empty(),this.enlargeReduceSettings=new U0.Setting(this.enlargeReduceDiv).setClass("enlarge-reduce-setting").setName("Enlarge or Reduce ⓘ").setDesc("Reduce and Enlarge: Adjusts all images. Reduce only: Shrinks larger images. Enlarge only: Enlarges smaller images.").setTooltip("• Reduce and Enlarge: Adjusts all images to fit specified dimensions\n• Reduce only: Only shrinks images larger than target\n• Enlarge only: Only enlarges images smaller than target").addDropdown(i=>{i.addOptions({Always:"Reduce and Enlarge",Reduce:"Reduce only",Enlarge:"Enlarge only"}).setValue(this.plugin.settings.ProcessCurrentNoteEnlargeOrReduce).onChange(async i=>{this.plugin.settings.ProcessCurrentNoteEnlargeOrReduce=i,await this.plugin.saveSettings()})}))}createResizeInputSettings(i){this.resizeInputsDiv&&(this.resizeInputsDiv.empty(),this.resizeInputSettings=new U0.Setting(this.resizeInputsDiv).setClass("resize-input-setting"),this.updateResizeInputSettings(i))}updateResizeInputSettings(i){if(!this.resizeInputSettings)return;this.resizeInputSettings.clear();let e="",r="";if(["Fit","Fill"].includes(i))e="Resize dimensions",r="Enter the desired width and height in pixels",this.resizeInputSettings.setName(e).setDesc(r).addText(i=>i.setPlaceholder("Width").setValue(this.plugin.settings.ProcessCurrentNoteresizeModaldesiredWidth.toString()).onChange(async i=>{let e=parseInt(i);/^\d+$/.test(i)&&e>0&&(this.plugin.settings.ProcessCurrentNoteresizeModaldesiredWidth=e,await this.plugin.saveSettings())})).addText(i=>i.setPlaceholder("Height").setValue(this.plugin.settings.ProcessCurrentNoteresizeModaldesiredHeight.toString()).onChange(async i=>{let e=parseInt(i);/^\d+$/.test(i)&&e>0&&(this.plugin.settings.ProcessCurrentNoteresizeModaldesiredHeight=e,await this.plugin.saveSettings())}));else{switch(i){case"LongestEdge":case"ShortestEdge":e=`${i}`,r="Enter the desired length in pixels";break;case"Width":e="Width",r="Enter the desired width in pixels";break;case"Height":e="Height",r="Enter the desired height in pixels"}this.resizeInputSettings.setName(e).setDesc(r).addText(e=>e.setPlaceholder("").setValue(this.getInitialValue(i).toString()).onChange(async e=>{let r=parseInt(e);/^\d+$/.test(e)&&r>0&&await this.updateSettingValue(i,r)}))}}getInitialValue(i){switch(i){case"LongestEdge":case"ShortestEdge":return this.plugin.settings.ProcessCurrentNoteresizeModaldesiredLength;case"Width":return this.plugin.settings.ProcessCurrentNoteresizeModaldesiredWidth;case"Height":return this.plugin.settings.ProcessCurrentNoteresizeModaldesiredHeight;default:return 0}}async updateSettingValue(i,e){switch(i){case"LongestEdge":case"ShortestEdge":this.plugin.settings.ProcessCurrentNoteresizeModaldesiredLength=e;break;case"Width":this.plugin.settings.ProcessCurrentNoteresizeModaldesiredWidth=e;break;case"Height":this.plugin.settings.ProcessCurrentNoteresizeModaldesiredHeight=e}await this.plugin.saveSettings()}async updateImageCountsAndDisplay(){let i=await this.updateImageCounts();this.updateCountDisplays(i)}async updateImageCounts(){let i=this.app.vault.getAbstractFileByPath(this.folderPath);if(!(i instanceof U0.TFolder))return new U0.Notice("Error: Invalid folder path."),{total:0,processed:0,skipped:0};let e=this.plugin.settings.ProcessCurrentNoteSkipFormats.toLowerCase().split(",").map(i=>i.trim()).filter(i=>i.length>0),r=this.plugin.settings.ProcessCurrentNoteconvertTo,t=this.plugin.settings.ProcessCurrentNoteskipImagesInTargetFormat,{directImages:n,linkedImages:f}=await this.getImageFiles(i,this.recursive,this.selectedImageSource),a=0,o=0,A=0;for(let i of n)a++,e.includes(i.extension.toLowerCase())||t&&i.extension.toLowerCase()===r?A++:o++;for(let i of f)a++,e.includes(i.extension.toLowerCase())||t&&i.extension.toLowerCase()===r?A++:o++;return console.log("updateImageCounts:",{total:a,processed:o,skipped:A,directImages:n,linkedImages:f}),{total:a,processed:o,skipped:A}}async getImageFiles(i,e,r){let t=[],n=[];for(let f of i.children)if(f instanceof U0.TFolder){if(e){let{directImages:i,linkedImages:a}=await this.getImageFiles(f,e,r);t.push(...i),n.push(...a)}}else if(f instanceof U0.TFile)if("direct"===r&&this.plugin.supportedImageFormats.isSupported(void 0,f.name))t.push(f);else if("linked"===r&&"md"===f.extension){let i=await this.getImagesFromMarkdownFile(f);n.push(...i)}else if("linked"===r&&"canvas"===f.extension){let i=await this.getImagesFromCanvasFile(f);n.push(...i)}return console.log("Images found in folder",i.path,":",{directImages:t,linkedImages:n},"recursive:",e,"selectedImageSource:",r),{directImages:t,linkedImages:n}}async getImagesFromMarkdownFile(i){console.log("Getting images from Markdown file:",i.path);let e,r=[],t=await this.app.vault.read(i),{vault:n}=this.app,f=/!\[\[([^\]]+?)(?:\|[^\]]+?)?\]\]/g;for(;null!==(e=f.exec(t));){let[,t]=e,n=this.app.metadataCache.getFirstLinkpathDest(t,i.path);n instanceof U0.TFile&&this.plugin.supportedImageFormats.isSupported(void 0,n.name)&&r.push(n)}let a=/!\[.*?\]\(([^)]+?)\)/g;for(;null!==(e=a.exec(t));){let[,i]=e;if(!i.startsWith("http")){let e=(0,U0.normalizePath)(`${n.getRoot().path}/${i}`),t=n.getAbstractFileByPath(e);t instanceof U0.TFile&&this.plugin.supportedImageFormats.isSupported(void 0,t.name)&&(console.log("Found relative linked image:",t.path),r.push(t))}}return console.log("Images found in Markdown file:",r.map(i=>i.path)),r}extractLinkedImageNames(i){let e,r=/!\[\[([^\]]+?)(?:\|[^\]]+?)?\]\]/g,t=/!\[.*?\]\(([^)]+?)\)/g,n=[];for(;null!==(e=r.exec(i));)n.push(e[1]);for(;null!==(e=t.exec(i));)n.push(e[1]);return console.log("Image names extracted from Markdown:",n),n}getFullPath(i,e){return i?(0,U0.normalizePath)(`${i.path}/${e}`):(0,U0.normalizePath)(e)}async getImagesFromCanvasFile(i){let e=[],r=await this.app.vault.read(i),t=JSON.parse(r);if(t.nodes&&Array.isArray(t.nodes))for(let i of t.nodes)if("file"===i.type&&i.file){let r=this.app.vault.getAbstractFileByPath(i.file);if(!r){console.warn("Could not find file:",i.file);continue}r instanceof U0.TFile&&this.plugin.supportedImageFormats.isSupported(void 0,r.name)&&e.push(r)}return e}updateCountDisplays(i){this.imageCount=i.total,this.processedCount=i.processed,this.skippedCount=i.skipped,this.imageCountDisplay.setText(i.total.toString()),this.processedCountDisplay.setText(i.processed.toString()),this.skippedCountDisplay.setText(i.skipped.toString())}},yi=require("obsidian"),Rr=class extends yi.Modal{constructor(i,e,r,t){super(i),this.plugin=e,this.activeFile=r,this.batchImageProcessor=t}imageCount=0;processedCount=0;skippedCount=0;imageCountDisplay;processedCountDisplay;skippedCountDisplay;enlargeReduceSettings=null;resizeInputSettings=null;submitButton=null;resizeInputsDiv=null;enlargeReduceDiv=null;convertToSetting;skipFormatsSetting;resizeModeSetting;skipTargetFormatSetting;async onOpen(){let{contentEl:i}=this,e=i.createDiv({cls:"image-convert-modal"}),r=e.createDiv({cls:"modal-header"});r.createEl("h2",{text:"Convert, compress and resize"}),r.createEl("h6",{text:`all images in: ${this.activeFile.basename}.${this.activeFile.extension}`,cls:"modal-subtitle"}),await this.updateImageCounts();let t=i.createDiv({cls:"image-counts-display"});t.createEl("span",{text:"Total Images Found: "}),this.imageCountDisplay=t.createEl("span"),t.createEl("br"),t.createEl("span",{text:"To be Processed: "}),this.processedCountDisplay=t.createEl("span"),t.createEl("br"),t.createEl("span",{text:"Skipped: "}),this.skippedCountDisplay=t.createEl("span"),r.createEl("p",{cls:"modal-warning",text:"⚠️ This will modify all images in the current note. Please ensure you have backups."});let n=e.createDiv({cls:"settings-container"}),f=n.createDiv({cls:"format-quality-container"});this.convertToSetting=new yi.Setting(f).setName("Convert to ⓘ ").setDesc("Choose output format for your images").setTooltip("Same as original: preserves current format while applying compression/resizing").addDropdown(i=>i.addOptions({disabled:"Same as original",webp:"WebP",jpg:"JPG",png:"PNG"}).setValue(this.plugin.settings.ProcessCurrentNoteconvertTo).onChange(async i=>{this.plugin.settings.ProcessCurrentNoteconvertTo=i,await this.plugin.saveSettings(),this.updateImageCountsAndDisplay()})),new yi.Setting(f).setName("Quality ⓘ").setDesc("Compression level (0-100)").setTooltip("100: No compression (original quality)\n75: Recommended (good balance)\n0-50: High compression (lower quality)").addText(i=>i.setPlaceholder("Enter quality (0-100)").setValue((100*this.plugin.settings.ProcessCurrentNotequality).toString()).onChange(async i=>{let e=parseInt(i);/^\d+$/.test(i)&&e>=0&&e<=100&&(this.plugin.settings.ProcessCurrentNotequality=e/100,await this.plugin.saveSettings())}));let a=n.createDiv({cls:"resize-container"});this.resizeModeSetting=new yi.Setting(a).setName("Resize Mode ⓘ").setDesc("Choose how images should be resized. Note: Results are permanent.").setTooltip("Fit: Maintains aspect ratio within dimensions\nFill: Exactly matches dimensions\nLongest Edge: Limits the longest side\nShortest Edge: Limits the shortest side\nWidth/Height: Constrains single dimension").addDropdown(i=>i.addOptions({None:"None",LongestEdge:"Longest Edge",ShortestEdge:"Shortest Edge",Width:"Width",Height:"Height",Fit:"Fit",Fill:"Fill"}).setValue(this.plugin.settings.ProcessCurrentNoteResizeModalresizeMode).onChange(async i=>{this.plugin.settings.ProcessCurrentNoteResizeModalresizeMode=i,await this.plugin.saveSettings(),this.updateResizeInputVisibility(i),this.updateImageCountsAndDisplay()})),this.resizeInputsDiv=a.createDiv({cls:"resize-inputs"}),this.enlargeReduceDiv=a.createDiv({cls:"enlarge-reduce-settings"});let o=n.createDiv({cls:"skip-container"});this.skipFormatsSetting=new yi.Setting(o).setName("Skip File Formats ⓘ").setTooltip("Comma-separated list of file formats to skip (e.g., tif,tiff,heic). Leave empty to process all formats.").addText(i=>i.setPlaceholder("tif,tiff,heic").setValue(this.plugin.settings.ProcessCurrentNoteSkipFormats).onChange(async i=>{this.plugin.settings.ProcessCurrentNoteSkipFormats=i,await this.plugin.saveSettings(),this.updateImageCountsAndDisplay()})),this.skipTargetFormatSetting=new yi.Setting(o).setName("Skip images in target format ⓘ").setTooltip("If image is already in target format, this allows you to skip its compression, conversion and resizing. Processing of all other formats will be still performed.").addToggle(i=>i.setValue(this.plugin.settings.ProcessCurrentNoteskipImagesInTargetFormat).onChange(async i=>{this.plugin.settings.ProcessCurrentNoteskipImagesInTargetFormat=i,await this.plugin.saveSettings(),this.updateImageCountsAndDisplay()})),this.updateResizeInputVisibility(this.plugin.settings.ProcessCurrentNoteResizeModalresizeMode),await this.updateImageCountsAndDisplay();let A=n.createDiv({cls:"button-container"});this.submitButton=new yi.ButtonComponent(A).setButtonText("Submit").onClick(async()=>{this.close(),"md"===this.activeFile.extension||"canvas"===this.activeFile.extension?(await this.batchImageProcessor.processImagesInNote(this.activeFile),await this.refreshActiveNote()):new yi.Notice("Error: Active file must be a markdown or canvas file.")})}updateResizeInputVisibility(i){"None"===i?(this.resizeInputsDiv?.empty(),this.enlargeReduceDiv?.hide(),this.resizeInputSettings=null,this.enlargeReduceSettings=null):(this.resizeInputSettings?this.updateResizeInputSettings(i):this.createResizeInputSettings(i),this.enlargeReduceSettings||this.createEnlargeReduceSettings(),this.enlargeReduceDiv?.show())}createEnlargeReduceSettings(){this.enlargeReduceDiv&&(this.enlargeReduceDiv.empty(),this.enlargeReduceSettings=new yi.Setting(this.enlargeReduceDiv).setClass("enlarge-reduce-setting").setName("Enlarge or Reduce ⓘ").setDesc("Controls how images are adjusted relative to target size:").setTooltip("• Reduce and Enlarge: Adjusts all images to fit specified dimensions\n• Reduce only: Only shrinks images larger than target\n• Enlarge only: Only enlarges images smaller than target").addDropdown(i=>{i.addOptions({Always:"Reduce and Enlarge",Reduce:"Reduce only",Enlarge:"Enlarge only"}).setValue(this.plugin.settings.ProcessCurrentNoteEnlargeOrReduce).onChange(async i=>{this.plugin.settings.ProcessCurrentNoteEnlargeOrReduce=i,await this.plugin.saveSettings()})}))}createResizeInputSettings(i){this.resizeInputsDiv&&(this.resizeInputsDiv.empty(),this.resizeInputSettings=new yi.Setting(this.resizeInputsDiv).setClass("resize-input-setting"),this.updateResizeInputSettings(i))}updateResizeInputSettings(i){if(!this.resizeInputSettings)return;this.resizeInputSettings.clear();let e="",r="";if(["Fit","Fill"].includes(i))e="Resize dimensions",r="Enter the desired width and height in pixels",this.resizeInputSettings.setName(e).setDesc(r).addText(i=>i.setPlaceholder("Width").setValue(this.plugin.settings.ProcessCurrentNoteresizeModaldesiredWidth.toString()).onChange(async i=>{let e=parseInt(i);/^\d+$/.test(i)&&e>0&&(this.plugin.settings.ProcessCurrentNoteresizeModaldesiredWidth=e,await this.plugin.saveSettings())})).addText(i=>i.setPlaceholder("Height").setValue(this.plugin.settings.ProcessCurrentNoteresizeModaldesiredHeight.toString()).onChange(async i=>{let e=parseInt(i);/^\d+$/.test(i)&&e>0&&(this.plugin.settings.ProcessCurrentNoteresizeModaldesiredHeight=e,await this.plugin.saveSettings())}));else{switch(i){case"LongestEdge":case"ShortestEdge":e=`${i}`,r="Enter the desired length in pixels";break;case"Width":e="Width",r="Enter the desired width in pixels";break;case"Height":e="Height",r="Enter the desired height in pixels"}this.resizeInputSettings.setName(e).setDesc(r).addText(e=>e.setPlaceholder("").setValue(this.getInitialValue(i).toString()).onChange(async e=>{let r=parseInt(e);/^\d+$/.test(e)&&r>0&&await this.updateSettingValue(i,r)}))}this.enlargeReduceSettings||this.createEnlargeReduceSettings()}getInitialValue(i){switch(i){case"LongestEdge":case"ShortestEdge":return this.plugin.settings.ProcessCurrentNoteresizeModaldesiredLength;case"Width":return this.plugin.settings.ProcessCurrentNoteresizeModaldesiredWidth;case"Height":return this.plugin.settings.ProcessCurrentNoteresizeModaldesiredHeight;default:return 0}}async updateSettingValue(i,e){switch(i){case"LongestEdge":case"ShortestEdge":this.plugin.settings.ProcessCurrentNoteresizeModaldesiredLength=e;break;case"Width":this.plugin.settings.ProcessCurrentNoteresizeModaldesiredWidth=e;break;case"Height":this.plugin.settings.ProcessCurrentNoteresizeModaldesiredHeight=e}await this.plugin.saveSettings()}async updateImageCountsAndDisplay(){await this.updateImageCounts(),this.updateCountDisplays()}async updateImageCounts(){if(!this.activeFile)return;let i=this.plugin.settings.ProcessCurrentNoteSkipFormats.toLowerCase().split(",").map(i=>i.trim()).filter(i=>i.length>0),e=this.plugin.settings.ProcessCurrentNoteconvertTo.toLowerCase(),r=this.plugin.settings.ProcessCurrentNoteskipImagesInTargetFormat;if("canvas"===this.activeFile.extension){let t=JSON.parse(await this.app.vault.read(this.activeFile)),n=this.getImagePathsFromCanvas(t);this.imageCount=n.length,this.processedCount=n.filter(t=>{let n=this.app.vault.getAbstractFileByPath(t);return!(!(n instanceof yi.TFile)||i.includes(n.extension.toLowerCase())||r&&n.extension.toLowerCase()===e)}).length,this.skippedCount=this.imageCount-this.processedCount}else{let t=this.getLinkedImageFiles(this.activeFile);this.imageCount=t.length,this.processedCount=t.filter(t=>!(i.includes(t.extension.toLowerCase())||r&&t.extension.toLowerCase()===e)).length,this.skippedCount=this.imageCount-this.processedCount}}getImagePathsFromCanvas(i){let e=[];for(let r of i.nodes||[])"file"===r.type&&r.file&&e.push(r.file),r.children&&Array.isArray(r.children)&&(e=e.concat(this.getImagePathsFromCanvas(r)));return e}async refreshActiveNote(){let i=this.app.workspace.getActiveFile();if(i){let e=this.app.workspace.getLeaf();if(e){let r=this.app.workspace.getMostRecentLeaf();if(r){let i=r.getViewState();await r.setViewState({type:"empty",state:{}}),await r.setViewState(i)}await e.openFile(i,{active:!0})}}}getLinkedImageFiles(i){let{resolvedLinks:e}=this.app.metadataCache,r=e[i.path];return Object.keys(r).map(i=>this.app.vault.getAbstractFileByPath(i)).filter(i=>i instanceof yi.TFile&&this.plugin.supportedImageFormats.isSupported(void 0,i.name))}updateCountDisplays(){this.imageCountDisplay.setText(this.imageCount.toString()),this.processedCountDisplay.setText(this.processedCount.toString()),this.skippedCountDisplay.setText(this.skippedCount.toString())}onClose(){this.enlargeReduceSettings=null,this.resizeInputSettings=null,this.submitButton=null,this.resizeInputsDiv=null,this.enlargeReduceDiv=null;let{contentEl:i}=this;i.empty()}},ee=require("obsidian"),bn=class extends ee.Modal{constructor(i,e,r){super(i),this.plugin=e,this.batchImageProcessor=r,this.modalEl.addClass("image-convert-modal")}enlargeReduceSettings=null;resizeInputSettings=null;resizeInputsDiv=null;enlargeReduceDiv=null;onOpen(){let{contentEl:i}=this;this.createUI(i)}onClose(){this.enlargeReduceSettings=null,this.resizeInputSettings=null,this.resizeInputsDiv=null,this.enlargeReduceDiv=null;let{contentEl:i}=this;i.empty()}createUI(i){this.createHeader(i),this.createWarningMessage(i);let e=i.createDiv({cls:"settings-container"}),r=e.createDiv({cls:"format-quality-container"});this.createGeneralSettings(r);let t=e.createDiv({cls:"resize-container"});this.createResizeSettings(t);let n=e.createDiv({cls:"skip-container"});this.createSkipSettings(n),this.createProcessButton(e)}createHeader(i){let e=i.createDiv({cls:"modal-header"});e.createEl("h2",{text:"Convert, compress and resize all images"}),e.createEl("h6",{text:"in the Vault",cls:"modal-subtitle"})}createWarningMessage(i){i.createEl("p",{cls:"modal-warning",text:"⚠️ This will modify all images in the Vault. Please ensure you have backups."})}createGeneralSettings(i){new ee.Setting(i).setName("Convert to ⓘ").setDesc("Choose output format. 'Same as original' applies compression/resizing to current format.").setTooltip("Same as original: preserves current format while applying compression/resizing").addDropdown(i=>{i.addOption("disabled","Same as original").addOptions({webp:"WebP",jpg:"JPG",png:"PNG"}).setValue(this.plugin.settings.ProcessAllVaultconvertTo).onChange(async i=>{this.plugin.settings.ProcessAllVaultconvertTo=i,await this.plugin.saveSettings()})}),new ee.Setting(i).setName("Quality ⓘ").setDesc("Compression level (0-100)").setTooltip("100: No compression (original quality)\n75: Recommended (good balance)\n0-50: High compression (lower quality)").addText(i=>{i.setPlaceholder("Enter quality (0-100)").setValue((100*this.plugin.settings.ProcessAllVaultquality).toString()).onChange(async i=>{let e=parseInt(i,10);!isNaN(e)&&e>=0&&e<=100&&(this.plugin.settings.ProcessAllVaultquality=e/100,await this.plugin.saveSettings())})})}createResizeSettings(i){new ee.Setting(i).setName("Resize mode ⓘ").setDesc("Choose how images should be resized. Note: Results are permanent.").setTooltip("Fit: Maintains aspect ratio within dimensions\nFill: Exactly matches dimensions\nLongest Edge: Limits the longest side\nShortest Edge: Limits the shortest side\nWidth/Height: Constrains single dimension").addDropdown(i=>{i.addOptions({None:"None",Fit:"Fit",Fill:"Fill",LongestEdge:"Longest Edge",ShortestEdge:"Shortest Edge",Width:"Width",Height:"Height"}).setValue(this.plugin.settings.ProcessAllVaultResizeModalresizeMode).onChange(async i=>{this.plugin.settings.ProcessAllVaultResizeModalresizeMode=i,await this.plugin.saveSettings(),this.updateResizeInputVisibility(i)})}),this.resizeInputsDiv=i.createDiv({cls:"resize-inputs"}),this.enlargeReduceDiv=i.createDiv({cls:"enlarge-reduce-settings"}),this.updateResizeInputVisibility(this.plugin.settings.ProcessAllVaultResizeModalresizeMode)}createSkipSettings(i){new ee.Setting(i).setName("Skip formats ⓘ").setDesc("Comma-separated list (no dots or spaces, e.g., png,gif).").setTooltip("Comma-separated list of file formats to skip (e.g., tif,tiff,heic). Leave empty to process all formats.").addText(i=>{i.setPlaceholder("png,gif").setValue(this.plugin.settings.ProcessAllVaultSkipFormats).onChange(async i=>{this.plugin.settings.ProcessAllVaultSkipFormats=i,await this.plugin.saveSettings()})}),new ee.Setting(i).setName("Skip images in target format ⓘ").setDesc("Skip compression/resizing if image is already in target format.").setTooltip("If image is already in target format, this allows you to skip its compression, conversion and resizing. Processing of all other formats will be still performed.").addToggle(i=>{i.setValue(this.plugin.settings.ProcessAllVaultskipImagesInTargetFormat).onChange(async i=>{this.plugin.settings.ProcessAllVaultskipImagesInTargetFormat=i,await this.plugin.saveSettings()})})}createProcessButton(i){let e=i.createDiv({cls:"button-container"});new ee.ButtonComponent(e).setButtonText("Process All Images").setCta().onClick(async()=>{this.close(),await this.batchImageProcessor.processAllVaultImages()})}updateResizeInputVisibility(i){"None"===i?(this.resizeInputsDiv?.empty(),this.enlargeReduceDiv?.hide(),this.resizeInputSettings=null,this.enlargeReduceSettings=null):(this.resizeInputSettings?this.updateResizeInputSettings(i):this.createResizeInputSettings(i),this.enlargeReduceSettings||this.createEnlargeReduceSettings(),this.enlargeReduceDiv?.show())}createEnlargeReduceSettings(){this.enlargeReduceDiv&&(this.enlargeReduceDiv.empty(),this.enlargeReduceSettings=new ee.Setting(this.enlargeReduceDiv).setClass("enlarge-reduce-setting").setName("Enlarge or Reduce ⓘ").setDesc("Reduce and Enlarge: Adjusts all images. Reduce only: Shrinks larger images. Enlarge only: Enlarges smaller images.").setTooltip("• Reduce and Enlarge: Adjusts all images to fit specified dimensions\n• Reduce only: Only shrinks images larger than target\n• Enlarge only: Only enlarges images smaller than target").addDropdown(i=>{i.addOptions({Always:"Reduce and Enlarge",Reduce:"Reduce only",Enlarge:"Enlarge only"}).setValue(this.plugin.settings.ProcessAllVaultEnlargeOrReduce).onChange(async i=>{this.plugin.settings.ProcessAllVaultEnlargeOrReduce=i,await this.plugin.saveSettings()})}))}createResizeInputSettings(i){this.resizeInputsDiv&&(this.resizeInputsDiv.empty(),this.resizeInputSettings=new ee.Setting(this.resizeInputsDiv).setClass("resize-input-setting"),this.updateResizeInputSettings(i))}updateResizeInputSettings(i){if(!this.resizeInputSettings)return;this.resizeInputSettings.clear();let e="",r="";if(["Fit","Fill"].includes(i))e="Resize dimensions",r="Enter the desired width and height in pixels",this.resizeInputSettings.setName(e).setDesc(r).addText(i=>i.setPlaceholder("Width").setValue(this.plugin.settings.ProcessAllVaultResizeModaldesiredWidth.toString()).onChange(async i=>{let e=parseInt(i);/^\d+$/.test(i)&&e>0&&(this.plugin.settings.ProcessAllVaultResizeModaldesiredWidth=e,await this.plugin.saveSettings())})).addText(i=>i.setPlaceholder("Height").setValue(this.plugin.settings.ProcessAllVaultResizeModaldesiredHeight.toString()).onChange(async i=>{let e=parseInt(i);/^\d+$/.test(i)&&e>0&&(this.plugin.settings.ProcessAllVaultResizeModaldesiredHeight=e,await this.plugin.saveSettings())}));else{switch(i){case"LongestEdge":case"ShortestEdge":e=`${i}`,r="Enter the desired length in pixels";break;case"Width":e="Width",r="Enter the desired width in pixels";break;case"Height":e="Height",r="Enter the desired height in pixels"}this.resizeInputSettings.setName(e).setDesc(r).addText(e=>e.setPlaceholder("").setValue(this.getInitialValue(i).toString()).onChange(async e=>{let r=parseInt(e);/^\d+$/.test(e)&&r>0&&await this.updateSettingValue(i,r)}))}}getInitialValue(i){switch(i){case"LongestEdge":case"ShortestEdge":return this.plugin.settings.ProcessAllVaultResizeModaldesiredLength;case"Width":return this.plugin.settings.ProcessAllVaultResizeModaldesiredWidth;case"Height":return this.plugin.settings.ProcessAllVaultResizeModaldesiredHeight;default:return 0}}async updateSettingValue(i,e){switch(i){case"LongestEdge":case"ShortestEdge":this.plugin.settings.ProcessAllVaultResizeModaldesiredLength=e;break;case"Width":this.plugin.settings.ProcessAllVaultResizeModaldesiredWidth=e;break;case"Height":this.plugin.settings.ProcessAllVaultResizeModaldesiredHeight=e}await this.plugin.saveSettings()}},q1=require("obsidian"),vn=class{constructor(i){this.plugin=i,this.initializeObserver(),this.applyCaptionStyles(),this.applyCaptionClass()}observer=null;observerTimeout=null;processing=!1;initializeObserver(){this.cleanup(),this.observer=new MutationObserver(this.handleMutations.bind(this)),this.startObserving()}startObserving(){if(!this.observer)return;let i=this.plugin.app.workspace.getActiveViewOfType(q1.MarkdownView);i&&this.observer.observe(i.contentEl,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["alt","src","class"]})}handleMutations(i){if(this.processing)return;this.processing=!0,this.observerTimeout&&clearTimeout(this.observerTimeout);let e=i.filter(i=>{let e=i.target;return"childList"===i.type?Array.from(i.addedNodes).some(i=>this.isRelevantNode(i)):"attributes"===i.type&&this.isRelevantNode(e)});this.observerTimeout=setTimeout(()=>{try{e.length>0&&this.processImageCaptions()}catch(i){console.error("Error processing mutations:",i)}finally{this.processing=!1}},100)}isRelevantNode(i){if(!(i instanceof Element))return!1;let{className:e}=i;return!("string"!=typeof e||e.includes("cm-")||e.includes("image-resize")||e.includes("cm-content cm-lineWrapping"))&&(i.matches("div.image-embed, div.callout")||!!i.querySelector("div.image-embed, div.callout"))}processImageCaptions(){this.observer?.disconnect();try{let i=this.plugin.app.workspace.getActiveViewOfType(q1.MarkdownView);i&&i.contentEl.querySelectorAll(".image-embed").forEach(i=>{this.processImageEmbed(i)}),document.querySelectorAll(".callout .image-embed").forEach(i=>{this.processImageEmbed(i,!0)})}finally{this.startObserving()}}processImageEmbed(i,e=!1){let r=i.querySelector("img");if(!r)return;let{enableImageCaptions:t,skipCaptionExtensions:n}=this.plugin.settings;if(!t)return;let f=r.width||r.getAttribute("width");f&&i.style.setProperty("--img-width",`${f}px`);let a=i.getAttribute("src")||"",o=r.getAttribute("alt")||"",A=a.split(".").pop()?.split("?")[0]?.toLowerCase()||"",s=n.split(",").map(i=>i.trim().toLowerCase()),l=o.trim().toLowerCase()===a.trim().toLowerCase();s.includes(A)||l?(i.removeAttribute("alt"),r.removeAttribute("alt")):e&&(i.setAttribute("data-in-callout","true"),o&&i.setAttribute("alt",o))}applyCaptionClass(){let{enableImageCaptions:i,skipCaptionExtensions:e}=this.plugin.settings,r=e.split(",").map(i=>i.trim().toLowerCase());i?(document.body.classList.add("image-captions-enabled"),document.querySelectorAll(".image-embed").forEach(i=>{let e=i.querySelector("img");if(e){let t=i.getAttribute("src")??"",n=e.getAttribute("alt")??"",f=t.split(".").pop()?.split("?")[0]?.toLowerCase()??"",a=n.trim().toLowerCase()===t.trim().toLowerCase();(r.includes(f)||a)&&(i.removeAttribute("alt"),e.removeAttribute("alt"))}})):document.body.classList.remove("image-captions-enabled")}applyCaptionStyles(){let i="image-caption-styles",e=document.getElementById(i);e||(e=document.createElement("style"),e.id=i,document.head.appendChild(e));let{captionFontSize:r,captionColor:t,captionFontStyle:n,captionBackgroundColor:f,captionPadding:a,captionBorderRadius:o,captionMarginTop:A,captionOpacity:s,captionFontWeight:l,captionTextTransform:k,captionLetterSpacing:h,captionBorder:u,captionAlignment:c}=this.plugin.settings;e.textContent=`\n /* Container styling */\n .image-captions-enabled .internal-embed.image-embed[alt] {\n display: flex !important;\n flex-direction: column;\n align-items: ${"center"===c?"center":"left"===c?"flex-start":"flex-end"};\n justify-content: center;\n width: fit-content;\n }\n \n /* Caption styling */\n .image-captions-enabled .image-embed[alt]:after {\n display: block;\n width: var(--img-width);\n font-family: var(--font-interface);\n font-size: ${r||"var(--font-smaller)"};\n color: ${t||"var(--text-gray)"};\n background-color: ${f||"transparent"};\n opacity: ${s||"1"};\n content: attr(alt);\n margin-top: ${A||"4px"};\n padding: ${a||"2px 4px"};\n border-radius: ${o||"0"};\n font-style: ${n||"italic"};\n font-weight: ${l||"normal"};\n text-transform: ${k||"none"};\n letter-spacing: ${h||"normal"};\n border: ${u||"none"};\n text-align: ${c||"center"};\n transition: all 0.2s ease;\n box-sizing: border-box;\n }\n \n /* Image styling */\n .image-captions-enabled .image-embed[alt] img {\n display: block;\n max-width: 100%;\n height: auto;\n }\n `}refresh(){this.processImageCaptions(),this.applyCaptionClass(),this.applyCaptionStyles()}updateStyles(){this.applyCaptionStyles()}cleanup(){this.observer&&(this.observer.disconnect(),this.observer=null),this.observerTimeout&&(clearTimeout(this.observerTimeout),this.observerTimeout=null)}},Ti=require("obsidian"),Pr=class extends Ti.Modal{constructor(i,e,r,t,n){super(i),this.settings=e,this.onApply=r,this.plugin=t,this.variableProcessor=n,this.selectedConversionPreset=this.plugin.getPresetByName(this.settings.selectedConversionPreset,this.settings.conversionPresets,"Conversion"),this.selectedFilenamePreset=this.plugin.getPresetByName(this.settings.selectedFilenamePreset,this.settings.filenamePresets,"Filename"),this.selectedFolderPreset=this.plugin.getPresetByName(this.settings.selectedFolderPreset,this.settings.folderPresets,"Folder"),this.selectedLinkFormatPreset=this.plugin.getPresetByName(this.settings.linkFormatSettings.selectedLinkFormatPreset,this.settings.linkFormatSettings.linkFormatPresets,"LinkFormat"),this.selectedResizePreset=this.plugin.getPresetByName(this.settings.nonDestructiveResizeSettings.selectedResizePreset,this.settings.nonDestructiveResizeSettings.resizePresets,"Resize"),this.initializeSessionState()}variableProcessor;selectedConversionPreset;selectedFilenamePreset;selectedFolderPreset;selectedLinkFormatPreset;selectedResizePreset;conversionQualitySetting=null;conversionColorDepthSetting=null;selectedGlobalPreset=null;folderPresetDropdown;filenamePresetDropdown;conversionPresetDropdown;linkFormatPresetDropdown;resizePresetDropdown;customFilenameSetting=null;customFilenameText=null;customFolderSetting=null;customFolderText=null;previewContainer=null;updateTimeout=null;isProcessingCardExpanded=!1;processingCardContent=null;processingCardPreview=null;processingCardChevron=null;temporaryCustomFolderOverride="";temporaryCustomFilenameOverride="";initializeSessionState(){let i=this.settings.modalSessionState;void 0!==i?.customFolderOverride?this.temporaryCustomFolderOverride=i.customFolderOverride:this.selectedFolderPreset.customTemplate&&(this.temporaryCustomFolderOverride=this.selectedFolderPreset.customTemplate),void 0!==i?.customFilenameOverride?this.temporaryCustomFilenameOverride=i.customFilenameOverride:this.selectedFilenamePreset.customTemplate&&(this.temporaryCustomFilenameOverride=this.selectedFilenamePreset.customTemplate)}saveSessionState(){this.settings.modalSessionState||(this.settings.modalSessionState={customFolderOverride:"",customFilenameOverride:""}),this.settings.modalSessionState.customFolderOverride=this.temporaryCustomFolderOverride,this.settings.modalSessionState.customFilenameOverride=this.temporaryCustomFilenameOverride,this.plugin.saveSettings()}onOpen(){let{contentEl:i}=this;i.empty(),i.addClass("image-converter-preset-selection-modal");let e=i.createDiv("image-converter-compact-container");this.createCompactHeader(e),this.createCompactInputSection(e),this.createCompactProcessingSection(e),this.createCompactPreview(e),this.createActionButtons(e),this.updatePreviews(),setTimeout(()=>{this.customFilenameText&&this.customFilenameText.inputEl&&(this.customFilenameText.inputEl.focus(),this.customFilenameText.inputEl.select())},50)}createCompactHeader(i){let e=i.createDiv("image-converter-compact-header");e.createEl("h2",{text:"Image Converter",cls:"image-converter-compact-title"});let r=e.createDiv("image-converter-variables-header");new Ti.Setting(r).addButton(i=>{i.setButtonText("{Variables}").setTooltip("Show available variables").onClick(()=>this.showAvailableVariables()),i.buttonEl.addClass("image-converter-variables-header-btn")});let t=e.createDiv("image-converter-global-mini");this.createGlobalPresetDropdown(t)}createCompactInputSection(i){let e=i.createDiv("image-converter-compact-inputs");this.createCompactInputWithPreset(e,"📂 Folder","Temporarily overwrite path defined in selected preset e.g.: assets/{YYYY}/{MM}","Where to save the image",this.selectedFolderPreset,this.settings.folderPresets,i=>{this.customFolderText=i},i=>{this.selectedFolderPreset=this.settings.folderPresets.find(e=>e.name===i)||this.settings.folderPresets[0],this.temporaryCustomFolderOverride=this.selectedFolderPreset.customTemplate||"",this.customFolderText&&this.customFolderText.setValue(this.temporaryCustomFolderOverride),this.updatePreviews()},i=>{this.folderPresetDropdown=i}),this.createCompactInputWithPreset(e,"📄 Filename","e.g., {imagename}-{timestamp}","What to name the file",this.selectedFilenamePreset,this.settings.filenamePresets,i=>{this.customFilenameText=i},i=>{this.selectedFilenamePreset=this.settings.filenamePresets.find(e=>e.name===i)||this.settings.filenamePresets[0],this.temporaryCustomFilenameOverride=this.selectedFilenamePreset.customTemplate||"",this.customFilenameText&&this.customFilenameText.setValue(this.temporaryCustomFilenameOverride),this.updatePreviews()},i=>{this.filenamePresetDropdown=i})}createCompactInputWithPreset(i,e,r,t,n,f,a,o,A){let s=i.createDiv("image-converter-compact-input-group"),l=s.createDiv("image-converter-label-dropdown-row");l.createEl("div",{text:e,cls:"image-converter-group-label"});let k=l.createDiv("image-converter-preset-dropdown-container"),h=new Ti.Setting(k).setClass("image-converter-preset-dropdown-setting").addDropdown(i=>{f.forEach(e=>{i.addOption(e.name,e.name)}),i.setValue(n.name),i.onChange(o),i.selectEl.addClass("image-converter-compact-dropdown");let r=e.replace("📂 ","").replace("📄 ","");i.selectEl.setAttribute("data-preset-type",r.toLowerCase())});h.settingEl.addClass("image-converter-preset-dropdown-setting-item"),h.settingEl.addClass("image-converter-hide-name-desc");let u=s.createDiv("image-converter-input-row"),c=new Ti.Setting(u).setClass("image-converter-text-setting").addText(i=>{a(i);let t="";return t=e.includes("📂")?this.temporaryCustomFolderOverride:e.includes("📄")?this.temporaryCustomFilenameOverride:n.customTemplate||"",i.setPlaceholder(r).setValue(t).onChange(i=>{e.includes("📂")?this.temporaryCustomFolderOverride=i:e.includes("📄")&&(this.temporaryCustomFilenameOverride=i),this.updatePreviews()}),i.inputEl.setAttr("spellcheck","false"),i.inputEl.addClass("image-converter-full-width-input"),i});c.settingEl.addClass("image-converter-text-setting-item"),c.settingEl.addClass("image-converter-hide-name-desc"),A(h)}createCompactProcessingSection(i){let e=i.createDiv("image-converter-processing-card"),r=e.createDiv("image-converter-processing-card-header");r.addClass("image-converter-processing-card-header-clickable");let t=r.createDiv("image-converter-processing-card-header-content");this.processingCardPreview=t.createDiv("image-converter-processing-preview-text"),this.processingCardChevron=t.createEl("span",{text:"▶",cls:"image-converter-processing-card-chevron"}),this.updateProcessingPreview(),this.processingCardContent=e.createDiv("image-converter-processing-card-content"),this.processingCardContent.addClass("image-converter-collapsed");let n=this.processingCardContent.createDiv("image-converter-grid-header-row");n.createEl("div",{text:"Format",cls:"image-converter-grid-header"}),n.createEl("div",{text:"Link",cls:"image-converter-grid-header"});let f=this.processingCardContent.createDiv("image-converter-grid-component-row"),a=f.createDiv("image-converter-grid-component");this.conversionPresetDropdown=new Ti.Setting(a).addDropdown(i=>{this.settings.conversionPresets.forEach(e=>{i.addOption(e.name,e.name)}),i.setValue(this.selectedConversionPreset.name),i.onChange(i=>{this.selectedConversionPreset=this.settings.conversionPresets.find(e=>e.name===i)||this.settings.conversionPresets[0],this.updateConversionSettings(e),this.updateProcessingPreview()}),i.selectEl.addClass("image-converter-format-dropdown")}),this.conversionPresetDropdown.settingEl.addClass("image-converter-grid-dropdown-setting");let o=f.createDiv("image-converter-grid-component");this.linkFormatPresetDropdown=new Ti.Setting(o).addDropdown(i=>{this.settings.linkFormatSettings.linkFormatPresets.forEach(e=>{i.addOption(e.name,e.name)}),i.setValue(this.selectedLinkFormatPreset.name),i.onChange(i=>{this.selectedLinkFormatPreset=this.settings.linkFormatSettings.linkFormatPresets.find(e=>e.name===i)||this.settings.linkFormatSettings.linkFormatPresets[0],this.updateProcessingPreview()}),i.selectEl.addClass("image-converter-link-dropdown")}),this.linkFormatPresetDropdown.settingEl.addClass("image-converter-grid-dropdown-setting");let A=this.processingCardContent.createDiv("image-converter-grid-header-row");A.createEl("div",{text:"Resize",cls:"image-converter-grid-header"});let s=A.createEl("div",{text:`Quality ${this.selectedConversionPreset.quality}%`,cls:"image-converter-grid-header image-converter-quality-header"}),l=this.processingCardContent.createDiv("image-converter-grid-component-row"),k=l.createDiv("image-converter-grid-component");this.resizePresetDropdown=new Ti.Setting(k).addDropdown(i=>{this.settings.nonDestructiveResizeSettings.resizePresets.forEach(e=>{i.addOption(e.name,e.name)}),i.setValue(this.selectedResizePreset.name),i.onChange(i=>{this.selectedResizePreset=this.settings.nonDestructiveResizeSettings.resizePresets.find(e=>e.name===i)||this.settings.nonDestructiveResizeSettings.resizePresets[0],this.updateProcessingPreview()}),i.selectEl.addClass("image-converter-resize-dropdown")}),this.resizePresetDropdown.settingEl.addClass("image-converter-grid-dropdown-setting");let h=l.createDiv("image-converter-grid-component");this.conversionQualitySetting=new Ti.Setting(h).addSlider(i=>{i.setLimits(0,100,1).setValue(this.selectedConversionPreset.quality).setDynamicTooltip().onChange(i=>{this.selectedConversionPreset.quality=i,s.textContent=`Quality ${i}%`,this.updateProcessingPreview()}),i.sliderEl.addClass("image-converter-quality-slider")}),this.conversionQualitySetting.settingEl.addClass("image-converter-grid-slider-setting"),r.onclick=()=>{this.toggleProcessingCard()}}createCompactPreview(i){let e=i.createDiv("image-converter-compact-preview");e.createDiv("image-converter-preview-header-compact").createEl("span",{text:"Preview",cls:"image-converter-preview-title-compact"}),this.previewContainer=e.createDiv("image-converter-preview-content-compact")}updateConversionSettings(i){}createActionButtons(i){let e=i.createDiv("image-converter-compact-actions");new Ti.Setting(e).addButton(i=>{i.setButtonText("Edit presets").onClick(()=>{this.close();let i=this.app;i.setting?(i.setting.open(),i.setting.openTabById(this.plugin.manifest.id)):new Ti.Notice("Unable to open settings.")})}).addButton(i=>{i.setButtonText("Apply").setCta().onClick(()=>{this.saveSessionState();let i={...this.selectedFilenamePreset},e={...this.selectedFolderPreset};i.customTemplate=this.temporaryCustomFilenameOverride,e.customTemplate=this.temporaryCustomFolderOverride,this.temporaryCustomFolderOverride&&""!==this.temporaryCustomFolderOverride.trim()&&(e.type="CUSTOM"),this.onApply(this.selectedConversionPreset,i,e,this.selectedLinkFormatPreset,this.selectedResizePreset),this.close()})})}createGlobalPresetDropdown(i){new Ti.Setting(i).addDropdown(e=>{e.addOption("none","None"),this.settings.globalPresets.forEach(i=>{e.addOption(i.name,i.name)}),e.setValue(this.selectedGlobalPreset?this.selectedGlobalPreset.name:"none"),e.onChange(e=>{"none"===e?(this.selectedGlobalPreset=null,this.selectedConversionPreset=this.settings.conversionPresets.find(i=>i.name===this.settings.selectedConversionPreset)||this.settings.conversionPresets[0],this.selectedFilenamePreset=this.settings.filenamePresets.find(i=>i.name===this.settings.selectedFilenamePreset)||this.settings.filenamePresets[0],this.selectedFolderPreset=this.settings.folderPresets.find(i=>i.name===this.settings.selectedFolderPreset)||this.settings.folderPresets[0],this.selectedLinkFormatPreset=this.settings.linkFormatSettings.linkFormatPresets.find(i=>i.name===this.settings.linkFormatSettings.selectedLinkFormatPreset)||this.settings.linkFormatSettings.linkFormatPresets[0],this.selectedResizePreset=this.settings.nonDestructiveResizeSettings.resizePresets.find(i=>i.name===this.settings.nonDestructiveResizeSettings.selectedResizePreset)||this.settings.nonDestructiveResizeSettings.resizePresets[0]):(this.selectedGlobalPreset=this.settings.globalPresets.find(i=>i.name===e)||null,this.selectedGlobalPreset&&(this.selectedConversionPreset=this.settings.conversionPresets.find(i=>i.name===(this.selectedGlobalPreset?.conversionPreset||""))||this.settings.conversionPresets[0],this.selectedFilenamePreset=this.settings.filenamePresets.find(i=>i.name===(this.selectedGlobalPreset?.filenamePreset||""))||this.settings.filenamePresets[0],this.selectedFolderPreset=this.settings.folderPresets.find(i=>i.name===(this.selectedGlobalPreset?.folderPreset||""))||this.settings.folderPresets[0],this.selectedLinkFormatPreset=this.settings.linkFormatSettings.linkFormatPresets.find(i=>i.name===(this.selectedGlobalPreset?.linkFormatPreset||""))||this.settings.linkFormatSettings.linkFormatPresets[0],this.selectedResizePreset=this.settings.nonDestructiveResizeSettings.resizePresets.find(i=>i.name===(this.selectedGlobalPreset?.resizePreset||""))||this.settings.nonDestructiveResizeSettings.resizePresets[0])),this.folderPresetDropdown.components[0].setValue(this.selectedFolderPreset.name),this.filenamePresetDropdown.components[0].setValue(this.selectedFilenamePreset.name),this.conversionPresetDropdown.components[0].setValue(this.selectedConversionPreset.name),this.linkFormatPresetDropdown.components[0].setValue(this.selectedLinkFormatPreset.name),this.resizePresetDropdown.components[0].setValue(this.selectedResizePreset.name),this.temporaryCustomFolderOverride=this.selectedFolderPreset.customTemplate||"",this.temporaryCustomFilenameOverride=this.selectedFilenamePreset.customTemplate||"",this.customFolderText&&this.customFolderText.setValue(this.temporaryCustomFolderOverride),this.customFilenameText&&this.customFilenameText.setValue(this.temporaryCustomFilenameOverride);let r=i.closest(".image-converter-compact-container")?.querySelectorAll(".image-converter-compact-processing");r&&r.length>0&&this.updateConversionSettings(r[0]),this.updatePreviews()})}).settingEl.addClass("image-converter-global-mini-setting")}updatePreviews=async()=>{!this.previewContainer||!this.customFolderText||!this.customFilenameText||(this.updateTimeout&&window.clearTimeout(this.updateTimeout),this.updateTimeout=window.setTimeout(async()=>{if(this.previewContainer)try{let i=this.app.workspace.getActiveFile(),e=this.app.vault.getFiles().find(i=>i.extension.match(/^(jpg|jpeg|png|gif|webp)$/i)),r=i?.extension.match(/^(jpg|jpeg|png|gif|webp)$/i)?i:e,t=this.temporaryCustomFolderOverride||"",n=this.temporaryCustomFilenameOverride||"",f=document.createElement("div");if(t||n){let e=[t?await this.variableProcessor.processTemplate(t,{file:r||this.app.vault.getFiles()[0],activeFile:i||this.app.vault.getFiles()[0]}):"",n?await this.variableProcessor.processTemplate(n,{file:r||this.app.vault.getFiles()[0],activeFile:i||this.app.vault.getFiles()[0]}):""].filter(Boolean).join("/");f.createEl("div",{text:e||"No path specified",cls:"image-converter-preview-path-compact"})}else f.createEl("div",{text:"Enter templates to see preview",cls:"image-converter-preview-empty-compact"});this.previewContainer&&(this.previewContainer.empty(),this.previewContainer.append(f))}catch(i){console.error("Preview generation error:",i),this.previewContainer&&(this.previewContainer.empty(),this.previewContainer.createEl("div",{text:"Error generating preview",cls:"image-converter-preview-error-compact"}))}},150))};showAvailableVariables(){new gr(this.app,this.variableProcessor).open()}updateProcessingPreview(){if(!this.processingCardPreview)return;let i=`${this.selectedConversionPreset.name} ${`${this.selectedConversionPreset.quality}%`} • ${this.selectedLinkFormatPreset.name} • ${this.selectedResizePreset.name}`;this.processingCardPreview.textContent=i}toggleProcessingCard(){this.isProcessingCardExpanded=!this.isProcessingCardExpanded,this.processingCardContent&&this.processingCardChevron&&(this.isProcessingCardExpanded?(this.processingCardContent.removeClass("image-converter-collapsed"),this.processingCardChevron.textContent="▼"):(this.processingCardContent.addClass("image-converter-collapsed"),this.processingCardChevron.textContent="▶"))}onClose(){this.updateTimeout&&(window.clearTimeout(this.updateTimeout),this.updateTimeout=null),this.conversionQualitySetting=null,this.conversionColorDepthSetting=null,this.customFilenameSetting=null,this.customFilenameText=null,this.customFolderSetting=null,this.customFolderText=null,this.previewContainer=null;let{contentEl:i}=this;i.empty()}},wn=class extends x0.Plugin{settings;supportedImageFormats;folderAndFilenameManagement;imageProcessor;variableProcessor;linkFormatter;contextMenu;ImageAlignmentManager=null;imageResizer=null;batchImageProcessor;processSingleImageModal;processFolderModal;processCurrentNote;processAllVaultModal;captionManager;processedImage=null;temporaryBuffers=[];async onload(){await this.loadSettings(),this.addSettingTab(new ft(this.app,this)),this.supportedImageFormats=new rt(this.app),this.settings.enableImageCaptions&&(this.captionManager=new vn(this),this.register(()=>this.captionManager.cleanup())),this.settings.isImageAlignmentEnabled&&(this.ImageAlignmentManager=new cn(this.app,this,this.supportedImageFormats),await this.ImageAlignmentManager.initialize(),this.registerEvent(this.app.workspace.on("file-open",i=>{i&&(this.ImageAlignmentManager?.applyAlignmentsToNote(i.path),this.settings.enableImageCaptions&&this.captionManager.refresh())}))),this.app.workspace.onLayoutReady(()=>{this.initializeComponents(),(this.settings.isImageAlignmentEnabled||this.settings.isImageResizeEnbaled)&&this.registerEvent(this.app.workspace.on("layout-change",()=>{if(this.settings.isImageAlignmentEnabled){let i=this.app.workspace.getActiveFile();i&&this.ImageAlignmentManager?.applyAlignmentsToNote(i.path)}if(this.settings.isImageResizeEnbaled){let i=this.app.workspace.getActiveViewOfType(x0.MarkdownView);i&&this.imageResizer?.onLayoutChange(i)}this.settings.enableImageCaptions&&this.captionManager.refresh()}))})}async initializeComponents(){if(this.variableProcessor=new kt(this.app,this.settings),this.linkFormatter=new N2(this.app),this.imageProcessor=new lt(this.supportedImageFormats),this.settings.isImageResizeEnbaled){this.imageResizer=new dn(this);let i=this.app.workspace.getActiveViewOfType(x0.MarkdownView);i&&this.imageResizer.onload(i)}this.folderAndFilenameManagement=new tt(this.app,this.settings,this.supportedImageFormats,this.variableProcessor),this.batchImageProcessor=new pn(this.app,this,this.imageProcessor,this.folderAndFilenameManagement),this.settings.enableContextMenu&&(this.contextMenu=new kn(this.app,this,this.folderAndFilenameManagement,this.variableProcessor)),this.dropPasteRegisterEvents(),this.registerEvent(this.app.workspace.on("file-menu",(i,e)=>{e instanceof x0.TFile&&this.supportedImageFormats.isSupported(void 0,e.name)?i.addItem(i=>{i.setTitle("Process image").setIcon("cog").onClick(()=>{new lr(this.app,this,e).open()})}):e instanceof x0.TFolder?i.addItem(i=>{i.setTitle("Process all images in Folder").setIcon("cog").onClick(()=>{new gn(this.app,this,e.path,this.batchImageProcessor).open()})}):e instanceof x0.TFile&&("md"===e.extension||"canvas"===e.extension)&&i.addItem(i=>{i.setTitle("Process all images in "+("md"===e.extension?"Note":"Canvas")).setIcon("cog").onClick(()=>{new Rr(this.app,this,e,this.batchImageProcessor).open()})})})),this.addCommand({id:"process-all-vault-images",name:"Process all vault images",callback:()=>{new bn(this.app,this,this.batchImageProcessor).open()}}),this.addCommand({id:"process-all-images-current-note",name:"Process all images in current note",callback:()=>{let i=this.app.workspace.getActiveFile();i?new Rr(this.app,this,i,this.batchImageProcessor).open():new x0.Notice("Error: No active file found.")}}),this.addCommand({id:"open-image-converter-settings",name:"Open Image Converter Settings",callback:()=>this.commandOpenSettingsTab()}),this.addReloadCommand()}async onunload(){this.ImageAlignmentManager&&(this.ImageAlignmentManager.onunload(),this.ImageAlignmentManager=null),this.imageResizer&&(this.imageResizer.onunload(),this.imageResizer=null),this.contextMenu&&this.contextMenu.onunload(),[this.processSingleImageModal,this.processFolderModal,this.processCurrentNote,this.processAllVaultModal].forEach(i=>{i?.close&&i.close()}),[this.processSingleImageModal,this.processFolderModal,this.processCurrentNote,this.processAllVaultModal].forEach(i=>{i?.close&&i.close()}),document.body.classList.remove("image-captions-enabled")}async loadSettings(){this.settings=Object.assign({},Vi,await this.loadData())}async saveSettings(){await this.saveData(this.settings)}async commandOpenSettingsTab(){let{setting:i}=this.app;i?(await i.open(),i.openTabById(this.manifest.id)):new x0.Notice("Unable to open settings. Please check if the settings plugin is enabled.")}addReloadCommand(){this.addCommand({id:"reload-plugin",name:"Reload plugin",callback:async()=>{new x0.Notice("Reloading Image Converter plugin...");try{let{plugins:i}=this.app;if(!i||!i.disablePlugin)return console.error("Plugins API is not accessible."),void new x0.Notice("Failed to reload plugin: Plugins API unavailable.");if(await i.disablePlugin(this.manifest.id),await new Promise(i=>setTimeout(i,500)),!i||!i.enablePlugin)return console.error("Plugins API is not accessible."),void new x0.Notice("Failed to reload plugin: Plugins API unavailable.");await i.enablePlugin(this.manifest.id),new x0.Notice("Image Converter plugin reloaded!")}catch(i){console.error("Error reloading plugin:",i),new x0.Notice("Failed to reload plugin. See console for details.")}}})}dropPasteRegisterEvents(){x0.Platform.isMobile||(this.registerEvent(this.app.workspace.on("editor-drop",async(i,e)=>{if(!i.dataTransfer)return void console.warn("DataTransfer object is null initially. Cannot process drop event.");let r=e.posAtMouse(i);if(!r)return void console.warn("Could not determine drop position");let t=[];for(let e=0;e<i.dataTransfer.files.length;e++){let r=i.dataTransfer.files[e];t.push({name:r.name,type:r.type,file:r})}t.some(i=>this.supportedImageFormats.isSupported(i.type,i.name)&&!this.folderAndFilenameManagement.matchesPatterns(i.name,this.settings.neverProcessFilenames))&&(i.preventDefault(),await this.handleDrop(t,e,i,r))})),this.registerEvent(this.app.workspace.on("editor-paste",async(i,e)=>{if(!i.clipboardData)return void console.warn("ClipboardData object is null. Cannot process paste event.");let r=e.getCursor(),t=[];for(let e=0;e<i.clipboardData.items.length;e++){let r=i.clipboardData.items[e],n="file"===r.kind?r.getAsFile():null;t.push({kind:r.kind,type:r.type,file:n})}t.some(i=>"file"===i.kind&&i.file&&this.supportedImageFormats.isSupported(i.type,i.file.name)&&!this.folderAndFilenameManagement.matchesPatterns(i.file.name,this.settings.neverProcessFilenames))&&(i.preventDefault(),await this.handlePaste(t,e,r))})))}async handleDrop(i,e,r,t){let n=i.filter(i=>this.supportedImageFormats.isSupported(i.type,i.name)).map(i=>i.file);if(0===n.length)return;let f=this.app.workspace.getActiveFile();if(!f)return void new x0.Notice("No active file detected.");let a=n.map(async i=>{try{let r,n,a,o,A,s,l,{modalBehavior:k}=this.settings,h="always"===k;"ask"===k&&(h=await new Promise(i=>{new Qi(this.app,"Show Preset Selection Modal?","Do you want to select presets for this image?","Yes",()=>i(!0)).open()})),h?({selectedConversionPreset:r,selectedFilenamePreset:n,selectedFolderPreset:a,selectedLinkFormatPreset:o,selectedResizePreset:A}=await new Promise(i=>{new Pr(this.app,this.settings,(e,r,t,n,f)=>{i({selectedConversionPreset:e,selectedFilenamePreset:r,selectedFolderPreset:t,selectedLinkFormatPreset:n,selectedResizePreset:f})},this,this.variableProcessor).open()})):(r=this.getPresetByName(this.settings.selectedConversionPreset,this.settings.conversionPresets,"Conversion"),n=this.getPresetByName(this.settings.selectedFilenamePreset,this.settings.filenamePresets,"Filename"),a=this.getPresetByName(this.settings.selectedFolderPreset,this.settings.folderPresets,"Folder"),o=this.getPresetByName(this.settings.linkFormatSettings.selectedLinkFormatPreset,this.settings.linkFormatSettings.linkFormatPresets,"Link Format"),A=this.getPresetByName(this.settings.nonDestructiveResizeSettings.selectedResizePreset,this.settings.nonDestructiveResizeSettings.resizePresets,"Resize"));try{({destinationPath:s,newFilename:l}=await this.folderAndFilenameManagement.determineDestination(i,f,r,n,a))}catch(e){return console.error("Error determining destination and filename:",e),void new x0.Notice(`Failed to determine destination or filename for "${i.name}". Check console for details.`)}try{await this.folderAndFilenameManagement.ensureFolderExists(s)}catch(i){if(!i.message.startsWith("Folder already exists"))return console.error("Error creating folder:",i),void new x0.Notice(`Failed to create folder "${s}". Check console for details.`)}let u=`${s}/${l}`,c=this.app.vault.getAbstractFileByPath(u),d=!1;if(n&&this.folderAndFilenameManagement.shouldSkipRename(i.name,n))new x0.Notice(`Skipped renaming/conversion of image "${i.name}" due to skip pattern match.`),d=!0;else if(n&&"increment"===n.conflictResolution)try{l=await this.folderAndFilenameManagement.handleNameConflicts(s,l,"increment"),c=this.app.vault.getAbstractFileByPath(`${s}/${l}`)}catch(e){return console.error("Error handling filename conflicts:",e),void new x0.Notice(`Error incrementing filename for "${i.name}". Check console for details.`)}let b=this.folderAndFilenameManagement.combinePath(s,l);if(d)c&&this.insertLinkAtCursorPosition(e,c.path,t,o,A);else{if(c&&n&&"reuse"===n.conflictResolution)return void this.insertLinkAtCursorPosition(e,c.path,t,o,A);if(r&&this.folderAndFilenameManagement.shouldSkipConversion(i.name,r)){new x0.Notice(`Skipped conversion of image "${i.name}" due to skip pattern match in the conversion preset.`);let r=await i.arrayBuffer(),n=await this.app.vault.createBinary(b,r);if(!n)return void new x0.Notice(`Failed to create file "${l}". Check console for details.`);this.insertLinkAtCursorPosition(e,n.path,t,o,A)}else try{let n,f=i.size;if(this.processedImage=await this.imageProcessor.processImage(i,r?r.outputFormat:this.settings.outputFormat,r?r.quality/100:this.settings.quality/100,r?r.colorDepth:this.settings.colorDepth,r?r.resizeMode:this.settings.resizeMode,r?r.desiredWidth:this.settings.desiredWidth,r?r.desiredHeight:this.settings.desiredHeight,r?r.desiredLongestEdge:this.settings.desiredLongestEdge,r?r.enlargeOrReduce:this.settings.enlargeOrReduce,r?r.allowLargerFiles:this.settings.allowLargerFiles,r,this.settings),this.settings.revertToOriginalIfLarger&&this.processedImage.byteLength>f){this.showSizeComparisonNotification(f,this.processedImage.byteLength),new x0.Notice(`Using original image for "${i.name}" as processed image is larger.`);let e=await i.arrayBuffer();n=await this.app.vault.createBinary(b,e)}else this.showSizeComparisonNotification(f,this.processedImage.byteLength),n=await this.app.vault.createBinary(b,this.processedImage);await this.insertLinkAtCursorPosition(e,n.path,t,o,A)}catch(e){return console.error("Image processing failed:",e),void(e instanceof Error?e.message.includes("File already exists")?new x0.Notice(`Failed to process image: File "${l}" already exists.`):e.message.includes("Invalid input file type")?new x0.Notice(`Failed to process image: Invalid input file type for "${i.name}".`):new x0.Notice(`Failed to process image "${i.name}": ${e.message}. Check console for details.`):new x0.Notice(`Failed to process image "${i.name}". Check console for details.`))}finally{this.clearMemory()}}}catch(i){console.error("An unexpected error occurred:",i),new x0.Notice("An unexpected error occurred. Check console for details.")}});await Promise.all(a),this.settings.enableImageCaptions&&this.captionManager.refresh()}async handlePaste(i,e,r){let t=i.filter(i=>"file"===i.kind&&i.file&&this.supportedImageFormats.isSupported(i.type,i.file.name)).map(i=>i.file).filter(i=>null!==i);if(0===t.length)return;let n=this.app.workspace.getActiveFile();if(!n)return void new x0.Notice("No active file found!");let f=t.map(async i=>{let t,f,a,o,A,{modalBehavior:s}=this.settings,l="always"===s;"ask"===s&&(l=await new Promise(i=>{new Qi(this.app,"Show Preset Selection Modal?","Do you want to select presets for this image?","Yes",()=>i(!0)).open()})),l?({selectedConversionPreset:t,selectedFilenamePreset:f,selectedFolderPreset:a,selectedLinkFormatPreset:o,selectedResizePreset:A}=await new Promise(i=>{new Pr(this.app,this.settings,(e,r,t,n,f)=>{i({selectedConversionPreset:e,selectedFilenamePreset:r,selectedFolderPreset:t,selectedLinkFormatPreset:n,selectedResizePreset:f})},this,this.variableProcessor).open()})):(t=this.getPresetByName(this.settings.selectedConversionPreset,this.settings.conversionPresets,"Conversion"),f=this.getPresetByName(this.settings.selectedFilenamePreset,this.settings.filenamePresets,"Filename"),a=this.getPresetByName(this.settings.selectedFolderPreset,this.settings.folderPresets,"Folder"),o=this.getPresetByName(this.settings.linkFormatSettings.selectedLinkFormatPreset,this.settings.linkFormatSettings.linkFormatPresets,"Link Format"),A=this.getPresetByName(this.settings.nonDestructiveResizeSettings.selectedResizePreset,this.settings.nonDestructiveResizeSettings.resizePresets,"Resize"));try{let s,l;try{({destinationPath:s,newFilename:l}=await this.folderAndFilenameManagement.determineDestination(i,n,t,f,a))}catch(e){return console.error("Error determining destination and filename:",e),void new x0.Notice(`Failed to determine destination or filename for "${i.name}". Check console for details.`)}try{await this.folderAndFilenameManagement.ensureFolderExists(s)}catch(i){if(!i.message.startsWith("Folder already exists"))return console.error("Error creating folder:",i),void new x0.Notice(`Failed to create folder: ${s}`)}let k=`${s}/${l}`,h=this.app.vault.getAbstractFileByPath(k),u=!1;if(f&&this.folderAndFilenameManagement.shouldSkipRename(i.name,f))new x0.Notice(`Skipped renaming/conversion of image "${i.name}" due to skip pattern match.`),u=!0;else if(f&&"increment"===f.conflictResolution)try{l=await this.folderAndFilenameManagement.handleNameConflicts(s,l,"increment"),h=this.app.vault.getAbstractFileByPath(`${s}/${l}`)}catch(e){return console.error("Error handling filename conflicts:",e),void new x0.Notice(`Error incrementing filename for "${i.name}". Check console for details.`)}let c=this.folderAndFilenameManagement.combinePath(s,l);if(u)h&&this.insertLinkAtCursorPosition(e,h.path,r,o,A);else{if(h&&f&&"reuse"===f.conflictResolution)return void this.insertLinkAtCursorPosition(e,h.path,r,o,A);if(t&&this.folderAndFilenameManagement.shouldSkipConversion(i.name,t)){new x0.Notice(`Skipped conversion of image "${i.name}" due to skip pattern match in the conversion preset.`);let t=await i.arrayBuffer(),n=await this.app.vault.createBinary(c,t);if(!n)return void new x0.Notice(`Failed to create file: ${l}`);this.insertLinkAtCursorPosition(e,n.path,r,o,A)}else try{let n,f=i.size;if(this.processedImage=await this.imageProcessor.processImage(i,t?t.outputFormat:this.settings.outputFormat,t?t.quality/100:this.settings.quality/100,t?t.colorDepth:this.settings.colorDepth,t?t.resizeMode:this.settings.resizeMode,t?t.desiredWidth:this.settings.desiredWidth,t?t.desiredHeight:this.settings.desiredHeight,t?t.desiredLongestEdge:this.settings.desiredLongestEdge,t?t.enlargeOrReduce:this.settings.enlargeOrReduce,t?t.allowLargerFiles:this.settings.allowLargerFiles,t,this.settings),this.settings.revertToOriginalIfLarger&&this.processedImage.byteLength>f){this.showSizeComparisonNotification(f,this.processedImage.byteLength),new x0.Notice(`Using original image for "${i.name}" as processed image is larger.`);let e=await i.arrayBuffer();n=await this.app.vault.createBinary(c,e)}else this.showSizeComparisonNotification(f,this.processedImage.byteLength),n=await this.app.vault.createBinary(c,this.processedImage);if(!n)return void new x0.Notice(`Failed to create file "${l}". Check console for details.`);this.insertLinkAtCursorPosition(e,n.path,r,o,A)}catch(e){return console.error("Image processing failed:",e),void(e instanceof Error?e.message.includes("File already exists")?new x0.Notice(`Failed to process image: File "${l}" already exists.`):e.message.includes("Invalid input file type")?new x0.Notice(`Failed to process image: Invalid input file type for "${i.name}".`):new x0.Notice(`Failed to process image "${i.name}": ${e.message}. Check console for details.`):new x0.Notice(`Failed to process image "${i.name}". Check console for details.`))}}}catch(i){console.error("An unexpected error occurred:",i),new x0.Notice("An unexpected error occurred. Check console for details.")}finally{this.clearMemory()}});await Promise.all(f),this.settings.enableImageCaptions&&this.captionManager.refresh()}async insertLinkAtCursorPosition(i,e,r,t,n){let f=this.app.workspace.getActiveFile(),a=t||this.settings.linkFormatSettings.linkFormatPresets.find(i=>i.name===this.settings.linkFormatSettings.selectedLinkFormatPreset),o=n||this.settings.nonDestructiveResizeSettings.resizePresets.find(i=>i.name===this.settings.nonDestructiveResizeSettings.selectedResizePreset),A=await this.linkFormatter.formatLink(e,a?.linkFormat||"wikilink",a?.pathFormat||"shortest",f,o);i.replaceRange(A,r),"back"===this.settings.dropPasteCursorLocation&&i.setCursor({line:r.line,ch:r.ch+A.length})}formatFileSize(i){return i<1024?`${i} bytes`:i<1048576?`${(i/1024).toFixed(1)} KB`:`${(i/1048576).toFixed(1)} MB`}showSizeComparisonNotification(i,e){if(!this.settings.showSpaceSavedNotification)return;let r=`${this.formatFileSize(i)} → ${this.formatFileSize(e)} (${e>i?"+":""}${((e-i)/i*100).toFixed(1)}%)`;new x0.Notice(r)}getPresetByName(i,e,r){return e.find(e=>e.name===i)||(console.warn(`${r} preset "${i}" not found, using default`),e[0])}clearMemory(){if(this.processedImage&&(this.processedImage=null),this.temporaryBuffers){for(let i=0;i<this.temporaryBuffers.length;i++)this.temporaryBuffers[i]=null;this.temporaryBuffers=[]}}};
/*! Bundled license information:
sortablejs/Sortable.min.js:
(*! Sortable 1.15.6 - MIT | git://github.com/SortableJS/Sortable.git *)
*/
/* nosourcemap */