You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

79 lines
2.5 MiB

function BigInteger(e,t,n){null!=e&&("number"==typeof e?this.fromNumber(e,t,n):null==t&&"string"!=typeof e?this.fromString(e,256):this.fromString(e,t))}function nbi(){return new BigInteger(null)}function am1(e,t,n,i,a,r){for(;--r>=0;){var o=t*this[e++]+n[i]+a;a=Math.floor(o/67108864),n[i++]=67108863&o}return a}function am2(e,t,n,i,a,r){for(var o=32767&t,s=t>>15;--r>=0;){var l=32767&this[e],c=this[e++]>>15,d=s*l+c*o;l=o*l+((32767&d)<<15)+n[i]+(1073741823&a),a=(l>>>30)+(d>>>15)+s*c+(a>>>30),n[i++]=1073741823&l}return a}function am3(e,t,n,i,a,r){for(var o=16383&t,s=t>>14;--r>=0;){var l=16383&this[e],c=this[e++]>>14,d=s*l+c*o;l=o*l+((16383&d)<<14)+n[i]+a,a=(l>>28)+(d>>14)+s*c,n[i++]=268435455&l}return a}function int2char(e){return BI_RM.charAt(e)}function intAt(e,t){var n=BI_RC[e.charCodeAt(t)];return null==n?-1:n}function bnpCopyTo(e){for(var t=this.t-1;t>=0;--t)e[t]=this[t];e.t=this.t,e.s=this.s}function bnpFromInt(e){this.t=1,this.s=e<0?-1:0,e>0?this[0]=e:e<-1?this[0]=e+this.DV:this.t=0}function nbv(e){var t=nbi();return t.fromInt(e),t}function bnpFromString(e,t,n){var i;if(16==t)i=4;else if(8==t)i=3;else if(256==t)i=8;else if(2==t)i=1;else if(32==t)i=5;else{if(4!=t)return void this.fromRadix(e,t);i=2}this.t=0,this.s=0;for(var a=e.length,r=!1,o=0;--a>=0;){var s=8==i?255&e[a]:intAt(e,a);s<0?"-"==e.charAt(a)&&(r=!0):(r=!1,0==o?this[this.t++]=s:o+i>this.DB?(this[this.t-1]|=(s&(1<<this.DB-o)-1)<<o,this[this.t++]=s>>this.DB-o):this[this.t-1]|=s<<o,o+=i,o>=this.DB&&(o-=this.DB))}8==i&&0!=(128&e[0])&&n&&(this.s=-1,o>0&&(this[this.t-1]|=(1<<this.DB-o)-1<<o)),this.clamp(),r&&BigInteger.ZERO.subTo(this,this)}function bnpClamp(){for(var e=this.s&this.DM;this.t>0&&this[this.t-1]==e;)--this.t}function bnToString(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(16==e)t=4;else if(8==e)t=3;else if(2==e)t=1;else if(32==e)t=5;else{if(4!=e)return this.toRadix(e);t=2}var n,i=(1<<t)-1,a=!1,r="",o=this.t,s=this.DB-o*this.DB%t;if(o-- >0)for(s<this.DB&&(n=this[o]>>s)>0&&(a=!0,r=int2char(n));o>=0;)s<t?(n=(this[o]&(1<<s)-1)<<t-s,n|=this[--o]>>(s+=this.DB-t)):(n=this[o]>>(s-=t)&i,s<=0&&(s+=this.DB,--o)),n>0&&(a=!0),a&&(r+=int2char(n));return a?r:"0"}function bnNegate(){var e=nbi();return BigInteger.ZERO.subTo(this,e),e}function bnAbs(){return this.s<0?this.negate():this}function bnCompareTo(e){var t=this.s-e.s;if(0!=t)return t;var n=this.t;if(t=n-e.t,0!=t)return this.s<0?-t:t;for(;--n>=0;)if(0!=(t=this[n]-e[n]))return t;return 0}function nbits(e){var t,n=1;return 0!=(t=e>>>16)&&(e=t,n+=16),0!=(t=e>>8)&&(e=t,n+=8),0!=(t=e>>4)&&(e=t,n+=4),0!=(t=e>>2)&&(e=t,n+=2),0!=(t=e>>1)&&(e=t,n+=1),n}function bnBitLength(){return this.t<=0?0:this.DB*(this.t-1)+nbits(this[this.t-1]^this.s&this.DM)}function bnpDLShiftTo(e,t){var n;for(n=this.t-1;n>=0;--n)t[n+e]=this[n];for(n=e-1;n>=0;--n)t[n]=0;t.t=this.t+e,t.s=this.s}function bnpDRShiftTo(e,t){for(var n=e;n<this.t;++n)t[n-e]=this[n];t.t=Math.max(this.t-e,0),t.s=this.s}function bnpLShiftTo(e,t){var n,i=e%this.DB,a=this.DB-i,r=(1<<a)-1,o=Math.floor(e/this.DB),s=this.s<<i&this.DM;for(n=this.t-1;n>=0;--n)t[n+o+1]=this[n]>>a|s,s=(this[n]&r)<<i;for(n=o-1;n>=0;--n)t[n]=0;t[o]=s,t.t=this.t+o+1,t.s=this.s,t.clamp()}function bnpRShiftTo(e,t){t.s=this.s;var n=Math.floor(e/this.DB);if(n>=this.t)return void(t.t=0);var i=e%this.DB,a=this.DB-i,r=(1<<i)-1;t[0]=this[n]>>i;for(var o=n+1;o<this.t;++o)t[o-n-1]|=(this[o]&r)<<a,t[o-n]=this[o]>>i;i>0&&(t[this.t-n-1]|=(this.s&r)<<a),t.t=this.t-n,t.clamp()}function bnpSubTo(e,t){for(var n=0,i=0,a=Math.min(e.t,this.t);n<a;)i+=this[n]-e[n],t[n++]=i&this.DM,i>>=this.DB;if(e.t<this.t){for(i-=e.s;n<this.t;)i+=this[n],t[n++]=i&this.DM,i>>=this.DB;i+=this.s}else{for(i+=this.s;n<e.t;)i-=e[n],t[n++]=i&this.DM,i>>=this.DB;i-=e.s}t.s=i<0?-1:0,i<-1?t[n++]=this.DV+i:i>0&&(t[n++]=i),t.t=n,t.clamp()}function bnpMultiplyTo(e,t){var n=this.abs(),i=e.abs(),a=n.t;for(t.t=a+i.t;--a>=0;)t[a]=0;for(a=0;a<i.t;++a)t[a+n.t]=n.am(0,i[a],t,a,0,n.t);t.s=0,t.clamp(),this.s!=e.s&&BigInteger.ZERO.subTo(t,t)}function bnpSquareTo(e){for(var t=this.abs(),n=e.t=2*t.t;--n>=0;)e[n]=0;for(n=0;n<t.t-1;++n){var i=t.
return!1}function cancelEvent(e){return e=e||window.event,e&&(e=e.originalEvent||e,e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault(),e.returnValue=!1,e.cancelBubble=!0),!1}function hasOnclick(e){if(e.onclick||e.getAttribute("ng-click"))return!0;var t=$._data(e,"events");return!(!t||!t.click&&!t.mousedown)}function getScrollWidth(){var e=$("<div>").css({position:"absolute",width:100,height:100,overflow:"scroll",top:-9999}).appendTo($(document.body)),t=e[0].offsetWidth-e[0].clientWidth;return e.remove(),t}function onCtrlEnter(e,t){$(e).on("keydown",function(e){if(13==e.keyCode&&(e.ctrlKey||e.metaKey))return t(),cancelEvent(e)})}function setFieldSelection(e,t,n){e=$(e)[0];try{if(e.focus(),void 0!==t&&t!==!1||(t=e.value.length),void 0!==n&&n!==!1||(n=t),e.createTextRange){var i=e.createTextRange();i.collapse(!0),i.moveEnd("character",n),i.moveStart("character",t),i.select()}else e.setSelectionRange&&e.setSelectionRange(t,n)}catch(a){}}function getFieldSelection(e){if(e.selectionStart)return e.selectionStart;if(!document.selection)return 0;var t="",n=document.selection.createRange(),i=n.text,a=n.duplicate(),r=0;try{a.moveToElementText(e)}catch(o){return 0}return n.text=i+t,r=a.text.indexOf(t),n.moveStart("character",-1),n.text="",r}function getRichValue(e){if(!e)return"";var t=[],n=[];getRichElementValue(e,t,n),n.length&&t.push(n.join(""));var i=t.join("\n");return i=i.replace(/\u00A0/g," ")}function getRichValueWithCaret(e){if(!e)return[];var t,n,i=[],a=[],r=!!window.getSelection&&window.getSelection();if(r&&r.rangeCount){var o=r.getRangeAt(0);o.startContainer&&o.startContainer==o.endContainer&&o.startOffset==o.endOffset&&(t=o.startContainer,n=o.startOffset)}getRichElementValue(e,i,a,t,n),a.length&&i.push(a.join(""));var s=i.join("\n"),l=s.indexOf("");return l!=-1&&(s=s.substr(0,l)+s.substr(l+1)),s=s.replace(/\u00A0/g," "),[s,l]}function getRichElementValue(e,t,n,i,a){if(3!=e.nodeType){if(1==e.nodeType){var r,o=i===e,s="DIV"==e.tagName||"P"==e.tagName;s&&n.length||"BR"==e.tagName?(t.push(n.join("")),n.splice(0,n.length)):"IMG"==e.tagName&&e.alt&&n.push(e.alt),o&&!a&&n.push("");for(var r=e.firstChild;r;)getRichElementValue(r,t,n,i,a),r=r.nextSibling;o&&a&&n.push(""),s&&n.length&&(t.push(n.join("")),n.splice(0,n.length))}}else if(i===e){var l=e.nodeValue;n.push(l.substr(0,a)+""+l.substr(a))}else n.push(e.nodeValue)}function setRichFocus(e,t,n){if(e.focus(),!t||t.parentNode!=e||t.nextSibling||n||(e.removeChild(t),t=null),window.getSelection&&document.createRange){var i=document.createRange();t?i.selectNode(t):i.selectNodeContents(e),n||i.collapse(!1);var a=window.getSelection();a.removeAllRanges(),a.addRange(i)}else if(void 0!==document.body.createTextRange){var r=document.body.createTextRange();r.moveToElementText(t||e),n||r.collapse(!1),r.select()}}function getSelectedText(){var e=(window.getSelection&&window.getSelection()||document.getSelection&&document.getSelection()||document.selection&&document.selection.createRange().text||"").toString().replace(/^\s+|\s+$/g,"");return e}function scrollToNode(e,t,n){var i=t.offsetTop-15,a=t.offsetHeight+30,r=e.scrollTop,o=e.clientHeight;r>i?(e.scrollTop=i,$(n).nanoScroller({flash:!0})):r<i+a-o&&(e.scrollTop=i+a-o,$(n).nanoScroller({flash:!0}))}function onContentLoaded(e){e=onAnimationFrameCallback(e),setZeroTimeout(e)}function tsNow(e){var t=+new Date+(window.tsOffset||0);return e?Math.floor(t/1e3):t}function safeReplaceObject(e,t){for(var n in e)t.hasOwnProperty(n)||"$"==n.charAt(0)||delete e[n];for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])}function listMergeSorted(e,t){e=e||[],t=t||[];for(var n=angular.copy(e),i=e.length?e[e.length-1]:4294967295,a=0;a<t.length;a++)t[a]<i&&n.push(t[a]);return n}function listUniqSorted(e){e=e||[];for(var t=[],n=!1,i=0;i<e.length;i++)e[i]!==n&&t.push(e[i]),n=e[i];return t}function templateUrl(e){var t={confirm_modal:"desktop",error_modal:"desktop",media_modal_layout:"desktop",slider:"desktop",reply_message:"desktop",full_round:"desktop",message_body:"desktop",message_media:"desktop",message_attach_game:"desktop",forward
}else if(s)for(;o>r&&(a=t.call(e[r],r,e[r]),a!==!1);r++);else for(r in e)if(a=t.call(e[r],r,e[r]),a===!1)break;return e},trim:function(e){return null==e?"":(e+"").replace(re,"")},makeArray:function(e,t){var i=t||[];return null!=e&&(n(Object(e))?ae.merge(i,"string"==typeof e?[e]:e):J.call(i,e)),i},inArray:function(e,t,n){var i;if(t){if(Z)return Z.call(t,e,n);for(i=t.length,n=n?0>n?Math.max(0,i+n):n:0;i>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,t){for(var n=+t.length,i=0,a=e.length;n>i;)e[a++]=t[i++];if(n!==n)for(;void 0!==t[i];)e[a++]=t[i++];return e.length=a,e},grep:function(e,t,n){for(var i,a=[],r=0,o=e.length,s=!n;o>r;r++)i=!t(e[r],r),i!==s&&a.push(e[r]);return a},map:function(e,t,i){var a,r=0,o=e.length,s=n(e),l=[];if(s)for(;o>r;r++)a=t(e[r],r,i),null!=a&&l.push(a);else for(r in e)a=t(e[r],r,i),null!=a&&l.push(a);return X.apply([],l)},guid:1,proxy:function(e,t){var n,i,a;return"string"==typeof t&&(a=e[t],t=e,e=a),ae.isFunction(e)?(n=Y.call(arguments,2),i=function(){return e.apply(t||this,n.concat(Y.call(arguments)))},i.guid=e.guid=e.guid||ae.guid++,i):void 0},now:function(){return+new Date},support:ne}),ae.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){Q["[object "+t+"]"]=t.toLowerCase()});var ce=function(e){function t(e,t,n,i){var a,r,o,s,l,c,u,f,m,h;if((t?t.ownerDocument||t:B)!==P&&x(t),t=t||P,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(R&&!i){if(a=ve.exec(e))if(o=a[1]){if(9===s){if(r=t.getElementById(o),!r||!r.parentNode)return n;if(r.id===o)return n.push(r),n}else if(t.ownerDocument&&(r=t.ownerDocument.getElementById(o))&&F(t,r)&&r.id===o)return n.push(r),n}else{if(a[2])return Q.apply(n,t.getElementsByTagName(e)),n;if((o=a[3])&&w.getElementsByClassName&&t.getElementsByClassName)return Q.apply(n,t.getElementsByClassName(o)),n}if(w.qsa&&(!O||!O.test(e))){if(f=u=U,m=t,h=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){for(c=A(e),(u=t.getAttribute("id"))?f=u.replace(be,"\\$&"):t.setAttribute("id",f),f="[id='"+f+"'] ",l=c.length;l--;)c[l]=f+p(c[l]);m=ye.test(e)&&d(t.parentNode)||t,h=c.join(",")}if(h)try{return Q.apply(n,m.querySelectorAll(h)),n}catch(g){}finally{u||t.removeAttribute("id")}}}return T(e.replace(le,"$1"),t,n,i)}function n(){function e(n,i){return t.push(n+" ")>k.cacheLength&&delete e[t.shift()],e[n+" "]=i}var t=[];return e}function i(e){return e[U]=!0,e}function a(e){var t=P.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function r(e,t){for(var n=e.split("|"),i=e.length;i--;)k.attrHandle[n[i]]=t}function o(e,t){var n=t&&e,i=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||K)-(~e.sourceIndex||K);if(i)return i;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function s(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function l(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function c(e){return i(function(t){return t=+t,i(function(n,i){for(var a,r=e([],n.length,t),o=r.length;o--;)n[a=r[o]]&&(n[a]=!(i[a]=n[a]))})})}function d(e){return e&&typeof e.getElementsByTagName!==G&&e}function u(){}function p(e){for(var t=0,n=e.length,i="";n>t;t++)i+=e[t].value;return i}function f(e,t,n){var i=t.dir,a=n&&"parentNode"===i,r=j++;return t.first?function(t,n,r){for(;t=t[i];)if(1===t.nodeType||a)return e(t,n,r)}:function(t,n,o){var s,l,c=[H,r];if(o){for(;t=t[i];)if((1===t.nodeType||a)&&e(t,n,o))return!0}else for(;t=t[i];)if(1===t.nodeType||a){if(l=t[U]||(t[U]={}),(s=l[i])&&s[0]===H&&s[1]===r)return c[2]=s[2];if(l[i]=c,c[2]=e(t,n,o))return!0}}}function m(e){return e.length>1?function(t,n,i){for(var a=e.length;a--;)if(!e[a](t,n,i))return!1;return!0}:e[0]}function h(e,n,i){for(var a=0,r=n.length;r>a;a++)t(e,n[a],i);return i}function g(e,t,n,i,a){for(var r,o=[],s=0,l=e.length,c=null!=t;l>s;s++)(r=e[s])&&(!n||n(r,i,a))&&(o.push(r),c&&t.push(s));return o}function _(e,t,n,a,r,o){return a&&!a[U]&&(a=_(a)),r&&!r[U]&&(r=_(r,o)),i(function(i,o,s,l){var c,d,u,p=[
for(n.handler&&(l=n,n=l.handler,a=l.selector),n.guid||(n.guid=ae.guid++),(o=g.events)||(o=g.events={}),(d=g.handle)||(d=g.handle=function(e){return typeof ae===Me||e&&ae.event.triggered===e.type?void 0:ae.event.dispatch.apply(d.elem,arguments)},d.elem=e),t=(t||"").match(ye)||[""],s=t.length;s--;)r=Oe.exec(t[s])||[],f=h=r[1],m=(r[2]||"").split(".").sort(),f&&(c=ae.event.special[f]||{},f=(a?c.delegateType:c.bindType)||f,c=ae.event.special[f]||{},u=ae.extend({type:f,origType:h,data:i,handler:n,guid:n.guid,selector:a,needsContext:a&&ae.expr.match.needsContext.test(a),namespace:m.join(".")},l),(p=o[f])||(p=o[f]=[],p.delegateCount=0,c.setup&&c.setup.call(e,i,m,d)!==!1||(e.addEventListener?e.addEventListener(f,d,!1):e.attachEvent&&e.attachEvent("on"+f,d))),c.add&&(c.add.call(e,u),u.handler.guid||(u.handler.guid=n.guid)),a?p.splice(p.delegateCount++,0,u):p.push(u),ae.event.global[f]=!0);e=null}},remove:function(e,t,n,i,a){var r,o,s,l,c,d,u,p,f,m,h,g=ae.hasData(e)&&ae._data(e);if(g&&(d=g.events)){for(t=(t||"").match(ye)||[""],c=t.length;c--;)if(s=Oe.exec(t[c])||[],f=h=s[1],m=(s[2]||"").split(".").sort(),f){for(u=ae.event.special[f]||{},f=(i?u.delegateType:u.bindType)||f,p=d[f]||[],s=s[2]&&new RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=r=p.length;r--;)o=p[r],!a&&h!==o.origType||n&&n.guid!==o.guid||s&&!s.test(o.namespace)||i&&i!==o.selector&&("**"!==i||!o.selector)||(p.splice(r,1),o.selector&&p.delegateCount--,u.remove&&u.remove.call(e,o));l&&!p.length&&(u.teardown&&u.teardown.call(e,m,g.handle)!==!1||ae.removeEvent(e,f,g.handle),delete d[f])}else for(f in d)ae.event.remove(e,f+t[c],n,i,!0);ae.isEmptyObject(d)&&(delete g.handle,ae._removeData(e,"events"))}},trigger:function(t,n,i,a){var r,o,s,l,c,d,u,p=[i||me],f=te.call(t,"type")?t.type:t,m=te.call(t,"namespace")?t.namespace.split("."):[];if(s=d=i=i||me,3!==i.nodeType&&8!==i.nodeType&&!Re.test(f+ae.event.triggered)&&(f.indexOf(".")>=0&&(m=f.split("."),f=m.shift(),m.sort()),o=f.indexOf(":")<0&&"on"+f,t=t[ae.expando]?t:new ae.Event(f,"object"==typeof t&&t),t.isTrigger=a?2:3,t.namespace=m.join("."),t.namespace_re=t.namespace?new RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:ae.makeArray(n,[t]),c=ae.event.special[f]||{},a||!c.trigger||c.trigger.apply(i,n)!==!1)){if(!a&&!c.noBubble&&!ae.isWindow(i)){for(l=c.delegateType||f,Re.test(l+f)||(s=s.parentNode);s;s=s.parentNode)p.push(s),d=s;d===(i.ownerDocument||me)&&p.push(d.defaultView||d.parentWindow||e)}for(u=0;(s=p[u++])&&!t.isPropagationStopped();)t.type=u>1?l:c.bindType||f,r=(ae._data(s,"events")||{})[t.type]&&ae._data(s,"handle"),r&&r.apply(s,n),r=o&&s[o],r&&r.apply&&ae.acceptData(s)&&(t.result=r.apply(s,n),t.result===!1&&t.preventDefault());if(t.type=f,!a&&!t.isDefaultPrevented()&&(!c._default||c._default.apply(p.pop(),n)===!1)&&ae.acceptData(i)&&o&&i[f]&&!ae.isWindow(i)){d=i[o],d&&(i[o]=null),ae.event.triggered=f;try{i[f]()}catch(h){}ae.event.triggered=void 0,d&&(i[o]=d)}return t.result}},dispatch:function(e){e=ae.event.fix(e);var t,n,i,a,r,o=[],s=Y.call(arguments),l=(ae._data(this,"events")||{})[e.type]||[],c=ae.event.special[e.type]||{};if(s[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){for(o=ae.event.handlers.call(this,e,l),t=0;(a=o[t++])&&!e.isPropagationStopped();)for(e.currentTarget=a.elem,r=0;(i=a.handlers[r++])&&!e.isImmediatePropagationStopped();)(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,n=((ae.event.special[i.origType]||{}).handle||i.handler).apply(a.elem,s),void 0!==n&&(e.result=n)===!1&&(e.preventDefault(),e.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n,i,a,r,o=[],s=t.delegateCount,l=e.target;if(s&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!=this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(a=[],r=0;s>r;r++)i=t[r],n=i.selector+" ",void 0===a[n]&&(a[n]=i.needsContext?ae(n,this).index(l)>=0:ae.find(n,this,null,[l]).length),a[n]&&a.push(i);a.length&&o.push({elem:l,handlers:a})
i.value=t+="","value"===n||t===e.getAttribute(n)?t:void 0}},Mt.id=Mt.name=Mt.coords=function(e,t,n){var i;return n?void 0:(i=e.getAttributeNode(t))&&""!==i.value?i.value:null},ae.valHooks.button={get:function(e,t){var n=e.getAttributeNode(t);return n&&n.specified?n.value:void 0},set:wt.set},ae.attrHooks.contenteditable={set:function(e,t,n){wt.set(e,""!==t&&t,n)}},ae.each(["width","height"],function(e,t){ae.attrHooks[t]={set:function(e,n){return""===n?(e.setAttribute(t,"auto"),n):void 0}}})),ne.style||(ae.attrHooks.style={get:function(e){return e.style.cssText||void 0},set:function(e,t){return e.style.cssText=t+""}});var Tt=/^(?:input|select|textarea|button|object)$/i,Et=/^(?:a|area)$/i;ae.fn.extend({prop:function(e,t){return $e(this,ae.prop,e,t,arguments.length>1)},removeProp:function(e){return e=ae.propFix[e]||e,this.each(function(){try{this[e]=void 0,delete this[e]}catch(t){}})}}),ae.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(e,t,n){var i,a,r,o=e.nodeType;if(e&&3!==o&&8!==o&&2!==o)return r=1!==o||!ae.isXMLDoc(e),r&&(t=ae.propFix[t]||t,a=ae.propHooks[t]),void 0!==n?a&&"set"in a&&void 0!==(i=a.set(e,n,t))?i:e[t]=n:a&&"get"in a&&null!==(i=a.get(e,t))?i:e[t]},propHooks:{tabIndex:{get:function(e){var t=ae.find.attr(e,"tabindex");return t?parseInt(t,10):Tt.test(e.nodeName)||Et.test(e.nodeName)&&e.href?0:-1}}}}),ne.hrefNormalized||ae.each(["href","src"],function(e,t){ae.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),ne.optSelected||(ae.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),ae.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){ae.propFix[this.toLowerCase()]=this}),ne.enctype||(ae.propFix.enctype="encoding");var $t=/[\t\r\n\f]/g;ae.fn.extend({addClass:function(e){var t,n,i,a,r,o,s=0,l=this.length,c="string"==typeof e&&e;if(ae.isFunction(e))return this.each(function(t){ae(this).addClass(e.call(this,t,this.className))});if(c)for(t=(e||"").match(ye)||[];l>s;s++)if(n=this[s],i=1===n.nodeType&&(n.className?(" "+n.className+" ").replace($t," "):" ")){for(r=0;a=t[r++];)i.indexOf(" "+a+" ")<0&&(i+=a+" ");o=ae.trim(i),n.className!==o&&(n.className=o)}return this},removeClass:function(e){var t,n,i,a,r,o,s=0,l=this.length,c=0===arguments.length||"string"==typeof e&&e;if(ae.isFunction(e))return this.each(function(t){ae(this).removeClass(e.call(this,t,this.className))});if(c)for(t=(e||"").match(ye)||[];l>s;s++)if(n=this[s],i=1===n.nodeType&&(n.className?(" "+n.className+" ").replace($t," "):"")){for(r=0;a=t[r++];)for(;i.indexOf(" "+a+" ")>=0;)i=i.replace(" "+a+" "," ");o=e?ae.trim(i):"",n.className!==o&&(n.className=o)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):this.each(ae.isFunction(e)?function(n){ae(this).toggleClass(e.call(this,n,this.className,t),t)}:function(){if("string"===n)for(var t,i=0,a=ae(this),r=e.match(ye)||[];t=r[i++];)a.hasClass(t)?a.removeClass(t):a.addClass(t);else(n===Me||"boolean"===n)&&(this.className&&ae._data(this,"__className__",this.className),this.className=this.className||e===!1?"":ae._data(this,"__className__")||"")})},hasClass:function(e){for(var t=" "+e+" ",n=0,i=this.length;i>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace($t," ").indexOf(t)>=0)return!0;return!1}}),ae.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){ae.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),ae.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,i){return this.on(t,e,n,i)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off
Config.Schema.API={constructors:[{id:"-1132882121",predicate:"boolFalse",params:[],type:"Bool"},{id:"-1720552011",predicate:"boolTrue",params:[],type:"Bool"},{id:"1072550713",predicate:"true",params:[],type:"True"},{id:"481674261",predicate:"vector",params:[],type:"Vector t"},{id:"-994444869",predicate:"error",params:[{name:"code",type:"int"},{name:"text",type:"string"}],type:"Error"},{id:"1450380236",predicate:"null",params:[],type:"Null"},{id:"2134579434",predicate:"inputPeerEmpty",params:[],type:"InputPeer"},{id:"2107670217",predicate:"inputPeerSelf",params:[],type:"InputPeer"},{id:"396093539",predicate:"inputPeerChat",params:[{name:"chat_id",type:"int"}],type:"InputPeer"},{id:"-1182234929",predicate:"inputUserEmpty",params:[],type:"InputUser"},{id:"-138301121",predicate:"inputUserSelf",params:[],type:"InputUser"},{id:"-208488460",predicate:"inputPhoneContact",params:[{name:"client_id",type:"long"},{name:"phone",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"}],type:"InputContact"},{id:"-181407105",predicate:"inputFile",params:[{name:"id",type:"long"},{name:"parts",type:"int"},{name:"name",type:"string"},{name:"md5_checksum",type:"string"}],type:"InputFile"},{id:"-1771768449",predicate:"inputMediaEmpty",params:[],type:"InputMedia"},{id:"792191537",predicate:"inputMediaUploadedPhoto",params:[{name:"flags",type:"#"},{name:"file",type:"InputFile"},{name:"caption",type:"string"},{name:"stickers",type:"flags.0?Vector<InputDocument>"},{name:"ttl_seconds",type:"flags.1?int"}],type:"InputMedia"},{id:"-2114308294",predicate:"inputMediaPhoto",params:[{name:"flags",type:"#"},{name:"id",type:"InputPhoto"},{name:"caption",type:"string"},{name:"ttl_seconds",type:"flags.0?int"}],type:"InputMedia"},{id:"-104578748",predicate:"inputMediaGeoPoint",params:[{name:"geo_point",type:"InputGeoPoint"}],type:"InputMedia"},{id:"-1494984313",predicate:"inputMediaContact",params:[{name:"phone_number",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"}],type:"InputMedia"},{id:"480546647",predicate:"inputChatPhotoEmpty",params:[],type:"InputChatPhoto"},{id:"-1837345356",predicate:"inputChatUploadedPhoto",params:[{name:"file",type:"InputFile"}],type:"InputChatPhoto"},{id:"-1991004873",predicate:"inputChatPhoto",params:[{name:"id",type:"InputPhoto"}],type:"InputChatPhoto"},{id:"-457104426",predicate:"inputGeoPointEmpty",params:[],type:"InputGeoPoint"},{id:"-206066487",predicate:"inputGeoPoint",params:[{name:"lat",type:"double"},{name:"long",type:"double"}],type:"InputGeoPoint"},{id:"483901197",predicate:"inputPhotoEmpty",params:[],type:"InputPhoto"},{id:"-74070332",predicate:"inputPhoto",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputPhoto"},{id:"342061462",predicate:"inputFileLocation",params:[{name:"volume_id",type:"long"},{name:"local_id",type:"int"},{name:"secret",type:"long"}],type:"InputFileLocation"},{id:"1996904104",predicate:"inputAppEvent",params:[{name:"time",type:"double"},{name:"type",type:"string"},{name:"peer",type:"long"},{name:"data",type:"string"}],type:"InputAppEvent"},{id:"-1649296275",predicate:"peerUser",params:[{name:"user_id",type:"int"}],type:"Peer"},{id:"-1160714821",predicate:"peerChat",params:[{name:"chat_id",type:"int"}],type:"Peer"},{id:"-1432995067",predicate:"storage.fileUnknown",params:[],type:"storage.FileType"},{id:"1086091090",predicate:"storage.filePartial",params:[],type:"storage.FileType"},{id:"8322574",predicate:"storage.fileJpeg",params:[],type:"storage.FileType"},{id:"-891180321",predicate:"storage.fileGif",params:[],type:"storage.FileType"},{id:"172975040",predicate:"storage.filePng",params:[],type:"storage.FileType"},{id:"-1373745011",predicate:"storage.filePdf",params:[],type:"storage.FileType"},{id:"1384777335",predicate:"storage.fileMp3",params:[],type:"storage.FileType"},{id:"1258941372",predicate:"storage.fileMov",params:[],type:"storage.FileType"},{id:"-1278304028",predicate:"storage.fileMp4",params:[],type:"storage.FileType"},{id:"276907596",predicate:"storage.fileWebp",params:[],type:"storage.FileType"},{id
}],type:"Document"},{id:"398898678",predicate:"help.support",params:[{name:"phone_number",type:"string"},{name:"user",type:"User"}],type:"help.Support"},{id:"-1613493288",predicate:"notifyPeer",params:[{name:"peer",type:"Peer"}],type:"NotifyPeer"},{id:"-1261946036",predicate:"notifyUsers",params:[],type:"NotifyPeer"},{id:"-1073230141",predicate:"notifyChats",params:[],type:"NotifyPeer"},{id:"1959820384",predicate:"notifyAll",params:[],type:"NotifyPeer"},{id:"-2131957734",predicate:"updateUserBlocked",params:[{name:"user_id",type:"int"},{name:"blocked",type:"Bool"}],type:"Update"},{id:"-1094555409",predicate:"updateNotifySettings",params:[{name:"peer",type:"NotifyPeer"},{name:"notify_settings",type:"PeerNotifySettings"}],type:"Update"},{id:"381645902",predicate:"sendMessageTypingAction",params:[],type:"SendMessageAction"},{id:"-44119819",predicate:"sendMessageCancelAction",params:[],type:"SendMessageAction"},{id:"-1584933265",predicate:"sendMessageRecordVideoAction",params:[],type:"SendMessageAction"},{id:"-378127636",predicate:"sendMessageUploadVideoAction",params:[{name:"progress",type:"int"}],type:"SendMessageAction"},{id:"-718310409",predicate:"sendMessageRecordAudioAction",params:[],type:"SendMessageAction"},{id:"-212740181",predicate:"sendMessageUploadAudioAction",params:[{name:"progress",type:"int"}],type:"SendMessageAction"},{id:"-774682074",predicate:"sendMessageUploadPhotoAction",params:[{name:"progress",type:"int"}],type:"SendMessageAction"},{id:"-1441998364",predicate:"sendMessageUploadDocumentAction",params:[{name:"progress",type:"int"}],type:"SendMessageAction"},{id:"393186209",predicate:"sendMessageGeoLocationAction",params:[],type:"SendMessageAction"},{id:"1653390447",predicate:"sendMessageChooseContactAction",params:[],type:"SendMessageAction"},{id:"-1290580579",predicate:"contacts.found",params:[{name:"my_results",type:"Vector<Peer>"},{name:"results",type:"Vector<Peer>"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"}],type:"contacts.Found"},{id:"-337352679",predicate:"updateServiceNotification",params:[{name:"flags",type:"#"},{name:"popup",type:"flags.0?true"},{name:"inbox_date",type:"flags.1?int"},{name:"type",type:"string"},{name:"message",type:"string"},{name:"media",type:"MessageMedia"},{name:"entities",type:"Vector<MessageEntity>"}],type:"Update"},{id:"-496024847",predicate:"userStatusRecently",params:[],type:"UserStatus"},{id:"129960444",predicate:"userStatusLastWeek",params:[],type:"UserStatus"},{id:"2011940674",predicate:"userStatusLastMonth",params:[],type:"UserStatus"},{id:"-298113238",predicate:"updatePrivacy",params:[{name:"key",type:"PrivacyKey"},{name:"rules",type:"Vector<PrivacyRule>"}],type:"Update"},{id:"1335282456",predicate:"inputPrivacyKeyStatusTimestamp",params:[],type:"InputPrivacyKey"},{id:"-1137792208",predicate:"privacyKeyStatusTimestamp",params:[],type:"PrivacyKey"},{id:"218751099",predicate:"inputPrivacyValueAllowContacts",params:[],type:"InputPrivacyRule"},{id:"407582158",predicate:"inputPrivacyValueAllowAll",params:[],type:"InputPrivacyRule"},{id:"320652927",predicate:"inputPrivacyValueAllowUsers",params:[{name:"users",type:"Vector<InputUser>"}],type:"InputPrivacyRule"},{id:"195371015",predicate:"inputPrivacyValueDisallowContacts",params:[],type:"InputPrivacyRule"},{id:"-697604407",predicate:"inputPrivacyValueDisallowAll",params:[],type:"InputPrivacyRule"},{id:"-1877932953",predicate:"inputPrivacyValueDisallowUsers",params:[{name:"users",type:"Vector<InputUser>"}],type:"InputPrivacyRule"},{id:"-123988",predicate:"privacyValueAllowContacts",params:[],type:"PrivacyRule"},{id:"1698855810",predicate:"privacyValueAllowAll",params:[],type:"PrivacyRule"},{id:"1297858060",predicate:"privacyValueAllowUsers",params:[{name:"users",type:"Vector<int>"}],type:"PrivacyRule"},{id:"-125240806",predicate:"privacyValueDisallowContacts",params:[],type:"PrivacyRule"},{id:"-1955338397",predicate:"privacyValueDisallowAll",params:[],type:"PrivacyRule"},{id:"209668535",predicate:"privacyValueDisallowUsers",params:[{name:"users",type:"Vector<int>"}],type:"PrivacyRule"},{id:"143
params:[{name:"flags",type:"#"},{name:"alert",type:"flags.1?true"},{name:"has_url",type:"flags.3?true"},{name:"native_ui",type:"flags.4?true"},{name:"message",type:"flags.0?string"},{name:"url",type:"flags.2?string"},{name:"cache_time",type:"int"}],type:"messages.BotCallbackAnswer"},{id:"-415938591",predicate:"updateBotCallbackQuery",params:[{name:"flags",type:"#"},{name:"query_id",type:"long"},{name:"user_id",type:"int"},{name:"peer",type:"Peer"},{name:"msg_id",type:"int"},{name:"chat_instance",type:"long"},{name:"data",type:"flags.0?bytes"},{name:"game_short_name",type:"flags.1?string"}],type:"Update"},{id:"649453030",predicate:"messages.messageEditData",params:[{name:"flags",type:"#"},{name:"caption",type:"flags.0?true"}],type:"messages.MessageEditData"},{id:"-469536605",predicate:"updateEditMessage",params:[{name:"message",type:"Message"},{name:"pts",type:"int"},{name:"pts_count",type:"int"}],type:"Update"},{id:"-1045340827",predicate:"inputBotInlineMessageMediaGeo",params:[{name:"flags",type:"#"},{name:"geo_point",type:"InputGeoPoint"},{name:"period",type:"int"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"InputBotInlineMessage"},{id:"-1431327288",predicate:"inputBotInlineMessageMediaVenue",params:[{name:"flags",type:"#"},{name:"geo_point",type:"InputGeoPoint"},{name:"title",type:"string"},{name:"address",type:"string"},{name:"provider",type:"string"},{name:"venue_id",type:"string"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"InputBotInlineMessage"},{id:"766443943",predicate:"inputBotInlineMessageMediaContact",params:[{name:"flags",type:"#"},{name:"phone_number",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"InputBotInlineMessage"},{id:"-1222451611",predicate:"botInlineMessageMediaGeo",params:[{name:"flags",type:"#"},{name:"geo",type:"GeoPoint"},{name:"period",type:"int"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"BotInlineMessage"},{id:"1130767150",predicate:"botInlineMessageMediaVenue",params:[{name:"flags",type:"#"},{name:"geo",type:"GeoPoint"},{name:"title",type:"string"},{name:"address",type:"string"},{name:"provider",type:"string"},{name:"venue_id",type:"string"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"BotInlineMessage"},{id:"904770772",predicate:"botInlineMessageMediaContact",params:[{name:"flags",type:"#"},{name:"phone_number",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"BotInlineMessage"},{id:"-1462213465",predicate:"inputBotInlineResultPhoto",params:[{name:"id",type:"string"},{name:"type",type:"string"},{name:"photo",type:"InputPhoto"},{name:"send_message",type:"InputBotInlineMessage"}],type:"InputBotInlineResult"},{id:"-459324",predicate:"inputBotInlineResultDocument",params:[{name:"flags",type:"#"},{name:"id",type:"string"},{name:"type",type:"string"},{name:"title",type:"flags.1?string"},{name:"description",type:"flags.2?string"},{name:"document",type:"InputDocument"},{name:"send_message",type:"InputBotInlineMessage"}],type:"InputBotInlineResult"},{id:"400266251",predicate:"botInlineMediaResult",params:[{name:"flags",type:"#"},{name:"id",type:"string"},{name:"type",type:"string"},{name:"photo",type:"flags.0?Photo"},{name:"document",type:"flags.1?Document"},{name:"title",type:"flags.2?string"},{name:"description",type:"flags.3?string"},{name:"send_message",type:"BotInlineMessage"}],type:"BotInlineResult"},{id:"-1995686519",predicate:"inputBotInlineMessageID",params:[{name:"dc_id",type:"int"},{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputBotInlineMessageID"},{id:"-103646630",predicate:"updateInlineBotCallbackQuery",params:[{name:"flags",type:"#"},{name:"query_id",type:"long"},{name:"user_id",type:"int"},{name:"msg_id",type:"InputBotInlineMessageID"},{name:"chat_instance",type:"long"},{name:"data",type:"flags.0?bytes"},{name:"game_short_name",type:"flags.1?string"}],type:"Update"},{id:"1008755359",predicate:"inlineBotSwitchPM",params:[{name:"text",type
name:"prev_photo",type:"ChatPhoto"},{name:"new_photo",type:"ChatPhoto"}],type:"ChannelAdminLogEventAction"},{id:"460916654",predicate:"channelAdminLogEventActionToggleInvites",params:[{name:"new_value",type:"Bool"}],type:"ChannelAdminLogEventAction"},{id:"648939889",predicate:"channelAdminLogEventActionToggleSignatures",params:[{name:"new_value",type:"Bool"}],type:"ChannelAdminLogEventAction"},{id:"-370660328",predicate:"channelAdminLogEventActionUpdatePinned",params:[{name:"message",type:"Message"}],type:"ChannelAdminLogEventAction"},{id:"1889215493",predicate:"channelAdminLogEventActionEditMessage",params:[{name:"prev_message",type:"Message"},{name:"new_message",type:"Message"}],type:"ChannelAdminLogEventAction"},{id:"1121994683",predicate:"channelAdminLogEventActionDeleteMessage",params:[{name:"message",type:"Message"}],type:"ChannelAdminLogEventAction"},{id:"405815507",predicate:"channelAdminLogEventActionParticipantJoin",params:[],type:"ChannelAdminLogEventAction"},{id:"-124291086",predicate:"channelAdminLogEventActionParticipantLeave",params:[],type:"ChannelAdminLogEventAction"},{id:"-484690728",predicate:"channelAdminLogEventActionParticipantInvite",params:[{name:"participant",type:"ChannelParticipant"}],type:"ChannelAdminLogEventAction"},{id:"-422036098",predicate:"channelAdminLogEventActionParticipantToggleBan",params:[{name:"prev_participant",type:"ChannelParticipant"},{name:"new_participant",type:"ChannelParticipant"}],type:"ChannelAdminLogEventAction"},{id:"-714643696",predicate:"channelAdminLogEventActionParticipantToggleAdmin",params:[{name:"prev_participant",type:"ChannelParticipant"},{name:"new_participant",type:"ChannelParticipant"}],type:"ChannelAdminLogEventAction"},{id:"995769920",predicate:"channelAdminLogEvent",params:[{name:"id",type:"long"},{name:"date",type:"int"},{name:"user_id",type:"int"},{name:"action",type:"ChannelAdminLogEventAction"}],type:"ChannelAdminLogEvent"},{id:"-309659827",predicate:"channels.adminLogResults",params:[{name:"events",type:"Vector<ChannelAdminLogEvent>"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"}],type:"channels.AdminLogResults"},{id:"-368018716",predicate:"channelAdminLogEventsFilter",params:[{name:"flags",type:"#"},{name:"join",type:"flags.0?true"},{name:"leave",type:"flags.1?true"},{name:"invite",type:"flags.2?true"},{name:"ban",type:"flags.3?true"},{name:"unban",type:"flags.4?true"},{name:"kick",type:"flags.5?true"},{name:"unkick",type:"flags.6?true"},{name:"promote",type:"flags.7?true"},{name:"demote",type:"flags.8?true"},{name:"info",type:"flags.9?true"},{name:"settings",type:"flags.10?true"},{name:"pinned",type:"flags.11?true"},{name:"edit",type:"flags.12?true"},{name:"delete",type:"flags.13?true"}],type:"ChannelAdminLogEventsFilter"},{id:"511092620",predicate:"topPeerCategoryPhoneCalls",params:[],type:"TopPeerCategory"},{id:"834148991",predicate:"pageBlockAudio",params:[{name:"audio_id",type:"long"},{name:"caption",type:"RichText"}],type:"PageBlock"},{id:"1558266229",predicate:"popularContact",params:[{name:"client_id",type:"long"},{name:"importers",type:"int"}],type:"PopularContact"},{id:"2012136335",predicate:"cdnFileHash",params:[{name:"offset",type:"int"},{name:"limit",type:"int"},{name:"hash",type:"bytes"}],type:"CdnFileHash"},{id:"1200788123",predicate:"messageActionScreenshotTaken",params:[],type:"MessageAction"},{id:"-1634752813",predicate:"messages.favedStickersNotModified",params:[],type:"messages.FavedStickers"},{id:"-209768682",predicate:"messages.favedStickers",params:[{name:"hash",type:"int"},{name:"packs",type:"Vector<StickerPack>"},{name:"stickers",type:"Vector<Document>"}],type:"messages.FavedStickers"},{id:"-451831443",predicate:"updateFavedStickers",params:[],type:"Update"},{id:"-1987495099",predicate:"updateChannelReadMessagesContents",params:[{name:"channel_id",type:"int"},{name:"messages",type:"Vector<int>"}],type:"Update"},{id:"-1040652646",predicate:"inputMessagesFilterMyMentions",params:[],type:"MessagesFilter"},{id:"1887741886",predicate:"updateContactsReset",params:[],type:"Update"},{id:"-1312568665",predic
name:"game",type:"flags.1?true"},{name:"peer",type:"InputPeer"},{name:"msg_id",type:"int"},{name:"data",type:"flags.0?bytes"}],type:"messages.BotCallbackAnswer"},{id:"-712043766",method:"messages.setBotCallbackAnswer",params:[{name:"flags",type:"#"},{name:"alert",type:"flags.1?true"},{name:"query_id",type:"long"},{name:"message",type:"flags.0?string"},{name:"url",type:"flags.2?string"},{name:"cache_time",type:"int"}],type:"Bool"},{id:"-728224331",method:"contacts.getTopPeers",params:[{name:"flags",type:"#"},{name:"correspondents",type:"flags.0?true"},{name:"bots_pm",type:"flags.1?true"},{name:"bots_inline",type:"flags.2?true"},{name:"phone_calls",type:"flags.3?true"},{name:"groups",type:"flags.10?true"},{name:"channels",type:"flags.15?true"},{name:"offset",type:"int"},{name:"limit",type:"int"},{name:"hash",type:"int"}],type:"contacts.TopPeers"},{id:"451113900",method:"contacts.resetTopPeerRating",params:[{name:"category",type:"TopPeerCategory"},{name:"peer",type:"InputPeer"}],type:"Bool"},{id:"764901049",method:"messages.getPeerDialogs",params:[{name:"peers",type:"Vector<InputPeer>"}],type:"messages.PeerDialogs"},{id:"-1137057461",method:"messages.saveDraft",params:[{name:"flags",type:"#"},{name:"no_webpage",type:"flags.1?true"},{name:"reply_to_msg_id",type:"flags.0?int"},{name:"peer",type:"InputPeer"},{name:"message",type:"string"},{name:"entities",type:"flags.3?Vector<MessageEntity>"}],type:"Bool"},{id:"1782549861",method:"messages.getAllDrafts",params:[],type:"Updates"},{id:"766298703",method:"messages.getFeaturedStickers",params:[{name:"hash",type:"int"}],type:"messages.FeaturedStickers"},{id:"1527873830",method:"messages.readFeaturedStickers",params:[{name:"id",type:"Vector<long>"}],type:"Bool"},{id:"1587647177",method:"messages.getRecentStickers",params:[{name:"flags",type:"#"},{name:"attached",type:"flags.0?true"},{name:"hash",type:"int"}],type:"messages.RecentStickers"},{id:"958863608",method:"messages.saveRecentSticker",params:[{name:"flags",type:"#"},{name:"attached",type:"flags.0?true"},{name:"id",type:"InputDocument"},{name:"unsave",type:"Bool"}],type:"Bool"},{id:"-1986437075",method:"messages.clearRecentStickers",params:[{name:"flags",type:"#"},{name:"attached",type:"flags.0?true"}],type:"Bool"},{id:"1475442322",method:"messages.getArchivedStickers",params:[{name:"flags",type:"#"},{name:"masks",type:"flags.0?true"},{name:"offset_id",type:"long"},{name:"limit",type:"int"}],type:"messages.ArchivedStickers"},{id:"353818557",method:"account.sendConfirmPhoneCode",params:[{name:"flags",type:"#"},{name:"allow_flashcall",type:"flags.0?true"},{name:"hash",type:"string"},{name:"current_number",type:"flags.0?Bool"}],type:"auth.SentCode"},{id:"1596029123",method:"account.confirmPhone",params:[{name:"phone_code_hash",type:"string"},{name:"phone_code",type:"string"}],type:"Bool"},{id:"-1920105769",method:"channels.getAdminedPublicChannels",params:[],type:"messages.Chats"},{id:"1706608543",method:"messages.getMaskStickers",params:[{name:"hash",type:"int"}],type:"messages.AllStickers"},{id:"-866424884",method:"messages.getAttachedStickers",params:[{name:"media",type:"InputStickeredMedia"}],type:"Vector<StickerSetCovered>"},{id:"-1907842680",method:"auth.dropTempAuthKeys",params:[{name:"except_auth_keys",type:"Vector<long>"}],type:"Bool"},{id:"-1896289088",method:"messages.setGameScore",params:[{name:"flags",type:"#"},{name:"edit_message",type:"flags.0?true"},{name:"force",type:"flags.1?true"},{name:"peer",type:"InputPeer"},{name:"id",type:"int"},{name:"user_id",type:"InputUser"},{name:"score",type:"int"}],type:"Updates"},{id:"363700068",method:"messages.setInlineGameScore",params:[{name:"flags",type:"#"},{name:"edit_message",type:"flags.0?true"},{name:"force",type:"flags.1?true"},{name:"id",type:"InputBotInlineMessageID"},{name:"user_id",type:"InputUser"},{name:"score",type:"int"}],type:"Bool"},{id:"-400399203",method:"messages.getGameHighScores",params:[{name:"peer",type:"InputPeer"},{name:"id",type:"int"},{name:"user_id",type:"InputUser"}],type:"messages.HighScores"},{id:"258170395",method:"messages.getInlineGameHighScor
"1f539":["🔹",["small_blue_diamond"]],"1f53a":["🔺",["small_red_triangle"]],"1f53b":["🔻",["small_red_triangle_down"]],"1f53c":["🔼",["arrow_up_small"]],"1f53d":["🔽",["arrow_down_small"]],"1f550":["🕐",["clock1"]],"1f551":["🕑",["clock2"]],"1f552":["🕒",["clock3"]],"1f553":["🕓",["clock4"]],"1f554":["🕔",["clock5"]],"1f555":["🕕",["clock6"]],"1f556":["🕖",["clock7"]],"1f557":["🕗",["clock8"]],"1f558":["🕘",["clock9"]],"1f559":["🕙",["clock10"]],"1f55a":["🕚",["clock11"]],"1f55b":["🕛",["clock12"]],"1f55c":["🕜",["clock130"]],"1f55d":["🕝",["clock230"]],"1f55e":["🕞",["clock330"]],"1f55f":["🕟",["clock430"]],"1f560":["🕠",["clock530"]],"1f561":["🕡",["clock630"]],"1f562":["🕢",["clock730"]],"1f563":["🕣",["clock830"]],"1f564":["🕤",["clock930"]],"1f565":["🕥",["clock1030"]],"1f566":["🕦",["clock1130"]],"1f567":["🕧",["clock1230"]],"1f5fb":["🗻",["mount_fuji"]],"1f5fc":["🗼",["tokyo_tower"]],"1f5fd":["🗽",["statue_of_liberty"]],"1f5fe":["🗾",["japan"]],"1f5ff":["🗿",["moyai"]],"1f600":["😀",["grinning"]],"1f601":["😁",["grin"]],"1f602":["😂",["joy"]],"1f603":["😃",["smiley"],":)"],"1f604":["😄",["smile"],":)"],"1f605":["😅",["sweat_smile"]],"1f606":["😆",["laughing","satisfied"]],"1f607":["😇",["innocent"]],"1f608":["😈",["smiling_imp"]],"1f609":["😉",["wink"],";)"],"1f60a":["😊",["blush"]],"1f60b":["😋",["yum"]],"1f60c":["😌",["relieved"]],"1f60d":["😍",["heart_eyes"]],"1f60e":["😎",["sunglasses"]],"1f60f":["😏",["smirk"]],"1f610":["😐",["neutral_face"]],"1f611":["😑",["expressionless"]],"1f612":["😒",["unamused"]],"1f613":["😓",["sweat"]],"1f614":["😔",["pensive"]],"1f615":["😕",["confused"]],"1f616":["😖",["confounded"]],"1f617":["😗",["kissing"]],"1f618":["😘",["kissing_heart"]],"1f619":["😙",["kissing_smiling_eyes"]],"1f61a":["😚",["kissing_closed_eyes"]],"1f61b":["😛",["stuck_out_tongue"]],"1f61c":["😜",["stuck_out_tongue_winking_eye"],";p"],"1f61d":["😝",["stuck_out_tongue_closed_eyes"]],"1f61e":["😞",["disappointed"],":("],"1f61f":["😟",["worried"]],"1f620":["😠",["angry"]],"1f621":["😡",["rage"]],"1f622":["😢",["cry"],":'("],"1f623":["😣",["persevere"]],"1f624":["😤",["triumph"]],"1f625":["😥",["disappointed_relieved"]],"1f626":["😦",["frowning"]],"1f627":["😧",["anguished"]],"1f628":["😨",["fearful"]],"1f629":["😩",["weary"]],"1f62a":["😪",["sleepy"]],"1f62b":["😫",["tired_face"]],"1f62c":["😬",["grimacing"]],"1f62d":["😭",["sob"],":'("],"1f62e":["😮",["open_mouth"]],"1f62f":["😯",["hushed"]],"1f630":["😰",["cold_sweat"]],"1f631":["😱",["scream"]],"1f632":["😲",["astonished"]],"1f633":["😳",["flushed"]],"1f634":["😴",["sleeping"]],"1f635":["😵",["dizzy_face"]],"1f636":["😶",["no_mouth"]],"1f637":["😷",["mask"]],"1f638":["😸",["smile_cat"]],"1f639":["😹",["joy_cat"]],"1f63a":["😺",["smiley_cat"]],"1f63b":["😻",["heart_eyes_cat"]],"1f63c":["😼",["smirk_cat"]],"1f63d":["😽",["kissing_cat"]],"1f63e":["😾",["pouting_cat"]],"1f63f":["😿",["crying_cat_face"]],"1f640":["🙀",["scream_cat"]],"1f645":["🙅",["no_good"]],"1f646":["🙆",["ok_woman"]],"1f647":["🙇",["bow"]],"1f648":["🙈",["see_no_evil"]],"1f649":["🙉",["hear_no_evil"]],"1f64a":["🙊",["speak_no_evil"]],"1f64b":["🙋",["raising_hand"]],"1f64c":["🙌",["raised_hands"]],"1f64d":["🙍",["person_frowning"]],"1f64e":["🙎",["person_with_pouting_face"]],"1f64f":["🙏",["pray"]],"1f680":["🚀",["rocket"]],"1f681":["🚁",["helicopter"]],"1f682":["🚂",["steam_locomotive"]],"1f683":["🚃",["railway_car"]],"1f68b":["🚋",["train"]],"1f684":["🚄",["bullettrain_side"]],"1f685":["🚅",["bullettrain_front"]],"1f686":["🚆",["train2"]],"1f687":["🚇",["metro"]],"1f688":["🚈",["light_rail"]],"1f689":["🚉",["station"]],"1f68a":["🚊",["tram"]],"1f68c":["🚌",["bus"]],"1f68d":["🚍",["oncoming_bus"]],"1f68e":["🚎",["trolleybus"]],"1f68f":["🚏",["busstop"]],"1f690":["🚐",["minibus"]],"1f691":["🚑",["ambulance"]],"1f692":["🚒",["fire_engine"]],
Config.LangCountries={es:"ES",ru:"RU",en:"US",de:"DE",it:"IT",nl:"NL",fr:"FR",ca:"ES","es-419":"MX",ar:"SA",he:"IL",tr:"TR",id:"ID",pl:"PL"},function(e){function t(e){l=e}function n(){c=!0}function i(){return c?(c=!1,""):l}function a(e,t){var n=!1;Array.isArray(e)||(e=Array.prototype.slice.call(arguments),t=e.pop(),n=1==e.length);var a,r,o,s=[],l=!0,c=i();for(r=0;r<e.length;r++)if(o=e[r]=c+e[r],"xt_"!=o.substr(0,3)&&void 0!==d[o])s.push(d[o]);else if(p){try{a=localStorage.getItem(o)}catch(f){p=!1}try{a=void 0!==a&&null!==a&&JSON.parse(a)}catch(f){a=!1}s.push(d[o]=a)}else u?l=!1:s.push(d[o]=!1);return l?t(n?s[0]:s):void chrome.storage.local.get(e,function(i){var a;for(s=[],r=0;r<e.length;r++)o=e[r],a=i[o],a=void 0!==a&&null!==a&&JSON.parse(a),s.push(d[o]=a);t(n?s[0]:s)})}function r(e,t){var n,a,r={},o=i();for(n in e)if(e.hasOwnProperty(n))if(a=e[n],n=o+n,d[n]=a,a=JSON.stringify(a),p)try{localStorage.setItem(n,a)}catch(s){p=!1}else r[n]=a;return p||!u?void(t&&t()):void chrome.storage.local.set(r,t)}function o(e,t){Array.isArray(e)||(e=Array.prototype.slice.call(arguments),"function"==typeof e[e.length-1]&&(t=e.pop()));var n,a,r=i();for(n=0;n<e.length;n++)if(a=e[n]=r+e[n],delete d[a],p)try{localStorage.removeItem(a)}catch(o){p=!1}u?chrome.storage.local.remove(e,t):t&&t()}function s(e){if(p)try{localStorage.clear()}catch(t){p=!1}u?chrome.storage.local.clear(function(){d={},e()}):(d={},e())}var l="",c=!1,d={},u=!!(e.chrome&&chrome.storage&&chrome.storage.local),p=!u&&!!e.localStorage;e.ConfigStorage={prefix:t,noPrefix:n,get:a,set:r,remove:o,clear:s}}(this),function(){try{window==window.top||window.chrome&&chrome.app&&chrome.app.window?document.documentElement.style.display="block":top.location=self.location}catch(e){console.error("CJ protection",e)}var t=[Config.Navigator.osX?"osx":"non_osx",Config.Navigator.msie?"msie":"non_msie",Config.Navigator.retina?"is_2x":"is_1x"];Config.Modes.ios_standalone&&t.push("ios_standalone"),$(document.body).addClass(t.join(" ")),ConfigStorage.get("layout_selected","i18n_locale",function(e){var t=e[0],n=e[1],i="en-us",a={dom:!1,i18n_ng:!1,i18n_messages:!1,i18n_fallback:!1},r=function(){var e,t=!0;for(e in a)if(a.hasOwnProperty(e)&&a[e]===!1){t=!1;break}t&&(a.boot=!1,angular.bootstrap(document,["myApp"]))};switch(Config.Modes.force_mobile?t="mobile":Config.Modes.force_desktop&&(t="desktop"),t){case"mobile":Config.Mobile=!0;break;case"desktop":Config.Mobile=!1;break;default:var o=$(window).width();Config.Mobile=Config.Navigator.mobile||o>10&&o<480}$("head").append('<link rel="stylesheet" href="css/'+(Config.Mobile?"mobile.css":"desktop.css")+'" />'),n||(n=(navigator.language||"").toLowerCase(),n=Config.I18n.aliases[n]||n);for(var s=0;s<Config.I18n.supported.length;s++)if(Config.I18n.supported[s]==n){Config.I18n.locale=n;break}a.i18n_ng=Config.I18n.locale==i,$.getJSON("js/locales/"+Config.I18n.locale+".json").success(function(e){Config.I18n.messages=e,a.i18n_messages=!0,Config.I18n.locale==i&&(a.i18n_fallback=!0),r()}),Config.I18n.locale!=i&&$.getJSON("js/locales/"+i+".json").success(function(e){Config.I18n.fallback_messages=e,a.i18n_fallback=!0,r()}),$(document).ready(function(){a.dom=!0,a.i18n_ng?r():$("<script>").appendTo("body").on("load",function(){a.i18n_ng=!0,r()}).attr("src","vendor/angular/i18n/angular-locale_"+Config.I18n.locale+".js")})})}(),function(){function e(){t||safeConfirm({type:"WEBOGRAM_UPDATED_RELOAD",message:"A new version of Webogram is downloaded. Launch it?"},function(e){e?window.location.reload():t=!0})}if(window.safeConfirm=function(e,t){"string"==typeof e&&(e={message:e});var n=!1;try{n=confirm(e.message)}catch(i){n=!0}setTimeout(function(){t(n)},10)},(navigator.serviceWorker||window.applicationCache)&&!Config.Modes.packed&&window.addEventListener){var t=!1;if(navigator.serviceWorker)navigator.serviceWorker.register("service_worker.js").then(function(t){console.log("Offline worker registered"),t.addEventListener("updatefound",function(){var t=this.installing;t.addEventListener("statechange",function(){switch(t.state){case"installed":navigator.serviceWorker.controller&
}};return n.elem=e,n}function Ke(e,t,n){n.call(e,t)}function Ye(e,t,n){var i=t.relatedTarget;i&&(i===e||Aa.call(e,i))||n.call(e,t)}function Xe(){this.$get=function(){return c($e,{hasClass:function(e,t){return e.attr&&(e=e[0]),Ne(e,t)},addClass:function(e,t){return e.attr&&(e=e[0]),Fe(e,t)},removeClass:function(e,t){return e.attr&&(e=e[0]),Le(e,t)}})}}function Je(e,t){var n=e&&e.$$hashKey;if(n)return"function"==typeof n&&(n=e.$$hashKey()),n;var i=typeof e;return n="function"==i||"object"==i&&null!==e?e.$$hashKey=i+":"+(t||o)():i+":"+e}function Ze(e,t){if(t){var n=0;this.nextUid=function(){return++n}}i(e,this.put,this)}function Qe(e){return Function.prototype.toString.call(e)+" "}function et(e){var t=Qe(e).replace(Oa,""),n=t.match(xa)||t.match(Pa);return n}function tt(e){var t=et(e);return t?"function("+(t[1]||"").replace(/[\s\r\n]+/," ")+")":"fn"}function nt(e,t,n){var a,r,o;if("function"==typeof e){if(!(a=e.$inject)){if(a=[],e.length){if(t)throw w(n)&&n||(n=e.name||tt(e)),Na("strictdi","{0} is not using explicit annotation and cannot be invoked in strict mode",n);r=et(e),i(r[1].split(Da),function(e){e.replace(Ra,function(e,t,n){a.push(n)})})}e.$inject=a}}else Yi(e)?(o=e.length-1,de(e[o],"fn"),a=e.slice(0,o)):de(e,"fn",!0);return a}function it(e,t){function n(e){return function(t,n){return y(t)?void i(t,r(e)):e(t,n)}}function a(e,t){if(ue(e,"service"),(S(t)||Yi(t))&&(t=M.instantiate(t)),!t.$get)throw Na("pget","Provider '{0}' must define $get factory method.",e);return k[e+g]=t}function o(e,t){return function(){var n=T.invoke(t,this);if(_(n))throw Na("undef","Provider '{0}' must return a value from $get factory method.",e);return n}}function s(e,t,n){return a(e,{$get:n!==!1?o(e,t):t})}function l(e,t){return s(e,["$injector",function(e){return e.instantiate(t)}])}function c(e,t){return s(e,h(t),!1)}function d(e,t){ue(e,"constant"),k[e]=t,A[e]=t}function u(e,t){var n=M.get(e+g),i=n.$get;n.$get=function(){var e=T.invoke(i,n);return T.invoke(t,null,{$delegate:e})}}function p(e){ce(_(e)||Yi(e),"modulesToLoad","not an array");var t,n=[];return i(e,function(e){function i(e){var t,n;for(t=0,n=e.length;t<n;t++){var i=e[t],a=M.get(i[0]);a[i[1]].apply(a,i[2])}}if(!b.get(e)){b.put(e,!0);try{w(e)?(t=Bi(e),n=n.concat(p(t.requires)).concat(t._runBlocks),i(t._invokeQueue),i(t._configBlocks)):S(e)?n.push(M.invoke(e)):Yi(e)?n.push(M.invoke(e)):de(e,"module")}catch(a){throw Yi(e)&&(e=e[e.length-1]),a.message&&a.stack&&a.stack.indexOf(a.message)==-1&&(a=a.message+"\n"+a.stack),Na("modulerr","Failed to instantiate module {0} due to:\n{1}",e,a.stack||a.message||a)}}}),n}function f(e,n){function i(t,i){if(e.hasOwnProperty(t)){if(e[t]===m)throw Na("cdep","Circular dependency found: {0}",t+" <- "+v.join(" <- "));return e[t]}try{return v.unshift(t),e[t]=m,e[t]=n(t,i)}catch(a){throw e[t]===m&&delete e[t],a}finally{v.shift()}}function a(e,n,a){for(var r=[],o=it.$$annotate(e,t,a),s=0,l=o.length;s<l;s++){var c=o[s];if("string"!=typeof c)throw Na("itkn","Incorrect injection token! Expected service name as string, got {0}",c);r.push(n&&n.hasOwnProperty(c)?n[c]:i(c,a))}return r}function r(e){return!(Li<=11)&&("function"==typeof e&&/^(?:class\s|constructor\()/.test(Qe(e)))}function o(e,t,n,i){"string"==typeof n&&(i=n,n=null);var o=a(e,n,i);return Yi(e)&&(e=e[e.length-1]),r(e)?(o.unshift(null),new(Function.prototype.bind.apply(e,o))):e.apply(t,o)}function s(e,t,n){var i=Yi(e)?e[e.length-1]:e,r=a(e,t,n);return r.unshift(null),new(Function.prototype.bind.apply(i,r))}return{invoke:o,instantiate:s,get:i,annotate:it.$$annotate,has:function(t){return k.hasOwnProperty(t+g)||e.hasOwnProperty(t)}}}t=t===!0;var m={},g="Provider",v=[],b=new Ze([],(!0)),k={$provide:{provider:n(a),factory:n(s),service:n(l),value:n(c),constant:n(d),decorator:u}},M=k.$injector=f(k,function(e,t){throw Gi.isString(t)&&v.push(t),Na("unpr","Unknown provider: {0}",v.join(" <- "))}),A={},C=f(A,function(e,t){var n=M.get(e+g,t);return T.invoke(n.$get,n,void 0,e)}),T=C;k["$injector"+g]={$get:h(C)};var E=p(e);return T=C.get("$injector"),T.strictDi=t,i(E,function(e){e&&T.invoke(e)}),T}function at(
var l=c({method:"get",transformRequest:e.transformRequest,transformResponse:e.transformResponse,paramSerializer:e.paramSerializer},n);l.headers=s(n),l.method=Ri(l.method),l.paramSerializer=w(l.paramSerializer)?p.get(l.paramSerializer):l.paramSerializer;var d=function(t){var n=t.headers,a=It(t.data,$t(n),void 0,t.transformRequest);return _(a)&&i(n,function(e,t){"content-type"===Di(t)&&delete n[t]}),_(t.withCredentials)&&!_(e.withCredentials)&&(t.withCredentials=e.withCredentials),g(t,a).then(r,r)},f=[d,void 0],m=u.when(l);for(i(M,function(e){(e.request||e.requestError)&&f.unshift(e.request,e.requestError),(e.response||e.responseError)&&f.push(e.response,e.responseError)});f.length;){var h=f.shift(),v=f.shift();m=m.then(h,v)}return a?(m.success=function(e){return de(e,"fn"),m.then(function(t){e(t.data,t.status,t.headers,l)}),m},m.error=function(e){return de(e,"fn"),m.then(null,function(t){e(t.data,t.status,t.headers,l)}),m}):(m.success=ar("success"),m.error=ar("error")),m}function m(e){i(arguments,function(e){f[e]=function(t,n){return f(c({},n||{},{method:e,url:t}))}})}function h(e){i(arguments,function(e){f[e]=function(t,n,i){return f(c({},i||{},{method:e,url:t,data:n}))}})}function g(t,a){function r(e){if(e){var t={};return i(e,function(e,i){t[i]=function(t){function i(){e(t)}n?d.$applyAsync(i):d.$$phase?i():d.$apply(i)}}),t}}function l(e,t,i,a){function r(){c(t,e,i,a)}h&&(xt(e)?h.put(A,[e,t,Et(i),a]):h.remove(A)),n?d.$applyAsync(r):(r(),d.$$phase||d.$apply())}function c(e,n,i,a){n=n>=-1?n:0,(xt(n)?w.resolve:w.reject)({data:e,status:n,headers:$t(i),config:t,statusText:a})}function p(e){c(e.data,e.status,ge(e.headers()),e.statusText)}function m(){var e=f.pendingRequests.indexOf(t);e!==-1&&f.pendingRequests.splice(e,1)}var h,g,w=u.defer(),M=w.promise,S=t.headers,A=b(t.url,t.paramSerializer(t.params));if(f.pendingRequests.push(t),M.then(m,m),!t.cache&&!e.cache||t.cache===!1||"GET"!==t.method&&"JSONP"!==t.method||(h=y(t.cache)?t.cache:y(e.cache)?e.cache:k),h&&(g=h.get(A),v(g)?P(g)?g.then(p,p):Yi(g)?c(g[1],g[0],ge(g[2]),g[3]):c(g,200,{},"OK"):h.put(A,M)),_(g)){var C=On(t.url)?s()[t.xsrfCookieName||e.xsrfCookieName]:void 0;C&&(S[t.xsrfHeaderName||e.xsrfHeaderName]=C),o(t.method,A,a,l,S,t.timeout,t.withCredentials,t.responseType,r(t.eventHandlers),r(t.uploadEventHandlers))}return M}function b(e,t){return t.length>0&&(e+=(e.indexOf("?")==-1?"?":"&")+t),e}var k=l("$http");e.paramSerializer=w(e.paramSerializer)?p.get(e.paramSerializer):e.paramSerializer;var M=[];return i(r,function(e){M.unshift(w(e)?p.get(e):p.invoke(e))}),f.pendingRequests=[],m("get","delete","head","jsonp"),h("post","put","patch"),f.defaults=e,f}]}function Dt(){this.$get=function(){return function(){return new e.XMLHttpRequest}}}function Rt(){this.$get=["$browser","$window","$document","$xhrFactory",function(e,t,n,i){return Ot(e,i,e.defer,t.angular.callbacks,n[0])}]}function Ot(e,t,n,a,r){function o(e,t,n){var i=r.createElement("script"),o=null;return i.type="text/javascript",i.src=e,i.async=!0,o=function(e){ha(i,"load",o),ha(i,"error",o),r.body.removeChild(i),i=null;var s=-1,l="unknown";e&&("load"!==e.type||a[t].called||(e={type:"error"}),l=e.type,s="error"===e.type?404:200),n&&n(s,l)},ma(i,"load",o),ma(i,"error",o),r.body.appendChild(i),o}return function(r,s,l,c,d,u,p,m,h,g){function y(){k&&k(),M&&M.abort()}function b(t,i,a,r,o){v(C)&&n.cancel(C),k=M=null,t(i,a,r,o),e.$$completeOutstandingRequest(f)}if(e.$$incOutstandingRequestCount(),s=s||e.url(),"jsonp"==Di(r)){var w="_"+(a.counter++).toString(36);a[w]=function(e){a[w].data=e,a[w].called=!0};var k=o(s.replace("JSON_CALLBACK","angular.callbacks."+w),w,function(e,t){b(c,e,a[w].data,"",t),a[w]=f})}else{var M=t(r,s);M.open(r,s,!0),i(d,function(e,t){v(e)&&M.setRequestHeader(t,e)}),M.onload=function(){var e=M.statusText||"",t="response"in M?M.response:M.responseText,n=1223===M.status?204:M.status;0===n&&(n=t?200:"file"==Rn(s).protocol?404:0),b(c,n,t,M.getAllResponseHeaders(),e)};var S=function(){b(c,-1,null,null,"")};if(M.onerror=S,M.onabort=S,i(h,function(e,t){M.addEventListener(t,e)}),i(g,function(e,t){M.upload
var n,i,a={},r=e.chrome&&e.chrome.app&&e.chrome.app.runtime,o=!r&&e.history&&e.history.pushState,s=u((/android (\d+)/.exec(Di((e.navigator||{}).userAgent))||[])[1]),l=/Boxee/i.test((e.navigator||{}).userAgent),c=t[0]||{},d=/^(Moz|webkit|ms)(?=[A-Z])/,p=c.body&&c.body.style,f=!1,m=!1;if(p){for(var h in p)if(i=d.exec(h)){n=i[0],n=n[0].toUpperCase()+n.substr(1);break}n||(n="WebkitOpacity"in p&&"webkit"),f=!!("transition"in p||n+"Transition"in p),m=!!("animation"in p||n+"Animation"in p),!s||f&&m||(f=w(p.webkitTransition),m=w(p.webkitAnimation))}return{history:!(!o||s<4||l),hasEvent:function(e){if("input"===e&&Li<=11)return!1;if(_(a[e])){var t=c.createElement("div");a[e]="on"+e in t}return a[e]},csp:Qi(),vendorPrefix:n,transitions:f,animations:m,android:s}}]}function xn(){var e;this.httpOptions=function(t){return t?(e=t,this):e},this.$get=["$templateCache","$http","$q","$sce",function(t,n,i,a){function r(o,s){function l(e){if(!s)throw kr("tpload","Failed to load template: {0} (HTTP status: {1} {2})",o,e.status,e.statusText);return i.reject(e)}r.totalPendingRequests++,w(o)&&!_(t.get(o))||(o=a.getTrustedResourceUrl(o));var d=n.defaults&&n.defaults.transformResponse;return Yi(d)?d=d.filter(function(e){return e!==Ct}):d===Ct&&(d=null),n.get(o,c({cache:t,transformResponse:d},e))["finally"](function(){r.totalPendingRequests--}).then(function(e){return t.put(o,e.data),e.data},l)}return r.totalPendingRequests=0,r}]}function Pn(){this.$get=["$rootScope","$browser","$location",function(e,t,n){var a={};return a.findBindings=function(e,t,n){var a=e.getElementsByClassName("ng-binding"),r=[];return i(a,function(e){var a=Gi.element(e).data("$binding");a&&i(a,function(i){if(n){var a=new RegExp("(^|\\s)"+Zi(t)+"(\\s|\\||$)");a.test(i)&&r.push(e)}else i.indexOf(t)!=-1&&r.push(e)})}),r},a.findModels=function(e,t,n){for(var i=["ng-","data-ng-","ng\\:"],a=0;a<i.length;++a){var r=n?"=":"*=",o="["+i[a]+"model"+r+'"'+t+'"]',s=e.querySelectorAll(o);if(s.length)return s}},a.getLocation=function(){return n.url()},a.setLocation=function(t){t!==n.url()&&(n.url(t),e.$digest())},a.whenStable=function(e){t.notifyWhenNoOutstandingRequests(e)},a}]}function Dn(){this.$get=["$rootScope","$browser","$q","$$q","$exceptionHandler",function(e,t,n,i,a){function r(r,s,l){S(r)||(l=s,s=r,r=f);var c,d=j(arguments,3),u=v(l)&&!l,p=(u?i:n).defer(),m=p.promise;return c=t.defer(function(){try{p.resolve(r.apply(null,d))}catch(t){p.reject(t),a(t)}finally{delete o[m.$$timeoutId]}u||e.$apply()},s),m.$$timeoutId=c,o[c]=p,m}var o={};return r.cancel=function(e){return!!(e&&e.$$timeoutId in o)&&(o[e.$$timeoutId].reject("canceled"),delete o[e.$$timeoutId],t.defer.cancel(e.$$timeoutId))},r}]}function Rn(e){var t=e;return Li&&(Mr.setAttribute("href",t),t=Mr.href),Mr.setAttribute("href",t),{href:Mr.href,protocol:Mr.protocol?Mr.protocol.replace(/:$/,""):"",host:Mr.host,search:Mr.search?Mr.search.replace(/^\?/,""):"",hash:Mr.hash?Mr.hash.replace(/^#/,""):"",hostname:Mr.hostname,port:Mr.port,pathname:"/"===Mr.pathname.charAt(0)?Mr.pathname:"/"+Mr.pathname}}function On(e){var t=w(e)?Rn(e):e;return t.protocol===Sr.protocol&&t.host===Sr.host}function Nn(){this.$get=h(e)}function Ln(e){function t(e){try{return decodeURIComponent(e)}catch(t){return e}}var n=e[0]||{},i={},a="";return function(){var e,r,o,s,l,c=n.cookie||"";if(c!==a)for(a=c,e=a.split("; "),i={},o=0;o<e.length;o++)r=e[o],s=r.indexOf("="),s>0&&(l=t(r.substring(0,s)),_(i[l])&&(i[l]=t(r.substring(s+1))));return i}}function Fn(){this.$get=Ln}function Un(e){function t(a,r){if(y(a)){var o={};return i(a,function(e,n){o[n]=t(n,e)}),o}return e.factory(a+n,r)}var n="Filter";this.register=t,this.$get=["$injector",function(e){return function(t){return e.get(t+n)}}],t("currency",qn),t("date",ri),t("filter",Bn),t("json",oi),t("limitTo",si),t("lowercase",xr),t("number",zn),t("orderBy",ci),t("uppercase",Pr)}function Bn(){return function(e,i,a){if(!n(e)){if(null==e)return e;throw t("filter")("notarray","Expected array but received: {0}",e)}var r,o,s=Vn(i);switch(s){case"function":r=i;break;case"boolean":case"null":case"number":case"string":o=!0;c
var t=or.exec(e);return(t[1]||""===e)&&this.path(decodeURIComponent(t[1])),(t[2]||t[1]||""===e)&&this.search(t[3]||""),this.hash(t[5]||""),this},protocol:Xt("$$protocol"),host:Xt("$$host"),port:Xt("$$port"),path:Jt("$$path",function(e){return e=null!==e?e.toString():"","/"==e.charAt(0)?e:"/"+e}),search:function(e,t){switch(arguments.length){case 0:return this.$$search;case 1:if(w(e)||k(e))e=e.toString(),this.$$search=Z(e);else{if(!y(e))throw lr("isrcharg","The first argument of the `$location#search()` call must be a string or an object.");e=U(e,{}),i(e,function(t,n){null==t&&delete e[n]}),this.$$search=e}break;default:_(t)||null===t?delete this.$$search[e]:this.$$search[e]=t}return this.$$compose(),this},hash:Jt("$$hash",function(e){return null!==e?e.toString():""}),replace:function(){return this.$$replace=!0,this}};i([Yt,Kt,Gt],function(e){e.prototype=Object.create(cr),e.prototype.state=function(t){if(!arguments.length)return this.$$state;if(e!==Gt||!this.$$html5)throw lr("nostate","History API state support is available only in HTML5 mode and only in browsers supporting HTML5 History API");return this.$$state=_(t)?null:t,this}});var dr=t("$parse"),ur=Function.prototype.call,pr=Function.prototype.apply,fr=Function.prototype.bind,mr=me();i("+ - * / % === !== == != < > <= >= && || ! = |".split(" "),function(e){mr[e]=!0});var hr={n:"\n",f:"\f",r:"\r",t:"\t",v:"\x0B","'":"'",'"':'"'},gr=function(e){this.options=e};gr.prototype={constructor:gr,lex:function(e){for(this.text=e,this.index=0,this.tokens=[];this.index<this.text.length;){var t=this.text.charAt(this.index);if('"'===t||"'"===t)this.readString(t);else if(this.isNumber(t)||"."===t&&this.isNumber(this.peek()))this.readNumber();else if(this.isIdentifierStart(this.peekMultichar()))this.readIdent();else if(this.is(t,"(){}[].,;:?"))this.tokens.push({index:this.index,text:t}),this.index++;else if(this.isWhitespace(t))this.index++;else{var n=t+this.peek(),i=n+this.peek(2),a=mr[t],r=mr[n],o=mr[i];if(a||r||o){var s=o?i:r?n:t;this.tokens.push({index:this.index,text:s,operator:!0}),this.index+=s.length}else this.throwError("Unexpected next character ",this.index,this.index+1)}}return this.tokens},is:function(e,t){return t.indexOf(e)!==-1},peek:function(e){var t=e||1;return this.index+t<this.text.length&&this.text.charAt(this.index+t)},isNumber:function(e){return"0"<=e&&e<="9"&&"string"==typeof e},isWhitespace:function(e){return" "===e||"\r"===e||"\t"===e||"\n"===e||"\x0B"===e||" "===e},isIdentifierStart:function(e){return this.options.isIdentifierStart?this.options.isIdentifierStart(e,this.codePointAt(e)):this.isValidIdentifierStart(e)},isValidIdentifierStart:function(e){return"a"<=e&&e<="z"||"A"<=e&&e<="Z"||"_"===e||"$"===e},isIdentifierContinue:function(e){return this.options.isIdentifierContinue?this.options.isIdentifierContinue(e,this.codePointAt(e)):this.isValidIdentifierContinue(e)},isValidIdentifierContinue:function(e,t){return this.isValidIdentifierStart(e,t)||this.isNumber(e)},codePointAt:function(e){return 1===e.length?e.charCodeAt(0):(e.charCodeAt(0)<<10)+e.charCodeAt(1)-56613888},peekMultichar:function(){var e=this.text.charAt(this.index),t=this.peek();if(!t)return e;var n=e.charCodeAt(0),i=t.charCodeAt(0);return n>=55296&&n<=56319&&i>=56320&&i<=57343?e+t:e},isExpOperator:function(e){return"-"===e||"+"===e||this.isNumber(e)},throwError:function(e,t,n){n=n||this.index;var i=v(t)?"s "+t+"-"+this.index+" ["+this.text.substring(t,n)+"]":" "+n;throw dr("lexerr","Lexer Error: {0} at column{1} in expression [{2}].",e,i,this.text)},readNumber:function(){for(var e="",t=this.index;this.index<this.text.length;){var n=Di(this.text.charAt(this.index));if("."==n||this.isNumber(n))e+=n;else{var i=this.peek();if("e"==n&&this.isExpOperator(i))e+=n;else if(this.isExpOperator(n)&&i&&this.isNumber(i)&&"e"==e.charAt(e.length-1))e+=n;else{if(!this.isExpOperator(n)||i&&this.isNumber(i)||"e"!=e.charAt(e.length-1))break;this.throwError("Invalid exponent")}}this.index++}this.tokens.push({index:t,text:e,constant:!0,value:Number(e)})},readIdent:function(){var e=this.index;for(this.index+=thi
return{multiElement:!0,transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(n,i,a,r,o){var s,l,c;n.$watch(a.ngIf,function(n){n?l||o(function(n,r){l=r,n[n.length++]=t.$$createComment("end ngIf",a.ngIf),s={clone:n},e.enter(n,i.parent(),i)}):(c&&(c.remove(),c=null),l&&(l.$destroy(),l=null),s&&(c=fe(s.clone),e.leave(c).then(function(){c=null}),s=null))})}}}],mo=["$templateRequest","$anchorScroll","$animate",function(e,t,n){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:Gi.noop,compile:function(i,a){var r=a.ngInclude||a.src,o=a.onload||"",s=a.autoscroll;return function(i,a,l,c,d){var u,p,f,m=0,h=function(){p&&(p.remove(),p=null),u&&(u.$destroy(),u=null),f&&(n.leave(f).then(function(){p=null}),p=f,f=null)};i.$watch(r,function(r){var l=function(){!v(s)||s&&!i.$eval(s)||t()},p=++m;r?(e(r,!0).then(function(e){if(!i.$$destroyed&&p===m){var t=i.$new();c.template=e;var s=d(t,function(e){h(),n.enter(e,null,a).then(l)});u=t,f=s,u.$emit("$includeContentLoaded",r),i.$eval(o)}},function(){i.$$destroyed||p===m&&(h(),i.$emit("$includeContentError",r))}),i.$emit("$includeContentRequested",r)):(h(),c.template=null)})}}}}],ho=["$compile",function(t){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(n,i,a,r){return qi.call(i[0]).match(/SVG/)?(i.empty(),void t(Ce(r.template,e.document).childNodes)(n,function(e){i.append(e)},{futureParentElement:i})):(i.html(r.template),void t(i.contents())(n))}}}],go=di({priority:450,compile:function(){return{pre:function(e,t,n){e.$eval(n.ngInit)}}}}),_o=function(){return{restrict:"A",priority:100,require:"ngModel",link:function(e,t,n,a){var r=t.attr(n.$attr.ngList)||", ",o="false"!==n.ngTrim,s=o?Ji(r):r,l=function(e){if(!_(e)){var t=[];return e&&i(e.split(s),function(e){e&&t.push(o?Ji(e):e)}),t}};a.$parsers.push(l),a.$formatters.push(function(e){if(Yi(e))return e.join(r)}),a.$isEmpty=function(e){return!e||!e.length}}}},vo="ng-valid",yo="ng-invalid",bo="ng-pristine",wo="ng-dirty",ko="ng-untouched",Mo="ng-touched",So="ng-pending",Ao="ng-empty",Co="ng-not-empty",To=t("ngModel"),Eo=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate","$timeout","$rootScope","$q","$interpolate",function(e,t,n,a,r,o,s,l,c,d){this.$viewValue=Number.NaN,this.$modelValue=Number.NaN,this.$$rawModelValue=void 0,this.$validators={},this.$asyncValidators={},this.$parsers=[],this.$formatters=[],this.$viewChangeListeners=[],this.$untouched=!0,this.$touched=!1,this.$pristine=!0,this.$dirty=!1,this.$valid=!0,this.$invalid=!1,this.$error={},this.$$success={},this.$pending=void 0,this.$name=d(n.name||"",!1)(e),this.$$parentForm=Or;var u,p=r(n.ngModel),m=p.assign,h=p,g=m,y=null,b=this;this.$$setOptions=function(e){if(b.$options=e,e&&e.getterSetter){var t=r(n.ngModel+"()"),i=r(n.ngModel+"($$$p)");h=function(e){var n=p(e);return S(n)&&(n=t(e)),n},g=function(e,t){S(p(e))?i(e,{$$$p:t}):m(e,t)}}else if(!p.assign)throw To("nonassign","Expression '{0}' is non-assignable. Element: {1}",n.ngModel,X(a))},this.$render=f,this.$isEmpty=function(e){return _(e)||""===e||null===e||e!==e},this.$$updateEmptyClasses=function(e){b.$isEmpty(e)?(o.removeClass(a,Co),o.addClass(a,Ao)):(o.removeClass(a,Ao),o.addClass(a,Co))};var w=0;Ti({ctrl:this,$element:a,set:function(e,t){e[t]=!0},unset:function(e,t){delete e[t]},$animate:o}),this.$setPristine=function(){b.$dirty=!1,b.$pristine=!0,o.removeClass(a,wo),o.addClass(a,bo)},this.$setDirty=function(){b.$dirty=!0,b.$pristine=!1,o.removeClass(a,bo),o.addClass(a,wo),b.$$parentForm.$setDirty()},this.$setUntouched=function(){b.$touched=!1,b.$untouched=!0,o.setClass(a,ko,Mo)},this.$setTouched=function(){b.$touched=!0,b.$untouched=!1,o.setClass(a,Mo,ko)},this.$rollbackViewValue=function(){s.cancel(y),b.$viewValue=b.$$lastCommittedViewValue,b.$render()},this.$validate=function(){if(!k(b.$modelValue)||!isNaN(b.$modelValue)){var e=b.$$lastCommittedViewValue,t=b.$$rawModelValue,n=b.$valid,i=b.$modelValue,a=b.$options&&b.$options.allowInvalid;b.$$runValidators(t,e,function(e){a||n===e||(b.$modelValue=e?t:void 0,b.$modelValue!==i&&b.$$write
transitionDuration:me,transitionDelay:fe,transitionProperty:D+re,animationDuration:pe,animationDelay:ue,animationIterationCount:O+le},Me={transitionDuration:me,transitionDelay:fe,animationDuration:pe,animationDelay:ue},Se=["$animateProvider",function(e){var t=x(),n=x();this.$get=["$window","$$jqLite","$$AnimateRunner","$timeout","$$forceReflow","$sniffer","$$rAFScheduler","$$animateQueue",function(e,i,s,l,c,d,g,_){function y(e,t){var n="$$ngAnimateParentKey",i=e.parentNode,a=i[n]||(i[n]=++B);return a+"-"+e.getAttribute("class")+"-"+t}function b(n,i,a,r){var o=t.get(a);return o||(o=T(e,n,r),"infinite"===o.animationIterationCount&&(o.animationIterationCount=1)),t.put(a,o),o}function S(a,o,s,l){var c;if(t.count(s)>0&&(c=n.get(s),!c)){var d=r(o,"-stagger");i.addClass(a,d),c=T(e,a,l),c.animationDuration=Math.max(c.animationDuration,0),c.transitionDuration=Math.max(c.transitionDuration,0),i.removeClass(a,d),n.put(s,c)}return c||{}}function E(e){V.push(e),g.waitUntilQuiet(function(){t.flush(),n.flush();for(var e=c(),i=0;i<V.length;i++)V[i](e);V.length=0})}function x(e,t,n){var i=b(e,t,n,ke),a=i.animationDelay,r=i.transitionDelay;return i.maxDelay=a&&r?Math.max(a,r):a||r,i.maxDuration=Math.max(i.animationDuration*i.animationIterationCount,i.transitionDuration),i}var U=u(i),B=0,V=[];return function(e,n){function c(){g()}function u(){g(!0)}function g(t){if(!(G||Y&&K)){G=!0,K=!1,q.$$skipPreparationClasses||i.removeClass(e,ke),i.removeClass(e,Ae),k(W,!1),w(W,!1),H(ce,function(e){W.style[e[0]]=""}),U(e,q),f(e,q),Object.keys(z).length&&H(z,function(e,t){e?W.style.setProperty(t,e):W.style.removeProperty(t)}),q.onDone&&q.onDone(),fe&&fe.length&&e.off(fe.join(" "),B);var n=e.data(ve);n&&(l.cancel(n[0].timer),e.removeData(ve)),ee&&ee.complete(!t)}}function b(e){Ue.blockTransition&&w(W,e),Ue.blockKeyframeAnimation&&k(W,!!e)}function T(){return ee=new s({end:c,cancel:u}),E(L),g(),{$$willAnimate:!1,start:function(){return ee},end:c}}function B(e){e.stopPropagation();var t=e.originalEvent||e,n=t.$manualTimeStamp||Date.now(),i=parseFloat(t.elapsedTime.toFixed(be));Math.max(n-le,0)>=ie&&i>=ae&&(Y=!0,g())}function V(){function t(){if(!G){if(b(!1),H(ce,function(e){var t=e[0],n=e[1];W.style[t]=n}),U(e,q),i.addClass(e,Ae),Ue.recalculateTimingStyles){if(Se=W.className+" "+ke,Ee=y(W,Se),Le=x(W,Se,Ee),Fe=Le.maxDelay,ne=Math.max(Fe,0),ae=Le.maxDuration,0===ae)return void g();Ue.hasTransitions=Le.transitionDuration>0,Ue.hasAnimations=Le.animationDuration>0}if(Ue.applyAnimationDelay&&(Fe="boolean"!=typeof q.delay&&$(q.delay)?parseFloat(q.delay):Fe,ne=Math.max(Fe,0),Le.animationDelay=Fe,Be=C(Fe,!0),ce.push(Be),W.style[Be[0]]=Be[1]),ie=ne*ye,oe=ae*ye,q.easing){var t,a=q.easing;Ue.hasTransitions&&(t=D+se,ce.push([t,a]),W.style[t]=a),Ue.hasAnimations&&(t=O+se,ce.push([t,a]),W.style[t]=a)}Le.transitionDuration&&fe.push(R),Le.animationDuration&&fe.push(N),le=Date.now();var r=ie+we*oe,o=le+r,s=e.data(ve)||[],c=!0;if(s.length){var d=s[0];c=o>d.expectedEndTime,c?l.cancel(d.timer):s.push(g)}if(c){var u=l(n,r,!1);s[0]={timer:u,expectedEndTime:o},s.push(g),e.data(ve,s)}fe.length&&e.on(fe.join(" "),B),q.to&&(q.cleanupStyles&&P(z,W,Object.keys(q.to)),h(e,q))}}function n(){var t=e.data(ve);if(t){for(var n=1;n<t.length;n++)t[n]();e.removeData(ve)}}if(!G){if(!W.parentNode)return void g();var a=function(e){if(Y)K&&e&&(K=!1,g());else if(K=!e,Le.animationDuration){var t=k(W,K);K?ce.push(t):o(ce,t)}},r=Oe>0&&(Le.transitionDuration&&0===$e.transitionDuration||Le.animationDuration&&0===$e.animationDuration)&&Math.max($e.animationDelay,$e.transitionDelay);r?l(t,Math.floor(r*Oe*ye),!1):t(),te.resume=function(){a(!0)},te.pause=function(){a(!1)}}}var q=n||{};q.$$prepared||(q=p(F(q)));var z={},W=v(e);if(!W||!W.parentNode||!_.enabled())return T();var G,K,Y,ee,te,ne,ie,ae,oe,le,ce=[],ue=e.attr("class"),pe=a(q),fe=[];if(0===q.duration||!d.animations&&!d.transitions)return T();var me=q.event&&j(q.event)?q.event.join(" "):q.event,he=me&&q.structural,ge="",_e="";he?ge=r(me,Z,!0):me&&(ge=me),q.addClass&&(_e+=r(q.addClass,X)),q.removeClass&&(_e.length&&(_e+=" "),_e+=r(q.removeClass,J)),q.
return l.isOpen},l.getToggleElement=function(){return s.toggleElement},l.focusToggleElement=function(){s.toggleElement&&s.toggleElement[0].focus()},l.$watch("isOpen",function(t,n){r[t?"addClass":"removeClass"](s.$element,c),t?(l.focusToggleElement(),a.open(l)):a.close(l),d(e,t),angular.isDefined(t)&&t!==n&&u(e,{open:!!t})}),e.$on("$locationChangeSuccess",function(){l.isOpen=!1}),e.$on("$destroy",function(){l.$destroy()})}]).directive("dropdown",function(){return{controller:"DropdownController",link:function(e,t,n,i){i.init(t)}}}).directive("dropdownToggle",function(){return{require:"?^dropdown",link:function(e,t,n,i){if(i){i.toggleElement=t;var a=function(a){a.preventDefault(),t.hasClass("disabled")||n.disabled||e.$apply(function(){i.toggle()})};t.bind("click",a),t.attr({"aria-haspopup":!0,"aria-expanded":!1}),e.$watch(i.isOpen,function(e){t.attr("aria-expanded",!!e)}),e.$on("$destroy",function(){t.unbind("click",a)})}}}}),angular.module("ui.bootstrap.tooltip",["ui.bootstrap.position","ui.bootstrap.bindHtml"]).provider("$tooltip",function(){function e(e){var t=/[A-Z]/g,n="-";return e.replace(t,function(e,t){return(t?n:"")+e.toLowerCase()})}var t={placement:"top",animation:!0,popupDelay:0},n={mouseenter:"mouseleave",click:"click",focus:"blur"},i={};this.options=function(e){angular.extend(i,e)},this.setTriggers=function(e){angular.extend(n,e)},this.$get=["$window","$compile","$timeout","$document","$position","$interpolate",function(a,r,o,s,l,c){return function(a,d,u){function p(e){var t=e||f.trigger||u,i=n[t]||t;return{show:t,hide:i}}var f=angular.extend({},t,i),m=e(a),h=c.startSymbol(),g=c.endSymbol(),_="<div "+m+'-popup title="'+h+"title"+g+'" content="'+h+"content"+g+'" placement="'+h+"placement"+g+'" animation="animation" is-open="isOpen"></div>';return{restrict:"EA",compile:function(e,t){var n=r(_);return function(e,t,i){function r(){$.isOpen?u():c()}function c(){E&&!e.$eval(i[d+"Enable"])||(v(),$.popupDelay?A||(A=o(m,$.popupDelay,!1),A.then(function(e){e()})):m()())}function u(){e.$apply(function(){h()})}function m(){return A=null,S&&(o.cancel(S),S=null),$.content?(g(),k.css({top:0,left:0,display:"block"}),C?s.find("body").append(k):t.after(k),I(),$.isOpen=!0,$.$digest(),I):angular.noop}function h(){$.isOpen=!1,o.cancel(A),A=null,$.animation?S||(S=o(_,500)):_()}function g(){k&&_(),M=$.$new(),k=n(M,angular.noop)}function _(){S=null,k&&(k.remove(),k=null),M&&(M.$destroy(),M=null)}function v(){y(),b()}function y(){var e=i[d+"Placement"];$.placement=angular.isDefined(e)?e:f.placement}function b(){var e=i[d+"PopupDelay"],t=parseInt(e,10);$.popupDelay=isNaN(t)?f.popupDelay:t}function w(){var e=i[d+"Trigger"];x(),T=p(e),T.show===T.hide?t.bind(T.show,r):(t.bind(T.show,c),t.bind(T.hide,u))}var k,M,S,A,C=!!angular.isDefined(f.appendToBody)&&f.appendToBody,T=p(void 0),E=angular.isDefined(i[d+"Enable"]),$=e.$new(!0),I=function(){var e=l.positionElements(t,k,$.placement,C);e.top+="px",e.left+="px",k.css(e)};$.isOpen=!1,i.$observe(a,function(e){$.content=e,!e&&$.isOpen&&h()}),i.$observe(d+"Title",function(e){$.title=e});var x=function(){t.unbind(T.show,c),t.unbind(T.hide,u)};w();var P=e.$eval(i[d+"Animation"]);$.animation=angular.isDefined(P)?!!P:f.animation;var D=e.$eval(i[d+"AppendToBody"]);C=angular.isDefined(D)?D:C,C&&e.$on("$locationChangeSuccess",function(){$.isOpen&&h()}),e.$on("$destroy",function(){o.cancel(S),o.cancel(A),x(),_(),$=null})}}}}}]}).directive("tooltipPopup",function(){return{restrict:"EA",replace:!0,scope:{content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-popup.html"}}).directive("tooltip",["$tooltip",function(e){return e("tooltip","tooltip","mouseenter")}]).directive("tooltipHtmlUnsafePopup",function(){return{restrict:"EA",replace:!0,scope:{content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-html-unsafe-popup.html"}}).directive("tooltipHtmlUnsafe",["$tooltip",function(e){return e("tooltipHtmlUnsafe","tooltip","mouseenter")}]),angular.module("ui.bootstrap.position",[]).factory("$position",["$document","$window",function(e,t){funct
return g.create({ciphertext:r,key:n,iv:o.iv,algorithm:e,mode:o.mode,padding:o.padding,blockSize:e.blockSize,formatter:i.format})},decrypt:function(e,t,n,i){i=this.cfg.extend(i),t=this._parse(t,i.format);var a=e.createDecryptor(n,i).finalize(t.ciphertext);return a},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}}),b=t.kdf={},w=b.OpenSSL={execute:function(e,t,n,i){i||(i=a.random(8));var r=c.create({keySize:t+n}).compute(e,i),o=a.create(r.words.slice(t),4*n);return r.sigBytes=4*t,g.create({key:r,iv:o,salt:i})}},k=n.PasswordBasedCipher=y.extend({cfg:y.cfg.extend({kdf:w}),encrypt:function(e,t,n,i){i=this.cfg.extend(i);var a=i.kdf.execute(n,e.keySize,e.ivSize);i.iv=a.iv;var r=y.encrypt.call(this,e,t,a.key,i);return r.mixIn(a),r},decrypt:function(e,t,n,i){i=this.cfg.extend(i),t=this._parse(t,i.format);var a=i.kdf.execute(n,e.keySize,e.ivSize,t.salt);i.iv=a.iv;var r=y.decrypt.call(this,e,t,a.key,i);return r}})}(),function(){var e=CryptoJS,t=e.lib,n=t.BlockCipher,i=e.algo,a=[],r=[],o=[],s=[],l=[],c=[],d=[],u=[],p=[],f=[];!function(){for(var e=[],t=0;t<256;t++)t<128?e[t]=t<<1:e[t]=t<<1^283;for(var n=0,i=0,t=0;t<256;t++){var m=i^i<<1^i<<2^i<<3^i<<4;m=m>>>8^255&m^99,a[n]=m,r[m]=n;var h=e[n],g=e[h],_=e[g],v=257*e[m]^16843008*m;o[n]=v<<24|v>>>8,s[n]=v<<16|v>>>16,l[n]=v<<8|v>>>24,c[n]=v;var v=16843009*_^65537*g^257*h^16843008*n;d[m]=v<<24|v>>>8,u[m]=v<<16|v>>>16,p[m]=v<<8|v>>>24,f[m]=v,n?(n=h^e[e[e[_^h]]],i^=e[e[i]]):n=i=1}}();var m=[0,1,2,4,8,16,32,64,128,27,54],h=i.AES=n.extend({_doReset:function(){for(var e=this._key,t=e.words,n=e.sigBytes/4,i=this._nRounds=n+6,r=4*(i+1),o=this._keySchedule=[],s=0;s<r;s++)if(s<n)o[s]=t[s];else{var l=o[s-1];s%n?n>6&&s%n==4&&(l=a[l>>>24]<<24|a[l>>>16&255]<<16|a[l>>>8&255]<<8|a[255&l]):(l=l<<8|l>>>24,l=a[l>>>24]<<24|a[l>>>16&255]<<16|a[l>>>8&255]<<8|a[255&l],l^=m[s/n|0]<<24),o[s]=o[s-n]^l}for(var c=this._invKeySchedule=[],h=0;h<r;h++){var s=r-h;if(h%4)var l=o[s];else var l=o[s-4];h<4||s<=4?c[h]=l:c[h]=d[a[l>>>24]]^u[a[l>>>16&255]]^p[a[l>>>8&255]]^f[a[255&l]]}},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,o,s,l,c,a)},decryptBlock:function(e,t){var n=e[t+1];e[t+1]=e[t+3],e[t+3]=n,this._doCryptBlock(e,t,this._invKeySchedule,d,u,p,f,r);var n=e[t+1];e[t+1]=e[t+3],e[t+3]=n},_doCryptBlock:function(e,t,n,i,a,r,o,s){for(var l=this._nRounds,c=e[t]^n[0],d=e[t+1]^n[1],u=e[t+2]^n[2],p=e[t+3]^n[3],f=4,m=1;m<l;m++){var h=i[c>>>24]^a[d>>>16&255]^r[u>>>8&255]^o[255&p]^n[f++],g=i[d>>>24]^a[u>>>16&255]^r[p>>>8&255]^o[255&c]^n[f++],_=i[u>>>24]^a[p>>>16&255]^r[c>>>8&255]^o[255&d]^n[f++],v=i[p>>>24]^a[c>>>16&255]^r[d>>>8&255]^o[255&u]^n[f++];c=h,d=g,u=_,p=v}var h=(s[c>>>24]<<24|s[d>>>16&255]<<16|s[u>>>8&255]<<8|s[255&p])^n[f++],g=(s[d>>>24]<<24|s[u>>>16&255]<<16|s[p>>>8&255]<<8|s[255&c])^n[f++],_=(s[u>>>24]<<24|s[p>>>16&255]<<16|s[c>>>8&255]<<8|s[255&d])^n[f++],v=(s[p>>>24]<<24|s[c>>>16&255]<<16|s[d>>>8&255]<<8|s[255&u])^n[f++];e[t]=h,e[t+1]=g,e[t+2]=_,e[t+3]=v},keySize:8});e.AES=n._createHelper(h)}(),function(e){var t=CryptoJS,n=t.lib,i=n.WordArray,a=n.Hasher,r=t.algo,o=[],s=[];!function(){function t(t){for(var n=e.sqrt(t),i=2;i<=n;i++)if(!(t%i))return!1;return!0}function n(e){return 4294967296*(e-(0|e))|0}for(var i=2,a=0;a<64;)t(i)&&(a<8&&(o[a]=n(e.pow(i,.5))),s[a]=n(e.pow(i,1/3)),a++),i++}();var l=[],c=r.SHA256=a.extend({_doReset:function(){this._hash=new i.init(o.slice(0))},_doProcessBlock:function(e,t){for(var n=this._hash.words,i=n[0],a=n[1],r=n[2],o=n[3],c=n[4],d=n[5],u=n[6],p=n[7],f=0;f<64;f++){if(f<16)l[f]=0|e[t+f];else{var m=l[f-15],h=(m<<25|m>>>7)^(m<<14|m>>>18)^m>>>3,g=l[f-2],_=(g<<15|g>>>17)^(g<<13|g>>>19)^g>>>10;l[f]=h+l[f-7]+_+l[f-16]}var v=c&d^~c&u,y=i&a^i&r^a&r,b=(i<<30|i>>>2)^(i<<19|i>>>13)^(i<<10|i>>>22),w=(c<<26|c>>>6)^(c<<21|c>>>11)^(c<<7|c>>>25),k=p+w+v+s[f]+l[f],M=b+y;p=u,u=d,d=c,c=o+k|0,o=r,r=a,a=i,i=k+M|0}n[0]=n[0]+i|0,n[1]=n[1]+a|0,n[2]=n[2]+r|0,n[3]=n[3]+o|0,n[4]=n[4]+c|0,n[5]=n[5]+d|0,n[6]=n[6]+u|0,n[7]=n[7]+p|0},_doFinalize:function(){var t=this._data,n=t.words,i=8*this._nDataBytes,a=8*t.sigBytes;return n[a>>>5]|=128<<24-a%32,n[(a+64>>>9<<4)+14]=e.floor(i
if(p(0<=t),!e.L&&t<gn){if(e.Q==e.ya&&32<=e.g+t&&(e.L=1,32<e.g+t))return n;n=e.T>>e.g&_n[t],e.g+=t,8<=e.g&&8<=e.g&&$(e)}else e.fa=1;return n}function P(e){return e.Pa==e.gb}function D(e,t){return p(e!=h),0==t?0:(e.gb=2*t-1,e.Y=d(e.gb,Wn),e.Y==h?0:(e.Y[0].s=-1,e.Pa=1))}function R(e){e!=h&&(e.Y=h,e.Y=h,e.gb=0,e.Pa=0)}function O(e,t,n,i){for(var a=e.Y,r=0,o=+e.gb;0<i--;){if(r>=o)return 0;if(0>a[r].s){if(P(e))return 0;var s=e,l=s.Y,c=+s.Pa;a[r].s=c-r,s.Pa+=2,l[c+0].s=-1,l[c+1].s=-1}else if(0==a[r].s)return 0;r+=a[r].s+(n>>i&1)}if(0>a[r].s)a[r].s=0;else if(0!=a[r].s)return 0;return a[r].kc=t,1}function N(e,t,n){var i=g,a=0,r=0;for(p(e!=h),p(t!=h),i=0;i<n;++i)0<t[i]&&(++a,r=i);if(!D(e,a))return 0;if(1==a)return 0>r||r>=n?(R(e),0):O(e,r,0,0);if(a=0,r=c(n,g),r==h)return(a=a&&P(e))||R(e),a;var o=g,o=g,i=c(Tn+1,0),s=g,l=c(Tn+1,0),d=0;for(p(t!=h),p(0<n),p(r!=h),o=0;o<n;++o)t[o]>d&&(d=t[o]);if(d>Tn)i=0;else{for(o=0;o<n;++o)++i[t[o]];for(s=i[0]=0,l[0]=-1,o=1;o<=d;++o)s=s+i[o-1]<<1,l[o]=s;for(o=0;o<n;++o)r[o]=0<t[o]?l[t[o]]++:Kn;i=1}if(!i)return(a=a&&P(e))||R(e),a;for(i=0;i<n;++i)if(0<t[i]&&!O(e,i,r[i],t[i]))return(a=a&&P(e))||R(e),a;return(a=P(e))||R(e),a}function L(e,t,n,i,a,r,o){for(var s=g,s=0;s<o;++s)a[r+s]=e[t+s]+n[i+s]&255}function F(n,i,a){var r=n.P.l;if(!(a=0>i||0>a||i+a>n.P.v)&&(a=0==i)){e:{var o=n.Ga,s=n.G,l=n.ub;a=n.P.l;var d=n.P.v,u=n.Xb,f=[h],m=h,_=d*a,v=h,y=h,y="WEBP_FILTER_TYPE",b=g,f=g,w=0,k=g;if(p(0<a&&0<d&&r>=a),p(o!=h&&u!=h),l<=On)a=0;else if(k=o[s+0]>>0&3,y=o[s+0]>>2&3,b=o[s+0]>>4&3,f=o[s+0]>>6&3,k<Nn||k>Ln||y>=Ni||b>Fn||0!=f)a=0;else{if(k==Nn)w=l>=_,f=o,m=s+On;else{if(f=c(_,0),m=0,f==h){a=0;break e}var w=s+On,l=l-On,s=f,v=e(un),M=0,S=Qe();S==h?w=0:(S.l=a,S.v=d,S.N=v,ye(Ft),v.put=Et,v.Mb=Tt,v.Pb=$t,v.ka=h,v.ka=s,v.fd=0,v.width=a,v.height=d,S.a=en,E(S.o,o,w,l),S.Wa=Ii,tt(a,d,1,S,h)&&nt(S,a)&&(S.Wa=$i,M=Je(S,S.V,S.Ha,S.l,S.v,it)),S!=h&&et(S),w=M)}if(w){for(o=Li[y],o!=h?(v=c(_,0),y=0,v==h&&(w=0,k!=Nn&&(m=f=h)),o(f,m,a,d,1,a,v,y),_=v,k=y):(_=f,k=m),o=0;0<d--;)t(u,o,_,k,a),k+=a,o+=r;b==Fn&&(w=f==h||0>=m||0>=a?0:1)}a=w}}a=!a}return a?h:0==i?n.Xb:+i*r}function U(e){var t=e.width,n=e.height,i=e.J;if(0>=t||0>=n||!(i>=Ut&&i<Zt))return nn;if(!e.Fc&&e.Jb==h){var a=h,r=0,o=0,s=0,l=0,a=b,d=t*Fi[i],u=d*n;if(i<Xt||(r=parseInt((t+1)/2,10),s=r*parseInt((n+1)/2,10),i==Jt&&(o=t,l=o*n)),a=u+2*s+l,a!=a)return nn;if(a=c(a,205),a==h)return tn;e.Jb=a,e.jc=h,i<Xt?(t=e.c.RGBA,t.ma=a,t.Sa=h,t.f=d,t.size=u):(t=e.c.Va,t.y=a,t.D=h,t.F=d,t.Wc=u,t.c=a,t.B=h+u,t.nb=r,t.Rc=s,t.S=a,t.C=h+u+s,t.rb=r,t.Uc=s,i==Jt&&(t.p=a,t.q=h+u+2*s),t.Wb=l,t.Fa=o)}return i=1,r=e.J,o=e.width,s=e.height,r>=Ut&&r<Zt?r<Xt?(e=e.c.RGBA,i&=e.f*s<=e.size,i&=e.f>=o*Fi[r],i&=e.ma!=h):(e=e.c.Va,l=e.nb*parseInt((s+1)/2,10),d=e.rb*parseInt((s+1)/2,10),u=e.Fa*s,i&=e.F*s<=e.Wc,i&=l<=e.Rc,i&=d<=e.Uc,i&=u<=e.Wb,i&=e.F>=o,i&=e.nb>=parseInt((o+1)/2,10),i&=e.rb>=parseInt((o+1)/2,10),i&=e.y!=h,i&=e.c!=h,i&=e.S!=h,r==Jt&&(i&=e.Fa>=o,i&=u<=e.Wb,i&=e.p!=h)):i=0,i?en:nn}function B(e,t,n,i){if(i==h||0>=e||0>=t)return nn;if(n!=h){if(n.Ua){var a=n.wc,r=n.vc,o=n.t&-2,s=n.k&-2;if(0>o||0>s||0>=a||0>=r||o+a>e||s+r>t)return nn;e=a,t=r}if(n.I){if(0>=n.Ba||0>=n.Aa)return nn;e=n.Ba,t=n.Aa}}return i.width=e,i.height=t,U(i)}function H(e){return e&-256?0>e?0:255:e}function V(e,t,n,i){var a,r=c(16,0);a=0;var o;for(o=0;4>o;++o){var s=e[t+0]+e[t+8],l=e[t+0]-e[t+8],d=(e[t+4]*la>>16)-(e[t+12]*sa>>16),u=(e[t+4]*sa>>16)+(e[t+12]*la>>16);r[a+0]=s+u,r[a+1]=l+d,r[a+2]=l-d,r[a+3]=s-u,a+=4,t++}for(o=a=0;4>o;++o)e=r[a+0]+4,s=e+r[a+8],l=e-r[a+8],d=(r[a+4]*la>>16)-(r[a+12]*sa>>16),u=(r[a+4]*sa>>16)+(r[a+12]*la>>16),n[i+0+0*fi]=H(n[i+0+0*fi]+(s+u>>3)),n[i+1+0*fi]=H(n[i+1+0*fi]+(l+d>>3)),n[i+2+0*fi]=H(n[i+2+0*fi]+(l-d>>3)),n[i+3+0*fi]=H(n[i+3+0*fi]+(s-u>>3)),a++,i+=fi}function q(e,t,n,i,a){V(e,t,n,i),a&&V(e,t+16,n,i+4)}function z(e,t,n,i){Ui(e,t+0,n,i+0,1),Ui(e,t+32,n,i+4*fi,1)}function W(e,t,n,i){e=e[t+0]+4;var a;for(a=0;4>a;++a)for(t=0;4>t;++t)n[i+t+a*fi]=H(n[i+t+a*fi]+(e>>3))}function G(e,t,n,i){e[t+0]&&W(e,t+0,n,i+0),e[t+16]&&W(e,t+16,n,i+4),e[t+32]&&W(e,t+32,n,i+4*fi),e[t+48]&&W(e,t+48,n,i+4*fi+4)}function K(e,t,n){v
d[u+4*f]=_,p&=_}i+=e.width,u+=s.f}255!=p&&k(r)&&WebPApplyAlphaMultiply(d,c,o,a,l,s.f)}return 0}function Ct(e,t){var n=e.p,i=[e.q];if(n!=h){var a=e.m,r=t.j.J,o=t.j.c.RGBA,s=[g],l=St(e,i,s),i=i[0],c=o.ma,l=o.Sa+l*o.f,d=l+1,u=15,p=g;for(j=0;j<s[0];++j){for(p=0;p<a;++p){var f=n[i+p]>>4;c[d+2*p]=240&c[d+2*p]|f,u&=f}i+=e.width,d+=o.f}15!=u&&k(r)&&WebPApplyAlphaMultiply4444(c,l,a,s,o.f)}return 0}function Tt(e){var t=e.ka,n=t.j.J,i=n<Xt,a=n==Bt||n==jt||n==Vt||n==qt||n==Jt||k(n);if(t.memory=h,t.$a=h,t.zb=h,t.ad=h,!Lt(t.Qa,e,a?Xt:Jt))return 0;if(e.I){if(!(i?InitRGBRescaler(e,t):InitYUVRescaler(e,t)))return alert("memory error #1"),0}else{if(i){if(t.$a=wt,e.Bb){var r,o=e.m+1>>1,s=e.m+2*o,l=[];for(r=0;r<s;++r)l.push(205);if(l.push(0),t.memory=l,t.memory==h)return alert("memory error #2"),0;t.Sb=t.memory,t.Tb=0,t.Qb=t.Sb,t.Rb=t.Tb+e.m,t.lc=t.Qb,t.mc=t.Rb+o,t.$a=kt,ir[Ut]=st,ir[Bt]=ct,ir[Ht]=lt,ir[jt]=dt,ir[Vt]=ut,ir[qt]=pt,ir[zt]=ft}}else t.$a=bt;a&&(k(n)&&(WebPApplyAlphaMultiply=yt,ir[Wt]=ct,ir[Gt]=dt,ir[Kt]=ut,ir[Yt]=pt),t.zb=n==qt||n==Yt?Ct:i?At:Mt)}if(i&&!nr){for(e=0;256>e;++e)Xa[e]=89858*(e-128)+Ya>>$a,Qa[e]=-22014*(e-128)+Ya,Za[e]=-45773*(e-128),Ja[e]=113618*(e-128)+Ya>>$a;for(e=Ia;e<xa;++e)t=76283*(e-16)+Ya>>$a,er[e-Ia]=_e(t,255),tr[e-Ia]=_e(t+8>>4,15);nr=1}return 1}function Et(e){var t=e.ka,n=e.m,i=e.h;return p(!(1&e.w)),0>=n||0>=i?0:(n=t.$a(e,t),t.ec+=n,t.zb&&t.zb(e,t),1)}function $t(e){e=e.ka,e.memory="",e.memory=h}function It(e,t){return e[t+0]|e[t+1]<<8|e[t+2]<<16}function xt(e,t){return(It(e,t)|e[t+3]<<24)>>>0}function Pt(t,n,i,a,r,o,s){var c=0,d=[0],u="VP8StatusCode",f=e(fn);if(t==h||i[0]<Hn)return ln;f.data=t,f.b=[n[0]],f.e=[i[0]],f.na=[f.na];e:{if(c=f.na,p(t!=h),p(i!=h),p(c!=h),c[0]=0,i[0]>=Hn&&!l(t,n[0],"RIFF",Un)){if(l(t,n[0]+8,"WEBP",Un)){u=an;break e}var v=xt(t,n[0]+Un);if(v<Un+Bn){u=an;break e}c[0]=v,n[0]+=Hn,i[0]-=Hn}else c[0]=0;u=en}if(f.na=f.na[0],u!=en)return u;c=0<f.na,v=[0];e:if(u=Bn+jn,p(t!=h),p(i!=h),p(d!=h),d[0]=0,i[0]<Bn)u=ln;else{if(!l(t,n[0],"VP8X",Un)){var b=g,k=g,M=y;if(xt(t,n[0]+Un)!=jn){u=an;break e}if(i[0]<u){u=ln;break e}if(M=xt(t,n[0]+8),b=1+It(t,n[0]+12),k=1+It(t,n[0]+15),b*k>=qn){u=an;break e}v!=h&&(v[0]=M),a!=h&&(a[0]=b),r!=h&&(r[0]=k),n[0]+=u,i[0]-=u,d[0]=1}u=en}if(u!=en)return u;if(!c&&d[0])return an;if(o!=h&&(o[0]=!!(v[0]&Vn)),d&&s==h)return en;if(i<Un)return ln;if(c&&d[0]||!c&&!d[0]&&!l(t,n[0],"ALPH",Un)){f.$=[f.$],f.G=[f.G],f.pa=[f.pa];e:{var d=f.na,c=f.$,v=f.G,u=f.pa,b=_,k=0,M=w,S=Un+Bn+jn;for(p(t!=h),p(i!=h),b=t,k=n[0],M=i[0],p(c!=h),p(u!=h),c[0]=h,v[0]=h,u[0]=0;;){var A=y,C=y;if(n[0]=k,i[0]=M,M<Bn){u=ln;break e}if(A=xt(b,k+Un),C=Bn+A+1&-2,S+=C,0<d&&S>d){u=an;break e}if(M<C){u=ln;break e}if(l(b,k,"ALPH",Un)){if(!l(b,k,"VP8 ",Un)||!l(b,"VP8L",Un)){u=en;break e}}else c[0]=b,v[0]=k+Bn,u[0]=A;k+=C,M-=C}u=m}if(f.$=f.$[0],f.G=f.G[0],f.pa=f.pa[0],u!=en)return u}f.ta=[f.ta],f.ia=[f.ia];e:if(d=f.na,c=f.ta,v=f.ia,k=!l(t,n[0],"VP8 ",Un),u=!l(t,n[0],"VP8L",Un),b=Un+Bn,p(t!=h),p(i!=h),p(c!=h),p(v!=h),i[0]<Bn)u=ln;else{if(k||u){if(k=xt(t,n[0]+Un),d>=b&&k>d-b){u=an;break e}c[0]=k,n[0]+=Bn,i[0]-=Bn,v[0]=u}else v[0]=1<=i&&t[n+0]==yn,c[0]=i[0];u=en}if(f.ta=f.ta[0],f.ia=f.ia[0],u!=en)return u;if(f.ta>zn)return an;if(f.ia){if(i[0]<kn)return ln;d=n[0],c=i[0],a=a?a[0]:h,r=r?r[0]:h,v=o?o[0]:h,t==h||c<kn?t=0:(u=[g],b=[g],k=[g],M=e(hn),E(M,t,d,c),qe(M,u,b,k)?(a!=h&&(a[0]=u[0]),r!=h&&(r[0]=b[0]),v!=h&&(v[0]=k[0]),t=1):t=0)}else{if(i<vn)return ln;d=n[0],c=i[0],a=a?a[0]:h,r=r?r[0]:h,!(t==h||c<vn)&&3<=c-3&&157==t[d+3+0]&&1==t[d+3+1]&&42==t[d+3+2]?(c=t[d+0]|t[d+1]<<8|t[d+2]<<16,v=16383&(t[d+7]<<8|t[d+6]),t=16383&(t[d+9]<<8|t[d+8]),!(!(1&c)+0)||3<(c>>1&7)||!(c>>4&1)||c>>5>=f.ta?t=0:(a&&(a[0]=v),r&&(r[0]=t),t=1)):t=0}return t?(o!=h&&(o[0]|=f.$!=h),s!=h&&(s[0]=f,s[0].offset=n[0]-s[0].b,p(n[0]-s[0].b<zn),p(s[0].offset==s[0].e-i[0])),en):an}function Dt(e){return p(e!=h),Pt(e[0].data,e[0].b,e[0].e,h,h,h,e)}function Rt(t,n,i,a){var r="VP8StatusCode",o=e(un),s=e(fn);if(s.data=t,s.b=n,s.e=i,s.b=[s.b],s.e=[s.e],s=[s],r=Dt(s),r!=en)return r;if(s=s[0],s.b=s.b[0],s.e=s.e[0],p(a!=h),ye(Ft),o.data=s.data,o.b=n+s.offset,o.e=s.e-
if(angular.isUndefined(r)||r.length<=0)throw new Error("A valid directive name must be provided via the toast body argument when using bodyOutputType: directive");var o;try{o=t.get(a.$normalize(r)+"Directive")}catch(s){throw new Error(r+" could not be found. The name should appear as it exists in the markup, not camelCased as it would appear in the directive declaration, e.g. directive-name not directiveName.")}var l=o[0];if(l.scope!==!0&&l.scope)throw new Error("Cannot use a directive with an isolated scope. The scope must be either true or falsy (e.g. false/null/undefined). Occurred for directive "+r+".");if(l.restrict.indexOf("A")<0)throw new Error('Directives must be usable as attributes. Add "A" to the restrict option (or remove the option entirely). Occurred for directive '+r+".");n.directiveData&&(n.directiveData=angular.fromJson(n.directiveData));var c=e("<div "+r+"></div>")(n);i.append(c)})}}}]).directive("toasterContainer",["$parse","$rootScope","$interval","$sce","toasterConfig","toaster","toasterEventRegistry",function(e,t,n,i,a,r,o){return{replace:!0,restrict:"EA",scope:!0,link:function(t,s,l){function c(e,i){e.timeoutPromise=n(function(){t.removeToast(e.toastId)},i,1)}function d(n,a){if(n.type=m["icon-classes"][n.type],n.type||(n.type=m["icon-class"]),m["prevent-duplicates"]===!0&&t.toasters.length){if(t.toasters[t.toasters.length-1].body===n.body)return;var r,o,s=!1;for(r=0,o=t.toasters.length;r<o;r++)if(t.toasters[r].toastId===a){s=!0;break}if(s)return}var l=m["close-button"];if("boolean"==typeof n.showCloseButton);else if("boolean"==typeof l)n.showCloseButton=l;else if("object"==typeof l){var c=l[n.type];"undefined"!=typeof c&&null!==c&&(n.showCloseButton=c)}else n.showCloseButton=!1;switch(n.showCloseButton&&(n.closeHtml=i.trustAsHtml(n.closeHtml||t.config.closeHtml)),n.bodyOutputType=n.bodyOutputType||m["body-output-type"],n.bodyOutputType){case"trustedHtml":n.html=i.trustAsHtml(n.body);break;case"template":n.bodyTemplate=n.body||m["body-template"];break;case"templateWithData":var d=e(n.body||m["body-template"]),u=d(t);n.bodyTemplate=u.template,n.data=u.data;break;case"directive":n.html=n.body}t.configureTimer(n),m["newest-on-top"]===!0?(t.toasters.unshift(n),m.limit>0&&t.toasters.length>m.limit&&t.toasters.pop()):(t.toasters.push(n),m.limit>0&&t.toasters.length>m.limit&&t.toasters.shift()),angular.isFunction(n.onShowCallback)&&n.onShowCallback()}function u(e){var i=t.toasters[e];i.timeoutPromise&&n.cancel(i.timeoutPromise),t.toasters.splice(e,1),angular.isFunction(i.onHideCallback)&&i.onHideCallback()}function p(e){for(var n=t.toasters.length-1;n>=0;n--)f(e)?u(n):t.toasters[n].toastId==e&&u(n)}function f(e){return angular.isUndefined(e)||null===e}var m;m=angular.extend({},a,t.$eval(l.toasterOptions)),t.config={toasterId:m["toaster-id"],position:m["position-class"],title:m["title-class"],message:m["message-class"],tap:m["tap-to-dismiss"],closeButton:m["close-button"],closeHtml:m["close-html"],animation:m["animation-class"],mouseoverTimer:m["mouseover-timer-stop"]},t.$on("$destroy",function(){o.unsubscribeToNewToastEvent(t._onNewToast),o.unsubscribeToClearToastsEvent(t._onClearToasts)}),t.configureTimer=function(e){var t=angular.isNumber(e.timeout)?e.timeout:m["time-out"];"object"==typeof t&&(t=t[e.type]),t>0&&c(e,t)},t.removeToast=function(e){var n,i;for(n=0,i=t.toasters.length;n<i;n++)if(t.toasters[n].toastId===e){u(n);break}},t.toasters=[],t._onNewToast=function(e,n,i){(f(t.config.toasterId)&&f(n)||!f(t.config.toasterId)&&!f(n)&&t.config.toasterId==n)&&d(r.toast,i)},t._onClearToasts=function(e,n,i){("*"==n||f(t.config.toasterId)&&f(n)||!f(t.config.toasterId)&&!f(n)&&t.config.toasterId==n)&&p(i)},o.setup(),o.subscribeToNewToastEvent(t._onNewToast),o.subscribeToClearToastsEvent(t._onClearToasts)},controller:["$scope","$element","$attrs",function(e,t,i){e.stopTimer=function(t){e.config.mouseoverTimer===!0&&t.timeoutPromise&&(n.cancel(t.timeoutPromise),t.timeoutPromise=null)},e.restartTimer=function(t){e.config.mouseoverTimer===!0?t.timeoutPromise||e.configureTimer(t):null===t.timeoutPromise&&e.removeTo
for(var _=0;_<nt.length;_++){var h=nt[_];Ze++,Be++,et=h.frameEndTimestamp,d=1e3*(h.frameEndTimestamp-l),je=He-d,h.dropped=!0,k(h)}nt=[];for(var _=0;_<it.length;_++){var h=it[_];Ze++,Be++,et=h.frameEndTimestamp,d=1e3*(h.frameEndTimestamp-l),je=He-d,h.dropped=!0,k(h)}for(it=[],Tt=0;fe.frameReady&&fe.frameTimestamp<w;){var h={frameEndTimestamp:fe.frameTimestamp,dropped:!0};d=1e3*(h.frameEndTimestamp-l),je=He-d,Ze++,fe.discardFrame(function(){}),Be++,k(h)}return void(R()||L())}}}else a&&ke&&!o&&!i&&d>p?(n("late frame recovery reached "+d),v(l),ke=!1,a=!1):a&&ke||a&&d<=p||(a=!1)}if(o){n("play loop: ready to decode frame; thread depth: "+Tt+", have buffered: "+nt.length),0==me.fps&&fe.frameTimestamp-et>0&&(He=1e3*(fe.frameTimestamp-et)),Ve+=He,qe++;var A=et=fe.frameTimestamp;Tt++,it.push({frameEndTimestamp:A});var C=it,T=!1,E=t(function(){fe.decodeFrame(function(e){return C!==it?void n("play loop callback after flush, discarding"):(n("play loop callback: decoded frame"),Tt--,it.shift(),e?nt.push({yCbCrBuffer:fe.frameBuffer,videoCpuTime:fe.videoCpuTime,frameEndTimestamp:A}):n("Bad video packet or something"),void fe.process(function(){R()||L(T?void 0:0)}))})});Tt&&(T=!0,Ke+=E,L())}else if(i){n("play loop: ready for audio; depth: "+Et),Et++;var $=fe.audioTimestamp,I=t(function(){fe.decodeAudio(function(e){if(Et--,n("play loop callback: decoded audio"),tt=$,e){var i=fe.audioBuffer;if(i&&(We+=t(function(){_e&&_e.bufferData(i)}),!fe.hasVideo)){Be++;var a={frameEndTimestamp:tt};k(a)}}R()||L()})});Et&&(Ke+=I,fe.audioReady?L():r())}else if(a){n("play loop: ready to draw frame"),De&&(clearTimeout(De),De=null),oe&&(ne.removeChild(oe),oe=null);var h=nt.shift();vt=h.videoCpuTime,Ge+=t(function(){ee.drawFrame(h.yCbCrBuffer)}),Be++,Ue++,k(h),L()}else if(!nt.length||De||we)if($e&&!(Et||Tt||nt.length)){n("play loop: playback reached end of data "+[Et,Tt,nt.length]);var x=0;fe.hasAudio&&_e&&(x=1e3*_e.durationBuffered),x>0?(n("play loop: ending pending "+x+" ms"),L(Math.max(0,x))):(n("play loop: ENDING NOW: playback time "+b()+"; frameEndTimestamp: "+et),y(),ke=!1,we=!1,be=Math.max(tt,et),Le=!0,Ne=!0,f("pause"),f("ended"))}else n("play loop: waiting on async/timers");else{var P=d;n("play loop: setting a timer for drawing "+P),De=setTimeout(function(){De=null,L()},P)}}else n("play loop: demuxing"),r()}function r(){var e=fe.frameReady,t=fe.audioReady;fe.process(function(i){fe.frameReady&&!e||fe.audioReady&&!t?(n("demuxer has packets"),L()):i?(n("demuxer processing to find more packets"),L()):(n("demuxer ran out of data"),Ae?(n("demuxer reached end of data stream"),$e=!0,L()):(n("demuxer loading more data"),O()))})}if(ge.length){var o=ge.shift();o()}else if(Y==K.INITIAL)if(fe.loadedMetadata){if(!fe.hasVideo&&!fe.hasAudio)throw new Error("No audio or video found, something is wrong");fe.hasAudio&&(he=fe.audioFormat),fe.hasVideo&&(me=fe.videoFormat,x()),isNaN(fe.duration)||(xe=fe.duration),null===xe&&ae.seekable?(Y=K.SEEKING_END,Pe=-1,fe.flush(function(){S(Math.max(0,ae.length-131072))})):(Y=K.LOADED,L())}else fe.process(function(e){if(e)L();else{if(Ae)throw new Error("end of file before headers found");n("reading more cause we are out of data"),O()}});else if(Y==K.SEEKING_END)fe.frameReady?(n("saw frame with "+fe.frameTimestamp),Pe=Math.max(Pe,fe.frameTimestamp),fe.discardFrame(function(){L()})):fe.audioReady?(n("saw audio with "+fe.audioTimestamp),Pe=Math.max(Pe,fe.audioTimestamp),fe.discardAudio(function(){L()})):fe.process(function(e){e?L():ae.eof?(n("seek-duration: we are at the end: "+Pe),Pe>0&&(xe=Pe),Y=K.LOADED,fe.flush(function(){Ae=!1,$e=!1,S(0)})):O()});else if(Y==K.LOADED)Y=K.PRELOAD,f("loadedmetadata"),f("durationchange"),fe.hasVideo&&f("resize"),L(0);else if(Y==K.PRELOAD)!fe.frameReady&&fe.hasVideo||!fe.audioReady&&fe.hasAudio?fe.process(function(e){e?L():Ae?Le=!0:O()}):(Y=K.READY,f("loadeddata"),L());else if(Y==K.READY)if(n("initial seek to "+Me),Me>0){var s=Me;Me=0,n("initial seek to "+s),T(s)}else Ne?n("paused while in ready"):!fe.hasAudio||_e||ve?i():(_(),_e.waitUntilReady(i));else if(Y==K.SEEKING){if(J==X.NOT_SEEKING)throw new Er
}},function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),r=(n(20),n(21)),o=n(24),s=function(){function e(t){var n=t.url,a=void 0===n?"":n,o=t.chunkSize,s=void 0===o?1048576:o,l=t.cacheSize,c=void 0===l?0:l;i(this,e),this.length=-1,this.loaded=!1,this.loading=!1,this.seekable=!1,this.buffering=!1,this.seeking=!1,Object.defineProperties(this,{offset:{get:function(){return this._cache.readOffset}},eof:{get:function(){return this.length===this._cache.readOffset}}}),this.url=a,this.headers={},this._cache=new r({cacheSize:c}),this._backend=null,this._cachever=0,this._chunkSize=s}return a(e,[{key:"load",value:function(){var e=this;return new Promise(function(t,n){if(e.loading)throw new Error("cannot load when loading");if(e.loaded)throw new Error("cannot load when loaded");e.loading=!0,e._openBackend().then(function(n){e.seekable=n.seekable,e.headers=n.headers,e.length=n.length,e.loaded=!0,e.loading=!1,t()})["catch"](function(t){"AbortError"!==t.name&&(e.loading=!1),n(t)})})}},{key:"_openBackend",value:function(){var e=this;return new Promise(function(t,n){if(e._backend)t(e._backend);else if(e.eof)n(new Error("cannot open at end of file"));else{var i=e._cache,a=e._chunkSize,r=i.bytesReadable(a),s=i.readOffset+r;if(i.seekWrite(s),e.length>=0&&s>=e.length)return void t(null);var l=i.bytesWritable(a);0===l?t(null):!function(){var i=e._backend=new o({url:e.url,offset:e._cache.writeOffset,length:l,cachever:e._cachever}),a=null,r=function(){i!==e._backend?(a(),n(new Error("invalid state"))):(i.on("buffer",function(t){i===e._backend&&e._cache.write(t)}),i.on("done",function(){i===e._backend&&(e.length===-1&&(e.length=e._backend.offset+e._backend.bytesRead),e._backend=null)}),t(i))},s=function(t){i!==e._backend?n(new Error("invalid state")):(e._backend=null,n(t))};a=function(){i.off("open",r),i.off("error",s)},i.on("open",r),i.on("error",s),i.on("cachever",function(){e._cachever++}),i.load()}()}})}},{key:"_readAhead",value:function(){var e=this;return new Promise(function(t,n){e._backend||e.eof?t():e._openBackend().then(function(){t()})["catch"](function(e){n(e)})})}},{key:"seek",value:function(e){var t=this;return new Promise(function(n,i){if(!t.loaded||t.buffering||t.seeking)throw new Error("invalid state");if(e!==(0|e)||e<0)throw new Error("invalid input");if(t.length>=0&&e>t.length)throw new Error("seek past end of file");if(!t.seekable)throw new Error("seek on non-seekable stream");t._backend&&t.abort(),t._cache.seekRead(e),t._cache.seekWrite(e),t._readAhead().then(n)["catch"](i)})}},{key:"read",value:function(e){var t=this;return this.buffer(e).then(function(e){return t.readSync(e)})}},{key:"readSync",value:function(e){var t=this.bytesAvailable(e),n=new Uint8Array(t),i=this.readBytes(n);if(i!==t)throw new Error("failed to read expected data");return n.buffer}},{key:"readBytes",value:function(e){if(!this.loaded||this.buffering||this.seeking)throw new Error("invalid state");if(!(e instanceof Uint8Array))throw new Error("invalid input");var t=this._cache.readBytes(e);return this._readAhead(),t}},{key:"buffer",value:function(e){var t=this;return new Promise(function(n,i){if(!t.loaded||t.buffering||t.seeking)throw new Error("invalid state");if(e!==(0|e)||e<0)throw new Error("invalid input");var a=t._clampToLength(t.offset+e),r=a-t.offset,o=t.bytesAvailable(r);o>=r?n(o):(t.buffering=!0,t._openBackend().then(function(n){return n?n.bufferToOffset(a).then(function(){return t.buffering=!1,t.buffer(e)}):Promise.resolve(o)}).then(function(e){t.buffering=!1,n(e)})["catch"](function(e){"AbortError"!==e.name&&(t.buffering=!1),i(e)}))})}},{key:"bytesAvailable",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1/0;return this._cache.bytesReadable(e)}},{key:"abort",value:function(){this.loading&&(this.loadi
t>n?(this._bufferQueue.prependBuffer(this._liveBuffer),this._bufferQueue.prependBuffer(this._bufferQueue.createBuffer(t-n))):this._bufferQueue.prependBuffer(this._bufferQueue.trimBuffer(this._liveBuffer,n-t,t)),this._playbackTimeAtBufferTail-=e}this._node.onaudioprocess=null,this._node.disconnect()}},t.prototype.flush=function(){this._bufferQueue.flush()},t.prototype.close=function(){this.stop(),this._context=null},t.prototype.onstarved=null,t.prototype.onbufferlow=null,t.isSupported=function(){return!!i},t.sharedAudioContext=null,t.initSharedAudioContext=function(){if(!t.sharedAudioContext&&t.isSupported()){var e,n=new i;if(n.createScriptProcessor)e=n.createScriptProcessor(1024,0,2);else{if(!n.createJavaScriptNode)throw new Error("Bad version of web audio API?");e=n.createJavaScriptNode(1024,0,2)}e.connect(n.destination),e.disconnect(),t.sharedAudioContext=n}return t.sharedAudioContext},e.exports=t}()},function(e,t){e.exports=function(){if("undefined"!=typeof window.setImmediate)return window.setImmediate;if(window&&window.postMessage){var e=[];return window.addEventListener("message",function(t){if(t.source===window){var n=t.data;if("object"==typeof n&&n.nextTickBrowserPingMessage){var i=e.pop();i&&i()}}}),function(t){e.push(t),window.postMessage({nextTickBrowserPingMessage:!0},document.location.toString())}}return function(e){setTimeout(e,0)}}()},function(e,t,n){!function(){function t(e){for(var t=new Uint8Array(e),n="",i=t.length,a=0;a<i;a++)n+=l[t[a]];return n}function i(e){return this instanceof arguments.callee?void("function"==typeof this.init&&this.init.apply(this,e&&e.callee?e:arguments)):new arguments.callee(arguments)}var a=n(5),r=n(3),o=function(e,t,n){n=n||{};var o={};"string"==typeof n.base&&(o.swf=n.base+"/"+a),n.bufferSize&&(this.bufferSize=0|n.bufferSize),this._flashaudio=new i(o),this._flashBuffer="",this._flushTimeout=null,this._flushInterval=40,this._cachedFlashState=null,this._cachedFlashTime=0,this._cachedFlashInterval=40,this._waitUntilReadyQueue=[],this.onready=function(){for(this._flashaudio.flashElement.setBufferSize(this.bufferSize),this._flashaudio.flashElement.setBufferThreshold(this.bufferThreshold);this._waitUntilReadyQueue.length;){var e=this._waitUntilReadyQueue.shift();e.apply(this)}},this.onlog=function(e){console.log("AudioFeeder FlashBackend: "+e)},this.bufferThreshold=2*this.bufferSize;var s={ready:"sync",log:"sync",starved:"sync",bufferlow:"async"};this._callbackName="AudioFeederFlashBackendCallback"+this._flashaudio.id;window[this._callbackName]=function(e){var t=s[e],n=this["on"+e];t&&n&&("async"===t?r(n.bind(this)):(n.apply(this,Array.prototype.slice.call(arguments,1)),this._flushFlashBuffer()))}.bind(this)};o.prototype.rate=44100,o.prototype.channels=2,o.prototype.bufferSize=4096,o.prototype._bufferThreshold=8192,Object.defineProperty(o.prototype,"bufferThreshold",{get:function(){return this._bufferThreshold},set:function(e){this._bufferThreshold=0|e,this.waitUntilReady(function(){this._flashaudio.flashElement.setBufferThreshold(this._bufferThreshold)}.bind(this))}}),o.prototype._volume=1,Object.defineProperty(o.prototype,"volume",{get:function(){return this._volume},set:function(e){this._volume=+e,this.waitUntilReady(this._flashVolumeUpdate.bind(this))}}),o.prototype._muted=!1,Object.defineProperty(o.prototype,"muted",{get:function(){return this._muted},set:function(e){this._muted=!!e,this.waitUntilReady(this._flashVolumeUpdate.bind(this))}}),o.prototype._paused=!0,o.prototype._flashVolumeUpdate=function(){this._flashaudio&&this._flashaudio.flashElement&&this._flashaudio.flashElement.setVolume&&this._flashaudio.flashElement.setVolume(this.muted?0:this.volume)},o.prototype._resampleFlash=function(e){for(var t=1,n=e[0].length,i=new Int16Array(2*n),a=e[0],r=this.channels>1?e[1]:a,o=this.muted?0:this.volume,s=16384*o,l=0;l<n;l++){var c=l*t|0,d=2*l;i[d]=a[c]*s,i[d+1]=r[c]*s}return i};for(var s=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"],l=[],c=0;c<256;c++)l[c]=s[15&c]+s[(240&c)>>4];o.prototype._flushFlashBuffer=function(){var e=this._flashBuffer,t=this._flash
return STATICTOP=STATICTOP+e|0,STATICTOP=STATICTOP+15&-16,t},dynamicAlloc:function(e){var t=HEAP32[DYNAMICTOP_PTR>>2],n=(t+e+15|0)&-16;if(HEAP32[DYNAMICTOP_PTR>>2]=n,n>=TOTAL_MEMORY){var i=enlargeMemory();if(!i)return HEAP32[DYNAMICTOP_PTR>>2]=t,0}return t},alignMemory:function(e,t){var n=e=Math.ceil(e/(t?t:16))*(t?t:16);return n},makeBigInt:function(e,t,n){var i=n?+(e>>>0)+4294967296*+(t>>>0):+(e>>>0)+4294967296*+(0|t);return i},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var ABORT=0,EXITSTATUS=0,cwrap,ccall;!function(){function parseJSFunc(e){var t=e.toString().match(sourceRegex).slice(1);return{arguments:t[0],body:t[1],returnValue:t[2]}}function ensureJSsource(){if(!JSsource){JSsource={};for(var e in JSfuncs)JSfuncs.hasOwnProperty(e)&&(JSsource[e]=parseJSFunc(JSfuncs[e]))}}var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(e){var t=Runtime.stackAlloc(e.length);return writeArrayToMemory(e,t),t},stringToC:function(e){var t=0;if(null!==e&&void 0!==e&&0!==e){var n=(e.length<<2)+1;t=Runtime.stackAlloc(n),stringToUTF8(e,t,n)}return t}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(e,t,n,i,a){var r=getCFunc(e),o=[],s=0;if(i)for(var l=0;l<i.length;l++){var c=toC[n[l]];c?(0===s&&(s=Runtime.stackSave()),o[l]=c(i[l])):o[l]=i[l]}var d=r.apply(null,o);if("string"===t&&(d=Pointer_stringify(d)),0!==s){if(a&&a.async)return void EmterpreterAsync.asyncFinalizers.push(function(){Runtime.stackRestore(s)});Runtime.stackRestore(s)}return d};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/,JSsource=null;cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident),numericArgs=argTypes.every(function(e){return"number"===e}),numericRet="string"!==returnType;if(numericRet&&numericArgs)return cfunc;var argNames=argTypes.map(function(e,t){return"$"+t}),funcstr="(function("+argNames.join(",")+") {",nargs=argTypes.length;if(!numericArgs){ensureJSsource(),funcstr+="var stack = "+JSsource.stackSave.body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if("number"!==type){var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";",funcstr+=convertCode.body+";",funcstr+=arg+"=("+convertCode.returnValue+");"}}}var cfuncname=parseJSFunc(function(){return cfunc}).returnValue;if(funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");",!numericRet){var strgfy=parseJSFunc(function(){return Pointer_stringify}).returnValue;funcstr+="ret = "+strgfy+"(ret);"}return numericArgs||(ensureJSsource(),funcstr+=JSsource.stackRestore.body.replace("()","(stack)")+";"),funcstr+="return ret})",eval(funcstr)}}(),Module.ccall=ccall,Module.cwrap=cwrap,Module.setValue=setValue,Module.getValue=getValue;var ALLOC_NORMAL=0,ALLOC_STACK=1,ALLOC_STATIC=2,ALLOC_DYNAMIC=3,ALLOC_NONE=4;Module.ALLOC_NORMAL=ALLOC_NORMAL,Module.ALLOC_STACK=ALLOC_STACK,Module.ALLOC_STATIC=ALLOC_STATIC,Module.ALLOC_DYNAMIC=ALLOC_DYNAMIC,Module.ALLOC_NONE=ALLOC_NONE,Module.allocate=allocate,Module.getMemory=getMemory,Module.Pointer_stringify=Pointer_stringify,Module.AsciiToString=AsciiToString,Module.stringToAscii=stringToAscii;var UTF8Decoder="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;Module.UTF8ArrayToString=UTF8ArrayToString,Module.UTF8ToString=UTF8ToString,Module.stringToUTF8Array=stringToUTF8Array,Module.stringToUTF8=stringToUTF8,Module.lengthBytesUTF8=lengthBytesUTF8;var UTF16Decoder="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;Module.stackTrace=stackTrace;var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64,STATIC_BASE,STATICTOP,staticSealed,STACK_BASE,STACKTOP,STACK_MAX,DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0,staticSealed=!1;var TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||16777216;if(TOTAL_MEMORY<TOTAL_STACK&&Module.printErr("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+TOTAL_ME
r[t+4>>2]=y;r[t+8>>2]=k+y;r[t+12>>2]=$}r[e+16>>2]=0;k=$+y|0;r[l>>2]=k+b;r[c>>2]=0;r[h>>2]=0;f=k;m=n;return f|0}while(0);r[c>>2]=0;r[_>>2]=0;_=Ua(d+1|0,79,p+-1|0)|0;if(!_)O=g+(r[u>>2]|0)|0;else O=_;_=O;r[l>>2]=_-g;f=d-_|0;m=n;return f|0}function He(e,t){e=e|0;t=t|0;var n=0,a=0,s=0,l=0,c=0,d=0,u=0,p=0,f=0,m=0,h=0,g=0,_=0,v=0,y=0,b=0,w=0,k=0,M=0,S=0,A=0,C=0,T=0,E=0,$=0,I=0,x=0,D=0,R=0;n=r[t>>2]|0;a=r[t+8>>2]|0;s=r[t+12>>2]|0;t=i[n+4>>0]|0;l=i[n+5>>0]|0;c=l&1;d=l&2;u=l&4;l=Lr(o[n+13>>0]|0|0,0,8)|0;p=Lr(l|(o[n+12>>0]|0)|0,P|0,8)|0;l=Lr(p|(o[n+11>>0]|0)|0,P|0,8)|0;p=Lr(l|(o[n+10>>0]|0)|0,P|0,8)|0;l=Lr(p|(o[n+9>>0]|0)|0,P|0,8)|0;p=Lr(l|(o[n+8>>0]|0)|0,P|0,8)|0;l=Lr(p|(o[n+7>>0]|0)|0,P|0,8)|0;p=P;f=l|(o[n+6>>0]|0);l=(o[n+15>>0]|0)<<8|(o[n+14>>0]|0)|(o[n+16>>0]|0)<<16|(o[n+17>>0]|0)<<24;m=(o[n+19>>0]|0)<<8|(o[n+18>>0]|0)|(o[n+20>>0]|0)<<16|(o[n+21>>0]|0)<<24;h=i[n+26>>0]|0;g=h&255;if(!e){_=-1;return _|0}v=r[e>>2]|0;if(!v){_=-1;return _|0}y=e+36|0;b=r[y>>2]|0;w=e+12|0;k=r[w>>2]|0;if(k|0){M=e+8|0;S=(r[M>>2]|0)-k|0;r[M>>2]=S;if(S|0)Wr(v|0,v+k|0,S|0)|0;r[w>>2]=0}if(b|0){w=e+28|0;S=r[w>>2]|0;k=S-b|0;if(!k)A=S;else{S=r[e+16>>2]|0;Wr(S|0,S+(b<<2)|0,k<<2|0)|0;k=r[e+20>>2]|0;Wr(k|0,k+(b<<3)|0,(r[w>>2]|0)-b<<3|0)|0;A=r[w>>2]|0}r[w>>2]=A-b;A=e+32|0;r[A>>2]=(r[A>>2]|0)-b;r[y>>2]=0}if(t<<24>>24?1:(l|0)!=(r[e+336>>2]|0)){_=-1;return _|0}if(Oe(e,g+1|0)|0){_=-1;return _|0}l=e+340|0;t=r[l>>2]|0;if((m|0)!=(t|0)){y=e+32|0;b=r[y>>2]|0;A=e+28|0;w=r[A>>2]|0;if((b|0)<(w|0)){k=r[e+16>>2]|0;S=e+8|0;v=b;M=r[S>>2]|0;do{M=M-(r[k+(v<<2)>>2]&255)|0;v=v+1|0}while((v|0)<(w|0));r[S>>2]=M}r[A>>2]=b;if((t|0)!=-1){t=r[e+16>>2]|0;M=b+1|0;r[A>>2]=M;r[t+(b<<2)>>2]=1024;r[y>>2]=M}}e:do if(c<<24>>24){M=r[e+28>>2]|0;if((M|0)>=1?(r[(r[e+16>>2]|0)+(M+-1<<2)>>2]|0)!=1024:0){C=a;T=s;E=d;$=0;break}if(!(h<<24>>24)){C=a;T=s;E=0;$=0}else{M=a;y=s;b=0;while(1){t=i[n+(b+27)>>0]|0;A=t&255;S=M+A|0;w=y-A|0;A=t<<24>>24==-1;t=((A^1)&1)+b|0;if(!A){C=S;T=w;E=0;$=t;break e}A=t+1|0;if((A|0)<(g|0)){M=S;y=w;b=A}else{C=S;T=w;E=0;$=A;break}}}}else{C=a;T=s;E=d;$=0}while(0);if(T|0){d=e+4|0;s=r[d>>2]|0;a=e+8|0;h=r[a>>2]|0;do if((s-T|0)>(h|0)){I=r[e>>2]|0;x=h}else{if((s|0)>(2147483647-T|0)){c=r[e>>2]|0;if(c|0)Cr(c);c=r[e+16>>2]|0;if(c|0)Cr(c);c=r[e+20>>2]|0;if(c|0)Cr(c);Or(e|0,0,360)|0;_=-1;return _|0}c=s+T|0;b=(c|0)<2147482623?c+1024|0:c;c=Er(r[e>>2]|0,b)|0;if(c|0){r[d>>2]=b;r[e>>2]=c;I=c;x=r[a>>2]|0;break}c=r[e>>2]|0;if(c|0)Cr(c);c=r[e+16>>2]|0;if(c|0)Cr(c);c=r[e+20>>2]|0;if(c|0)Cr(c);Or(e|0,0,360)|0;_=-1;return _|0}while(0);zr(I+x|0,C|0,T|0)|0;r[a>>2]=(r[a>>2]|0)+T}T=e+16|0;a=e+28|0;C=e+20|0;x=e+32|0;I=E;E=-1;d=$;e:while(1){$=I;s=d;while(1){if((s|0)>=(g|0))break e;h=i[n+(s+27)>>0]|0;c=h&255;D=r[a>>2]|0;b=(r[T>>2]|0)+(D<<2)|0;r[b>>2]=c;y=(r[C>>2]|0)+(D<<3)|0;r[y>>2]=-1;r[y+4>>2]=-1;if($|0)r[b>>2]=c|256;R=D+1|0;r[a>>2]=R;s=s+1|0;if(h<<24>>24!=-1)break;else $=0}r[x>>2]=R;I=0;E=D;d=s}if((E|0)!=-1){d=(r[C>>2]|0)+(E<<3)|0;r[d>>2]=f;r[d+4>>2]=p}if(u<<24>>24?(r[e+328>>2]=1,e=r[a>>2]|0,(e|0)>0):0){a=(r[T>>2]|0)+(e+-1<<2)|0;r[a>>2]=r[a>>2]|512}r[l>>2]=m+1;_=0;return _|0}function je(e){e=e|0;var t=0,n=0;if((r[e+4>>2]|0)<=-1){t=-1;return t|0}n=e+8|0;r[n>>2]=0;r[n+4>>2]=0;r[n+8>>2]=0;r[n+12>>2]=0;r[n+16>>2]=0;t=0;return t|0}function Ve(e){e=e|0;var t=0,n=0;if(!e){t=-1;return t|0}if(!(r[e>>2]|0)){t=-1;return t|0}r[e+8>>2]=0;r[e+12>>2]=0;r[e+28>>2]=0;r[e+32>>2]=0;r[e+36>>2]=0;r[e+324>>2]=0;r[e+328>>2]=0;r[e+332>>2]=0;r[e+340>>2]=-1;n=e+344|0;r[n>>2]=0;r[n+4>>2]=0;r[n+8>>2]=0;r[n+12>>2]=0;t=0;return t|0}function qe(e,t){e=e|0;t=t|0;var n=0,i=0,a=0,o=0,s=0,l=0,c=0,d=0,u=0,p=0,f=0,m=0,h=0,g=0,_=0,v=0,y=0,b=0,w=0,k=0,M=0,S=0,A=0,C=0;if(!e){n=0;return n|0}i=r[e>>2]|0;if(!i){n=0;return n|0}a=e+36|0;o=r[a>>2]|0;if((r[e+32>>2]|0)<=(o|0)){n=0;return n|0}s=r[e+16>>2]|0;l=r[s+(o<<2)>>2]|0;if(l&1024|0){r[a>>2]=o+1;c=e+344|0;d=c;u=Rr(r[d>>2]|0,r[d+4>>2]|0,1,0)|0;d=c;r[d>>2]=u;r[d+4>>2]=P;n=-1;return n|0}d=(t|0)==0;u=l&255;c=l&512;p=l&256;if((u|0)==255){l=255;f=c;m=o;while(1){h=m+1|0;g=r[s+(h<<2)>>2]|0;_=g&255;v=(g&512|0)==0?f:512;g=_+l|0;if((_|0)==255){l=g;f=v;m=h}else{y=g;b=v;w=h;break}}}else{y=u;b=c;w=o}if(d){d=e+12|0;o
r[a>>2]=0;p=r[a>>2]|0;m=i;return p|0}return 0}function Mt(e,t){e=e|0;t=t|0;var n=0,i=0,a=0,o=0,s=0,l=0;n=m;m=m+16|0;i=n+12|0;a=n+8|0;o=n+4|0;s=n;r[a>>2]=e;r[o>>2]=t;if(!(r[a>>2]|0)){r[i>>2]=-2;l=r[i>>2]|0;m=n;return l|0}r[s>>2]=bt(r[a>>2]|0,r[o>>2]|0)|0;if(!(r[s>>2]|0)){r[i>>2]=-20;l=r[i>>2]|0;m=n;return l|0}t=(r[s>>2]|0)+376|0;if((r[t>>2]|0)==0&(r[t+4>>2]|0)==0){t=(r[s>>2]|0)+376|0;r[t>>2]=1;r[t+4>>2]=0;t=(r[s>>2]|0)+384|0;r[t>>2]=0;r[t+4>>2]=0}t=r[a>>2]|0;e=r[o>>2]|0;if(!(r[(r[s>>2]|0)+408>>2]|0)){r[i>>2]=At(t,e,19,0,1)|0;l=r[i>>2]|0;m=n;return l|0}s=(Ct(t,e)|0)==12;e=r[a>>2]|0;t=r[o>>2]|0;if(s){r[i>>2]=At(e,t,20,0,1)|0;l=r[i>>2]|0;m=n;return l|0}s=(Ct(e,t)|0)==14;t=r[a>>2]|0;a=r[o>>2]|0;if(s){r[i>>2]=At(t,a,21,0,1)|0;l=r[i>>2]|0;m=n;return l|0}else{r[i>>2]=At(t,a,22,0,1)|0;l=r[i>>2]|0;m=n;return l|0}return 0}function St(e,t,n,i,a){e=e|0;t=t|0;n=n|0;i=i|0;a=a|0;var o=0,s=0,l=0,c=0,d=0,u=0,p=0,f=0,h=0,g=0,_=0,v=0,y=0,b=0;o=m;m=m+32|0;s=o+8|0;l=o+28|0;c=o+24|0;d=o;u=o+16|0;r[l>>2]=e;r[c>>2]=t;t=d;r[t>>2]=n;r[t+4>>2]=i;r[o+20>>2]=a;r[u>>2]=bt(r[l>>2]|0,r[c>>2]|0)|0;if(!(r[u>>2]|0)){c=s;r[c>>2]=-1;r[c+4>>2]=-1;p=s;f=p;h=r[f>>2]|0;g=p+4|0;_=g;v=r[_>>2]|0;P=v;m=o;return h|0}c=d;l=r[c+4>>2]|0;a=(r[u>>2]|0)+392|0;i=r[a+4>>2]|0;if((l|0)<(i|0)|((l|0)==(i|0)?(r[c>>2]|0)>>>0<=(r[a>>2]|0)>>>0:0)){y=0;b=0}else{a=d;c=(r[u>>2]|0)+392|0;i=Dr(r[a>>2]|0,r[a+4>>2]|0,r[c>>2]|0,r[c+4>>2]|0)|0;y=i;b=P}i=d;r[i>>2]=y;r[i+4>>2]=b;b=(r[u>>2]|0)+384|0;i=d;d=Vr(r[b>>2]|0,r[b+4>>2]|0,r[i>>2]|0,r[i+4>>2]|0)|0;i=(r[u>>2]|0)+376|0;u=Br(d|0,P|0,r[i>>2]|0,r[i+4>>2]|0)|0;i=s;r[i>>2]=u;r[i+4>>2]=P;p=s;f=p;h=r[f>>2]|0;g=p+4|0;_=g;v=r[_>>2]|0;P=v;m=o;return h|0}function At(e,t,n,i,a){e=e|0;t=t|0;n=n|0;i=i|0;a=a|0;var o=0,s=0,l=0,c=0,d=0,u=0,p=0,f=0,h=0;o=m;m=m+32|0;s=o+24|0;l=o+20|0;c=o+16|0;d=o+12|0;u=o+8|0;p=o+4|0;f=o;r[l>>2]=e;r[c>>2]=t;r[d>>2]=n;r[u>>2]=i;r[p>>2]=a;if(!(r[l>>2]|0)){r[s>>2]=-2;h=r[s>>2]|0;m=o;return h|0}a=r[l>>2]|0;if((r[c>>2]|0)==-1){if(r[a+96>>2]|0?r[(r[l>>2]|0)+92>>2]|0:0)Cr(r[(r[l>>2]|0)+92>>2]|0);r[(r[l>>2]|0)+88>>2]=r[d>>2];r[(r[l>>2]|0)+92>>2]=r[u>>2];r[(r[l>>2]|0)+96>>2]=r[p>>2]}else{r[f>>2]=bt(a,r[c>>2]|0)|0;if(!(r[f>>2]|0)){r[s>>2]=-20;h=r[s>>2]|0;m=o;return h|0}if(r[(r[f>>2]|0)+456>>2]|0?r[(r[f>>2]|0)+452>>2]|0:0)Cr(r[(r[f>>2]|0)+452>>2]|0);r[(r[f>>2]|0)+448>>2]=r[d>>2];r[(r[f>>2]|0)+452>>2]=r[u>>2];r[(r[f>>2]|0)+456>>2]=r[p>>2]}r[s>>2]=0;h=r[s>>2]|0;m=o;return h|0}function Ct(e,t){e=e|0;t=t|0;var n=0,i=0,a=0,o=0,s=0,l=0;n=m;m=m+16|0;i=n+12|0;a=n+8|0;o=n+4|0;s=n;r[a>>2]=e;r[o>>2]=t;if(!(r[a>>2]|0)){r[i>>2]=-2;l=r[i>>2]|0;m=n;return l|0}r[s>>2]=bt(r[a>>2]|0,r[o>>2]|0)|0;if(!(r[s>>2]|0)){r[i>>2]=-20;l=r[i>>2]|0;m=n;return l|0}else{r[i>>2]=r[(r[s>>2]|0)+360>>2];l=r[i>>2]|0;m=n;return l|0}return 0}function Tt(e,t,n,i,o){e=e|0;t=t|0;n=n|0;i=i|0;o=o|0;var l=0,c=0,d=0,u=0,p=0,f=0,h=0,g=0,_=0,v=0,y=0,b=0,w=0,k=0,M=0,S=0,A=0,C=0;l=m;m=m+80|0;c=l+40|0;d=l+64|0;u=l+60|0;p=l+32|0;f=l+52|0;h=l+24|0;g=l+16|0;_=l+48|0;v=l+68|0;y=l+8|0;b=l;r[d>>2]=e;r[u>>2]=t;t=p;r[t>>2]=n;r[t+4>>2]=i;r[l+56>>2]=o;r[f>>2]=bt(r[d>>2]|0,r[u>>2]|0)|0;if(!(r[f>>2]|0)){u=c;r[u>>2]=-1;r[u+4>>2]=-1;w=c;k=w;M=r[k>>2]|0;S=w+4|0;A=S;C=r[A>>2]|0;P=C;m=l;return M|0}else{u=p;d=Pr(r[u>>2]|0,r[u+4>>2]|0,r[(r[f>>2]|0)+408>>2]|0)|0;u=h;r[u>>2]=d;r[u+4>>2]=P;u=p;p=r[u>>2]|0;d=r[u+4>>2]|0;u=h;o=Lr(r[u>>2]|0,r[u+4>>2]|0,r[(r[f>>2]|0)+408>>2]|0)|0;u=Dr(p|0,d|0,o|0,P|0)|0;o=g;r[o>>2]=u;r[o+4>>2]=P;o=h;h=g;u=Rr(r[o>>2]|0,r[o+4>>2]|0,r[h>>2]|0,r[h+4>>2]|0)|0;h=Pr(u|0,P|0,9)|0;r[_>>2]=h;h=g;g=Pr(r[h>>2]|0,r[h+4>>2]|0,9)|0;a[v>>1]=g;g=Dr(r[_>>2]|0,0,s[v>>1]|0|0,0)|0;v=y;r[v>>2]=g;r[v+4>>2]=P;v=y;y=(r[f>>2]|0)+384|0;g=Vr(r[v>>2]|0,r[v+4>>2]|0,r[y>>2]|0,r[y+4>>2]|0)|0;y=(r[f>>2]|0)+376|0;f=Br(g|0,P|0,r[y>>2]|0,r[y+4>>2]|0)|0;y=b;r[y>>2]=f;r[y+4>>2]=P;y=b;b=r[y+4>>2]|0;f=c;r[f>>2]=r[y>>2];r[f+4>>2]=b;w=c;k=w;M=r[k>>2]|0;S=w+4|0;A=S;C=r[A>>2]|0;P=C;m=l;return M|0}return 0}function Et(e,t,n,i,a){e=e|0;t=t|0;n=n|0;i=i|0;a=a|0;var o=0,s=0,l=0,c=0,d=0,u=0,p=0,f=0,h=0,g=0,_=0,v=0,y=0,b=0;o=m;m=m+48|0;s=o+24|0;l=o+44|0;c=o+40|0;d=o+16|0;u=o+32|0;p=o+8|0;f=o;r[l>>2]=e;r[c>>2]=t;t=d;r[t>>2]=n;r[
break}case 11:{if((r[(r[d>>2]|0)+4>>2]|0)>9?(Ta(r[r[d>>2]>>2]|0,2744,8)|0)==0:0)r[u>>2]=9;break}case 8:{if((r[(r[d>>2]|0)+4>>2]|0)>4?((o[r[r[d>>2]>>2]>>0]|0)&7|0)==4:0){r[p>>2]=((o[(r[r[d>>2]>>2]|0)+1>>0]|0)<<16)+((o[(r[r[d>>2]>>2]|0)+2>>0]|0)<<8)+(o[(r[r[d>>2]>>2]|0)+3>>0]|0);r[u>>2]=4}break}case 13:{if((r[(r[d>>2]|0)+4>>2]|0)>8?(Ta(r[r[d>>2]>>2]|0,2753,8)|0)==0:0)r[u>>2]=8;break}case 14:{if((r[(r[d>>2]|0)+4>>2]|0)>7?(Ta(r[r[d>>2]>>2]|0,2762,7)|0)==0:0)r[u>>2]=7;break}default:{}}if((r[p>>2]|0)==-1)r[p>>2]=(r[(r[d>>2]|0)+4>>2]|0)-(r[u>>2]|0);if((r[u>>2]|0)<0){m=a;return 0}Vn(r[s>>2]|0,r[c>>2]|0,(r[r[d>>2]>>2]|0)+(r[u>>2]|0)|0,r[p>>2]|0)|0;m=a;return 0}function En(e,t,n,i,a){e=e|0;t=t|0;n=n|0;i=i|0;a=a|0;var o=0,s=0,l=0,c=0,d=0,u=0,p=0,f=0,h=0,g=0;o=m;m=m+32|0;s=o+28|0;l=o+24|0;c=o+20|0;d=o+16|0;u=o+12|0;p=o+8|0;f=o+4|0;h=o;r[l>>2]=e;r[c>>2]=t;r[d>>2]=n;r[u>>2]=i;r[p>>2]=a;r[h>>2]=r[c>>2];a=Ar(72)|0;r[f>>2]=a;if(!a){r[s>>2]=0;g=r[s>>2]|0;m=o;return g|0}a=r[f>>2]|0;i=r[c>>2]|0;c=a+56|0;do{r[a>>2]=r[i>>2];a=a+4|0;i=i+4|0}while((a|0)<(c|0));i=Ar(r[(r[h>>2]|0)+4>>2]|0)|0;r[r[f>>2]>>2]=i;a=r[f>>2]|0;if(!i){Cr(a);r[s>>2]=0;g=r[s>>2]|0;m=o;return g|0}else{zr(r[a>>2]|0,r[r[h>>2]>>2]|0,r[(r[h>>2]|0)+4>>2]|0)|0;r[(r[f>>2]|0)+56>>2]=r[u>>2];r[(r[f>>2]|0)+68>>2]=r[d>>2];r[(r[f>>2]|0)+60>>2]=r[p>>2];r[(r[f>>2]|0)+64>>2]=r[l>>2];r[s>>2]=r[f>>2];g=r[s>>2]|0;m=o;return g|0}return 0}function $n(e,t){e=e|0;t=t|0;var n=0,i=0,a=0,o=0,s=0,l=0;n=m;m=m+16|0;i=n+12|0;a=n+8|0;o=n+4|0;s=n;r[a>>2]=e;r[o>>2]=t;if(!(r[a>>2]|0)){r[i>>2]=-1;l=r[i>>2]|0;m=n;return l|0}r[s>>2]=Ar(12)|0;if(!(r[s>>2]|0)){r[i>>2]=-1;l=r[i>>2]|0;m=n;return l|0}else{r[(r[s>>2]|0)+8>>2]=r[o>>2];r[r[s>>2]>>2]=r[(r[a>>2]|0)+4>>2];r[(r[s>>2]|0)+4>>2]=r[(r[(r[a>>2]|0)+4>>2]|0)+4>>2];r[r[(r[s>>2]|0)+4>>2]>>2]=r[s>>2];r[(r[r[s>>2]>>2]|0)+4>>2]=r[s>>2];r[i>>2]=0;l=r[i>>2]|0;m=n;return l|0}return 0}function In(e){e=e|0;var t=0,n=0;t=m;m=m+16|0;n=t;r[n>>2]=e;m=t;return(r[r[r[n>>2]>>2]>>2]|0)==(r[(r[n>>2]|0)+4>>2]|0)|0}function xn(e){e=e|0;var t=0,n=0,i=0,a=0,o=0,s=0,l=0,c=0;t=m;m=m+16|0;n=t+12|0;i=t+8|0;a=t+4|0;o=t;r[i>>2]=e;r[a>>2]=r[i>>2];i=(r[a>>2]|0)+32|0;do if(((r[i>>2]|0)==-1?(r[i+4>>2]|0)==-1:0)?(e=(r[(r[a>>2]|0)+56>>2]|0)+488|0,(r[e>>2]|0)!=-1?1:(r[e+4>>2]|0)!=-1):0){r[o>>2]=Ct(r[(r[a>>2]|0)+64>>2]|0,r[(r[a>>2]|0)+68>>2]|0)|0;if(!((r[o>>2]|0)<0|(r[o>>2]|0)>=15)){e=(r[(r[a>>2]|0)+56>>2]|0)+488|0;s=jn(r[o>>2]|0,r[e>>2]|0,r[e+4>>2]|0,r[(r[a>>2]|0)+56>>2]|0,r[a>>2]|0,r[(r[(r[a>>2]|0)+56>>2]|0)+508>>2]|0)|0;e=(r[a>>2]|0)+32|0;r[e>>2]=s;r[e+4>>2]=P;e=(r[a>>2]|0)+32|0;s=r[e+4>>2]|0;l=(r[(r[a>>2]|0)+56>>2]|0)+488|0;r[l>>2]=r[e>>2];r[l+4>>2]=s;r[(r[(r[a>>2]|0)+56>>2]|0)+508>>2]=r[a>>2];break}r[n>>2]=0;c=r[n>>2]|0;m=t;return c|0}while(0);r[n>>2]=1;c=r[n>>2]|0;m=t;return c|0}function Pn(e,t){e=e|0;t=t|0;var n=0,i=0,a=0,o=0,s=0;n=m;m=m+16|0;i=n+8|0;a=n+4|0;o=n;r[i>>2]=e;r[a>>2]=t;r[o>>2]=r[(r[(r[i>>2]|0)+4>>2]|0)+4>>2];while(1){if((r[o>>2]|0)==(r[r[i>>2]>>2]|0)){s=5;break}if(!(co[r[a>>2]&15](r[(r[o>>2]|0)+8>>2]|0)|0)){s=5;break}r[o>>2]=r[(r[o>>2]|0)+4>>2]}if((s|0)==5){m=n;return}}function Dn(e){e=e|0;var t=0,n=0,i=0,a=0,o=0,s=0,l=0,c=0,d=0;t=m;m=m+32|0;n=t+28|0;i=t+24|0;a=t+20|0;o=t+8|0;s=t;l=t+16|0;r[i>>2]=e;r[a>>2]=r[i>>2];i=(r[a>>2]|0)+32|0;if((r[i>>2]|0)==-1?(r[i+4>>2]|0)==-1:0){r[n>>2]=0;c=r[n>>2]|0;m=t;return c|0}i=(r[(r[a>>2]|0)+60>>2]|0)+424|0;e=r[i+4>>2]|0;d=o;r[d>>2]=r[i>>2];r[d+4>>2]=e;e=(r[(r[a>>2]|0)+60>>2]|0)+416|0;d=r[e+4>>2]|0;i=s;r[i>>2]=r[e>>2];r[i+4>>2]=d;d=(r[a>>2]|0)+32|0;i=r[d+4>>2]|0;e=(r[(r[a>>2]|0)+60>>2]|0)+424|0;r[e>>2]=r[d>>2];r[e+4>>2]=i;i=(r[a>>2]|0)+32|0;e=Cn(r[(r[a>>2]|0)+64>>2]|0,r[(r[a>>2]|0)+68>>2]|0,r[i>>2]|0,r[i+4>>2]|0)|0;i=(r[(r[a>>2]|0)+60>>2]|0)+416|0;r[i>>2]=e;r[i+4>>2]=P;i=r[a>>2]|0;if(r[(r[(r[a>>2]|0)+56>>2]|0)+468>>2]|0){e=uo[r[(r[i+56>>2]|0)+468>>2]&15](r[(r[a>>2]|0)+64>>2]|0,r[a>>2]|0,r[(r[a>>2]|0)+68>>2]|0,r[(r[(r[a>>2]|0)+56>>2]|0)+472>>2]|0)|0;r[l>>2]=e;if((e|0)<0?(r[(r[(r[a>>2]|0)+64>>2]|0)+76>>2]=r[l>>2],(r[l>>2]|0)==-1):0){r[n>>2]=-1;c=r[n>>2]|0;m=t;return c|0}}else if((r[(r[i+60>>2]|0)+396>>2]|0?(i=uo[r[(r[(r[a>>2]|0)+60>>2]|0)+396>>2]
l=r[i>>2]|0;m=n;return l|0}return 0}function Ei(e,t){e=e|0;t=t|0;var n=0,i=0,a=0,o=0,s=0,l=0,c=0;n=m;m=m+32|0;i=n+16|0;a=n+12|0;o=n+8|0;s=n+4|0;l=n;r[a>>2]=e;r[o>>2]=t;r[s>>2]=-1;r[l>>2]=-1;if((r[a>>2]|0)==0|(r[o>>2]|0)==0){r[i>>2]=0;c=r[i>>2]|0;m=n;return c|0}else{r[a>>2]=xi(r[a>>2]|0,s)|0;r[a>>2]=Ti(r[a>>2]|0,l)|0;t=r[l>>2]|0;l=Rr(r[s>>2]|0,0,0,t|0)|0;t=r[o>>2]|0;r[t>>2]=l;r[t+4>>2]=P;r[i>>2]=r[a>>2];c=r[i>>2]|0;m=n;return c|0}return 0}function $i(e,t){e=e|0;t=t|0;var n=0,i=0,a=0,s=0,l=0,c=0,d=0,u=0;n=m;m=m+32|0;i=n+16|0;a=n+12|0;s=n+8|0;l=n;r[i>>2]=e;r[a>>2]=t;r[s>>2]=0;t=l;r[t>>2]=0;r[t+4>>2]=0;t=r[a>>2]|0;r[t>>2]=0;r[t+4>>2]=0;do{t=l;r[t>>2]=o[r[i>>2]>>0];r[t+4>>2]=0;t=Lr(r[l>>2]&127|0,0,r[s>>2]|0)|0;e=r[a>>2]|0;c=e;d=r[c+4>>2]|P;u=e;r[u>>2]=r[c>>2]|t;r[u+4>>2]=d;r[s>>2]=(r[s>>2]|0)+7;r[i>>2]=(r[i>>2]|0)+1}while(0?1:(r[l>>2]&128|0)!=128);m=n;return r[i>>2]|0}function Ii(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,a=0,o=0,s=0,l=0,c=0;i=m;m=m+32|0;a=i+16|0;o=i+12|0;s=i+8|0;l=i+4|0;c=i;r[o>>2]=e;r[s>>2]=t;r[l>>2]=n;r[c>>2]=0;do if(r[o>>2]|0){if(!(r[s>>2]|0)){r[a>>2]=-1;break}r[c>>2]=wi(r[o>>2]|0,r[l>>2]|0)|0;if(!(r[c>>2]|0)){r[a>>2]=-4;break}if(r[(r[c>>2]|0)+8>>2]|0){r[a>>2]=-1;break}else{r[(r[c>>2]|0)+8>>2]=r[s>>2];r[a>>2]=1;break}}else r[a>>2]=-1;while(0);m=i;return r[a>>2]|0}function xi(e,t){e=e|0;t=t|0;var n=0,i=0,a=0,s=0,l=0;n=m;m=m+16|0;i=n+8|0;a=n+4|0;s=n;r[a>>2]=e;r[s>>2]=t;if((r[a>>2]|0)==0|(r[s>>2]|0)==0){r[i>>2]=0;l=r[i>>2]|0;m=n;return l|0}else{r[r[s>>2]>>2]=o[r[a>>2]>>0]|0|(o[(r[a>>2]|0)+1>>0]|0)<<8|(o[(r[a>>2]|0)+2>>0]|0)<<16|(o[(r[a>>2]|0)+3>>0]|0)<<24;r[i>>2]=(r[a>>2]|0)+4;l=r[i>>2]|0;m=n;return l|0}return 0}function Pi(e,t){e=e|0;t=t|0;var n=0,i=0,s=0,l=0,c=0;n=m;m=m+16|0;i=n+8|0;s=n+4|0;l=n;r[s>>2]=e;r[l>>2]=t;if((r[s>>2]|0)==0|(r[l>>2]|0)==0){r[i>>2]=0;c=r[i>>2]|0;m=n;return c|0}else{a[r[l>>2]>>1]=o[r[s>>2]>>0]|0|(o[(r[s>>2]|0)+1>>0]|0)<<8;r[i>>2]=(r[s>>2]|0)+2;c=r[i>>2]|0;m=n;return c|0}return 0}function Di(e,t){e=e|0;t=t|0;var n=0,i=0,o=0,s=0,l=0,c=0;n=m;m=m+16|0;i=n+12|0;o=n+8|0;s=n+4|0;l=n;r[o>>2]=e;r[s>>2]=t;r[l>>2]=-1;t=Ri(r[o>>2]|0,r[s>>2]|0)|0;r[l>>2]=t;if((t|0)<0){r[i>>2]=r[l>>2];c=r[i>>2]|0;m=n;return c|0}else{a[r[s>>2]>>1]=a[r[o>>2]>>1]|0;r[i>>2]=0;c=r[i>>2]|0;m=n;return c|0}return 0}function Ri(e,t){e=e|0;t=t|0;var n=0,i=0,o=0,s=0;n=m;m=m+16|0;i=n+8|0;o=n+4|0;s=n;r[o>>2]=e;r[s>>2]=t;do if(r[o>>2]|0){if(!(a[(r[o>>2]|0)+118>>1]|0)){r[i>>2]=-5;break}if(!(r[s>>2]|0)){r[i>>2]=-16;break}else{r[i>>2]=0;break}}else r[i>>2]=-2;while(0);m=n;return r[i>>2]|0}function Oi(e,t){e=e|0;t=t|0;var n=0,i=0,o=0,s=0,l=0,c=0;n=m;m=m+16|0;i=n+12|0;o=n+8|0;s=n+4|0;l=n;r[o>>2]=e;r[s>>2]=t;r[l>>2]=-1;t=Ri(r[o>>2]|0,r[s>>2]|0)|0;r[l>>2]=t;if((t|0)<0){r[i>>2]=r[l>>2];c=r[i>>2]|0;m=n;return c|0}else{a[r[s>>2]>>1]=a[(r[o>>2]|0)+2>>1]|0;r[i>>2]=0;c=r[i>>2]|0;m=n;return c|0}return 0}function Ni(e,t){e=e|0;t=t|0;var n=0,i=0,a=0,o=0,l=0,c=0,d=0;n=m;m=m+32|0;i=n+16|0;a=n+12|0;o=n+8|0;l=n+4|0;c=n;r[a>>2]=e;r[o>>2]=t;r[l>>2]=-1;r[c>>2]=0;t=Ri(r[a>>2]|0,r[o>>2]|0)|0;r[l>>2]=t;if((t|0)<0){r[i>>2]=r[l>>2];d=r[i>>2]|0;m=n;return d|0}r[c>>2]=(s[r[a>>2]>>1]|0)<<16|(s[(r[a>>2]|0)+2>>1]|0);if((r[c>>2]|0)>>>0<196610){r[i>>2]=-1;d=r[i>>2]|0;m=n;return d|0}else{c=(r[a>>2]|0)+96|0;a=r[c+4>>2]|0;l=r[o>>2]|0;r[l>>2]=r[c>>2];r[l+4>>2]=a;r[i>>2]=0;d=r[i>>2]|0;m=n;return d|0}return 0}function Li(e,t,n,i,o,l){e=e|0;t=t|0;n=n|0;i=i|0;o=o|0;l=l|0;var c=0,d=0,u=0,p=0,f=0,h=0,g=0,_=0,v=0,y=0,b=0,w=0,k=0,M=0;c=m;m=m+64|0;d=c+48|0;u=c+44|0;p=c+40|0;f=c+36|0;h=c+8|0;g=c+32|0;_=c+28|0;v=c+24|0;y=c+20|0;b=c;w=c+16|0;r[u>>2]=e;r[p>>2]=t;r[f>>2]=n;n=h;r[n>>2]=i;r[n+4>>2]=o;r[g>>2]=l;r[_>>2]=0;r[v>>2]=-1;r[y>>2]=0;l=b;r[l>>2]=-1;r[l+4>>2]=2147483647;l=Ri(r[u>>2]|0,r[g>>2]|0)|0;r[v>>2]=l;if((l|0)<0){r[d>>2]=r[v>>2];k=r[d>>2]|0;m=c;return k|0}if(!(a[(r[u>>2]|0)+116>>1]|0)){r[d>>2]=-19;k=r[d>>2]|0;m=c;return k|0}if((r[p>>2]|0)==0|(r[f>>2]|0)==0){r[d>>2]=-1;k=r[d>>2]|0;m=c;return k|0}do if((s[r[u>>2]>>1]|0)==3){v=(r[u>>2]|0)+80|0;l=r[v+4>>2]|0;o=h;n=r[o+4>>2]|0;if(!((l|0)<(n|0)|((l|0)==(n|0)?(r[v>>2]|0)>>>0<(r[o>>2]|0)>>>0:0))?(o=h,v=r[o+4>>2]|0,n=(r[u>>2]|0)+64|0,l=r
N=D+1|0;i[D>>0]=o[3643+O>>0]|M;R=(R-+(O|0))*16;if((N-f|0)==1?!(T&(I&R==0)):0){i[N>>0]=46;L=D+2|0}else L=N;if(!(R!=0))break;else D=L}D=L-f|0;I=g-C|0;T=(a|0)!=0&(D+-2|0)<(a|0)?a+2|0:D;M=I+A+T|0;Ba(e,32,n,M,s);Pa(e,S,A);Ba(e,48,n,M,s^65536);Pa(e,p,D);Ba(e,48,T-D|0,0,0);Pa(e,C,I);Ba(e,32,n,M,s^8192);F=M;break}M=(a|0)<0?6:a;if(w){I=(r[u>>2]|0)+-28|0;r[u>>2]=I;U=I;B=t*268435456}else{U=r[u>>2]|0;B=t}I=(U|0)<0?d:d+288|0;R=B;D=I;do{T=~~R>>>0;r[D>>2]=T;D=D+4|0;R=(R-+(T>>>0))*1e9}while(R!=0);if((U|0)>0){w=U;C=I;A=D;while(1){S=(w|0)<29?w:29;T=A+-4|0;if(T>>>0>=C>>>0){N=0;O=T;do{T=Lr(r[O>>2]|0,0,S|0)|0;H=Rr(T|0,P|0,N|0,0)|0;T=P;j=Gr(H|0,T|0,1e9,0)|0;r[O>>2]=j;N=Hr(H|0,T|0,1e9,0)|0;O=O+-4|0}while(O>>>0>=C>>>0);if(N){O=C+-4|0;r[O>>2]=N;V=O}else V=C}else V=C;O=A;while(1){if(O>>>0<=V>>>0)break;T=O+-4|0;if(!(r[T>>2]|0))O=T;else break}N=(r[u>>2]|0)-S|0;r[u>>2]=N;if((N|0)>0){w=N;C=V;A=O}else{q=N;z=V;W=O;break}}}else{q=U;z=I;W=D}if((q|0)<0){A=((M+25|0)/9|0)+1|0;C=(k|0)==102;w=q;N=z;T=W;while(1){H=0-w|0;j=(H|0)<9?H:9;if(N>>>0<T>>>0){H=(1<<j)+-1|0;K=1e9>>>j;Y=0;X=N;do{J=r[X>>2]|0;r[X>>2]=(J>>>j)+Y;Y=G(J&H,K)|0;X=X+4|0}while(X>>>0<T>>>0);X=(r[N>>2]|0)==0?N+4|0:N;if(!Y){Z=X;Q=T}else{r[T>>2]=Y;Z=X;Q=T+4|0}}else{Z=(r[N>>2]|0)==0?N+4|0:N;Q=T}X=C?I:Z;K=(Q-X>>2|0)>(A|0)?X+(A<<2)|0:Q;w=(r[u>>2]|0)+j|0;r[u>>2]=w;if((w|0)>=0){ee=Z;te=K;break}else{N=Z;T=K}}}else{ee=z;te=W}T=I;if(ee>>>0<te>>>0){N=(T-ee>>2)*9|0;w=r[ee>>2]|0;if(w>>>0<10)ne=N;else{A=N;N=10;while(1){N=N*10|0;C=A+1|0;if(w>>>0<N>>>0){ne=C;break}else A=C}}}else ne=0;A=(k|0)==103;N=(M|0)!=0;w=M-((k|0)!=102?ne:0)+((N&A)<<31>>31)|0;if((w|0)<(((te-T>>2)*9|0)+-9|0)){C=w+9216|0;w=I+4+(((C|0)/9|0)+-1024<<2)|0;D=((C|0)%9|0)+1|0;if((D|0)<9){C=10;K=D;while(1){D=C*10|0;K=K+1|0;if((K|0)==9){ie=D;break}else C=D}}else ie=10;C=r[w>>2]|0;K=(C>>>0)%(ie>>>0)|0;k=(w+4|0)==(te|0);if(!(k&(K|0)==0)){E=(((C>>>0)/(ie>>>0)|0)&1|0)==0?9007199254740992:9007199254740994;D=(ie|0)/2|0;R=K>>>0<D>>>0?.5:k&(K|0)==(D|0)?1:1.5;if(!_){ae=E;re=R}else{D=(i[v>>0]|0)==45;ae=D?-E:E;re=D?-R:R}D=C-K|0;r[w>>2]=D;if(ae+re!=ae){K=D+ie|0;r[w>>2]=K;if(K>>>0>999999999){K=ee;D=w;while(1){C=D+-4|0;r[D>>2]=0;if(C>>>0<K>>>0){k=K+-4|0;r[k>>2]=0;oe=k}else oe=K;k=(r[C>>2]|0)+1|0;r[C>>2]=k;if(k>>>0>999999999){K=oe;D=C}else{se=oe;le=C;break}}}else{se=ee;le=w}D=(T-se>>2)*9|0;K=r[se>>2]|0;if(K>>>0<10){ce=se;de=le;ue=D}else{C=D;D=10;while(1){D=D*10|0;k=C+1|0;if(K>>>0<D>>>0){ce=se;de=le;ue=k;break}else C=k}}}else{ce=ee;de=w;ue=ne}}else{ce=ee;de=w;ue=ne}C=de+4|0;pe=ce;fe=ue;me=te>>>0>C>>>0?C:te}else{pe=ee;fe=ne;me=te}C=me;while(1){if(C>>>0<=pe>>>0){he=0;break}D=C+-4|0;if(!(r[D>>2]|0))C=D;else{he=1;break}}w=0-fe|0;do if(A){D=((N^1)&1)+M|0;if((D|0)>(fe|0)&(fe|0)>-5){ge=D+-1-fe|0;_e=l+-1|0}else{ge=D+-1|0;_e=l+-2|0}D=s&8;if(!D){if(he?(K=r[C+-4>>2]|0,(K|0)!=0):0)if(!((K>>>0)%10|0)){k=10;X=0;while(1){k=k*10|0;H=X+1|0;if((K>>>0)%(k>>>0)|0|0){ve=H;break}else X=H}}else ve=0;else ve=9;X=((C-T>>2)*9|0)+-9|0;if((_e|32|0)==102){k=X-ve|0;K=(k|0)>0?k:0;ye=0;be=(ge|0)<(K|0)?ge:K;we=_e;break}else{K=X+fe-ve|0;X=(K|0)>0?K:0;ye=0;be=(ge|0)<(X|0)?ge:X;we=_e;break}}else{ye=D;be=ge;we=_e}}else{ye=s&8;be=M;we=l}while(0);M=be|ye;T=(M|0)!=0&1;N=(we|32|0)==102;if(N){ke=0;Me=(fe|0)>0?fe:0}else{A=(fe|0)<0?w:fe;X=La(A,((A|0)<0)<<31>>31,g)|0;A=g;if((A-X|0)<2){K=X;while(1){k=K+-1|0;i[k>>0]=48;if((A-k|0)<2)K=k;else{Se=k;break}}}else Se=X;i[Se+-1>>0]=(fe>>31&2)+43;K=Se+-2|0;i[K>>0]=we;ke=K;Me=A-K|0}K=_+1+be+T+Me|0;Ba(e,32,n,K,s);Pa(e,v,_);Ba(e,48,n,K,s^65536);if(N){w=pe>>>0>I>>>0?I:pe;k=p+9|0;j=k;Y=p+8|0;H=w;do{O=La(r[H>>2]|0,0,k)|0;if((H|0)==(w|0))if((O|0)==(k|0)){i[Y>>0]=48;Ae=Y}else Ae=O;else if(O>>>0>p>>>0){Or(p|0,48,O-f|0)|0;S=O;while(1){J=S+-1|0;if(J>>>0>p>>>0)S=J;else{Ae=J;break}}}else Ae=O;Pa(e,Ae,j-Ae|0);H=H+4|0}while(H>>>0<=I>>>0);if(M|0)Pa(e,3659,1);if(H>>>0<C>>>0&(be|0)>0){I=H;j=be;while(1){Y=La(r[I>>2]|0,0,k)|0;if(Y>>>0>p>>>0){Or(p|0,48,Y-f|0)|0;w=Y;while(1){N=w+-1|0;if(N>>>0>p>>>0)w=N;else{Ce=N;break}}}else Ce=Y;Pa(e,Ce,(j|0)<9?j:9);I=I+4|0;w=j+-9|0;if(!(I>>>0<C>>>0&(j|0)>9)){Te=w;break}else j=w}}else Te=be;Ba(e,48,Te+9|0,9,0)}else{j=he?C:pe+4|0;if((be|0)>-1){I=p+9|0;k=(ye|0)=
if(!n)return n|0;if(!(r[n+-4>>2]&3))return n|0;Or(n|0,0,i|0)|0;return n|0}function Er(e,t){e=e|0;t=t|0;var n=0,i=0,a=0,o=0;if(!e){n=Ar(t)|0;return n|0}if(t>>>0>4294967231){r[(ya()|0)>>2]=12;n=0;return n|0}i=$r(e+-8|0,t>>>0<11?16:t+11&-8)|0;if(i|0){n=i+8|0;return n|0}i=Ar(t)|0;if(!i){n=0;return n|0}a=r[e+-4>>2]|0;o=(a&-8)-((a&3|0)==0?8:4)|0;zr(i|0,e|0,(o>>>0<t>>>0?o:t)|0)|0;Cr(e);n=i;return n|0}function $r(e,t){e=e|0;t=t|0;var n=0,i=0,a=0,o=0,s=0,l=0,c=0,d=0,u=0,p=0,f=0,m=0,h=0,g=0,_=0,v=0,y=0,b=0,w=0;n=e+4|0;i=r[n>>2]|0;a=i&-8;o=e+a|0;s=r[1425]|0;l=i&3;if(!((l|0)!=1&e>>>0>=s>>>0&e>>>0<o>>>0))fe();c=r[o+4>>2]|0;if(!(c&1))fe();if(!l){if(t>>>0<256){d=0;return d|0}if(a>>>0>=(t+4|0)>>>0?(a-t|0)>>>0<=r[1541]<<1>>>0:0){d=e;return d|0}d=0;return d|0}if(a>>>0>=t>>>0){l=a-t|0;if(l>>>0<=15){d=e;return d|0}u=e+t|0;r[n>>2]=i&1|t|2;r[u+4>>2]=l|3;p=u+l+4|0;r[p>>2]=r[p>>2]|1;Ir(u,l);d=e;return d|0}if((o|0)==(r[1427]|0)){l=(r[1424]|0)+a|0;u=l-t|0;p=e+t|0;if(l>>>0<=t>>>0){d=0;return d|0}r[n>>2]=i&1|t|2;r[p+4>>2]=u|1;r[1427]=p;r[1424]=u;d=e;return d|0}if((o|0)==(r[1426]|0)){u=(r[1423]|0)+a|0;if(u>>>0<t>>>0){d=0;return d|0}p=u-t|0;l=i&1;if(p>>>0>15){f=e+t|0;m=f+p|0;r[n>>2]=l|t|2;r[f+4>>2]=p|1;r[m>>2]=p;h=m+4|0;r[h>>2]=r[h>>2]&-2;g=f;_=p}else{r[n>>2]=l|u|2;l=e+u+4|0;r[l>>2]=r[l>>2]|1;g=0;_=0}r[1423]=_;r[1426]=g;d=e;return d|0}if(c&2|0){d=0;return d|0}g=(c&-8)+a|0;if(g>>>0<t>>>0){d=0;return d|0}a=g-t|0;_=c>>>3;e:do if(c>>>0>=256){l=r[o+24>>2]|0;u=r[o+12>>2]|0;do if((u|0)==(o|0)){p=o+16|0;f=p+4|0;h=r[f>>2]|0;if(!h){m=r[p>>2]|0;if(!m){v=0;break}else{y=m;b=p}}else{y=h;b=f}while(1){f=y+20|0;h=r[f>>2]|0;if(h|0){y=h;b=f;continue}f=y+16|0;h=r[f>>2]|0;if(!h)break;else{y=h;b=f}}if(b>>>0<s>>>0)fe();else{r[b>>2]=0;v=y;break}}else{f=r[o+8>>2]|0;if(f>>>0<s>>>0)fe();h=f+12|0;if((r[h>>2]|0)!=(o|0))fe();p=u+8|0;if((r[p>>2]|0)==(o|0)){r[h>>2]=u;r[p>>2]=f;v=u;break}else fe()}while(0);if(l|0){u=r[o+28>>2]|0;f=5988+(u<<2)|0;do if((o|0)==(r[f>>2]|0)){r[f>>2]=v;if(!v){r[1422]=r[1422]&~(1<<u);break e}}else if(l>>>0>=(r[1425]|0)>>>0){r[l+16+(((r[l+16>>2]|0)!=(o|0)&1)<<2)>>2]=v;if(!v)break e;else break}else fe();while(0);u=r[1425]|0;if(v>>>0<u>>>0)fe();r[v+24>>2]=l;f=o+16|0;p=r[f>>2]|0;do if(p|0)if(p>>>0<u>>>0)fe();else{r[v+16>>2]=p;r[p+24>>2]=v;break}while(0);p=r[f+4>>2]|0;if(p|0)if(p>>>0<(r[1425]|0)>>>0)fe();else{r[v+20>>2]=p;r[p+24>>2]=v;break}}}else{p=r[o+8>>2]|0;u=r[o+12>>2]|0;l=5724+(_<<1<<2)|0;if((p|0)!=(l|0)){if(p>>>0<s>>>0)fe();if((r[p+12>>2]|0)!=(o|0))fe()}if((u|0)==(p|0)){r[1421]=r[1421]&~(1<<_);break}if((u|0)!=(l|0)){if(u>>>0<s>>>0)fe();l=u+8|0;if((r[l>>2]|0)==(o|0))w=l;else fe()}else w=u+8|0;r[p+12>>2]=u;r[w>>2]=p}while(0);w=i&1;if(a>>>0<16){r[n>>2]=g|w|2;i=e+g+4|0;r[i>>2]=r[i>>2]|1;d=e;return d|0}else{i=e+t|0;r[n>>2]=w|t|2;r[i+4>>2]=a|3;t=i+a+4|0;r[t>>2]=r[t>>2]|1;Ir(i,a);d=e;return d|0}return 0}function Ir(e,t){e=e|0;t=t|0;var n=0,i=0,a=0,o=0,s=0,l=0,c=0,d=0,u=0,p=0,f=0,m=0,h=0,g=0,_=0,v=0,y=0,b=0,w=0,k=0,M=0,S=0,A=0,C=0,T=0,E=0,$=0;n=e+t|0;i=r[e+4>>2]|0;e:do if(!(i&1)){a=r[e>>2]|0;if(!(i&3))return;o=e+(0-a)|0;s=a+t|0;l=r[1425]|0;if(o>>>0<l>>>0)fe();if((o|0)==(r[1426]|0)){c=n+4|0;d=r[c>>2]|0;if((d&3|0)!=3){u=o;p=s;break}r[1423]=s;r[c>>2]=d&-2;r[o+4>>2]=s|1;r[o+s>>2]=s;return}d=a>>>3;if(a>>>0<256){a=r[o+8>>2]|0;c=r[o+12>>2]|0;f=5724+(d<<1<<2)|0;if((a|0)!=(f|0)){if(a>>>0<l>>>0)fe();if((r[a+12>>2]|0)!=(o|0))fe()}if((c|0)==(a|0)){r[1421]=r[1421]&~(1<<d);u=o;p=s;break}if((c|0)!=(f|0)){if(c>>>0<l>>>0)fe();f=c+8|0;if((r[f>>2]|0)==(o|0))m=f;else fe()}else m=c+8|0;r[a+12>>2]=c;r[m>>2]=a;u=o;p=s;break}a=r[o+24>>2]|0;c=r[o+12>>2]|0;do if((c|0)==(o|0)){f=o+16|0;d=f+4|0;h=r[d>>2]|0;if(!h){g=r[f>>2]|0;if(!g){_=0;break}else{v=g;y=f}}else{v=h;y=d}while(1){d=v+20|0;h=r[d>>2]|0;if(h|0){v=h;y=d;continue}d=v+16|0;h=r[d>>2]|0;if(!h)break;else{v=h;y=d}}if(y>>>0<l>>>0)fe();else{r[y>>2]=0;_=v;break}}else{d=r[o+8>>2]|0;if(d>>>0<l>>>0)fe();h=d+12|0;if((r[h>>2]|0)!=(o|0))fe();f=c+8|0;if((r[f>>2]|0)==(o|0)){r[h>>2]=c;r[f>>2]=d;_=c;break}else fe()}while(0);if(a){c=r[o+28>>2]|0;l=5988+(c<<2)|0;do if((o|0)==(r[l>>2]|0)){r[l>>2]=_;if(!_){r[1422]=r[1422]&~(1<<c);u=o;p=s;break e}}else
}function reallocInputBuffer(e){return inputBuffer&&inputBufferSize>=e?inputBuffer:(inputBuffer&&Module._free(inputBuffer),inputBufferSize=e,inputBuffer=Module._malloc(inputBufferSize))}function time(e){var t,n=getTimestamp();return t=e(),Module.cpuTime+=getTimestamp()-n,t}OGVDecoderAudioOpus=OGVDecoderAudioOpus||{},OGVDecoderAudioOpus.currentScriptUrl||(OGVDecoderAudioOpus.currentScriptUrl=scriptSrc);var Module=OGVDecoderAudioOpus,options=Module;Module={print:function(e){console.log(e)}},"undefined"!=typeof OGVLoader&&(Module.pthreadMainPrefixURL=OGVLoader.base+"/"),options.memoryLimit&&!options.wasmBinary&&(Module.TOTAL_MEMORY=options.memoryLimit);for(option in options)options.hasOwnProperty(option)&&(Module[option]=options[option]);var Math_imul_orig=Math.imul,OGVDecoderAudioOpus=Module,Module;Module||(Module=("undefined"!=typeof OGVDecoderAudioOpus?OGVDecoderAudioOpus:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB=!1,ENVIRONMENT_IS_WORKER=!1,ENVIRONMENT_IS_NODE=!1,ENVIRONMENT_IS_SHELL=!1;if(Module.ENVIRONMENT)if("WEB"===Module.ENVIRONMENT)ENVIRONMENT_IS_WEB=!0;else if("WORKER"===Module.ENVIRONMENT)ENVIRONMENT_IS_WORKER=!0;else if("NODE"===Module.ENVIRONMENT)ENVIRONMENT_IS_NODE=!0;else if("SHELL"===Module.ENVIRONMENT)ENVIRONMENT_IS_SHELL=!0;else{if("PTHREAD"!==Module.ENVIRONMENT)throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.");ENVIRONMENT_IS_WORKER=!0,ENVIRONMENT_IS_PTHREAD=!0}else ENVIRONMENT_IS_WEB="object"==typeof window,ENVIRONMENT_IS_WORKER="function"==typeof importScripts,ENVIRONMENT_IS_NODE="object"==typeof process&&"function"==typeof require&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){Module.print||(Module.print=console.log),Module.printErr||(Module.printErr=console.warn);var nodeFS,nodePath;Module.read=function(e,t){nodeFS||(nodeFS=require("fs")),nodePath||(nodePath=require("path")),e=nodePath.normalize(e);var n=nodeFS.readFileSync(e);return t?n:n.toString()},Module.readBinary=function(e){var t=Module.read(e,!0);return t.buffer||(t=new Uint8Array(t)),assert(t.buffer),t},Module.load=function(e){globalEval(read(e))},Module.thisProgram||(process.argv.length>1?Module.thisProgram=process.argv[1].replace(/\\/g,"/"):Module.thisProgram="unknown-program"),Module.arguments=process.argv.slice(2),"undefined"!=typeof module&&(module.exports=Module),process.on("uncaughtException",function(e){if(!(e instanceof ExitStatus))throw e}),Module.inspect=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL)Module.print||(Module.print=print),"undefined"!=typeof printErr&&(Module.printErr=printErr),"undefined"!=typeof read?Module.read=read:Module.read=function(){throw"no read() available"},Module.readBinary=function(e){if("function"==typeof readbuffer)return new Uint8Array(readbuffer(e));var t=read(e,"binary");return assert("object"==typeof t),t},"undefined"!=typeof scriptArgs?Module.arguments=scriptArgs:"undefined"!=typeof arguments&&(Module.arguments=arguments),"function"==typeof quit&&(Module.quit=function(e,t){quit(e)});else{if(!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER)throw"Unknown runtime environment. Where are we?";if(Module.read=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},ENVIRONMENT_IS_WORKER&&(Module.readBinary=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),t.response}),Module.readAsync=function(e,t,n){var i=new XMLHttpRequest;i.open("GET",e,!0),i.responseType="arraybuffer",i.onload=function(){200==i.status||0==i.status&&i.response?t(i.response):n()},i.onerror=n,i.send(null)},"undefined"!=typeof arguments&&(Module.arguments=arguments),"undefined"!=typeof console)Module.print||(Module.print=function(e){console.log(e)}),Module.printErr||(Module.printErr=function(e){console.warn(e)});else{var TRY_USE_DUMP=!1;Module.print||(Modul
allocate([191,49,127,63,88,14,127,63,37,232,126,63,38,191,126,63,92,147,126,63,200,100,126,63,105,51,126,63,65,255,125,63,79,200,125,63,150,142,125,63,20,82,125,63,203,18,125,63,188,208,124,63,231,139,124,63,77,68,124,63,239,249,123,63,205,172,123,63,233,92,123,63,67,10,123,63,221,180,122,63,182,92,122,63,209,1,122,63,46,164,121,63,206,67,121,63,178,224,120,63,220,122,120,63,76,18,120,63,4,167,119,63,4,57,119,63,79,200,118,63,228,84,118,63,198,222,117,63,246,101,117,63,117,234,116,63,68,108,116,63,101,235,115,63,218,103,115,63,163,225,114,63,194,88,114,63,57,205,113,63,9,63,113,63,52,174,112,63,187,26,112,63,160,132,111,63,228,235,110,63,138,80,110,63,147,178,109,63,1,18,109,63,213,110,108,63,17,201,107,63,183,32,107,63,201,117,106,63,73,200,105,63,57,24,105,63,155,101,104,63,111,176,103,63,186,248,102,63,124,62,102,63,184,129,101,63,111,194,100,63,164,0,100,63,90,60,99,63,145,117,98,63,76,172,97,63,142,224,96,63,89,18,96,63,174,65,95,63,145,110,94,63,3,153,93,63,8,193,92,63,160,230,91,63,207,9,91,63,152,42,90,63,251,72,89,63,253,100,88,63,159,126,87,63,229,149,86,63,208,170,85,63,99,189,84,63,161,205,83,63,140,219,82,63,39,231,81,63,117,240,80,63,121,247,79,63,52,252,78,63,171,254,77,63,223,254,76,63,212,252,75,63,140,248,74,63,10,242,73,63,82,233,72,63,101,222,71,63,71,209,70,63,251,193,69,63,132,176,68,63,229,156,67,63,32,135,66,63,58,111,65,63,52,85,64,63,19,57,63,63,216,26,62,63,136,250,60,63,38,216,59,63,180,179,58,63,54,141,57,63,175,100,56,63,34,58,55,63,147,13,54,63,5,223,52,63,124,174,51,63,249,123,50,63,130,71,49,63,25,17,48,63,194,216,46,63,127,158,45,63,86,98,44,63,72,36,43,63,90,228,41,63,144,162,40,63,235,94,39,63,113,25,38,63,37,210,36,63,9,137,35,63,35,62,34,63,117,241,32,63,4,163,31,63,210,82,30,63,228,0,29,63,61,173,27,63,225,87,26,63,211,0,25,63,25,168,23,63,180,77,22,63,170,241,20,63,253,147,19,63,178,52,18,63,204,211,16,63,80,113,15,63,66,13,14,63,164,167,12,63,124,64,11,63,205,215,9,63,154,109,8,63,233,1,7,63,189,148,5,63,25,38,4,63,3,182,2,63,126,68,1,63,28,163,255,62,110,186,252,62,250,206,249,62,202,224,246,62,228,239,243,62,81,252,240,62,26,6,238,62,71,13,235,62,224,17,232,62,237,19,229,62,119,19,226,62,135,16,223,62,36,11,220,62,88,3,217,62,42,249,213,62,164,236,210,62,205,221,207,62,175,204,204,62,82,185,201,62,191,163,198,62,254,139,195,62,24,114,192,62,22,86,189,62,0,56,186,62,224,23,183,62,189,245,179,62,161,209,176,62,149,171,173,62,162,131,170,62,207,89,167,62,39,46,164,62,178,0,161,62,121,209,157,62,133,160,154,62,223,109,151,62,143,57,148,62,160,3,145,62,26,204,141,62,5,147,138,62,107,88,135,62,86,28,132,62,205,222,128,62,182,63,123,62,16,191,116,62,187,59,110,62,201,181,103,62,77,45,97,62,89,162,90,62,255,20,84,62,81,133,77,62,99,243,70,62,70,95,64,62,13,201,57,62,202,48,51,62,144,150,44,62,114,250,37,62,130,92,31,62,210,188,24,62,118,27,18,62,127,120,11,62,1,212,4,62,29,92,252,61,114,13,239,61,41,188,225,61,102,104,212,61,78,18,199,61,8,186,185,61,184,95,172,61,132,3,159,61,146,165,145,61,7,70,132,61,18,202,109,61,122,5,83,61,145,62,56,61,164,117,29,61,252,170,2,61,202,189,207,60,86,35,154,60,97,14,73,60,197,167,187,59,61,122,86,186,9,70,241,187,18,221,99,188,80,138,167,188,65,36,221,188,227,93,9,189,35,40,36,189,150,240,62,189,242,182,89,189,234,122,116,189,26,158,135,189,66,253,148,189,200,90,162,189,134,182,175,189,87,16,189,189,22,104,202,189,155,189,215,189,195,16,229,189,105,97,242,189,101,175,255,189,74,125,6,190,104,33,13,190,250,195,19,190,237,100,26,190,46,4,33,190,172,161,39,190,83,61,46,190,16,215,52,190,210,110,59,190,134,4,66,190,25,152,72,190,121,41,79,190,148,184,85,190,86,69,92,190,174,207,98,190,137,87,105,190,214,220,111,190,128,95,118,190,120,223,124,190,84,174,129,190,129,235,132,190,56,39,136,190,114,97,139,190,36,154,142,190,69,209,145,190,205,6,149,190,179,58,152,190,238,108,155,190,116,157,158,190,61,204,161,190,64,249,164,190,115,36,168,190,207,77,171,190,73,117,174,190,218,154,177,190,120,190,180,190,27,224,183,190,186,255,186,190,75,29,190,190,199,56,193,190,37,82,196,190,91,105,199,190,97,126,202,190,48,145,205,190,188,161,208,190,0,176,211,190,241,187,2
allocate([95,1,191,1,95,0,191,0,31,1,127,1,223,1,184,126,154,121,154,121,102,102,184,126,51,115,210,6,138,58,171,152,198,26,169,100,246,216,0,255,0,255,0,255,0,255,0,255,0,254,1,0,1,255,0,254,0,253,2,0,1,255,0,254,0,253,3,0,1,255,224,112,44,15,3,2,1,0,254,237,192,132,70,23,4,0,255,252,226,155,61,11,2,0,250,245,234,203,71,50,42,38,35,33,31,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0,179,99,0,71,56,43,30,21,12,6,0,199,165,144,124,109,96,84,71,61,51,42,32,23,15,8,0,241,225,211,199,187,175,164,153,142,132,123,114,105,96,88,80,72,64,57,50,44,38,33,29,24,20,16,12,9,5,2,0,4,6,24,7,5,0,0,2,0,0,12,28,41,13,252,247,15,42,25,14,1,254,62,41,247,246,37,65,252,3,250,4,66,7,248,16,14,38,253,33,13,22,39,23,12,255,36,64,27,250,249,10,55,43,17,1,1,8,1,1,6,245,74,53,247,244,55,76,244,8,253,3,93,27,252,26,39,59,3,248,2,0,77,11,9,248,22,44,250,7,40,9,26,3,9,249,20,101,249,4,3,248,42,26,0,241,33,68,2,23,254,55,46,254,15,3,255,21,16,41,250,27,61,39,5,245,42,88,4,1,254,60,65,6,252,255,251,73,56,1,247,19,94,29,247,0,12,99,6,4,8,237,102,46,243,3,2,13,3,2,9,235,84,72,238,245,46,104,234,8,18,38,48,23,0,240,70,83,235,11,5,245,117,22,248,250,23,117,244,3,3,248,95,28,4,246,15,77,60,241,255,4,124,2,252,3,38,84,24,231,2,13,42,13,31,21,252,56,46,255,255,35,79,243,19,249,65,88,247,242,20,4,81,49,227,20,0,75,3,239,5,247,44,92,248,1,253,22,69,31,250,95,41,244,5,39,67,16,252,1,0,250,120,55,220,243,44,122,4,232,81,5,11,3,7,2,0,9,10,88,12,35,60,83,108,132,157,180,206,228,15,32,55,77,101,125,151,175,201,225,19,42,66,89,114,137,162,184,209,230,12,25,50,72,97,120,147,172,200,223,26,44,69,90,114,135,159,180,205,225,13,22,53,80,106,130,156,180,205,228,15,25,44,64,90,115,142,168,196,222,19,24,62,82,100,120,145,168,190,214,22,31,50,79,103,120,151,170,203,227,21,29,45,65,106,124,150,171,196,224,30,49,75,97,121,142,165,186,209,229,19,25,52,70,93,116,143,166,192,219,26,34,62,75,97,118,145,167,194,217,25,33,56,70,91,113,143,165,196,223,21,34,51,72,97,117,145,171,196,222,20,29,50,67,90,117,144,168,197,221,22,31,48,66,95,117,146,168,196,222,24,33,51,77,116,134,158,180,200,224,21,28,70,87,106,124,149,170,194,217,26,33,53,64,83,117,152,173,204,225,27,34,65,95,108,129,155,174,210,225,20,26,72,99,113,131,154,176,200,219,34,43,61,78,93,114,155,177,205,229,23,29,54,97,124,138,163,179,209,229,30,38,56,89,118,129,158,178,200,231,21,29,49,63,85,111,142,163,193,222,27,48,77,103,133,158,179,196,215,232,29,47,74,99,124,151,176,198,220,237,33,42,61,76,93,121,155,174,207,225,29,53,87,112,136,154,170,188,208,227,24,30,52,84,131,150,166,186,203,229,37,48,64,84,104,118,156,177,201,230,212,178,148,129,108,96,85,82,79,77,61,59,57,56,51,49,48,45,42,41,40,38,36,34,31,30,21,12,10,3,1,0,255,245,244,236,233,225,217,203,190,176,175,161,149,136,125,114,102,91,81,71,60,52,43,35,28,20,19,18,12,11,5,0,179,138,140,148,151,149,153,151,163,116,67,82,59,92,72,100,89,92,16,0,0,0,0,99,66,36,36,34,36,34,34,34,34,83,69,36,52,34,116,102,70,68,68,176,102,68,68,34,65,85,68,84,36,116,141,152,139,170,132,187,184,216,137,132,249,168,185,139,104,102,100,68,68,178,218,185,185,170,244,216,187,187,170,244,187,187,219,138,103,155,184,185,137,116,183,155,152,136,132,217,184,184,170,164,217,171,155,139,244,169,184,185,170,164,216,223,218,138,214,143,188,218,168,244,141,136,155,170,168,138,220,219,139,164,219,202,216,137,168,186,246,185,139,116,185,219,185,138,100,100,134,100,102,34,68,68,100,68,168,203,221,218,168,167,154,136,104,70,164,246,171,137,139,137,155,218,219,139,255,254,253,238,14,3,2,1,0,255,254,252,218,35,3,2,1,0,255,254,250,208,59,4,2,1,0,255,254,246,194,71,10,2,1,0,255,252,236,183,82,8,2,1,0,255,252,235,180,90,17,2,1,0,255,248,224,171,97,30,4,1,0,255,254,236,173,95,37,7,1,0,255,255,255,131,6,145,255,255,255,255,255,236,93,15,96,255,255,255,255,255,194,83,25,71,221,255,255,255,255,162,73,34,66,162,255,255,255,210,126,73,43,57,173,255,255,255,201,125,71,48,58,130,255,255,255,166,110,73,57,62,104,210,255,255,251,123,65,55,68,100,171,255,7,23,38,54,69,85,100,116,131,147,162,178,193,208,223,239,13,25,41,55,69,83,98,112,127,142,157,171,187,203,220,236,15,21,34,51,61,78,92,106,1
V=r[g>>2]|0;m=h;return V|0}if((r[B>>2]|0)>0)r[D>>2]=r[B>>2];do if((r[C>>2]|0)!=0&(r[k>>2]|0)!=0){if((r[D>>2]|0)==0?!((r[$>>2]&1|0)==0&(r[B>>2]|0)<0|(r[x>>2]|0)>1):0)break;La(r[C>>2]|0,r[k>>2]|0,(r[y>>2]<<2)+0|0)|0;r[k>>2]=r[C>>2]}while(0);r[F>>2]=0;while(1){if((r[F>>2]|0)>=(r[D>>2]|0))break;if(r[U>>2]|0)Se(r[v>>2]|0,r[y>>2]>>r[F>>2],1<<r[F>>2]);if(r[k>>2]|0)Se(r[k>>2]|0,r[y>>2]>>r[F>>2],1<<r[F>>2]);r[T>>2]=o[23948+(r[T>>2]&15)>>0]|0|(o[23948+(r[T>>2]>>4)>>0]|0)<<2;r[F>>2]=(r[F>>2]|0)+1}r[w>>2]=r[w>>2]>>r[D>>2];r[$>>2]=r[$>>2]<<r[D>>2];while(1){if(!((r[$>>2]&1|0)==0?(r[B>>2]|0)<0:0))break;if(r[U>>2]|0)Se(r[v>>2]|0,r[$>>2]|0,r[w>>2]|0);if(r[k>>2]|0)Se(r[k>>2]|0,r[$>>2]|0,r[w>>2]|0);r[T>>2]=r[T>>2]|r[T>>2]<<r[w>>2];r[w>>2]=r[w>>2]<<1;r[$>>2]=r[$>>2]>>1;r[P>>2]=(r[P>>2]|0)+1;r[B>>2]=(r[B>>2]|0)+1}r[x>>2]=r[w>>2];r[I>>2]=r[$>>2];if((r[x>>2]|0)>1){if(r[U>>2]|0)rt(r[v>>2]|0,r[$>>2]>>r[D>>2],r[x>>2]<<r[D>>2],r[O>>2]|0);if(r[k>>2]|0)rt(r[k>>2]|0,r[$>>2]>>r[D>>2],r[x>>2]<<r[D>>2],r[O>>2]|0)}r[N>>2]=ot(r[_>>2]|0,r[v>>2]|0,r[y>>2]|0,r[b>>2]|0,r[w>>2]|0,r[k>>2]|0,r[M>>2]|0,+c[A>>2],r[T>>2]|0)|0;if(r[L>>2]|0){if((r[x>>2]|0)>1)st(r[v>>2]|0,r[$>>2]>>r[D>>2],r[x>>2]<<r[D>>2],r[O>>2]|0);r[$>>2]=r[I>>2];r[w>>2]=r[x>>2];r[F>>2]=0;while(1){if((r[F>>2]|0)>=(r[P>>2]|0))break;r[w>>2]=r[w>>2]>>1;r[$>>2]=r[$>>2]<<1;r[N>>2]=r[N>>2]|(r[N>>2]|0)>>>(r[w>>2]|0);Se(r[v>>2]|0,r[$>>2]|0,r[w>>2]|0);r[F>>2]=(r[F>>2]|0)+1}r[F>>2]=0;while(1){if((r[F>>2]|0)>=(r[D>>2]|0))break;r[N>>2]=o[23964+(r[N>>2]|0)>>0];Se(r[v>>2]|0,r[E>>2]>>r[F>>2],1<<r[F>>2]);r[F>>2]=(r[F>>2]|0)+1}r[w>>2]=r[w>>2]<<r[D>>2];e:do if(r[S>>2]|0){c[j>>2]=+R(+ +(r[E>>2]|0));r[H>>2]=0;while(1){if((r[H>>2]|0)>=(r[E>>2]|0))break e;c[(r[S>>2]|0)+(r[H>>2]<<2)>>2]=+c[j>>2]*+c[(r[v>>2]|0)+(r[H>>2]<<2)>>2];r[H>>2]=(r[H>>2]|0)+1}}while(0);r[N>>2]=r[N>>2]&(1<<r[w>>2])-1}r[g>>2]=r[N>>2];V=r[g>>2]|0;m=h;return V|0}function $e(e,t,n,i,a,o,s,l,d,u,p){e=e|0;t=t|0;n=n|0;i=i|0;a=a|0;o=o|0;s=s|0;l=l|0;d=d|0;u=u|0;p=p|0;var f=0,h=0,g=0,_=0,v=0,y=0,b=0,w=0,k=0,M=0,S=0,A=0,C=0,T=0,E=0,$=0,I=0,x=0,P=0,D=0,R=0,O=0,N=0,L=0,F=0,U=0,B=0,H=0,j=0,V=0,q=0,z=0,W=0,G=0,K=0,Y=0,X=0,J=0,Z=0;f=m;m=m+160|0;h=f+156|0;g=f+152|0;_=f+148|0;v=f+144|0;y=f+140|0;b=f+136|0;w=f+132|0;k=f+128|0;M=f+124|0;S=f+120|0;A=f+116|0;C=f+112|0;T=f+108|0;E=f+104|0;$=f+100|0;I=f+96|0;x=f+92|0;P=f+88|0;D=f+84|0;R=f+80|0;O=f+76|0;N=f+72|0;L=f+68|0;F=f+64|0;U=f+40|0;B=f+36|0;H=f+32|0;j=f+28|0;V=f+24|0;q=f+20|0;z=f+16|0;W=f+12|0;G=f+8|0;K=f+4|0;Y=f;r[g>>2]=e;r[_>>2]=t;r[v>>2]=n;r[y>>2]=i;r[b>>2]=a;r[w>>2]=o;r[k>>2]=s;r[M>>2]=l;r[S>>2]=d;r[A>>2]=u;r[C>>2]=p;r[T>>2]=0;r[E>>2]=0;r[$>>2]=0;c[I>>2]=0;c[x>>2]=0;r[P>>2]=0;r[D>>2]=((r[r[g>>2]>>2]|0)!=0^1)&1;r[H>>2]=r[r[g>>2]>>2];r[j>>2]=r[(r[g>>2]|0)+24>>2];if((r[y>>2]|0)==1){r[h>>2]=Ie(r[g>>2]|0,r[_>>2]|0,r[v>>2]|0,r[b>>2]|0,r[S>>2]|0)|0;X=r[h>>2]|0;m=f;return X|0}r[B>>2]=r[C>>2];xe(r[g>>2]|0,U,r[_>>2]|0,r[v>>2]|0,r[y>>2]|0,b,r[w>>2]|0,r[w>>2]|0,r[M>>2]|0,1,C);r[$>>2]=r[U>>2];r[T>>2]=r[U+4>>2];r[E>>2]=r[U+8>>2];r[N>>2]=r[U+12>>2];r[L>>2]=r[U+16>>2];r[F>>2]=r[U+20>>2];c[I>>2]=+(r[T>>2]|0)*30517578125e-15;c[x>>2]=+(r[E>>2]|0)*30517578125e-15;do if((r[y>>2]|0)==2){r[q>>2]=0;r[R>>2]=r[b>>2];r[O>>2]=0;r[O>>2]=(r[L>>2]|0)!=0&(r[L>>2]|0)!=16384?8:0;r[R>>2]=(r[R>>2]|0)-(r[O>>2]|0);r[V>>2]=(r[L>>2]|0)>8192&1;E=(r[g>>2]|0)+28|0;r[E>>2]=(r[E>>2]|0)-((r[F>>2]|0)+(r[O>>2]|0));r[z>>2]=r[V>>2]|0?r[v>>2]|0:r[_>>2]|0;r[W>>2]=r[V>>2]|0?r[_>>2]|0:r[v>>2]|0;do if(r[O>>2]|0)if(r[H>>2]|0){r[q>>2]=+c[r[z>>2]>>2]*+c[(r[W>>2]|0)+4>>2]-+c[(r[z>>2]|0)+4>>2]*+c[r[W>>2]>>2]<0&1;Pe(r[j>>2]|0,r[q>>2]|0,1);break}else{r[q>>2]=De(r[j>>2]|0,1)|0;break}while(0);r[q>>2]=1-(r[q>>2]<<1);r[P>>2]=Ee(r[g>>2]|0,r[z>>2]|0,r[y>>2]|0,r[R>>2]|0,r[w>>2]|0,r[k>>2]|0,r[M>>2]|0,r[S>>2]|0,1,r[A>>2]|0,r[B>>2]|0)|0;c[r[W>>2]>>2]=+(0-(r[q>>2]|0)|0)*+c[(r[z>>2]|0)+4>>2];c[(r[W>>2]|0)+4>>2]=+(r[q>>2]|0)*+c[r[z>>2]>>2];if(r[D>>2]|0){c[r[_>>2]>>2]=+c[I>>2]*+c[r[_>>2]>>2];c[(r[_>>2]|0)+4>>2]=+c[I>>2]*+c[(r[_>>2]|0)+4>>2];c[r[v>>2]>>2]=+c[x>>2]*+c[r[v>>2]>>2];c[(r[v>>2]|0)+4>>2]=+c[x>>2]*+c[(r[v>>2]|0)+4>>2];c[G>>2]=+c[r[_>>2]>>2];c[r[_>>2]>>2]=+c[G>>2]-+c[r[v>>2]>>2];
c[n+(d+(r[u>>2]|0)<<2)>>2]=+c[(r[o>>2]|0)+(g+(r[p>>2]|0)<<2)>>2];r[p>>2]=(r[p>>2]|0)+1}r[u>>2]=(r[u>>2]|0)+1}_=r[o>>2]|0;v=r[f>>2]|0;y=v<<2;b=r[o>>2]|0;w=b;k=n;M=w-k|0;S=(M|0)/4|0;A=0;C=y+A|0;La(_|0,n|0,C|0)|0;T=r[h>>2]|0;ce(T|0);m=a;return}}function lt(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var s=0,l=0,c=0,d=0,u=0,p=0,f=0,h=0,g=0,_=0,v=0,y=0,b=0;s=m;m=m+48|0;l=s+36|0;c=s+32|0;d=s+28|0;u=s+24|0;p=s+20|0;f=s+16|0;h=s+12|0;g=s+8|0;_=s+4|0;v=s;r[c>>2]=e;r[d>>2]=t;r[u>>2]=n;r[p>>2]=i;r[u>>2]=(r[u>>2]|0)+1;i=W(r[u>>2]|0,r[(r[c>>2]|0)+8>>2]|0)|0;r[_>>2]=(r[(r[c>>2]|0)+92+8>>2]|0)+(a[(r[(r[c>>2]|0)+92+4>>2]|0)+(i+(r[d>>2]|0)<<1)>>1]|0);r[h>>2]=0;r[g>>2]=o[r[_>>2]>>0];r[p>>2]=(r[p>>2]|0)+-1;r[f>>2]=0;while(1){if((r[f>>2]|0)>=6)break;r[v>>2]=(r[h>>2]|0)+(r[g>>2]|0)+1>>1;d=r[v>>2]|0;if((o[(r[_>>2]|0)+(r[v>>2]|0)>>0]|0)>=(r[p>>2]|0))r[g>>2]=d;else r[h>>2]=d;r[f>>2]=(r[f>>2]|0)+1}if(!(r[h>>2]|0))y=-1;else y=o[(r[_>>2]|0)+(r[h>>2]|0)>>0]|0;if(((r[p>>2]|0)-y|0)<=((o[(r[_>>2]|0)+(r[g>>2]|0)>>0]|0)-(r[p>>2]|0)|0)){r[l>>2]=r[h>>2];b=r[l>>2]|0;m=s;return b|0}else{r[l>>2]=r[g>>2];b=r[l>>2]|0;m=s;return b|0}return 0}function ct(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var s=0,l=0,c=0,d=0,u=0,p=0,f=0;s=m;m=m+32|0;l=s+16|0;c=s+12|0;d=s+8|0;u=s+4|0;p=s;r[l>>2]=e;r[c>>2]=t;r[d>>2]=n;r[u>>2]=i;r[d>>2]=(r[d>>2]|0)+1;i=W(r[d>>2]|0,r[(r[l>>2]|0)+8>>2]|0)|0;r[p>>2]=(r[(r[l>>2]|0)+92+8>>2]|0)+(a[(r[(r[l>>2]|0)+92+4>>2]|0)+(i+(r[c>>2]|0)<<1)>>1]|0);if(!(r[u>>2]|0)){f=0;m=s;return f|0}f=(o[(r[p>>2]|0)+(r[u>>2]|0)>>0]|0)+1|0;m=s;return f|0}function dt(e){e=e|0;var t=0,n=0,i=0;t=m;m=m+16|0;n=t;r[n>>2]=e;e=r[n>>2]|0;if((r[n>>2]|0)<8){i=e;m=t;return i|0}i=8+(e&7)<<(r[n>>2]>>3)-1;m=t;return i|0}function ut(e,t,n,i,a,o){e=e|0;t=t|0;n=n|0;i=i|0;a=a|0;o=o|0;var s=0,l=0,d=0,u=0,p=0,f=0,h=0,g=0,_=0,v=0,y=0,b=0,w=0,k=0,M=0,S=0,A=0,C=0,T=0,E=0,$=0,I=0,x=0;s=m;m=m+96|0;l=s+84|0;d=s+80|0;u=s+76|0;p=s+72|0;f=s+68|0;h=s+64|0;g=s+60|0;_=s+56|0;v=s+52|0;y=s+48|0;b=s+44|0;w=s+40|0;k=s+36|0;M=s+32|0;S=s+28|0;A=s+24|0;C=s+20|0;T=s+16|0;E=s+12|0;$=s+8|0;I=s+4|0;x=s;r[l>>2]=e;r[d>>2]=t;r[u>>2]=n;r[p>>2]=i;r[f>>2]=a;r[h>>2]=o;o=r[d>>2]|0;r[S>>2]=oe()|0;a=m;m=m+((1*(o<<2)|0)+15&-16)|0;o=m;m=m+((1*(r[d>>2]<<2)|0)+15&-16)|0;i=m;m=m+((1*(r[d>>2]<<2)|0)+15&-16)|0;ht(r[l>>2]|0,r[d>>2]|0,1,r[f>>2]|0,r[u>>2]|0,r[p>>2]|0);c[b>>2]=0;r[_>>2]=0;do{p=i+(r[_>>2]<<2)|0;if(+c[(r[l>>2]|0)+(r[_>>2]<<2)>>2]>0)c[p>>2]=1;else{c[p>>2]=-1;c[(r[l>>2]|0)+(r[_>>2]<<2)>>2]=-+c[(r[l>>2]|0)+(r[_>>2]<<2)>>2]}r[o+(r[_>>2]<<2)>>2]=0;c[a+(r[_>>2]<<2)>>2]=0;p=(r[_>>2]|0)+1|0;r[_>>2]=p}while((p|0)<(r[d>>2]|0));c[k>>2]=0;c[w>>2]=0;r[y>>2]=r[u>>2];if((r[u>>2]|0)>(r[d>>2]>>1|0)){r[_>>2]=0;do{c[b>>2]=+c[b>>2]+ +c[(r[l>>2]|0)+(r[_>>2]<<2)>>2];p=(r[_>>2]|0)+1|0;r[_>>2]=p}while((p|0)<(r[d>>2]|0));if(!(+c[b>>2]>1.0000000036274937e-15&+c[b>>2]<64)){c[r[l>>2]>>2]=1;r[_>>2]=1;do{c[(r[l>>2]|0)+(r[_>>2]<<2)>>2]=0;p=(r[_>>2]|0)+1|0;r[_>>2]=p}while((p|0)<(r[d>>2]|0));c[b>>2]=1}c[A>>2]=+((r[u>>2]|0)-1|0)*(1/+c[b>>2]);r[_>>2]=0;do{b=~~+P(+(+c[A>>2]*+c[(r[l>>2]|0)+(r[_>>2]<<2)>>2]));r[o+(r[_>>2]<<2)>>2]=b;c[a+(r[_>>2]<<2)>>2]=+(r[o+(r[_>>2]<<2)>>2]|0);c[k>>2]=+c[k>>2]+ +c[a+(r[_>>2]<<2)>>2]*+c[a+(r[_>>2]<<2)>>2];c[w>>2]=+c[w>>2]+ +c[(r[l>>2]|0)+(r[_>>2]<<2)>>2]*+c[a+(r[_>>2]<<2)>>2];b=a+(r[_>>2]<<2)|0;c[b>>2]=+c[b>>2]*2;r[y>>2]=(r[y>>2]|0)-(r[o+(r[_>>2]<<2)>>2]|0);b=(r[_>>2]|0)+1|0;r[_>>2]=b}while((b|0)<(r[d>>2]|0))}if((r[y>>2]|0)>((r[d>>2]|0)+3|0)){c[C>>2]=+(r[y>>2]|0);c[k>>2]=+c[k>>2]+ +c[C>>2]*+c[C>>2];c[k>>2]=+c[k>>2]+ +c[C>>2]*+c[a>>2];r[o>>2]=(r[o>>2]|0)+(r[y>>2]|0);r[y>>2]=0}c[v>>2]=1;r[g>>2]=0;while(1){if((r[g>>2]|0)>=(r[y>>2]|0))break;c[E>>2]=-999999986991104;c[$>>2]=0;r[T>>2]=0;c[k>>2]=+c[k>>2]+1;r[_>>2]=0;do{c[I>>2]=+c[w>>2]+ +c[(r[l>>2]|0)+(r[_>>2]<<2)>>2];c[x>>2]=+c[k>>2]+ +c[a+(r[_>>2]<<2)>>2];c[I>>2]=+c[I>>2]*+c[I>>2];if(+c[$>>2]*+c[I>>2]>+c[x>>2]*+c[E>>2]){c[$>>2]=+c[x>>2];c[E>>2]=+c[I>>2];r[T>>2]=r[_>>2]}C=(r[_>>2]|0)+1|0;r[_>>2]=C}while((C|0)<(r[d>>2]|0));c[w>>2]=+c[w>>2]+ +c[(r[l>>2]|0)+(r[T>>2]<<2)>>2];c[k>>2]=+c[k>>2]+ +c[a+(r[T>>2]<<2)>>2];C=a+(r[T>>2]<<2)|0;c[C>>2]=+c[C>>2]+ +c[v>>2]*2;C=o+(r[T>>2]<<2)|0;r[C>>2]=(r[C>
r[ae>>2]=(r[ae>>2]|0)+1}m=E;return r[se>>2]|0}function $t(e,t){e=e|0;t=t|0;var n=0,i=0,a=0;n=m;m=m+16|0;i=n+4|0;a=n;r[i>>2]=e;r[a>>2]=t;m=n;return((r[i>>2]|0)>>>0)/((r[a>>2]|0)>>>0)|0|0}function It(e){e=e|0;var t=0,n=0;t=m;m=m+16|0;n=t;r[n>>2]=e;e=(r[(r[n>>2]|0)+20>>2]|0)-(32-(Y(r[(r[n>>2]|0)+28>>2]|0)|0))|0;m=t;return e|0}function xt(e,t){e=e|0;t=t|0;var n=0,i=0,a=0,o=0;n=m;m=m+16|0;i=n+8|0;a=n+4|0;o=n;r[i>>2]=e;r[a>>2]=t;r[o>>2]=32736-(r[i>>2]|0);i=(W(r[o>>2]|0,16384-(r[a>>2]|0)|0)|0)>>>15;m=n;return i|0}function Pt(e,t){e=e|0;t=t|0;var n=0,i=0,o=0,s=0,l=0,c=0,d=0,u=0,p=0,f=0,h=0;n=m;m=m+64|0;i=n+60|0;o=n+56|0;s=n+52|0;l=n+48|0;c=n+44|0;d=n+40|0;u=n+8|0;p=n+4|0;f=n;r[i>>2]=e;r[o>>2]=t;if((r[(r[i>>2]|0)+8>>2]|0)>0)h=r[(r[i>>2]|0)+8>>2]|0;else h=0;r[f>>2]=h;r[u>>2]=1;r[d>>2]=0;do{r[c>>2]=a[(r[i>>2]|0)+12+(r[d>>2]<<1<<1)>>1];r[l>>2]=a[(r[i>>2]|0)+12+((r[d>>2]<<1)+1<<1)>>1];h=W(r[u+(r[d>>2]<<2)>>2]|0,r[c>>2]|0)|0;r[u+((r[d>>2]|0)+1<<2)>>2]=h;r[d>>2]=(r[d>>2]|0)+1}while((r[l>>2]|0)!=1);r[l>>2]=a[(r[i>>2]|0)+12+((r[d>>2]<<1)-1<<1)>>1];r[p>>2]=(r[d>>2]|0)-1;while(1){if((r[p>>2]|0)<0)break;if(r[p>>2]|0)r[s>>2]=a[(r[i>>2]|0)+12+((r[p>>2]<<1)-1<<1)>>1];else r[s>>2]=1;switch(a[(r[i>>2]|0)+12+(r[p>>2]<<1<<1)>>1]|0){case 2:{Dt(r[o>>2]|0,r[l>>2]|0,r[u+(r[p>>2]<<2)>>2]|0);break}case 4:{Rt(r[o>>2]|0,r[u+(r[p>>2]<<2)>>2]<<r[f>>2],r[i>>2]|0,r[l>>2]|0,r[u+(r[p>>2]<<2)>>2]|0,r[s>>2]|0);break}case 3:{Ot(r[o>>2]|0,r[u+(r[p>>2]<<2)>>2]<<r[f>>2],r[i>>2]|0,r[l>>2]|0,r[u+(r[p>>2]<<2)>>2]|0,r[s>>2]|0);break}case 5:{Nt(r[o>>2]|0,r[u+(r[p>>2]<<2)>>2]<<r[f>>2],r[i>>2]|0,r[l>>2]|0,r[u+(r[p>>2]<<2)>>2]|0,r[s>>2]|0);break}default:{}}r[l>>2]=r[s>>2];r[p>>2]=(r[p>>2]|0)+-1}m=n;return}function Dt(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,a=0,o=0,s=0,l=0,d=0,u=0;i=m;m=m+32|0;a=i+28|0;o=i+20|0;s=i+16|0;l=i+12|0;d=i+8|0;u=i;r[a>>2]=e;r[i+24>>2]=t;r[o>>2]=n;c[d>>2]=.7071067690849304;r[l>>2]=0;while(1){if((r[l>>2]|0)>=(r[o>>2]|0))break;r[s>>2]=(r[a>>2]|0)+32;n=r[s>>2]|0;r[u>>2]=r[n>>2];r[u+4>>2]=r[n+4>>2];c[r[s>>2]>>2]=+c[r[a>>2]>>2]-+c[u>>2];c[(r[s>>2]|0)+4>>2]=+c[(r[a>>2]|0)+4>>2]-+c[u+4>>2];n=r[a>>2]|0;c[n>>2]=+c[n>>2]+ +c[u>>2];n=(r[a>>2]|0)+4|0;c[n>>2]=+c[n>>2]+ +c[u+4>>2];c[u>>2]=(+c[(r[s>>2]|0)+8>>2]+ +c[(r[s>>2]|0)+8+4>>2])*+c[d>>2];c[u+4>>2]=(+c[(r[s>>2]|0)+8+4>>2]-+c[(r[s>>2]|0)+8>>2])*+c[d>>2];c[(r[s>>2]|0)+8>>2]=+c[(r[a>>2]|0)+8>>2]-+c[u>>2];c[(r[s>>2]|0)+8+4>>2]=+c[(r[a>>2]|0)+8+4>>2]-+c[u+4>>2];n=(r[a>>2]|0)+8|0;c[n>>2]=+c[n>>2]+ +c[u>>2];n=(r[a>>2]|0)+8+4|0;c[n>>2]=+c[n>>2]+ +c[u+4>>2];c[u>>2]=+c[(r[s>>2]|0)+16+4>>2];c[u+4>>2]=-+c[(r[s>>2]|0)+16>>2];c[(r[s>>2]|0)+16>>2]=+c[(r[a>>2]|0)+16>>2]-+c[u>>2];c[(r[s>>2]|0)+16+4>>2]=+c[(r[a>>2]|0)+16+4>>2]-+c[u+4>>2];n=(r[a>>2]|0)+16|0;c[n>>2]=+c[n>>2]+ +c[u>>2];n=(r[a>>2]|0)+16+4|0;c[n>>2]=+c[n>>2]+ +c[u+4>>2];c[u>>2]=(+c[(r[s>>2]|0)+24+4>>2]-+c[(r[s>>2]|0)+24>>2])*+c[d>>2];c[u+4>>2]=(-+c[(r[s>>2]|0)+24+4>>2]-+c[(r[s>>2]|0)+24>>2])*+c[d>>2];c[(r[s>>2]|0)+24>>2]=+c[(r[a>>2]|0)+24>>2]-+c[u>>2];c[(r[s>>2]|0)+24+4>>2]=+c[(r[a>>2]|0)+24+4>>2]-+c[u+4>>2];n=(r[a>>2]|0)+24|0;c[n>>2]=+c[n>>2]+ +c[u>>2];n=(r[a>>2]|0)+24+4|0;c[n>>2]=+c[n>>2]+ +c[u+4>>2];r[a>>2]=(r[a>>2]|0)+64;r[l>>2]=(r[l>>2]|0)+1}m=i;return}function Rt(e,t,n,i,a,o){e=e|0;t=t|0;n=n|0;i=i|0;a=a|0;o=o|0;var s=0,l=0,d=0,u=0,p=0,f=0,h=0,g=0,_=0,v=0,y=0,b=0,w=0,k=0,M=0,S=0,A=0,C=0;s=m;m=m+128|0;l=s+120|0;d=s+116|0;u=s+112|0;p=s+108|0;f=s+104|0;h=s+100|0;g=s+96|0;_=s+88|0;v=s+80|0;y=s+72|0;b=s+24|0;w=s+20|0;k=s+16|0;M=s+12|0;S=s+8|0;A=s+4|0;C=s;r[l>>2]=e;r[d>>2]=t;r[u>>2]=n;r[p>>2]=i;r[f>>2]=a;r[h>>2]=o;if((r[p>>2]|0)==1){r[g>>2]=0;while(1){if((r[g>>2]|0)>=(r[f>>2]|0))break;c[_>>2]=+c[r[l>>2]>>2]-+c[(r[l>>2]|0)+16>>2];c[_+4>>2]=+c[(r[l>>2]|0)+4>>2]-+c[(r[l>>2]|0)+16+4>>2];o=r[l>>2]|0;c[o>>2]=+c[o>>2]+ +c[(r[l>>2]|0)+16>>2];o=(r[l>>2]|0)+4|0;c[o>>2]=+c[o>>2]+ +c[(r[l>>2]|0)+16+4>>2];c[v>>2]=+c[(r[l>>2]|0)+8>>2]+ +c[(r[l>>2]|0)+24>>2];c[v+4>>2]=+c[(r[l>>2]|0)+8+4>>2]+ +c[(r[l>>2]|0)+24+4>>2];c[(r[l>>2]|0)+16>>2]=+c[r[l>>2]>>2]-+c[v>>2];c[(r[l>>2]|0)+16+4>>2]=+c[(r[l>>2]|0)+4>>2]-+c[v+4>>2];o=r[l>>2]|0;c[o>>2]=+c[o>>2]+ +c[v>>2];o=(r[l>>2]|0)+4|0;c[o>>2]=+c[o>>2]+
r[q>>2]=0;r[Q>>2]=0;if((r[U>>2]|0)==0?((r[J>>2]|0)+16|0)<=(r[Y>>2]|0):0){if(Ye(r[v>>2]|0,1)|0){r[ue>>2]=qe(r[v>>2]|0,6)|0;A=16<<r[ue>>2];r[q>>2]=A+(De(r[v>>2]|0,4+(r[ue>>2]|0)|0)|0)-1;r[de>>2]=De(r[v>>2]|0,3)|0;ue=(nn(r[v>>2]|0)|0)+2|0;if((ue|0)<=(r[Y>>2]|0))r[Q>>2]=an(r[v>>2]|0,25134,2)|0;c[z>>2]=+((r[de>>2]|0)+1|0)*.09375}r[J>>2]=nn(r[v>>2]|0)|0}if((r[L>>2]|0)>0?((r[J>>2]|0)+3|0)<=(r[Y>>2]|0):0){r[R>>2]=Ye(r[v>>2]|0,3)|0;r[J>>2]=nn(r[v>>2]|0)|0}else r[R>>2]=0;if(r[R>>2]|0)r[D>>2]=r[F>>2];else r[D>>2]=0;if(((r[J>>2]|0)+3|0)<=(r[Y>>2]|0))ke=Ye(r[v>>2]|0,3)|0;else ke=0;r[O>>2]=ke;rn(r[ae>>2]|0,r[U>>2]|0,r[B>>2]|0,r[$>>2]|0,r[O>>2]|0,r[v>>2]|0,r[ie>>2]|0,r[L>>2]|0);O=r[re>>2]|0;r[pe>>2]=oe()|0;ke=m;m=m+((1*(O<<2)|0)+15&-16)|0;on(r[U>>2]|0,r[B>>2]|0,r[R>>2]|0,ke,r[L>>2]|0,r[v>>2]|0);r[J>>2]=nn(r[v>>2]|0)|0;r[M>>2]=2;if(((r[J>>2]|0)+4|0)<=(r[Y>>2]|0))r[M>>2]=an(r[v>>2]|0,25137,5)|0;O=m;m=m+((1*(r[re>>2]<<2)|0)+15&-16)|0;At(r[ae>>2]|0,O,r[L>>2]|0,r[ie>>2]|0);de=m;m=m+((1*(r[re>>2]<<2)|0)+15&-16)|0;r[Z>>2]=6;r[Y>>2]=r[Y>>2]<<3;r[J>>2]=Ce(r[v>>2]|0)|0;r[w>>2]=r[U>>2];while(1){if((r[w>>2]|0)>=(r[B>>2]|0))break;ue=W(r[ie>>2]|0,(a[(r[le>>2]|0)+((r[w>>2]|0)+1<<1)>>1]|0)-(a[(r[le>>2]|0)+(r[w>>2]<<1)>>1]|0)|0)|0;r[fe>>2]=ue<<r[L>>2];ue=r[fe>>2]|0;if((r[fe>>2]<<3|0)<((48>(r[fe>>2]|0)?48:r[fe>>2]|0)|0))Me=ue<<3;else Me=48>(ue|0)?48:r[fe>>2]|0;r[me>>2]=Me;r[he>>2]=r[Z>>2];r[ge>>2]=0;while(1){if(((r[J>>2]|0)+(r[he>>2]<<3)|0)>=(r[Y>>2]|0))break;if((r[ge>>2]|0)>=(r[O+(r[w>>2]<<2)>>2]|0))break;r[_e>>2]=Ye(r[v>>2]|0,r[he>>2]|0)|0;r[J>>2]=Ce(r[v>>2]|0)|0;if(!(r[_e>>2]|0))break;r[ge>>2]=(r[ge>>2]|0)+(r[me>>2]|0);r[Y>>2]=(r[Y>>2]|0)-(r[me>>2]|0);r[he>>2]=1}r[de+(r[w>>2]<<2)>>2]=r[ge>>2];if((r[ge>>2]|0)>0)r[Z>>2]=2>((r[Z>>2]|0)-1|0)?2:(r[Z>>2]|0)-1|0;r[w>>2]=(r[w>>2]|0)+1}Z=m;m=m+((1*(r[re>>2]<<2)|0)+15&-16)|0;if(((r[J>>2]|0)+48|0)<=(r[Y>>2]|0))Se=an(r[v>>2]|0,25141,7)|0;else Se=5;r[V>>2]=Se;Se=r[h>>2]<<3<<3;r[S>>2]=Se-(Ce(r[v>>2]|0)|0)-1;if((r[R>>2]|0)!=0&(r[L>>2]|0)>=2)Te=(r[S>>2]|0)>=((r[L>>2]|0)+2<<3|0);else Te=0;r[ee>>2]=Te?8:0;r[S>>2]=(r[S>>2]|0)-(r[ee>>2]|0);Te=m;m=m+((1*(r[re>>2]<<2)|0)+15&-16)|0;Se=m;m=m+((1*(r[re>>2]<<2)|0)+15&-16)|0;r[j>>2]=Tt(r[ae>>2]|0,r[U>>2]|0,r[B>>2]|0,de,O,r[V>>2]|0,G,K,r[S>>2]|0,X,Te,Z,Se,r[ie>>2]|0,r[L>>2]|0,r[v>>2]|0,0,0,0)|0;sn(r[ae>>2]|0,r[U>>2]|0,r[B>>2]|0,r[$>>2]|0,Z,r[v>>2]|0,r[ie>>2]|0);r[b>>2]=0;do{Ba(r[C+(r[b>>2]<<2)>>2]|0,(r[C+(r[b>>2]<<2)>>2]|0)+(r[k>>2]<<2)|0,(2048-(r[k>>2]|0)+((r[se>>2]|0)/2|0)<<2)+0|0)|0;S=(r[b>>2]|0)+1|0;r[b>>2]=S}while((S|0)<(r[N>>2]|0));C=W(r[ie>>2]|0,r[re>>2]|0)|0;S=m;m=m+((1*C|0)+15&-16)|0;C=(W(r[ie>>2]|0,r[k>>2]|0)|0)<<2;V=m;m=m+((1*C|0)+15&-16)|0;Ae(0,r[ae>>2]|0,r[U>>2]|0,r[B>>2]|0,V,(r[ie>>2]|0)==2?V+(r[k>>2]<<2)|0:0,S,0,Te,r[D>>2]|0,r[M>>2]|0,r[K>>2]|0,r[G>>2]|0,ke,(r[h>>2]<<6)-(r[ee>>2]|0)|0,r[X>>2]|0,r[v>>2]|0,r[L>>2]|0,r[j>>2]|0,(r[p>>2]|0)+36|0);if((r[ee>>2]|0)>0)r[te>>2]=De(r[v>>2]|0,1)|0;ee=r[ae>>2]|0;j=r[U>>2]|0;X=r[B>>2]|0;ke=r[$>>2]|0;G=r[h>>2]<<3;K=G-(nn(r[v>>2]|0)|0)|0;ln(ee,j,X,ke,Z,Se,K,r[v>>2]|0,r[ie>>2]|0);if(r[te>>2]|0)be(r[ae>>2]|0,V,S,r[L>>2]|0,r[ie>>2]|0,r[k>>2]|0,r[U>>2]|0,r[B>>2]|0,r[$>>2]|0,r[I>>2]|0,r[x>>2]|0,Te,r[(r[p>>2]|0)+36>>2]|0);e:do if(r[ne>>2]|0){r[w>>2]=0;while(1){if((r[w>>2]|0)>=(W(r[ie>>2]|0,r[re>>2]|0)|0))break e;c[(r[$>>2]|0)+(r[w>>2]<<2)>>2]=-28;r[w>>2]=(r[w>>2]|0)+1}}while(0);cn(r[ae>>2]|0,V,T,r[$>>2]|0,r[U>>2]|0,r[H>>2]|0,r[ie>>2]|0,r[N>>2]|0,r[R>>2]|0,r[L>>2]|0,r[(r[p>>2]|0)+16>>2]|0,r[ne>>2]|0);r[b>>2]=0;do{if((r[(r[p>>2]|0)+52>>2]|0)>15)Ee=r[(r[p>>2]|0)+52>>2]|0;else Ee=15;r[(r[p>>2]|0)+52>>2]=Ee;if((r[(r[p>>2]|0)+56>>2]|0)>15)$e=r[(r[p>>2]|0)+56>>2]|0;else $e=15;r[(r[p>>2]|0)+56>>2]=$e;Mt(r[T+(r[b>>2]<<2)>>2]|0,r[T+(r[b>>2]<<2)>>2]|0,r[(r[p>>2]|0)+56>>2]|0,r[(r[p>>2]|0)+52>>2]|0,r[(r[ae>>2]|0)+44>>2]|0,+c[(r[p>>2]|0)+64>>2],+c[(r[p>>2]|0)+60>>2],r[(r[p>>2]|0)+72>>2]|0,r[(r[p>>2]|0)+68>>2]|0,r[(r[ae>>2]|0)+60>>2]|0,r[se>>2]|0);if(r[L>>2]|0)Mt((r[T+(r[b>>2]<<2)>>2]|0)+(r[(r[ae>>2]|0)+44>>2]<<2)|0,(r[T+(r[b>>2]<<2)>>2]|0)+(r[(r[ae>>2]|0)+44>>2]<<2)|0,r[(r[p>>2]|0)+52>>2]|0,r[q>>2]|0,(r[k>>2]|0)-(r[(r[ae>>2]|0)+44>>2]|0)|0,+c[(r[p
c[b>>2]=+c[(r[l>>2]|0)+(r[g>>2]<<2)>>2];r[_>>2]=0;while(1){if((r[_>>2]|0)>=(r[f>>2]|0))break;c[b>>2]=+c[b>>2]-+c[a+(r[_>>2]<<2)>>2]*+c[o+((r[g>>2]|0)+(r[_>>2]|0)<<2)>>2];r[_>>2]=(r[_>>2]|0)+1}c[o+((r[g>>2]|0)+(r[f>>2]|0)<<2)>>2]=+c[b>>2];c[(r[u>>2]|0)+(r[g>>2]<<2)>>2]=+c[b>>2];r[g>>2]=(r[g>>2]|0)+1}r[g>>2]=0;while(1){if((r[g>>2]|0)>=(r[f>>2]|0))break;c[(r[h>>2]|0)+(r[g>>2]<<2)>>2]=+c[(r[u>>2]|0)+((r[p>>2]|0)-(r[g>>2]|0)-1<<2)>>2];r[g>>2]=(r[g>>2]|0)+1}ce(r[v>>2]|0);m=s;return}function _n(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var a=0,o=0,s=0,l=0,d=0,u=0,p=0,f=0,h=0,g=0,_=0,v=0,y=0,b=0;a=m;m=m+64|0;o=a+48|0;s=a+44|0;l=a+40|0;d=a+36|0;u=a+32|0;p=a+28|0;f=a+24|0;h=a+20|0;g=a+16|0;_=a+12|0;v=a+8|0;y=a+4|0;b=a;r[o>>2]=e;r[s>>2]=t;r[l>>2]=n;r[d>>2]=i;c[g>>2]=0;i=r[s>>2]|0;r[s>>2]=i+4;c[p>>2]=+c[i>>2];i=r[s>>2]|0;r[s>>2]=i+4;c[f>>2]=+c[i>>2];i=r[s>>2]|0;r[s>>2]=i+4;c[h>>2]=+c[i>>2];r[u>>2]=0;while(1){if((r[u>>2]|0)>=((r[d>>2]|0)-3|0))break;i=r[o>>2]|0;r[o>>2]=i+4;c[_>>2]=+c[i>>2];i=r[s>>2]|0;r[s>>2]=i+4;c[g>>2]=+c[i>>2];c[r[l>>2]>>2]=+c[r[l>>2]>>2]+ +c[_>>2]*+c[p>>2];c[(r[l>>2]|0)+4>>2]=+c[(r[l>>2]|0)+4>>2]+ +c[_>>2]*+c[f>>2];c[(r[l>>2]|0)+8>>2]=+c[(r[l>>2]|0)+8>>2]+ +c[_>>2]*+c[h>>2];c[(r[l>>2]|0)+12>>2]=+c[(r[l>>2]|0)+12>>2]+ +c[_>>2]*+c[g>>2];i=r[o>>2]|0;r[o>>2]=i+4;c[_>>2]=+c[i>>2];i=r[s>>2]|0;r[s>>2]=i+4;c[p>>2]=+c[i>>2];c[r[l>>2]>>2]=+c[r[l>>2]>>2]+ +c[_>>2]*+c[f>>2];c[(r[l>>2]|0)+4>>2]=+c[(r[l>>2]|0)+4>>2]+ +c[_>>2]*+c[h>>2];c[(r[l>>2]|0)+8>>2]=+c[(r[l>>2]|0)+8>>2]+ +c[_>>2]*+c[g>>2];c[(r[l>>2]|0)+12>>2]=+c[(r[l>>2]|0)+12>>2]+ +c[_>>2]*+c[p>>2];i=r[o>>2]|0;r[o>>2]=i+4;c[_>>2]=+c[i>>2];i=r[s>>2]|0;r[s>>2]=i+4;c[f>>2]=+c[i>>2];c[r[l>>2]>>2]=+c[r[l>>2]>>2]+ +c[_>>2]*+c[h>>2];c[(r[l>>2]|0)+4>>2]=+c[(r[l>>2]|0)+4>>2]+ +c[_>>2]*+c[g>>2];c[(r[l>>2]|0)+8>>2]=+c[(r[l>>2]|0)+8>>2]+ +c[_>>2]*+c[p>>2];c[(r[l>>2]|0)+12>>2]=+c[(r[l>>2]|0)+12>>2]+ +c[_>>2]*+c[f>>2];i=r[o>>2]|0;r[o>>2]=i+4;c[_>>2]=+c[i>>2];i=r[s>>2]|0;r[s>>2]=i+4;c[h>>2]=+c[i>>2];c[r[l>>2]>>2]=+c[r[l>>2]>>2]+ +c[_>>2]*+c[g>>2];c[(r[l>>2]|0)+4>>2]=+c[(r[l>>2]|0)+4>>2]+ +c[_>>2]*+c[p>>2];c[(r[l>>2]|0)+8>>2]=+c[(r[l>>2]|0)+8>>2]+ +c[_>>2]*+c[f>>2];c[(r[l>>2]|0)+12>>2]=+c[(r[l>>2]|0)+12>>2]+ +c[_>>2]*+c[h>>2];r[u>>2]=(r[u>>2]|0)+4}_=r[u>>2]|0;r[u>>2]=_+1;if((_|0)<(r[d>>2]|0)){_=r[o>>2]|0;r[o>>2]=_+4;c[v>>2]=+c[_>>2];_=r[s>>2]|0;r[s>>2]=_+4;c[g>>2]=+c[_>>2];c[r[l>>2]>>2]=+c[r[l>>2]>>2]+ +c[v>>2]*+c[p>>2];c[(r[l>>2]|0)+4>>2]=+c[(r[l>>2]|0)+4>>2]+ +c[v>>2]*+c[f>>2];c[(r[l>>2]|0)+8>>2]=+c[(r[l>>2]|0)+8>>2]+ +c[v>>2]*+c[h>>2];c[(r[l>>2]|0)+12>>2]=+c[(r[l>>2]|0)+12>>2]+ +c[v>>2]*+c[g>>2]}v=r[u>>2]|0;r[u>>2]=v+1;if((v|0)<(r[d>>2]|0)){v=r[o>>2]|0;r[o>>2]=v+4;c[y>>2]=+c[v>>2];v=r[s>>2]|0;r[s>>2]=v+4;c[p>>2]=+c[v>>2];c[r[l>>2]>>2]=+c[r[l>>2]>>2]+ +c[y>>2]*+c[f>>2];c[(r[l>>2]|0)+4>>2]=+c[(r[l>>2]|0)+4>>2]+ +c[y>>2]*+c[h>>2];c[(r[l>>2]|0)+8>>2]=+c[(r[l>>2]|0)+8>>2]+ +c[y>>2]*+c[g>>2];c[(r[l>>2]|0)+12>>2]=+c[(r[l>>2]|0)+12>>2]+ +c[y>>2]*+c[p>>2]}if((r[u>>2]|0)>=(r[d>>2]|0)){m=a;return}d=r[o>>2]|0;r[o>>2]=d+4;c[b>>2]=+c[d>>2];d=r[s>>2]|0;r[s>>2]=d+4;c[f>>2]=+c[d>>2];c[r[l>>2]>>2]=+c[r[l>>2]>>2]+ +c[b>>2]*+c[h>>2];c[(r[l>>2]|0)+4>>2]=+c[(r[l>>2]|0)+4>>2]+ +c[b>>2]*+c[g>>2];c[(r[l>>2]|0)+8>>2]=+c[(r[l>>2]|0)+8>>2]+ +c[b>>2]*+c[p>>2];c[(r[l>>2]|0)+12>>2]=+c[(r[l>>2]|0)+12>>2]+ +c[b>>2]*+c[f>>2];m=a;return}function vn(e){e=e|0;var t=0,n=0,i=0,o=0,s=0;t=m;m=m+16|0;n=t+12|0;i=t+8|0;o=t+4|0;s=t;r[n>>2]=e;r[o>>2]=32767/((r[(r[n>>2]|0)+2340>>2]|0)+1|0)|0;r[s>>2]=0;r[i>>2]=0;while(1){if((r[i>>2]|0)>=(r[(r[n>>2]|0)+2340>>2]|0))break;r[s>>2]=(r[s>>2]|0)+(r[o>>2]|0);a[(r[n>>2]|0)+2772+1280+(r[i>>2]<<1)>>1]=r[s>>2];r[i>>2]=(r[i>>2]|0)+1}r[(r[n>>2]|0)+2772+1376>>2]=0;r[(r[n>>2]|0)+2772+1380>>2]=3176576;m=t;return}function yn(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var o=0,s=0,l=0,c=0,d=0,u=0,p=0,f=0,h=0,g=0,_=0,v=0,y=0;o=m;m=m+80|0;s=o+36|0;l=o+32|0;c=o+28|0;d=o+24|0;u=o+20|0;p=o+16|0;f=o+12|0;h=o+8|0;g=o+40|0;_=o+4|0;v=o;r[s>>2]=e;r[l>>2]=t;r[c>>2]=n;r[d>>2]=i;r[_>>2]=(r[s>>2]|0)+2772;if((r[(r[s>>2]|0)+2316>>2]|0)!=(r[(r[_>>2]|0)+1384>>2]|0)){vn(r[s>>2]|0);r[(r[_>>2]|0)+1384>>2]=r[(r[s>>2]|0)+2316>>2]}e:do if((r[
}i=32-(32-(Y(r[n>>2]|0)|0))|0;m=t;return i|0}function Nn(e,t,n,a,o,s){e=e|0;t=t|0;n=n|0;a=a|0;o=o|0;s=s|0;var l=0,c=0,d=0,u=0,p=0,f=0,h=0,g=0,_=0,v=0,y=0,b=0,w=0;l=m;m=m+192|0;c=l+176|0;d=l+172|0;u=l+168|0;p=l+164|0;f=l+160|0;h=l+156|0;g=l+152|0;_=l+148|0;v=l+144|0;y=l+4|0;b=l;r[c>>2]=e;r[d>>2]=t;r[u>>2]=n;r[p>>2]=a;r[f>>2]=o;r[h>>2]=s;r[v>>2]=0;r[g>>2]=r[(r[c>>2]|0)+2328>>2];r[y+136>>2]=0;do if(!(r[f>>2]|0))w=4;else{if((r[f>>2]|0)==2?(r[(r[c>>2]|0)+2420+(r[(r[c>>2]|0)+2388>>2]<<2)>>2]|0)==1:0){w=4;break}Bn(r[c>>2]|0,y,r[u>>2]|0,1)}while(0);if((w|0)==4){w=(r[g>>2]|0)+16-1&-16;r[b>>2]=oe()|0;s=m;m=m+((1*(w<<1)|0)+15&-16)|0;Ln(r[c>>2]|0,r[d>>2]|0,r[(r[c>>2]|0)+2388>>2]|0,r[f>>2]|0,r[h>>2]|0);Fn(r[d>>2]|0,s,i[(r[c>>2]|0)+2736+29>>0]|0,i[(r[c>>2]|0)+2736+30>>0]|0,r[(r[c>>2]|0)+2328>>2]|0);Un(r[c>>2]|0,y,r[h>>2]|0);xn(r[c>>2]|0,y,r[u>>2]|0,s);Bn(r[c>>2]|0,y,r[u>>2]|0,0);r[(r[c>>2]|0)+4160>>2]=0;r[(r[c>>2]|0)+4164>>2]=i[(r[c>>2]|0)+2736+29>>0];r[(r[c>>2]|0)+2376>>2]=0;ce(r[b>>2]|0)}r[_>>2]=(r[(r[c>>2]|0)+2336>>2]|0)-(r[(r[c>>2]|0)+2328>>2]|0);Ba((r[c>>2]|0)+1348|0,(r[c>>2]|0)+1348+(r[(r[c>>2]|0)+2328>>2]<<1)|0,r[_>>2]<<1|0)|0;La((r[c>>2]|0)+1348+(r[_>>2]<<1)|0,r[u>>2]|0,r[(r[c>>2]|0)+2328>>2]<<1|0)|0;Hn(r[c>>2]|0,r[u>>2]|0,r[g>>2]|0);yn(r[c>>2]|0,y,r[u>>2]|0,r[g>>2]|0);r[(r[c>>2]|0)+2308>>2]=r[y+((r[(r[c>>2]|0)+2324>>2]|0)-1<<2)>>2];r[r[p>>2]>>2]=r[g>>2];m=l;return r[v>>2]|0}function Ln(e,t,n,o,s){e=e|0;t=t|0;n=n|0;o=o|0;s=s|0;var l=0,c=0,d=0,u=0,p=0,f=0,h=0,g=0,_=0,v=0,y=0,b=0,w=0,k=0,M=0,S=0,A=0,C=0,T=0,E=0,$=0,I=0,x=0,P=0,D=0,R=0,O=0,N=0,L=0,F=0,U=0;l=m;m=m+96|0;c=l+36|0;d=l+32|0;u=l+28|0;p=l+24|0;f=l+20|0;h=l+16|0;g=l+12|0;_=l+8|0;v=l+4|0;y=l;b=l+40|0;w=l+72|0;r[c>>2]=e;r[d>>2]=t;r[u>>2]=n;r[p>>2]=o;r[f>>2]=s;if(!(r[p>>2]|0)?!(r[(r[c>>2]|0)+2404+(r[u>>2]<<2)>>2]|0):0)r[_>>2]=an(r[d>>2]|0,22720,8)|0;else r[_>>2]=(an(r[d>>2]|0,22716,8)|0)+2;i[(r[c>>2]|0)+2736+29>>0]=r[_>>2]>>1;i[(r[c>>2]|0)+2736+30>>0]=r[_>>2]&1;u=r[d>>2]|0;if((r[f>>2]|0)==2){p=(an(u,20582,8)|0)&255;i[(r[c>>2]|0)+2736>>0]=p}else{p=(an(u,20558+(i[(r[c>>2]|0)+2736+29>>0]<<3)|0,8)|0)<<3&255;i[(r[c>>2]|0)+2736>>0]=p;p=((an(r[d>>2]|0,22745,8)|0)&255)<<24>>24;u=(r[c>>2]|0)+2736|0;i[u>>0]=(i[u>>0]|0)+p}r[h>>2]=1;while(1){k=r[d>>2]|0;if((r[h>>2]|0)>=(r[(r[c>>2]|0)+2324>>2]|0))break;p=(an(k,20582,8)|0)&255;i[(r[c>>2]|0)+2736+(r[h>>2]|0)>>0]=p;r[h>>2]=(r[h>>2]|0)+1}p=(an(k,(r[(r[(r[c>>2]|0)+2732>>2]|0)+12>>2]|0)+(W(i[(r[c>>2]|0)+2736+29>>0]>>1,a[r[(r[c>>2]|0)+2732>>2]>>1]|0)|0)|0,8)|0)&255;i[(r[c>>2]|0)+2736+8>>0]=p;oi(b,w,r[(r[c>>2]|0)+2732>>2]|0,i[(r[c>>2]|0)+2736+8>>0]|0);r[h>>2]=0;while(1){if((r[h>>2]|0)>=(a[(r[(r[c>>2]|0)+2732>>2]|0)+2>>1]|0))break;r[_>>2]=an(r[d>>2]|0,(r[(r[(r[c>>2]|0)+2732>>2]|0)+24>>2]|0)+(a[b+(r[h>>2]<<1)>>1]|0)|0,8)|0;if(r[_>>2]|0){if((r[_>>2]|0)==8){w=an(r[d>>2]|0,22753,8)|0;r[_>>2]=(r[_>>2]|0)+w}}else{w=an(r[d>>2]|0,22753,8)|0;r[_>>2]=(r[_>>2]|0)-w}i[(r[c>>2]|0)+2736+8+((r[h>>2]|0)+1)>>0]=(r[_>>2]|0)-4;r[h>>2]=(r[h>>2]|0)+1}if((r[(r[c>>2]|0)+2324>>2]|0)==4){h=(an(r[d>>2]|0,22722,8)|0)&255;M=h;S=r[c>>2]|0}else{M=4;S=r[c>>2]|0}i[S+2736+31>>0]=M;if((i[(r[c>>2]|0)+2736+29>>0]|0)!=2){A=r[c>>2]|0;C=A+2736|0;T=C+29|0;E=i[T>>0]|0;$=E<<24>>24;I=r[c>>2]|0;x=I+2396|0;r[x>>2]=$;P=r[d>>2]|0;D=an(P,22730,8)|0;R=D&255;O=r[c>>2]|0;N=O+2736|0;L=N+34|0;i[L>>0]=R;m=l;return}r[v>>2]=1;if(((r[f>>2]|0)==2?(r[(r[c>>2]|0)+2396>>2]|0)==2:0)?(r[y>>2]=((an(r[d>>2]|0,22792,8)|0)&65535)<<16>>16,(r[y>>2]|0)>0):0){r[y>>2]=(r[y>>2]|0)-9;a[(r[c>>2]|0)+2736+26>>1]=(a[(r[c>>2]|0)+2400>>1]|0)+(r[y>>2]|0);r[v>>2]=0}if(r[v>>2]|0){v=((an(r[d>>2]|0,22760,8)|0)&65535)<<16>>16;y=(W(v,r[(r[c>>2]|0)+2316>>2]>>1)|0)&65535;a[(r[c>>2]|0)+2736+26>>1]=y;y=((an(r[d>>2]|0,r[(r[c>>2]|0)+2380>>2]|0,8)|0)&65535)<<16>>16;v=(r[c>>2]|0)+2736+26|0;a[v>>1]=(a[v>>1]|0)+y}a[(r[c>>2]|0)+2400>>1]=a[(r[c>>2]|0)+2736+26>>1]|0;y=(an(r[d>>2]|0,r[(r[c>>2]|0)+2384>>2]|0,8)|0)&255;i[(r[c>>2]|0)+2736+28>>0]=y;y=(an(r[d>>2]|0,20623,8)|0)&255;i[(r[c>>2]|0)+2736+32>>0]=y;r[g>>2]=0;while(1){if((r[g>>2]|0)>=(r[(r[c>>2]|0)+2324>>2]|0))break;y=(an(r[d>>2]|0,r[108+(i[(r[c>>2]|0)+2736+32>>0]<<2)>>2]|0,8)|0)&255;i[(r[
i[(r[d>>2]|0)+(r[f>>2]|0)>>0]=p;a[(r[c>>2]|0)+((r[f>>2]|0)+1<<1)>>1]=((o[h>>0]>>5&7)<<16>>16)*9;p=i[(r[(r[u>>2]|0)+16>>2]|0)+((r[f>>2]|0)+(W(o[h>>0]>>4&1,(a[(r[u>>2]|0)+2>>1]|0)-1|0)|0)+1)>>0]|0;i[(r[d>>2]|0)+((r[f>>2]|0)+1)>>0]=p;r[f>>2]=(r[f>>2]|0)+2}m=l;return}function si(e,t,n,s,l){e=e|0;t=t|0;n=n|0;s=s|0;l=l|0;var c=0,d=0,u=0,p=0,f=0,h=0,g=0,_=0,v=0;c=m;m=m+32|0;d=c+24|0;u=c+20|0;p=c+16|0;f=c+12|0;h=c+28|0;g=c+8|0;_=c+4|0;v=c;r[d>>2]=e;r[u>>2]=t;r[p>>2]=n;r[f>>2]=s;a[h>>1]=l;r[_>>2]=0;r[g>>2]=(a[h>>1]|0)-1;while(1){if((r[g>>2]|0)<0)break;r[v>>2]=(W((r[_>>2]&65535)<<16>>16,o[(r[p>>2]|0)+(r[g>>2]|0)>>0]|0)|0)>>8;r[_>>2]=i[(r[u>>2]|0)+(r[g>>2]|0)>>0]<<10;h=r[_>>2]|0;if((r[_>>2]|0)<=0){if((h|0)<0)r[_>>2]=(r[_>>2]|0)+102}else r[_>>2]=h-102;h=W(r[_>>2]>>16,(r[f>>2]&65535)<<16>>16)|0;r[_>>2]=(r[v>>2]|0)+(h+((W(r[_>>2]&65535,(r[f>>2]&65535)<<16>>16)|0)>>16));a[(r[d>>2]|0)+(r[g>>2]<<1)>>1]=r[_>>2];r[g>>2]=(r[g>>2]|0)+-1}m=c;return}function li(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0,s=0,l=0,c=0,d=0,u=0,p=0;i=m;m=m+32|0;o=i+20|0;s=i+16|0;l=i+12|0;c=i+8|0;d=i+4|0;u=i;r[o>>2]=e;r[s>>2]=t;r[l>>2]=n;r[d>>2]=_i(a[r[s>>2]>>1]|0,1)|0;r[d>>2]=131072/(r[d>>2]|0)|0;r[u>>2]=_i((a[(r[s>>2]|0)+2>>1]|0)-(a[r[s>>2]>>1]|0)|0,1)|0;r[u>>2]=131072/(r[u>>2]|0)|0;n=(vi((r[d>>2]|0)+(r[u>>2]|0)|0,32767)|0)&65535;a[r[o>>2]>>1]=n;r[c>>2]=1;while(1){p=r[s>>2]|0;if((r[c>>2]|0)>=((r[l>>2]|0)-1|0))break;r[d>>2]=_i((a[p+((r[c>>2]|0)+1<<1)>>1]|0)-(a[(r[s>>2]|0)+(r[c>>2]<<1)>>1]|0)|0,1)|0;r[d>>2]=131072/(r[d>>2]|0)|0;n=(vi((r[d>>2]|0)+(r[u>>2]|0)|0,32767)|0)&65535;a[(r[o>>2]|0)+(r[c>>2]<<1)>>1]=n;r[u>>2]=_i((a[(r[s>>2]|0)+((r[c>>2]|0)+2<<1)>>1]|0)-(a[(r[s>>2]|0)+((r[c>>2]|0)+1<<1)>>1]|0)|0,1)|0;r[u>>2]=131072/(r[u>>2]|0)|0;n=(vi((r[d>>2]|0)+(r[u>>2]|0)|0,32767)|0)&65535;a[(r[o>>2]|0)+((r[c>>2]|0)+1<<1)>>1]=n;r[c>>2]=(r[c>>2]|0)+2}r[d>>2]=_i(32768-(a[p+((r[l>>2]|0)-1<<1)>>1]|0)|0,1)|0;r[d>>2]=131072/(r[d>>2]|0)|0;p=(vi((r[d>>2]|0)+(r[u>>2]|0)|0,32767)|0)&65535;a[(r[o>>2]|0)+((r[l>>2]|0)-1<<1)>>1]=p;m=i;return}function ci(e){e=e|0;var t=0,n=0,i=0,a=0,o=0,s=0,l=0;t=m;m=m+32|0;n=t+16|0;i=t+12|0;a=t+8|0;o=t+4|0;s=t;r[i>>2]=e;if((r[i>>2]|0)<=0){r[n>>2]=0;l=r[n>>2]|0;m=t;return l|0}mi(r[i>>2]|0,o,s);if(r[o>>2]&1|0)r[a>>2]=32768;else r[a>>2]=46214;r[a>>2]=r[a>>2]>>(r[o>>2]>>1);o=W(r[a>>2]>>16,(((r[s>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;r[a>>2]=(r[a>>2]|0)+(o+((W(r[a>>2]&65535,(((r[s>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));r[n>>2]=r[a>>2];l=r[n>>2]|0;m=t;return l|0}function di(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0,s=0,l=0,c=0,d=0,u=0,p=0,f=0,h=0,g=0,_=0,v=0,y=0,b=0,w=0,k=0,M=0,S=0,A=0,C=0;i=m;m=m+48|0;o=i+40|0;s=i+36|0;l=i+32|0;c=i+28|0;d=i+24|0;u=i+20|0;p=i+16|0;f=i+44|0;h=i+12|0;g=i+8|0;_=i+4|0;v=i;r[o>>2]=e;r[s>>2]=t;r[l>>2]=n;r[d>>2]=0;r[p>>2]=0;while(1){if((r[p>>2]|0)>=20)break;r[g>>2]=(a[r[o>>2]>>1]|0)-(a[r[s>>2]>>1]|0);r[d>>2]=0;r[c>>2]=1;while(1){y=r[o>>2]|0;if((r[c>>2]|0)>((r[l>>2]|0)-1|0))break;r[h>>2]=(a[y+(r[c>>2]<<1)>>1]|0)-((a[(r[o>>2]|0)+((r[c>>2]|0)-1<<1)>>1]|0)+(a[(r[s>>2]|0)+(r[c>>2]<<1)>>1]|0));if((r[h>>2]|0)<(r[g>>2]|0)){r[g>>2]=r[h>>2];r[d>>2]=r[c>>2]}r[c>>2]=(r[c>>2]|0)+1}r[h>>2]=32768-((a[y+((r[l>>2]|0)-1<<1)>>1]|0)+(a[(r[s>>2]|0)+(r[l>>2]<<1)>>1]|0));if((r[h>>2]|0)<(r[g>>2]|0)){r[g>>2]=r[h>>2];r[d>>2]=r[l>>2]}if((r[g>>2]|0)>=0){b=42;break}if(!(r[d>>2]|0))a[r[o>>2]>>1]=a[r[s>>2]>>1]|0;else{if((r[d>>2]|0)==(r[l>>2]|0)){w=(r[o>>2]|0)+((r[l>>2]|0)-1<<1)|0;k=32768-(a[(r[s>>2]|0)+(r[l>>2]<<1)>>1]|0)&65535}else{r[_>>2]=0;r[u>>2]=0;while(1){M=r[s>>2]|0;if((r[u>>2]|0)>=(r[d>>2]|0))break;r[_>>2]=(r[_>>2]|0)+(a[M+(r[u>>2]<<1)>>1]|0);r[u>>2]=(r[u>>2]|0)+1}r[_>>2]=(r[_>>2]|0)+(a[M+(r[d>>2]<<1)>>1]>>1);r[v>>2]=32768;r[u>>2]=r[l>>2];while(1){S=r[s>>2]|0;if((r[u>>2]|0)<=(r[d>>2]|0))break;r[v>>2]=(r[v>>2]|0)-(a[S+(r[u>>2]<<1)>>1]|0);r[u>>2]=(r[u>>2]|0)+-1}r[v>>2]=(r[v>>2]|0)-(a[S+(r[d>>2]<<1)>>1]>>1);n=((a[(r[o>>2]|0)+((r[d>>2]|0)-1<<1)>>1]|0)+(a[(r[o>>2]|0)+(r[d>>2]<<1)>>1]|0)>>1)+((a[(r[o>>2]|0)+((r[d>>2]|0)-1<<1)>>1]|0)+(a[(r[o>>2]|0)+(r[d>>2]<<1)>>1]|0)&1)|0;do if((r[_>>2]|0)>(r[v>>2]|0)){if((n|0)>(r[_>>2]|0)){A=r[_>>2]|0;break}if((((a[(r[o>>2]|
}m=s;return}function Li(e,t,n,i,o,s,l){e=e|0;t=t|0;n=n|0;i=i|0;o=o|0;s=s|0;l=l|0;var c=0,d=0,u=0,p=0,f=0,h=0,g=0,_=0,v=0,y=0,b=0,w=0,k=0,M=0,S=0,A=0,C=0;c=m;m=m+48|0;d=c+44|0;u=c+40|0;p=c+36|0;f=c+32|0;h=c+28|0;g=c+24|0;_=c+20|0;v=c+16|0;y=c+12|0;b=c+8|0;w=c+4|0;k=c;r[d>>2]=e;r[u>>2]=t;r[p>>2]=n;r[f>>2]=i;r[h>>2]=o;r[g>>2]=s;r[_>>2]=l;switch(r[f>>2]|0){case 18:{r[v>>2]=0;while(1){if((r[v>>2]|0)>=(r[g>>2]|0))break;r[b>>2]=(r[u>>2]|0)+(r[v>>2]>>16<<2);f=W((r[v>>2]&65535)>>16,(r[h>>2]&65535)<<16>>16)|0;r[w>>2]=f+((W(r[v>>2]&65535,(r[h>>2]&65535)<<16>>16)|0)>>16);r[k>>2]=(r[p>>2]|0)+((r[w>>2]|0)*9<<1);f=W(r[r[b>>2]>>2]>>16,a[r[k>>2]>>1]|0)|0;r[y>>2]=f+((W(r[r[b>>2]>>2]&65535,a[r[k>>2]>>1]|0)|0)>>16);f=W(r[(r[b>>2]|0)+4>>2]>>16,a[(r[k>>2]|0)+2>>1]|0)|0;r[y>>2]=(r[y>>2]|0)+(f+((W(r[(r[b>>2]|0)+4>>2]&65535,a[(r[k>>2]|0)+2>>1]|0)|0)>>16));f=W(r[(r[b>>2]|0)+8>>2]>>16,a[(r[k>>2]|0)+4>>1]|0)|0;r[y>>2]=(r[y>>2]|0)+(f+((W(r[(r[b>>2]|0)+8>>2]&65535,a[(r[k>>2]|0)+4>>1]|0)|0)>>16));f=W(r[(r[b>>2]|0)+12>>2]>>16,a[(r[k>>2]|0)+6>>1]|0)|0;r[y>>2]=(r[y>>2]|0)+(f+((W(r[(r[b>>2]|0)+12>>2]&65535,a[(r[k>>2]|0)+6>>1]|0)|0)>>16));f=W(r[(r[b>>2]|0)+16>>2]>>16,a[(r[k>>2]|0)+8>>1]|0)|0;r[y>>2]=(r[y>>2]|0)+(f+((W(r[(r[b>>2]|0)+16>>2]&65535,a[(r[k>>2]|0)+8>>1]|0)|0)>>16));f=W(r[(r[b>>2]|0)+20>>2]>>16,a[(r[k>>2]|0)+10>>1]|0)|0;r[y>>2]=(r[y>>2]|0)+(f+((W(r[(r[b>>2]|0)+20>>2]&65535,a[(r[k>>2]|0)+10>>1]|0)|0)>>16));f=W(r[(r[b>>2]|0)+24>>2]>>16,a[(r[k>>2]|0)+12>>1]|0)|0;r[y>>2]=(r[y>>2]|0)+(f+((W(r[(r[b>>2]|0)+24>>2]&65535,a[(r[k>>2]|0)+12>>1]|0)|0)>>16));f=W(r[(r[b>>2]|0)+28>>2]>>16,a[(r[k>>2]|0)+14>>1]|0)|0;r[y>>2]=(r[y>>2]|0)+(f+((W(r[(r[b>>2]|0)+28>>2]&65535,a[(r[k>>2]|0)+14>>1]|0)|0)>>16));f=W(r[(r[b>>2]|0)+32>>2]>>16,a[(r[k>>2]|0)+16>>1]|0)|0;r[y>>2]=(r[y>>2]|0)+(f+((W(r[(r[b>>2]|0)+32>>2]&65535,a[(r[k>>2]|0)+16>>1]|0)|0)>>16));r[k>>2]=(r[p>>2]|0)+(((r[h>>2]|0)-1-(r[w>>2]|0)|0)*9<<1);f=W(r[(r[b>>2]|0)+68>>2]>>16,a[r[k>>2]>>1]|0)|0;r[y>>2]=(r[y>>2]|0)+(f+((W(r[(r[b>>2]|0)+68>>2]&65535,a[r[k>>2]>>1]|0)|0)>>16));f=W(r[(r[b>>2]|0)+64>>2]>>16,a[(r[k>>2]|0)+2>>1]|0)|0;r[y>>2]=(r[y>>2]|0)+(f+((W(r[(r[b>>2]|0)+64>>2]&65535,a[(r[k>>2]|0)+2>>1]|0)|0)>>16));f=W(r[(r[b>>2]|0)+60>>2]>>16,a[(r[k>>2]|0)+4>>1]|0)|0;r[y>>2]=(r[y>>2]|0)+(f+((W(r[(r[b>>2]|0)+60>>2]&65535,a[(r[k>>2]|0)+4>>1]|0)|0)>>16));f=W(r[(r[b>>2]|0)+56>>2]>>16,a[(r[k>>2]|0)+6>>1]|0)|0;r[y>>2]=(r[y>>2]|0)+(f+((W(r[(r[b>>2]|0)+56>>2]&65535,a[(r[k>>2]|0)+6>>1]|0)|0)>>16));f=W(r[(r[b>>2]|0)+52>>2]>>16,a[(r[k>>2]|0)+8>>1]|0)|0;r[y>>2]=(r[y>>2]|0)+(f+((W(r[(r[b>>2]|0)+52>>2]&65535,a[(r[k>>2]|0)+8>>1]|0)|0)>>16));f=W(r[(r[b>>2]|0)+48>>2]>>16,a[(r[k>>2]|0)+10>>1]|0)|0;r[y>>2]=(r[y>>2]|0)+(f+((W(r[(r[b>>2]|0)+48>>2]&65535,a[(r[k>>2]|0)+10>>1]|0)|0)>>16));f=W(r[(r[b>>2]|0)+44>>2]>>16,a[(r[k>>2]|0)+12>>1]|0)|0;r[y>>2]=(r[y>>2]|0)+(f+((W(r[(r[b>>2]|0)+44>>2]&65535,a[(r[k>>2]|0)+12>>1]|0)|0)>>16));f=W(r[(r[b>>2]|0)+40>>2]>>16,a[(r[k>>2]|0)+14>>1]|0)|0;r[y>>2]=(r[y>>2]|0)+(f+((W(r[(r[b>>2]|0)+40>>2]&65535,a[(r[k>>2]|0)+14>>1]|0)|0)>>16));f=W(r[(r[b>>2]|0)+36>>2]>>16,a[(r[k>>2]|0)+16>>1]|0)|0;r[y>>2]=(r[y>>2]|0)+(f+((W(r[(r[b>>2]|0)+36>>2]&65535,a[(r[k>>2]|0)+16>>1]|0)|0)>>16));if(((r[y>>2]>>5)+1>>1|0)<=32767)if(((r[y>>2]>>5)+1>>1|0)<-32768)M=-32768;else M=(r[y>>2]>>5)+1>>1;else M=32767;f=r[d>>2]|0;r[d>>2]=f+2;a[f>>1]=M;r[v>>2]=(r[v>>2]|0)+(r[_>>2]|0)}S=r[d>>2]|0;m=c;return S|0}case 24:{r[v>>2]=0;while(1){if((r[v>>2]|0)>=(r[g>>2]|0))break;r[b>>2]=(r[u>>2]|0)+(r[v>>2]>>16<<2);M=W((r[r[b>>2]>>2]|0)+(r[(r[b>>2]|0)+92>>2]|0)>>16,a[r[p>>2]>>1]|0)|0;r[y>>2]=M+((W((r[r[b>>2]>>2]|0)+(r[(r[b>>2]|0)+92>>2]|0)&65535,a[r[p>>2]>>1]|0)|0)>>16);M=W((r[(r[b>>2]|0)+4>>2]|0)+(r[(r[b>>2]|0)+88>>2]|0)>>16,a[(r[p>>2]|0)+2>>1]|0)|0;r[y>>2]=(r[y>>2]|0)+(M+((W((r[(r[b>>2]|0)+4>>2]|0)+(r[(r[b>>2]|0)+88>>2]|0)&65535,a[(r[p>>2]|0)+2>>1]|0)|0)>>16));M=W((r[(r[b>>2]|0)+8>>2]|0)+(r[(r[b>>2]|0)+84>>2]|0)>>16,a[(r[p>>2]|0)+4>>1]|0)|0;r[y>>2]=(r[y>>2]|0)+(M+((W((r[(r[b>>2]|0)+8>>2]|0)+(r[(r[b>>2]|0)+84>>2]|0)&65535,a[(r[p>>2]|0)+4>>1]|0)|0)>>16));M=W((r[(r[b>>2]|0)+12>>2]|0)+(r[(r[b>>2]|0)+80>>2]|0)>>16,a[(r[p>>2]|0)+6>>1]|0)|0;r[y>>2]=(r[y>>2]|
if((r[K>>2]|0)!=0&(r[X>>2]|0)!=0?r[(r[S>>2]|0)+64>>2]|0:0)break;re=r[x>>2]|0;r[g>>2]=0;Jt(re,10010,g)|0;Zt(r[x>>2]|0,ge,2,r[T>>2]|0,r[Z>>2]|0,0,r[ae>>2]|0)|0}}else{r[he>>2]=(r[te>>2]|0)<(r[E>>2]|0)?r[te>>2]|0:r[E>>2]|0;do if((r[q>>2]|0)!=(r[(r[S>>2]|0)+56>>2]|0)){if((r[(r[S>>2]|0)+56>>2]|0)<=0)break;if(r[(r[S>>2]|0)+64>>2]|0)break;Jt(r[x>>2]|0,4028,_)|0}while(0);r[R>>2]=Zt(r[x>>2]|0,r[$>>2]|0?0:r[A>>2]|0,r[C>>2]|0,r[T>>2]|0,r[he>>2]|0,O,r[ae>>2]|0)|0}while(0);t:do if(!((r[q>>2]|0)==1002|(r[ae>>2]|0)!=0)){r[P>>2]=0;while(1){if((r[P>>2]|0)>=(W(r[E>>2]|0,r[(r[S>>2]|0)+8>>2]|0)|0))break t;c[(r[T>>2]|0)+(r[P>>2]<<2)>>2]=+c[(r[T>>2]|0)+(r[P>>2]<<2)>>2]+ +(a[U+(r[P>>2]<<1)>>1]|0)*30517578125e-15;r[P>>2]=(r[P>>2]|0)+1}}while(0);U=r[x>>2]|0;r[h>>2]=_e+(((_e-_e|0)/4|0)<<2);Jt(U,10015,h)|0;r[ne>>2]=r[(r[_e>>2]|0)+60>>2];if(!((r[K>>2]|0)==0|(r[X>>2]|0)!=0)){Jt(r[x>>2]|0,4028,f)|0;U=r[x>>2]|0;r[p>>2]=0;Jt(U,10010,p)|0;Zt(r[x>>2]|0,(r[A>>2]|0)+(r[C>>2]|0)|0,r[Y>>2]|0,Se,r[Q>>2]|0,0,0)|0;U=r[x>>2]|0;r[u>>2]=ie+(((ie-ie|0)/4|0)<<2);Jt(U,4031,u)|0;U=(r[T>>2]|0)+((W(r[(r[S>>2]|0)+8>>2]|0,(r[E>>2]|0)-(r[Z>>2]|0)|0)|0)<<2)|0;re=Se+((W(r[(r[S>>2]|0)+8>>2]|0,r[Z>>2]|0)|0)<<2)|0;Me=(r[T>>2]|0)+((W(r[(r[S>>2]|0)+8>>2]|0,(r[E>>2]|0)-(r[Z>>2]|0)|0)|0)<<2)|0;ea(U,re,Me,r[Z>>2]|0,r[(r[S>>2]|0)+8>>2]|0,r[ne>>2]|0,r[(r[S>>2]|0)+12>>2]|0)}if((r[K>>2]|0)!=0&(r[X>>2]|0)!=0){r[J>>2]=0;while(1){if((r[J>>2]|0)>=(r[(r[S>>2]|0)+8>>2]|0))break;r[P>>2]=0;while(1){if((r[P>>2]|0)>=(r[Z>>2]|0))break;Me=W(r[(r[S>>2]|0)+8>>2]|0,r[P>>2]|0)|0;re=W(r[(r[S>>2]|0)+8>>2]|0,r[P>>2]|0)|0;c[(r[T>>2]|0)+(re+(r[J>>2]|0)<<2)>>2]=+c[Se+(Me+(r[J>>2]|0)<<2)>>2];r[P>>2]=(r[P>>2]|0)+1}r[J>>2]=(r[J>>2]|0)+1}Me=Se+((W(r[(r[S>>2]|0)+8>>2]|0,r[Z>>2]|0)|0)<<2)|0;re=(r[T>>2]|0)+((W(r[(r[S>>2]|0)+8>>2]|0,r[Z>>2]|0)|0)<<2)|0;U=(r[T>>2]|0)+((W(r[(r[S>>2]|0)+8>>2]|0,r[Z>>2]|0)|0)<<2)|0;ea(Me,re,U,r[Z>>2]|0,r[(r[S>>2]|0)+8>>2]|0,r[ne>>2]|0,r[(r[S>>2]|0)+12>>2]|0)}do if(r[z>>2]|0){if((r[j>>2]|0)<(r[Q>>2]|0)){ea(r[B>>2]|0,r[T>>2]|0,r[T>>2]|0,r[Z>>2]|0,r[(r[S>>2]|0)+8>>2]|0,r[ne>>2]|0,r[(r[S>>2]|0)+12>>2]|0);break}r[P>>2]=0;while(1){U=(r[P>>2]|0)<(W(r[(r[S>>2]|0)+8>>2]|0,r[Z>>2]|0)|0);xe=r[B>>2]|0;if(!U)break;c[(r[T>>2]|0)+(r[P>>2]<<2)>>2]=+c[xe+(r[P>>2]<<2)>>2];r[P>>2]=(r[P>>2]|0)+1}U=xe+((W(r[(r[S>>2]|0)+8>>2]|0,r[Z>>2]|0)|0)<<2)|0;re=(r[T>>2]|0)+((W(r[(r[S>>2]|0)+8>>2]|0,r[Z>>2]|0)|0)<<2)|0;Me=(r[T>>2]|0)+((W(r[(r[S>>2]|0)+8>>2]|0,r[Z>>2]|0)|0)<<2)|0;ea(U,re,Me,r[Z>>2]|0,r[(r[S>>2]|0)+8>>2]|0,r[ne>>2]|0,r[(r[S>>2]|0)+12>>2]|0)}while(0);t:do if(r[(r[S>>2]|0)+40>>2]|0){c[ve>>2]=+V(+(+(r[(r[S>>2]|0)+40>>2]|0)*.0006488140788860619*.6931471805599453));r[P>>2]=0;while(1){if((r[P>>2]|0)>=(W(r[E>>2]|0,r[(r[S>>2]|0)+8>>2]|0)|0))break t;c[ye>>2]=+c[(r[T>>2]|0)+(r[P>>2]<<2)>>2]*+c[ve>>2];c[(r[T>>2]|0)+(r[P>>2]<<2)>>2]=+c[ye>>2];r[P>>2]=(r[P>>2]|0)+1}}while(0);if((r[C>>2]|0)<=1){Pe=r[S>>2]|0;De=0}else{Pe=r[S>>2]|0;De=r[O+28>>2]^r[ie>>2]}r[Pe+80>>2]=De;r[(r[S>>2]|0)+56>>2]=r[q>>2];if(r[K>>2]|0)Re=(r[X>>2]|0)!=0^1;else Re=0;r[(r[S>>2]|0)+64>>2]=Re&1;if((r[R>>2]|0)>=0)Yi()|0;r[M>>2]=(r[R>>2]|0)<0?r[R>>2]|0:r[j>>2]|0;r[le>>2]=1}while(0);ce(r[se>>2]|0);be=r[M>>2]|0;m=d;return be|0}function Yi(){return 0}function Xi(e){e=e|0;var t=0,n=0,i=0;t=m;m=m+16|0;n=t+4|0;i=t;r[n>>2]=e;do if(!((o[r[n>>2]>>0]|0)&128|0))if(((o[r[n>>2]>>0]|0)&96|0)==96){r[i>>2]=1001;break}else{r[i>>2]=1e3;break}else r[i>>2]=1002;while(0);m=t;return r[i>>2]|0}function Ji(e){e=e|0;var t=0,n=0,i=0,a=0,s=0;t=m;m=m+16|0;n=t+4|0;i=t;r[n>>2]=e;e=o[r[n>>2]>>0]|0;if((o[r[n>>2]>>0]|0)&128|0){a=1102+(e>>5&3)|0;r[i>>2]=a;r[i>>2]=(r[i>>2]|0)==1102?1101:a;s=r[i>>2]|0;m=t;return s|0}a=o[r[n>>2]>>0]|0;if((e&96|0)==96){r[i>>2]=a&16|0?1105:1104;s=r[i>>2]|0;m=t;return s|0}else{r[i>>2]=1101+(a>>5&3);s=r[i>>2]|0;m=t;return s|0}return 0}function Zi(e){e=e|0;var t=0,n=0;t=m;m=m+16|0;n=t;r[n>>2]=e;m=t;return((o[r[n>>2]>>0]|0)&4|0?2:1)|0}function Qi(e){e=e|0;var t=0,n=0;t=m;m=m+16|0;n=t;r[n>>2]=e;e=(r[(r[n>>2]|0)+20>>2]|0)-(32-(Y(r[(r[n>>2]|0)+28>>2]|0)|0))|0;m=t;return e|0}function ea(e,t,n,i,a,o,s){e=e|0;t=t|0;n=n|0;i=i|0;a=a|0;o=o|0;s=s|0;var l=0,d=0,u=0,p=0,f=
r[de>>2]=ue+re;oe=le+8|0;ne=(oe&7|0)==0?0:0-oe&7;oe=le+ne|0;ee=(r[6331]|0)+(re-ne)|0;r[6334]=oe;r[6331]=ee;r[oe+4>>2]=ee|1;r[oe+ee+4>>2]=40;r[6335]=r[6450];break}ee=r[6332]|0;if(ie>>>0<ee>>>0){r[6332]=ie;pe=ie}else pe=ee;ee=ie+re|0;oe=25760;while(1){if((r[oe>>2]|0)==(ee|0)){N=198;break}ne=r[oe+8>>2]|0;if(!ne)break;else oe=ne}if((N|0)==198?(r[oe+12>>2]&8|0)==0:0){r[oe>>2]=ie;se=oe+4|0;r[se>>2]=(r[se>>2]|0)+re;se=ie+8|0;ne=ie+((se&7|0)==0?0:0-se&7)|0;se=ee+8|0;n=ee+((se&7|0)==0?0:0-se&7)|0;se=ne+x|0;z=n-ne-x|0;r[ne+4>>2]=x|3;do if((n|0)!=(le|0)){if((n|0)==(r[6333]|0)){te=(r[6330]|0)+z|0;r[6330]=te;r[6333]=se;r[se+4>>2]=te|1;r[se+te>>2]=te;break}te=r[n+4>>2]|0;if((te&3|0)==1){Z=te&-8;Q=te>>>3;e:do if(te>>>0>=256){q=r[n+24>>2]|0;Y=r[n+12>>2]|0;do if((Y|0)==(n|0)){W=n+16|0;J=W+4|0;_=r[J>>2]|0;if(!_){y=r[W>>2]|0;if(!y){fe=0;break}else{me=y;he=W}}else{me=_;he=J}while(1){J=me+20|0;_=r[J>>2]|0;if(_|0){me=_;he=J;continue}J=me+16|0;_=r[J>>2]|0;if(!_)break;else{me=_;he=J}}if(he>>>0<pe>>>0)ae();else{r[he>>2]=0;fe=me;break}}else{J=r[n+8>>2]|0;if(J>>>0<pe>>>0)ae();_=J+12|0;if((r[_>>2]|0)!=(n|0))ae();W=Y+8|0;if((r[W>>2]|0)==(n|0)){r[_>>2]=Y;r[W>>2]=J;fe=Y;break}else ae()}while(0);if(!q)break;Y=r[n+28>>2]|0;J=25616+(Y<<2)|0;do if((n|0)!=(r[J>>2]|0))if(q>>>0>=(r[6332]|0)>>>0){r[q+16+(((r[q+16>>2]|0)!=(n|0)&1)<<2)>>2]=fe;if(!fe)break e;else break}else ae();else{r[J>>2]=fe;if(fe|0)break;r[6329]=r[6329]&~(1<<Y);break e}while(0);Y=r[6332]|0;if(fe>>>0<Y>>>0)ae();r[fe+24>>2]=q;J=n+16|0;W=r[J>>2]|0;do if(W|0)if(W>>>0<Y>>>0)ae();else{r[fe+16>>2]=W;r[W+24>>2]=fe;break}while(0);W=r[J+4>>2]|0;if(!W)break;if(W>>>0<(r[6332]|0)>>>0)ae();else{r[fe+20>>2]=W;r[W+24>>2]=fe;break}}else{W=r[n+8>>2]|0;Y=r[n+12>>2]|0;q=25352+(Q<<1<<2)|0;do if((W|0)!=(q|0)){if(W>>>0<pe>>>0)ae();if((r[W+12>>2]|0)==(n|0))break;ae()}while(0);if((Y|0)==(W|0)){r[6328]=r[6328]&~(1<<Q);break}do if((Y|0)==(q|0))ge=Y+8|0;else{if(Y>>>0<pe>>>0)ae();J=Y+8|0;if((r[J>>2]|0)==(n|0)){ge=J;break}ae()}while(0);r[W+12>>2]=Y;r[ge>>2]=W}while(0);_e=n+Z|0;ve=Z+z|0}else{_e=n;ve=z}Q=_e+4|0;r[Q>>2]=r[Q>>2]&-2;r[se+4>>2]=ve|1;r[se+ve>>2]=ve;Q=ve>>>3;if(ve>>>0<256){te=25352+(Q<<1<<2)|0;X=r[6328]|0;q=1<<Q;do if(!(X&q)){r[6328]=X|q;ye=te+8|0;be=te}else{Q=te+8|0;J=r[Q>>2]|0;if(J>>>0>=(r[6332]|0)>>>0){ye=Q;be=J;break}ae()}while(0);r[ye>>2]=se;r[be+12>>2]=se;r[se+8>>2]=be;r[se+12>>2]=te;break}q=ve>>>8;do if(!q)we=0;else{if(ve>>>0>16777215){we=31;break}X=(q+1048320|0)>>>16&8;Z=q<<X;J=(Z+520192|0)>>>16&4;Q=Z<<J;Z=(Q+245760|0)>>>16&2;_=14-(J|X|Z)+(Q<<Z>>>15)|0;we=ve>>>(_+7|0)&1|_<<1}while(0);q=25616+(we<<2)|0;r[se+28>>2]=we;te=se+16|0;r[te+4>>2]=0;r[te>>2]=0;te=r[6329]|0;_=1<<we;if(!(te&_)){r[6329]=te|_;r[q>>2]=se;r[se+24>>2]=q;r[se+12>>2]=se;r[se+8>>2]=se;break}_=ve<<((we|0)==31?0:25-(we>>>1)|0);te=r[q>>2]|0;while(1){if((r[te+4>>2]&-8|0)==(ve|0)){N=265;break}ke=te+16+(_>>>31<<2)|0;q=r[ke>>2]|0;if(!q){N=262;break}else{_=_<<1;te=q}}if((N|0)==262)if(ke>>>0<(r[6332]|0)>>>0)ae();else{r[ke>>2]=se;r[se+24>>2]=te;r[se+12>>2]=se;r[se+8>>2]=se;break}else if((N|0)==265){_=te+8|0;q=r[_>>2]|0;Z=r[6332]|0;if(q>>>0>=Z>>>0&te>>>0>=Z>>>0){r[q+12>>2]=se;r[_>>2]=se;r[se+8>>2]=q;r[se+12>>2]=te;r[se+24>>2]=0;break}else ae()}}else{q=(r[6331]|0)+z|0;r[6331]=q;r[6334]=se;r[se+4>>2]=q|1}while(0);g=ne+8|0;m=t;return g|0}se=25760;while(1){z=r[se>>2]|0;if(z>>>0<=le>>>0?(Me=z+(r[se+4>>2]|0)|0,Me>>>0>le>>>0):0)break;se=r[se+8>>2]|0}se=Me+-47|0;ne=se+8|0;z=se+((ne&7|0)==0?0:0-ne&7)|0;ne=le+16|0;se=z>>>0<ne>>>0?le:z;z=se+8|0;n=ie+8|0;ee=(n&7|0)==0?0:0-n&7;n=ie+ee|0;oe=re+-40-ee|0;r[6334]=n;r[6331]=oe;r[n+4>>2]=oe|1;r[n+oe+4>>2]=40;r[6335]=r[6450];oe=se+4|0;r[oe>>2]=27;r[z>>2]=r[6440];r[z+4>>2]=r[6441];r[z+8>>2]=r[6442];r[z+12>>2]=r[6443];r[6440]=ie;r[6441]=re;r[6443]=0;r[6442]=z;z=se+24|0;do{n=z;z=z+4|0;r[z>>2]=7}while((n+8|0)>>>0<Me>>>0);if((se|0)!=(le|0)){z=se-le|0;r[oe>>2]=r[oe>>2]&-2;r[le+4>>2]=z|1;r[se>>2]=z;n=z>>>3;if(z>>>0<256){ee=25352+(n<<1<<2)|0;q=r[6328]|0;_=1<<n;if(q&_){n=ee+8|0;Z=r[n>>2]|0;if(Z>>>0<(r[6332]|0)>>>0)ae();else{Se=n;Ae=Z}}else{r[6328]=q|_;Se=ee+8|0;Ae=ee}r[Se>>2]=le;r[Ae+12>>2]=le;r[le+8>>2]=Ae;r[le+12>>2]=ee;break}
return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),t.response}),Module.readAsync=function(e,t,n){var i=new XMLHttpRequest;i.open("GET",e,!0),i.responseType="arraybuffer",i.onload=function(){200==i.status||0==i.status&&i.response?t(i.response):n()},i.onerror=n,i.send(null)},"undefined"!=typeof arguments&&(Module.arguments=arguments),"undefined"!=typeof console)Module.print||(Module.print=function(e){console.log(e)}),Module.printErr||(Module.printErr=function(e){console.warn(e)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=TRY_USE_DUMP&&"undefined"!=typeof dump?function(e){dump(e)}:function(e){})}ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),"undefined"==typeof Module.setWindowTitle&&(Module.setWindowTitle=function(e){document.title=e})}!Module.load&&Module.read&&(Module.load=function(e){globalEval(Module.read(e))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram="./this.program"),Module.quit||(Module.quit=function(e,t){throw t}),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[];for(var key in moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);moduleOverrides=void 0;var Runtime={setTempRet0:function(e){return tempRet0=e,e},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(e){STACKTOP=e},getNativeTypeSize:function(e){switch(e){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:if("*"===e[e.length-1])return Runtime.QUANTUM_SIZE;if("i"===e[0]){var t=parseInt(e.substr(1));return assert(t%8===0),t/8}return 0}},getNativeFieldSize:function(e){return Math.max(Runtime.getNativeTypeSize(e),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(e,t){return"double"===t||"i64"===t?7&e&&(assert(4===(7&e)),e+=4):assert(0===(3&e)),e},getAlignSize:function(e,t,n){return n||"i64"!=e&&"double"!=e?e?Math.min(t||(e?Runtime.getNativeFieldSize(e):0),Runtime.QUANTUM_SIZE):Math.min(t,8):8},dynCall:function(e,t,n){return n&&n.length?Module["dynCall_"+e].apply(null,[t].concat(n)):Module["dynCall_"+e].call(null,t)},functionPointers:[],addFunction:function(e){for(var t=0;t<Runtime.functionPointers.length;t++)if(!Runtime.functionPointers[t])return Runtime.functionPointers[t]=e,2*(1+t);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."},removeFunction:function(e){Runtime.functionPointers[(e-2)/2]=null},warnOnce:function(e){Runtime.warnOnce.shown||(Runtime.warnOnce.shown={}),Runtime.warnOnce.shown[e]||(Runtime.warnOnce.shown[e]=1,Module.printErr(e))},funcWrappers:{},getFuncWrapper:function(e,t){assert(t),Runtime.funcWrappers[t]||(Runtime.funcWrappers[t]={});var n=Runtime.funcWrappers[t];return n[e]||(1===t.length?n[e]=function(){return Runtime.dynCall(t,e)}:2===t.length?n[e]=function(n){return Runtime.dynCall(t,e,[n])}:n[e]=function(){return Runtime.dynCall(t,e,Array.prototype.slice.call(arguments))}),n[e]},getCompilerSetting:function(e){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"},stackAlloc:function(e){var t=STACKTOP;return STACKTOP=STACKTOP+e|0,STACKTOP=STACKTOP+15&-16,t},staticAlloc:function(e){var t=STATICTOP;return STATICTOP=STATICTOP+e|0,STATICTOP=STATICTOP+15&-16,t},dynamicAlloc:function(e){var t=HEAP32[DYNAMICTOP_PTR>>2],n=(t+e+15|0)&-16;if(HEAP32[DYNAMICTOP_PTR>>2]=n,n>=TOTAL_MEMORY){var i=enlargeMemory();if(!i)return HEAP32[DYNAMICTOP_PTR>>2]=t,0}return t},alignMemory:function(e,t){var n=e=Math.ceil(e/(t?t:16))*(t?t:16);return n},makeBigInt:function(e,t,n){var i=n?+(e>>>0)+4294967296*+(t>>>0):+(e>>>0)+4294967296*+(0|t);return i},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var ABORT=0,EXITSTATUS=0,cwrap,ccall;!function(){function parseJSFunc(e){var t=e.toString().match(sourceRegex).slice(1);return{arguments:t[0],body:t[1],re
allocate([12,72,201,60,205,188,203,60,77,53,206,60,140,177,208,60,137,49,211,60,69,181,213,60,189,60,216,60,243,199,218,60,230,86,221,60,149,233,223,60,0,128,226,60,39,26,229,60,8,184,231,60,164,89,234,60,250,254,236,60,9,168,239,60,210,84,242,60,83,5,245,60,141,185,247,60,126,113,250,60,39,45,253,60,134,236,255,60,206,87,1,61,52,187,2,61,117,32,4,61,144,135,5,61,133,240,6,61,84,91,8,61,253,199,9,61,128,54,11,61,219,166,12,61,16,25,14,61,29,141,15,61,3,3,17,61,193,122,18,61,87,244,19,61,197,111,21,61,10,237,22,61,39,108,24,61,26,237,25,61,228,111,27,61,132,244,28,61,251,122,30,61,71,3,32,61,105,141,33,61,96,25,35,61,45,167,36,61,206,54,38,61,67,200,39,61,141,91,41,61,171,240,42,61,156,135,44,61,96,32,46,61,248,186,47,61,99,87,49,61,160,245,50,61,175,149,52,61,144,55,54,61,67,219,55,61,199,128,57,61,28,40,59,61,65,209,60,61,56,124,62,61,254,40,64,61,148,215,65,61,250,135,67,61,47,58,69,61,51,238,70,61,5,164,72,61,166,91,74,61,20,21,76,61,80,208,77,61,90,141,79,61,49,76,81,61,212,12,83,61,68,207,84,61,128,147,86,61,135,89,88,61,90,33,90,61,248,234,91,61,97,182,93,61,148,131,95,61,145,82,97,61,88,35,99,61,232,245,100,61,65,202,102,61,100,160,104,61,78,120,106,61,1,82,108,61,123,45,110,61,188,10,112,61,197,233,113,61,148,202,115,61,41,173,117,61,133,145,119,61,166,119,121,61,140,95,123,61,55,73,125,61,166,52,127,61,237,144,128,61,105,136,129,61,198,128,130,61,5,122,131,61,37,116,132,61,39,111,133,61,9,107,134,61,204,103,135,61,112,101,136,61,244,99,137,61,88,99,138,61,157,99,139,61,193,100,140,61,196,102,141,61,167,105,142,61,106,109,143,61,11,114,144,61,139,119,145,61,234,125,146,61,40,133,147,61,67,141,148,61,61,150,149,61,20,160,150,61,201,170,151,61,92,182,152,61,203,194,153,61,24,208,154,61,66,222,155,61,72,237,156,61,42,253,157,61,233,13,159,61,132,31,160,61,250,49,161,61,76,69,162,61,122,89,163,61,130,110,164,61,101,132,165,61,35,155,166,61,188,178,167,61,47,203,168,61,124,228,169,61,162,254,170,61,163,25,172,61,124,53,173,61,47,82,174,61,187,111,175,61,31,142,176,61,92,173,177,61,113,205,178,61,94,238,179,61,35,16,181,61,192,50,182,61,52,86,183,61,127,122,184,61,160,159,185,61,153,197,186,61,104,236,187,61,13,20,189,61,136,60,190,61,217,101,191,61,255,143,192,61,250,186,193,61,202,230,194,61,111,19,196,61,233,64,197,61,55,111,198,61,89,158,199,61,78,206,200,61,23,255,201,61,179,48,203,61,35,99,204,61,101,150,205,61,121,202,206,61,96,255,207,61,25,53,209,61,164,107,210,61,0,163,211,61,45,219,212,61,44,20,214,61,251,77,215,61,154,136,216,61,10,196,217,61,74,0,219,61,89,61,220,61,56,123,221,61,230,185,222,61,99,249,223,61,174,57,225,61,200,122,226,61,176,188,227,61,102,255,228,61,233,66,230,61,58,135,231,61,88,204,232,61,66,18,234,61,249,88,235,61,124,160,236,61,203,232,237,61,230,49,239,61,204,123,240,61,125,198,241,61,249,17,243,61,63,94,244,61,79,171,245,61,42,249,246,61,206,71,248,61,60,151,249,61,114,231,250,61,114,56,252,61,58,138,253,61,202,220,254,61,17,24,0,62,33,194,0,62,149,108,1,62,108,23,2,62,166,194,2,62,68,110,3,62,69,26,4,62,168,198,4,62,111,115,5,62,152,32,6,62,35,206,6,62,17,124,7,62,98,42,8,62,20,217,8,62,40,136,9,62,157,55,10,62,117,231,10,62,173,151,11,62,71,72,12,62,66,249,12,62,158,170,13,62,91,92,14,62,120,14,15,62,246,192,15,62,213,115,16,62,19,39,17,62,177,218,17,62,175,142,18,62,13,67,19,62,202,247,19,62,231,172,20,62,99,98,21,62,62,24,22,62,120,206,22,62,16,133,23,62,7,60,24,62,92,243,24,62,16,171,25,62,33,99,26,62,145,27,27,62,94,212,27,62,137,141,28,62,17,71,29,62,246,0,30,62,56,187,30,62,215,117,31,62,211,48,32,62,43,236,32,62,224,167,33,62,241,99,34,62,93,32,35,62,38,221,35,62,74,154,36,62,202,87,37,62,165,21,38,62,219,211,38,62,108,146,39,62,88,81,40,62,159,16,41,62,64,208,41,62,59,144,42,62,144,80,43,62,63,17,44,62,72,210,44,62,170,147,45,62,102,85,46,62,122,23,47,62,232,217,47,62,175,156,48,62,206,95,49,62,69,35,50,62,21,231,50,62,61,171,51,62,189,111,52,62,148,52,53,62,195,249,53,62,73,191,54,62,38,133,55,62,91,75,56,62,230,17,57,62,199,216,57,62,255,159,58,62,141,103,59,62,113,47,60,62,171,247,60,62,59,192,61,62,31,137,62,62,89,82,63,62,232,27,64,62,204,229,64,62,5,176,65,62,146,122
allocate([103,185,210,61,21,85,211,61,248,240,211,61,14,141,212,61,89,41,213,61,216,197,213,61,140,98,214,61,115,255,214,61,143,156,215,61,223,57,216,61,99,215,216,61,27,117,217,61,7,19,218,61,38,177,218,61,122,79,219,61,2,238,219,61,189,140,220,61,173,43,221,61,208,202,221,61,39,106,222,61,178,9,223,61,112,169,223,61,98,73,224,61,136,233,224,61,226,137,225,61,111,42,226,61,47,203,226,61,35,108,227,61,74,13,228,61,165,174,228,61,52,80,229,61,245,241,229,61,234,147,230,61,19,54,231,61,110,216,231,61,253,122,232,61,191,29,233,61,180,192,233,61,221,99,234,61,56,7,235,61,199,170,235,61,136,78,236,61,125,242,236,61,164,150,237,61,255,58,238,61,140,223,238,61,76,132,239,61,63,41,240,61,101,206,240,61,189,115,241,61,73,25,242,61,7,191,242,61,247,100,243,61,26,11,244,61,112,177,244,61,248,87,245,61,179,254,245,61,160,165,246,61,192,76,247,61,18,244,247,61,151,155,248,61,77,67,249,61,55,235,249,61,82,147,250,61,159,59,251,61,31,228,251,61,209,140,252,61,181,53,253,61,203,222,253,61,19,136,254,61,141,49,255,61,57,219,255,61,140,66,0,62,148,151,0,62,181,236,0,62,238,65,1,62,65,151,1,62,173,236,1,62,49,66,2,62,206,151,2,62,132,237,2,62,83,67,3,62,59,153,3,62,59,239,3,62,84,69,4,62,134,155,4,62,209,241,4,62,52,72,5,62,176,158,5,62,68,245,5,62,242,75,6,62,183,162,6,62,150,249,6,62,141,80,7,62,156,167,7,62,196,254,7,62,5,86,8,62,94,173,8,62,207,4,9,62,89,92,9,62,252,179,9,62,183,11,10,62,138,99,10,62,118,187,10,62,122,19,11,62,150,107,11,62,203,195,11,62,24,28,12,62,125,116,12,62,250,204,12,62,144,37,13,62,62,126,13,62,4,215,13,62,227,47,14,62,217,136,14,62,232,225,14,62,15,59,15,62,78,148,15,62,165,237,15,62,20,71,16,62,155,160,16,62,58,250,16,62,241,83,17,62,193,173,17,62,168,7,18,62,167,97,18,62,190,187,18,62,237,21,19,62,51,112,19,62,146,202,19,62,9,37,20,62,151,127,20,62,61,218,20,62,251,52,21,62,209,143,21,62,190,234,21,62,195,69,22,62,224,160,22,62,21,252,22,62,97,87,23,62,197,178,23,62,64,14,24,62,211,105,24,62,126,197,24,62,64,33,25,62,26,125,25,62,11,217,25,62,20,53,26,62,52,145,26,62,108,237,26,62,187,73,27,62,34,166,27,62,160,2,28,62,53,95,28,62,226,187,28,62,166,24,29,62,129,117,29,62,116,210,29,62,126,47,30,62,159,140,30,62,215,233,30,62,39,71,31,62,141,164,31,62,11,2,32,62,160,95,32,62,76,189,32,62,16,27,33,62,234,120,33,62,219,214,33,62,228,52,34,62,3,147,34,62,58,241,34,62,135,79,35,62,235,173,35,62,103,12,36,62,249,106,36,62,162,201,36,62,98,40,37,62,56,135,37,62,38,230,37,62,42,69,38,62,69,164,38,62,119,3,39,62,192,98,39,62,31,194,39,62,149,33,40,62,33,129,40,62,197,224,40,62,126,64,41,62,79,160,41,62,54,0,42,62,51,96,42,62,72,192,42,62,114,32,43,62,179,128,43,62,11,225,43,62,121,65,44,62,253,161,44,62,152,2,45,62,73,99,45,62,16,196,45,62,238,36,46,62,226,133,46,62,237,230,46,62,13,72,47,62,68,169,47,62,145,10,48,62,245,107,48,62,110,205,48,62,254,46,49,62,163,144,49,62,95,242,49,62,49,84,50,62,25,182,50,62,23,24,51,62,43,122,51,62,85,220,51,62,148,62,52,62,234,160,52,62,86,3,53,62,216,101,53,62,111,200,53,62,28,43,54,62,223,141,54,62,184,240,54,62,167,83,55,62,171,182,55,62,197,25,56,62,245,124,56,62,59,224,56,62,150,67,57,62,7,167,57,62,141,10,58,62,41,110,58,62,219,209,58,62,162,53,59,62,126,153,59,62,112,253,59,62,120,97,60,62,149,197,60,62,199,41,61,62,15,142,61,62,108,242,61,62,222,86,62,62,102,187,62,62,3,32,63,62,181,132,63,62,125,233,63,62,90,78,64,62,75,179,64,62,83,24,65,62,111,125,65,62,160,226,65,62,231,71,66,62,66,173,66,62,179,18,67,62,57,120,67,62,211,221,67,62,131,67,68,62,71,169,68,62,33,15,69,62,15,117,69,62,18,219,69,62,42,65,70,62,87,167,70,62,153,13,71,62,240,115,71,62,91,218,71,62,219,64,72,62,111,167,72,62,25,14,73,62,215,116,73,62,169,219,73,62,144,66,74,62,140,169,74,62,157,16,75,62,193,119,75,62,251,222,75,62,73,70,76,62,171,173,76,62,34,21,77,62,173,124,77,62,76,228,77,62,0,76,78,62,200,179,78,62,164,27,79,62,149,131,79,62,154,235,79,62,179,83,80,62,225,187,80,62,34,36,81,62,120,140,81,62,225,244,81,62,95,93,82,62,241,197,82,62,151,46,83,62,81,151,83,62,31,0,84,62,1,105,84,62,247,209,84,62,0,59,85,62,30,164,85,62,79,13,86,62,149,118,86,62,238,223,86,62,91,73,87,62,219,178,87,62,112,28,88,
allocate([150,134,124,63,142,138,124,63,130,142,124,63,116,146,124,63,98,150,124,63,77,154,124,63,52,158,124,63,24,162,124,63,249,165,124,63,215,169,124,63,178,173,124,63,137,177,124,63,94,181,124,63,47,185,124,63,253,188,124,63,199,192,124,63,143,196,124,63,83,200,124,63,20,204,124,63,211,207,124,63,141,211,124,63,69,215,124,63,250,218,124,63,171,222,124,63,90,226,124,63,5,230,124,63,173,233,124,63,82,237,124,63,244,240,124,63,147,244,124,63,46,248,124,63,199,251,124,63,93,255,124,63,239,2,125,63,127,6,125,63,11,10,125,63,148,13,125,63,27,17,125,63,158,20,125,63,30,24,125,63,155,27,125,63,21,31,125,63,140,34,125,63,0,38,125,63,114,41,125,63,224,44,125,63,75,48,125,63,179,51,125,63,24,55,125,63,122,58,125,63,217,61,125,63,54,65,125,63,143,68,125,63,229,71,125,63,56,75,125,63,137,78,125,63,214,81,125,63,33,85,125,63,104,88,125,63,173,91,125,63,239,94,125,63,46,98,125,63,106,101,125,63,163,104,125,63,217,107,125,63,12,111,125,63,61,114,125,63,106,117,125,63,149,120,125,63,189,123,125,63,226,126,125,63,4,130,125,63,36,133,125,63,64,136,125,63,90,139,125,63,112,142,125,63,133,145,125,63,150,148,125,63,164,151,125,63,176,154,125,63,185,157,125,63,191,160,125,63,194,163,125,63,194,166,125,63,192,169,125,63,187,172,125,63,179,175,125,63,168,178,125,63,155,181,125,63,139,184,125,63,120,187,125,63,99,190,125,63,74,193,125,63,48,196,125,63,18,199,125,63,241,201,125,63,206,204,125,63,169,207,125,63,128,210,125,63,85,213,125,63,39,216,125,63,247,218,125,63,196,221,125,63,142,224,125,63,85,227,125,63,26,230,125,63,220,232,125,63,156,235,125,63,89,238,125,63,19,241,125,63,203,243,125,63,128,246,125,63,51,249,125,63,227,251,125,63,144,254,125,63,59,1,126,63,227,3,126,63,137,6,126,63,44,9,126,63,204,11,126,63,106,14,126,63,6,17,126,63,158,19,126,63,53,22,126,63,200,24,126,63,90,27,126,63,232,29,126,63,116,32,126,63,254,34,126,63,133,37,126,63,10,40,126,63,140,42,126,63,12,45,126,63,137,47,126,63,4,50,126,63,124,52,126,63,242,54,126,63,101,57,126,63,214,59,126,63,68,62,126,63,176,64,126,63,26,67,126,63,129,69,126,63,230,71,126,63,72,74,126,63,168,76,126,63,5,79,126,63,96,81,126,63,185,83,126,63,15,86,126,63,99,88,126,63,181,90,126,63,4,93,126,63,81,95,126,63,155,97,126,63,227,99,126,63,41,102,126,63,108,104,126,63,173,106,126,63,236,108,126,63,40,111,126,63,98,113,126,63,154,115,126,63,208,117,126,63,3,120,126,63,51,122,126,63,98,124,126,63,142,126,126,63,184,128,126,63,224,130,126,63,5,133,126,63,40,135,126,63,73,137,126,63,104,139,126,63,132,141,126,63,159,143,126,63,183,145,126,63,204,147,126,63,224,149,126,63,241,151,126,63,0,154,126,63,13,156,126,63,24,158,126,63,32,160,126,63,38,162,126,63,42,164,126,63,44,166,126,63,44,168,126,63,41,170,126,63,37,172,126,63,30,174,126,63,21,176,126,63,10,178,126,63,253,179,126,63,238,181,126,63,220,183,126,63,201,185,126,63,179,187,126,63,155,189,126,63,129,191,126,63,101,193,126,63,71,195,126,63,39,197,126,63,5,199,126,63,224,200,126,63,186,202,126,63,145,204,126,63,103,206,126,63,58,208,126,63,12,210,126,63,219,211,126,63,168,213,126,63,115,215,126,63,61,217,126,63,4,219,126,63,201,220,126,63,140,222,126,63,77,224,126,63,12,226,126,63,202,227,126,63,133,229,126,63,62,231,126,63,245,232,126,63,170,234,126,63,94,236,126,63,15,238,126,63,190,239,126,63,108,241,126,63,23,243,126,63,193,244,126,63,104,246,126,63,14,248,126,63,178,249,126,63,84,251,126,63,243,252,126,63,145,254,126,63,46,0,127,63,200,1,127,63,96,3,127,63,247,4,127,63,139,6,127,63,30,8,127,63,175,9,127,63,62,11,127,63,203,12,127,63,86,14,127,63,223,15,127,63,103,17,127,63,237,18,127,63,112,20,127,63,242,21,127,63,115,23,127,63,241,24,127,63,110,26,127,63,233,27,127,63,98,29,127,63,217,30,127,63,78,32,127,63,194,33,127,63,52,35,127,63,164,36,127,63,18,38,127,63,127,39,127,63,234,40,127,63,83,42,127,63,186,43,127,63,32,45,127,63,131,46,127,63,230,47,127,63,70,49,127,63,165,50,127,63,2,52,127,63,93,53,127,63,182,54,127,63,14,56,127,63,100,57,127,63,185,58,127,63,12,60,127,63,93,61,127,63,172,62,127,63,250,63,127,63,70,65,127,63,145,66,127,63,217,67,127,63,33,69,127,63,102,70,127,63,170,71,127,63,236,72,127,63,45,74,127,63,108,75,127,63,1
allocate([0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,130,194,0,0,116,194,0,0,92,194,0,0,68,194,0,0,28,194,0,0,4,194,0,0,32,194,0,0,12,194,0,0,0,194,0,0,24,194,0,0,32,194,0,0,4,194,0,0,12,194,0,0,20,194,0,0,56,194,0,0,36,194,0,0,52,194,0,0,48,194,0,0,56,194,0,0,40,194,0,0,52,194,0,0,56,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,120,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,152,194,0,0,162,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,164,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,168,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,174,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,198,194,0,0,212,194,0,0,234,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,136,194,0,0,148,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,174,194,0,0,184,194,0,0,178,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,166,194,0,0,150,194,0,0,142,194,0,0,124,194,0,0,128,194,0,0,134,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,162,194,0,0,168,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,176,194,0,0,162,194,0,0,150,194,0,0,136,194,0,0,104,194,0,0,88,194,0,0,96,194,0,0,88,194,0,0,96,194,0,0,96,194,0,0,104,194,0,0,112,194,0,0,124,194,0,0,132,194,0,0,148,194,0,0,138,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,148,194,0,0,154,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,174,194,0,0,186,194,0,0,192,194,0,0,198,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,204,194,0,0,192,194,0,0,182,194,0,0,170,194,0,0,160,194,0,0,148,194,0,0,136,194,0,0,112,194,0,0,76,194,0,0,56,194,0,0,64,194,0,0,56,194,0,0,44,194,0,0,52,194,0,0,60,194,0,0
allocate([0,0,190,194,0,0,198,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,104,194,0,0,92,194,0,0,68,194,0,0,132,194,0,0,136,194,0,0,142,194,0,0,156,194,0,0,156,194,0,0,160,194,0,0,176,194,0,0,170,194,0,0,178,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,84,194,0,0,80,194,0,0,36,194,0,0,108,194,0,0,108,194,0,0,68,194,0,0,104,194,0,0,96,194,0,0,124,194,0,0,172,194,0,0,158,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,206,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,194,194,0,0,182,194,0,0,146,194,0,0,52,194,0,0,32,194,0,0,4,194,0,0,84,194,0,0,116,194,0,0,68,194,0,0,88,194,0,0,72,194,0,0,72,194,0,0,112,194,0,0,80,194,0,0,134,194,0,0,148,194,0,0,162,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,226,194,0,0,212,194,0,0,198,194,0,0,184,194,0,0,154,194,0,0,160,194,0,0,176,194,0,0,194,194,0,0,212,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,232,194,0,0,218,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,148,194,0,0,144,194,0,0,176,194,0,0,174,194,0,0,190,194,0,0,204,194,0,0,218,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,19
}if((g|0)==29)return o|0}while(0);if((r[s>>2]|0)<=2){o=l;return o|0}g=t+1032|0;a=t+780|0;t=2;do{i=t+-2|0;_=g+(i<<2)|0;u=r[_>>2]|0;f=r[n+836+(u<<2)>>2]|0;v=a+(i<<2)|0;i=r[v>>2]|0;c=r[l+(u<<2)>>2]&32767;u=(r[l+(i<<2)>>2]&32767)-c|0;m=(W((u|0)>-1?u:0-u|0,(r[n+836+(t<<2)>>2]|0)-f|0)|0)/((r[n+836+(i<<2)>>2]|0)-f|0)|0;f=((u|0)<0?0-m|0:m)+c|0;c=(r[e>>2]|0)-f|0;m=l+(t<<2)|0;u=r[m>>2]|0;if(!u)r[m>>2]=f|32768;else{do if((u|0)<(((c|0)<(f|0)?c:f)<<1|0))if(!(u&1)){w=u>>1;break}else{w=0-(u+1>>1)|0;break}else if((c|0)>(f|0)){w=u-f|0;break}else{w=~(u-c);break}while(0);r[m>>2]=w+f&32767;c=l+(r[_>>2]<<2)|0;r[c>>2]=r[c>>2]&32767;c=l+(r[v>>2]<<2)|0;r[c>>2]=r[c>>2]&32767}t=t+1|0}while((t|0)<(r[s>>2]|0));o=l;return o|0}function Be(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var a=0,o=0,s=0,l=0,d=0,u=0,p=0,f=0,m=0,h=0,g=0,_=0,v=0,y=0,b=0,w=0,k=0,M=0,S=0,A=0,C=0,T=0,E=0,$=0,I=0,x=0,P=0,D=0,R=0,O=0,N=0,L=0,F=0,U=0;a=r[t+1296>>2]|0;o=(r[(r[(r[(r[e+64>>2]|0)+4>>2]|0)+28>>2]|0)+(r[e+28>>2]<<2)>>2]|0)/2|0;if(!n){ai(i|0,0,o<<2|0)|0;s=0;return s|0}e=r[a+832>>2]|0;l=W(e,r[n>>2]|0)|0;d=(l|0)<0?0:(l|0)<255?l:255;l=r[t+1284>>2]|0;if((l|0)>1){u=t+260|0;t=0;p=1;f=0;m=d;while(1){h=r[u+(p<<2)>>2]|0;g=r[n+(h<<2)>>2]|0;e:do if((g&32767|0)==(g|0)){_=r[a+836+(h<<2)>>2]|0;v=W(e,g)|0;y=(v|0)<0?0:(v|0)<255?v:255;v=y-m|0;b=_-f|0;w=(v|0)/(b|0)|0;k=v>>31|1;M=W(w,b)|0;S=((v|0)>-1?v:0-v|0)-((M|0)>-1?M:0-M|0)|0;M=(o|0)>(_|0)?_:o;if((M|0)>(f|0)){A=0;C=f;T=m;E=8}else{$=0;I=f;x=m}while(1){if((E|0)==8){E=0;v=i+(C<<2)|0;c[v>>2]=+c[v>>2]*+c[476+(T<<2)>>2];$=A;I=C;x=T}v=I+1|0;if((v|0)>=(M|0)){P=_;D=_;R=y;break e}O=$+S|0;N=(O|0)<(b|0);A=O-(N?0:b)|0;C=v;T=x+w+(N?0:k)|0;E=8}}else{P=t;D=f;R=m}while(0);p=p+1|0;if((p|0)>=(l|0)){L=P;F=R;break}else{t=P;f=D;m=R}}}else{L=0;F=d}if((L|0)>=(o|0)){s=1;return s|0}U=+c[476+(F<<2)>>2];F=L;do{L=i+(F<<2)|0;c[L>>2]=+c[L>>2]*U;F=F+1|0}while((F|0)!=(o|0));s=1;return s|0}function He(e,t){e=e|0;t=t|0;var n=0,i=0,a=0,o=0,s=0,l=0,c=0,d=0,u=0,p=0,f=0;n=t+7&-8;t=e+72|0;i=r[t>>2]|0;a=e+76|0;o=e+68|0;s=r[o>>2]|0;if((i+n|0)<=(r[a>>2]|0)){l=s;c=i;d=l+c|0;u=c+n|0;r[t>>2]=u;return d|0}if(s|0){p=Yn(8)|0;f=e+80|0;r[f>>2]=(r[f>>2]|0)+i;i=e+84|0;r[p+4>>2]=r[i>>2];r[p>>2]=s;r[i>>2]=p}r[a>>2]=n;a=Yn(n)|0;r[o>>2]=a;r[t>>2]=0;l=a;c=0;d=l+c|0;u=c+n|0;r[t>>2]=u;return d|0}function je(e,t){e=e|0;t=t|0;var n=0,i=0;if((r[e+8>>2]|0)<=0){n=-1;return n|0}i=Ve(e,t)|0;if((i|0)<=-1){n=-1;return n|0}n=r[(r[e+24>>2]|0)+(i<<2)>>2]|0;return n|0}function Ve(e,t){e=e|0;t=t|0;var n=0,a=0,o=0,s=0,l=0,c=0,d=0,u=0,p=0,f=0,m=0,h=0;n=r[e+40>>2]|0;a=Ie(t,r[e+36>>2]|0)|0;do if((a|0)>-1){o=r[(r[e+32>>2]|0)+(a<<2)>>2]|0;if((o|0)<0){s=(r[e+8>>2]|0)-(o&32767)|0;l=o>>>15&32767;break}c=o+-1|0;xe(t,i[(r[e+28>>2]|0)+c>>0]|0);d=c;return d|0}else{s=r[e+8>>2]|0;l=0}while(0);a=n;while(1){u=Ie(t,a)|0;p=(u|0)<0;if((a|0)>1&p)a=a+-1|0;else break}if(p){d=-1;return d|0}p=oi(u|0)|0;u=p>>>4&252645135|p<<4&-252645136;p=u>>>2&858993459|u<<2&-858993460;u=p>>>1&1431655765|p<<1&-1431655766;p=s-l|0;if((p|0)>1){n=r[e+20>>2]|0;c=s;s=l;o=p;while(1){p=o>>>1;f=(r[n+(p+s<<2)>>2]|0)>>>0>u>>>0;m=(f?0:p)+s|0;c=c-(f?p:0)|0;o=c-m|0;if((o|0)<=1){h=m;break}else s=m}}else h=l;l=i[(r[e+28>>2]|0)+h>>0]|0;if((l|0)>(a|0)){xe(t,a);d=-1;return d|0}else{xe(t,l);d=h;return d|0}return 0}function qe(e,t){e=e|0;t=t|0;return(r[r[e>>2]>>2]|0)-(r[r[t>>2]>>2]|0)|0}function ze(e,t){e=e|0;t=t|0;var n=0,i=0,a=0,o=0,s=0,l=0,c=0,d=0,u=0,p=0,f=0,m=0;n=r[e+28>>2]|0;e=Yn(96)|0;i=Pe(t,8)|0;r[e>>2]=i;a=Pe(t,16)|0;r[e+4>>2]=a;o=Pe(t,16)|0;r[e+8>>2]=o;r[e+12>>2]=Pe(t,6)|0;r[e+16>>2]=Pe(t,8)|0;s=Pe(t,4)|0;l=e+20|0;r[l>>2]=s+1;e:do if((i|0)<1){if(!e){c=0;return c|0}}else if((a|0)>=1?!((s|0)<0|(o|0)<1):0){if((s|0)<=-1){c=e;return c|0}d=e+24|0;u=n+24|0;p=0;while(1){f=Pe(t,8)|0;r[d+(p<<2)>>2]=f;if((f|0)<0)break e;if((f|0)>=(r[u>>2]|0))break e;m=r[n+1824+(f<<2)>>2]|0;if(!(r[m+12>>2]|0))break e;p=p+1|0;if((r[m>>2]|0)<1)break e;if((p|0)>=(r[l>>2]|0)){c=e;break}}return c|0}while(0);Xn(e);c=0;return c|0}function We(e,t){e=e|0;t=t|0;e=Jn(1,32)|0;r[e+4>>2]=r[t>>2];r[e>>2]=r[t+8>>2];r[e+20>>2]=t;r[e+8>>2]=Jn(2,4)|0;return e|0}function Ge(e){e=e|0;if(!e)return;Xn(e);return}function K
r[(r[V>>2]|0)+8>>2]=N;N=r[V>>2]|0;O=Dt(e,r[(r[S>>2]|0)+(r[z>>2]<<2)>>2]|0,r[N>>2]|0,r[N+28>>2]|0,28086)|0;r[(r[V>>2]|0)+12>>2]=O;O=r[V>>2]|0;N=Dt(e,r[(r[S>>2]|0)+(r[z>>2]<<2)>>2]|0,r[O>>2]|0,r[O+28>>2]|0,37449)|0;r[(r[V>>2]|0)+16>>2]=N;N=r[V>>2]|0;O=Dt(e,r[(r[S>>2]|0)+(r[z>>2]<<2)>>2]|0,r[N>>2]|0,r[N+28>>2]|0,46811)|0;r[(r[V>>2]|0)+20>>2]=O;O=r[V>>2]|0;N=Dt(e,r[(r[S>>2]|0)+(r[z>>2]<<2)>>2]|0,r[O>>2]|0,r[O+28>>2]|0,56173)|0;r[(r[V>>2]|0)+24>>2]=N;N=r[V>>2]|0;O=Dt(e,r[(r[S>>2]|0)+(r[z>>2]<<2)>>2]|0,r[N+28>>2]|0,r[N+56>>2]|0,9362)|0;r[(r[V>>2]|0)+32>>2]=O;O=r[V>>2]|0;N=Dt(e,r[(r[S>>2]|0)+(r[z>>2]<<2)>>2]|0,r[O+28>>2]|0,r[O+56>>2]|0,18724)|0;r[(r[V>>2]|0)+36>>2]=N;N=r[V>>2]|0;O=Dt(e,r[(r[S>>2]|0)+(r[z>>2]<<2)>>2]|0,r[N+28>>2]|0,r[N+56>>2]|0,28086)|0;r[(r[V>>2]|0)+40>>2]=O;O=r[V>>2]|0;N=Dt(e,r[(r[S>>2]|0)+(r[z>>2]<<2)>>2]|0,r[O+28>>2]|0,r[O+56>>2]|0,37449)|0;r[(r[V>>2]|0)+44>>2]=N;N=r[V>>2]|0;O=Dt(e,r[(r[S>>2]|0)+(r[z>>2]<<2)>>2]|0,r[N+28>>2]|0,r[N+56>>2]|0,46811)|0;r[(r[V>>2]|0)+48>>2]=O;O=r[V>>2]|0;N=Dt(e,r[(r[S>>2]|0)+(r[z>>2]<<2)>>2]|0,r[O+28>>2]|0,r[O+56>>2]|0,56173)|0;r[(r[V>>2]|0)+52>>2]=N}x=x+1|0;N=r[l>>2]|0;if((x|0)>=(N|0)){G=N;K=S;break e}}m=t;return W|0}else{G=j;K=o+48|0}while(0);c[h>>2]=H;h=G<<2;G=m;m=m+((1*h|0)+15&-16)|0;j=m;m=m+((1*h|0)+15&-16)|0;h=(Pt(e)|0)!=0;_=o+44|0;R=e+24|0;v=e+32|0;B=a+2868|0;M=o+52|0;o=h?0:7;while(1){h=r[n+12+(o<<2)>>2]|0;Te(h,0,1);Te(h,b,r[_>>2]|0);if(r[y>>2]|0){Te(h,r[R>>2]|0,1);Te(h,r[v>>2]|0,1)}s=r[l>>2]|0;if((s|0)>0){S=0;do{r[d+(S<<2)>>2]=Rt(h,e,r[(r[K>>2]|0)+(r[w+1028+(r[w+4+(S<<2)>>2]<<2)>>2]<<2)>>2]|0,r[(r[f+(S<<2)>>2]|0)+(o<<2)>>2]|0,r[i+(S<<2)>>2]|0)|0;S=S+1|0;x=r[l>>2]|0}while((S|0)<(x|0));Y=x}else Y=s;Ot(o,B,k,w,u,i,d,r[a+3240+((r[y>>2]|0)*60|0)+(o<<2)>>2]|0,Y);if((r[w>>2]|0)>0){S=0;do{x=r[w+1092+(S<<2)>>2]|0;A=r[l>>2]|0;if((A|0)>0){N=A;A=0;O=0;while(1){if((r[w+4+(O<<2)>>2]|0)==(S|0)){r[j+(A<<2)>>2]=(r[d+(O<<2)>>2]|0)!=0&1;r[G+(A<<2)>>2]=r[i+(O<<2)>>2];X=r[l>>2]|0;J=A+1|0}else{X=N;J=A}O=O+1|0;if((O|0)>=(X|0)){Z=J;break}else{N=X;A=J}}}else Z=0;A=a+1312+(x<<2)|0;N=Pi[r[(r[464+(r[A>>2]<<2)>>2]|0)+20>>2]&7](e,r[(r[M>>2]|0)+(x<<2)>>2]|0,G,j,Z)|0;O=r[l>>2]|0;if((O|0)>0){V=0;T=0;while(1){if((r[w+4+(T<<2)>>2]|0)==(S|0)){r[G+(V<<2)>>2]=r[i+(T<<2)>>2];Q=V+1|0}else Q=V;T=T+1|0;if((T|0)>=(O|0)){ee=Q;break}else V=Q}}else ee=0;Ii[r[(r[464+(r[A>>2]<<2)>>2]|0)+24>>2]&3](h,e,r[(r[M>>2]|0)+(x<<2)>>2]|0,G,j,ee,N,S)|0;S=S+1|0}while((S|0)<(r[w>>2]|0))}S=(Pt(e)|0)!=0;if((o|0)<((S?14:7)|0))o=o+1|0;else{W=0;break}}m=t;return W|0}function kt(e,t){e=e|0;t=t|0;var n=0,i=0,a=0,o=0,s=0,l=0,d=0,u=0,p=0,f=0,h=0,g=0,_=0,v=0,y=0,b=0,w=0,k=0,M=0,S=0,A=0,C=0,T=0,E=0,$=0,I=0,x=0,P=0,D=0,R=0,O=0;n=m;i=r[e+64>>2]|0;a=r[i+4>>2]|0;o=r[a+28>>2]|0;s=r[i+104>>2]|0;i=e+28|0;l=r[o+(r[i>>2]<<2)>>2]|0;r[e+36>>2]=l;d=a+4|0;a=r[d>>2]|0;u=a<<2;p=m;m=m+((1*u|0)+15&-16)|0;f=m;m=m+((1*u|0)+15&-16)|0;h=m;m=m+((1*u|0)+15&-16)|0;g=m;m=m+((1*u|0)+15&-16)|0;if((a|0)>0){u=t+4|0;_=t+1028|0;v=s+48|0;y=l<<1&2147483646;b=0;do{w=r[_+(r[u+(b<<2)>>2]<<2)>>2]|0;k=xi[r[(r[456+(r[o+800+(w<<2)>>2]<<2)>>2]|0)+20>>2]&15](e,r[(r[v>>2]|0)+(w<<2)>>2]|0)|0;r[g+(b<<2)>>2]=k;r[h+(b<<2)>>2]=(k|0)!=0&1;ai(r[(r[e>>2]|0)+(b<<2)>>2]|0,0,y|0)|0;b=b+1|0;k=r[d>>2]|0}while((b|0)<(k|0));M=k}else M=a;a=t+1156|0;b=r[a>>2]|0;if((b|0)>0){y=t+1160|0;v=t+2184|0;u=0;do{_=h+(r[y+(u<<2)>>2]<<2)|0;k=h+(r[v+(u<<2)>>2]<<2)|0;if(!((r[_>>2]|0)==0?!(r[k>>2]|0):0)){r[_>>2]=1;r[k>>2]=1}u=u+1|0}while((u|0)<(b|0))}if((r[t>>2]|0)>0){u=t+1092|0;v=s+52|0;y=t+4|0;k=M;M=0;while(1){if((k|0)>0){_=k;w=0;S=0;while(1){if((r[y+(S<<2)>>2]|0)==(M|0)){r[f+(w<<2)>>2]=(r[h+(S<<2)>>2]|0)!=0&1;r[p+(w<<2)>>2]=r[(r[e>>2]|0)+(S<<2)>>2];A=r[d>>2]|0;C=w+1|0}else{A=_;C=w}S=S+1|0;if((S|0)>=(A|0)){T=C;break}else{_=A;w=C}}}else T=0;w=r[u+(M<<2)>>2]|0;Pi[r[(r[464+(r[o+1312+(w<<2)>>2]<<2)>>2]|0)+28>>2]&7](e,r[(r[v>>2]|0)+(w<<2)>>2]|0,p,f,T)|0;w=M+1|0;if((w|0)>=(r[t>>2]|0))break;k=r[d>>2]|0;M=w}E=r[a>>2]|0}else E=b;if((E|0)>0?(b=r[e>>2]|0,a=t+1160|0,M=t+2184|0,k=(l|0)/2|0,(l|0)>1):0){l=E;do{E=l;l=l+-1|0;T=r[b+(r[a+(l<<2)>>2]<<2)>>2]|0;f=r[b+(r[M+(l<<2)>>2]<<2)>>2]|0;p=0;do{v=T+(p<<2)|0;$=+c[v>>2];u=f+(p<<2)|0;
O=r[y+(P<<2)>>2]|0;N=r[b+(P<<2)>>2]|0;if(T){L=0;do{H=F+(L+C<<2)|0;B=+c[H>>2];j=B*B;V=O+(L<<2)|0;c[V>>2]=j;c[N+(L<<2)>>2]=j;if(+c[H>>2]<0)c[V>>2]=-+c[V>>2];V=U+(L<<2)|0;j=+c[V>>2];c[V>>2]=j*j;L=L+1|0}while((L|0)<(I|0));q=O;z=N}else{q=O;z=N}}else G=20}else G=20;if((G|0)==20){G=0;q=r[y+(P<<2)>>2]|0;z=r[b+(P<<2)>>2]|0}+Nt(r[h>>2]|0,_,q,z,U,0,C,I,R)}P=P+1|0}while((P|0)!=(u|0))}P=r[S>>2]|0;if((P|0)>0){T=(I|0)>0;x=l-C|0;L=_-C|0;F=P;V=0;while(1){H=r[i+1160+(V<<2)>>2]|0;K=r[i+2184+(V<<2)>>2]|0;Y=(r[o+(H<<2)>>2]|0)+(C<<2)|0;X=(r[o+(K<<2)>>2]|0)+(C<<2)|0;J=r[y+(H<<2)>>2]|0;Z=r[y+(K<<2)>>2]|0;Q=r[b+(H<<2)>>2]|0;ee=r[b+(K<<2)>>2]|0;te=r[w+(H<<2)>>2]|0;ne=r[w+(K<<2)>>2]|0;ie=r[k+(H<<2)>>2]|0;ae=r[k+(K<<2)>>2]|0;re=M+(H<<2)|0;H=M+(K<<2)|0;if((r[re>>2]|0)==0?(r[H>>2]|0)==0:0)oe=F;else{r[H>>2]=1;r[re>>2]=1;if(T){re=0;do{do if((re|0)<(x|0)){H=ie+(re<<2)|0;K=Z+(re<<2)|0;j=+c[K>>2];se=J+(re<<2)|0;B=+c[se>>2];le=ae+(re<<2)|0;if((r[H>>2]|0)==0?(r[le>>2]|0)==0:0){ce=B+j;if((re|0)<(L|0)){c[se>>2]=ce;c[Q+(re<<2)>>2]=+D(+ce)}else{de=+D(+j)+ +D(+B);c[Q+(re<<2)>>2]=de;c[se>>2]=ce<0?-de:de}c[ee+(re<<2)>>2]=0;c[K>>2]=0;r[le>>2]=1;r[X+(re<<2)>>2]=0;break}c[se>>2]=+D(+j)+ +D(+B);se=Q+(re<<2)|0;c[se>>2]=+c[ee+(re<<2)>>2]+ +c[se>>2];r[le>>2]=1;r[H>>2]=1;H=Y+(re<<2)|0;le=r[H>>2]|0;se=X+(re<<2)|0;K=r[se>>2]|0;if((((le|0)>-1?le:0-le|0)|0)>(((K|0)>-1?K:0-K|0)|0)){ue=(le|0)>0?le-K|0:K-le|0;pe=se}else{r[se>>2]=(K|0)>0?le-K|0:K-le|0;ue=K;pe=H}r[pe>>2]=ue;K=r[se>>2]|0;le=r[H>>2]|0;if((K|0)>=(((le|0)>-1?le:0-le|0)<<1|0)){r[se>>2]=0-K;r[H>>2]=0-(r[H>>2]|0)}}while(0);H=te+(re<<2)|0;K=ne+(re<<2)|0;B=+c[K>>2]+ +c[H>>2];c[K>>2]=B;c[H>>2]=B;re=re+1|0}while((re|0)<(I|0))}+Nt(r[h>>2]|0,_,J,Q,te,ie,C,I,Y);oe=r[S>>2]|0}V=V+1|0;if((V|0)>=(oe|0)){fe=oe;break}else F=oe}}else fe=P;C=C+g|0}while((f|0)>(C|0));me=fe}else me=E;if((me|0)>0){he=me;ge=0}else{m=p;return}while(1){me=s+(r[i+1160+(ge<<2)>>2]<<2)|0;E=i+2184+(ge<<2)|0;if((r[me>>2]|0)==0?(r[s+(r[E>>2]<<2)>>2]|0)==0:0)_e=he;else{r[me>>2]=1;r[s+(r[E>>2]<<2)>>2]=1;_e=r[S>>2]|0}ge=ge+1|0;if((ge|0)>=(_e|0))break;else he=_e}m=p;return}function Nt(e,t,n,i,a,o,s,l,u){e=e|0;t=t|0;n=n|0;i=i|0;a=a|0;o=o|0;s=s|0;l=l|0;u=u|0;var f=0,h=0,g=0,_=0,v=0,y=0,b=0,w=0,k=0,M=0,S=0,A=0,C=0,T=0,E=0,$=0,I=0,x=0,P=0,D=0,O=0;f=m;h=m;m=m+((1*(l<<2)|0)+15&-16)|0;if(!(r[e+500>>2]|0))g=l;else g=(r[e+504>>2]|0)-s|0;_=(g|0)>(l|0)?l:g;e:do if((_|0)>0){if(!o){g=0;while(1){v=+c[n+(g<<2)>>2]<0;y=+Gn(+R(+(+c[i+(g<<2)>>2]/+c[a+(g<<2)>>2])));r[u+(g<<2)>>2]=~~(v?-y:y);g=g+1|0;if((g|0)>=(_|0)){b=_;break e}}}else w=0;do{if(!(r[o+(w<<2)>>2]|0)){g=+c[n+(w<<2)>>2]<0;y=+Gn(+R(+(+c[i+(w<<2)>>2]/+c[a+(w<<2)>>2])));r[u+(w<<2)>>2]=~~(g?-y:y)}w=w+1|0}while((w|0)<(_|0));b=_}else b=0;while(0);if((b|0)>=(l|0)){k=0;m=f;return+k}_=t-s|0;if(!o){y=0;s=0;t=b;while(1){w=i+(t<<2)|0;M=+c[a+(t<<2)>>2];S=+c[w>>2]/M;if(S<.25){r[h+(s<<2)>>2]=w;A=S+y;C=s+1|0}else{g=+c[n+(t<<2)>>2]<0;T=+Gn(+R(+S));v=~~(g?-T:T);r[u+(t<<2)>>2]=v;c[w>>2]=+(W(v,v)|0)*M;A=y;C=s}t=t+1|0;if((t|0)==(l|0)){E=A;$=C;break}else{y=A;s=C}}}else{A=0;C=0;s=b;while(1){do if(!(r[o+(s<<2)>>2]|0)){b=i+(s<<2)|0;y=+c[a+(s<<2)>>2];M=+c[b>>2]/y;if(!(M<.25)|(s|0)<(_|0)){t=+c[n+(s<<2)>>2]<0;T=+Gn(+R(+M));v=~~(t?-T:T);r[u+(s<<2)>>2]=v;c[b>>2]=+(W(v,v)|0)*y;I=A;x=C;break}else{r[h+(C<<2)>>2]=b;I=M+A;x=C+1|0;break}}else{I=A;x=C}while(0);s=s+1|0;if((s|0)==(l|0)){E=I;$=x;break}else{A=I;C=x}}}if(!$){k=E;m=f;return+k}Ln(h,$,4,12);if(($|0)<=0){k=E;m=f;return+k}x=i;I=+d[e+512>>3];A=E;e=0;while(1){i=r[h+(e<<2)>>2]|0;C=i-x>>2;if(!(A>=I)){P=0;D=A;O=0}else{P=+c[a+(C<<2)>>2];D=A+-1;O=~~(r[p>>2]=r[n+(C<<2)>>2]&-2147483648|1065353216,+c[p>>2])}r[u+(C<<2)>>2]=O;c[i>>2]=P;e=e+1|0;if((e|0)==($|0)){k=D;break}else A=D}m=f;return+k}function Lt(e,t){e=e|0;t=t|0;var n=0,i=0;n=+c[r[e>>2]>>2];i=+c[r[t>>2]>>2];return(n<i&1)-(n>i&1)|0}function Ft(e,t,n,i,a){e=e|0;t=t|0;n=n|0;i=i|0;a=a|0;var o=0,s=0,l=0,d=0,u=0,p=0,f=0,m=0,h=0,g=0,_=0,v=0,y=0,b=0,w=0,k=0,M=0,S=0,A=0,C=0,T=0,E=0,$=0,I=0,x=0,P=0,D=0,R=0,O=0,N=0,L=0,F=0,U=0,B=0,H=0,j=0,V=0,q=0;o=r[e>>2]|0;s=r[e+((t+-1|0)*56|0)+4>>2]|0;if((t|0)>0){l=+c[a+1108>>2];d=0;a=0;u=0;p=0;f=0;m=0;while(1){h=r[e+(a*56|0)+52>>2
}t=e+12|0;n=r[t>>2]|0;if(n|0){Xn(r[n>>2]|0);Xn(r[(r[t>>2]|0)+4>>2]|0);Xn(r[(r[t>>2]|0)+8>>2]|0);Xn(r[t>>2]|0)}t=e;e=t+52|0;do{r[t>>2]=0;t=t+4|0}while((t|0)<(e|0));return}function on(e){e=e|0;if(!e)return;Xn(e);return}function sn(e){e=e|0;var t=0;t=e;e=t+48|0;do{r[t>>2]=0;t=t+4|0}while((t|0)<(e|0));return}function ln(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,a=0,o=0,s=0,l=0,c=0,d=0,u=0,p=0,f=0,h=0,g=0,_=0,v=0,y=0,b=0,w=0,k=0,M=0,S=0,A=0,C=0,T=0,E=0,$=0,I=0,x=0,P=0;i=m;m=m+144|0;a=i;o=(n|0)!=0;s=Yn((o?n:t)<<2)|0;ai(a|0,0,132)|0;l=(t|0)>0;e:do if(l){c=a+4|0;d=(n|0)==0&1;u=0;p=0;t:while(1){f=r[e+(p<<2)>>2]|0;n:do if((f|0)>0){h=r[a+(f<<2)>>2]|0;if(!((f|0)>31|(h>>>f|0)==0))break t;g=u+1|0;r[s+(u<<2)>>2]=h;_=a+(f<<2)|0;i:do if(!(h&1)){v=h;y=_;b=f;while(1){r[y>>2]=v+1;w=b+-1|0;if((b|0)<=1)break i;v=r[a+(w<<2)>>2]|0;k=a+(w<<2)|0;if(v&1|0){M=k;S=w;A=7;break}else{y=k;b=w}}}else{M=_;S=f;A=7}while(0);do if((A|0)==7){A=0;if((S|0)==1){r[c>>2]=(r[c>>2]|0)+1;break}else{r[M>>2]=r[a+(S+-1<<2)>>2]<<1;break}}while(0);_=f+1|0;if((_|0)<33){b=h;y=f;v=_;while(1){_=a+(v<<2)|0;w=b;b=r[_>>2]|0;if((b>>>1|0)!=(w|0)){C=g;break n}r[_>>2]=r[a+(y<<2)>>2]<<1;_=v+1|0;if((_|0)>=33){C=g;break}else{w=v;v=_;y=w}}}else C=g}else C=u+d|0;while(0);p=p+1|0;if((p|0)>=(t|0))break e;else u=C}Xn(s);T=0;m=i;return T|0}while(0);e:do if((n|0)!=1){C=1;while(1){if(r[a+(C<<2)>>2]&-1>>>(32-C|0)|0)break;C=C+1|0;if((C|0)>=33)break e}Xn(s);T=0;m=i;return T|0}while(0);if(!l){T=s;m=i;return T|0}if(o){E=0;$=0}else{o=0;do{l=r[e+(o<<2)>>2]|0;a=s+(o<<2)|0;if((l|0)>0){n=r[a>>2]|0;C=0;S=0;while(1){M=n>>>C&1|S<<1;C=C+1|0;if((C|0)>=(l|0)){I=M;break}else S=M}}else I=0;o=o+1|0;r[a>>2]=I}while((o|0)!=(t|0));T=s;m=i;return T|0}while(1){o=r[e+($<<2)>>2]|0;if((o|0)>0){I=r[s+(E<<2)>>2]|0;S=0;l=0;while(1){C=I>>>S&1|l<<1;S=S+1|0;if((S|0)>=(o|0)){x=C;break}else l=C}}else x=0;if(!o)P=E;else{r[s+(E<<2)>>2]=x;P=E+1|0}$=$+1|0;if(($|0)==(t|0)){T=s;break}else E=P}m=i;return T|0}function cn(e,t){e=e|0;t=t|0;var n=0;n=r[r[e>>2]>>2]|0;e=r[r[t>>2]>>2]|0;return(n>>>0>e>>>0&1)-(n>>>0<e>>>0&1)|0}function dn(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,a=0,o=0,s=0,l=0,d=0,u=0,p=0,f=0,m=0,h=0,g=0,_=0,v=0,y=0,b=0,w=0,k=0,M=0,S=0,A=0,C=0,T=0,E=0;i=r[e+12>>2]|0;if((i+-1|0)>>>0>=2){a=0;return a|0}o=r[e+16>>2]|0;s=+(o&2097151|0);l=+Wn((o|0)<0?-s:s,(o>>>21&1023)+-788|0);o=r[e+20>>2]|0;s=+(o&2097151|0);d=+Wn((o|0)<0?-s:s,(o>>>21&1023)+-788|0);o=r[e>>2]|0;u=Jn(W(o,t)|0,4)|0;switch(i|0){case 1:{i=r[e+4>>2]|0;if((o|0)<=0)while(1){}t=~~+P(+ +O(+ +(i|0),+(1/+(o|0))));while(1){p=t+1|0;f=1;m=1;h=0;do{f=W(f,t)|0;m=W(m,p)|0;h=h+1|0}while((h|0)!=(o|0));if((m|0)>(i|0)&(f|0)<=(i|0))break;else t=((f|0)>(i|0)?-1:1)+t|0}if((i|0)<=0){a=u;return a|0}h=(n|0)==0;p=e+8|0;g=e+32|0;s=d;_=l;v=e+28|0;y=0;b=0;while(1){if(h){w=r[g>>2]|0;k=W(y,o)|0;if(!(r[v>>2]|0)){M=1;S=0;do{c[u+(k+S<<2)>>2]=_+ +D(+ +(r[w+((((b|0)/(M|0)|0|0)%(t|0)|0)<<2)>>2]|0))*s;M=W(M,t)|0;S=S+1|0}while((S|0)<(o|0));A=21}else{S=1;M=0;C=0;do{C=C+_+ +D(+ +(r[w+((((b|0)/(S|0)|0|0)%(t|0)|0)<<2)>>2]|0))*s;c[u+(k+M<<2)>>2]=C;S=W(S,t)|0;M=M+1|0}while((M|0)<(o|0));A=21}}else if(r[(r[p>>2]|0)+(b<<2)>>2]|0){M=r[g>>2]|0;S=W(r[n+(y<<2)>>2]|0,o)|0;if(!(r[v>>2]|0)){k=1;w=0;do{c[u+(S+w<<2)>>2]=_+ +D(+ +(r[M+((((b|0)/(k|0)|0|0)%(t|0)|0)<<2)>>2]|0))*s;k=W(k,t)|0;w=w+1|0}while((w|0)<(o|0));A=21}else{w=1;k=0;C=0;do{C=C+_+ +D(+ +(r[M+((((b|0)/(w|0)|0|0)%(t|0)|0)<<2)>>2]|0))*s;c[u+(S+k<<2)>>2]=C;w=W(w,t)|0;k=k+1|0}while((k|0)<(o|0));A=21}}else T=y;if((A|0)==21){A=0;T=y+1|0}b=b+1|0;if((b|0)>=(i|0)){a=u;break}else y=T}return a|0}case 2:{T=r[e+4>>2]|0;if((T|0)<=0){a=u;return a|0}y=(n|0)!=0;i=e+8|0;b=e+32|0;s=d;d=l;A=e+28|0;e=(o|0)>0;t=0;v=0;while(1){if(y?(r[(r[i>>2]|0)+(v<<2)>>2]|0)==0:0)E=t;else{if(e){g=r[b>>2]|0;p=(r[A>>2]|0)==0;if(y){h=W(o,v)|0;k=W(r[n+(t<<2)>>2]|0,o)|0;if(p){w=0;do{c[u+(k+w<<2)>>2]=d+ +D(+ +(r[g+(h+w<<2)>>2]|0))*s;w=w+1|0}while((w|0)<(o|0))}else{w=0;l=0;do{l=l+d+ +D(+ +(r[g+(h+w<<2)>>2]|0))*s;c[u+(k+w<<2)>>2]=l;w=w+1|0}while((w|0)<(o|0))}}else{w=W(o,v)|0;k=W(t,o)|0;if(p){h=0;do{c[u+(k+h<<2)>>2]=d+ +D(+ +(r[g+(w+h<<2)>>2]|0))*s;h=h+1|0}while((h|0)<(o|0))}else{h=0;l=0;do{l=l+d+ +D(+ +(r[g+(w+h<<2)>>2]
b=l<<p;l=(b+245760|0)>>>16&2;s=14-(p|u|l)+(b<<l>>>15)|0;P=y>>>(s+7|0)&1|s<<1}else P=0;s=r[58292+(P<<2)>>2]|0;e:do if(!s){D=_;R=0;O=0;N=81}else{l=_;b=0;u=y<<((P|0)==31?0:25-(P>>>1)|0);p=s;v=0;while(1){c=(r[p+4>>2]&-8)-y|0;if(c>>>0<l>>>0)if(!c){L=0;F=p;U=p;N=85;break e}else{B=c;H=p}else{B=l;H=v}c=r[p+20>>2]|0;p=r[p+16+(u>>>31<<2)>>2]|0;f=(c|0)==0|(c|0)==(p|0)?b:c;c=(p|0)==0;if(c){D=B;R=f;O=H;N=81;break}else{l=B;b=f;u=u<<((c^1)&1);v=H}}}while(0);if((N|0)==81){if((R|0)==0&(O|0)==0){s=2<<P;_=h&(s|0-s);if(!_){x=y;break}s=(_&0-_)+-1|0;_=s>>>12&16;i=s>>>_;s=i>>>5&8;a=i>>>s;i=a>>>2&4;o=a>>>i;a=o>>>1&2;d=o>>>a;o=d>>>1&1;j=r[58292+((s|_|i|a|o)+(d>>>o)<<2)>>2]|0;V=0}else{j=R;V=O}if(!j){q=D;z=V}else{L=D;F=j;U=V;N=85}}if((N|0)==85)while(1){N=0;o=(r[F+4>>2]&-8)-y|0;d=o>>>0<L>>>0;a=d?o:L;o=d?F:U;F=r[F+16+(((r[F+16>>2]|0)==0&1)<<2)>>2]|0;if(!F){q=a;z=o;break}else{L=a;U=o;N=85}}if((z|0)!=0?q>>>0<((r[14499]|0)-y|0)>>>0:0){o=r[14501]|0;if(z>>>0<o>>>0)pe();a=z+y|0;if(z>>>0>=a>>>0)pe();d=r[z+24>>2]|0;i=r[z+12>>2]|0;do if((i|0)==(z|0)){_=z+20|0;s=r[_>>2]|0;if(!s){v=z+16|0;u=r[v>>2]|0;if(!u){W=0;break}else{G=u;K=v}}else{G=s;K=_}while(1){_=G+20|0;s=r[_>>2]|0;if(s|0){G=s;K=_;continue}_=G+16|0;s=r[_>>2]|0;if(!s)break;else{G=s;K=_}}if(K>>>0<o>>>0)pe();else{r[K>>2]=0;W=G;break}}else{_=r[z+8>>2]|0;if(_>>>0<o>>>0)pe();s=_+12|0;if((r[s>>2]|0)!=(z|0))pe();v=i+8|0;if((r[v>>2]|0)==(z|0)){r[s>>2]=i;r[v>>2]=_;W=i;break}else pe()}while(0);e:do if(d){i=r[z+28>>2]|0;o=58292+(i<<2)|0;do if((z|0)==(r[o>>2]|0)){r[o>>2]=W;if(!W){_=h&~(1<<i);r[14498]=_;Y=_;break e}}else if(d>>>0>=(r[14501]|0)>>>0){r[d+16+(((r[d+16>>2]|0)!=(z|0)&1)<<2)>>2]=W;if(!W){Y=h;break e}else break}else pe();while(0);i=r[14501]|0;if(W>>>0<i>>>0)pe();r[W+24>>2]=d;o=r[z+16>>2]|0;do if(o|0)if(o>>>0<i>>>0)pe();else{r[W+16>>2]=o;r[o+24>>2]=W;break}while(0);o=r[z+20>>2]|0;if(o)if(o>>>0<(r[14501]|0)>>>0)pe();else{r[W+20>>2]=o;r[o+24>>2]=W;Y=h;break}else Y=h}else Y=h;while(0);do if(q>>>0>=16){r[z+4>>2]=y|3;r[a+4>>2]=q|1;r[a+q>>2]=q;h=q>>>3;if(q>>>0<256){d=58028+(h<<1<<2)|0;o=r[14497]|0;i=1<<h;if(o&i){h=d+8|0;_=r[h>>2]|0;if(_>>>0<(r[14501]|0)>>>0)pe();else{X=h;J=_}}else{r[14497]=o|i;X=d+8|0;J=d}r[X>>2]=a;r[J+12>>2]=a;r[a+8>>2]=J;r[a+12>>2]=d;break}d=q>>>8;if(d)if(q>>>0>16777215)Z=31;else{i=(d+1048320|0)>>>16&8;o=d<<i;d=(o+520192|0)>>>16&4;_=o<<d;o=(_+245760|0)>>>16&2;h=14-(d|i|o)+(_<<o>>>15)|0;Z=q>>>(h+7|0)&1|h<<1}else Z=0;h=58292+(Z<<2)|0;r[a+28>>2]=Z;o=a+16|0;r[o+4>>2]=0;r[o>>2]=0;o=1<<Z;if(!(Y&o)){r[14498]=Y|o;r[h>>2]=a;r[a+24>>2]=h;r[a+12>>2]=a;r[a+8>>2]=a;break}o=q<<((Z|0)==31?0:25-(Z>>>1)|0);_=r[h>>2]|0;while(1){if((r[_+4>>2]&-8|0)==(q|0)){N=139;break}Q=_+16+(o>>>31<<2)|0;h=r[Q>>2]|0;if(!h){N=136;break}else{o=o<<1;_=h}}if((N|0)==136)if(Q>>>0<(r[14501]|0)>>>0)pe();else{r[Q>>2]=a;r[a+24>>2]=_;r[a+12>>2]=a;r[a+8>>2]=a;break}else if((N|0)==139){o=_+8|0;h=r[o>>2]|0;i=r[14501]|0;if(h>>>0>=i>>>0&_>>>0>=i>>>0){r[h+12>>2]=a;r[o>>2]=a;r[a+8>>2]=h;r[a+12>>2]=_;r[a+24>>2]=0;break}else pe()}}else{h=q+y|0;r[z+4>>2]=h|3;o=z+h+4|0;r[o>>2]=r[o>>2]|1}while(0);g=z+8|0;m=t;return g|0}else x=y}else x=y}else x=-1;while(0);z=r[14499]|0;if(z>>>0>=x>>>0){q=z-x|0;Q=r[14502]|0;if(q>>>0>15){Z=Q+x|0;r[14502]=Z;r[14499]=q;r[Z+4>>2]=q|1;r[Z+q>>2]=q;r[Q+4>>2]=x|3}else{r[14499]=0;r[14502]=0;r[Q+4>>2]=z|3;q=Q+z+4|0;r[q>>2]=r[q>>2]|1}g=Q+8|0;m=t;return g|0}Q=r[14500]|0;if(Q>>>0>x>>>0){q=Q-x|0;r[14500]=q;z=r[14503]|0;Z=z+x|0;r[14503]=Z;r[Z+4>>2]=q|1;r[z+4>>2]=x|3;g=z+8|0;m=t;return g|0}if(!(r[14615]|0)){r[14617]=4096;r[14616]=4096;r[14618]=-1;r[14619]=-1;r[14620]=0;r[14608]=0;z=n&-16^1431655768;r[n>>2]=z;r[14615]=z;ee=4096}else ee=r[14617]|0;z=x+48|0;n=x+47|0;q=ee+n|0;Z=0-ee|0;ee=q&Z;if(ee>>>0<=x>>>0){g=0;m=t;return g|0}Y=r[14607]|0;if(Y|0?(J=r[14605]|0,X=J+ee|0,X>>>0<=J>>>0|X>>>0>Y>>>0):0){g=0;m=t;return g|0}e:do if(!(r[14608]&4)){Y=r[14503]|0;t:do if(Y){X=58436;while(1){J=r[X>>2]|0;if(J>>>0<=Y>>>0?(te=X+4|0,(J+(r[te>>2]|0)|0)>>>0>Y>>>0):0)break;J=r[X+8>>2]|0;if(!J){N=163;break t}else X=J}_=q-Q&Z;if(_>>>0<2147483647){J=si(_|0)|0;if((J|0)==((r[X>>2]|0)+(r[te>>2]|0)|0))if((J|0)==(-1|0))ne=_;else{ie=J;ae=_;N=180;break e}else{re=J;oe
}};e.exports=a},function(e,t){function n(){function e(){var e=0,n=function(t){return e++,t<2?t:n(t-2)+n(t-1)},a=t();n(30);var r=t()-a;i=e/r}var t,n=this;t=window.performance&&window.performance.now?function(){return window.performance.now()}:function(){return Date.now()};var i=null;Object.defineProperty(n,"speed",{get:function(){return null===i&&e(),i}}),Object.defineProperty(n,"slowCutoff",{get:function(){return 5e4}}),Object.defineProperty(n,"tooSlowCutoff",{get:function(){return 0}}),Object.defineProperty(n,"slow",{get:function(){return n.speed<n.slowCutoff}}),Object.defineProperty(n,"tooSlow",{get:function(){return n.speed<n.tooSlowCutoff}})}e.exports=n}]),!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Recorder=t():e.Recorder=t()}(this,function(){return function(e){function t(i){if(n[i])return n[i].exports;var a=n[i]={i:i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,t),a.l=!0,a.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,i){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:i})},t.n=function(e){var n=e&&e.__esModule?function(){return e["default"]}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=0)}([function(e,t,n){"use strict";(function(t){var i=n(2),a=function(e){var n=this,i=t.AudioContext||t.webkitAudioContext;if(!a.isRecordingSupported())throw new Error("Recording is not supported in this browser");this.state="inactive",this.eventTarget=t.document.createDocumentFragment(),this.audioContext=new i,this.monitorNode=this.audioContext.createGain(),this.config=Object.assign({bufferLength:4096,encoderApplication:2049,encoderFrameSize:20,encoderPath:"encoderWorker.min.js",encoderSampleRate:48e3,leaveStreamOpen:!1,maxBuffersPerPage:40,monitorGain:0,numberOfChannels:1,originalSampleRate:this.audioContext.sampleRate,resampleQuality:3,mediaTrackConstraints:!0,streamPages:!1,wavBitDepth:16,wavSampleRate:this.audioContext.sampleRate},e),this.initWorker(),this.setMonitorGain(this.config.monitorGain),this.scriptProcessorNode=this.audioContext.createScriptProcessor(this.config.bufferLength,this.config.numberOfChannels,this.config.numberOfChannels),this.scriptProcessorNode.onaudioprocess=function(e){n.encodeBuffers(e.inputBuffer)}};a.isRecordingSupported=function(){return(t.AudioContext||t.webkitAudioContext)&&i.isSupported},a.prototype.addEventListener=function(e,t,n){this.eventTarget.addEventListener(e,t,n)},a.prototype.clearStream=function(){this.stream&&(this.stream.getTracks?this.stream.getTracks().forEach(function(e){e.stop()}):this.stream.stop(),delete this.stream)},a.prototype.encodeBuffers=function(e){if("recording"===this.state){for(var t=[],n=0;n<e.numberOfChannels;n++)t[n]=e.getChannelData(n);this.encoder.postMessage({command:"encode",buffers:t})}},a.prototype.initStream=function(){var e=this,n=function(n){return e.stream=n,e.sourceNode=e.audioContext.createMediaStreamSource(n),e.sourceNode.connect(e.scriptProcessorNode),e.sourceNode.connect(e.monitorNode),e.eventTarget.dispatchEvent(new t.Event("streamReady")),n},a=function(n){throw e.eventTarget.dispatchEvent(new t.ErrorEvent("streamError",{error:n})),n},r={audio:this.config.mediaTrackConstraints};return this.stream?(this.eventTarget.dispatchEvent(new t.Event("streamReady")),t.Promise.resolve(this.stream)):i(r).then(n,a)},a.prototype.initWorker=function(){var e=this;this.encoder=new t.Worker(this.config.encoderPath),this.config.streamPages?this.encoder.addEventListener("message",function(t){e.streamPage(t.data)}):(this.recordedPages=[],this.totalLength=0,this.encoder.addEventListener("message",function(t){e.storePage(t.data)}))},a.prototype.pause=function(){"recording"===this.state&&(this.state="paused",this.eventTarget.dispatchEvent(new t.Event("pause")))},a.prototype.removeEventListener=function(e,t,n){this.eventTarget.removeEventListener(e,t,n)},a.prototype.resume=function(){"paused"===this.state&&(this.state="recording",this.ev
setTimeout(function(){a({type:"blur",fake_initial:!0})},0))}function a(i){if("mousemove"==i.type){var i=i.originalEvent||i;if(i&&0===i.movementX&&0===i.movementY)return;$(t).off("mousemove",a)}var s="blur"==i.type||"timeout"==i.type;l&&document[l]&&(s=!0),n.cancel(r),s||(r=n(function(){a({type:"timeout"})},3e4)),"focus"!=i.type||e.idle.afterFocus||(e.idle.afterFocus=!0,setTimeout(function(){delete e.idle.afterFocus},10));var c=e.idle.initial?0:1e3;i&&!i.fake_initial&&delete e.idle.initial,n.cancel(o),e.idle.isIDLE!=s&&(o=n(function(){e.idle.isIDLE=s,s&&"timeout"==i.type&&$(t).on("mousemove",a)},c))}e.idle={isIDLE:!1,initial:!0};var r,o,s=!1,l="hidden",c="visibilitychange";return"undefined"!=typeof document.hidden||("undefined"!=typeof document.mozHidden?(l="mozHidden",c="mozvisibilitychange"):"undefined"!=typeof document.msHidden?(l="msHidden",c="msvisibilitychange"):"undefined"!=typeof document.webkitHidden&&(l="webkitHidden",c="webkitvisibilitychange")),Config.Mobile||(c=""),{start:i}}]).service("GeoLocationManager",["$q",function(e){function t(){return void 0!==navigator.geolocation}function n(n){if(!n&&i)return e.when(i);if(!t())return e.reject();var a=e.defer();return navigator.geolocation.getCurrentPosition(function(e){i={lat:e.coords.latitude,"long":e.coords.longitude},a.resolve(i)},function(e){a.reject(e)}),a.promise}var i=!1;return{getPosition:n,isAvailable:t}}]).service("AppRuntimeManager",["$window",function(e){return{reload:function(){try{location.reload()}catch(t){}e.chrome&&chrome.runtime&&chrome.runtime.reload&&chrome.runtime.reload()},close:function(){try{e.close()}catch(t){}},focus:function(){window.navigator.mozApps&&document.hidden?window.navigator.mozApps.getSelf().onsuccess=function(){this.result.launch()}:(window.chrome&&chrome.app&&chrome.app.window&&chrome.app.window.current().focus(),window.focus())}}}]).service("RichTextProcessor",["$sce","$sanitize",function(e,t){function n(e){for(var t,n,i,a,r=0;r<Config.EmojiCategories.length;r++)if(a=Config.EmojiCategorySpritesheetDimens[r][1],t=Config.EmojiCategories[r].indexOf(e),t>-1)return n=Math.floor(t/a),i=t%a,{category:r,row:n,column:i};return console.error("emoji not found in spritesheet",e),null}function i(e,t){t=t||{};for(var i,a,r,o,s,l=e,c=[],u=0;i=l.match(A);){if(s=u+i.index,i[3])c.push({_:"messageEntityMention",offset:s+i[1].length,length:i[2].length+i[3].length});else if(i[4])if(C.test(i[4]))c.push({_:"messageEntityEmail",offset:s,length:i[4].length});else{var a=!1,p=i[5],f=i[6],m="";if(f){if(p||"xn--"!==f.substr(0,4)&&Config.TLD.indexOf(f.toLowerCase())===-1||(p="http://"),p){var g=d(i[4]);g.length!==i[4].length&&(m=i[4].substring(g.length),i[4]=g),a=(i[5]?"":p)+i[4]}}else a=(i[5]?"":"http://")+i[4];a&&c.push({_:"messageEntityUrl",offset:s,length:i[4].length})}else i[7]?c.push({_:"messageEntityLinebreak",offset:s,length:1}):i[8]?(r=EmojiHelper.emojiMap[i[8]])&&(o=n(r))&&c.push({_:"messageEntityEmoji",offset:s,length:i[0].length,coords:o,title:h[r][1][0]}):i[10]?c.push({_:"messageEntityHashtag",offset:s+i[9].length,length:i[10].length}):i[12]&&c.push({_:"messageEntityBotCommand",offset:s+i[11].length,length:1+i[12].length+(i[13]?1+i[13].length:0)});l=l.substr(i.index+i[0].length),u+=i.index+i[0].length}return c}function a(e){return e.replace(/:([a-z0-9\-\+\*_]+?):/gi,function(e,t){var n=EmojiHelper.shortcuts[t];return void 0!==n?EmojiHelper.emojis[n][0]:e})}function r(e,t,n){if(!T.test(e))return n?e:e.trim();for(var i,a,r=e,o=[],s=0;i=r.match(E);){a=s+i.index,o.push(r.substr(0,i.index));var e=i[3]||i[8]||i[11];s-=e.length,e=e.replace(/^\s+|\s+$/g,""),s+=e.length,e.match(/^`*$/)?o.push(i[0]):i[3]?("\n"==i[5]&&(i[5]="",s-=1),o.push(i[1]+e+i[5]),t.push({_:"messageEntityPre",language:"",offset:a+i[1].length,length:e.length}),s-=i[2].length+i[4].length):i[7]?(o.push(i[6]+e+i[9]),t.push({_:x[i[7]],offset:a+i[6].length,length:e.length}),s-=2*i[7].length):i[11]&&(o.push(e),t.push({_:"messageEntityMentionName",user_id:i[10],offset:a,length:e.length}),s-=i[0].length-e.length),r=r.substr(i.index+i[0].length),s+=i.index+i[0].length}return o.push(r),o=o.
this.updateSession(),this.lastServerMessages=[],this.checkConnectionPeriod=0,this.sentMessages={},this.pendingMessages={},this.pendingAcks=[],this.pendingResends=[],this.connectionInited=!1,this.longPollInt=c(this.checkLongPoll.bind(this),1e4),this.checkLongPoll(),h||(h=!0,d.offline=!0,d.offlineConnecting=!0),Config.Navigator.mobile&&this.setupMobileSleep()}function p(){g&&(g=!1,m({_:"new_session_created"},!0))}function f(){g=!0}var m,h=!1,g=!1,_=navigator.userAgent.match(/Chrome\/(\d+(\.\d+)?)/),v=_&&parseFloat(_[1])||!1,y=!("ArrayBufferView"in window)&&v>0&&v<30;return delete o.defaults.headers.post["Content-Type"],delete o.defaults.headers.common.Accept,d.retryOnline=function(){$(document.body).trigger("online")},u.prototype.updateSession=function(){this.seqNo=0,this.prevSessionID=this.sessionID,this.sessionID=new Array(8),n.nextBytes(this.sessionID)},u.prototype.setupMobileSleep=function(){var e=this;d.$watch("idle.isIDLE",function(t){t?e.sleepAfter=tsNow()+3e4:(delete e.sleepAfter,e.checkLongPoll())}),d.$on("push_received",function(){e.sleepAfter&&(e.sleepAfter=tsNow()+3e4,e.checkLongPoll())})},u.prototype.updateSentMessage=function(e){var n=this.sentMessages[e];if(!n)return!1;var i=this;if(n.container){var a=[];angular.forEach(n.inner,function(e){var t=i.updateSentMessage(e);t&&a.push(t.msg_id)}),n.inner=a}return n.msg_id=t.generateID(),n.seq_no=this.generateSeqNo(n.notContentRelated||n.container),this.sentMessages[n.msg_id]=n,delete i.sentMessages[e],n},u.prototype.generateSeqNo=function(e){var t=2*this.seqNo;return e||(t++,this.seqNo++),t},u.prototype.wrapMtpCall=function(e,n,i){var a=new TLSerialization({mtproto:!0});a.storeMethod(e,n);var r=t.generateID(),o=this.generateSeqNo(),s={msg_id:r,seq_no:o,body:a.getBytes()};return Config.Modes.debug&&console.log(dT(),"MT call",e,n,r,o),this.pushMessage(s,i)},u.prototype.wrapMtpMessage=function(e,n){n=n||{};var i=new TLSerialization({mtproto:!0});i.storeObject(e,"Object");var a=t.generateID(),r=this.generateSeqNo(n.notContentRelated),o={msg_id:a,seq_no:r,body:i.getBytes()};return Config.Modes.debug&&console.log(dT(),"MT message",e,a,r),this.pushMessage(o,n)},u.prototype.wrapApiCall=function(e,n,i){var a=new TLSerialization(i);this.connectionInited||(a.storeInt(3667594509,"invokeWithLayer"),a.storeInt(Config.Schema.API.layer,"layer"),a.storeInt(3343392166,"initConnection"),a.storeInt(Config.App.id,"api_id"),a.storeString(navigator.userAgent||"Unknown UserAgent","device_model"),a.storeString(navigator.platform||"Unknown Platform","system_version"),a.storeString(Config.App.version,"app_version"),a.storeString(navigator.language||"en","system_lang_code"),a.storeString("","lang_pack"),a.storeString(navigator.language||"en","lang_code")),i.afterMessageID&&(a.storeInt(3416209197,"invokeAfterMsg"),a.storeLong(i.afterMessageID,"msg_id")),i.resultType=a.storeMethod(e,n);var r=t.generateID(),o=this.generateSeqNo(),s={msg_id:r,seq_no:o,body:a.getBytes(!0),isAPI:!0};return Config.Modes.debug?console.log(dT(),"Api call",e,n,r,o,i):console.log(dT(),"Api call",e),this.pushMessage(s,i)},u.prototype.checkLongPoll=function(e){var t=this.cleanupSent();if(this.longPollPending&&tsNow()<this.longPollPending||this.offline||g)return!1;var n=this;i.get("dc").then(function(e){t&&(e!=n.dcID||n.upload||n.sleepAfter&&tsNow()>n.sleepAfter)||n.sendLongPoll()})},u.prototype.sendLongPoll=function(){var e=25e3,t=this;this.longPollPending=tsNow()+e,this.wrapMtpCall("http_wait",{max_delay:500,wait_after:150,max_wait:e},{noResponse:!0,longPoll:!0}).then(function(){delete t.longPollPending,setZeroTimeout(t.checkLongPoll.bind(t))},function(e){console.log("Long-poll failed",e)})},u.prototype.pushMessage=function(e,t){var n=s.defer();return this.sentMessages[e.msg_id]=angular.extend(e,t||{},{deferred:n}),this.pendingMessages[e.msg_id]=0,t&&t.noShedule||this.sheduleRequest(),angular.isObject(t)&&(t.messageID=e.msg_id),n.promise},u.prototype.pushResend=function(e,t){var n=t?tsNow()+t:0,i=this.sentMessages[e];if(i.container)for(var a=0;a<i.inner.length;a++)this.pendingMessages[i.inner[a]]=n;else this.pendingMess
controller:"UserModalController",scope:a,windowClass:"user_modal_window mobile_modal",backdrop:"single"})}function I(e,t,n){return o.invokeApi("contacts.importContacts",{contacts:[{_:"inputPhoneContact",client_id:"1",phone:e,first_name:t,last_name:n}],replace:!1}).then(function(e){h(e.users);var t=!1;return angular.forEach(e.imported,function(e){D(t=e.user_id,!0)}),t||!1})}function x(e){var t,n,i=[];for(t=0;t<e.length;t++)for(n=0;n<e[t].phones.length;n++)i.push({_:"inputPhoneContact",client_id:(t<<16|n).toString(10),phone:e[t].phones[n],first_name:e[t].first_name,last_name:e[t].last_name});return o.invokeApi("contacts.importContacts",{contacts:i,replace:!1}).then(function(e){h(e.users);var t=[];return angular.forEach(e.imported,function(e){D(e.user_id,!0),t.push(e.user_id)}),t})}function P(e){var t=[];return angular.forEach(e,function(e){t.push(A(e))}),o.invokeApi("contacts.deleteContacts",{id:t}).then(function(){angular.forEach(e,function(e){D(e,!1)})})}function D(t,n){if(t=parseInt(t),angular.isArray(L)){var i=a=L.indexOf(t),a=i!=-1;n!=a&&(n?(L.push(t),SearchIndexManager.indexObject(t,p(t),V)):L.splice(i,1),e.$broadcast("contacts_update",t))}}function R(){return t.open({templateUrl:templateUrl("import_contact_modal"),controller:"ImportContactModalController",windowClass:"md_simple_modal_window mobile_modal"}).result.then(function(e){return e?e:a.reject()})}function O(t,n){if(!w(t)){var i=U[t];if(i){var a=n?{_:"userStatusOffline",was_online:tsNow(!0)}:{_:"userStatusOnline",expires:tsNow(!0)+500};i.status=a,i.sortStatus=v(i.status),e.$broadcast("user_update",t)}}}var N,L,F,U={},B={},H={},j={},V=SearchIndexManager.createIndex();return o.getUserID().then(function(e){F=e}),e.$on("apiUpdate",function(t,n){switch(n._){case"updateUserStatus":var i=n.user_id,a=U[i];a&&(a.status=n.status,a.status&&(a.status.expires&&(a.status.expires-=l.serverTimeOffset),a.status.was_online&&(a.status.was_online-=l.serverTimeOffset)),a.sortStatus=v(a.status),e.$broadcast("user_update",i));break;case"updateUserPhoto":var i=n.user_id,a=U[i];a&&(T(i),a.photo?safeReplaceObject(a.photo,n.photo):a.photo=n.photo,void 0!==j[i]&&safeReplaceObject(j[i],n.photo&&n.photo.photo_small||{empty:!0}),e.$broadcast("user_update",i));break;case"updateContactLink":D(n.user_id,"contactLinkContact"==n.my_link._)}}),e.$on("user_auth",function(e,t){F=t&&t.id||0}),setInterval(C,6e4),e.$on("stateSynchronized",C),{getContacts:f,saveApiUsers:h,saveApiUser:g,saveUserAccess:_,getUser:y,getSelf:b,getUserInput:A,setUserStatus:O,forceUserOnline:T,getUserPhoto:M,getUserString:S,getUserSearchText:p,hasUser:k,isBot:w,importContact:I,importContacts:x,deleteContacts:P,wrapForFull:E,openUser:$,resolveUsername:m,openImportContact:R}}]).service("PhonebookContactsService",["$q","$modal","$sce","FileManager",function(e,t,n,i){function a(){if(Config.Mobile&&Config.Navigator.ffos&&Config.Modes.packed)try{return navigator.mozContacts&&navigator.mozContacts.getAll}catch(e){return console.error(dT(),"phonebook n/a",e),!1}return!1}function r(){return t.open({templateUrl:templateUrl("phonebook_modal"),controller:"PhonebookModalController",windowClass:"phonebook_modal_window mobile_modal"})}function o(){try{var t=window.navigator.mozContacts.getAll({})}catch(a){return e.reject(a)}var r=e.defer(),o=[],s=0;return t.onsuccess=function(){if(this.result){var e={id:s,first_name:(this.result.givenName||[]).join(" "),last_name:(this.result.familyName||[]).join(" "),phones:[]};if(void 0!=this.result.tel)for(var t=0;t<this.result.tel.length;t++)e.phones.push(this.result.tel[t].value);if(this.result.photo&&this.result.photo[0])try{e.photo=i.getUrl(this.result.photo[0])}catch(a){}e.photo||(e.photo="img/placeholders/UserAvatar"+(Math.abs(s)%8+1)+"@2x.png"),e.photo=n.trustAsResourceUrl(e.photo),s++,o.push(e)}return!this.result||s>=1e3?void r.resolve(o):void this["continue"]()},t.onerror=function(e){console.log("phonebook error",e,e.type,e.message),r.reject(e)},r.promise}return{isAvailable:a,openPhonebookImport:r,getPhonebookContacts:o}}]).service("AppChatsManager",["$q","$rootScope","$modal","_","MtpApiManage
_:"inputStickerSetShortName",short_name:e})}function b(e){var i=t.$new(!0);i.inputStickerset=e;n.open({templateUrl:templateUrl("stickerset_modal"),controller:"StickersetModalController",scope:i,windowClass:"stickerset_modal_window mobile_modal"})}function w(e){for(var t,n=0,i=0;i<e.length;i++)t=e[i],!t.pFlags.disabled&&t.pFlags.installed&&(n=(20261*n+2147483648+t.hash)%2147483648);return n}var k=!1,M=!1,S=[],A={};return t.$on("apiUpdate",function(e,n){return("updateStickerSets"==n._||"updateNewStickerSet"==n._||"updateDelStickerSet"==n._||"updateStickerSetsOrder"==n._)&&s.get("all_stickers").then(function(e){switch(e&&e.layer==Config.Schema.API.layer||t.$broadcast("stickers_changed"),n._){case"updateNewStickerSet":var i=n.stickerset,a=i.set;if(a.pFlags.masks)return!1;for(var r=!1,o=0,l=e.sets.length;o<l;o++)if(e.sets[o].id==a.id){r=o;break}r!==!1&&e.sets.splice(r,1),a.pFlags.installed=!0,e.sets.unshift(a),e.fullSets[a.id]=i,p(i);break;case"updateDelStickerSet":for(var a,o=0,l=e.sets.length;o<l;o++)if(a=e.sets[o],a.id==n.id){a.pFlags.installed=!1,e.sets.splice(o,1);break}delete e.fullSets[n.id];break;case"updateStickerSetsOrder":if(n.pFlags.masks)return;var c=n.order;e.sets.sort(function(e,t){return c.indexOf(e.id)-c.indexOf(t.id)})}e.hash=w(e.sets),e.date=0,s.set({all_stickers:e}).then(function(){t.$broadcast("stickers_changed")})})}),{start:c,getStickers:d,openStickersetLink:y,openStickerset:b,installStickerset:v,pushPopularSticker:g,searchStickers:f,getStickerset:_}}]).service("AppInlineBotsManager",["qSync","$q","$rootScope","toaster","Storage","ErrorService","MtpApiManager","AppMessagesManager","AppMessagesIDsManager","AppDocsManager","AppPhotosManager","AppGamesManager","RichTextProcessor","AppUsersManager","AppPeersManager","LocationParamsService","PeersSelectService","GeoLocationManager",function(e,t,n,i,a,r,o,s,l,c,d,u,p,f,m,h,g,_){function v(){return a.get("inline_bots_popular").then(function(e){var t,n,i,a=[];if(e&&e.length){var r=tsNow(!0);for(t=0,n=e.length;t<n;t++)r-e[t][3]>1209600||(i=e[t][0],f.hasUser(i)||f.saveApiUser(e[t][1]),a.push({id:i,rate:e[t][2],date:e[t][3]}))}return a})}function y(e){v().then(function(t){for(var i=!1,a=t.length,r=[],o=0;o<a;o++){t[o].id==e&&(i=!0,t[o].rate++,t[o].date=tsNow(!0));var s=f.getUser(t[o].id);r.push([t[o].id,s,t[o].rate,t[o].date])}i?r.sort(function(e,t){return t[2]-e[2]}):(r.length>15&&(r=r.slice(0,15)),r.push([e,f.getUser(e),1,tsNow(!0)])),ConfigStorage.set({inline_bots_popular:r}),n.$broadcast("inline_bots_popular")})}function b(n){return m.resolveUsername(n).then(function(i){if(i>0){var a=f.getUser(i);if(a.pFlags.bot&&void 0!==a.bot_inline_placeholder){var r={username:n,id:i,placeholder:a.bot_inline_placeholder};return a.pFlags.bot_inline_geo&&_.isAvailable()?x(i).then(function(){return _.getPosition().then(function(t){return r.geo=t,e.when(r)})})["catch"](function(){return e.when(r)}):e.when(r)}}return t.reject()},function(e){return e.handled=!0,t.reject(e)})}function w(e,t,n,i,a){return o.invokeApi("messages.getInlineBotResults",{flags:0|(i?1:0),bot:f.getUserInput(t),peer:m.getInputPeerByID(e),query:n,geo_point:i&&{_:"inputGeoPoint",lat:i.lat,"long":i["long"]},offset:a},{timeout:1,stopTime:-1,noErrorBox:!0}).then(function(e){var n=e.query_id;return delete e._,delete e.flags,delete e.query_id,e.switch_pm&&(e.switch_pm.rText=p.wrapRichText(e.switch_pm.text,{noLinebreaks:!0,noLinks:!0})),angular.forEach(e.results,function(e){var i=n+"_"+e.id;e.qID=i,e.botID=t,e.rTitle=p.wrapRichText(e.title,{noLinebreaks:!0,noLinks:!0}),e.rDescription=p.wrapRichText(e.description,{noLinebreaks:!0,noLinks:!0}),e.initials=(e.url||e.title||e.type||"").substr(0,1),e.document&&c.saveDoc(e.document),e.photo&&d.savePhoto(e.photo),P[i]=e}),e})}function k(e,t,n){if(e&&e[0]&&["photo","gif","sticker"].indexOf(e[0].type)!=-1){var i=[];angular.forEach(e,function(e){var t,n,a,r;if("botInlineMediaResult"==e._){if(a=e.document)t=e.document.w,n=e.document.h;else if(r=e.photo){var o=(r.sizes||[])[0];t=o&&o.w,n=o&&o.h}}else t=e.w,n=e.h;t&&n||(t=n=1),i.push(t/n)});var a=[],r=0,o=0;angular.forEach(i,fu
try{n.opener=null}catch(i){}return!!n}function v(n,i,a){var r={};a&&(r.shareLinkPromise=e.when(n)),d.selectPeer(r).then(function(e){t.$broadcast("history_focus",{peerString:e,attachment:{_:"share_url",url:n,text:i}})})}function y(e){return l.invokeApi("messages.checkChatInvite",{hash:e}).then(function(n){var i;if("chatInviteAlready"==n._){r.saveApiChat(n.chat);var a=!n.chat.pFlags.left||r.isChannel(n.chat.id)&&n.chat.username;if(a)return t.$broadcast("history_focus",{peerString:r.getChatString(n.chat.id)});i=n.chat.title}else i=n.title;p.confirm({type:n.pFlags.channel&&!n.pFlags.megagroup?"JOIN_CHANNEL_BY_LINK":"JOIN_GROUP_BY_LINK",title:i}).then(function(){return l.invokeApi("messages.importChatInvite",{hash:e}).then(function(e){if(c.processUpdateMessage(e),e.chats&&1==e.chats.length)t.$broadcast("history_focus",{peerString:r.getChatString(e.chats[0].id)});else if(e.updates&&e.updates.length)for(var n,i=0,a=e.updates.length;i<a;i++)if(n=e.updates[i],"updateNewMessage"==n._){t.$broadcast("history_focus",{peerString:r.getChatString(n.message.to_id.chat_id)});break}})})})}var b=/^(web\+)?tg:(\/\/)?(.+)/,w=!1;return{start:g,shareUrl:v,openUrl:_}}]).service("DraftsManager",["$rootScope","qSync","MtpApiManager","ApiUpdatesManager","AppMessagesIDsManager","AppChatsManager","AppPeersManager","RichTextProcessor","Storage","ServerTimeManager",function(e,t,n,i,a,r,o,s,l,c){function d(e,t){return l.get("draft"+e).then(function(n){"string"==typeof n&&(n=n.length>0&&{text:n}),n||t||(n=u(e));var i=n&&n.replyToMsgID;if(i){var r=!!o.isChannel(e)&&-e;n.replyToMsgID=a.getFullMessageID(i,r)}return n})}function u(e){var t=y[e];return void 0!==t&&t}function p(t,n,i){i=i||{};var a=_(n);return y[t]=a,i.notify&&(f(t,a),e.$broadcast("draft_updated",{peerID:t,draft:a,local:i.local})),a}function f(e,t){e||console.trace("empty peerID"),e<0&&!r.hasRights(-e,"send")&&(t=!1),t||(t={text:"",replyToMsgID:0}),t.replyToMsgID=t.replyToMsgID?a.getMessageLocalID(t.replyToMsgID):0;var n="draft"+e;if(g(t))l.remove(n);else{var i={};i[n]=t,l.set(i)}}function m(e,t){f(e),i.processUpdateMessage({_:"updateShort",update:{_:"updateDraftMessage",peer:o.getOutputPeer(e),draft:{_:"draftMessageEmpty"},local:!0}}),t&&v(e)}function h(e,t){var n=g(e),i=g(t);return!(!n||!i)||n==i&&(e.replyToMsgID==t.replyToMsgID&&e.text==t.text)}function g(e){return!e||!(e.replyToMsgID>0)&&("string"!=typeof e.text||!e.text.length)}function _(e){if(!e||"draftMessage"!=e._)return!1;var t=s.parseEntities(e.message),n=e.entities||[];t=s.mergeEntities(t,n);var i=s.wrapDraftText(e.message,{entities:t}),a=s.wrapRichText(e.message,{noLinks:!0,noLinebreaks:!0});return{text:i,richMessage:a,replyToMsgID:e.reply_to_msg_id||0,date:e.date-c.serverTimeOffset}}function v(e){d(e,!0).then(function(t){var i=y[e];if(!h(i,t)){var a,r={flags:0,peer:o.getInputPeerByID(e)};if(g(t))a={_:"draftMessageEmpty"},r.message="";else{a={_:"draftMessage"};var l=t.text,d=[];l=s.parseEmojis(l),l=s.parseMarkdown(l,d,!0),t.replyToMsgID>0&&(r.flags|=1,r.reply_to_msg_id=t.replyToMsgID,a.reply_to_msg_id=t.replyToMsgID),d.length&&(r.flags|=8,r.entities=d,a.entities=d),r.message=l,a.message=l}n.invokeApi("messages.saveDraft",r).then(function(){a.date=tsNow(!0)+c.serverTimeOffset,p(e,a,{notify:!0,local:!0})})}})}var y={};return e.$on("apiUpdate",function(e,t){if("updateDraftMessage"==t._){var n=o.getPeerID(t.peer);p(n,t.draft,{notify:!0,local:t.local})}}),{getDraft:d,getServerDraft:u,saveDraft:p,changeDraft:f,clearDraft:m,syncDraft:v}}]),angular.module("myApp.controllers",["myApp.i18n"]).controller("AppWelcomeController",["$scope","$location","MtpApiManager","ChangelogNotifyService","LayoutSwitchService",function(e,t,n,i,a){n.getUserID().then(function(e){return e?void t.url("/im"):"http:"!=location.protocol||Config.Modes.http||Config.App.domains.indexOf(location.hostname)==-1?void t.url("/login"):void(location.href=location.href.replace(/^http:/,"https:"))}),i.checkUpdate(),a.start()}]).controller("AppLoginController",["$scope","$rootScope","$location","$timeout","$modal","$modalStack","MtpApiManager","ErrorService","NotificationsMana
}):$(!0)}e.$watchCollection("curDialog",y),p.attach(),m.start(),h.start(),e.peerHistories=[],e.selectedMsgs={},e.selectedCount=0,e.historyState.selectActions=!1,e.historyState.botActions=!1,e.historyState.channelActions=!1,e.historyState.canDelete=!1,e.historyState.canReply=!1,e.historyState.missedCount=0,e.historyState.skipped=!1,e.state={},e.toggleMessage=O,e.selectedDelete=U,e.selectedForward=H,e.selectedReply=j,e.selectedEdit=V,e.selectedCancel=L,e.selectedFlush=F,e.selectInlineBot=N,e.startBot=x,e.cancelBot=P,e.joinChannel=D,e.togglePeerMuted=R,e.toggleEdit=q,e.toggleMedia=z,e.returnToRecent=W,e.$on("history_edit_toggle",q),e.$on("history_edit_flush",F),e.$on("history_media_toggle",function(e,t){z(t)}),e.$on("history_return_recent",W);var G,K=!1,Y=!1,X=!1,J=!1,Z=0,Q=0,ee=!1,te={photos:"inputMessagesFilterPhotos",video:"inputMessagesFilterVideo",documents:"inputMessagesFilterDocument",audio:"inputMessagesFilterVoice",round:"inputMessagesFilterRoundVideo",music:"inputMessagesFilterMusic",urls:"inputMessagesFilterUrl",mentions:"inputMessagesFilterMyMentions"},ne=0,ie=0,ae=!1,re=!1,oe=0,se=!1,le=!1;e.$on("history_update",angular.noop);var ce=!1;e.$on("stateSynchronized",function(){ce&&(ce==e.curDialog.peerID&&$(),ce=!1)}),e.$on("reply_button_press",function(t,n){var i=e.historyState.replyKeyboard;if(i){var a={replyToMsgID:G<0&&i.mid};switch(n._){case"keyboardButtonRequestPhone":_.confirm({type:"BOT_ACCESS_PHONE"}).then(function(){var e=l.getSelf();d.sendOther(G,{_:"inputMediaContact",phone_number:e.phone,first_name:e.first_name,last_name:e.last_name},a)});break;case"keyboardButtonRequestGeoLocation":_.confirm({type:"BOT_ACCESS_GEO"}).then(function(){return v.getPosition().then(function(e){d.sendOther(G,{_:"inputMediaGeoPoint",geo_point:{_:"inputGeoPoint",lat:e.lat,"long":e["long"]}},a)},function(e){_.alert(o("error_modal_bad_request_title_raw"),o("error_modal_gelocation_na_raw"))})});break;default:d.sendText(G,n.text,a)}}}),e.$on("history_reload",function(t,n){n==e.curDialog.peerID&&$()}),e.$on("history_forbidden",function(n,i){i==e.curDialog.peerID&&t.url("/im"),k(i)}),e.$on("dialog_migrate",function(t,n){if(n.migrateFrom==e.curDialog.peerID){var i=u.getPeerString(n.migrateTo);a.$broadcast("history_focus",{peerString:i})}k(n.migrateFrom)}),e.$on("notify_settings",function(t,n){n.peerID==e.curDialog.peerID&&A()}),e.$on("channel_settings",function(t,n){n.channelID==-e.curDialog.peerID&&A()});var de={};e.$on("history_append",function(t,i){var r=w(i.peerID);if(r){var o=i.peerID==e.curDialog.peerID;if(o){if(e.historyFilter.mediaType||e.historyState.skipped)return void(i.my?W():e.historyState.missedCount++);e.curDialog.messageID&&i.my&&W(),delete e.state.empty}var s=d.wrapForHistory(i.messageID);r.messages.push(s),r.ids.push(i.messageID),d.regroupWrappedHistory(r.messages,-3)&&e.$broadcast("messages_regroup"),o&&(e.historyState.typing.splice(0,e.historyState.typing.length),e.$broadcast("ui_history_append_new",{my:i.my,idleScroll:Y&&!s.pFlags.out&&a.idle.isIDLE}),i.my&&e.historyUnreadAfter&&(delete e.historyUnreadAfter,e.$broadcast("messages_unread_after")),a.idle.isIDLE?!s.pFlags.unread||s.pFlags.out||(r.messages[r.messages.length-2]||{}).pFlags.unread||(e.historyUnreadAfter=s.mid,Y=!0,e.$broadcast("messages_unread_after")):n(function(){d.readHistory(e.curDialog.peerID)}),S(),A())}}),e.$on("history_multiappend",function(t,i){var r=!1,o=!1,s=a.idle.isIDLE;angular.forEach(i,function(t,i){var a=w(i);if(a){var l=i==e.curDialog.peerID,c=a.messages.length,u=t.length;if(l){if(e.historyFilter.mediaType||e.historyState.skipped)return void(e.historyState.missedCount+=u);delete e.state.empty}if((!l||s)&&c>(u>10?10:100))return console.warn(dT(),"Drop too many messages",u,c,s,l,i),void(l?(Q=a.messages[c-1].mid,e.historyState.skipped=J=Q>0,J&&(ce=i,e.$broadcast("ui_history_append"))):k(i));var p,f,m=!1,h=!1,g=a.messages[a.messages.length-1],_=!g||!g.pFlags.unread;for(f=0;f<u;f++)p=t[f],p>0&&p<Z||a.ids.indexOf(p)!==-1||(g=d.wrapForHistory(p),a.messages.push(g),a.ids.push(p),!h&&s&&(g.pFlags.unread&&!g.pFlags.out&&_?h=p:_=!g.pFlags.unread)
peerString:e.chatFull.peerString}),t&&t.updates&&t.updates.length&&r.isChannel(e.chatID)&&o.invalidateChannelParticipants(e.chatID)}function _(t){t&&t.type&&0===t.type.indexOf("image")&&(e.photo.updating=!0,c.uploadFile(t).then(function(t){return l.invokeApi("channels.editPhoto",{channel:r.getChannelInput(e.chatID),photo:{_:"inputChatUploadedPhoto",file:t}}).then(g)})["finally"](function(){e.photo.updating=!1}))}e.chatFull=r.wrapForFull(e.chatID,{}),e.settings={notifications:!0},e.isMegagroup=r.isMegagroup(e.chatID),o.getChannelFull(e.chatID,!0).then(function(t){e.chatFull=r.wrapForFull(e.chatID,t),e.$broadcast("ui_height"),d.getPeerMuted(-e.chatID).then(function(t){e.settings.notifications=!t,e.$watch("settings.notifications",function(t,n){return t!==n&&void d.getPeerSettings(-e.chatID).then(function(n){t?n.mute_until=0:n.mute_until=2e9,d.updatePeerSettings(-e.chatID,n)})})}),e.chatFull.chat&&e.chatFull.chat.pFlags.creator&&e.chatFull.exported_invite&&"chatInviteEmpty"==e.chatFull.exported_invite._&&o.getChatInviteLink(e.chatID,!0).then(function(t){e.chatFull.exported_invite={_:"chatInviteExported",link:t}})}),o.getChannelParticipants(e.chatID).then(function(t){e.participants=r.wrapParticipants(e.chatID,t),e.$broadcast("ui_height")}),e.leaveChannel=function(){return h.confirm({type:e.isMegagroup?"MEGAGROUP_LEAVE":"CHANNEL_LEAVE"}).then(function(){l.invokeApi("channels.leaveChannel",{channel:r.getChannelInput(e.chatID)}).then(g)})},e.deleteChannel=function(){return h.confirm({type:e.isMegagroup?"MEGAGROUP_DELETE":"CHANNEL_DELETE"}).then(function(){l.invokeApi("channels.deleteChannel",{channel:r.getChannelInput(e.chatID)}).then(g)})},e.flushHistory=function(){h.confirm({type:"HISTORY_FLUSH"}).then(function(){u.flushHistory(-e.chatID).then(function(){n.$broadcast("history_focus",{peerString:e.chatFull.peerString})})})},e.joinChannel=function(){l.invokeApi("channels.joinChannel",{channel:r.getChannelInput(e.chatID)}).then(g)},e.inviteToChannel=function(){var t=[];angular.forEach((e.chatFull.participants||{}).participants||[],function(e){t.push(e.user_id)}),m.selectContacts({disabled:t}).then(function(t){var n=[];angular.forEach(t,function(e){n.push(a.getUserInput(e))}),l.invokeApi("channels.inviteToChannel",{channel:r.getChannelInput(e.chatID),users:n}).then(g)})},e.kickFromChannel=function(t){l.invokeApi("channels.editBanned",{channel:r.getChannelInput(e.chatID),user_id:a.getUserInput(t),banned_rights:{_:"channelBannedRights",flags:1,until_date:0}}).then(g)},e.shareLink=function(t){var a=n.$new();return a.chatID=e.chatID,i.open({templateUrl:templateUrl("chat_invite_link_modal"),controller:"ChatInviteLinkModalController",scope:a,windowClass:"md_simple_modal_window"}),cancelEvent(t)},e.photo={},e.$watch("photo.file",_),e.deletePhoto=function(){e.photo.updating=!0,l.invokeApi("channels.editPhoto",{channel:r.getChannelInput(e.chatID),photo:{_:"inputChatPhotoEmpty"}}).then(g)["finally"](function(){e.photo.updating=!1})},e.editChannel=function(){var t=n.$new();t.chatID=e.chatID,i.open({templateUrl:templateUrl(e.isMegagroup?"megagroup_edit_modal":"channel_edit_modal"),controller:"ChannelEditModalController",scope:t,windowClass:"md_simple_modal_window mobile_modal"})},e.goToHistory=function(){n.$broadcast("history_focus",{peerString:e.chatFull.peerString})},e.hasRights=function(t){return r.hasRights(e.chatID,t)}}]).controller("SettingsModalController",["$rootScope","$scope","$timeout","$modal","AppUsersManager","AppChatsManager","AppPhotosManager","MtpApiManager","Storage","NotificationsManager","MtpApiFileManager","PasswordManager","ApiUpdatesManager","ChangelogNotifyService","LayoutSwitchService","WebPushApiManager","AppRuntimeManager","ErrorService","_",function(e,t,n,i,a,r,o,s,l,c,d,u,p,f,m,h,g,_,v){function y(){n.cancel(w),w=!1,u.getState().then(function(e){t.password=e,"account.noPassword"==e._&&e.email_unconfirmed_pattern&&!k&&(w=n(y,5e3))})}function b(e){e&&e.type&&0===e.type.indexOf("image")&&(t.photo.updating=!0,d.uploadFile(e).then(function(e){s.invokeApi("photos.uploadProfilePhoto",{file:e,caption:"",geo_point:{_:"inp
flags:u,offset_date:i,offset_id:f.getMessageLocalID(r),offset_peer:c.getInputPeerByID(o),limit:e},{timeout:300}).then(function(e){i||S.setAuthorized(!0),s.saveApiUsers(e.users),l.saveApiChats(e.chats),ne(e.messages);var r=!!i,o=!1;e.dialogs.reverse(),angular.forEach(e.dialogs,function(e){x(e),d&&e.index>d&&(ut[e.peerID]=e,o=!0),r||c.isChannel(c.getPeerID(e.peer))||(Se(e.top_message),r=!0)}),e.dialogs.reverse(),(!e.dialogs.length||!e.count||n.length>=e.count)&&(nt=!0),o&&!dt?dt=a(Te,0):t.$broadcast("dialogs_multiupdate",{})})}function D(){return 2147483392+(255&at++)}function R(e){return void 0===e&&(e=tsNow(!0)+y.serverTimeOffset),65536*e+(65535&++rt)}function O(e,t){var n=Ne.dialogs,i=I(e.peerID)[1];if(void 0!==i&&n.splice(i,1),t&&!e.pFlags.pinned&&(!it||t<it)){if(void 0!==i)return!1;it=t}var a,r=e.index,o=n.length;if(!o||r<n[o-1].index)n.push(e);else if(r>=n[0].index)n.unshift(e);else for(a=0;a<o;a++)if(r>n[a].index){n.splice(a,0,e);break}}function N(t,n,i,a){var r=c.isChannel(t);r&&c.isMegagroup(t);return _.invokeApi("messages.getHistory",{peer:c.getInputPeerByID(t),offset_id:n?f.getMessageLocalID(n):0,add_offset:a||0,limit:i||0},{timeout:300,noErrorBox:!0}).then(function(e){s.saveApiUsers(e.users),l.saveApiChats(e.chats),ne(e.messages),r&&o.addChannelState(-t,e.pts);var n=e.messages.length;return n&&e.messages[n-1].deleted&&(e.messages.splice(n-1,1),n--,e.count--),t<0||!s.isBot(t)||n==i&&i<e.count?e:M.getProfile(t).then(function(n){var i=n.bot_info&&n.bot_info.description;if(i){var a=je--,r={_:"messageService",id:a,from_id:t,to_id:c.getOutputPeer(t),flags:0,pFlags:{},date:tsNow(!0)+y.serverTimeOffset,action:{_:"messageActionBotIntro",description:i}};ne([r]),e.messages.push(r),e.count&&e.count++}return e})},function(n){switch(n.type){case"CHANNEL_PRIVATE":var i=l.getChat(-t);i={_:"channelForbidden",access_hash:i.access_hash,title:i.title},o.processUpdateMessage({_:"updates",updates:[{_:"updateChannel",channel_id:-t}],chats:[i],users:[]})}return e.reject(n)})}function L(e,n,i,a){var r=ot[e]&&!n?1:0;return N(e,n,i,r).then(function(r){a.count=r.count||r.messages.length;var o=0;if(!n&&r.messages.length&&(n=r.messages[0].mid+1),n>0)for(o=0;o<a.history.length&&!(n>a.history[o]);o++);var s=a.history.length;a.history.splice(o,a.history.length-o),angular.forEach(r.messages,function(n){V(a,n)&&t.$broadcast("history_reply_markup",{peerID:e}),a.history.push(n.mid)});var l=a.history.length;i-=l-s;var c=ot[e],d=st[e],u=void 0!==c||void 0!==d;if(u&&(a.count=Math.max(a.count,l)+1),i>0){if(n=a.history[l-1],u){if(!r.messages.length){if(!d)return a.count=l,!0;n=0,e=d}return L(e,n,i,a)}if(l<a.count)return L(e,n,i,a)}return!0})}function F(t,n){var i=n.unreadOffset;if(i){var a,r;for(a=n.history.length-1;a>=0;a--)if(r=Pe[n.history[a]],r&&!r.pFlags.out&&r.pFlags.unread){n.unreadOffset=a+1;break}}return e.when(n)}function U(e,n){if(!ot[e]&&!st[n]&&l.hasChat(-n)){var i=l.getChat(-e);i&&i.migrated_to&&i.migrated_to.channel_id==-n&&(ot[e]=n,st[n]=e,a(function(){var i=I(e);i.length&&(Ne.dialogs.splice(i[1],1),t.$broadcast("dialog_drop",{peerID:e})),t.$broadcast("dialog_migrate",{migrateFrom:e,migrateTo:n})},100))}}function B(e){if(ot[e])return ot[e]}function H(e,t,n,i,a){ot[e]&&(e=ot[e]);var r=Oe[e],o=0,s=!1,l=!1,c=!1;a=a?Math.min(50,a):0,void 0===r&&(r=Oe[e]={count:null,history:[],pending:[]}),t<0&&(t=0);var d=!1,u=e;if(st[e]&&(d=!0,t&&t<f.fullMsgIDModulus&&(u=st[e])),!n&&!t){var p=I(e)[0];if(p&&p.unread_count>1){var m=p.unread_count;(c=m>50)?p.read_inbox_max_id?(t=p.read_inbox_max_id,i=16,l=16,n=4):(n=20,l=16,o=m-l):(n=Math.max(10,a,m+2),l=m)}else Config.Mobile&&(n=20)}if(t>0)for(s=!0,o=0;o<r.history.length;o++)if(t>r.history[o]){s=!1;break}if(!s&&(null!==r.count&&r.history.length==r.count||r.history.length>=o+(n||1))){i?(i=Math.min(o,i),o=Math.max(0,o-i),n+=i):n=n||(o?20:a||5);var h=r.history.slice(o,o+n);return!t&&r.pending.length&&(h=r.pending.slice().concat(h)),F(e,{count:r.count,history:h,unreadOffset:l,unreadSkip:c})}return i||n||(n=a||20),s&&(o=0),i||c||t&&r.history.indexOf(t)==-1?(i&&(o=-i,n+=i),N(u,t,n,o).then(function(n){r.count=n.co
void 0!==p&&(c=b.wrapPlainText(p)+" "+c);break;case"video":c=T("conversation_media_video_raw"),u="📹";break;case"round":c=T("conversation_media_round_raw"),u="📹";break;case"voice":case"audio":c=T("conversation_media_audio_raw");break;default:e.media.document.file_name?c=b.wrapPlainText("📎 "+e.media.document.file_name):(c=T("conversation_media_document_raw"),u="📎")}break;case"messageMediaGeo":case"messageMediaVenue":c=T("conversation_media_location_raw"),u="📍";break;case"messageMediaContact":c=T("conversation_media_contact_raw");break;case"messageMediaGame":c=b.wrapPlainText("🎮 "+e.media.game.title);break;case"messageMediaUnsupported":c=T("conversation_media_unsupported_raw");break;default:c=T("conversation_media_attachment_raw")}u!==!1&&e.media.caption&&(c=b.wrapPlainText(u+" "+e.media.caption))}else if("messageService"==e._)switch(e.action._){case"messageActionChatCreate":c=T("conversation_group_created_raw");break;case"messageActionChatEditTitle":c=T("conversation_group_renamed_raw");break;case"messageActionChatEditPhoto":c=T("conversation_group_photo_updated_raw");break;case"messageActionChatDeletePhoto":c=T("conversation_group_photo_removed_raw");break;case"messageActionChatAddUser":case"messageActionChatAddUsers":c=T("conversation_invited_user_message_raw");break;case"messageActionChatReturn":c=T("conversation_returned_to_group_raw");break;case"messageActionChatJoined":c=T("conversation_joined_group_raw");break;case"messageActionChatDeleteUser":c=T("conversation_kicked_user_message_raw");break;case"messageActionChatLeave":c=T("conversation_left_group_raw");break;case"messageActionChatJoinedByLink":c=T("conversation_joined_by_link_raw");break;case"messageActionChannelCreate":c=T("conversation_created_channel_raw");break;case"messageActionChannelEditTitle":c=T("conversation_changed_channel_name_raw");break;case"messageActionChannelEditPhoto":c=T("conversation_changed_channel_photo_raw");break;case"messageActionChannelDeletePhoto":c=T("conversation_removed_channel_photo_raw");break;case"messageActionPinMessage":c=T("conversation_pinned_message_raw");break;case"messageActionGameScore":c=tt(e.action.score);break;case"messageActionPhoneCall":switch(e.action.type){case"out_missed":c=T("message_service_phonecall_canceled_raw");break;case"in_missed":c=T("message_service_phonecall_missed_raw");break;case"out_ok":c=T("message_service_phonecall_outgoing_raw");break;case"in_ok":c=T("message_service_phonecall_incoming_raw")}}if(r>0){var f=s.getUser(e.from_id),m=s.getUserPhoto(e.from_id);o.title=(f.first_name||"")+(f.first_name&&f.last_name?" ":"")+(f.last_name||""),o.title||(o.title=f.phone||T("conversation_unknown_user_raw")),a=m,i=s.getUserString(r)}else{if(o.title=l.getChat(-r).title||T("conversation_unknown_chat_raw"),e.from_id>0){var f=s.getUser(e.from_id);o.title=(f.first_name||f.last_name||T("conversation_unknown_user_raw"))+" @ "+o.title}a=l.getChatPhoto(-r),i=l.getChatString(-r)}o.title=b.wrapPlainText(o.title),o.onclick=function(){t.$broadcast("history_focus",{peerString:i,messageID:16&e.flags?e.mid:0})},o.message=c,o.key="msg"+e.mid,o.tag=i,o.silent=e.pFlags.silent||!1,a.location&&!a.location.empty?v.downloadSmallFile(a.location,a.size).then(function(t){e.pFlags.unread&&(o.image=t,w.notify(o))}):w.notify(o)}function Ce(){a.cancel(lt),lt=!1,t.$broadcast("history_multiappend",ct),ct={}}function Te(){a.cancel(dt),dt=!1;var e=0;angular.forEach(ut,function(t,n){t.reload?(Ie(n),delete ut[n]):(O(t),c.isChannel(n)||(e=Math.max(e,t.top_message||0)))}),e!==!1&&Se(e),t.$broadcast("dialogs_multiupdate",ut),ut={}}function Ee(){a.cancel(pt),pt=!1;var e=t.idle.isIDLE&&C.isOtherDeviceActive()?3e4:1e3;angular.forEach(ft,function(t){t.isMutedPromise.then(function(n){var i=t.top_message;!n&&i.pFlags.unread&&setTimeout(function(){i.pFlags.unread&&Ae(i,{fwd_count:t.fwd_count})},e)})}),ft={}}function $e(e){switch(e._){case"updateMessageID":var n=e.random_id,i=Le[n];if(i){var r=i[0],o=i[1],d=c.isChannel(r)?-r:0,u=f.getFullMessageID(e.id,d),p=Pe[u];if(p){var m=Oe[r],h=m.pending.indexOf(o);h!=-1&&m.pending.splice(h,1),delete
e.put("partials/desktop/composer_dropdown.html",'<div ng-switch="type">\n\n <ul ng-switch-when="mentions" class="composer_dropdown">\n <li ng-repeat="user in mentionUsers">\n <a class="composer_mention_option" data-user-id="{{\'#\' + user.id}}" data-username="{{user.username}}" data-name="{{user.first_name}}">\n <span class="composer_user_photo" my-peer-photolink="user.id" img-class="composer_user_photo"></span>\n <span class="composer_user_name" ng-bind-html="user.rFullName"></span>\n <span class="composer_user_mention" ng-if="user.username.length > 0" ng-bind="\'@\' + user.username"></span>\n </a>\n </li>\n </ul>\n\n <ul ng-switch-when="commands" class="composer_dropdown">\n <li ng-repeat="command in commands track by (command.botID + command.value)">\n <a class="composer_command_option" data-command="{{command.value}}">\n <span class="composer_user_photo" my-peer-photolink="command.botID" img-class="composer_user_photo"></span>\n <span class="composer_command_value" ng-bind="command.value"></span>\n <span class="composer_command_desc" ng-bind-html="command.rDescription"></span>\n </a>\n </li>\n </ul>\n\n <ul ng-switch-when="emoji" my-emoji-suggestions="emojiCodes" class="composer_dropdown"></ul>\n\n <div ng-switch-when="inline" my-inline-results="botResults"></div>\n\n</div>'),e.put("partials/desktop/confirm_modal.html",'<div class="confirm_modal_wrap md_simple_modal_wrap" my-modal-position>\n\n <div class="md_simple_modal_body">\n\n <div class="confirm_modal_description" ng-switch="type">\n <span ng-switch-when="LOGOUT" my-i18n="confirm_modal_logout"></span>\n <span ng-switch-when="WEBOGRAM_UPDATED_RELOAD" my-i18n="confirm_modal_update_reload"></span>\n <span ng-switch-when="HISTORY_FLUSH" my-i18n="confirm_modal_history_flush"></span>\n <span ng-switch-when="HISTORY_LEAVE_AND_FLUSH" my-i18n="confirm_modal_history_leave_flush_md"></span>\n <span ng-switch-when="HISTORY_FLUSH_AND_DELETE" my-i18n="confirm_modal_history_flush"></span>\n <span ng-switch-when="TERMINATE_SESSIONS" my-i18n="confirm_modal_terminate_sessions"></span>\n <span ng-switch-when="TERMINATE_SESSION" my-i18n="confirm_modal_terminate_session"></span>\n\n <span ng-switch-when="FILES_CLIPBOARD_PASTE">\n <ng-pluralize count="files.length"\n when="confirm_modal_clipboard_X_files_send">\n </ng-pluralize>\n </span>\n <div ng-switch-when="FILE_CLIPBOARD_PASTE">\n <span my-i18n="confirm_modal_clipboard_file_send"></span>\n <div class="confirm_modal_paste_image" ng-if="fileUrl !== false" ng-style="{backgroundImage: \'url(\' + fileUrl + \')\'}"></div>\n </div>\n <span ng-switch-when="MESSAGE_DELETE" my-i18n="confirm_modal_message_delete"></span>\n <span ng-switch-when="MESSAGES_DELETE">\n <span my-i18n="confirm_modal_delete_messages">\n <my-i18n-param name="messages"><strong><ng-pluralize when="confirm_modal_delete_X_messages" count="count"></ng-pluralize></strong></my-i18n-param>\n </span>\n\n <a class="tg_checkbox" ng-if="revocable" ng-click="data.revoke = !data.revoke" ng-class="data.revoke ? \'tg_checkbox_on\' : \'\'">\n <span class="icon icon-checkbox-outer"><i class="icon-checkbox-inner"></i></span>\n <span class="tg_checkbox_label" my-i18n="confirm_modal_message_revoke">\n <my-i18n-param name="recipient" ng-switch="isUser">\n <span ng-switch-when="true" my-peer-link="peerID" short="true"></span>\n <span ng-switch-default my-i18n="confirm_modal_message_revoke_recipient_chat"></span>\n </my-i18n-param>\n </span>\n </a>\n <p class="tg_checkbox" ng-if="!revocable && !isChannel && !isSavedMessages" ng-switch="isUser ? \'user\' : (isSupergroup ? \'supergroup\' : (isUsualGroup ? \'group\' : \'default\'))">\n <span ng-switch-when="supergroup" my-i18n="confirm_modal_delete_messages_for_everyone_chat"></span>\n <span ng-switch-when="gro
e.put("partials/desktop/footer.html",'<div class="footer_wrap" ng-controller="AppFooterController">\n\t<a class="footer_link" href="https://telegram.org" target="_blank" my-i18n="head_about"></a>\n <a class="footer_link" ng-click="openSettings()" my-i18n="im_settings"></a>\n <a class="footer_link" href="https://twitter.com/telegram_web" target="_blank" my-i18n="footer_twitter"></a>\n</div>'),e.put("partials/desktop/forwarded_messages.html",'<div class="im_message_reply clearfix" ng-class="{im_message_reply_thumbed: thumb !== false}">\n <div class="im_message_reply_border"></div>\n <div class="im_message_reply_thumb_wrap pull-left" ng-if="thumb !== false">\n <img\n class="im_message_reply_thumb"\n my-load-thumb\n thumb="thumb"\n watch="true"\n />\n </div>\n <div class="im_message_reply_author">\n <span my-peer-link="fromID" peer-watch="true"></span>\n </div>\n <div class="im_message_reply_body" ng-switch="singleMessage !== false">\n <div ng-switch-when="true">\n <span my-short-message="singleMessage"></span>\n </div>\n <div ng-switch-default>\n <span class="im_reply_message_service">\n <ng-pluralize count="count"\n when="im_X_forwarded_messages">\n </ng-pluralize>\n </span>\n </div>\n </div>\n</div>'),e.put("partials/desktop/full_document.html",'<div class="document_modal_image_wrap">\n <div class="img_fullsize_with_progress_wrap document_fullsize_with_progress_wrap" ng-style="{width: frameWidth + \'px\', height: frameHeight + \'px\'}">\n <div class="img_fullsize_progress_overlay">\n <div class="img_fullsize_progress_wrap" ng-style="{width: frameWidth + \'px\', height: frameHeight + \'px\'}">\n <div class="img_fullsize_progress progress tg_progress">\n <div class="progress-bar progress-bar-success" style="width: {{document.progress.percent}}%"></div>\n </div>\n </div>\n </div>\n <div class="img_fullsize_wrap" ng-if="thumbSrc.length > 0">\n <img\n class="img_fullsize"\n ng-src="{{thumbSrc}}"\n ng-style="{width: imageWidth + \'px\', height: imageHeight + \'px\'}"\n />\n </div>\n </div>\n <div class="document_fullsize_wrap" ng-click="toggleZoom(!zoomed)">\n <img class="document_fullsize_img" />\n </div>\n</div>'),e.put("partials/desktop/full_gif.html",'<a class="img_gif_with_progress_wrap" ng-click="toggle($event)">\n\n <div class="img_gif_image_wrap">\n\n <div class="img_gif_meta" ng-show="!isActive || needClick" ng-switch="document.progress.enabled">\n <div ng-switch-when="true" class="img_gif_meta_contents">\n <i class="icon icon-cancel">\n <i class="icon icon-bar"></i>\n <i class="icon icon-bar"></i>\n </i>\n <div my-arc-progress="document.progress.percent"></div>\n </div>\n <div ng-switch-default class="img_gif_label noselect img_gif_meta_contents"><span class="copyonly">[</span>GIF<span class="copyonly">]</span></div>\n </div>\n\n <div ng-if="document.url" ng-show="document.downloaded &amp;&amp; isActive" ng-switch="document.mime_type == \'video/mp4\'">\n <video ng-switch-when="true" width="{{document.thumb.width}}" height="{{document.thumb.height}}" loop autoplay muted class="img_gif_video">\n <source ng-src="{{document.url}}" type="video/mp4">\n </video>\n <img ng-switch-default class="img_gif_image" ng-src="{{document.url}}" width="{{document.thumb.width}}" height="{{document.thumb.height}}" />\n </div>\n <img ng-hide="document.downloaded &amp;&amp; isActive" class="img_gif_thumb" my-load-thumb thumb="document.thumb" />\n\n </div>\n\n</a>'),e.put("partials/desktop/full_photo.html",'<div class="img_fullsize_with_progress_wrap">\n <div class="img_fullsize_progress_overlay" ng-show="progress.enabled">\n <div class="img_fullsize_progress_wrap">\n <div class="img_fullsize_progress progress tg_progress" ng-show="progress.percent > 0">\n <div class="progress-bar progress-bar-success" ng-style="{width: progress.percent + \'%\'}">\n
e.put("partials/desktop/lang_footer.html",'<div class="footer_wrap" ng-controller="AppLangSelectController">\n\t<span ng-repeat="locale in ::supportedLocales">\n\t <a class="footer_lang_link" ng-class="{active: curLocale == locale, disabled: curLocale == locale}" ng-disabled="curLocale == locale" ng-click="localeSelect(locale)" ng-bind="langNames[locale]"></a>\n\t <span ng-if="!$last" class="footer_link_divider"></span>\n\t</span>\n</div>'),e.put("partials/desktop/login.html",'<div class="login_page_wrap" my-custom-background="#e7ebf0">\n <div class="login_head_bg"></div>\n <div class="login_page">\n <div class="login_head_wrap clearfix" ng-switch="progress.enabled">\n <div ng-switch-when="true" class="login_head_submit_progress">\n <my-i18n ng-if="!credentials.phone_code_hash" msgid="login_generating_key"></my-i18n><my-i18n ng-if="credentials.phone_code_hash &amp;&amp; !credentials.phone_code_valid" msgid="login_checking_code"></my-i18n><my-i18n ng-if="credentials.phone_code_valid &amp;&amp; credentials.phone_unoccupied" msgid="login_signing_up"></my-i18n><my-i18n ng-if="credentials.phone_code_valid &amp;&amp; credentials.password_needed" msgid="login_checking_password"></my-i18n><span my-loading-dots></span>\n </div>\n <div ng-switch-default class="login_head_submit_wrap">\n <a class="login_head_submit_btn" ng-if="!credentials.phone_code_hash" ng-click="sendCode()">\n <my-i18n msgid="modal_next"></my-i18n><i class="icon icon-next-submit"></i>\n </a>\n <a class="login_head_submit_btn" ng-if="credentials.phone_code_hash &amp;&amp; !credentials.phone_code_valid" ng-click="logIn()">\n <my-i18n msgid="modal_next"></my-i18n><i class="icon icon-next-submit"></i>\n </a>\n <a class="login_head_submit_btn" ng-if="credentials.phone_code_valid &amp;&amp; credentials.phone_unoccupied" ng-click="logIn(true)">\n <my-i18n msgid="modal_next"></my-i18n><i class="icon icon-next-submit"></i>\n </a>\n <a class="login_head_submit_btn" ng-if="credentials.phone_code_valid &amp;&amp; credentials.password_needed" ng-click="checkPassword()">\n <my-i18n msgid="modal_next"></my-i18n><i class="icon icon-next-submit"></i>\n </a>\n </div>\n <a class="login_head_logo_link" href="https://telegram.org" target="_blank">\n <i class="icon icon-tg-logo"></i><i class="icon icon-tg-title"></i>\n </a>\n </div>\n\n <div class="login_form_wrap">\n <div class="error" ng-if="error.message" ng-bind="error.message"></div>\n\n <form name="mySendCodeForm" ng-if="!credentials.phone_code_hash" ng-submit="sendCode()">\n <h3 class="login_form_head" my-i18n="login_sign_in"></h3>\n <p class="login_form_lead" my-i18n="login_enter_number_description"></p>\n\n <div class="md-input-group md-input-has-value login_phone_country_input_group" ng-click="chooseCountry()">\n <label class="md-input-label" my-i18n="login_country_select_placeholder"></label>\n <div autocomplete="off" class="md-input" ng-bind="credentials.phone_country_name"></div>\n </div>\n\n <div class="login_phone_groups_wrap clearfix">\n\n <div class="md-input-group login_phone_code_input_group" ng-class="{\'md-input-error\': error.field == \'phone\'}" my-labeled-input>\n <label class="md-input-label" my-i18n="login_code_input_placeholder"></label>\n <input autocomplete="off" class="md-input" my-focused name="phone_country" type="tel" ng-model="credentials.phone_country" />\n </div>\n\n <div class="md-input-group login_phone_num_input_group" ng-class="{\'md-input-error\': error.field == \'phone\'}" my-labeled-input ng-switch="error.field == \'phone\'">\n <label ng-switch-when="true" class="md-input-label" my-i18n="login_incorrect_number"></label>\n <label ng-switch-default class="md-input-label" my-i18n="login_tel_input_placeholder"></label>\n <input required autocomplete="off" my-submit-on-enter class="md-input" my-focus-on="c
e.put("partials/desktop/password_recovery_modal.html",'<div class="md_simple_modal_wrap" my-modal-position>\n\n <div class="md_simple_modal_body">\n\n <form class="modal_simple_form" ng-submit="checkCode()">\n\n <h4 my-i18n="login_recovery_title"></h4>\n\n <div class="md_simple_form_description" my-i18n="login_recovery_description_md">\n <my-i18n-param name="email">\n <strong ng-bind="recovery.email_pattern"></strong>\n </my-i18n-param>\n </div>\n\n <div class="md-input-group" ng-class="{\'md-input-error\': recovery.error_field == \'code\'}" my-labeled-input ng-switch="recovery.error_field == \'code\'">\n <label ng-switch-when="true" class="md-input-label" my-i18n="login_code_incorrect"></label>\n <label ng-switch-default class="md-input-label" my-i18n="login_code_placeholder"></label>\n <input class="md-input" my-focused type="text" ng-model="recovery.code" name="code" my-focused />\n </div>\n\n </form>\n\n </div>\n\n <div class="md_simple_modal_footer">\n\n <button class="btn btn-md" ng-click="$dismiss()" my-i18n="modal_cancel"></button>\n <button class="btn btn-md btn-md-primary" ng-class="{disabled: recovery.updating}" ng-click="checkCode()" ng-disabled="recovery.updating" ng-bind="recovery.updating ? \'password_recover_active\' : \'password_recover_submit\' | i18n"></button>\n\n </div>\n\n</div>'),e.put("partials/desktop/password_update_modal.html",'<div class="md_simple_modal_wrap" my-modal-position>\n\n <div class="md_simple_modal_body">\n\n <form class="modal_simple_form" ng-submit="updatePassword()">\n\n <h4 ng-switch="action">\n <my-i18n ng-switch-when="disable" msgid="password_delete_title"></my-i18n>\n <my-i18n ng-switch-default msgid="password_change_title"></my-i18n>\n </h4>\n\n <div ng-if="password._ != \'account.noPassword\'" class="md-input-group" ng-class="{\'md-input-error\': passwordSettings.error_field == \'cur_password\'}" my-labeled-input>\n <label class="md-input-label" my-i18n="password_current_placeholder"></label>\n <input class="md-input" my-focused type="password" ng-model="passwordSettings.cur_password" name="cur_password" my-focus-on="cur_password_focus" />\n </div>\n\n <div ng-if="action != \'disable\'" class="md-input-group md-input-grouped" ng-class="{\'md-input-error\': passwordSettings.error_field == \'new_password\'}" my-labeled-input>\n <label class="md-input-label" my-i18n="password_new_placeholder"></label>\n <input class="md-input" type="password" ng-model="passwordSettings.new_password" name="new_password" my-focus-on="new_password_focus" />\n </div>\n\n <div ng-if="action != \'disable\'" class="md-input-group" ng-class="{\'md-input-error\': passwordSettings.confirm_password && passwordSettings.new_password && passwordSettings.confirm_password != passwordSettings.new_password}" my-labeled-input>\n <label class="md-input-label" my-i18n="password_confirm_placeholder"></label>\n <input class="md-input" type="password" ng-model="passwordSettings.confirm_password" name="confirm_password" my-focus-on="confirm_password_focus" />\n </div>\n\n <div ng-if="action != \'disable\'" class="md-input-group" my-labeled-input>\n <label class="md-input-label" my-i18n="password_hint_placeholder"></label>\n <input class="md-input" type="text" ng-model="passwordSettings.hint" name="hint" />\n </div>\n\n <div ng-if="action != \'disable\'" class="md_simple_form_description" my-i18n="password_create_description"></div>\n\n <div ng-if="action != \'disable\'" class="md-input-group" ng-class="{\'md-input-error\': passwordSettings.error_field == \'email\'}" my-labeled-input>\n <label class="md-input-label" my-i18n="password_email_placeholder"></label>\n <input class="md-input" type="text" ng-model="passwordSettings.email" name="email" />\n </div>\n\n\n </form>\n\n </div>\n\n <div class="md_simple_modal_footer">\n\n <button class="btn btn-md" ng-click="$dismiss()" my
e.put("partials/desktop/short_message.html",'<span class="im_short_message_media" ng-if="message.media" ng-switch="message.media._">\n <span ng-switch-when="messageMediaPhoto" my-i18n="conversation_media_photo"></span>\n <span ng-switch-when="messageMediaDocument" ng-switch="message.media.document.type || false">\n <span ng-switch-when="sticker">\n <span ng-bind-html="message.media.document.stickerEmoji"></span>\n <my-i18n msgid="conversation_media_sticker"></my-i18n>\n </span>\n <span ng-switch-when="gif" my-i18n="conversation_media_gif"></span>\n <span ng-switch-when="round" my-i18n="conversation_media_round"></span>\n <span ng-switch-when="audio" my-i18n="conversation_media_audio"></span>\n <span ng-switch-when="voice" my-i18n="conversation_media_audio"></span>\n <span ng-switch-when="video" my-i18n="conversation_media_video"></span>\n <span ng-switch-default ng-bind="message.media.document.file_name"></span>\n </span>\n <span ng-switch-when="messageMediaGeo" my-i18n="conversation_media_location"></span>\n <span ng-switch-when="messageMediaVenue" my-i18n="conversation_media_location"></span>\n <span ng-switch-when="messageMediaContact" my-i18n="conversation_media_contact"></span>\n <span ng-switch-when="messageMediaGame">\n <span my-emoji-image="🎮"></span>\n <span ng-bind-html="message.media.game.rTitle"></span>\n </span>\n <span ng-switch-when="messageMediaUnsupported" my-i18n="conversation_media_unsupported"></span>\n <span ng-switch-when="messageMediaUnsupportedWeb" my-i18n="conversation_media_unsupported"></span>\n</span><span class="im_short_message_service" ng-if="message._ == \'messageService\'" ng-switch="message.action._">\n <span ng-switch-when="messageActionChatCreate" my-i18n="conversation_group_created"></span>\n <span ng-switch-when="messageActionChatEditTitle" my-i18n="conversation_group_renamed"></span>\n <span ng-switch-when="messageActionChatEditPhoto" my-i18n="conversation_group_photo_updated"></span>\n <span ng-switch-when="messageActionChatDeletePhoto" my-i18n="conversation_group_photo_removed"></span>\n <span ng-switch-when="messageActionChatJoinedByLink" my-i18n="conversation_joined_by_link"></span>\n <span ng-switch-when="messageActionChatReturn" my-i18n="conversation_returned_to_group"></span>\n <span ng-switch-when="messageActionChatJoined" my-i18n="conversation_joined_group"></span>\n <span ng-switch-when="messageActionChatAddUser" my-i18n="conversation_invited_user">\n <my-i18n-param name="user"><span my-peer-link="message.action.user_id"></span></my-i18n-param>\n </span>\n <span ng-switch-when="messageActionChatAddUsers" my-i18n="">\n <ng-pluralize count="message.action.users.length"\n when="conversation_invited_users">\n </ng-pluralize>\n </span>\n <span ng-switch-when="messageActionChatLeave" my-i18n="conversation_left_group"></span>\n <span ng-switch-when="messageActionChatDeleteUser" my-i18n="conversation_kicked_user">\n <my-i18n-param name="user"><span my-peer-link="message.action.user_id"></span></my-i18n-param>\n </span>\n <span ng-switch-when="messageActionChatMigrateTo" my-i18n="conversation_converted_to_supergroup"></span>\n <span ng-switch-when="messageActionChannelMigrateFrom" my-i18n="conversation_converted_to_supergroup"></span>\n <span ng-switch-when="messageActionChannelCreate" my-i18n="conversation_created_channel"></span>\n <span ng-switch-when="messageActionChannelEditTitle" my-i18n="conversation_changed_channel_name"></span>\n <span ng-switch-when="messageActionChannelEditPhoto" my-i18n="conversation_changed_channel_photo"></span>\n <span ng-switch-when="messageActionPinMessage" my-i18n="conversation_pinned_message"></span>\n <span ng-switch-when="messageActionGameScore">\n <ng-pluralize count="message.action.score"\n when="conversation_scored_X"></ng-pluralize>\n </my-i18n-param>\n </span>\n <span ng-switch-when="messageActionPhoneCall" ng-switch="message.action.type">\n <span ng-switch-when="out_missed" my-i18n="message_service_pho
e.put("partials/mobile/channel_modal.html",'<div class="chat_modal_wrap">\n\n <div class="tg_page_head tg_modal_head">\n <div class="navbar navbar-static-top navbar-inverse">\n <div class="container">\n\n <div class="navbar-toggle-wrap dropdown" dropdown ng-if="hasRights(\'edit_title\') || hasRights(\'edit_photo\')">\n <a class="dropdown-toggle navbar-toggle" dropdown-toggle>\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n </a>\n <ul class="dropdown-menu">\n <li ng-if="chatFull.chat.photo.photo_small" ng-if="hasRights(\'edit_photo\')">\n <a ng-click="deletePhoto()" my-i18n="group_modal_menu_delete_photo"></a>\n </li>\n <li ng-if="hasRights(\'edit_title\')">\n <a ng-click="editChannel()" ng-switch="isMegagroup">\n <span ng-switch-when="true" my-i18n="group_modal_menu_edit_group"></span>\n <span ng-switch-default my-i18n="channel_modal_menu_edit"></span>\n </a>\n </li>\n </ul>\n </div>\n\n <div class="navbar-header">\n\n <ul class="nav navbar-nav navbar-quick-nav">\n <li>\n <a ng-click="$close()" class="navbar-quick-media-back">\n <i class="icon icon-back"></i>\n <div class="navbar-quick-back-title" ng-switch="isMegagroup">\n <h4>\n <span ng-switch-when="true" my-i18n="group_modal_info"></span>\n <span ng-switch-default my-i18n="channel_modal_info"></span>\n </h4>\n </div>\n </a>\n </li>\n </ul>\n\n </div>\n\n </div>\n </div>\n </div>\n\n <div class="modal-body mobile_modal_body">\n\n <div class="mobile_user_modal_photo_profile_wrap">\n\n <a ng-click="openPhoto(chatFull.chat_photo.id, {p: -chatFull.chat.id})" class="mobile_user_modal_image_wrap pull-left" my-peer-photolink="::-chatFull.chat.id" img-class="mobile_user_modal_image mobile_chat_modal_image" no-open="true" watch="true" ng-class="{disabled: !chatFull.chat.photo.photo_small}" ng-disabled="!chatFull.chat.photo.photo_small"></a>\n\n <div class="mobile_user_modal_info_wrap clearfix">\n <h4 class="mobile_user_modal_header" my-peer-link="-chatFull.chat.id"></h4>\n <p class="mobile_user_modal_status" ng-if="chatFull.participants_count > 0" ng-switch="isMegagroup">\n <ng-pluralize ng-switch-when="true"\n count="chatFull.participants_count"\n when="group_modal_pluralize_participants">\n </ng-pluralize>\n <ng-pluralize ng-switch-default\n count="chatFull.participants_count"\n when="group_modal_pluralize_subscribers">\n </ng-pluralize>\n </p>\n </div>\n\n </div>\n\n <div class="mobile_modal_section" ng-if="chatFull.chat.username">\n <h4 class="mobile_modal_section_header" my-i18n="channel_modal_share_link"></h4>\n <div class="mobile_modal_section_value">\n <a class="settings_modal_username_link" ng-click="shareLink($event)" ng-bind="\'https://t.me/\' + chatFull.chat.username" ng-href="https://t.me/{{chatFull.chat.username}}" target="_blank"></a>\n </div>\n </div>\n\n <div class="mobile_modal_section" ng-if="!chatFull.chat.username &amp;&amp; chatFull.chat.pFlags.creator">\n <h4 class="mobile_modal_section_header" my-i18n="channel_modal_share_link"></h4>\n <div class="mobile_modal_section_value" ng-switch="chatFull.exported_invite._">\n <a ng-switch-when="chatInviteExported" class="settings_modal_username_link" ng-click="shareLink($event)" ng-bind="chatFull.exported_invite.link" ng-href="{{chatFull.exported_invite.link}}" target="_blank"></a>\n <span ng-switch-default my-i18n="channel_modal_share_loading">\n <my-i18n-param name="dots"><span my-loading-dots></span></my-i18n-param>\n
e.put("partials/mobile/head.html",'<div class="tg_page_head">\n <div class="navbar navbar-static-top navbar-inverse" role="navigation" ng-class="{navbar_peer_not_selected: !curDialog.peer, navbar_offline: offline, navbar_history_select: historyState.selectActions}">\n <div class="container">\n\n\n <a class="navbar-peer-wrap" my-peer-photolink="historyPeer.id" peer-watch="true"></a>\n\n <div class="navbar-toggle-wrap dropdown" dropdown ng-switch="!curDialog.peer">\n <a class="dropdown-toggle navbar-toggle" dropdown-toggle>\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n </a>\n <ul ng-switch-when="true" class="dropdown-menu">\n <li><a ng-click="openGroup()" my-i18n="head_new_group"></a></li>\n <li><a ng-click="importContact()" my-i18n="head_new_contact"></a></li>\n <li ng-if="!isEmpty.contacts"><a ng-click="openContacts()" my-i18n="head_contacts"></a></li>\n <li><a ng-click="openSettings()" my-i18n="head_settings"></a></li>\n <li><a ng-click="logOut()" my-i18n="head_log_out"></a></li>\n </ul>\n <ul ng-switch-default class="dropdown-menu">\n <li><a ng-click="toggleEdit()" my-i18n="head_select_messages"></a></li>\n <li ng-if="!historyFilter.mediaType" class="divider"></li>\n <li ng-if="!historyFilter.mediaType"><a ng-click="toggleMedia(\'photos\')" my-i18n="head_media_photos"></a></li>\n <li ng-if="!historyFilter.mediaType"><a ng-click="toggleMedia(\'video\')" my-i18n="head_media_video"></a></li>\n <li ng-if="!historyFilter.mediaType"><a ng-click="toggleMedia(\'documents\')" my-i18n="head_media_documents"></a></li>\n <li ng-if="!historyFilter.mediaType"><a ng-click="toggleMedia(\'music\')" my-i18n="head_media_music"></a></li>\n <li ng-if="!historyFilter.mediaType"><a ng-click="toggleMedia(\'urls\')" my-i18n="head_media_links"></a></li>\n <li ng-if="!historyFilter.mediaType"><a ng-click="toggleMedia(\'audio\')" my-i18n="head_media_audio"></a></li>\n <li ng-if="!historyFilter.mediaType"><a ng-click="toggleMedia(\'round\')" my-i18n="head_media_round"></a></li>\n <li ng-if="!historyFilter.mediaType && isHistoryPeerGroup()" class="divider"></li>\n <li ng-if="!historyFilter.mediaType && isHistoryPeerGroup()"><a ng-click="toggleMedia(\'mentions\')" my-i18n="head_media_mymentions"></a></li>\n </ul>\n </div>\n\n <a class="navbar-search-wrap" ng-click="toggleSearch()">\n <i class="icon-search"></i>\n </a>\n\n <div class="navbar-header">\n\n <a class="navbar-brand tg_logo_wrap" href="#/im"><i class="icon icon-tg-logo"></i><i class="icon icon-tg-title"></i></a>\n\n <span class="tg_head_logo"></span></a>\n\n <div class="tg_head_peer_menu_wrap" ng-switch="curDialog.peer &amp;&amp; historyFilter.mediaType.length > 0">\n <ul ng-switch-when="true" class="nav navbar-nav navbar-quick-nav">\n <li>\n <a ng-click="toggleMedia()" class="navbar-quick-media-back">\n <i class="icon icon-back"></i>\n <div class="navbar-quick-back-title" ng-switch="historyFilter.mediaType">\n <h4 ng-switch-when="photos" my-i18n="im_media_photos"></h4>\n <h4 ng-switch-when="video" my-i18n="im_media_video"></h4>\n <h4 ng-switch-when="documents" my-i18n="im_media_documents"></h4>\n <h4 ng-switch-when="audio" my-i18n="im_media_audio"></h4>\n <h4 ng-switch-when="round" my-i18n="im_media_round"></h4>\n <h4 ng-switch-when="music" my-i18n="im_media_music"></h4>\n <h4 ng-switch-when="urls" my-i18n="im_media_links"></h4>\n <h4 ng-switch-when="mentions" my-i18n="im_media_mentions"></h4>\n </div>\n </a>\n </li>\n </ul>\n <div ng-switch-default ng-switch="historyState.selectActions">\n <ul ng-swi
e.put("partials/mobile/message_actions_modal.html",'<div class="message_actions_modal_wrap" my-modal-position>\n\n <div class="message_actions_wrap">\n <button ng-if="historyState.canReply" class="btn btn-md btn-md-primary btn-block" my-i18n="message_action_reply" ng-click="$close(\'reply\')"></button>\n <button ng-if="historyState.canEdit" class="btn btn-md btn-md-primary btn-block" my-i18n="message_action_edit" ng-click="$close(\'edit\')"></button>\n <button class="btn btn-md btn-md-primary btn-block" my-i18n="message_action_forward" ng-click="$close(\'forward\')"></button>\n <button ng-if="historyState.canDelete" class="btn btn-md btn-md-primary btn-block" my-i18n="message_action_delete" ng-click="$close(\'delete\')"></button>\n <button class="btn btn-md btn-md-primary btn-block" my-i18n="message_action_select" ng-click="$close(\'select\')"></button>\n <button class="btn btn-md btn-block" my-i18n="message_action_cancel" ng-click="$dismiss()"></button>\n </div>\n\n</div>\n'),e.put("partials/mobile/message_attach_contact.html",'<div class="im_message_contact">\n <a ng-if="::media.user_id > 0" class="im_message_contact_photo pull-left" my-peer-photolink="media.user_id" img-class="im_message_contact_photo" user-override="media"></a>\n <div class="im_message_contact_name" ng-switch="media.user_id > 0">\n <a ng-switch-when="true" my-peer-link="media.user_id" user-override="media"></a>\n <span ng-switch-default ng-bind-html="::media.rFullName"></span>\n </div>\n <div class="im_message_contact_phone" ng-bind="::media.phone_number | phoneNumber"></div>\n</div>'),e.put("partials/mobile/message_attach_document.html",'<div ng-switch="::media.document.type">\n\n <div ng-switch-when="gif" my-load-gif document="media.document"></div>\n \n <div ng-switch-when="round" my-load-round document="media.document"></div>\n\n <div ng-switch-when="sticker" my-load-sticker document="media.document" open="true"></div>\n\n <div ng-switch-when="voice" class="im_message_audio">\n <div my-audio-player audio="media.document"></div>\n </div>\n\n <div ng-switch-when="audio" class="im_message_audio">\n <div my-audio-player audio="media.document"></div>\n </div>\n\n <div ng-switch-when="video" class="im_message_video im_message_document_thumbed">\n <a class="im_message_video_thumb" href="" ng-click="videoOpen()" ng-style="::{width: media.document.thumb.width + \'px\'}">\n <span class="im_message_video_duration" ng-bind="::media.document.duration | duration"></span>\n <i class="icon icon-videoplay"></i>\n <img\n class="im_message_video_thumb im_message_video_thumb_blurred"\n my-load-thumb\n thumb="media.document.thumb"\n />\n </a>\n </div>\n\n <div ng-switch-default class="im_message_document clearfix" ng-class="{im_message_document_thumbed: !!media.document.thumb, im_message_document_progress: media.document.progress.enabled}">\n\n <a ng-if="::!media.document.thumb" class="im_message_file_button" ng-click="docOpen()" ng-class="{im_message_file_button_dl_doc: media.document.downloaded}">\n <i class="im_message_file_button_icon"></i>\n </a>\n <a ng-if="::media.document.thumb" ng-click="docOpen()">\n <div class="im_message_document_thumb_wrap">\n <img\n class="im_message_document_thumb"\n my-load-thumb\n thumb="media.document.thumb"\n />\n </div>\n </a>\n\n <div class="im_message_document_info">\n <div class="im_message_document_name_wrap">\n <a href="" ng-attr-data-name="{{media_file_name_without_ext}}" ng-attr-data-ext="{{media_file_ext}}" ng-click="docOpen()" class="im_message_document_name"></a>\n <span class="im_message_document_size" ng-if="!media.document.progress.enabled" ng-bind="::media.document.size | formatSize"></span>\n <span class="im_message_document_size" ng-if="media.document.progress.enabled" ng-bind="media.document.progress | formatSizeProgress"></span>\n </div>\n <div class="im_message_document_actions" ng-if="!media.document.progress.en
e.put("partials/mobile/send_form.html",'<form class="im_send_form" ng-class="{im_send_form_empty: !draftMessage.text.length && draftMessage.type != \'edit\', composer_progress_enabled: draftMessage.inlineProgress, im_voice_recording: voiceRecorder.recording, im_processing_recording: voiceRecorder.processing}">\n\n <div class="im_send_reply_wrap" ng-if="draftMessage.replyToMsgID > 0">\n <a class="im_send_reply_cancel" ng-mousedown="draftMessage.replyClear(true)"><i class="icon icon-reply-bar"></i><i class="icon icon-reply-bar"></i></a>\n <a class="im_message_reply_wrap" my-reply-message="draftMessage.replyToMsgID" watch="true" edit="{{draftMessage.type == \'edit\'}}"></a>\n </div>\n\n <div class="im_send_reply_wrap im_send_fwds_wrap" ng-if="draftMessage.fwdMessages.length > 0">\n <a class="im_send_reply_cancel" ng-mousedown="draftMessage.fwdsClear()"><i class="icon icon-reply-bar"></i><i class="icon icon-reply-bar"></i></a>\n <div class="im_message_reply_wrap" my-forwarded-messages="draftMessage.fwdMessages"></div>\n </div>\n\n <div class="im_send_field_panel">\n\n <div class="im_voice_recorder_wrap">\n <div class="im_recorder_indicator"><i></i></div>\n <div class="im_recorder_time" ng-bind="voiceRecorder.duration | duration"></div>\n <div class="im_recorder_label" ng-switch="voiceRecorder.processing">\n <span ng-switch-when="true" my-i18n="im_voice_processing_label">\n <my-i18n-param name="dots"></my-i18n-param>\n </span>\n <span ng-switch-default>\n <span class="im_recorder_label_hover" my-i18n="im_voice_recording_label"></span>\n <span class="im_recorder_label_hout" my-i18n="im_voice_recording_cancel_label"></span>\n </span>\n </div>\n </div>\n\n <div class="im_send_field_wrap" ng-class="replyKeyboard._ == \'replyKeyboardMarkup\' ? \'im_send_field_wrap_2ndbtn\' : \'\'">\n <a class="composer_emoji_insert_btn pull-right"><i class="icon icon-emoji"></i></a>\n <a class="composer_command_btn" ng-show="!replyKeyboard && commands.list.length > 0 && (!draftMessage.text.length || draftMessage.text[0] == \'/\')" ng-mousedown="draftMessage.toggleSlash($event)" ng-class="draftMessage.text[0] == \'/\' ? \'active\' : \'\'"><i class="icon icon-slash"></i></a>\n <a class="composer_keyboard_btn" ng-show="replyKeyboard._ == \'replyKeyboardMarkup\'" ng-mousedown="draftMessage.replyKeyboardToggle($event)" ng-class="!replyKeyboard.pFlags.hidden ? \'active\' : \'\'"><i class="icon icon-keyboard"></i></a>\n\n <div class="composer_progress_icon_wrap">\n <div class="composer_progress_icon" my-arc-progress width="22" stroke="2.5"></div>\n </div>\n\n <div class="im_send_dropbox_wrap" my-i18n="im_photos_drop_text"></div>\n <textarea ng-model="draftMessage.text" class="form-control im_message_field no_outline" dir="auto" ng-trim="false"></textarea>\n </div>\n\n <div class="im_attach pull-left">\n <input type="file" class="im_attach_input" size="28" multiple="true" title="{{\'im_media_attach_title\' | i18n}}" />\n <i class="icon icon-paperclip"></i>\n </div>\n\n <div class="im_record pull-right">\n <i class="icon icon-mic"></i>\n </div>\n\n <button type="submit" class="btn btn-success im_submit"></button>\n </div>\n\n\n <div class="im_send_keyboard_wrap" ng-if="replyKeyboard._ == \'replyKeyboardMarkup\'" ng-show="!replyKeyboard.pFlags.hidden">\n <div my-reply-markup="replyKeyboard"></div>\n </div>\n\n</form>'),e.put("partials/mobile/sessions_list_modal.html",'<div class="sessions_modal_wrap">\n\n <div class="tg_page_head tg_modal_head">\n <div class="navbar navbar-static-top navbar-inverse">\n <div class="container">\n\n <div class="navbar-header">\n <ul class="nav navbar-nav navbar-quick-nav">\n <li>\n <a ng-click="$dismiss()" class="navbar-quick-media-back">\n <i class="icon icon-back"></i>\n <div class="navbar-quick-back-title">\n <h4 my-i18n="sessions_modal_title"></h4>\
t.selectCategoryTimeout=setTimeout(function(){delete t.selectCategoryIndex,delete t.selectCategoryTimeout,t.selectCategory(i)},300)):delete t.selectCategoryIndex)}}}),this.emojiScroller=new Scroller(this.emojiContentEl,{classPrefix:"composer_emoji_tooltip"}),this.stickersScroller=new Scroller(this.stickersContentEl,{classPrefix:"composer_emoji_tooltip"}),this.stickersScroller.onScroll(function(e,n){t.onStickersScroll(e,n)}),this.contentEl.on("mousedown",function(e){e=e.originalEvent||e;var n,i,a,r=$(e.target);return"A"!=r[0].tagName&&(r=$(r[0].parentNode)),(n=r.attr("data-code"))&&(t.onEmojiSelected&&t.onEmojiSelected(n),EmojiHelper.pushPopularEmoji(n)),(i=r.attr("data-sticker"))&&(t.onStickerSelected&&t.onStickerSelected(i),Config.Mobile&&t.hide()),(a=r.attr("data-stickerset"))&&(t.onStickersetSelected&&t.onStickersetSelected(a),t.hide()),cancelEvent(e)}),Config.Navigator.touch||this.tooltipEl.on("mouseenter mouseleave",function(e){"mouseenter"==e.type?t.onMouseEnter():t.onMouseLeave()}),this.selectTab(0),$(window).on("resize",this.updatePosition.bind(this)),!0},EmojiTooltip.prototype.selectCategory=function(e,t){return!(!this.tab&&this.cat===e&&!t)&&($(".active",this.categoriesEl).removeClass("active"),this.cat=e,void(this.tab?(this.activateStickerCategory(),this.updateStickersContents(t)):($(this.categoriesEl[this.tab].childNodes[e]).addClass("active"),this.updateEmojiContents())))},EmojiTooltip.prototype.selectTab=function(e,t){if(this.tab===e&&!t)return!1;this.tab=e,this.selectCategory(0,!0);var n=this;setTimeout(function(){$(n.tooltipEl).toggleClass("composer_emoji_tooltip_tabs_stickers_active",1==e)},0)},EmojiTooltip.prototype.updateEmojiContents=function(){var e=[],t=this,n=26,i=function(){t.emojiContentEl.html(e.join("")),t.emojiScroller.reinit()};if(this.cat>0){var a,r,o,s,l,c=this.cat-1,d=Config.EmojiCategories[c],u=Config.EmojiCategorySpritesheetDimens[c][1],p=d.length;for(o=0;o<p;o++)a=d[o],r=Config.Emoji[a],s=n*(o%u),l=n*Math.floor(o/u),e.push('<a class="composer_emoji_btn" title=":'+encodeEntities(r[1][0])+':" data-code="'+encodeEntities(a)+'"><i class="emoji emoji-w'+n+" emoji-spritesheet-"+c+'" style="background-position: -'+s+"px -"+l+'px;"></i></a>');i()}else EmojiHelper.getPopularEmoji(function(t){var a,r,o,s,l,c,d,u,p=t.length;for(c=0;c<p;c++)a=t[c].code,(r=Config.Emoji[a])&&(o=EmojiHelper.spritesheetPositions[a],l=o[0],s=o[1],d=n*o[3],u=n*o[2],e.push('<a class="composer_emoji_btn" title=":'+encodeEntities(r[1][0])+':" data-code="'+encodeEntities(a)+'"><i class="emoji emoji-w'+n+" emoji-spritesheet-"+l+'" style="background-position: -'+d+"px -"+u+'px;"></i></a>'));i()})},EmojiTooltip.prototype.updateStickersContents=function(e){var t=[],n=[],i=this,a=function(){var t=i.cat?i.stickersetPositions[i.cat][0]:0;i.stickersScroller.scrollTo(t,e?0:200)};if(!e&&i.stickersetPositions.length)return void a();var r=function(e){var r,o,s,l,c,d;for(s=0,c=e.length;s<c;s++)if(r=e[s],r.docIDs.length){for(t.push('<div class="composer_stickerset_wrap clearfix">'),r.title&&t.push('<a class="composer_stickerset_title',r.id?"":" disabled",'" data-stickerset="',encodeEntities(r.short_name),'">',encodeEntities(r.title),"</a>"),r.id?n.push('<a class="composer_sticker_btn" data-sticker="'+r.docIDs[0]+'" data-category="'+s+'"></a>'):n.push('<a class="composer_emoji_tooltip_category active" data-category="0"><i class="composer_emoji_tooltip_category_recent"></i></a>'),l=0,d=r.docIDs.length;l<d;l++)o=r.docIDs[l],t.push('<a class="composer_sticker_btn" data-sticker="'+o+'"></a>');t.push("</div>")}i.stickersContentEl.html(t.join("")),i.stickersCategoriesEl.html(n.join("")),i.stickersScroller.reinit();var u=[];$(".composer_stickerset_wrap",i.stickersContentEl).each(function(e,t){var n=t.offsetHeight,i=t.offsetTop;u.push([i,n])}),i.stickersetPositions=u,a();var p=[];i.contentEl.find(".composer_sticker_btn").each(function(e,t){e<12?i.replaceStickerImage(t):p.push([t.offsetTop,t])}),i.stickersPreload=p,i.stickersCategoriesEl.find(".composer_sticker_btn").each(function(e,t){i.replaceStickerImage(t)})};this.getStickers(r)},EmojiTooltip.
},n.$on("message_edit",function(e,t){t.mid==n.messageId&&a()}),a()}}}]).directive("myMessagePending",function(){function e(e,t,n){if(e.media.file_name){var i=e.media.file_name.split(".");i.length>1?(e.media_file_ext="."+i.pop(),e.media_file_name_without_ext=i.join("."),e.media_file_name_without_ext||(e.media_file_name_without_ext=e.media_file_ext,e.media_file_ext="")):(e.media_file_ext="",e.media_file_name_without_ext=i[0])}}return{scope:{media:"=myMessagePending"},templateUrl:templateUrl("message_attach_pending"),link:e}}).directive("myInlineReplyMarkup",function(){function e(e,t,n){e.buttonClick=function(t){e.$emit("reply_inline_button_press",t)}}return{templateUrl:templateUrl("reply_markup"),scope:{replyMarkup:"=myInlineReplyMarkup"},link:e}}).directive("myServiceMessage",["ErrorService","AppMessagesManager",function(e,t){function n(n,i,a){n.phoneCallClick=function(n){var i=t.getMessage(n),a=t.getMessagePeer(i);e.show({error:{type:"PHONECALLS_NOT_SUPPORTED",userID:a}})}}return{templateUrl:templateUrl("message_service"),scope:{historyMessage:"=myServiceMessage"},link:n}}]).directive("myShortMessage",function(){return{scope:{message:"=myShortMessage"},templateUrl:templateUrl("short_message")}}).directive("myReplyMessage",["AppMessagesManager","AppPeersManager","$rootScope",function(e,t,n){function i(e,t,n){if(n.watch)e.$parent.$watch(n.myReplyMessage,function(i){var r=e.$parent.$eval(n.edit);a(e,t,i,r)});else{var i=e.$parent.$eval(n.myReplyMessage),r=e.$parent.$eval(n.edit);a(e,t,i,r)}}function a(t,n,i,a){var o=t.replyMessage=e.wrapSingleMessage(i);if(t.thumb=!1,t.isEdit=a||!1,o.loading)var s=t.$on("messages_downloaded",function(a,o){o.indexOf(i)!=-1&&(t.replyMessage=e.wrapForDialog(i),r(t,n),s())});else r(t,n)}function r(i,a){var r=i.replyMessage;return r&&!r.deleted&&r.to_id?(i.thumb=e.getMessageThumb(r,42,42),"A"==a[0].tagName&&a.on("click",function(){var i=e.getMessagePeer(r),a=t.getPeerString(i);n.$broadcast("history_focus",{peerString:a,messageID:r.mid})}),void onContentLoaded(function(){i.$emit("ui_height")})):void $(a).remove()}return{templateUrl:templateUrl("reply_message"),scope:{},link:i}}]).directive("myPinnedMessage",["AppMessagesManager","AppPeersManager","$rootScope",function(e,t,n){function i(t,n,i){var r=t.$parent.$eval(i.myPinnedMessage),o=t.pinnedMessage=e.wrapSingleMessage(r);if(o.loading)var s=t.$on("messages_downloaded",function(i,o){o.indexOf(r)!=-1&&(t.pinnedMessage=e.wrapForDialog(r),a(t,n),s())});else a(t,n)}function a(i,a){var r=i.pinnedMessage;return r&&!r.deleted&&r.to_id?("A"==a[0].tagName&&a.on("click",function(){var i=e.getMessagePeer(r),a=t.getPeerString(i);n.$broadcast("history_focus",{peerString:a,messageID:r.mid})}),void onContentLoaded(function(){i.$emit("ui_height")})):void $(a).remove()}return{templateUrl:templateUrl("pinned_message"),scope:{},link:i}}]).directive("myPeerPinnedMessageBar",["AppMessagesManager","AppPeersManager","AppProfileManager",function(e,t,n){function i(e,i,a){a&&(i.pinnedMessageID=0,i.$emit("ui_height"));var r=++i.jump;if(t.isChannel(e)){var o=-e;n.getChannelPinnedMessage(o).then(function(e){r==i.jump&&(i.pinnedMessageID=e||0,i.$emit("ui_height"))})}}function a(e,t,a){e.jump=0,e.$parent.$watch(a.myPeerPinnedMessageBar,function(t){e.peerID=t,i(t,e,!0)}),e.$on("peer_pinned_message",function(t,n){n==e.peerID&&i(e.peerID,e)}),e.$on("chat_full_update",function(t,n){n==-e.peerID&&i(e.peerID,e)}),e.hidePinned=function(){n.hideChannelPinnedMessage(-e.peerID,e.pinnedMessageID),e.pinnedMessageID=0,e.$emit("ui_height")}}return{templateUrl:templateUrl("peer_pinned_message_bar"),scope:{},link:a}}]).directive("myForwardedMessages",["AppPhotosManager","AppMessagesManager","AppPeersManager","$rootScope",function(e,t,n,i){function a(e,t,n){n.watch?e.$watch("forwardMessages",function(){r(e,t)}):r(e,t)}function r(e,n){var i=e.forwardMessages,a=i.length,r=!1,o=1==a;e.thumb=!1,e.singleMessage=!1,angular.forEach(i,function(n){var i=t.getMessage(n);r===!1?r=i.fromID:r!==i.fromID&&(r=t.getMessagePeer(i)),o&&(e.thumb=t.getMessageThumb(i,42,42),e.singleMessage=t.wrapForDialog(n))}),e.
u(e)},function(e){console.log("Download sticker failed",e,f)}):t.downloadFile(a.document.dc_id,f,a.document.size).then(function(e){u(e)},function(e){console.log("Download sticker failed",e,f)})}var r="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7";return{link:a,scope:{document:"="}}}]).directive("myLoadDocument",["MtpApiFileManager","AppDocsManager","FileManager",function(e,t,n){function i(e,t){for(;e&&!$(e).hasClass("modal-dialog");)e=e.parentNode;e&&$(e).width(t+(Config.Mobile?0:32))}function a(a,r,o){var s=$(".document_fullsize_with_progress_wrap",r),l=$(".document_fullsize_wrap",r),c=$(".document_fullsize_img",r),d=$(window).width()-(Config.Mobile?20:32),u=$(window).height()-150;d>800&&(d-=208),a.imageWidth=d,a.imageHeight=u;var p=a.document.thumb;if(p&&"photoSizeEmpty"!=p._){var f=calcImageInBox(p.width,p.height,d,u);a.imageWidth=f.w,a.imageHeight=f.h;var m=e.getCachedFile(p.location);m&&(a.thumbSrc=n.getUrl(m,"image/jpeg"))}a.frameWidth=Math.max(a.imageWidth,Math.min(600,d)),a.frameHeight=a.imageHeight,onContentLoaded(function(){a.$emit("ui_height")}),i(r[0],a.frameWidth);var h,g,_;t.downloadDoc(a.document.id).then(function(e){var t=n.getUrl(e,a.document.mime_type),i=new Image,r=100,o=function(e){if(i.height&&i.width||!--r){g=i.width,_=i.height,clearInterval(h);var n=calcImageInBox(i.width,i.height,d,u,!0),o={w:g,h:_};n.w>=o.w&&n.h>=o.h&&(o.w*=4,o.h*=4);var p=!0;a.toggleZoom=function(){p=!p;var e=(p?o:n).w,t=(p?o:n).h;c.css({width:e,height:t,marginTop:a.frameHeight>t?Math.floor((a.frameHeight-t)/2):0}),l.toggleClass("document_fullsize_zoomed",p)},a.toggleZoom(!1),c.attr("src",t),s.hide(),l.css({width:a.frameWidth,height:a.frameHeight}).show()}};h=setInterval(o,20),i.onload=o,i.src=t,setZeroTimeout(o)})}return{link:a,templateUrl:templateUrl("full_document"),scope:{document:"=myLoadDocument"}}}]).directive("myGeoPointMap",["ExternalResourcesManager",function(e){function t(t,n,i){var a,r=n.attr("width")||200,o=n.attr("height")||200,s=r>200?15:13,l=!1;if(l){var c=Config.ExtCredentials.gmaps.api_key,d=!0;a="https://maps.googleapis.com/maps/api/staticmap?sensor=false&center="+t.point.lat+","+t.point["long"]+"&zoom="+s+"&size="+r+"x"+o+"&scale=2&markers=color:red|size:big|"+t.point.lat+","+t.point["long"],d&&(a+="&key="+c)}else a="https://static-maps.yandex.ru/1.x/?l=map&ll="+t.point["long"]+","+t.point.lat+"&z="+s+"&size="+r+","+o+"&scale=1&pt="+t.point["long"]+","+t.point.lat+",pm2rdm&lang=en_US";n.attr("src","img/blank.gif"),e.downloadByURL(a).then(function(e){n.attr("src",e.valueOf())})}return{link:t,scope:{point:"=myGeoPointMap"}}}]).directive("myLoadingDots",["$interval",function(e){function t(e,t,i){t.html(n(t[0])?'<div class="loading_dots"><i></i><i></i><i></i></div>':"...")}function n(e){if(void 0===i&&(i=void 0!==e.style.animationName,i===!1)){var t,n="Webkit Moz O ms Khtml".split(" ");for(t=0;t<n.length;t++)if(void 0!==e.style[n[t]+"AnimationName"]){i=!0;break}}return i}return{link:t};var i}]).directive("myFocused",["shouldFocusOnInteraction",function(e){return{link:function(t,n,i){return!!e&&void setTimeout(function(){setFieldSelection(n[0])},100)}}}]).directive("myFocusOn",["shouldFocusOnInteraction",function(e){return{link:function(t,n,i){t.$on(i.myFocusOn,function(){return!!e&&void onContentLoaded(function(){setFieldSelection(n[0])})})}}}]).directive("myFileUpload",function(){function e(e,t,n){t.on("change",function(){var t=this;e.$apply(function(){e.photo.file=t.files[0],setTimeout(function(){try{t.value=""}catch(e){}},1e3)})})}return{link:e}}).directive("myModalWidth",function(){function e(e,t,n){n.$observe("myModalWidth",function(e){$(t[0].parentNode.parentNode).css({width:parseInt(e)+(Config.Mobile?0:32)})})}return{link:e}}).directive("myModalNav",function(){function e(e,t,n){var i=function(t){var i=t.target;if(!i||"INPUT"!=i.tagName&&"TEXTAREA"!=i.tagName)switch(t.keyCode){case 39:case 32:case 34:case 40:e.$eval(n.next);break;case 37:case 33:case 38:e.$eval(n.prev)}};$(document).on("keydown",i),e.$on("$destroy",function(){$(document).off("keydown",i)})}return{link:e}})