UNPKG

fdp

Version:

Finite Domain Problem reduction system

1 lines 111 kB
"use strict";function _toConsumableArray(r){if(Array.isArray(r)){for(var e=0,n=Array(r.length);e<r.length;e++)n[e]=r[e];return n}return Array.from(r)}Object.defineProperty(exports,"__esModule",{value:!0});var FDP=function(){function r(r,e,n){return r|(1<<1+(0|n)-(0|e))-1<<e}function e(r,e){return"number"==typeof r?n(r,e):i(r,e)}function n(r,e){return r>=lt?t(r,e):a(r,e)}function t(r,e){return(r^lt)===e}function a(r,e){return!(e<ut||e>vt)&&0!=(r&1<<e)}function i(r,e){return u(r,e)!==ot}function u(r,e){for(var n=r.length,t=0;t<n&&l(r,t)<=e;t+=et)if(l(r,t+rt)>=e)return t;return ot}function f(r){return"number"==typeof r?o(r):v(r)}function o(r){return r>=lt?s(r):c(r)}function s(r){return r^lt}function c(r){var e=Q(r);return r===1<<e?e:st}function v(r){if(r.length!==et)return st;var e=l(r,Jn);return e===l(r,Yn)?e:st}function l(r,e){return r.charCodeAt(e)<<16|r.charCodeAt(e+1)}function d(r){return String.fromCharCode(r>>>16&65535,65535&r)}function h(r,e){return String.fromCharCode(r>>>16&65535,65535&r,e>>>16&65535,65535&e)}function p(r){return r?r.length===et?Hr(r):(r=b(r),r=m(r),Hr(r)):nt}function b(r){if(!r)return tt;var e=r.length;if(e<=et)return r;for(var n=l(r,0),t=l(r,0+rt),a=tt,i=tt,u=et;u<e;u+=et){var f=l(r,u);f<n||f===n&&l(r,u+rt)<t?a+=r[u]+r[u+1]+r[u+2]+r[u+3]:i+=r[u]+r[u+1]+r[u+2]+r[u+3]}return""+b(a)+r[0]+r[1]+r[0+rt]+r[0+rt+1]+b(i)}function m(r){if(!r)return tt;var e=r.length;if(e===et)return r;for(var n=r[Jn]+r[Jn+1],t=l(r,Yn),a=Yn,i=et;i<e;i+=et){var u=l(r,i),f=l(r,i+rt);u<=t+1?f>t&&(t=f,a=i+rt):(n+=r[a]+r[a+1]+r[i]+r[i+1],t=f,a=i+rt)}return n+r[a]+r[a+1]}function g(r,e){if(r===e)return r;var n="number"==typeof r,t="number"==typeof e;return n&&t?k(r,e):n?A(r,e):t?A(e,r):M(r,e)}function k(r,e){var n=e>=lt;return r>=lt?n?x(r,e):y(r,e):n?y(e,r):w(r,e)}function y(r,e){var n=r^lt;return n<=vt&&e&1<<n?r:nt}function x(r,e){return r===e?r:nt}function w(r,e){return Gr(r&e)}function A(r,e){return r>=lt?E(r,e):S(r,e)}function E(r,e){for(var n=r^lt,t=0,a=e.length;t<a;t+=et){var i=l(e,t),u=l(e,t+rt);if(n<i)break;if(n<=u)return r}return nt}function S(r,e){for(var n=nt,t=0,a=e.length;t<a;t+=et){var i=l(e,t);if(i>vt)break;for(var u=l(e,t+rt),f=i,o=Qn(vt,u);f<=o;++f){var s=1<<f;r&s&&(n|=s)}}return Gr(n)}function M(r,e){var n=r.length,t=e.length;if(0==(n|t))return nt;for(var a=tt,i=0,u=0,f=l(r,Jn),o=l(r,Yn),s=l(e,Jn),c=l(e,Yn);;)if(o<s){if((i+=et)>=n)break;f=l(r,i),o=l(r,i+rt)}else if(c<f){if((u+=et)>=t)break;s=l(e,u),c=l(e,u+rt)}else{var v=Qn(o,c);if(a+=h(Wn(f,s),v),v+=2,f=s=v,o<v){if((i+=et)>=n)break;f=l(r,i),o=l(r,i+rt)}if(c<v){if((u+=et)>=t)break;s=l(e,u),c=l(e,u+rt)}}return a===tt?nt:Hr(a)}function _(r,n){return e(r,n)?Rr(n):Lr()}function D(r){return"number"==typeof r?r>=lt?"soldom(["+(r^lt)+","+(r^lt)+"])":"numdom(["+jr(r)+"])":"string"==typeof r?"strdom(["+Vr(r)+"])":r instanceof Array?"arrdom(["+r+"])":"???dom("+r+")"}function B(r,e){if(r&&e){var n=void 0;do{if(n=0,r.length>et){var t=R(r,C(e));n+=r.length-t.length,r=t}if(e.length>et){var a=R(e,C(r));n+=e.length-a.length,e=a}}while(0!==n)}return[r,e]}function R(r,e){for(var n=r[Jn]+r[Jn+1],t=l(r,Yn),a=Yn,i=et,u=r.length;i<u;i+=et){var f=l(r,i),o=l(r,i+rt);f-t>e&&(n+=r[a]+r[a+1]+r[i]+r[i+1]),t=o,a=i+rt}return n+=r[a]+r[a+1]}function C(r){for(var e=ft,n=0,t=r.length;n<t;n+=et){var a=l(r,n),i=1+l(r,n+rt)-a;i<e&&(e=i)}return e}function O(r,e){return"number"==typeof r&&(r=Fr(r)),"number"==typeof e&&(e=Fr(e)),L(r,e)}function L(r,e){for(var n=tt,t=0,a=r.length;t<a;t+=et)n+=T(e,l(r,t),l(r,t+rt));return p(n)}function T(r,e,n){for(var t=tt,a=0,i=r.length;a<i;a+=et){var u=l(r,a),f=l(r,a+rt);t+=h(Qn(ft,e*u),Qn(ft,n*f))}return t}function N(r,e){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return"number"==typeof r&&(r=Fr(r)),"number"==typeof e&&(e=Fr(e)),U(r,e,n)}function U(r,e){for(var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],t=tt,a=0,i=e.length;a<i;a+=et)t+=j(r,l(e,a),l(e,a+rt),n);return p(t)}function j(r,e,n,t){for(var a=tt,i=0,u=r.length;i<u;i+=et){var f=l(r,i),o=l(r,i+rt);if(n>0){var s=f/n,c=e>0?o/e:ft,v=Zn(s),d=Kn(c);v<=d?a+=h(v,d):t&&(a+=h(d,d))}}return a}function I(r,e){return"number"==typeof r&&(r=Fr(r)),"number"==typeof e&&(e=Fr(e)),z(r,e)}function z(r,e){for(var n=tt,t=0,a=e.length;t<a;t+=et)n+=V(r,l(e,t),l(e,t+rt));return p(n)}function V(r,e,n){for(var t=tt,a=0,i=r.length;a<i;a+=et){var u=l(r,a),f=l(r,a+rt),o=n?u/n:ut,s=e?f/e:ft,c=Zn(o),v=Kn(s);c<=v&&(t+=h(c,v))}return t}function F(r){return"number"==typeof r?$(r):q(r)}function $(r){return r>=lt?1:P(r)}function P(r){switch(r){case 0:return 0;case 1:case 2:return 1;case 3:return 2}return(1&r)+(r>>1&1)+(r>>2&1)+(r>>3&1)+(r>>4&1)+(r>>5&1)+(r>>6&1)+(r>>7&1)+(r>>8&1)+(r>>9&1)+(r>>10&1)+(r>>11&1)+(r>>12&1)+(r>>13&1)+(r>>14&1)+(r>>15&1)+(r>>16&1)+(r>>17&1)+(r>>18&1)+(r>>19&1)+(r>>20&1)+(r>>21&1)+(r>>22&1)+(r>>23&1)+(r>>24&1)+(r>>25&1)+(r>>26&1)+(r>>27&1)+(r>>28&1)+(r>>29&1)+(r>>30&1)+(r>>31&1)|0}function q(r){for(var e=0,n=0,t=r.length;n<t;n+=et)e+=1+l(r,n+rt)-l(r,n);return e}function H(r){if("number"==typeof r){if(r>=lt)return r^lt;r=Fr(r)}return X(r)}function X(r){if(!r)return st;for(var e=q(r),n=Kn(e/2),t=void 0,a=void 0,i=0,u=r.length;i<u;i+=et){t=l(r,i);var f=1+(a=l(r,i+rt))-t;if(n<f)break;n-=f}return t+n}function G(r){return"number"==typeof r?J(r):W(r)}function J(r){return r>=lt?Y(r):Q(r)}function Y(r){return r^lt}function Q(r){if(1==(0|r))return 0;if(2==(0|r))return 1;if(3==(0|r))return 0;switch((r&-r)%37|0){case 0:return-1;case 1:return 0;case 2:return 1;case 3:return 26;case 4:return 2;case 5:return 23;case 6:return 27;case 7:return 0;case 8:return 3;case 9:return 16;case 10:return 24;case 11:return 30;case 12:return 28;case 13:return 11;case 14:return 0;case 15:return 13;case 16:return 4;case 17:return 7;case 18:return 17;case 19:return 0;case 20:return 25;case 21:return 22;case 22:return-1;case 23:return 15;case 24:return 29;case 25:return 10;case 26:return 12;case 27:return 6;case 28:return 0;case 29:return 21;case 30:return 14;case 31:return 9;case 32:return 5;case 33:return 20;case 34:return 8;case 35:return 19}return 18}function W(r){return r?l(r,Jn):st}function K(r){return"number"==typeof r?Z(r):nr(r)}function Z(r){return r>=lt?rr(r):er(r)}function rr(r){return r^lt}function er(r){var e=30;switch(0|r){case 0:return-1;case 1:return 0;case 2:case 3:return 1}do{if(r&1<<e)break;e=e-1|0}while((0|e)>=0);return 0|e}function nr(r){return r?l(r,r.length-rt):st}function tr(r){var e=r.length;return 0===e?st:r[e-1]}function ar(r){return"number"==typeof r&&r>=lt}function ir(r){return void 0===at&&(at=Rr(0)),r===at}function ur(r){return!fr(r)}function fr(r){return 0===G(r)}function or(r){return void 0===it&&(it=Cr(0,1)),r===it}function sr(r){return cr(r)&&2===F(r)}function cr(r){return or(r)||!ir(r)&&fr(r)}function vr(r,e){return e?Er(r,0):Ar(r,0)}function lr(r,e){return"number"==typeof r?dr(r,e):br(r,e)}function dr(r,e){return r>=lt?hr(r,e):Gr(pr(r,e))}function hr(r,e){return(r^lt)>=e?nt:r}function pr(r,e){switch(e){case 0:return 0;case 1:return 1&r;case 2:return 3&r;case 3:return 7&r;case 4:return 15&r;case 5:return 31&r;case 6:return 63&r;case 7:return 127&r;case 8:return 255&r;case 9:return 511&r;case 10:return 1023&r;case 11:return 2047&r;case 12:return 4095&r;case 13:return 8191&r;case 14:return 16383&r;case 15:return 32767&r;case 16:return 65535&r;case 17:return 131071&r;case 18:return 262143&r;case 19:return 524287&r;case 20:return 1048575&r;case 21:return 2097151&r;case 22:return 4194303&r;case 23:return 8388607&r;case 24:return 16777215&r;case 25:return 33554431&r;case 26:return 67108863&r;case 27:return 134217727&r;case 28:return 268435455&r;case 29:return 536870911&r;case 30:return 1073741823&r}return r}function br(r,e){for(var n=0,t=r.length;n<t;n+=et){var a=l(r,n),i=l(r,n+rt);if(a>=e)return n?Hr(r.slice(0,n)):nt;if(e<=i){if(0===n&&e===a+1){var u=r.slice(0,rt);return Hr(u+u)}return Hr(r.slice(0,n+rt)+d(e-1))}}return r}function mr(r,e){return"number"==typeof r?gr(r,e):xr(r,e)}function gr(r,e){return r>=lt?kr(r,e):Hr(yr(r,e))}function kr(r,e){return(r^lt)<=e?nt:r}function yr(r,e){switch(e){case 0:return 2147483646&r;case 1:return 2147483644&r;case 2:return 2147483640&r;case 3:return 2147483632&r;case 4:return 2147483616&r;case 5:return 2147483584&r;case 6:return 2147483520&r;case 7:return 2147483392&r;case 8:return 2147483136&r;case 9:return 2147482624&r;case 10:return 2147481600&r;case 11:return 2147479552&r;case 12:return 2147475456&r;case 13:return 2147467264&r;case 14:return 2147450880&r;case 15:return 2147418112&r;case 16:return 2147352576&r;case 17:return 2147221504&r;case 18:return 2146959360&r;case 19:return 2146435072&r;case 20:return 2145386496&r;case 21:return 2143289344&r;case 22:return 2139095040&r;case 23:return 2130706432&r;case 24:return 2113929216&r;case 25:return 2080374784&r;case 26:return 2013265920&r;case 27:return 1879048192&r;case 28:return 1610612736&r;case 29:return 1073741824&r;case 30:return 0}return e<0?r:0}function xr(r,e){for(var n=0,t=r.length;n<t;n+=et){var a=l(r,n),i=l(r,n+rt);if(a>e)return Hr(n?r.slice(n):r);if(i===e)return n>=t-et?nt:Hr(r.slice(n+et));if(e<=i)return Hr(d(e+1)+r.slice(n+rt))}return nt}function wr(r,e){return e<=ut?r:e>ft?Lr():mr(r,e-1)}function Ar(r,e){return e>=ft?r:e<ut?Lr():lr(r,e+1)}function Er(r,e){return"number"==typeof r?Sr(r,e):Hr(Dr(r,e))}function Sr(r,e){return r>=lt?Mr(r,e):_r(r,e)}function Mr(r,e){return e===(r^lt)?nt:r}function _r(r,e){if(e>30)return Hr(r);var n=1<<e;return Gr((r|n)^n)}function Dr(r,e){for(var n=-1,t=-1,a=0,i=r.length;a<i;a+=et){var u=l(r,a);if(e<u)break;var f=l(r,a+rt);if(e<=f)return Br(r,i,a,u,f,e,n,t);n=u,t=f}return r}function Br(r,e,n,t,a,i,u,f){if(e===et){if(a-t==1)return((t===i?a:t)|lt)>>>0;if(t===a)return nt}else if(n&&e===2*et&&t===a&&u===f)return(u|lt)>>>0;if(n===e-et&&i===a){if(t===a&&f<=vt){var o=e-et;return Yr(r.slice(0,o),o)}if(a-1<=vt)return Yr(r.slice(0,-rt)+d(a-1),e)}var s=r.slice(0,n),c=r.slice(n+et);return a===i?t===i?s+c:s+h(t,a-1)+c:t===i?s+h(t+1,a)+c:s+h(t,i-1)+h(i+1,a)+c}function Rr(r){return(r|lt)>>>0}function Cr(r,e){return r===e?Rr(r):e<=vt?Or(r,e):h(r,e)}function Or(r,e){return(1<<1+e-r)-1<<r}function Lr(){return nt}function Tr(r){return 0===r?Rr(0):1===r?Cr(0,1):Qr([0,0,r,r])}function Nr(r){return r|=r>>1,r|=r>>2,r|=r>>4,r|=r>>8,r|=r>>16}function Ur(r,e){return"number"==typeof r?jr(r):"string"==typeof r?Vr(r):e?r.slice(0):r}function jr(r){return r>=lt?Ir(r):zr(r)}function Ir(r){var e=r^lt;return[e,e]}function zr(r){if(r===nt)return[];var e=[],n=-1,t=-1;if(1&r&&(n=0,t=0),2&r&&(0!==n&&(n=1),t=1),4&r&&(0===t?(e.push(0,0),n=2):1!==t&&(n=2),t=2),8&r&&(t<0?n=3:2!==t&&(e.push(n,t),n=3),t=3),r>=16)for(var a=4;a<=vt;++a)r&1<<a&&(t<0?n=a:t!==a-1&&(e.push(n,t),n=a),t=a);return e.push(n,t),e}function Vr(r){if(r===nt)return[];for(var e=[],n=0,t=r.length;n<t;n+=et){var a=l(r,n),i=l(r,n+rt);e.push(a,i)}return e}function Fr(r){return r>=lt?$r(r):Pr(r)}function $r(r){var e=r^lt;return h(e,e)}function Pr(r){if(r===nt)return tt;var e=tt,n=-1,t=-1;if(1&r&&(n=0,t=0),2&r&&(0!==n&&(n=1),t=1),4&r&&(0===t?(e=h(0,0),n=2):1!==t&&(n=2),t=2),8&r&&(t<0?n=3:2!==t&&(e+=h(n,t),n=3),t=3),r>=16)for(var a=4;a<=vt;++a)r&1<<a&&(t<0?n=a:t!==a-1&&(e+=h(n,t),n=a),t=a);return e+=h(n,t)}function qr(r){for(var e=tt,n=0,t=r.length;n<t;n+=ct)e+=h(r[n],r[n+1]);return e}function Hr(r){return"number"==typeof r?Xr(r):Jr(r)}function Xr(r){return r>=lt?r:Gr(r)}function Gr(r){var e=f(r);return e===st?r:Rr(e)}function Jr(r){var e=r.length;if(!e)return nt;var n=l(r,0),t=l(r,e-rt);return e===et&&n===t?Rr(n):t<=vt?Yr(r,e):r}function Yr(e,n){if(0===n)return nt;for(var t=l(e,0),a=l(e,0+rt),i=r(nt,t,a),u=et;u<n;u+=et)i=r(i,l(e,u),l(e,u+rt));return i}function Qr(r){var e=r.length;return 0===e?nt:e===ct&&r[0]===r[1]?Rr(r[0]):tr(r)<=vt?Wr(r,e):qr(r)}function Wr(e,n){for(var t=0,a=0;a<n;a+=ct)t=r(t,e[a],e[a+1]);return t}function Kr(r,e){if(!r)return nt;if(!e)return nt;if(0===G(r)&&0===G(e))return Cr(0,K(r));var n="number"==typeof e;if("number"==typeof r){if(n)return Hr(re(r,e));var t=Hr(ne(r,e));return t===tt?nt:t}var a=void 0,i=Hr(p(a=n?ie(r,e):Zr(r,e)));return i===tt?nt:i}function Zr(r,e){var n=B(r,e);r=n[0],e=n[1];for(var t=tt,a=0,i=r.length;a<i;a+=et)t+=fe(l(r,a),l(r,a+rt),e);return t}function re(r,e){if(r>=lt){var n=r^lt;if(e>=lt){var t=n-(e^lt);return t<0?nt:Rr(t)}return n<=vt?ae(n,n,e):ue(n,n,e)}return ee(r,e)}function ee(r,e){if(n(r,0)&&n(e,0))return Nr(r);for(var t=0;0==(r&1<<t);)++t;for(var a=t,i=t,u=1<<++t,f=nt;u<=r&&t<=vt;)(u&r)>0&&(i!==t-1&&(f|=ae(a,i,e),a=t),i=t),u=1<<++t;return f|ae(a,i,e)}function ne(r,e){if(r>=lt){var n=r^lt;return n<=vt?oe(n,n,e):fe(n,n,e)}return te(r,e)}function te(r,e){if(r>=lt){var t=r^lt;return oe(t,t,e)}if(n(r,0)&&0===G(e))return Nr(r);for(var a=0;0==(r&1<<a);)++a;for(var i=a,u=a,f=1<<++a,o=nt;f<=r&&a<=vt;)(f&r)>0&&(u!==a-1&&(o|=oe(i,u,e),i=a),u=a),f=1<<++a;return o|oe(i,u,e)}function ae(r,e,n){if(n>=lt){var t=n^lt;return ce(r,e,t,t)}for(var a=0;0==(n&1<<a);)++a;for(var i=a,u=a,f=1<<++a,o=nt;f<=n&&a<=vt;)(f&n)>0&&(u!==a-1&&(o|=ce(r,e,i,u),i=a),u=a),f=1<<++a;return o|ce(r,e,i,u)}function ie(r,e){if(0===G(r)&&0===G(e))return Cr(0,K(r));for(var n=tt,t=0,a=r.length;t<a;t+=et)n+=ue(l(r,t),l(r,t+rt),e);return n}function ue(r,e,n){if(n===nt)return nt;if(n>=lt){var t=n^lt;return se(r,e,t,t)}for(var a=0;0==(n&1<<a);)++a;for(var i=a,u=a,f=1<<++a,o=tt;f<=n&&a<=vt;)(f&n)>0&&(u!==a-1&&(o+=se(r,e,i,u),i=a),u=a),f=1<<++a;return o+se(r,e,i,u)}function fe(r,e,n){for(var t=tt,a=0,i=n.length;a<i;a+=et)t+=se(r,e,l(n,a),l(n,a+rt));return t}function oe(r,e,n){for(var t=nt,a=0,i=n.length;a<i;a+=et)t|=ce(r,e,l(n,a),l(n,a+rt));return t}function se(r,e,n,t){var a=e-n;return a>=ut?h(Wn(ut,r-t),a):tt}function ce(r,e,n,t){var a=e-n;return a>=ut?Or(Wn(ut,r-t),a):nt}function ve(r,e){if(!r)return nt;if(!e)return nt;var n="number"==typeof r,t="number"==typeof e,a=void 0;if(n&&t){if(de(r,e))return Hr(pe(r,e));a=he(r,e)}else a=n?me(r,e):t?me(e,r):le(r,e);return Hr(p(a))}function le(r,e){var n=B(r,e);r=n[0],e=n[1];for(var t=tt,a=0,i=r.length;a<i;a+=et)t+=ke(l(r,a),l(r,a+rt),e);return t}function de(r,e){return K(r)+K(e)<=vt}function he(r,e){if(r>=lt){var n=r^lt;return ge(n,n,e)}for(var t=0;0==(r&1<<t);)++t;for(var a=t,i=t,u=1<<++t,f=tt;u<=r&&t<=vt;)(u&r)>0&&(i!==t-1&&(f+=ge(a,i,e),a=t),i=t),u=1<<++t;return f+ge(a,i,e)}function pe(r,e){if(r>=lt){var n=r^lt;return be(n,n,e)}for(var t=0;0==(r&1<<t);)++t;for(var a=t,i=t,u=1<<++t,f=nt;u<=r&&t<=vt;)(u&r)>0&&(i!==t-1&&(f|=be(a,i,e),a=t),i=t),u=1<<++t;return f|be(a,i,e)}function be(r,e,n){if(n>=lt){var t=n^lt;return xe(r,e,t,t)}for(var a=0;0==(n&1<<a);)++a;for(var i=a,u=a,f=1<<++a,o=nt;f<=n&&a<=vt;)(f&n)>0&&(u!==a-1&&(o|=xe(r,e,i,u),i=a),u=a),f=1<<++a;return o|xe(r,e,i,u)}function me(r,e){if(r>=lt){var n=r^lt;return ke(n,n,e)}for(var t=0;0==(r&1<<t);)++t;for(var a=t,i=t,u=1<<++t,f=tt;u<=r&&t<=vt;)(u&r)>0&&(i!==t-1&&(f+=ke(a,i,e),a=t),i=t),u=1<<++t;return f+ke(a,i,e)}function ge(r,e,n){if(n>=lt){var t=n^lt;return ye(r,e,t,t)}for(var a=0;0==(n&1<<a);)++a;for(var i=a,u=a,f=1<<++a,o=tt;f<=n&&a<=vt;)(f&n)>0&&(u!==a-1&&(o+=ye(r,e,i,u),i=a),u=a),f=1<<++a;return o+ye(r,e,i,u)}function ke(r,e,n){for(var t=tt,a=0,i=n.length;a<i;a+=et)t+=ye(r,e,l(n,a),l(n,a+rt));return t}function ye(r,e,n,t){var a=r+n;return a<=ft?h(a,Qn(ft,e+t)):tt}function xe(r,e,n,t){return Or(r+n,e+t)}function we(r){r.log||(r.log=mt.log.bind(mt)),r.error||(r.error=mt.error.bind(mt)),r.warn||(r.warn=mt.warn.bind(mt)),r.trace||(r.trace=mt.trace.bind(mt)),r.time||(r.time=mt.time.bind(mt)),r.timeEnd||(r.timeEnd=mt.timeEnd.bind(mt)),mt=r}function Ae(){return mt}function Ee(){for(var r=arguments.length,e=Array(r),n=0;n<r;n++)e[n]=arguments[n];throw new Error(e.join(": "))}function Se(r,e,n){var t=0|e||xt;t||Ee("fixme");var a=Math.max(Re(t),0|n),i={_class:"$trie",buffer:Me(t,a),bits:a,lastNode:gt,count:0};if(r)for(var u=0,f=r.length;u<f;++u)Ce(i,r[u],u);return i}function Me(r,e){switch(e){case Et:return new Uint8Array(r);case 16:return new Uint16Array(r);case Mt:return new Uint32Array(r);case _t:return new Float64Array(r)}Ee("Unsupported bit size")}function _e(r){var e=r.lastNode+yt;for(r.lastNode=e;e+yt>=r.buffer.length;)De(r);return e}function De(r){var e=r.buffer.length,n=~~(1.1*e);e+wt>n&&(n=wt+e),Be(r,n)}function Be(r,e){var n=Re(e);r.bits=Math.max(r.bits,n);var t=Me(e,r.bits);t.set(r.buffer,0),r.buffer=t}function Re(r){return r<256?Et:r<65536?St:r<4294967296?Mt:_t}function Ce(r,e,n){return Le(r,n),Oe(r,gt,e,0,e.length,n)}function Oe(r,e,n,t,a,i){if(t>=a){var u=r.buffer,f=e+kt,o=r.buffer[f];return o||++r.count,u[f]=i+1,o-1}var s=n.charCodeAt(t)-32;return e=Te(r,e,s%10),e=Te(r,e,Math.floor(s/10)),Oe(r,e,n,t+1,a,i)}function Le(r,e){var n=Re(e);n>r.bits&&(r.bits=n,Be(r,r.buffer.length))}function Te(r,e,n){e+=n;var t=r.buffer[e];return t||(t=_e(r),r.buffer[e]=t),t}function Ne(r,e){return Ue(r,gt,e,0,e.length)}function Ue(r,e,n,t,a){var i=r.buffer;if(t>=a)return i[e+kt]-1;var u=n.charCodeAt(t)-32;return(e=i[e+u%10])&&(e=i[e+Math.floor(u/10)])?Ue(r,e,n,t+1,a):At}function je(r,e,n){function t(r){return r*Wt}function a(r){return r*Wt+Qt}function i(e,i){var u=fn(r,c+e);if(u=o(u),!(f(s(u,!0))>=0)){var v=t(u),l=n[v]++,d=v+Gt;if(l>=255)He(n,d,Xt);else{var h=qe(n,d);if(l<Jt){var p=a(u);He(n,p+l*Yt,c)}He(n,d,h|i)}}}var u=e.varNames.length,o=e.getAlias,s=e.getDomain,c=0;return n||(n=new Uint8Array(u*Wt)),n.fill(0),function(){for(c=0;c<r.length;){var e=c;switch(r[c]){case oi:i(qi,Rt|Bt),i(Hi,Rt|Bt),c+=$i;break;case si:i(qi,Vt|Bt),i(Hi,Ft|Bt),c+=$i;break;case bi:i(qi,Ht),i(Hi,Ht),c+=$i;break;case pi:for(var n=fn(r,c+1),t=0;t<n;++t)i(Fi+2*t,Rt);c+=Fi+2*n;break;case fi:i(qi,Ot),i(Hi,Lt),c+=$i;break;case vi:i(qi,Rt),i(Hi,Rt),c+=$i;break;case ii:for(var a=fn(r,c+1),u=0;u<a;++u)i(Fi+2*u,Rt);c+=Fi+2*a;break;case ci:for(var f=fn(r,c+1),o=0;o<f;++o)i(Fi+2*o,$t);c+=Fi+2*f;break;case di:for(var s=fn(r,c+1),v=0;v<s;++v)i(Fi+2*v,Rt|Bt);c+=Fi+2*s;break;case hi:for(var l=fn(r,c+1),d=0;d<l;++d)i(Fi+2*d,Pt);c+=Fi+2*l;break;case li:for(var h=fn(r,c+1),p=0;p<h;++p)i(Fi+2*p,Rt);c+=Fi+2*h;break;case Ai:for(var b=fn(r,c+1),m=0;m<b;++m)i(Fi+2*m,jt|Bt);i(Fi+2*b,It),c+=Fi+2*b+2;break;case Ei:for(var g=fn(r,c+1),k=0;k<g;++k)i(Fi+2*k,Rt);i(Fi+2*g,zt),c+=Fi+2*g+2;break;case ui:for(var y=fn(r,c+1),x=0;x<y;++x)i(Fi+2*x,Ct|Bt);c+=Fi+2*y;break;case gi:for(var w=fn(r,c+1),A=0;A<w;++A)i(Fi+2*A,Rt|Bt);i(Fi+2*w,Rt),c+=Fi+2*w+2;break;case ki:i(1,Rt|Bt),i(3,Rt|Bt),i(5,Rt),c+=Vi;break;case yi:i(1,Ut|Bt),i(3,Ut|Bt),i(5,Rt),c+=Vi;break;case _i:case Di:i(1,Rt|Bt),i(3,Rt|Bt),i(5,Rt|Bt),c+=Vi;break;case mi:for(var E=fn(r,c+1),S=0;S<E;++S)i(Fi+2*S,Tt);i(Fi+2*E,Nt),c+=Fi+2*E+2;break;case xi:case wi:for(var M=fn(r,c+1),_=0;_<M;++_)i(Fi+2*_,Rt);i(Fi+2*M,Rt),c+=Fi+2*M+2;break;case Si:for(var D=fn(r,c+1),B=0;B<D;++B)i(Fi+2*B,Rt|Bt);i(Fi+2*D,qt|Bt),c+=Fi+2*D+2;break;case Mi:for(var R=fn(r,c+1),C=0;C<R;++C)i(Fi+2*C,Rt|Bt);i(Fi+2*R,Rt|Bt),c+=Fi+2*R+2;break;case ai:if(0!==c)return Ee(" ! compiler problem @",e);++c;break;case ji:return;case Ri:i(1,Rt|Bt),c+=Ii;break;case Bi:i(1,Rt),c+=Ii;break;case Ci:c+=Ii+fn(r,c+1);break;case Oi:c+=zi+on(r,c+1);break;case Li:++c;break;case Ti:c+=2;break;case Ni:c+=3;break;case Ui:c+=4;break;default:Ae().error("(cnt) unknown op",c," at",c),Dn(r,c,"(bnt) expecting bounty to run after the minifier and these ops should be gone")}}Dn(r,c,"ML OOB")}(),n}function Ie(r,e){return r[e*Wt]}function ze(r,e){r[e*Wt]=0}function Ve(r,e,n){return qe(r,e*Wt+Gt)}function Fe(r,e,n,t){return qe(r,e*Wt+Qt+n*Yt)}function $e(r,e){var n=0|Ie(r,e);return 0===n?"[ constant or marked var ]":Pe(n&&Ve(r,e,!0))}function Pe(r){var e="0".repeat(32-r.toString(2).length)+r.toString(2),n=[];return r||n.push("BOUNTY_NONE"),(r&Bt)===Bt?n.push("NOT_BOOLY"):n.push("BOOLY"),(r&Rt)===Rt&&n.push("OTHER"),(r&Vt)===Vt&&n.push("LTE_LHS"),(r&Ft)===Ft&&n.push("LTE_RHS"),(r&Tt)===Tt&&n.push("ISALL_ARG"),(r&Nt)===Nt&&n.push("ISALL_RESULT"),(r&Ot)===Ot&&n.push("IMP_LHS"),(r&Lt)===Lt&&n.push("IMP_RHS"),(r&Ut)===Ut&&n.push("ISLTE_ARG"),(r&jt)===jt&&n.push("ISSAME_ARG"),(r&It)===It&&n.push("ISSAME_RESULT"),(r&zt)===zt&&n.push("ISSOME_RESULT"),(r&$t)===$t&&n.push("NALL"),(r&Ct)===Ct&&n.push("DIFF"),(r&Pt)===Pt&&n.push("SOME"),(r&qt)===qt&&n.push("SUM_RESULT"),(r&Ht)===Ht&&n.push("XOR"),(r&Xt)===Xt&&n.push("JUST_IGNORE"),"[ "+e+": "+n.join(", ")+" ]"}function qe(r,e){return r[e++]<<24|r[e++]<<16|r[e++]<<8|r[e]}function He(r,e,n){r[e++]=n>>24&255,r[e++]=n>>16&255,r[e++]=n>>8&255,r[e]=255&n}function Xe(r,n,t){function a(){++Ge}function i(r,e){return Te(fn(r,e))}function u(r,e,n,t){if(!$e(e)){var a=Ve(r,e,t);return n?a:o(a)}return 0}function o(r){return(r|Bt)^Bt}function s(r,e){return(r&e)===e}function c(r,e){return $e(e)?0:Ie(r,e)}function v(r,e){var n=fn(r,e+1),t=i(r,e+qi),f=c(qe,t);if(!(f>1&&f<Jt&&er(r,e,n,t,f)))if(2===n){var o=i(r,e+Hi),v=c(qe,o);if(t!==o){if(1===f)return L(r,e,t,o,t,o);if(1===v)return L(r,e,o,t,t,o);var l=Vt|Ft|Pt|$t|Ot|Lt;if(f>1&&f<=Jt){var d=u(qe,t),h=(d&l)>0,p=(d|l|Ct)^(l|Ct);if(s(d,Ct)&&h&&!p&&Yr(e,t,f,o))return;if(s(d,Ct|Ht)&&Kr(r,e,t,f,o))return;if(Zr(t,o,f))return}if(v>1&&v<=Jt){var b=u(qe,o),m=(b|l|Ct)^(l|Ct);if((b&l)>0&&!m&&Yr(e,o,v,t))return;if(s(b,Ct|Ht)&&Kr(r,e,o,v,t))return;if(Zr(o,t,v))return;var g=Ce(t,!0),k=Ce(o,!0);if(sr(g)&&g===k)return sn(r,e,bi),ze(qe,t),ze(qe,o),void a()}Pe+=$i}else Ye=!0}else Pe+=Fi+2*n}function l(r,e){var n=i(r,e+qi),t=i(r,e+Hi),a=Ce(n,!0),f=Ce(t,!0),o=c(qe,n),v=c(qe,t);if(n!==t){if(!cr(a)||ur(f))return Ye=!0,!1;if(1===o)return T(r,e,n,t,!0);if(1===v)return T(r,e,n,t,!1);if(o>0){var l=u(qe,n);if(l===Ot&&Xr(r,n,o))return;if((l===$t||l===($t|Ot))&&Ir(r,n,o))return;if(2===o&&l===(Ot|Pt)&&Vr(r,e,n,o))return;if(s(l,Nt)){if(Sr(r,e,n,o))return;if(2===o&&kr(r,e,n,o))return}if(o>=3){if(l===(Pt|$t|Ot)&&se(n,o))return;if(l===(Pt|$t|Ot|Lt)&&le(n,o))return}}or(a)&&or(f)&&2===v&&u(qe,t,!0)===(Lt|Nt)&&Br(t,e,v,n)||(Pe+=$i)}else Ye=!0}function d(r,e){var n=fn(r,e+1),t=Fi+2*n+2,a=i(r,e+Fi+2*n),f=c(qe,a);if(f>0&&f<Jt){if(1===f)return U(r,e,n,a);var o=u(qe,a);if(o===(Nt|Tt)&&j(r,a,f))return;if(2===f&&o===($t|Nt)&&Nr(r,a,e,f))return;if(o===($t|Nt)&&Gr(r,a,e,f))return}Pe+=t}function h(r,e){var n=fn(r,e+1),t=i(r,e+Fi+2*n);if(2===n){var u=i(r,e+qi),o=i(r,e+Hi),s=c(qe,u),v=c(qe,o);if(1===c(qe,t))return N(r,e,u,o,t,t);if(1===s&&p(u,o,t))return N(r,e,u,o,t,u);if(1===v&&p(o,u,t))return N(r,e,u,o,t,o);var l=Ce(t,!0),d=Ce(u,!0),h=Ce(o,!0);if(sr(l)){if(sr(d)&&ar(h)){if(ir(h))return yn(r,e,2,pi,u,t),ze(qe,u),ze(qe,o),ze(qe,t),void a();if(K(d)===f(h))return yn(r,e,2,bi,u,t),ze(qe,u),ze(qe,o),ze(qe,t),void a()}if(ar(d)&&sr(h)){if(ir(d))return yn(r,e,2,pi,o,t),ze(qe,u),ze(qe,o),ze(qe,t),void a();if(K(h)===f(d))return yn(r,e,2,bi,o,t),ze(qe,u),ze(qe,o),ze(qe,t),void a()}}Pe=e+Pi}else Pe=e+Fi+2*n+2}function p(r,e,n){var t=Ce(n,!0);if(ur(t))return!0;var a=Ce(r,!0),i=Ce(e,!0),u=g(a,i);return ir(t)?!!u||(Oe(r,Lr(),!1,!0),!1):u===i&&u!==a}function b(r,e){var n=i(r,e+1),t=i(r,e+3),a=i(r,e+5),u=c(qe,n),f=c(qe,t);return 1===c(qe,a)?$(r,e,n,t,a,a):1===u&&m(n,t,a,n,t)?$(r,e,n,t,a,n):1===f&&m(t,n,a,n,t)?$(r,e,n,t,a,t):void(Pe=e+Vi)}function m(r,e,n,t,a){var i=Ce(t,!0),u=Ce(a,!0),f=Ce(n,!0);return ur(f)?r===t?G(i)<G(u):K(u)>K(i):ir(f)?r===t?G(i)>=G(u):K(u)<=K(i):r===t?G(i)<G(u)&&K(i)>=K(u):K(u)>K(i)&&G(u)<=G(i)}function k(r,e){var n=i(r,e+1),t=i(r,e+3),a=i(r,e+5),f=c(qe,n),o=c(qe,t),v=c(qe,a);if(cr(Ce(a,!0))){if(1===v)return P(r,e,n,t,a,a);var l=Ce(n,!0),d=Ce(t,!0);if(1===f&&y(n,t,n,t,l,d))return P(r,e,n,t,a,n);if(1===o&&y(t,n,n,t,l,d))return P(r,e,n,t,a,t);if(v>0&&v<Jt){if(ar(l)&&s(u(qe,a),Lt)&&s(u(qe,t),Ot)&&Fr(e,a,n,t,v))return;if(ar(d)&&s(u(qe,a),Lt)&&s(u(qe,n),Ot)&&Pr(e,a,n,t,v))return}Pe=e+Vi}else Ye=!0}function y(r,e,n,t,a,i){return r===n?G(a)<=G(i)&&K(a)>K(i):K(i)>=K(a)&&G(i)<G(a)}function x(r,e){var n=fn(r,e+1),t=Fi+2*n+2,a=i(r,e+Fi+2*n),u=c(qe,a);if(1===u)return q(r,e,n,a,u);Pe+=t}function w(r,e){var n=fn(r,e+1);{if(2===n){var t=i(r,e+qi),a=i(r,e+Hi),u=i(r,e+Xi),f=c(qe,t),o=c(qe,a);return 1===c(qe,u)?H(r,e,t,a,u,u):1===f&&A(t,a,u)?H(r,e,t,a,u,t):1===o&&A(a,t,u)?H(r,e,t,a,u,a):void(Pe=e+Pi)}Pe=e+Fi+2*n+2}}function A(r,e,n){var t=Ce(n,!0);if(ir(t))return!0;var a=Ce(r,!0),i=Ce(e,!0),u=g(a,i);return ur(t)?!!u||(Oe(r,Lr(),!1,!0),!1):u===i&&u!==a}function E(r,e){var n=fn(r,e+1),t=Fi+2*n+2,a=i(r,e+Fi+2*n);if(1===c(qe,a))return X(r,e,a,n);for(var u=0;u<n;++u){var f=i(r,e+Fi+2*u);if(ir(Ce(f,!0))){Ye=!0;break}}Pe+=t}function S(r,e){var n=i(r,e+qi),t=i(r,e+Hi),a=c(qe,n),u=c(qe,t);if(n!==t)return 1===a?J(r,e,n,t,"lhs"):1===u?J(r,e,n,t,"rhs"):void(Pe+=$i);Ye=!0}function M(r,e){var n=i(r,e+qi),t=i(r,e+Hi),a=c(qe,n),f=c(qe,t);if(n!==t){if(!(1===a&&Y(r,e,n,t,!0)||1===f&&Y(r,e,n,t,!1))){if(a>0){var o=u(qe,n);if((o===$t||o===($t|Vt))&&jr(r,n,a))return;if(o===Vt&&Hr(r,n,a))return;if(2===a&&o===(Vt|Pt)&&zr(r,e,n,a))return;if(a>=3){if(o===(Pt|$t|Vt)&&oe(n,a))return;if(o===(Pt|$t|Vt|Ft)&&ce(n,a))return}if(s(o,Nt)){if(yr(r,e,n,a))return;if(2===a&&gr(r,e,n,a))return}}if(2===f){var v=u(qe,t);if(v===(Ft|Nt)&&_r(t,e,f))return;if(v===(Ft|It)&&Tr(t,e,f,n))return}Pe+=$i}}else Ye=!0}function D(r,e){var n=fn(r,e+1),t=i(r,e+qi),a=c(qe,t);if(!(a>1&&a<Jt&&nr(r,e,n,t,a)))if(2!==n||i(r,e+qi)!==i(r,e+Hi)){for(var f=0;f<n;++f){var o=i(r,e+Fi+2*f),s=c(qe,o);if(s>0&&u(qe,o)===$t&&ue(o,s))return!0}Pe+=Fi+2*n}else Ye=!0}function B(r,e){var n=fn(r,Pe+1),t=i(r,e+qi),a=c(qe,t);if(!(a>1&&a<Jt&&tr(r,e,n,t,a))){if(2===n){var f=i(r,e+Hi);if(t===f)return void(Ye=!0);if(1===a)return void Q(r,e,t,f,t,f);if(1===c(qe,f))return void Q(r,e,f,t,t,f)}for(var o=!1,s=0;s<n;++s){var v=i(r,e+Fi+2*s),l=c(qe,v);if(l>0&&u(qe,v)===Pt&&fe(v,l))return!0;ir(Ce(v,!0))&&(o=!0)}o&&(Ye=!0),Pe+=Fi+2*n}}function R(r,e){for(var n=fn(r,e+1),t=e+Fi,a=Fi+2*n+2,f=i(r,t+2*n),o=Ce(f,!0),s=c(qe,f),v=sr(o),l=!0,d=!0,h=Rr(0),p=0,b=0,m=0,k=-1,y=!1,x=0;x<n;++x){var w=i(r,t+2*x),A=Ce(w,!0),E=G(A),S=K(A);h=ve(h,A),p+=E,b+=S,E===S?(y=k>=0,m=E,k=x):(sr(A)||(d=!1),or(A)||(l=!1))}if(!y)if(v&&d&&K(o)===b)sn(r,e,mi);else{if(1===s){if(h===g(o,h))return W(r,e,n,f);if(l&&o===Cr(0,n-1))return pr(r,e,n,f);if(l&&o===Cr(1,n))return br(r,e,n,f)}if(s>=2){var M=u(qe,f);if(d&&2===s){if(M===(jt|qt)&&de(r,e,f,s,n,h,p,b,m,k,d))return;if(M===(Ut|qt)&&me(r,e,f,s,n,p,b,m,k))return}if(3===s&&2===n&&M===(jt|qt)&&ye(r,e,f,s,h,n))return;if(s<Jt&&ke(r,e,f,s,h,n))return}Pe+=a}}function C(r,e){var n=fn(r,e+1);if(2===n){var t=i(r,e+qi),a=i(r,e+Hi),f=c(qe,t),o=c(qe,a);if(t===a)return void(Ye=!0);if(1===f)return Z(r,e,t,a,t,a);if(1===o)return Z(r,e,a,t,t,a);if(f>0&&o>0){var v=u(qe,t,!0),l=u(qe,a,!0),d=!s(v,Bt),h=!s(l,Bt);if(d||h)return ge(r,e,t,d,a,h)}}Pe+=Fi+2*n}function O(r,e){var n=i(r,e+qi),t=i(r,e+Hi),a=c(qe,n),f=c(qe,t);if(n!==t){if(1===a)return rr(r,e,n,t,n,t);if(1===f)return rr(r,e,t,n,n,t);var o=Ce(n,!0),v=Ce(t,!0);if(cr(o)&&cr(v)){if(a>0&&f>0){var l=u(qe,n,!0),d=u(qe,t,!0),h=!s(l,Bt),p=!s(d,Bt),b=Pt|$t|Ot|Lt|Ht;if(a<Jt){if((l&b)===l&&Wr(e,n,a,t))return;if(2===a){if(s(l,Nt)&&ee(n,t,e,a,f))return;if(h&&s(l,zt)&&te(n,t,e,a,f))return;if(l===(Ht|Pt)&&ie(n,t,e,a))return}if(re(n,t,a,v,F(v),p))return}if(f<Jt){if(sr(v)&&(d&b)===d&&Wr(e,t,f,n))return;if(2===f){if(s(d,Nt)&&ee(t,n,e,f,a))return;if(p&&s(d,zt)&&te(t,n,e,f,a))return;if(d===(Ht|Pt)&&ie(t,n,e,f))return}if(re(t,n,f,o,F(o),h))return}}Pe+=$i}else Ye=!0}else Ye=!0}function L(r,e,n,t,i,u){Ne.push(function(r,e,n,t){var a=n(i),f=n(u);if(F(a)<F(f)){var o=e(i);t(u,Er(f,o))}else{var s=e(u);t(i,Er(a,s))}}),ln(r,e,$i),ze(qe,n),ze(qe,t),a()}function T(r,e,n,t,i){Ne.push(function(r,e,a,u){var f=a(n),o=a(t);if(i)if(ur(o)){var s=Er(f,0);f!==s&&u(n,s)}else{var c=_(f,0);f!==c&&u(n,c)}else if(ur(f)){var v=Er(o,0);f!==v&&u(t,v)}else{var l=_(o,0);o!==l&&u(t,l)}}),ln(r,e,$i),ze(qe,n),ze(qe,t),a()}function N(r,e,n,t,i,u){Ne.push(function(r,e,a,u){var o=a(n),s=a(t),c=a(i);ar(o)?ar(s)?(c=o!==s?Er(c,0):Ar(c,0),u(i,c)):cr(c)?(s=Er(s,f(o)),u(t,s),c=Er(c,0),u(i,c)):ir(c)?u(t,o):(s=Er(s,f(o)),u(t,s)):ar(s)?cr(c)?(o=Er(o,f(s)),u(n,o),c=Er(c,0),u(i,c)):ir(c)?u(n,s):(o=Er(o,f(s)),u(n,o)):cr(c)?(g(o,s)!==nt&&(s=Er(s,e(n)),u(t,s)),c=Er(c,0),u(i,c)):ir(c)?(s=Rr(e(n,g(o,s))),u(t,s)):(s=Er(s,e(n)),u(t,s))}),ln(r,e,Pi),ze(qe,n),ze(qe,t),ze(qe,i),a()}function U(r,e,n,t){var i=_e(r,e,n);Ne.push(function(r,e,a,u){for(var f=1,o=0;o<n;++o)if(0===e(i[o])){f=0;break}var s=vr(a(t),f);u(t,s)}),ln(r,e,Fi+2*n+2),ze(qe,t),a()}function j(r,e,n){var t=Ce(e,!0);if(!or(t))return!1;for(var a=[],u=[],f=[],o=[],s=[],c=0;c<n;++c){var v=Fe(qe,e,c);if(s.indexOf(v)<0){for(var l=fn(r,v+1),d=i(r,v+Fi+2*l),h=[],p=!1,b=0;b<l;++b){var m=i(r,v+Fi+2*b);h.push(m),m===e&&(p=!0)}d!==e?a.push(v):p?f.push(v):u.push(v),o.push(h),s.push(v)}}return!u.length&&(a.length?I(r,e,o,s,t,n,a,f):V(r,e,o,s,t))}function I(r,e,n,t,u,f,o,s){if(3!==f)return!1;var c=o[0],v=fn(r,c+1),l=s[0],d=fn(r,l+1),h=i(r,c+Fi+2*v);if((2!==v||2!==d)&&!z(r,e,h,n))return!1;var p=i(r,c+qi);p===e&&(p=i(r,c+Hi));var b=i(r,l+qi);return b===e&&(b=i(r,l+Hi)),yn(r,c,c,fi,h,p),yn(r,l,l,fi,h,b),Ne.push(function(r,n,t,a){var i=t(e),u=i;0===n(p)?u=Ar(u,0):n(h)?u=Er(u,0):n(b)>0&&(u=Ar(u,0)),i!==u&&a(e,u)}),ze(qe,p),ze(qe,b),ze(qe,e),ze(qe,h),a(),!0}function z(r,e,n,t){for(var a=[],i=0;i<t.length;++i)for(var u=t[i],f=i>=2,o=0;o<u.length;++o){var s=u[o];s!==e&&(!f&&o<2?f=!0:a.push(s))}var c=a.length;if(c){var v=En(r,0,c,$i);if(!v)return!1;for(var l=0;l<c;){var d=v.pop(),h=Mn(r,d);do{var p=a[l];gn(r,d,Mn(r,d),fi,[n,p]),++l,h-=$i,d+=$i}while(h>=$i&&l<c)}}return!0}function V(r,e,n,t,i){Ne.push(function(r,t,a,i){for(var u=!0,f=0,o=n.length;f<o;++f){for(var s=n[f],c=0,v=s.length;c<v;++c){var l=s[c];l!==e&&(ur(a(l))||(u=!1))}if(!u){i(e,Rr(0));break}}});for(var u=0,f=t.length;u<f;++u){var o=t[u],s=n[u];ln(r,o,Fi+2*s.length+2);for(var c=0,v=s.length;c<v;++c)ze(qe,s[c])}return a(),!0}function $(r,e,n,t,i,u){Ne.push(function(r,e,a,u){var f=a(n),o=a(t),s=a(i);cr(s)?(s=e(n)<e(t)?Er(s,0):Ar(s,0),u(i,s)):ir(s)?(f=Rr(K(f)),o=Rr(G(o)),u(n,f),u(t,o)):(f=Rr(G(f)),o=Rr(K(o)),u(n,f),u(t,o))}),ln(r,e,Vi),ze(qe,n),ze(qe,t),ze(qe,i),a()}function P(r,e,n,t,i,u){Ne.push(function(r,e,a,u){var f=a(n),o=a(t),s=a(i);cr(s)?(s=e(n)<=e(t)?Er(s,0):Ar(s,0),u(i,s)):ir(s)?(f=Rr(K(f)),o=Rr(G(o)),u(n,f),u(t,o)):(f=Rr(G(f)),o=Rr(K(o)),u(n,f),u(t,o))}),ln(r,e,Vi),ze(qe,n),ze(qe,t),ze(qe,i),a()}function q(r,e,n,t,i){var u=_e(r,e,n);Ne.push(function(r,e,a,i){for(var f=0,o=0;o<n;++o)if(0===e(u[o])){f=1;break}var s=vr(a(t),f);i(t,s)}),ln(r,e,Fi+2*n+2),ze(qe,t),a()}function H(r,e,n,t,i,u){Ne.push(function(r,e,a,u){var o=a(n),s=a(t),c=g(o,s),v=a(i);if(ar(v))ir(v)?c&&(ar(o)?u(t,Er(s,f(o))):u(n,Er(o,e(t)))):(e(n,c),e(t,a(n)));else{if(c)if(ar(o))v=vr(v,o===s);else if(ar(s))u(n,s),v=vr(v,!0);else{var l=Rr(G(c));u(n,l),u(t,l),v=vr(v,!0)}else v=vr(v,!1);u(i,v)}}),ln(r,e,Pi),ze(qe,n),ze(qe,t),ze(qe,i),a()}function X(r,e,n,t){var i=_e(r,e,t);Ne.push(function(r,e,t,a){for(var u=!1,f=0;f<i.length;++f)if(e(i[f])>0){u=!0;break}var o=t(n);o=u?Er(o,0):Ar(o,0),a(n,o)}),ln(r,e,Fi+2*t+2),ze(qe,n),a()}function J(r,e,n,t,i){Ne.push(function(r,e,a,i){var u=a(n),f=a(t),o=K(u),s=G(f);if(o<s);else if(G(u)>=s){var c=G(u);i(n,Ar(u,c)),i(t,mr(f,c))}else i(n,lr(u,s))}),ln(r,e,$i),ze(qe,n),ze(qe,t),a()}function Y(r,e,n,t,i){var u=Ce(n,!0),f=Ce(t,!0),o=G(u),s=Ar(u,K(f)),c=wr(f,o);return!s||ar(s)||!c||ar(c)?(Ye=!0,!1):(u!==s&&Oe(n,s),f!==c&&Oe(t,c),Ne.push(function(r,e,a,u){var f=a(n),o=a(t),s=K(f),c=G(o);if(s>c)if(i){var v=Ar(f,c);u(n,v)}else{var l=wr(o,s);u(t,l)}}),ln(r,e,$i),ze(qe,n),ze(qe,t),a(),!0)}function Q(r,e,n,t,i,u){Ne.push(function(r,e,a,i){var u=a(t),f=a(n);ir(u)?i(n,Er(f,0)):ir(f)?i(t,Er(u,0)):ur(u)||ur(u)||i(n,Er(f,0))}),ln(r,e,$i),ze(qe,n),ze(qe,t),a()}function W(r,e,n,t){var i=_e(r,e,n);Ne.push(function(r,e,n,a){for(var u=0,f=0;f<i.length;++f)u+=e(i[f]);var o=_(n(t),u);a(t,o)}),ln(r,e,Fi+2*n+2),ze(qe,t),a()}function Z(r,e,n,t,i,u){Ne.push(function(r,e,n,t){var a=n(i),f=n(u);ir(a)?t(u,Ar(f,0)):ir(f)?t(i,Ar(a,0)):ur(a)?t(u,Er(f,0)):ur(f)?t(i,Er(a,0)):(t(i,Er(a,0)),t(u,Er(f,0)))}),ln(r,e,$i),ze(qe,n),ze(qe,t),a()}function rr(r,e,n,t,i,u){Ne.push(function(r,e,n,t){var a=n(i),f=n(u);ir(a)?t(u,Er(f,0)):ir(f)?t(i,Er(a,0)):ur(a)?t(u,Ar(f,0)):ur(f)?t(i,Ar(a,0)):(t(i,Er(a,0)),t(u,Ar(f,0)))}),ln(r,e,$i),ze(qe,n),ze(qe,t),a()}function er(r,e,n,t,a){for(var u=0;u<a;++u){var f=Fe(qe,t,u);if(f!==e){var o=an(r,f);if(o===ui){var s=fn(r,f+1);if(n>s&&(hr(r,e,n),hr(r,f,s),dr(r,f,s,e,n)))return De(r,f,s),ln(r,f,Fi+2*s),!0}else if(o===gi){var c=fn(r,f+1);if(n>=c&&(hr(r,e,n),hr(r,f,c),dr(r,f,c,e,n))){var v=i(r,f+Fi+2*c),l=Ce(v),d=Er(l,0);return l!==d&&Oe(v,d),De(r,f,c),ln(r,f,Fi+2*c+2),!0}}else if(o===Ai){var h=fn(r,f+1);if(n<=h&&(hr(r,e,n),hr(r,f,h),dr(r,e,n,f,h))){var p=i(r,f+Fi+2*h),b=Ce(p),m=Ar(b,0);return b!==m&&Oe(p,m),De(r,f,h),ln(r,f,Fi+2*h+2),!0}}}}}function nr(r,e,n,t,a){for(var u=0;u<a;++u){var f=Fe(qe,t,u);if(f!==e){var o=an(r,f);if(o===ci){var s=fn(r,f+1);if(n<s&&(hr(r,e,n),hr(r,f,s),dr(r,e,n,f,s)))return De(r,f,s),ln(r,f,Fi+2*s),!0}else if(o===xi){var c=fn(r,f+1);if(n<=c&&(hr(r,e,n),hr(r,f,c),dr(r,e,n,f,c))){var v=i(r,f+Fi+2*c),l=Ce(v),d=Er(l,0);return l!==d&&Oe(v,d),De(r,f,c),ln(r,f,Fi+2*c+2),!0}}else if(o===mi){var h=fn(r,f+1);if(n<=h&&(hr(r,e,n),hr(r,f,h),dr(r,e,n,f,h))){var p=i(r,f+Fi+2*h),b=Ce(p),m=Ar(b,0);return b!==m&&Oe(p,m),De(r,f,h),ln(r,f,Fi+2*h+2),!0}}}}}function tr(r,e,n,t,u){for(var f=0;f<u;++f){var o=Fe(qe,t,f);if(o!==e){var s=an(r,o);if(s===hi){var c=fn(r,o+1);if(n<c&&(hr(r,e,n),hr(r,o,c),dr(r,e,n,o,c)))return De(r,o,c),ln(r,o,Fi+2*c),a(),!0}else if(s===Ei){var v=fn(r,o+1);if(n<=v&&(hr(r,e,n),hr(r,o,v),dr(r,e,n,o,v))){var l=i(r,o+Fi+2*v),d=Ce(l),h=Er(d,0);return d!==h&&Oe(l,h),De(r,o,v),ln(r,o,Fi+2*v+2),a(),!0}}else if(s===wi){var p=fn(r,o+1);if(n<=p&&(hr(r,e,n),hr(r,o,p),dr(r,e,n,o,p))){var b=i(r,o+Fi+2*p),m=Ce(b),g=Ar(m,0);return m!==g&&Oe(b,g),De(r,o,p),ln(r,o,Fi+2*p+2),a(),!0}}}}}function dr(r,e,n,t,a){for(var i=0,u=0,f=fn(r,e+Fi+2*i),o=0;u<a;){for(o=fn(r,t+Fi+2*u);f===o;){if(++i>=n)return!0;f=fn(r,e+Fi+2*i)}++u}return!1}function hr(r,e,n){for(var t=0;t<n;++t){var a=e+Fi+2*t,i=fn(r,a),u=Te(i);i!==u&&cn(r,a,u)}Bn(r,e+Fi,n)}function pr(r,e,n,t){var i=_e(r,e,n);Ne.push(function(r,e,n,a){for(var u=n(t),o=0,s=0;s<i.length;++s){var c=f(n(i[s]));c>=0&&(o+=c)}for(var v=G(wr(u,o)),l=v-o,d=0;d<i.length;++d){var h=i[d],p=n(h);ar(p)||(l>0?(p=Er(p,0),--l):p=Er(p,1),e(h,p))}a(t,_(u,v))}),xn(r,e,n,ci,i),ze(qe,t),a()}function br(r,e,n,t){var i=_e(r,e,n);Ne.push(function(r,e,a,u){for(var f=!0,o=-1,s=0;s<n;++s){var c=i[s],v=a(c);if(ur(v)){f=!1;break}ir(v)||(o=c)}if(f){var l=a(o);u(o,l=Er(l,0))}for(var d=0,h=0;h<n;++h)d+=e(i[h]);var p=a(t);p=_(p,d),u(t,p)}),sn(r,e,hi),cn(r,e+1,n);for(var u=0;u<n;++u)cn(r,e+Fi+2*u,i[u]);hn(r,e+Fi+2*n,2),ze(qe,t),a()}function gr(r,e,n,t){var u=i(r,e+Hi);if(!or(Ce(n,!0))||!or(Ce(u,!0)))return!1;var f=Fe(qe,n,0),o=Fe(qe,n,1),s=f===e?o:f;if(2!==fn(r,s+1))return!1;var c=i(r,s+qi),v=i(r,s+Hi);return!(!or(Ce(c,!0))||!or(Ce(v,!0)))&&(kn(r,s,2,xi,c,v,n),bn(r,e,2,hi,n,u),ze(qe,n),ze(qe,u),ze(qe,c),ze(qe,v),a(),!0)}function kr(r,e,n,t){var u=i(r,e+Hi);if(!or(Ce(n,!0))||!or(Ce(u,!0)))return!1;var f=Fe(qe,n,0),o=Fe(qe,n,1),s=f===e?o:f;if(2!==fn(r,s+1))return!1;if(!or(Ce(c,!0))||!or(Ce(v,!0)))return!1;var c=i(r,s+qi),v=i(r,s+Hi);return kn(r,s,2,xi,c,v,n),bn(r,e,2,hi,n,u),ze(qe,n),ze(qe,u),ze(qe,c),ze(qe,v),a(),!0}function yr(r,e,n,t){for(var a=i(r,e+Hi),u=Math.min(t,Jt),f=0;f<u;++f){var o=Fe(qe,n,f);if(o!==e&&an(r,o)===mi&&xr(e,o,n,a))return!0}return!1}function xr(e,n,t,u){for(var f=fn(r,n+1),o=(i(r,n+Fi+2*f),0);o<f;++o)if(i(r,n+Fi+2*o)===u)return ln(r,e,$i),ze(qe,t),ze(qe,u),a(),!0;return!1}function Sr(r,e,n,t){for(var a=i(r,e+Hi),u=Math.min(t,Jt),f=0;f<u;++f){var o=Fe(qe,n,f);if(o!==e&&an(r,o)===mi&&Mr(e,o,n,a))return!0}return!1}function Mr(e,n,t,u){for(var f=fn(r,n+1),o=(i(r,n+Fi+2*f),0);o<f;++o)if(i(r,n+Fi+2*o)===u)return ln(r,e,$i),ze(qe,t),ze(qe,u),a(),!0;return!1}function _r(e,n,t){var u=Fe(qe,e,0),f=Fe(qe,e,1),o=n===u?f:u,s=i(r,n+qi),c=Ce(s,!0),v=Ce(e,!0);if(K(c)>1&&K(v)>1)return!1;if(ur(v))return Ye=!0,!1;if(K(c)>K(v))return Ye=!0,!1;for(var l=fn(r,o+1),d=K(c),h=0;h<l;++h){var p=i(r,o+Fi+2*h);if(K(Ce(p,!0))<d)return!1}if(l<2)return!1;if(l>2&&!Dr(r,o,l,s))return!1;var b=i(r,o+qi),m=i(r,o+Hi);ze(qe,s),ze(qe,e);var g=_e(r,o,l);return bn(r,n,2,si,s,b),yn(r,o,2,si,s,m),Ne.push(function(r,n,t,a){var i=t(e);i=wr(i,K(t(s)));for(var u=!1,f=0;f<g.length;++f){var o=t(g[f]);if(ir(o)||!ur(i)&&0===n(o)){u=!0;break}}i=u?Ar(i,0):Er(i,0),a(e,i)}),a(),!0}function Dr(r,e,n,t){var a=n-2,u=En(r,0,a,$i);if(!u)return!1;for(var f=0;f<a;){var o=u.pop(),s=Mn(r,o);do{var c=i(r,e+Fi+2*(f+2));sn(r,o,si),cn(r,o+1,2),cn(r,o+qi,t),cn(r,o+Hi,c),++f,s-=$i,o+=$i}while(s>=$i&&f<a);s&&hn(r,o,s)}return!0}function Br(e,n,t,u){var f=Fe(qe,e,0),o=Fe(qe,e,1),s=n===f?o:f,c=Ce(u,!0),v=Ce(e,!0);if(K(c)>1&&K(v)>1)return!1;if(ur(v))return Ye=!0,!1;if(K(c)>K(v))return Ye=!0,!1;var l=fn(r,s+1);if(l<2)return Ye=!0,!1;if(l>2&&!Or(r,s,l,u))return!1;var d=i(r,s+qi),h=i(r,s+Hi);ze(qe,u),ze(qe,e);var p=_e(r,s,l);return bn(r,n,2,fi,u,d),yn(r,s,l,fi,u,h),Ne.push(function(r,n,t,a){var i=t(e),f=t(u),o=!1,s=!1;ur(f)&&(o=!0);for(var c=!0,v=0;v<l;++v){var d=t(p[v]);if(ir(d)){s=!0,c=!1;break}fr(d)&&(c=!1)}c&&(o=!0);var h=!1;o?(a(e,Er(i,0)),h=!0):s?(a(e,Ar(i,0)),h=!1):h=n(e)>0,h||a(u,Ar(f,0));for(var b=0;b<l;++b){var m=p[b],g=t(m);if(h)a(m,Er(g,0));else{if(ir(g)){!0;break}if(fr(g)){a(m,Ar(g,0)),!0;break}}}}),a(),!0}function Or(r,e,n,t){var a=n-2,u=En(r,0,a,$i);if(!u)return!1;for(var f=0;f<a;){var o=u.pop(),s=Mn(r,o);do{var c=i(r,e+Fi+2*(f+2));sn(r,o,fi),cn(r,o+1,2),cn(r,o+qi,t),cn(r,o+Hi,c),++f,s-=$i,o+=$i}while(s>=$i&&f<a);s&&hn(r,o,s)}return!0}function Tr(e,n,t,u){var f=Fe(qe,e,0),o=Fe(qe,e,1),s=f===n?o:f;if(2!==fn(r,s+1))return!1;var c=i(r,s+qi),v=i(r,s+Hi),l=Ce(c,!0),d=Ce(v,!0),h=Ce(u,!0),p=Ce(e,!0);return!!(or(l)&&or(d)&&or(h)&&or(p))&&(bn(r,n,2,fi,u,e),ze(qe,u),ze(qe,e),a(),!0)}function Nr(r,e,n,t){var a=Fe(qe,e,0),u=Fe(qe,e,1),f=a===n?u:a,o=fn(r,f+1),s=fn(r,n+1);if(3!==o)return!1;for(var c=i(r,f+Fi),v=i(r,f+Fi+2),l=i(r,f+Fi+4),d=0;d<s;++d){var h=i(r,n+Fi+2*d);if(h===c)return Ur(r,f,v,l,c);if(h===v)return Ur(r,f,c,l,v);if(h===l)return Ur(r,f,c,v,l)}return!1}function Ur(r,e,n,t,i){return cn(r,e+1,2),cn(r,e+qi,n),cn(r,e+Hi,t),sn(r,e+Xi,Ti),ze(qe,i),ze(qe,n),ze(qe,t),a(),!0}function jr(r,e,n){if(ur(Ce(e,!0)))return!1;for(var t=0;t<n;++t){var u=Fe(qe,e,t),f=an(r,u);if(f===si){var o=i(r,u+Hi);o!==e&&(ze(qe,o),ln(r,u,$i))}else{if(f!==ci)return!1;for(var s=i(r,u+1),c=0;c<s;++c){var v=i(r,u+Fi+2*c);v!==e&&ze(qe,v)}ln(r,u,Fi+2*s)}}var l=Ce(e,!0),d=Ar(l,0);return l!==d&&Oe(e,d),ze(qe,e),a(),!0}function Ir(r,e,n){if(ur(Ce(e,!0)))return Ye=!0,!1;var t=Ce(e,!0);if(!ir(t)){var i=Ar(t,0);t!==i&&Oe(e,i),ze(qe,e)}return a(),!0}function zr(r,e,n,t){if(!or(Ce(n,!0)))return!1;var u=i(r,e+Hi);if(!or(Ce(u,!0)))return!1;var f=Fe(qe,n,0),o=Fe(qe,n,1),s=f===e?o:f,c=fn(r,s+1),v=_e(r,s,c,n);return ln(r,e,$i),mn(r,s,c,hi,[u].concat(v)),Ne.push(function(r,e,t,a){var i=t(n),f=t(u),o=i;if(K(o)>G(f)&&(o=Ar(o,G(f))),!ir(o)){for(var s=!0,c=0,l=v.length;c<l;++c){var d=t(v[c]);if(ur(d))break;if(cr(d)){s=!0;break}s=!1}s&&(o=Er(o,0))}i!==o&&a(n,o)}),ze(qe,n),a(),!0}function Vr(r,e,n,t){if(!or(Ce(n,!0)))return!1;var u=i(r,e+Hi);if(!or(Ce(u,!0)))return!1;var f=Fe(qe,n,0),o=Fe(qe,n,1),s=f===e?o:f,c=fn(r,s+1),v=_e(r,s,c,n);return ln(r,e,$i),mn(r,s,c,hi,[u].concat(v)),Ne.push(function(r,e,t,a){var i=t(n),f=i;if(f=ur(t(u))?Er(f,0):Ar(f,0),!ir(f)){for(var o=!0,s=0,c=v.length;s<c;++s){var l=t(v[s]);if(ur(l))break;if(cr(l)){o=!0;break}o=!1}o&&(f=Er(f,0))}i!==f&&a(n,f)}),ze(qe,n),a(),!0}function Fr(e,n,t,a,u){for(var f=0;f<u;++f){var o=Fe(qe,n,f);if(o!==e&&an(r,o)===fi&&i(r,o+qi)===a&&i(r,o+Hi)===n)return $r(n,t,a,e,o)}return!1}function $r(e,n,t,i,u){var o=Ce(n,!0),s=Ce(t,!0),c=f(o);if(c<=G(s))return Ye=!0,!1;if(c>K(s))return Ye=!0,!1;var v=g(s,Qr([0,0,c,K(s)]));return s===v||(Oe(t,v),v)?(bn(r,u,2,pi,e,t),ln(r,i,Vi),ze(qe,t),ze(qe,e),a(),!0):Xe=!0}function Pr(e,n,t,a,u){for(var f=0;f<u;++f){var o=Fe(qe,n,f);if(o!==e&&an(r,o)===fi&&i(r,o+qi)===t&&i(r,o+Hi)===n)return qr(n,t,a,e,o)}return!1}function qr(e,n,t,i,u){var o=Ce(e,!0);if(!(o=Er(o,0)))return Xe=!0,!1;var s=Ce(n,!0);return f(Ce(t,!0))<=G(s)?(Ye=!0,!1):(Oe(e,o),bn(r,u,2,si,n,t),ln(r,i,Vi),ze(qe,n),ze(qe,t),ze(qe,e),a(),!0)}function Hr(r,e,n){for(var t=Ce(e,!0),u=[],f=0;f<n;++f){var o=Fe(qe,e,f),s=i(r,o+Hi);if(K(Ce(s))<G(t))return Oe(s,0),!0;u.push(s),ln(r,o,$i)}Ne.push(function(r,n,t,a){for(var i=t(e),f=i,o=0,s=u.length;o<s;++o)f=Ar(f,G(t(u[o])));i!==f&&a(e,f)}),ze(qe,e);for(var c=0,v=u.length;c<v;++c)ze(qe,u[c]);return a(),!0}function Xr(r,e,n){var t=Ce(e,!0);if(ir(t)||ur(t))return Ye=!0,!1;for(var u=0;u<n;++u)if(ir(i(r,Fe(qe,e,u)+Hi)))return Ye=!0,!1;for(var f=[],o=0;o<n;++o){var s=Fe(qe,e,o),c=i(r,s+Hi);f.push(c),ln(r,s,$i)}var v=_(t,0);Oe(e,v),ze(qe,e);for(var l=0,d=f.length;l<d;++l)ze(qe,f[l]);return a(),!0}function Gr(r,e,n,t){for(var a=fn(r,n+1),u=Fi+2*a+2,f=[],o=0;o<a;++o){var s=i(r,n+Fi+2*o);f.push(s)}for(var c=0,v=0;v<t;++v){var l=Fe(qe,e,v);if(l!==n){if(an(r,l)!==ci)return!1;if(2!==fn(r,l+1))return!1;++c}}var d=Fi+2*(a+1),h=c-1,p=void 0;if(h&&!(p=En(r,0,h,d)))return!1;var b=f.slice(0),m=0;h&&Sn(r,p,h,d,function(a,i,u){var o=void 0;do{if(m>=t)return!0;o=Fe(qe,e,m++)}while(o===n);return Jr(r,e,f.slice(0),b,o,a,u),!1});var g=Fe(qe,e,m++);g===n&&(g=Fe(qe,e,m++)),Jr(r,e,f.slice(0),b,g,n,u),Ne.push(function(r,n,t,a){var i=t(e);b.some(function(r){if(!ur(t(r))&&0===n(r))return i=Ar(i,0),!0}),a(e,i)}),ze(qe,e);for(var k=0,y=b.length;k<y;++k)ze(qe,b[k]);return!0}function Jr(r,e,n,t,a,u,f){var o=i(r,a+qi),s=i(r,a+Hi),c=o===e?s:o;n.push(c),t.push(c),gn(r,u,f,ci,n),a!==u&&ln(r,a,$i)}function Yr(e,n,t,u){if(!sr(Ce(n)))return!1;for(var o=[],s=[],c=[],v=[],l=[],d=[],h=[],p=[],b=[],m=[],g=[],k=[],y=[],x=0;x<t;++x){var w=Fe(qe,n,x),A=an(r,w);if(2!==fn(r,w+1))return!1;var E=i(r,w+qi),S=i(r,w+Hi),M=Ce(E,!0),D=Ce(S,!0);if(!sr(E===n?D:M))return!1;var B=E===n?S:E;if(A===si){if(K(M)>K(D)||G(D)<G(M))return Ye=!0,!1;E===n?(o.push(w),s.push(B)):(c.push(w),v.push(B))}else if(A===fi)E===n?(m.push(w),g.push(B)):(k.push(w),y.push(B));else if(A===ui){if(e!==w)return!1;b.push(B),!0}else A===hi?(l.push(w),d.push(B)):(h.push(w),p.push(B))}for(var R=0,C=o.length;R<C;++R){var O=o[R],L=i(r,O+qi);L===n&&(L=i(r,O+Hi)),ze(qe,L),bn(r,O,2,hi,L,u)}for(var T=0,N=c.length;T<N;++T){var U=c[T],j=i(r,U+qi);j===n&&(j=i(r,U+Hi)),ze(qe,j),bn(r,U,2,ci,j,u)}for(var I=0,z=l.length;I<z;++I){var V=l[I],F=i(r,V+qi);F===n&&(F=i(r,V+Hi)),ze(qe,F),bn(r,V,2,si,u,F)}for(var $=0,P=h.length;$<P;++$){var q=h[$],H=i(r,q+qi);H===n&&(H=i(r,q+Hi)),ze(qe,H),bn(r,q,2,si,H,u)}for(var X=0,J=m.length;X<J;++X){var Y=m[X],Q=i(r,Y+qi);Q===n&&(Q=i(r,Y+Hi)),ze(qe,Q),bn(r,Y,2,hi,Q,u)}for(var W=0,Z=k.length;W<Z;++W){var rr=k[W],er=i(r,rr+qi);er===n&&(er=i(r,rr+Hi)),ze(qe,er),bn(r,rr,2,ci,er,u)}return ln(r,e,$i),Ue.push(n),Ne.push(function(r,e,t,a){for(var i=t(n),o=t(u),c=i,l=G(i),h=K(i),b=0;b<s.length;++b){var m=s[b],k=t(m);if(h>G(k)){var x=K(k);x>=h?a(m,k=wr(k,h)):(a(m,k=_(k,x)),i=Ar(i,x))}}for(var w=0;w<v.length;++w){var A=v[w],E=t(A),S=K(E);if(l<S){var M=G(E);M<=l?a(A,E=Ar(E,l)):(a(A,E=_(E,M)),i=wr(i,S))}}for(var D=0;D<d.length;++D){var B=d[D],R=t(B);ir(R)?i=Er(i,0):fr(R)&&a(B,R=Er(R,0))}for(var C=0;C<p.length;++C){var O=p[C],L=t(O);ur(L)?i=Ar(i,0):ur(L)&&a(O,L=Ar(L,0))}for(var T=0;T<g.length;++T){var N=g[T],U=t(N);ur(U)||ir(i)||(ir(U)?i=Ar(i,0):ur(U)?i=Er(i,0):a(N,Er(U,0)))}for(var j=0;j<y.length;++j){var I=t(y[j]);ur(I)?i=Ar(i,0):cr(I)&&(I=Er(I,0))}ar(i)?(o=Er(o,f(i)),a(u,o)):i=Er(i,e(u)),i!==c&&a(n,i)}),ze(qe,n),ze(qe,u),a(),!0}function Wr(e,n,t,u){if(!cr(Ce(n)))return!1;for(var f=[],o=[],c=[],v=[],l=0;l<t;++l){var d=Fe(qe,n,l),h=an(r,d);if(2!==fn(r,d+1))return!1;var p=i(r,d+qi),b=i(r,d+Hi),m=p===n?b:p;if(0===Ie(qe,m))return!1;if(!sr(Ce(m,!0))&&s(Ve(qe,m),Bt))return!1;if(h===fi)p===n?c.indexOf(d)<0&&c.push(d):v.indexOf(d)<0&&v.push(d);else if(h===bi){if(e!==d)return!1;!0}else h===hi?(fn(r,d+1),f.indexOf(d)<0&&f.push(d)):o.indexOf(d)<0&&o.push(d)}for(var g=0,k=f.length;g<k;++g){var y=f[g],x=i(r,y+qi);x===n&&(x=i(r,y+Hi)),ze(qe,x),bn(r,y,2,fi,u,x)}for(var w=0,A=o.length;w<A;++w){var E=o[w],S=i(r,E+qi);S===n&&(S=i(r,E+Hi)),ze(qe,S),bn(r,E,2,fi,S,u)}for(var M=0,_=c.length;M<_;++M){var D=c[M],B=i(r,D+qi);B===n&&(B=i(r,D+Hi)),ze(qe,B),bn(r,D,2,hi,B,u)}for(var R=0,C=v.length;R<C;++R){var O=v[R],L=i(r,O+qi);L===n&&(L=i(r,O+Hi)),ze(qe,L),bn(r,O,2,ci,L,u)}return ln(r,e,$i),Ue.push(n),Ne.push(function(r,e,t,a){var i=t(n);i=0===e(u)?Er(i,0):Ar(i,0),a(n,i)}),ze(qe,n),ze(qe,u),a(),!0}function Kr(r,e,n,t,u){for(var f=0,o=0;o<t;++o){var s=Fe(qe,n,o);an(r,s)===bi&&(f=s)}if(2!==fn(r,f+1))return!1;var c=i(r,f+qi);c===n&&(c=i(r,f+Hi));var v=Ce(u,!0),l=Ce(c,!0),d=Ce(n,!0);return!(!sr(v)||!sr(l)||g(d,v)!==v||g(d,l)!==l)&&(ln(r,e,$i),Me(c,u),a(),!0)}function Zr(e,n,t){var u=Ce(e);if(u===Ce(n)&&2===F(u))for(var f=0;f<t;++f){var o=Fe(qe,e,f);if(an(r,o)===ui){if(2!==fn(r,o+1))continue;var s=i(r,o+qi),c=i(r,o+Hi),v=void 0;if(s===e){if(c===n)continue;v=c}else{if(s===n)continue;v=s}if(u===Ce(v))return Le(v,n,"double bin diff"),ln(r,o,$i),ze(qe,e),ze(qe,n),ze(qe,v),a(),!0}}return!1}function re(e,n,t,f,o,c){var v=2===o;if(!c&&!v)return!1;for(var l=0;l<t;++l){var d=Fe(qe,e,l);if(an(r,d)===bi){var h=i(r,d+qi),p=i(r,d+Hi),b=void 0;if(h===e){if(p===n)continue;b=p}else if(p===e){if(h===n)continue;b=h}else Ee("X should be left or right of its xors");var m=!1,g=Ce(b,!0);if(v&&g===f?(Le(b,n),m=!0):v&&2===F(g)?(Me(n,b),m=!0):c&&(s(u(qe,b,!0),Bt)||(Me(n,b),m=!0)),m)return ln(r,d,$i),ze(qe,e),ze(qe,n),ze(qe,b),a(),!0}}return!1}function ee(e,n,t,a,i){for(var u=0;u<a;++u){var f=Fe(qe,e,u);if(f!==t&&an(r,f)===mi)return ne(e,n,t,f)}Ee("bounty should have asserted that an isall existed")}function ne(e,n,t,i){var u=fn(r,i+1);return sn(r,i,xi),cn(r,i+Fi+2*u,n),ln(r,t,$i),Ne.push(function(r,t,a,i){var u=a(e),f=a(n);cr(f)&&(f=Rr(t(n))),u=ir(f)?Er(u,0):Ar(u,0),i(e,u)}),ze(qe,e),ze(qe,n),De(r,i,u),a(),!0}function te(e,n,t,a,i){for(var u=0;u<a;++u){var f=Fe(qe,e,u);if(f!==t&&an(r,f)===Ei)return ae(e,n,t,f)}Ee("bounty should have asserted that an issome existed")}function ae(e,n,t,i){var u=fn(r,i+1),f=i+Fi+2*u,o=_e(r,i,u);return ze(qe,n),ze(qe,e),sn(r,i,wi),cn(r,f,n),ln(r,t,$i),Ne.push(function(r,t,a,i){var u=a(n),f=a(e);if(ir(u))f=Er(f,0),i(e,f);else if(ir(f))u=Ar(u,0),i(n,u);else if(ur(u))f=Ar(f,0),i(e,f);else if(ur(f))u=Ar(u,0),i(n,u);else{for(var s=!0,c=!1,v=-1,l=0;l<o.lenght;++l){var d=a(o[l]);if(ur(d)){c=!0;break}ir(d)||(s=!1,v=l)}if(c)f=Er(f,0);else if(s)f=Ar(f,0);else{f=Er(f,0);var h=o[v],p=a(h);i(h,p=Er(p,0))}i(e,f)}}),a(),!0}function ie(e,n,t,u){var f=Fe(qe,e,0),o=Fe(qe,e,1),s=f===t?o:f;if(2!==fn(r,s+1))return!1;if(!cr(Ce(e,!0)))return Ye=!0,!1;var c=i(r,s+qi);return c===e&&(c=i(r,s+Hi)),Ne.push(function(r,t,a,i){var u=a(n),f=a(c),o=a(e);o=ir(u)?Er(o,0):ur(u)?Ar(o,0):ir(f)?Er(o,0):0===t(n)?Er(o,0):Ar(o,0),i(e,o)}),ln(r,s,$i),bn(r,t,2,fi,n,c),ze(qe,n),ze(qe,c),ze(qe,e),a(),!0}function ue(e,n){if(n>=Jt)return!1;var t=Ce(e,!0);if(ir(t))return Ye=!0,!1;if(ur(t))return Ye=!0,!1;for(var u=[],f=[],o=0;o<n;++o){for(var s=Fe(qe,e,o),c=fn(r,s+1),v=0;v<c;++v){var l=i(r,s+Fi+2*v);l!==e&&f.push(l)}u.indexOf(s)<0&&u.push(s)}ir(t)||Oe(e,Rr(0));for(var d=0,h=u.length;d<h;++d){var p=u[d],b=fn(r,p+1);ln(r,p,Fi+2*b)}for(var m=0,g=f.length;m<g;++m){var k=f[m];ze(qe,k)}return ze(qe,e),a(),!0}function fe(e,n){if(n>=Jt)return!1;var t=Ce(e,!0);if(ur(t))return Ye=!0,!1;if(ir(t))return Ye=!0,!1;for(var u=[],f=[],o=0;o<n;++o){for(var s=Fe(qe,e,o),c=fn(r,s+1),v=0;v<c;++v){var l=i(r,s+Fi+2*v);l!==e&&f.push(l)}u.indexOf(s)<0&&u.push(s)}fr(t)&&Oe(e,t=Er(t,0));for(var d=0,h=u.length;d<h;++d){var p=u[d],b=fn(r,p+1);ln(r,p,Fi+2*b)}for(var m=0,g=f.length;m<g;++m){var k=f[m];ze(qe,k)}return ze(qe,e),a(),!0}function oe(e,n){if(!or(Ce(e)))return!1;if(n>=Jt)return!1;for(var t=void 0,u=void 0,f=[],o=[],s=void 0,c=void 0,v=0;v<n;++v){var l=Fe(qe,e,v);if(!l)break;var d=an(r,l);if(2!==fn(r,l+1))return!1;var h=i(r,l+qi),p=i(r,l+Hi),b=h===e?p:h;if(d===ci)f.push(l),o.push(b);else if(d===hi){if(u)return!1;u=l,c=b}else{if(t)return!1;t=l,s=b}}bn(r,t,2,hi,s,c),ln(r,u,$i);for(var m=0,g=o.length;m<g;++m){var k=o[m];bn(r,f[m],2,si,k,c),ze(qe,k)}return Ne.push(function(r,n,t,a){var i=t(s),u=t(c),f=t(e),v=!1,l=!1;ir(u)&&(v=!0),o.forEach(function(r){ur(t(r))&&(l=!0)}),v?f=Ar(f=Er(f,0),G(i)):l?f=Ar(f=Ar(f,0),G(i)):cr(f=Ar(f,G(i)))&&(f=Er(f,0)),a(e,f),ur(f)&&o.forEach(function(r){var e=t(r);e=Ar(e,0),a(r,e)}),i=wr(i,K(f)),a(s,i),ir(f)&&(u=Er(u,0),a(c,u))}),ze(qe,s),ze(qe,c),ze(qe,e),a(),!0}function se(e,n){if(n>=Jt)return!1;for(var t=void 0,u=void 0,f=[],o=[],s=void 0,c=void 0,v=0;v<n;++v){var l=Fe(qe,e,v);if(!l)break;var d=an(r,l);if(2!==fn(r,l+1))return!1;var h=i(r,l+qi),p=i(r,l+Hi),b=h===e?p:h;if(d===ci)f.push(l),o.push(b);else if(d===hi){if(u)return!1;u=l,c=b}else{if(t)return!1;t=l,s=b}}bn(r,t,2,hi,s,c),ln(r,u,$i);for(var m=0,g=o.length;m<g;++m){var k=o[m];bn(r,f[m],2,fi,k,c),ze(qe,k)}return Ne.push(function(r,n,t,a){var i=t(e),u=i;if(!ir(u))for(var f=0,v=o.length;f<v;++f){var l=o[f];if(ur(t(l))||0!==n(l)){u=Ar(u,0);break}}var d=t(c);cr(d)&&(n(d),d=t(c)),ir(d)&&(u=Er(u,0));var h=t(s);cr(h)&&(n(h),h=t(s)),ir(h)&&(u=Ar(u,0)),i!==u&&a(e,u)}),ze(qe,s),ze(qe,c),ze(qe,e),a(),!0}function ce(e,n){if(n>4||n>=Jt)return!1;for(var t=void 0,u=void 0,f=void 0,o=void 0,s=void 0,c=void 0,v=void 0,l=void 0,d=0;d<n;++d){var h=Fe(qe,e,d),p=an(r,h),b=i(r,h+qi),m=i(r,h+Hi),g=b===e?m:b;p===ci?(v=g,o=h):p===hi?(c=g,f=h):b===e?(t=h,l=g):(u=h,s=g)}return bn(r,t,2,si,s,l),bn(r,u,2,si,v,l),bn(r,f,2,hi,c,l),bn(r,o,2,ci,s,v),Ne.push(function(r,n,t,a){var i=t(e);1===n(s)?(i=Er(i,0),a(e,i)):0===n(c)?(i=Er(i,0),a(e,i)):n(v)>0?(i=Ar(i,0),a(e,i)):0===n(l)&&(i=Ar(i,0),a(e,i))}),ze(qe,s),ze(qe,c),ze(qe,v),ze(qe,l),ze(qe,e),a(),!0}function le(e,n){if(4!==n||n>=Jt)return!1;for(var t=void 0,u=void 0,f=void 0,o=void 0,s=void 0,c=void 0,v=void 0,l=void 0,d=0;d<n;++d){var h=Fe(qe,e,d),p=an(r,h),b=i(r,h+qi),m=i(r,h+Hi);if(p===ci)v=b===e?m:b,o=h;else if(p===hi)c=b===e?m:b,f=h;else{var g=b===e?m:b;b===e?(t=h,l=g):(u=h,s=g)}}return!!(or(Ce(s,!0))&&or(Ce(c,!0))&&or(Ce(v,!0))&&or(Ce(l,!0)))&&(bn(r,t,2,fi,s,l),bn(r,u,2,fi,v,l),bn(r,f,2,hi,c,l),bn(r,o,2,ci,s,v),Ue.push(e),Ne.push(fun